KR20220114557A - 코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들 - Google Patents

코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들 Download PDF

Info

Publication number
KR20220114557A
KR20220114557A KR1020227020445A KR20227020445A KR20220114557A KR 20220114557 A KR20220114557 A KR 20220114557A KR 1020227020445 A KR1020227020445 A KR 1020227020445A KR 20227020445 A KR20227020445 A KR 20227020445A KR 20220114557 A KR20220114557 A KR 20220114557A
Authority
KR
South Korea
Prior art keywords
slice
video
subpicture
coded
nal unit
Prior art date
Application number
KR1020227020445A
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 KR20220114557A publication Critical patent/KR20220114557A/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/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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/177Methods 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 group of pictures [GOP]
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

비디오 처리를 위한 방법이 기술된다. 상기 방법은 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 서브픽처들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 실시하는 단계를 포함하며, 상기 비트스트림 표현은 코딩된 유닛들의 수를 포함하고, 상기 규칙은 서브픽처 내의 코딩된 유닛들의 디코딩 순서가 상기 코딩된 유닛들의 서브픽처 레벨 슬라이스 인덱스 값들의 오름차순에 있음을 명시한다.

Description

코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들
관련 출원들에 대한 상호 참조
파리협약에 따른 적용가능한 특허법 및/또는 규칙에 따라, 본 출원은 2019년 12월 26일에 제출된 US 가출원 No. 62/953,812 및 2019년 12월 27일에 제출된 US 가출원 No. 62/954,375의 우선권과 혜택을 적시에 주장하기 위해 만들어졌다. 상기 법 하의 모든 목적을 위해, 상기 출원들의 전체 개시물은 본 출원의 개시의 일부로서 참고로 통합된다.
본 문서는 비디오 코딩 기술들, 시스템들 및 디바이스들에 관한 것이다.
디지털 비디오는 인터넷 및 기타 디지털 통신 네트워크에서 가장 큰 대역폭을 차지한다. 비디오를 수신하고 표시할 수 있는 접속된 사용자 디바이스의 수가 증가함에 따라, 디지털 비디오 사용을 위한 대역폭 수요가 계속 증가할 것으로 예상된다.
코딩된 픽처 내에서 비디오 코딩층(VCL: video coding layer) 네트워크 추상층(NAL: network abstraction layer) 유닛들의 디코딩 순서를 명시하는 것을 포함하는, 디지털 비디오 코딩과 관련된 디바이스들, 시스템들 및 방법들이 기술된다. 상기 기술된 방법들은 기존 비디오 코딩 표준들 (예를 들어, 고효율 비디오 코딩(HEVC: High Efficiency Coding) 또는 다목적 비디오 코딩 (VVC: Versatile Video Coding) 및 미래의 비디오 코딩 표준들 또는 비디오 코덱들에 적용될 수 있다.
하나의 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데에 사용될 수 있다. 이 방법은 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 서브픽처들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 수행하는 단계를 포함하되, 상기 비트스트림 표현은 다수의 코딩된 유닛들을 포함하며, 상기 규칙은 서브픽처 내의 코딩된 유닛들의 디코딩 순서가 상기 코딩된 유닛들의 서브픽처 레벨 슬라이스 인덱스 값들의 오름 차순이라고 명시한다.
하나의 대표적인 측면에서, 개시된 기술은 비디오 처리를 위한 방법을 제공하는 데에 사용될 수 있다. 이 방법은 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 서브픽처들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 수행하는 단계를 포함하되, 상기 비트스트림 표현은 다수의 코딩된 유닛들을 포함하며, 상기 규칙은 코딩된 유닛들의 디코딩 순서가 상기 코딩된 유닛들을 포함하는 상기 하나 또는 그 이상의 서브픽처들로부터 서브픽처들의 서브픽처 관련 값들의 오름 차순이라고 명시한다.
다른 대표적인 측면에서, 상기 기술된 방법은 프로세서로 실행가능한 코드 형태로 구현되며 컴퓨터 실행가능한 프로그램 매체에 저장된다.
또 다른 대표적인 측면에서, 상기 기술된 방법을 실시하기 위해 구성되거나 작동가능한 디바이스가 개시된다. 상기 디바이스는 이 방법을 실행하기 위해 프로그램된 프로세서를 포함할 수 있다.
또 다른 대표적인 측면에서, 비디오 디코더 장치는 여기서 기술된 방법을 실시할 수 있다.
개시된 기술의 상기 및 기타 측면들 및 특징들은 도면, 발명의 설명 및 청구항들에서 훨씬 상세하게 기술된다.
도 1은 12개의 타일과 3개의 래스터 스캔 슬라이스로 분할되는 18 x 12 루마 코딩 트리 유닛들(CTU들)을 갖는 픽처의 예를 도시한다.
도 2는 24개의 타일과 9개의 직사각형 슬라이스로 분할되는 18 x 12 루마 CTU들을 갖는 픽처의 예를 도시한다.
도 3은 4개의 타일 및 4 개의 직사각형 슬라이스로 분할되는 픽처의 예를 도시한다.
도 4는 15개의 타일, 24개의 슬라이스 및 24개의 서브픽처로 분할되는 픽처의 예를 도시한다.
도 5는 비디오 처리의 예시적 방법의 순서도를 보여준다.
도 6은 비디오 처리 장치의 일 예의 블록도이다.
도 7은 예시적인 비디오 코딩 시스템을 도시하는 블록도이다.
도 8은 예시적인 인코더를 도시하는 블록도이다.
도 9은 예시적인 디코더를 도시하는 블록도이다.
도 10은 개시된 기술들이 실시될 수 있는 예시적인 비디오 처리 시스템의 블록도이다.
도 11은 개시된 기술의 일부 구현들에 기반한 예시적인 비디오 처리 방법의 순서도이다.
더 높은 해상도의 비디오의 수요가 증가함으로 인해, 비디오 코딩 방법들 및 기법들은 현대의 기술에서 편재적이다. 비디오 코덱들은 전형적으로 디지털 비디오를 압축 또는 압축 해제하고, 더 높은 코딩 효율을 제공하도록 계속 개선되고 있는 전자 회로 또는 소프트웨어를 포함한다. 비디오 코덱은 압축되지 않은 비디오를 압축된 포맷으로 전환하거나, 그 반대로 전환한다. 비디오 품질, 비디오를 표현하기 위해 사용되는 데이터의 양(비트 레이트에 의해 결정됨), 인코딩 및 디코딩 알고리즘들의 복잡도, 데이터 손실들 및 에러들에 대한 민감도, 편집의 용이성, 랜덤 액세스, 그리고 엔드-투-엔드 지연(레이턴시) 사이에 복잡한 관계들이 존재한다. 압축된 포맷은 보통 표준 비디오 압축 사양, 예를 들어, HEVC(High Efficiency Video Coding) 표준(H.265 또는 MPEG-H Part 2로도 알려짐), 완성될 다목적 비디오 코딩(VVC: Versatile Video Coding) 표준, 또는 다른 현재 및/또는 장래의 비디오 코딩 표준들을 따른다.
개시된 기술의 실시예들은 기존의 비디오 코딩 표준들(예를 들어, HEVC, H.265) 및 런타임 성능을 개선시키기 위한 장래의 표준들에 적용될 수 있다. 그것은 구체적으로 비디오 코딩에서 머지 모드들에 관련된다. 섹션 제목들은 본 문서에서 설명의 가독성을 개선시키기 위해 사용되며, 논의 또는 실시예들(및/또는 구현들)을 결코 각각의 섹션들에만 제한하지 않는다.
1. 예시적인 실시예들의 개요
개시된 기술의 실시예들은 코딩된 비디오 비트스트림에서 코딩된 픽처 내에서 비디오 코딩층(VCL: video coding layer) 네트워크 추상층(NAL: network abstraction layer) 유닛들의 디코딩 순서를 명시하는 것에 관계한다. 그것은 예를 들어, 개발중인 다목적 비디오 코딩(VVC) 또는 여타 비디오 코딩 표준 또는 비디오 코덱 같이, 픽처를 슬라이스들 및 서브픽처들로 분할하는 것을 지원하는 비디오 코딩 표준에 적용될 수 있다.
2. 본 문서에 사용되는 약어 목록
APS 적응 파라미터 세트(Adaptation Parameter Set)
AU 액세스 유닛(Access Unit)
AUD 액세스 유닛 디리미터(Access Unit Delimiter)
AVC 고급 비디오 코딩(Advanced Video Coding)
CRA 클린 램덤 액세스(Clean Random Access)
CTU 코딩 트리 유닛(Coding Tree Unit)
CVS 코딩된 비디오 시퀀스(Coded Video Sequence)
DPS 디코딩 파라미터 세트(Decoding Parameter Set)
EOB 비트스트림 끝(End Of Bitstream)
EOS 시퀀스 끝(End Of Sequence)
GDR 점진적 디코딩 리프레시(Gradual Decoding Refresh)
HEVC 고효율 비디오 코딩(High Efficiency Video Coding)
IDR 순시 디코딩 리프레시(Instantaneous Decoding Refresh)
JEM 공동 연구 모델(Joint Exploration Model)
MCTS 모션 제약 타일 세트(Motion-Constrained Tile Sets)
NAL 네트워크 추상층(Network Abstraction Layer)
PH 픽처 헤더(Picture Header)
PPS 픽처 파라미터 세트(Picture Parameter Set)
PU 픽처 유닛(Picture Unit)
RBSP 로 바이트 시퀀스 페이로드(Raw Byte Sequence Payload)
SEI 부가 향상 정보(Supplemental Enhancement Information)
SPS 시퀀스 파라미터 세트(Sequence Parameter Set)
VCL 비디오 코딩층(Video Coding Layer)
VPS 비디오 파라미터 세트(Video Parameter Set)
VTM VVC 테스트 모델(VVC Test Model)
VUI 비디오 사용성 정보(Video Usability Information)
VVC 다목적 비디오 코딩(Versatile Video Coding)
3. 배경
비디오 코딩 표준들은 잘 알려진 ITU-T 및 ISO/IEC 표준들의 개발을 통해 주로 발전해 왔다. ITU-T는 H.261및 H.263을 제작했으며, ISO/IEC는 MPEG-1 및 MPEG-4 Visual을 제작하였다. 두 기관은 H.262/MPEG-2 Video, H.264/MPEG-4 Advanced Video Coding (AVC) 그리고 H.265/HEVC 표준들을 공동으로 제작하였다. H.262 이후, 비디오 코딩 표준들은 시간 예측과 변환 코딩이 함께 활용되는 하이브리드 비디오 코딩 구조를 기반으로 한다. HEVC를 넘어서는 미래형 비디오 코딩 기술들을 탐구하기 위해, 2015년에 VCEG와 MPEG는 공동 비디오 탐사 팀 (Joint Video Exploration Team (JVET))를 공동 설립하였다. 그 이후로, 많은 새로운 기법들이 JVET에 의해 채택되어 공동 탐사 모델 (Joint Exploration Model (JEM))이라는 참조 소프트웨어에 포함되었다. JVET 회의는 분기마다 한 번 개최되고, 새로운 코딩 표준은 HEVC와 비교하여 50% 비트레이트 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 VVC(Versatile Video Coding)로서 공식적으로 명명되었고, 그때 VVC 테스트 모델(VTM)의 첫 번째 버전이 발표되었다.
3.1 Picture partitioning scheme in HEVC
HEVC는 4개의 상이한 픽처 분할 방식들, 즉 정규 슬라이스들, 종속 슬라이스들, 타일(tile)들 및 파면 병렬 처리(WPP: Wavefront Parallel Processing)를 포함하며, 이들은 최대 전송 단위(MTU: Maximum Transfer Unit) 크기 매칭, 병렬 처리 및 감소된 종단간 지연에 적용될 수 있다.
정규 슬라이스들은 H.264/AVC에서와 유사하다. 각각의 정규 슬라이스는 그 자신의 NAL 유닛에 캡슐화(encapsulate)되고, 픽처 내 예측(인트라 샘플 예측, 모션 정보 예측, 코딩 모드 예측) 및 슬라이스 경계들에 걸친 엔트로피 코딩 의존성은 비활성화된다. 따라서 정규 슬라이스는 (루프 필터링 동작들로 인해 여전히 상호 의존성들을 가질 수 있지만) 동일한 픽처 내의 다른 정규 슬라이스들과는 독립적으로 재구성될 수 있다.
정규 슬라이스는 H.264/AVC에서, 사실상 동일한 형태로 또한 이용 가능한, 병렬화를 위해 사용될 수 있는 유일한 도구이다. 정규 슬라이스 기반 병렬화는 (통상적으로 픽처 내 예측으로 인한 코어 간(inter-core) 또는 프로세서 간 데이터 공유보다 훨씬 더 무거운, 예측 코딩된 픽처를 디코딩할 때 모션 보상을 위한 프로세서 간 또는 코어 간 데이터 공유를 제외하고) 많은 프로세서 간 또는 코어 간 통신을 필요로 하지 않는다. 그러나 동일한 이유로, 정규 슬라이스들의 사용은 슬라이스 헤더의 비트 비용으로 인해 그리고 슬라이스 경계들에 걸친 예측의 결여로 인해 상당한 코딩 오버헤드를 초래할 수 있다. 추가로, (아래에 언급되는 다른 도구들과는 달리) 정규 슬라이스들은 또한, 정규 슬라이스들의 픽처 내 독립성으로 인해, 그리고 각각의 정규 슬라이스가 각자의 NAL 유닛에 캡슐화되기 때문에, MTU 크기 요건들과 매칭하기 위한 비트스트림 분할을 위한 핵심 메커니즘으로서 기능한다. 많은 경우들에, 병렬화의 목표 및 MTU 크기 매칭의 목표는 픽처의 슬라이스 레이아웃에 대한 모순되는 요구들을 제기한다. 이러한 상황의 실현은 아래에서 언급되는 병렬화 도구들의 개발로 이어졌다.
종속 슬라이스들은 짧은 슬라이스 헤더들을 가지며, 임의의 픽처 내 예측을 중단시키지 않으면서 트리 블록 경계들에서 비트스트림의 분할을 가능하게 한다. 기본적으로, 종속 슬라이스들은 전체 정규 슬라이스의 인코딩이 완료되기 전에 정규 슬라이스의 일부가 송신될 수 있게 함으로써 감소된 종단간 지연을 제공하도록 다수의 NAL 유닛들로의 정규 슬라이스들의 프래그먼트화를 제공한다.
WPP에서, 픽처는 코딩 트리 블록(CTB)들의 단일 행들로 분할된다. 엔트로피 디코딩 및 예측은 다른 분할들에서 CTB들로부터의 데이터를 사용하도록 허용된다. CTB 행들의 병렬 디코딩을 통해 병렬 처리가 가능하며, 여기서 CTB 행의 디코딩의 시작은 2개의 CTB들만큼 지연되어, 대상 CTB가 디코딩되기 전에 대상 CTB의 위와 우측에 있는 CTB와 관련된 데이터가 이용 가능함을 보장한다. (그래픽으로 표현될 때 파면처럼 나타나는) 이러한 엇갈린 시작을 사용하면, 픽처가 CTB 행들을 포함하는 만큼의 프로세서들/코어들까지 병렬화가 가능하다. 픽처 내의 이웃하는 트리 블록 행들 사이의 픽처 내 예측이 허용되기 때문에, 픽처 내 예측을 가능하게 하는 데 요구되는 프로세서 간/코어 간 통신이 실질적일 수 있다. WPP 분할은 이것이 적용되지 않을 때와 비교하여 추가 NAL 유닛들의 생성을 야기하지 않는다. 따라서 WPP는 MTU 크기 매칭을 위한 도구가 아니다. 그러나 MTU 크기 매칭이 요구된다면, 특정 코딩 오버헤드와 함께 정규 슬라이스들이 WPP에 사용될 수 있다.
타일들은 픽처를 타일 열들 및 행들로 분할하는 수평 및 수직 경계들을 정의한다. 타일 열은 픽처의 최상단에서 시작하여 상기 픽처의 최하단까지이다. 마찬가지로, 타일 행은 상기 픽처의 좌측에서부터 상기 픽처의 우측까지이다. 픽처 내의 타일들의 수는 타일 열들의 수와 타일 행들의 수의 곱으로 단순하게 도출될 수 있다.
CTB들의 스캔 순서는 픽처의 타일 래스터 스캔의 순서로 다음 타일의 최상부 좌측 CTB를 디코딩하기 전에 (타일의 CTB 래스터 스캔의 순서로) 타일 내에서 로컬이 되도록 변경된다. 정규 슬라이스들과 유사하게, 타일들은 픽처 내 예측 종속성들 뿐만 아니라 엔트로피 디코딩 종속성들을 중단시킨다. 그러나 타일들은 (이와 관련하여 WPP와 동일한) 개별적인 NAL 유닛들에 포함될 필요가 없고; 그러므로 타일들은 MTU 크기 매칭에 사용될 수 없다. 각각의 타일은 하나의 프로세서/코어에 의해 처리될 수 있고, 이웃하는 타일들을 디코딩하는 처리 유닛들 간의 픽처 내 예측을 위해 요구되는 프로세서 간/코어 간 통신은, 슬라이스가 하나보다 많은 타일에 걸쳐 있는 경우들에는 공유된 슬라이스 헤더를 전달하는 것으로, 그리고 재구성된 샘플들 및 메타데이터의 루프 필터링 관련 공유로 제한된다. 하나보다 많은 타일 또는 WPP 세그먼트가 슬라이스에 포함될 때, 상기 슬라이스의 첫 번째 타일 이외의 각각의 타일 또는 WPP 세그먼트에 대한 진입점 바이트 오프셋이 슬라이스 헤더에서 시그널링된다.
단순화를 위해, HEVC에서는 4개의 상이한 픽처 분할 방식들의 적용에 대한 제한들이 명시되었다. 주어진 코딩된 비디오 시퀀스는 HEVC에 명시된 프로파일들 대부분에 대한 타일들과 파면들 모두를 포함할 수 없다. 각각의 슬라이스 및 타일에 대해, 다음 조건들 중 하나 또는 둘 다가 충족되어야 한다: 1) 슬라이스 내의 모든 코딩된 트리 블록들이 동일한 타일에 속하고; 2) 타일 내의 모든 코딩된 트리 블록들이 동일한 슬라이스에 속한다. 마지막으로, 파면 세그먼트는 정확히 하나의 CTB 행을 포함하고, WPP가 사용 중일 때, 슬라이스가 CTB 행 내에서 시작한다면, 이는 동일한 CTB 행에서 종료되어야 한다.
HEVC에 대한 최근의 보정안은 본 명세서에서 공개적으로 이용 가능한, 2017년 10월 24일자 JCT-VC 출력 문헌 JCTVC-AC1005(J. Boyce, A. Ramasubramonian, R. Skupin, G. J. Sullivan, A. Tourapis, Y.-K. Wang(편집자들)) "HEVC Additional Supplemental Enhancement Information (Draft 4)": http://phenix.int-evry.fr/jct/doc_end_user/documents/29_Macau/ wg11/JCTVC-AC1005-v2.zip에 명시되어 있다. 이러한 보정안이 포함되면, HEVC는 3개의 MCTS 관련 부가 확장 정보(SEI) 메시지들, 즉 시간적 MCTS들의 SEI 메시지, MCTS들의 추출 정보 세트 SEI 메시지 및 MCTS들의 추출 정보 네스팅(nesting) SEI 메시지를 명시한다.
시간적 MCTS들의 SEI 메시지는 비트스트림 내의 MCTS들의 존재를 지시하고 상기 MCTS들을 시그널링한다. 각각의 MCTS에 대해, 모션 벡터들은 MCTS 내부의 전체 샘플 위치들 그리고 보간을 위해 MCTS 내부의 전체 샘플 위치들만을 요구하는 부분 샘플 위치들을 가리키도록 제한되며, MCTS 외부의 블록들로부터 도출된 시간적 모션 벡터 예측을 위한 모션 벡터 후보들의 사용은 허용되지 않는다. 이러한 방식으로, 각각의 MCTS는 MCTS에 포함되지 않는 타일들의 존재 없이 독립적으로 디코딩될 수 있다.
MCTS들의 추출 정보 세트들의 SEI 메시지는, (SEI 메시지의 시맨틱(semantic)들의 일부로서 명시된) MCTS 서브 비트스트림 추출에서 MCTS 세트에 대한 일치하는 비트스트림을 생성하는 데 사용될 수 있는 보완 정보를 제공한다. 상기 정보는 다수의 추출 정보 세트들을 포함하며, 이들 각각은 다수의 MCTS 세트들을 정의하고, MCTS 서브 비트스트림 추출 프로세스 동안 사용될 대체 VPS들, SPS들 및 PPS들의 RBSP 바이트들을 포함한다. MCTS 서브 비트스트림 추출 프로세스에 따라 서브 비트스트림을 추출할 때, 파라미터 세트들(VPS들, SPS들 및 PPS들)이 재기록되거나 교체될 필요가 있으며, (first_slice_segment_in_pic_flag 및 slice_segment_address를 포함하는) 슬라이스 어드레스 관련 신택스 요소들 중 하나 또는 전부가 통상적으로 상이한 값들을 가질 필요가 있을 것이므로, 슬라이스 헤더들은 약간 업데이트될 필요가 있다.
3.2 VVC에서 픽처의 분할
VVC에서, 픽처는 하나 또는 그 이상의 타일 행들 및 하나 또는 그 이상의 타일 열들로 분할된다. 타일은 픽처의 직사각형 영역을 덮는 CTU들의 시퀀스이다. 타일의 CTU들은 상기 타일 내에서 래스터 스캔 순서 (raster scan order)로 스캐닝된다.
슬라이스는 정수 개의 완전한 타일로 구성되거나 픽처의 타일 내에서 연속적으로 완전한 정수 개의 CTU 행들로 구성된다.
지원되는 2개의 슬라이스 모드는 래스터 스캔 슬라이스 모드(raster-scan slice mode )와 직사각형 슬라이스 모드(rectangular slice mode )이다. 래스터 스캔 슬라이스 모드에서, 슬라이스는 픽처의 타일 래스터 스캔에서 완전한 타일들의 연속을 포함한다. 직사각형 슬라이스 모드에서, 슬라이스는 픽처의 직사각형 영역을 함께 형성하는 다수의 완전한 타일들을 포함하거나 픽처의 직사각형 영역을 함께 형성하는 하나의 타일에서 연속적인 다수의 완전한 CTU 행들을 포함한다. 직사각형 슬라이스 내의 타일들은 상기 슬라이스에 해당하는 직사각형 영역 내에서 타일 래스터 스캔 순서로 스캐닝된다.
서브픽처는 픽처의 직사각형 영역을 함께 덮는 하나 또는 그 이상의 슬라이스들을 포함한다.
도 1은 픽처가 12개의 타일과 3개의 래스터 스캔 슬라이스로 분할되는 래스터 스캔 슬라이스 분할의 일 예를 도시한다.
도 2는 픽처가 24개의 타일(6개의 타일 열 및 4개의 타일 행)과 9개의 직사각형 슬라이스로 분할되는, 픽처의 직사각형 슬라이스 분할의 일 예를 도시한다.
도 3은 픽처가 4개의 타일(2개의 타일 열 및 2개의 타일 행) 및 4 개의 직사각형 슬라이스로 분할되는, 픽처의 타일 및 직사각형 슬라이스로의 분할의 일 예를 도시한다.
도 4는 픽처가 18개의 타일들, 즉, 우측으로는 각각 4 x 4 CTU들로 구성된 하나의 슬라이스를 덮는 12개의 타일 및 좌측으로는 2 x 2 CTU들로 구성된 2개의 수직 정렬된(stacked) 슬라이스들을 각각 덮는 6개의 타일들로 분할되어 다양한 크기를 가지는 총 24개의 슬라이스들 및 24개의 서브픽처들(각 슬라이스는 서브픽처)로 분할되는, 픽처의 서브픽처 분할의 일 예를 도시한다.
3.3 VVC에서 서브픽처들, 슬라이스들 및 타일들의 시그널링
최신 VVC 초안 텍스트에서, 서브 픽처 레이아웃(즉, 각 픽처에 대한 서브픽처들의 수 및 각 픽처의 위치와 크기) 그리고 기타 시퀀스 레벨 서브픽처 정보를 포함하는, 서브픽처들의 정보는 SPS에서 시그널링된다. SPS에서 시그널링되는 서브픽처들의 순서는 서브픽처 인덱스를 정의한다. 각 서브픽처에 대한 것인, 서브픽처 ID들의 항목은 명시적으로, 즉, SPS 또는 PPS에서 시그널링될 수 있다.
VVC에서 타일들은 HEVC에서와 개념적으로 같다. 즉, 각 픽처는 타일 열들 및 타일 행들로 분할되지만, 타일들의 시그널링을 위한 PPS 내의 상이한 신택스를 가진다.
VVC에서, 슬라이스 모드는 PPS에서도 시그널링된다. 슬라이스 모드가 직사각형 슬라이스 모드인 경우, 슬라이스 레이아웃(즉, 각 픽처에 대한 슬라이스들의 수 및 각 슬라이스의 위치 및 크기)은 PPS에서 시그널링된다. PPS에서 시그널링되는 픽처 내 직사각형 슬라이스들의 순서는 픽처 레벨 슬라이스 인덱스를 정의한다. 서브픽처 레벨 슬라이스 인덱스는 픽처 레벨 슬라이스 인덱스들의 오름 차순으로 서브픽처 내 슬라이스들의 순서로 정의된다. 직사각형 슬라이스들의 위치들 및 크기들은 (각각의 서브픽처가 오직 하나의 슬라이스만을 포함하는 경우) SPS에서 시그널링되는 서브픽처 위치들 및 크기들에 기반하거나 또는 (서브픽처가 하나 이상의 슬라이스들을 포함할 수 있는 경우) PPS에서 시그널링되는 타일 위치들 및 크기들에 기반하여 시그널링/유도된다. 슬라이스 모드가 래스터 스캔 슬라이스 모드인 경우, HEVC에서와 유사하게, 픽처 내 슬라이스들의 레이아웃은 상기 슬라이스들 자체에서 시그널링되며, 상세한 사항은 상이하다.
3.4 VVC에서 코딩된 슬라이스의 서브픽처 ID 및 슬라이스 어드레스
VVC에서 VCL NAL 유닛은 코딩된 슬라이스 NAL 유닛에 해당한다. 각각의 코딩된 슬라이스는 서브픽처 ID (slice_subpic_id) 및 슬라이스 어드레스(slice_address)를 포함하는 슬라이스 헤더를 포함한다. 이러한 파라미터들의 쌍은 픽처 내 슬라이스에서 코딩된 샘플들의 위치를 지시한다.
만약 슬라이스 모드가 직사각형 슬라이스 모드(즉, rect_slice_flag가 1과 같음)인 경우, 슬라이스 어드레스는 서브픽처 내 슬라이스들 가운데 있는 슬라이스의 (서브픽처 레벨) 슬라이스 인덱스를 명시한다.
그렇지 않은 경우(rect_slice_flag가 1과 같고, 슬라이스 모드가 래스터 스캔 슬라이스 모드이고, 이 경우 전체 픽처가 하나가 픽처), 슬라이스 어드레스는 픽처 내의 타일 인덱스를 명시한다.
일반적인 슬라이스 헤더 시맨틱스의 부분인 slice_subpic_id 및 슬라이스 어드레스의 시맨틱스는 편의상 아래에 포함된다.
7.4.7.1 일반적인 슬라이스 헤더 시맨틱스
존재하는 경우, 슬라이스 헤더 신택스 요소 slice_pic_order_cnt_lsb는 코딩된 픽처의 모든 슬라이스 헤더들에서 동일해야 한다.
...
slice_subpic_id는 슬라이스를 포함하는 서브픽처의 서브픽처 식별자를 명시한다. 만약 slice_subpic_id가 존재한다면, SubpicIdList[ SubPicIdx ]가 slice_subpic_id와 같도록 변수 SubPicIdx의 값이 유도된다. 그렇지 않은 경우(slice_subpic_id가 존재하지 않는 경우), 변수 SubPicIdx는 0과 같도록 유도된다. 비트 단위의 slice_subpic_id의 길이는 아래와 같이 유도된다.
- 만약 sps_subpic_id_signalling_present_flag가 1과 같으면, slice_subpic_id의 길이는 sps_subpic_id_len_minus1 + 1과 같다.
- 그렇지 않은 경우, 만약 ph_subpic_id_signalling_present_flag가 1과 같으면, slice_subpic_id의 길이는 ph_subpic_id_len_minus1 + 1와 같다.
- 그렇지 않은 경우, 만약 pps_subpic_id_signalling_present_flag가 1과 같으면, slice_subpic_id의 길이는 pps_subpic_id_len_minus1 + 1과 같다.
- 그렇지 않은 경우, slice_subpic_id의 길이는 Ceil( Log2 ( sps_num_subpics_minus1 + 1 ) )와 같다.
slice_address는 슬라이스의 슬라이스 어드레스를 명시한다. 존재하는 경우, slice_address의 값은 0과 같은 것으로 추론된다.
만약 rect_slice_flag가 0과 같으면, 다음이 적용된다.
- 슬라이스 어드레스는 래스터 스캔 타일 인덱스이다.
- slice_address의 길이는 Ceil( Log2 ( NumTilesInPic ) ) 비트이다.
- slice_address의 값은 0에서 NumTilesInPic - 1을 포함하는 범위 내에 있어야 한다.
그렇지 않은 경우(rect_slice_flag가 1과 같으면), 다음이 적용된다.
- 슬라이스 어드레스는 SubPicIdx 번째 서브픽처 내 슬라이스의 슬라이스 인덱스이다.
- slice_address의 길이는 Ceil( Log2( NumSlicesInSubpic[ SubPicIdx ] ) ) 비트이다.
- slice_address의 값은 0에서 NumSlicesInSubpic[ SubPicIdx ] - 1을 포함하는 범위 내에 있어야 한다.
아래의 제약조건들이 적용되는 것은 비트스트림 적합성의 요건이다.
- 만약 rect_slice_flag가 0과 같거나 subpics_present_flag가 0과 같으면, slice_address의 값은 동일한 코딩된 픽처의 임의의 다른 코딩된 슬라이스 NAL 유닛의 slice_address의 값과 같아서는 안 된다.
- 그렇지 않은 경우, slice_subpic_id과 slice_address 값들의 쌍은 동일한 코딩된 픽처의 임의의 다른 코딩된 슬라이스 NAL 유닛의 slice_subpic_id 및 slice_address 값들의 쌍과 같아서는 안 된다.
- rect_slice_flag가 0과 같은 경우, 픽처의 슬라이스들은 그것들의 slice_address 값들의 오름 차순에 있다.
- 픽처의 슬라이스들의 모양들은 각 CTU가 디코딩되는 경우 픽처 경계로 구성되거나 이전에 디코딩된 CTU(들)의 경계들로 구성된 그것의 좌측 경계 전체 및 상단 경계 전체를 가지도록 해야 한다.
...
3.5 NAL 유닛들의 디코딩 순서
VVC에서, NAL 유닛들의 디코딩 순서(즉, VVC 비트스트림에서 NAL 유닛들의 순서)는 SPS 시맨틱스(7.4.3.3절) 및 일반 슬라이스 헤더 시맨틱스(7.4.8.1절) 뿐 아니라 7.4.2.4절 및 최신 VVC 초안 텍스트의 해당 하위 절들에서 명시된다. 이러한 텍스트들은 편의를 위해 아래와 같이 복사 및 오려 붙이기 된다.
7.4.2.4 NAL 유닛의 순서 및 코딩된 픽처들, PU들, AU들 및 코딩된 비디오 시퀀스들에 대한 연관성
7.4.2.4.1 일반사항
이 절은 비트스트림 내의 NAL 유닛들의 순서에 대한 제약조건들 명시한다. 이 제약조건들을 준수하는 비트스트림내 NAL 유닛들의 임의의 순서는 텍스트에서 NAL 유닛들의 디코딩 순서로 지칭된다. NAL 유닛 내에서, 7.3 및 D.2절의 신택스는 신택스 요소들의 디코딩 순서를 명시한다. ITU-T H.SEI | ISO/IEC 23002-7에서 명시된 VUI 파라미터들 또는 임의의 SEI 메시지가 본 명세서에 명시된 NAL 유닛에 포함되는 경우, ITU-T H.SEI | ISO/IEC 23002-7에 명시된 상기 VUI 파라미터들 또는 상기 SEI 메시지의 신택스는 해당 신택스 요소들의 디코딩 순서를 명시한다. 디코더들은 NAL 유닛들 및 그것들의 신택스 요소들은 디코딩 순서로 수신할 수 있어야 한다.
7.4.2.4.2 AU들의 순서 및 CVS들에 대한 연관성
본 명세서에 부합하는 비트스트림은 하나 또는 그 이상의 CVS들로 구성된다.
CVS는 하나 또는 그 이상의 AU들로 구성된다. NAL 유닛들 및 코딩된 픽처들의 순서 그리고 그것들의 AU들과의 연관성은 7.4.2.4.3절에 기술된다.
CVS의 첫 번째 AU는 CVSS AU이며, 이때 각각의 존재하는 PU는 CLVSS PU로, 이것은 1과 같은 NoIncorrectPicOutputFlag를 가지는 IRA PU이거나 1과 같은 NoIncorrectPicOutputFlag를 가지는 GDR PU이다.
각 CVSS AU는 CVS에 존재하는 레이어들 각각에 픽처를 가져야 한다.
비트스트림 적합성의 요건으로, EOS NAL 유닛 또는 EOB NAL 유닛을 포함하는 AU 이후의 다음 AU 내의 각 PU는 IRAP PU여야 하며, 이것은 IDR PU 또는 CRA PU 또는 GDR PU일 수 있다.
7.4.2.4.3 NAL 유닛들 및 코딩된 픽처들의 순서 그리고 그것들의 PU들 및 AU들과의 연관성
본 절이 명시하는 것은 NAL 유닛들 및 코딩된 픽처들의 순서 그리고 부속서 A에 명시된 프로파일들 중 하나 또는 그 이상에 부합하고 2절에서 9절에 걸처 명시된 디코딩 프로세스를 사용하여 디코딩된 CV들에 대해 PU들 및 AU들과의 연관성이다.
PU는 하나의 PH NAL 유닛, 하나 또는 그 이상의 VCL NAL 유닛들을 포함하는 하나의 코딩된 픽처, 그리고 제로 또는 그 이상의 비 VCL NAL 유닛들로 구성된다. VCL NAL 유닛들의 코딩된 픽처들과의 연관성은 7.4.2.4.4절에서 기술된다.
AU는 제로 또는 하나의 AU 디리미터 NAL 유닛 및 하나 또는 그 이상의 PU들을 nuh_layer_id의 오름차순으로 구성된다.
비트스트림 내의 첫 번째 AU는 비트스트림의 첫 번째 NAL 유닛과 함께 시작된다. AU에는 최대 하나의 AU 디리미터가 있어야 한다.
픽처의 첫 번째 VCL NAL 유닛은 상기 픽처의 디코딩 순서에서 PH NAL 유닛을 뒤따르는 첫 번째 VCL NAL 유닛이다.
VCL NAL 유닛은, 상기 VCL NAL 유닛이 픽처의 첫 번째 VCL NAL 유닛이고 아래 조건들 중 하나 또는 그 이상이 참인 경우, AU의 첫 번째 VCL NAL 유닛이다. (그리고 결과적으로 첫 번째 VCL NAL 유닛을 포함하는 픽처는 AU의 첫 번째 픽처이다.)
- VCL NAL 유닛의 nuh_layer_id의 값은 디코딩 순서상 이전 픽처의 nuh_layer_id 미만이다.
- VCL NAL 유닛의 slice_pic_order_cnt_lsb의 값은 디코딩 순서상 이전 픽처의 PicOrderCntVal과 다르다.
- VCL NAL 유닛에 대해 유도된 PicOrderCntVal은 디코딩 순서상 이전 픽처의 PicOrderCntVal과 다르다.
firstVclNalUnitInAu가 AU의 첫 번째 VCL NAL 유닛이라 하자. firstVclNalUnitInAu에 선행하고, 만약 있다면, firstVclNalUnitInAu를 선행하는 마지막 VCL NAL 유닛을 따르는 아래 NAL 유닛들 가운데 어느 것이든 첫 번째 것은 새로운 액세스 유닛의 시작을 명시한다.
- AUD NAL 유닛(존재하는 경우),
- DPS NAL 유닛(존재하는 경우),
- VPS NAL 유닛(존재하는 경우),
- SPS NAL 유닛(존재하는 경우),
- PPS NAL 유닛(존재하는 경우),
- Prefix APS NAL 유닛(존재하는 경우),
- PH NAL 유닛,
- Prefix SEI NAL 유닛(존재하는 경우),
- RSV_NVCL_26과 같은 nal_unit_type을 가지는 NAL 유닛(존재하는 경우),
- UNSPEC28..UNSPEC29의 범위 내에서 nal_unit_type을 가지는 NAL 유닛(존재하는 경우)
비고 - firstVclNalUnitInAu에 선행하고, 만약 있다면, firstVclNalUnitInAu를 선행하는 마지막 VCL NAL 유닛을 따르는 첫 번째 NAL 유닛은 위에 열거된 NAL 유닛들 중 오직 하나일 수 있다.
PU 또는 AU 내에서 코딩된 픽처들 및 비 VCL NAL 유닛들의 순서는 아래 제약조건들을 준수해야 한다.
- AU 디리미터가 AU에 존재하는 경우, 그것은 상기 AU의 첫 번째 NAL 유닛이어야 한다.
- PU 내의 PH NAL 유닛은 PU의 첫 번째 VCL NAL에 선행해야 한다.
- 임의의 DPS NAL 유닛들, VPS NAL 유닛들, SPS NAL 유닛들, PPS NAL 유닛들, prefix APS NAL 유닛들, prefix SEI NAL 유닛들, RSV_NVCL_26와 같은 nal_unit_type을 가지는 NAL 유닛들 또는 UNSPEC_28..UNSPEC_29의 범위 내에서 nal_unit_type을 가지는 NAL 유닛들이 PU에 존재하는 경우, 그것들은 상기 PU의 마지막 VCL NAL 유닛을 따르지 않아야 한다.
- 임의의 DPS NAL 유닛들, VPS NAL 유닛들, SPS NAL 유닛들 또는 PPS NAL 유닛들이 PU에 존재하는 경우, 그것들은 상기 PU의 PH NAL 유닛에 선행해야 한다.
- SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT 또는 RSV_NVCL_27와 같거나 또는 PU에서 UNSPEC_30..UNSPEC_31의 범위에서 nal_unit_type를 가지는 NAL 유닛들은 상기 PU의 첫 번째 VCL NAL 유닛을 선행하지 않아야 한다.
- EOS NAL 유닛이 PU에 존재하는 경우, 그것은 EOS NAL 유닛(존재하는 경우)이 아닌 PU 내의 모든 NAL 유닛들 중 마지막 NAL 유닛이어야 한다.
- EOB NAL 유닛이 AU에 존재하는 경우, 그것은 상기 AU 내의 마지막 NAL 유닛이어야 한다.
7.4.3.3. 시퀀스 파라미터 세트 RBSP 시맨틱스
SPS RBSP는 그것이 참조되기 전에 디코딩 프로세스에 이용가능해야 하며, 0과 같은 TemporalId를 가지는 적어도 하나의 AU에 포함되거나 외부 수단을 통해 제공되어야 한다.
...
비트스트림 적합성의 요건으로서 다음 제약조건들이 적용되어야 한다.
- 임의의 두 서브픽처들 subpicA 및 subpicB에 대해, subpicA의 서브픽처 인덱스가 subpicB의 인덱스 보다 낮다면, subPicA의 임의의 코딩된 슬라이스 NAL 유닛은 subPicB의 임의의 코딩된 슬라이스 NAL 유닛에 디코딩 순서 상으로 선행해야 한다.
- ...
...
7.4.8.2 일반적인 슬라이스 헤더 시맨틱스
존재하는 경우, 슬라이스 헤더 신택스 요소 slice_pic_order_cnt_lsb의 값은 코딩된 픽처의 모든 슬라이스 헤더들에서 동일해야 한다.
...
비트스트림 적합성의 요건으로, 아래 제약조건들이 적용되어야 한다.
- ...
- rect_slice_flag가 0과 같은 경우, 픽처의 슬라이스들은 그것들의 slice_address 값들의 오름 차순으로 있어야 한다.
- ...
...
4. 기존 구현들의 단점들
기존 VVC 디자인에는 다음과 같은 문제들이 있다.
(1) 슬라이스 모드가 직사각형 슬라이스 모드인 경우, 서브픽처 내 VCL NAL 유닛들(즉, 코딩된 슬라이스 NAL 유닛들)의 디코딩 순서가 명시되지 않는다. 결과적으로, 적합한 디코더 구현들을 검사하여, 그 구현들이 슬라이스 모드가 직사각형 모드일 때 서브픽처 내 VCL NAL 유닛들의 임의의 순서로 정확하게 비트스트림들을 디코딩할 수 있음을 확인할 필요가 있다. 이는 디코더 구현들에 가령 구현들 동안 적합성을 검사는 데에 있어 상당한 부담을 초래할 것이다.
(2) slice_subpic_id가 슬라이스 헤더에 존재하지 않는 경우, 가령, 픽처 내의 VCL NAL 유닛들의 NAL 유닛 디코딩 순서를 명시하는 데에 사용되도록 그 값을 추론할 필요가 있다.
(3) SPS 또는 PPS에서 명시적으로 시그널링되는 서브픽처 ID들의 값들은, 적합성 검사 등에 디코더 구현 부담을 또한 초래할 수 있는, 서브픽처 인덱스 값들의 오름차순에 대한 서브픽처 ID 값들의 임의의 순서를 피하도록 제약될 필요가 있다.
5. 개시된 기술의 예시적 실시예들
아래의 상세한 실시예들은 일반적인 개념들을 설명하기 위한 예시들로 간주되어야 한다. 이 실시예들은 협소한 방식으로 해석되어서는 안 된다. 또한, 이 실시예들은 어떤 방식으로든 결합될 수 있다.
1) 슬라이스 모드가 직사각형 슬라이스 모드인 경우, 서브픽처 내 VCL NAL 유닛들(즉, 코딩된 슬라이스 NAL 유닛들)의 디코딩 순서는 상기 VCL NAL 유닛들을 포함하는 서브픽처들의 서브픽처 ID 값들의 오름차순으로 명시된다.
또는, 슬라이스 모드가 직사각형 슬라이스 모드인 경우, 서브픽처 내 VCL NAL 유닛들(즉, 코딩된 슬라이스 NAL 유닛들)의 디코딩 순서는 상기 VCL NAL 유닛들을 포함하는 서브픽처들의 서브픽처 인덱스 값들의 오름차순으로 명시된다.
2) 슬라이스 모드가 직사각형 슬라이스 모드인 경우, 서브픽처 내 VCL NAL 유닛들(즉, 코딩된 슬라이스 NAL 유닛들)의 디코딩 순서는 상기 VCL NAL 유닛들의 서브픽처 레벨 슬라이스 인덱스 값들의 오름차순으로 명시된다. 코딩된 슬라이스 NAL 유닛의 서브픽처 레벨 슬라이스 인덱스 값은 실질적으로 슬라이스 헤더 내의 slice_address 신택스 요소의 값이라는 사실에 유의해야 한다.
3) slice_subpic_id가 존재하지 않는 경우, slice_subpic_id의 값은 예를 들어 0과 같은 것으로 추론된다.
4) 서브픽처 ID들의 값들은 서브픽처 인덱스들의 오름차순으로 증가할 것이 요구된다.
픽처 내에 있지만 상이한 서브픽처들에 속하는 임의의 두 VCL NAL 유닛들(즉, 코딩된 슬라이스 NAL 유닛들)의 디코딩 순서는 최신 VVC 초안 텍스트에서 상기 VCL NAL 유닛들을 포함하는 상기 서브픽처들의 서브픽처 인덱스 값들의 오름차순에 있음이 이미 명시되었음에 유의해야 한다.
이 제약조건을 추가할 경우, 픽처 내에 있지만 상이한 서브픽처들에 속하는 임의의 두 VCL NAL 유닛들의 디코딩 순서는 상기 VCL NAL 유닛들을 포함하는 상기 서브픽처들의 서브픽처 인덱스 값들의 오름차순이라고 명시될 수 있다.
상기 기술된 예시들은 아래에 기술되는 방법, 예를 들어, 비디오 디코더 또는 비디오 인코더에서 구현될 수 있는 방법(500)의 맥락에 포함될 수 있다.
도 5는 비디오 처리를 위한 예시적 방법(500)의 순서도를 도시한다. 상기 방법은, 동작(510)에서, 비디오의 현재 비디오 세그먼트와, 복수의 비디오 코딩층(VCL: video coding layer) 네트워크 추상층(NAL: network abstraction layer) 유닛들을 포함하는, 상기 비디오의 비트스트림 표현 사이의 변환을 위해, 상기 현재 비디오 세그먼트를 포함하는 슬라이스의 슬라이스 모드가 직사각형 슬라이스 모드임을 판단하는 단계를 포함한다.
상기 방법은, 동작(520)에서, 상기 판단에 기반하여, 상기 변환을 실시하는 단계를 포함하고, 상기 비트스트림 표현은 상기 복수의 VCL NAL 유닛들의 디코딩 순서를 시그널링하는 하나 또는 그 이상의 신택스 요소들을 더 포함한다.
6. 추가적인 예시적 실시예들
다음은 VVC 사양에 적용될 수 있는 일부 예시적인 실시예들이다. 변경된 텍스트는 JVET-P2001-v14)의 최신 VVC 텍스트에 기반한다. 새롭게 추가 또는 수정되거나 가장 관련성이 높은 부분들은 이중 밑줄로 표시되며, 삭제된 부분들 중 일부는 [[굵은 이중 괄호]]로 표시된다. 기타 일부 편집상의 변경들이 있지만 성격상 별도로 호명되거나 표시되지 않았다.
6.1 제1 실시예
6.1.1 정의들 (VVC 3절)
...
픽처 레벨 슬라이스 인덱스 (picture-level slice index) : rect_slice_flag가 1과 같은 경우 PPS에서 시그널링되는 순서로 픽처 내 슬라이스들의 목록에서의 슬라이스의 인덱스
...
서브픽처 레벨 슬라이스 인덱스 (subpicture-level slice index) : rect_slice_flag가 1과 같은 경우 PPS에서 시그널링되는 순서로 서브픽처 내 슬라이스들의 목록에서의 슬라이스의 인덱스
...
6.1.2 CTB 래스터 스캐닝, 타일 스캐닝 및 서브픽처 스캐닝 프로세스들의 정의 (VVC 6.5.1절)
...
i 번째 서브픽처에서 직사각형 슬라이스들의 수와 i 번째 서브픽처에서 k 번째 슬라이스의 픽처 레벨 슬라이스 인덱스를 명시하는, 목록 NumSlicesInSubpic[ i ] 및 SliceSubpicToPicIdx[ i ][ k ]는 아래와 같이 유도된다.
Figure pct00001
6.1.3 비트스트림에서 NAL 유닛들의 순서 (VVC 7.4.2.4절)
7.4.2.4 비트스트림에서 NAL 유닛들의 순서
7.4.2.4.1 일반사항
7.4.2.4절의 하위 절들은 비트스트림에서의 NAL 유닛들의 순서에 관한 제약조건들을 명시한다. 이 제약조건들을 준수하는 비트스트림 내의 NAL 유닛들의 임의의 순서는 해당 텍스트에서 NAL 유닛들의 디코딩 순서로 지칭된다.
NAL 유닛 내에서, 7.3절 및 D2절에서의 신택스는 신택스 요소들의 디코딩 순서를 명시한다. ITU-T H.SEI | ISO/IEC 23002-7에 명시된 VUI 파라미터들 또는 임의의 SEI 메시지가 본 명세서에 명시된 NAL 유닛에 포함되는 경우, ITU-T H.SEI | ISO/IEC 23002-7에 명시된 상기 VUI 파라미터들 또는 상기 SEI 메시지는 이 신택스 요소들의 디코딩 순서를 명시한다. 디코더들은 NAL 유닛들 및 그것들의 신택스 요소들을 디코딩 순서로 수신할 수 있어야 한다.
7.4.2.4.2 AU들의 순서 및 CVS들에 대한 연관성
비트스트림은 하나 또는 그 이상의 CVS들로 구성된다. CVS는 하나 또는 그 이상의 AU들로 구성된다. PU들의 순서 및 그것들의 AU와의 연관성은 0절에서 기술된다.
CVS의 첫 번째 AU는 CVSS AU이며, 이때 각각의 존재하는 PU는 CLVSS PU로, 이것은 1과 같은 NoIncorrectPicOutputFlag를 가지는 IRA PU이거나 1과 같은 NoIncorrectPicOutputFlag를 가지는 GDR PU이다.
각 CVSS AU는 CVS에 존재하는 레이어들 각각에 대한 PU를 가져야 한다.
비트스트림 적합성의 요건으로, 존재하는 경우, EOB NAL 유닛을 포함하는 AU 이후의 다음 AU는 CVSS AU여야 한다.
7.4.2.4.3 PU들의 순서 및 AU들에 대한 연관성
AU는 nuh_layer_id의 오름차순으로 하나 또는 그 이상의 PU들로 구성된다. NAL 유닛들 및 코딩된 픽처들의 순서 및 그것들의 PU들에 대한 연관성은 7.4.2.4.4절에서 기술된다.
AU에는 AUD NAL 유닛이 최대 한 개 있을 수 있다. AUD NAL 유닛이 AU에 존재하는 경우, 그것은 상기 AU의 첫 번째 NAL 유닛이어야 하고, 결과적으로 그것은 상기 AU의 첫 번째 PU의 첫 번째 NAL 유닛이 된다.
AU에는 EOB NAL 유닛이 최대 한 개 있을 수 있다. EOB NAL 유닛이 AU에 존재하는 경우, 그것은 상기 AU의 마지막 NAL 유닛이어야 하고, 결과적으로 그것은 상기 AU의 마지막 PU의 마지막 NAL 유닛이 된다.
VCL NAL 유닛이 PH NAL 유닛을 따르는 첫 번째 VCL NAL 유닛이고 아래 조건들 중 하나 또는 그 이상이 참인 경우, 상기 VCL NAL 유닛은 AU의 첫 번째 VCL NAL 유닛이다. (그리고 결과적으로 상기 VCL NAL 유닛을 포함하는 PU는 상기 AP의 첫 번째 PU이다.)
- VCL NAL 유닛의 nuh_layer_id의 값은 디코딩 순서상 이전 픽처의 nuh_layer_id 미만이다.
- VCL NAL 유닛의 slice_pic_order_cnt_lsb의 값은 디코딩 순서상 이전 픽처의 PicOrderCntVal과 다르다.
- VCL NAL 유닛에 대해 유도된 PicOrderCntVal은 디코딩 순서상 이전 픽처의 PicOrderCntVal과 다르다.
firstVclNalUnitInAu가 AU의 첫 번째 VCL NAL 유닛이라 하자. firstVclNalUnitInAu에 선행하고, 만약 있다면, firstVclNalUnitInAu를 선행하는 마지막 VCL NAL 유닛을 따르는 아래 NAL 유닛들 가운데 어느 것이든 첫 번째 것은 새로운 AU의 시작을 명시한다
- AUD NAL 유닛 (존재하는 경우),
- DPS NAL 유닛 (존재하는 경우),
- VPS NAL 유닛 (존재하는 경우),
- SPS NAL 유닛 ( 존재하는 경우),
- PPS NAL 유닛 (존재하는 경우),
- Prefix APS NAL 유닛 (존재하는 경우),
- PH NAL 유닛,
- Prefix SEI NAL 유닛 (존재하는 경우),
- RSV_NVCL_26과 같은 nal_unit_type을 가지는 NAL 유닛 (존재하는 경우),
- UNSPEC28..UNSPEC29의 범위 내에서 nal_unit_type을 가지는 NAL 유닛 (존재하는 경우).
비고 - firstVclNalUnitInAu에 선행하고, 만약 있다면, firstVclNalUnitInAu를 선행하는 마지막 VCL NAL 유닛을 따르는 첫 번째 NAL 유닛은 위에 열거된 NAL 유닛들 중 오직 하나일 수 있다.
비트스트림 적합성의 요건으로서, 동일한 층에 속하고 EOS NAL 유닛 또는 EOB NAL 유닛을 포함하는 PU 다음의 특정층의 다음 PU가 존재한다면, 그것은 CLVSS PU여야 하며, 이것은 1과 같은 NoIncorrectPicOutputFlag을 가지는 IRAP PU이거나 1과 같은 NoIncorrectPicOutputFlag를 가지는 GDR PU이다.
7.4.2.4.4 유닛들 및 코딩된 픽처들의 순서 및 PU들과의 연관성
PU는 하나의 PH NAL 유닛, 하나 또는 그 이상의 VCL NAL 유닛들을 포함하는 하나의 코딩된 픽처, 그리고 제로 또는 그 이상의 다른 비-VCL NAL 유닛들로 구성된다. VCL NAL 유닛들과 코딩된 픽처들의 연관성은 7.4.2.4.4절에 기술되어 있다.
픽처의 첫 번째 VCL NAL 유닛은 상기 픽처의 PH NAL 유닛을 따르는 첫 번째 VCL NAL 유닛이다.
PU 내의 (AUD 및 EOB NAL 유닛들 외의) 비-VCL NAL 유닛들의 순서는 아래 제약조건들을 준수해야 한다.
- PU 내 PH NAL 유닛은 상기 PU의 첫 번째 VCL NAL에 선행해야 한다.
- 임의의 DPS NAL 유닛들, VPS NAL 유닛들, SPS NAL 유닛들, PPS NAL 유닛들, prefix APS NAL 유닛들, prefix SEI NAL 유닛들, RSV_NVCL_26와 같은 nal_unit_type을 가지는 NAL 유닛들 또는 UNSPEC_28..UNSPEC_29의 범위 내에서 nal_unit_type을 가지는 NAL 유닛들이 PU에 존재하는 경우, 그것들은 상기 PU의 마지막 VCL NAL 유닛을 따르지 않아야 한다.
- 임의의 DPS NAL 유닛들, VPS NAL 유닛들, SPS NAL 유닛들 또는 PPS NAL 유닛들이 PU에 존재하는 경우, 그것들은 상기 PU의 PH NAL 유닛에 선행해야 한다.
- SUFFIX_APS_NUT, SUFFIX_SEI_NUT, FD_NUT 또는 RSV_NVCL_27와 같거나 또는 PU에서 UNSPEC_30..UNSPEC_31의 범위에서 nal_unit_type를 가지는 NAL 유닛들은 상기 PU의 첫 번째 VCL NAL 유닛을 선행하지 않아야 한다.
- EOS NAL 유닛이 PU에 존재하는 경우, 그것은 EOS NAL 유닛(존재하는 경우)이 아닌 PU 내의 모든 NAL 유닛들 중 마지막 NAL 유닛이어야 한다.
7.4.2.4.5 VCL NAL 유닛들의 순서 및 코딩된 픽처들과의 연관성
코딩된 픽처 내의 VCL NAL 유닛들의 순서는 아래와 같이 제약된다.
- 코딩된 픽처의 임의의 두 코딩된 슬라이스 NAL 유닛들 A와 B에 대하여, subpicIdA 및 subpicIdB를 그것들의 slice_subpic_id 값들이라하고, sliceAddrA 및 sliceddrB를 그것들의 slice_address 값들이라 하자.
- 아래 조건들 중 어느 하나가 참이면, 코딩된 슬라이스 NAL 유닛 A는 코딩된 슬라이스 NAL 유닛 B에 선행해야 한다.
- subpicIdA가 subpicIdB 미만
- subpicIdA가 subpicIdB와 같고, sliceAddrA가 sliceAddrB 미만.
6.1.4 시퀀스 파라미터 세트 RBSP 시맨틱스 (VVC 7.4.3.3절)
SPS RBSP는 그것이 참조되기 전에 디코딩 프로세스에 이용가능해야 하며, 0과 같은 TemporalId를 가지는 적어도 하나의 AU에 포함되거나 외부 수단을 통해 제공되어야 한다.
...
비트스트림 적합성의 요건으로서 다음 제약조건들이 적용되어야 한다.
- [[임의의 두 서브픽처들 subpicA 및 subpicB에 대해, subpicA의 서브픽처 인덱스가 subpicB의 인덱스 보다 낮다면, subPicA의 임의의 코딩된 슬라이스 NAL 유닛은 subPicB의 임의의 코딩된 슬라이스 NAL 유닛에 디코딩 순서 상으로 선행해야 한다.]]
- 각각의 서브픽처는, 그것이 디코딩될 때, 픽처 경계들로 구성되거나 이전에 디코딩된 서브픽처들의 경계들로 구성된, 그것의 좌측 경계 전체 및 상단 경계 전체를 가지도록, 서브픽처들은 모양을 가져야 한다.
...
6.1.5 일반적인 슬라이스 헤더 시맨틱스 (VVC 7.4.8.2절)
존재하는 경우, 슬라이스 헤더 신택스 요소 slice_pic_order_cnt_lsb는 코딩된 픽처의 모든 슬라이스 헤더들에서 동일해야 한다.
...
slice_subpic_id는 슬라이스를 포함하는 서브픽처의 서브픽처 식별자를 명시한다. 존재하지 않는 경우, slice_subpic_id의 값은 0과 같은 것으로 추론된다. [[만약 slice_subpic_id가 존재한다면,]] SubpicIdList[SubPicIdx ]가 slice_subpic_id와 같도록 변수 SubPicIdx의 값이 유도된다. [[그렇지 않은 경우(slice_subpic_id가 존재하지 않는 경우), 변수 SubPicIdx는 0과 같도록 유도된다.]]
비트스트림 적합성의 요건으로서, 0 부터 sps_num_subpics_minus1까지를 포함하는 범위에서 임의의 i 및 j에 대해, i가 j 미만인 경우, SubpicIdList[ i ]는 SubpicIdList[ j ] 미만이어야 한다.
slice_subpic_id의 비트 단위 길이는 아래와 같이 유도된다.
- 만약 sps_subpic_id_signalling_present_flag가 1과 같으면, slice_subpic_id의 길이는 sps_subpic_id_len_minus1 + 1과 같다.
- 그렇지 않은 경우, 만약 ph_subpic_id_signalling_present_flag가 1과 같으면, slice_subpic_id의 길이는 ph_subpic_id_len_minus1 + 1와 같다.
- 그렇지 않은 경우, 만약 pps_subpic_id_signalling_present_flag가 1과 같으면, slice_subpic_id의 길이는 pps_subpic_id_len_minus1 + 1과 같다.
- 그렇지 않은 경우, slice_subpic_id의 길이는 Ceil( Log2 ( sps_num_subpics_minus1 + 1 ) )와 같다.
slice_address는 슬라이스의 슬라이스 어드레스를 명시한다. 존재하는 경우, slice_address의 값은 0과 같은 것으로 추론된다.
만약 rect_slice_flag가 0과 같으면, 다음이 적용된다.
- 슬라이스 어드레스는 래스터 스캔 타일 인덱스이다.
- slice_address의 길이는 Ceil( Log2 ( NumTilesInPic ) ) 비트이다.
- slice_address의 값은 0에서 NumTilesInPic - 1을 포함하는 범위 내에 있어야 한다.
그렇지 않은 경우(rect_slice_flag가 1과 같은 경우), 다음이 적용된다.
- 슬라이스 어드레스는 [[SubPicIdx 번째 서브픽처 내]] 슬라이스의 서브픽처 레벨 슬라이스 인덱스이다.
- slice_address의 길이는 Ceil( Log2( NumSlicesInSubpic[ SubPicIdx ] ) ) 비트이다.
- slice_address의 값은 0에서 NumSlicesInSubpic[ SubPicIdx ] - 1을 포함하는 범위 내에 있어야 한다.
아래의 제약조건들이 적용되는 것은 비트스트림 적합성의 요건이다.
- 만약 rect_slice_flag가 0과 같거나 subpics_present_flag가 0과 같으면, slice_address의 값은 동일한 코딩된 픽처의 임의의 다른 코딩된 슬라이스 NAL 유닛의 slice_address의 값과 같아서는 안 된다.
- 그렇지 않은 경우, slice_subpic_id과 slice_address 값들의 쌍은 동일한 코딩된 픽처의 임의의 다른 코딩된 슬라이스 NAL 유닛의 slice_subpic_id 및 slice_address 값들의 쌍과 같아서는 안 된다.
- [[rect_slice_flag가 0과 같은 경우, 픽처의 슬라이스들은 그것들의 slice_address 값들의 오름 차순에 있다. ]]
- 픽처의 슬라이스들의 모양들은 각 CTU가 디코딩되는 경우 픽처 경계로 구성되거나 이전에 디코딩된 CTU(들)의 경계들로 구성된 그것의 좌측 경계 전체 및 상단 경계 전체를 가지도록 해야 한다.
...
6.2 제2 실시예
이 실시예에서는, 상기 제1 실시예와 관련하여 다음과 같은 수정들이 실시되었다.
1) 상기 일반적인 슬라이스 헤더 시맨틱스에서와 같이, 다음 제약조건이 삭제된다.
비트스트림 적합성의 요건으로서, 0 부터 sps_num_subpics_minus1까지를 포함하는 범위에서 임의의 i 및 j에 대해, i가 j 미만인 경우, SubpicIdList[ i ]는 SubpicIdList[ j ] 미만이어야 한다.
또는, 이 제약조건이 삭제되지 않고 유지된다.
2) VCL NAL 유닛들의 순서 및 코딩된 픽처들에 대한 그것의 연관성을 명시하기 위한 텍스트는 아래와 같이 수정되었다. 새롭게 추가 또는 수정되거나 가장 관련성이 높은 부분들은 이중 밑줄로 표시되며, 삭제된 부분들 중 일부는 [[굵은 이중 괄호]]로 표시된다.
코딩된 픽처 내의 VCL NAL 유닛들의 순서는 아래와 같이 제약된다.
- 코딩된 픽처의 임의의 두 코딩된 슬라이스 NAL 유닛들 A 및 B에 대해, subpicIdxA 및 subpicIdxB는 SubPicIdx [[slice_subpic_id]] 값들이라 하고, sliceAddrA 및 sliceddrB는 그것들의 slice_address 값들이라 하자.
- 아래 조건들 중 어느 하나가 참인 경우, 코딩된 슬라이스 NAL 유닛 A는 코딩된 슬라이스 NAL 유닛 B에 선행해야 한다.
- subpicIdxA는 subpicIdxB 미만이다.
- subpicIdxA는 subpicIdxB와 같고, sliceAddrA는 sliceAddrB 미만이다.
7. 개시된 기술의 예시적 구현들
도 6은 비디오 처리 장치(600)의 블록도이다. 장치(600)은 여기에 기재된 방법들 중 하나 또는 그 이상을 구현하는데 사용될 수 있다. 장치(600)은 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT: Internet of Things) 수신기 등에서 구현될 수 있다. 장치(600)은 하나 이상의 프로세서(602), 하나 이상의 메모리(604) 및 비디오 처리 하드웨어(606)를 포함할 수 있다. 프로세서(들)(602)는 본 문서에 기재된 하나 또는 그 이상의 방법들을 구현하도록 구성될 수 있다. 메모리(메모리들)(604)는 여기에 기재된 방법들 및 기술들을 구현하는데 사용되는 데이터 및 코드를 저장하는데 사용될 수 있다. 비디오 처리 하드웨어(606)는 하드웨어 회로에서 본 문서에 기술된 일부 기술들을 구현하는데 사용될 수 있다.
도 7는 본 개시의 기술들을 활용할 수 있는 예시적인 비디오 코딩 시스템 (700)을 도시한 블록도이다.
도 7에서 나타난 바와 같이, 비디오 코딩 시스템(700) 소스 장치 (710) 및 대상 장치 (720)를 포함할 수 있다. 소스 장치 (710)은 인코딩된 비디오 데이터를 생성할 수 있으며, 비디오 인코딩 장치로 지칭될 수 있다. 대상 장치 (720)은 소스 장치 (710)에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있으며, 비디오 디코딩 장치로 지칭될 수 있다.
소스 장치(710)은 비디오 소스(712), 비디오 인코더(714), 및 입력/출력 (I/O) 인터페이스 (716)를 포함할 수 있다.
비디오 소스 (712)는 비디오 캡처 장치, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하는 인터페이스, 및/혹은 비디오 데이터 생성을 위한 컴퓨터 그래픽스 시스템, 혹은 이러한 소스들의 조합 등과 같은 소스를 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(714)는 비트스트림을 생성하기 위해 비디오 소스(712)로부터 비디오 데이터를 인코딩한다. 비트스트림은 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스를 포함할 수 있다. 비트스트림은 코딩된 픽처들 및 관련 데이터를 포함할 수 있다. 코딩된 픽처는 픽처의 코딩된 표현이다. 관련 데이터는 시퀀스 파라미터 세트, 픽처 파라미터 세트 및 다른 신택스 구조들을 포함할 수 있다. I/O 인터페이스(716)는 변조기/역변조기 (모뎀) 및/혹은 전송기를 포함할 수 있다. 인코딩된 비디오 데이터는 I/O 인터페이스(716)를 통해 네트워크(730a)를 거쳐 직접 대상 장치(720)에 전송될 수 있다. 인코딩된 비디오 데이터는 또한 대상 장치(720)에 의한 액세스를 위해 저장 매체/서버(730b)에 저장될 수 있다.
대상 장치(720)는 I/O 인터페이스(726), 비디오 디코더(724) 그리고 디스플레이 장치(722)를 포함할 수 있다.
I/O 인터페이스(726)는 수신기 및/혹은 모뎀을 포함할 수 있다. I/O 인터페이스(726)은 소스 장치(710) 혹은 저장 매체/서버 (730b)로부터 인코딩된 비디오 데이터를 획득할 수 있다. 비디오 디코더(724)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 장치(722)는 사용자에게 디코딩된 비디오 데이터를 디스플레이할 수 있다. 디스플레이 장치(722)는 대상 장치(720)와 통합되거나 외부 디스플레이 장치와 인터페이스하도록 구성된 대상 장치(720)의 외부에 존재할 수 있다.
비디오 인코더(714) 및 비디오 디코더(724)는 HEVC(High Efficiency Video Coding) 표준, VVC(Versatile Video Coding) 표준 및 다른 현재 및/혹은 미래의 표준들과 같은 비디오 압축 표준에 따라 동작할 수 있다.
도 8은 도 7의 시스템(700)에서 비디오 인코더(714)일 수 있는 비디오 인코더(800)의 일 예를 도시하는 블록도이다.
비디오 인코더(800)는 본 개시의 일부 혹은 모든 기술을 수행하도록 구성될 수 있다. 도 8에서, 비디오 인코더(800)는 복수의 기능적 구성요소들을 포함한다. 본 개시에 설명된 기술들은 비디오 인코더(800)의 다양한 구성요소들 사이에서 공유될 수 있다. 일부 예시들에서, 프로세서는 본 개시에서 설명된 일부 혹은 모든 기술들을 수행하도록 구성될 수 있다.
비디오 인코더(800)의 기능적 구성요소들은 분할부(801), 모드 선택부(803), 모션 추정부(804), 모션 보상부(805) 및 인트라 예측부(806)를 포함할 수 있는 예측부(802), 잔차 생성부(807), 변환부(808), 양자화부(809), 역양자화부(810), 역변환부(811), 복원부(812), 버퍼(813), 그리고 엔트로피 인코딩부(814)를 포함할 수 있다.
다른 예들에서, 비디오 인코더(800)는 더 많은 수의, 적은 수의, 또는 상이한 기능적 구성요소들을 포함할 수 있다. 일 예에서, 예측부(802)는 인트라 블록 카피(IBC) 유닛을 포함한다. 상기 IBC 유닛은 적어도 하나의 참조 픽처가 현재 비디오 블록이 위치하는 픽처인 IBC 모드로 예측을 수행할 수 있다.
더 나아가, 모션 추정부(804) 및 모션 보상부(805)와 같은 몇몇 구성요소들은 고도로 통합될 수 있지만, 설명의 목적을 위해 도8의 예에서는 별개로 도시되었다.
분할부(801)는 픽처를 하나 또는 그 이상의 비디오 블록들로 분할할 수 있다. 비디오 인코더(800) 및 비디오 디코더(900)는 다양한 비디오 블록 크기들을 지원할 수 있다.
모드 선택부(803)는 예를 들어 오류 결과들에 기반하여, 인터 또는 인트라 코딩 모드들 중 하나를 선택할 수 있으며, 그 결과로 인트라 또는 인터 코딩된 블록을 잔차 생성부(807)에 제공하여 잔차 블록 데이터를 생성하도록 하고, 복원부(812)에 제공하여 인코딩된 블록을 참조 픽처로 사용하기 위해 복원하도록 할 수 있다. 몇몇 예들에서, 모드 선택부(803)는 예측이 인트라 예측 신호 및 인터 예측 신호에 기반하는 인트라 인터 결합 예측(CIIP) 모드를 선택할 수 있다. 모드 선택부(803)는 또한 인트라 예측의 경우 블록에 대한 모션 벡터를 위한 해상도(예를 들어, 서브 픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에서 인터 예측을 실시하기 위해, 모션 추정부(804)는 버퍼(813)에서부터 상기 현재 비디오 블록까지 하나 또는 그 이상의 참조 프레임들을 비교하여 상기 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상부(805)는 상기 모션 정보 및 버퍼(813)로부터 상기 현재 블록에 관련된 픽처가 아닌 픽처들(예를 들어, 참조 픽처들)의 모션 정보 및 디코딩된 샘플들에 기반하여 상기 현재 비디오에 대한 예측된 비디오 블록을 결정할 수 있다.
모션 추정부(804) 및 모션 보상부(805)는 현재 비디오 블록에 대해, 예를 들어 상기 현재 비디오 블록이 I 슬라이스, P 슬라이스 또는 B 슬라이스에 있는지 여부에 의존하여, 상이한 동작들을 실시할 수 있다.
일부 예들에서, 모션 추정부(804)는 현재 비디오 블록에 대해 단방향(uni-directional) 예측을 실시할 수 있으며, 모션 추정부(804)는 현재 비디오 블록을 위한 참조 비디오 블록에 대해 리스트 0 또는 리스트 7의 참조 픽처들을 탐색할 수 있다. 그리고 나서, 모션 추정부(804)는 참조 비디오 블록을 포함하는 리스트 0 또는 리스트 7에서 참조 픽처를 지시하는 참조 인덱스를 그리고 상기 현재 비디오 블록과 상기 참조 비디오 블록 사이의 공간적 이동(displacement)을 지시하는 모션 벡터를 생성할 수 있다. 모션 추정부(804)는 상기 참조 인덱스, 예측 방향 지시자 그리고 상기 모션 벡터를 상기 비디오 블록의 모션 정보로 출력할 수 있다. 모션 보상부(805)는 상기 현재 비디오 블록의 상기 모션 정보에 의해 지시되는 상기 참조 비디오 블록에 기반하여 상기 현재 블록의 예측 비디오 블록을 생성할 수 있다.
다른 예들에서, 모션 추정부(804)는 현재 비디오 블록에 대해 양방향(bi-directional) 예측을 실시할 수 있으며, 모션 추정부(804)는 현재 비디오 블록을 위한 참조 비디오 블록에 대해 리스트 0의 참조 픽처들을 탐색할 수 있고, 현재 비디오 블록을 위한 다른 참조 비디오 블록에 대해 리스트 7의 참조 픽처들을 탐색할 수 있다. 그리고 나서, 모션 추정부(804)는 참조 비디오 블록들을 포함하는 리스트 0 및 리스트 7에서 참조 픽처들을 지시하는 참조 인덱스들을 그리고 상기 현재 비디오 블록과 상기 참조 비디오 블록들 사이의 공간적 이동들(displacements)을 지시하는 모션 벡터들을 생성할 수 있다. 모션 추정부(804)는 상기 참조 인덱스들 및 상기 현재 비디오 블록의 상기 모션 벡터들을 상기 비디오 블록의 모션 정보로 출력할 수 있다. 모션 보상부(805)는 상기 현재 비디오 블록의 상기 모션 정보에 의해 지시되는 상기 참조 비디오 블록들에 기반하여 상기 현재 블록의 예측 비디오 블록을 생성할 수 있다.
일부 예들에서, 모션 추정부(804)는 디코더의 디코딩 프로세스를 위한 모션 정보의 풀 세트를 출력할 수 있다.
일부 예들에서, 모션 추정부(804)는 상기 현재 비디오에 대한 모션 정보의 풀 세트를 출력하지 않는다. 오히려, 모션 추정부(804)는 다른 비디오 블록의 모션 정보를 참조하여 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정부(804)는 현재 비디오 블록의 모션 정보가 주변 비디오 블록의 모션 정보와 충분히 유사하다고 판단할 수 있다.
일 예에서, 모션 추정부(804)는, 현재 비디오 블록과 관련된 신택스 구조에서, 현재 비디오 블록이 상기 다른 비디오 블록과 동일한 모션 정보를 가지고 있다는 것을 비디오 디코더(900)에게 지시하는 값을 지시할 수 있다.
다른 예에서, 모션 추정부(804)는, 현재 비디오 블록과 관련된 신택스 구조에서, 상기 다른 비디오 블록 및 모션 벡터 차분(MVD: motion vector difference)을 식별할 수 있다. 상기 모션 벡터 차분은 현재 비디오 블록과 상기 지시되는 비디오 블록의 모션 벡터 사이의 차분을 지시한다. 비디오 디코더(900)는 상기 지시되는 비디오 블록의 모션 벡터 및 상기 모션 벡터 차분을 이용하여 현재 비디오 블록의 모션 벡터를 결정할 수 있다.
위에서 논의된 것처럼, 비디오 인코더(800)는 모션 벡터를 예측적으로 시그널링할 수 있다.
비디오 인코더(800)에 의해 실시될 수 있는 예측적 시그널링 기술들의 두 가지 예에는 향상된 모션 벡터 예측(AMVP: advanced motion vector prediction)과 머지 모드 시그널링이 있다.
인트라 예측부(806)는 현재 비디오 블록에 대해 인트라 예측을 실시할 수 있다. 인트라 예측부(806)가 현재 비디오 블록에 대해 인트라 예측을 실시하는 경우, 인트라 예측부(806)는 동일한 픽처 내의 다른 비디오 블록들의 디코딩된 샘플들에 기반하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 상기 예측 데이터는 예측된 비디오 블록 및 다양한 신택스 요소들을 포함할 수 있다.
잔차 생성부(807)는 현재 비디오 블록에서 현재 비디오 블록의 예측된 비디오 블록(들)을 감산하여(예를 들어, 마이너스 기호로 지시) 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 상기 잔차 데이터는 현재 비디오 블록의 샘플들의 상이한 샘플 구성요소들에 해당하는 잔차 비디오 블록들을 포함할 수 있다.
다른 예들에서, 가령 스킵 모드에서, 현재 비디오 블록에 대한 잔차 데이터가 없을 수 있으며, 잔차 생성부(807)는 감산 연산을 실시하지 않을 수 있다.
변환 처리부(808)는 하나 또는 그 이상의 변환들을 현재 비디오 블록과 연관된 잔차 비디오 블록에 적용하여 현재 비디오 블록에 대한 하나 또는 그 이상의 변환 계수 비디오 블록들을 생성할 수 있다.
변환 처리부(808)가 현재 비디오 블록과 관련된 변환 계수 비디오 블록을 생성한 후, 양자화부(809)는 현재 비디오 블록과 관련된 양자화 파라미터(QP: quantization parameter) 값에 기반하여 현재 비디오 블록과 관련된 상기 변환 계수 비디오 블록을 양자화 할 수 있다.
역양자화부(810) 및 역변환부(811)는 역양자화 및 역변환을 상기 변환 계수 비디오 블록에 각각 적용하여 상기 변환 계수 비디오 블록으로부터 잔차 비디오 블록을 복원할 수 있다. 복원부(812)는 상기 복원된 잔차 비디오 블록을 예측부(802)에 의해 생성된 하나 또는 그 이상의 예측된 비디오 블록들부터 해당하는 샘플들에 더하여 버퍼(813)에 저장하기 위해 현재 블록과 관련된 복원 비디오 블록을 생성할 수 있다.
복원부(812)가 상기 비디오 블록을 복원한 후에, 루프 필터링 작업이 상기 비디오 블록에서 비디오 블로킹 아티팩트들을 감소시키기 위해 실시될 수 있다.
엔트로피 인코딩부(814)는 비디오 인코더(800)의 다른 기능적 구성요소들로부터 데이터를 수신할 수 있다. 엔트로피 인코딩부(814)가 상기 데이터를 수신할 때, 엔트로피 인코딩부(814)는 하나 또는 그 이상의 엔트로피 인코딩 작업들을 실시하여 엔트로피 인코딩된 데이터를 생성하고 상기 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력할 수 있다.
도 9는 도 7에 도시된 시스템(700) 내의 비디오 디코더(714)일 수 있는 비디오 디코더(900)의 일 예를 도시하는 블록도이다.
비디오 디코더(900)는 본 개시의 기술들 중 어느 하나 또는 전부를 실시하도록 구성될 수 있다. 도 9의 예에서, 비디오 디코더(900)는 복수의 기능적 구성요소들을 포함한다. 본 개시에서 설명되는 기술들은 비디오 디코더(900)의 다양한 구성요소들 사이에 공유될 수 있다. 일부 예들에서, 프로세서는 본 개시에서 설명되는 기술들 중 어느 하나 또는 전부를 실시하도록 구성될 수 있다.
도 9의 예에서, 비디오 디코더(900)는 엔트로피 디코딩부(901), 모션 보상부(902), 인트라 예측부(903), 역양자화부(904), 역변환부(905), 복원부(906), 그리고 버퍼(907)를 포함한다. 일부 예들에서, 비디오 디코더(900)는 비디오 인코더(800)(도 8)와 관련하여 설명된 인코딩 패스에 일반적으로 상반된 디코딩 패스를 실시할 수 있다.
엔트로피 디코딩부(901)는 인코딩된 비트스트림을 검색할 수 있다. 상기 인코딩된 비트스트림은 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록들)을 포함할 수 있다. 엔트로피 디코딩부(901)는 상기 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있으며, 엔트로피 디코딩된 비디오 데이터로부터, 모션 보상부(902)는 모션 벡터들, 모션 벡터 정밀도 및 참조 픽처 리스트 인덱스들을 포함하는 모션 정보 및 기타 모션 정보를 결정할 수 있다. 예를 들어, 모션 보상부(902)는 AMVP 및 머지 모드를 실행하여 이러한 정보를 결정할 수 있다.
모션 보상부(902)는 가능하면 보간 필터들에 기반한 보간을 실시하여 모션 보상된 블록들을 산출할 수 있다. 서브 픽셀 정밀도와 함께 사용될 보간 필터들에 대한 식별자들은 신택스 요소들에 포함될 수 있다.
모션 보상부(902)는 비디오 인코더(800)가 비디오 블록의 인코딩 동안 사용한 것과 같이 보간 필터들을 사용하여 참조 블록의 서브-정수 픽셀들에 대한 보간된 값들을 계산할 수 있다. 모션 보상부(902)는 비디오 인코더(800)가 사용한 상기 보간 필터들을 수신된 신택스 정보에 따라 결정할 수 있으며, 상기 보간 필터들을 사용하여 예측적 블록들을 생성할 수 있다.
모션 보상부(902)는 인코딩된 비디오 시퀀스의 프레임(들) 및/또는 슬라이스(들)을 인코딩 하는 데에 사용된 블록들의 크기들을 판단하기 위한 신택스 정보, 인코딩된 비디오 시퀀스의 픽처의 각 매크로블록이 어떻게 분할되는지를 기술하는 분할 정보, 각 파티션이 어떻게 인코딩되는지를 지시하는 모드들, 각각의 인터 인코딩된 블록에 대한 하나 또는 그 이상의 참조 프레임들 (및 참조 프레임 리스트들), 그리고 인코딩된 비디오 시퀀스를 디코딩하기 위한 기타 정보를 이용할 수 있다.
인터 예측부(903)는 공간적으로 인접한 블록들로부터 예측 블록을 형성하기 위해 예를 들어 비트스트림에서 수신된 인트라 예측 모드들을 이용할 수 있다. 역양자화부(903)는 비트스트림에서 제공되며 엔트로피 디코딩부(901)에 의해 디코딩된 양자화된 비디오 블록 계수들을 역 양자화(즉 양자화 해제)한다. 역변환부(903)는 역변환을 적용한다.
복원부(906)는 모션 보상부(802) 또는 인트라 예측부(903)에 의해 생성된 해당 예측 블록들과 잔차 블록들을 합산하여 디코딩된 블록들을 형성할 수 있다. 요구되는 경우, 디블로킹 필터 또한 블록화 아티팩트(blockiness artifacts)를 제거하기 위해 디코딩된 블록들의 필터링에 적용될 수 있다. 그리고 나서, 디코딩된 비디오 블록들은 버퍼(907)에 저장되며, 버퍼는 후속 모션 보상을 위한 참조 블록들을 제공하고 디스플레이 디바이스 상에서 제공할 디코딩된 비디오를 산출하기도 한다.
도 10는 본 문서에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 처리 시스템(1000)을 도시하는 블록도이다. 다양한 구현들은 시스템(1000)의 일부 또는 전체 구성요소들을 포함할 수 있다. 시스템(1000)은 비디오 콘텐트를 수신하기 위한 입력(1002)을 포함할 수 있다. 상기 비디오 콘텐트는 8 또는 10 비트 다중 컴포넌트 픽셀 값들과 같은 로(raw) 또는 비압축 포맷으로 수신될 수 있거나 또는 압축 또는 인코딩된 포맷일 수 있다. 입력(1002)은 네트워크 인터페이스, 주변 버스 인터페이스 또는 스토리지 인터페이스를 표시할 수 있다. 네트워크 인터페이스의 예들은 이더넷, 수동 광학 네트워크 (PON: passive optical network) 등과 같은 유선 인터페이스들 및 와이파이 또는 셀룰러 인터페이스들과 같은 무선 인터페이스들을 포함할 수 있다.
시스템(1000)은 본 문서에 기술된 다양한 코딩 또는 인코딩 방법들을 구현할 수 있는 코딩 구성요소(1004)를 포함할 수 있다. 코딩 구성요소(1004)는 상기 비디오의 코딩된 표현을 산출하기 위해 코딩 구성요소(1004)의 입력(1002)으로부터 출력까지의 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서, 코딩 기술들은 종종 비디오 압축 또는 비디오 트랜스코딩 기술로 불린다. 코딩 구성요소(1004)의 출력은 컴포넌트(1006)의 의해 표현되는 것처럼, 저장되거나 또는 연결된 통신을 통해 전송될 수 있다. 입력(1002)에서 수신된 상기 비디오의 저장되거나 통신된 (또는 코딩된) 비트스트림 표현은 컴포넌트(1008)에 의해 사용되어 픽셀 값들을 생성하거나 또는 디스플레이 인터페이스(1010)에 전송되는 디스플레이 가능한 비디오를 생성할 수 있다. 상기 비트스트림 표현으로부터 사용자가 시청가능한 비디오를 생성하는 프로세스는 종종 비디오 압축해제라 불린다. 더 나아가, 특정 비디오 처리 동작들이 "코딩" 동작 또는 툴로 불리는 반면, 상기 코딩 툴 또는 동작들은 인코더 측에서 사용되며 상기 코딩의 결과들을 반전시키는 대응하는 디코딩 툴 또는 동작들은 디코더가 실시할 것이라는 것이 이해될 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예들은 범용 직렬 버스(USB: universal serial bus) 또는 고해상도 멀티미디어 인터페이스 (HDMI: high definition multimedia interface) 또는 디스플레이포트 등을 포함할 수 있다. 스토리지 인터페이스의 예들은 SATA(직렬 고급 기술 연결), PCI, IDE 인터페이스 등을 포함한다. 본 문서에서 개시되는 기술들은 이동 전화, 노트북, 스마트폰, 또는 디지털 데이터 처리 및/또는 비디오 디스플레이를 실행할 수 있는 기타 디바이스들과 같은 다양한 전자 디바이스들에서 구현될 수 있다.
상기 설명으로부터, 현재 개시되는 기술의 구체적인 실시예들은 본 문서에서 예시적인 목적들을 위해 설명되었지만, 발명의 범위를 벗어나지 않는 한 다양하게 수정될 수 있음이 이해될 것이다. 따라서, 현재 개시되는 기술은 오직 첨부된 청구항들에 의해서만 제한된다.
본 특허 문서에 기술된 주제의 실시예들 및 기능적 동작들은 다양한 시스템들, 디지털 전자 회로, 또는 본 명세서에 개시된 구조들, 그것들의 구조적 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어 또는 이들 중의 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 개시된 주제의 실시예들은 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치에 의한 실행 또는 그의 동작의 제어를 위해 컴퓨터 판독가능 매체 상에 인코딩되는 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 머신-판독가능 저장 장치, 머신-판독가능 저장 기판, 메모리 장치, 머신-판독가능 전파 신호에 영향을 주는 물질의 구성 또는 그들 중의 하나 이상의 조합일 수 있다. 용어 "데이터 처리부" 또는 "데이터 처리 장치"는 데이터 처리를 위한 모든 장치, 디바이스 및 머신을 포함하며, 예를 들어 프로그램 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함한다. 장치는 하드웨어에 더하여 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 또는 그 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 알려짐)은 컴파일 되거나 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램 또는 컴퓨터 환경에서 사용되기에 적합한 모듈, 컴포넌트, 서브루틴 또는 다른 유닛으로서 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 반드시 대응되는 것은 아니다. 프로그램은 다른 프로그램들 또는 데이터를 보유하는 파일의 일부(예를 들어 마크업 언어 문서에 저장된 하나 이상의 스크립트) 또는 문제의 프로그램 전용인 단일 파일 또는 다중 편성(coordinated) 파일들(예를 들어, 하나 이상의 모듈들, 서브 프로그램들 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은, 하나의 컴퓨터 상에서 또는 한 사이트에 위치하거나 다수의 사이트에 걸쳐 분배되고 통신 네트워크에 의해 상호 접속되는 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에 설명된 프로세스들 및 논리 흐름들은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래밍가능한 프로세서들에 의해 실시될 수 있다. 프로세스들 및 논리 흐름들 그리고 장치는 FPGA (필드 프로그래밍 가능 게이트 어레이) 또는 ASIC (애플리케이션 특정 집적 회로)와 같은 특수 목적 논리회로로 실시될 수 있고, 구현될 수도 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은 예를 들어 범용 및 특수 목적의 마이크로 프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리(ROM), 또는 랜덤 액세스 메모리(RAM), 또는 둘 다로부터 명령어들과 데이터를 수신할 것이다. 컴퓨터의 필수 구성요소는 명령들을 실행하는 프로세서 및 명령들 및 데이터를 저장하는 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들어, 자기 디스크, 광자기 디스크, 또는 광디스크를 포함하거나, 또는 이 디바이스들과 데이터를 송수신하기 위하여 동작적으로(operatively) 결합될 것이다. 하지만 컴퓨터는 이러한 디바이스를 구비할 필요는 없다. 컴퓨터 프로그램 명령어들과 데이터를 저장하기 적합한 컴퓨터 판독가능 매체에는, 예를 들어, 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM, 플래시 메모리 디바이스)를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스가 포함된다. 프로세서와 메모리는 전용 논리 회로에 의해 보완되거나 또는 전용 논리 회로에 통합될 수 있다.
일부 실시예들은 아래의 절(clause) 기반 포맷을 사용하여 기술될 수 있다. 첫 번째 절들의 세트는 이전 섹션들에서 설명된 기술들의 예시적인 실시예들을 보여준다.
A1. 비디오 처리 방법으로서, 비디오의 현재 비디오 세그먼트와, 복수의 비디오 코딩층(VCL: video coding layer) 네트워크 추상층(NAL: network abstraction layer) 유닛들을 포함하는, 상기 비디오의 비트스트림 표현 사이의 변환을 위해, 상기 현재 비디오 세그먼트를 포함하는 슬라이스의 슬라이스 모드가 직사각형 슬라이스 모드임을 판단하는 단계 및 상기 판단에 기반하여, 상기 변환을 실시하는 단계를 포함하고, 상기 비트스트림 표현은 상기 복수의 VCL NAL 유닛들의 디코딩 순서를 시그널링하는 하나 또는 그 이상의 신택스 요소들을 더 포함하는, 비디오 처리 방법.
A2-1. A1절에 있어서, 상기 디코딩 순서는 상기 복수의 VCL NAL 유닛들을 포함하는 서브픽처들의 서브픽처 ID 값들을 오름차순으로 포함하는, 비디오 처리 방법.
A2-2. A1절에 있어서, 상기 디코딩 순서는 상기 복수의 VCL NAL 유닛들의 서브픽처 레벨 슬라이스 인덱스 값들을 오름차순으로 포함하는, 비디오 처리 방법.
A3-1. A1절에 있어서, 상기 디코딩 순서는 상기 복수의 VCL NAL 유닛들을 포함하는 서브픽처들의 서브픽처 인덱스 값들을 오름차순으로 포함하는, 비디오 처리 방법. A3-2. A1절에 있어서, 상기 서브픽처 레벨 슬라이스 인덱스 값들 중 하나가 슬라이스 헤더 내의 slice_address 신택스 요소의 값인, 비디오 처리 방법.
A4. A1절 내지 A3절 중 어느 것에 있어서, slice_subpic_id 파라미터의 값은 상기 비트스트림 표현이 상기 slice_subpic_id 파라미터를 제외한다는 판단에 기반하여 제로(0)로 추론되는, 비디오 처리 방법.
A5. A2 및 A3절에 있어서, 상기 서브픽처 ID 값들은 상기 서브픽처 인덱스 값들과 함께 단조적으로 증가하는, 비디오 처리 방법.
A6. A1절 내지 A5절 중 어느 것에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 현재 비디오 세그먼트를 생성하는, 비디오 처리 방법.
A7. A1절 내지 A5절 중 어느 것에 있어서, 상기 변환은 상기 현재 비디오 세그먼트로부터 상기 비트스트림 표현을 생성하는, 비디오 처리 방법.
A8. A1절 내지 A7절 중 어느 것에 있어서, 상기 현재 비디오 세그먼트는 현재 슬라이스, 현재 블록, 현재 타일 또는 현재 서브픽처인, 비디오 처리 방법.
A9. A1절 내지 A8절 중 어느 하나 또는 그 이상에서의 방법을 실시하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
A10. 코드를 포함하는 프로그램이 기록된, 컴퓨터 판독가능한 기록 매체로서, 상기 프로그램은 프로세서가 A1절 내지 A8절 중 어느 것에서의 방법을 실시하기 위한 것인, 컴퓨터 판독가능한 기록 매체.
A11. 비일시적 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램 제품으로, 프로세서가 A1절 내지 A8절 중 어느 것에서 상기 방법을 실시하기 위한 프로그램 코드를 포함하는, 컴퓨터 프로그램 제품.
두 번째 절들의 세트는 이전 섹션에서 개시된 기술들의 특정한 특징들 및 측면들을 설명한다.
1. 비디오 처리 방법으로서(예를 들어 도 11에 도시된 방법(1100)), 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 서브픽처들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 실시하는 단계(1110)를 포함하며, 상기 비트스트림 표현은 코딩된 유닛들의 수를 포함하고, 상기 규칙은 서브픽처 내의 코딩된 유닛들의 디코딩 순서가 상기 코딩된 유닛들의 서브픽처 레벨 슬라이스 인덱스 값들의 오름차순에 있음을 명시하는, 비디오 처리 방법.
2. 제1항에 있어서, 상기 코딩된 유닛들은 비디오 코딩층(VCL: video coded layer) 네트워크 추상층(NAL: network abstraction layer) 유닛들에 해당하는, 비디오 처리 방법.
3. 제1항에 있어서, 상기 규칙은 슬라이스 모드가 직사각형 슬라이스 모드인 경우에 적용되는, 비디오 처리 방법.
4. 제1항에 있어서, 서브픽처 레벨 슬라이스 인덱스 값은, 슬라이스의 슬라이스 어드레스를 명시하는, 슬라이스 헤더 내의 slice_address 신택스 요소의 값인, 비디오 처리 방법.
5. 제1항 내지 제4항 중 어느 것에 있어서, slice_subpic_id 파라미터의 값은 상기 비트스트림 표현이 상기 slice_subpic_id 파라미터를 제외한다는 판단에 기반하여 추론되는, 비디오 처리 방법.
6. 제5항에 있어서, 상기 slice_subpic_id 파라미터는 상기 슬라이스를 포함하는 상기 서브픽처의 서브픽처 ID를 명시하는, 비디오 처리 방법.
7. 제5항에 있어서, 상기 slice_subpic_id 파라미터의 값은 상기 판단에 기반하여 0과 같은 것으로 추론되는, 비디오 처리 방법.
8. 제1항 내지 제7항 중 어느 것에 있어서, 상기 복수의 코딩된 유닛들을 포함하는 서브픽처들의 서브픽처 ID 값들은 상기 복수의 코딩된 유닛들을 포함하는 서브픽처들의 상기 서브픽처 인덱스 값들과 함께 단조적으로 증가하는, 비디오 처리 방법.
9. 제5항 내지 제7항 중 어느 것에 있어서, 제1 슬라이스 네트워크 추상층(NAL: network abstraction layer) 유닛 및 제2 슬라이스 NAL 유닛을 포함하는 픽처 내의 상기 코딩된 유닛들의 상기 디코딩 순서는, i) 상기 제1 슬라이스 NAL 유닛의 서브픽처 레벨 슬라이스 인덱스 값이 상기 제2 슬라이스 NAL 유닛의 서브픽처 레벨 슬라이스 인덱스 값 미만인 경우, 또는 ii) 상기 제1 슬라이스 NAL 유닛의 상기 서브픽처 레벨 슬라이스 인덱스 값이 상기 제2 슬라이스 NAL 유닛의 상기 서브픽처 레벨 슬라이스 인덱스 값과 같고 상기 제1 슬라이스 NAL 유닛의 slice_address 신택스 요소의 값이 상기 제2 슬라이스 NAL 유닛의 slice_address 신택스 요소의 값 미만인 경우, 상기 제1 슬라이스 NAL 유닛이 상기 제2 슬라이스 NAL 유닛에 선행하도록 명시되는, 비디오 처리 방법.
10. 비디오 처리 방법으로서, 하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 서브픽처들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 실시하는 단계를 포함하며, 상기 비트스트림 표현은 코딩된 유닛들의 수를 포함하고, 상기 규칙은 코딩된 유닛들의 디코딩 순서가 상기 코딩된 유닛들을 포함하는 상기 하나 또는 그 이상의 서브픽처들로부터 서브픽처들의 서브픽처 관련 값들의 오름차순에 있음을 명시하는, 비디오 처리 방법.
11. 제10항에 있어서, 상기 코딩된 유닛들은 비디오 코딩층(VCL: video coded layer) 네트워크 추상층(NAL: network abstraction layer) 유닛들에 해당하는, 비디오 처리 방법.
12. 제10항에 있어서, 상기 규칙은 슬라이스 모드가 직사각형 슬라이스 모드인 경우에 적용되는, 비디오 처리 방법.
13. 제10항에 있어서, 상기 서브픽처 관련 값들은 상기 코딩된 유닛들을 포함하는 서브픽처들의 식별(ID) 값들에 해당하는, 비디오 처리 방법.
14. 제10항에 있어서, 상기 서브픽처 관련 값들은 상기 코딩된 유닛들을 포함하는 서브픽처들의 서브픽처 인덱스 값들에 해당하는, 비디오 처리 방법.
15. 제10항 내지 제14항 중 어느 것에 있어서, slice_subpic_id 파라미터의 값은 상기 비트스트림 표현이 상기 slice_subpic_id 파라미터를 제외한다는 판단에 기반하여 추론되는, 비디오 처리 방법.
16. 제15항에 있어서, 상기 slice_subpic_id 파라미터의 값은 상기 판단에 기반하여 0과 같은 것으로 추론되는, 비디오 처리 방법.
17. 제10항 내지 제16항 중 어느 것에 있어서, 상기 코딩된 유닛들을 포함하는 서브픽처들의 서브픽처 ID 값들은 상기 복수의 코딩된 유닛들을 포함하는 서브픽처들의 상기 서브픽처 인덱스 값들과 함께 단조적으로 증가하는, 비디오 처리 방법.
18. 제10항 내지 제16항 중 어느 것에 있어서, 상기 변환은 상기 비디오를 상기 비트스트림 표현으로 인코딩하는 것을 포함하는, 비디오 처리 방법.
19. 제10항 내지 제16항 중 어느 것에 있어서, 상기 변환은 상기 비트스트림 표현으로부터 상기 비디오를 디코딩하는 것을 포함하는, 비디오 처리 방법.
20. 제1항 내지 제19항 중 어느 하나 또는 그 이상에서의 방법을 실시하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
21. 프로그램 코드를 저장하는 컴퓨터 판독가능한 매체로, 상기 코드는, 실행될 경우, 프로세서로 하여금 제1항 내지 제19항 중 어느 하나 또는 그 이상에서의 방법을 실시하도록 하는, 컴퓨터 판독가능한 매체.
22. 상기 기술된 방법들 중 어느 것에 따라 생성된 코딩된 표현 또는 비트스트림 표현을 저장하는 컴퓨터 판독가능한 매체.
23. 비트스트림 표현을 저장하기 위한 비디오 처리 장치로서, 상기 비디오 처리 장치는 제1항 내지 제19항 중 어느 하나 또는 그 이상에서의 방법을 실시하도록 구성되는, 비디오 처리 장치.
본 특허문서가 다수의 특정한 세부사항을 포함하고 있지만, 이는 어떠한 발명의 범위나 청구할 사항의 범위에 대한 제한으로 이해되어서는 안 되며, 특정한 발명들의 특정한 실시예들에 고유할 수 있는 특징들의 설명으로서 이해되어야 한다. 별개의 실시예들의 맥락에서 본 특허 문서에서 설명된 소정의 특징들은 조합되어 단일 실시예로 구현될 수도 있다. 반대로, 단일 실시예의 맥락에서 설명한 다양한 특징들은 복수의 실시예에서 별개로 구현되거나 어떤 적당한 하위 조합으로도 구현 가능하다. 또한, 앞에서 특징들이 특정 조합에서 동작하는 것으로서 설명되고 그와 같이 애초에 청구되기까지 하였지만, 청구된 조합으로부터의 하나 또는 그 이상의 특징들은 일부 경우에 해당 조합으로부터 삭제될 수 있으며, 상기 청구된 조합은 하위 조합이나 하위 조합의 변형으로 될 수 있다.
마찬가지로, 동작들이 도면들에서 특정한 순서로 묘사되고 있지만, 이는 그러한 동작들이 바람직한 결과를 얻기 위해, 도시한 특정 순서나 순차적인 순서로 수행되어야 한다거나, 도시된 모든 동작들이 수행되어야 한다는 것을 의미하지 않는다. 더욱이, 본 특허 문서에 기재된 실시예에 있어서 다양한 시스템 구성요소들의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현들 및 예시들이 설명되었으며, 기타 구현, 개선 및 변형은 본 특허 문서에 설명되고 도시된 것에 기초하여 이루어질 수 있다.

Claims (23)

  1. 비디오 처리 방법으로서,
    하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 서브픽처들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 실시하는 단계를 포함하며,
    상기 비트스트림 표현은 코딩된 유닛들의 수를 포함하고,
    상기 규칙은 서브픽처 내의 코딩된 유닛들의 디코딩 순서가 상기 코딩된 유닛들의 서브픽처 레벨 슬라이스 인덱스 값들의 오름차순에 있음을 명시하는, 비디오 처리 방법.
  2. 제1항에 있어서,
    상기 코딩된 유닛들은 비디오 코딩층(VCL: video coded layer) 네트워크 추상층(NAL: network abstraction layer) 유닛들에 해당하는, 비디오 처리 방법.
  3. 제1항에 있어서,
    상기 규칙은 슬라이스 모드가 직사각형 슬라이스 모드인 경우에 적용되는, 비디오 처리 방법.
  4. 제1항에 있어서,
    서브픽처 레벨 슬라이스 인덱스 값은, 슬라이스의 슬라이스 어드레스를 명시하는, 슬라이스 헤더 내의 slice_address 신택스 요소의 값인, 비디오 처리 방법.
  5. 제1항 내지 제4항 중 어느 것에 있어서,
    slice_subpic_id 파라미터의 값은 상기 비트스트림 표현이 상기 slice_subpic_id 파라미터를 제외한다는 판단에 기반하여 추론되는, 비디오 처리 방법.
  6. 제5항에 있어서,
    상기 slice_subpic_id 파라미터는 상기 슬라이스를 포함하는 상기 서브픽처의 서브픽처 ID를 명시하는, 비디오 처리 방법.
  7. 제5항에 있어서,
    상기 slice_subpic_id 파라미터의 값은 상기 판단에 기반하여 0과 같은 것으로 추론되는, 비디오 처리 방법.
  8. 제1항 내지 제7항 중 어느 것에 있어서,
    상기 복수의 코딩된 유닛들을 포함하는 서브픽처들의 서브픽처 ID 값들은 상기 복수의 코딩된 유닛들을 포함하는 서브픽처들의 상기 서브픽처 인덱스 값들과 함께 단조적으로 증가하는, 비디오 처리 방법.
  9. 제5항 내지 제7항 중 어느 것에 있어서,
    제1 슬라이스 네트워크 추상층(NAL: network abstraction layer) 유닛 및 제2 슬라이스 NAL 유닛을 포함하는 픽처 내의 상기 코딩된 유닛들의 상기 디코딩 순서는, i) 상기 제1 슬라이스 NAL 유닛의 서브픽처 레벨 슬라이스 인덱스 값이 상기 제2 슬라이스 NAL 유닛의 서브픽처 레벨 슬라이스 인덱스 값 미만인 경우, 또는 ii) 상기 제1 슬라이스 NAL 유닛의 상기 서브픽처 레벨 슬라이스 인덱스 값이 상기 제2 슬라이스 NAL 유닛의 상기 서브픽처 레벨 슬라이스 인덱스 값과 같고 상기 제1 슬라이스 NAL 유닛의 slice_address 신택스 요소의 값이 상기 제2 슬라이스 NAL 유닛의 slice_address 신택스 요소의 값 미만인 경우, 상기 제1 슬라이스 NAL 유닛이 상기 제2 슬라이스 NAL 유닛에 선행하도록 명시되는, 비디오 처리 방법.
  10. 비디오 처리 방법으로서,
    하나 또는 그 이상의 슬라이스들을 포함하는 하나 또는 그 이상의 서브픽처들을 포함하는 하나 또는 그 이상의 픽처들을 포함하는 비디오와 상기 비디오의 비트스트림 표현 간의 변환을 규칙에 따라 실시하는 단계를 포함하며,
    상기 비트스트림 표현은 코딩된 유닛들의 수를 포함하고,
    상기 규칙은 코딩된 유닛들의 디코딩 순서가 상기 코딩된 유닛들을 포함하는 상기 하나 또는 그 이상의 서브픽처들로부터 서브픽처들의 서브픽처 관련 값들의 오름차순에 있음을 명시하는, 비디오 처리 방법.
  11. 제10항에 있어서,
    상기 코딩된 유닛들은 비디오 코딩층(VCL: video coded layer) 네트워크 추상층(NAL: network abstraction layer) 유닛들에 해당하는, 비디오 처리 방법.
  12. 제10항에 있어서,
    상기 규칙은 슬라이스 모드가 직사각형 슬라이스 모드인 경우에 적용되는, 비디오 처리 방법.
  13. 제10항에 있어서,
    상기 서브픽처 관련 값들은 상기 코딩된 유닛들을 포함하는 서브픽처들의 식별(ID) 값들에 해당하는, 비디오 처리 방법.
  14. 제10항에 있어서,
    상기 서브픽처 관련 값들은 상기 코딩된 유닛들을 포함하는 서브픽처들의 서브픽처 인덱스 값들에 해당하는, 비디오 처리 방법.
  15. 제10항 내지 제14항 중 어느 것에 있어서,
    slice_subpic_id 파라미터의 값은 상기 비트스트림 표현이 상기 slice_subpic_id 파라미터를 제외한다는 판단에 기반하여 추론되는, 비디오 처리 방법.
  16. 제15항에 있어서,
    상기 slice_subpic_id 파라미터의 값은 상기 판단에 기반하여 0과 같은 것으로 추론되는, 비디오 처리 방법.
  17. 제10항 내지 제16항 중 어느 것에 있어서,
    상기 코딩된 유닛들을 포함하는 서브픽처들의 서브픽처 ID 값들은 상기 복수의 코딩된 유닛들을 포함하는 서브픽처들의 상기 서브픽처 인덱스 값들과 함께 단조적으로 증가하는, 비디오 처리 방법.
  18. 제10항 내지 제16항 중 어느 것에 있어서,
    상기 변환은 상기 비디오를 상기 비트스트림 표현으로 인코딩하는 것을 포함하는, 비디오 처리 방법.
  19. 제10항 내지 제16항 중 어느 것에 있어서,
    상기 변환은 상기 비트스트림 표현으로부터 상기 비디오를 디코딩하는 것을 포함하는, 비디오 처리 방법.
  20. 제1항 내지 제19항 중 어느 하나 또는 그 이상에서의 방법을 실시하도록 구성된 프로세서를 포함하는 비디오 처리 장치.
  21. 프로그램 코드를 저장하는 컴퓨터 판독가능한 매체로, 상기 코드는, 실행될 경우, 프로세서로 하여금 제1항 내지 제19항 중 어느 하나 또는 그 이상에서의 방법을 실시하도록 하는, 컴퓨터 판독가능한 매체.
  22. 상기 기술된 방법들 중 어느 것에 따라 생성된 코딩된 표현 또는 비트스트림 표현을 저장하는 컴퓨터 판독가능한 매체.
  23. 비트스트림 표현을 저장하기 위한 비디오 처리 장치로서,
    상기 비디오 처리 장치는 제1항 내지 제19항 중 어느 하나 또는 그 이상에서의 방법을 실시하도록 구성되는, 비디오 처리 장치.
KR1020227020445A 2019-12-26 2020-12-21 코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들 KR20220114557A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962953812P 2019-12-26 2019-12-26
US62/953,812 2019-12-26
US201962954375P 2019-12-27 2019-12-27
US62/954,375 2019-12-27
PCT/US2020/066356 WO2021133721A1 (en) 2019-12-26 2020-12-21 Techniques for implementing a decoding order within a coded picture

Publications (1)

Publication Number Publication Date
KR20220114557A true KR20220114557A (ko) 2022-08-17

Family

ID=76575167

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227020445A KR20220114557A (ko) 2019-12-26 2020-12-21 코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들

Country Status (8)

Country Link
US (2) US11641477B2 (ko)
EP (1) EP4058935A4 (ko)
JP (2) JP7405990B2 (ko)
KR (1) KR20220114557A (ko)
CN (1) CN114930825A (ko)
BR (1) BR112022011719A2 (ko)
MX (1) MX2022007502A (ko)
WO (1) WO2021133721A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024053954A1 (ko) * 2022-09-05 2024-03-14 엘지전자 주식회사 종속 랜덤 액세스 포인트 픽처에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림 전송 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220114557A (ko) * 2019-12-26 2022-08-17 바이트댄스 아이엔씨 코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY134659A (en) 2002-11-06 2007-12-31 Nokia Corp Picture buffering for prediction references and display
US7403660B2 (en) * 2003-04-30 2008-07-22 Nokia Corporation Encoding picture arrangement parameter in picture bitstream
US20050254526A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Parameter sets update in streaming applications
US20070014346A1 (en) 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
WO2008112871A1 (en) * 2007-03-13 2008-09-18 Nec Laboratories America, Inc. Group mmse-dfd with rate (sinr) feedback and without pre-determined decoding order for reception on a cellular downlink
US20100049865A1 (en) 2008-04-16 2010-02-25 Nokia Corporation Decoding Order Recovery in Session Multiplexing
US9420307B2 (en) 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
US9264717B2 (en) 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
US9979959B2 (en) 2012-04-20 2018-05-22 Qualcomm Incorporated Video coding with enhanced support for stream adaptation and splicing
CN111031302A (zh) * 2012-04-25 2020-04-17 浙江大学 三维视频序列辅助信息的解码方法、编码方法及装置
US20130287093A1 (en) * 2012-04-25 2013-10-31 Nokia Corporation Method and apparatus for video coding
US9479774B2 (en) 2012-09-24 2016-10-25 Qualcomm Incorporated Buffering period and recovery point supplemental enhancement information messages
US8989508B2 (en) * 2012-09-28 2015-03-24 Sharp Kabushiki Kaisha Electronic device for signaling a sub-picture buffer parameter
US9374581B2 (en) 2013-01-07 2016-06-21 Qualcomm Incorporated Signaling of picture order count to timing information relations for video timing in video coding
US9398293B2 (en) 2013-01-07 2016-07-19 Qualcomm Incorporated Gradual decoding refresh with temporal scalability support in video coding
US9667959B2 (en) 2013-03-29 2017-05-30 Qualcomm Incorporated RTP payload format designs
KR102383006B1 (ko) * 2013-04-07 2022-04-04 돌비 인터네셔널 에이비 출력 계층 세트들에서의 시그널링 변경
US9350781B2 (en) 2013-05-31 2016-05-24 Qualcomm Incorporated Single network abstraction layer unit packets with decoding order number for video coding
KR101869882B1 (ko) 2013-10-11 2018-06-25 브이아이디 스케일, 인크. Hevc 확장을 위한 하이 레벨 구문
US10212435B2 (en) 2013-10-14 2019-02-19 Qualcomm Incorporated Device and method for scalable coding of video information
US20150103878A1 (en) 2013-10-14 2015-04-16 Qualcomm Incorporated Device and method for scalable coding of video information
US9854270B2 (en) 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information
US9894370B2 (en) * 2014-03-24 2018-02-13 Qualcomm Incorporated Generic use of HEVC SEI messages for multi-layer codecs
US9866851B2 (en) 2014-06-20 2018-01-09 Qualcomm Incorporated Full picture order count reset for multi-layer codecs
US9866852B2 (en) 2014-06-20 2018-01-09 Qualcomm Incorporated Video coding using end of sequence network abstraction layer units
US20150373343A1 (en) 2014-06-20 2015-12-24 Qualcomm Incorporated Representation format update in multi-layer codecs
US11418812B2 (en) 2015-02-11 2022-08-16 Qualcomm Incorporated Placement of parameter sets and sync samples in video coding
US10652631B2 (en) 2016-05-24 2020-05-12 Qualcomm Incorporated Sample entries and random access
WO2020044195A1 (en) 2018-08-26 2020-03-05 Beijing Bytedance Network Technology Co., Ltd. Multi-motion model based video coding and decoding
EP3928511A4 (en) 2019-03-11 2022-06-22 Huawei Technologies Co., Ltd. STEP-BY-STEP DECODE REFRESH IN VIDEO ENCODING
PL3939290T3 (pl) 2019-04-03 2024-03-11 Huawei Technologies Co., Ltd. Kodowanie wideo z przeplotem z obrazami wiodącymi
WO2020226991A1 (en) 2019-05-06 2020-11-12 Futurewei Technologies, Inc. Hypothetical reference decoder for gradual decoding refresh
BR112021026826A2 (pt) 2019-07-03 2022-02-22 Huawei Tech Co Ltd Tipos de imagens de referência em listas de imagens de referência
CN114827600B (zh) 2019-07-08 2023-09-01 华为技术有限公司 一种图像解码的方法及解码器
EP4011063A4 (en) 2019-08-09 2022-11-02 Huawei Technologies Co., Ltd. EXTERNAL DECODING REFRESH TO VIDEO CODING
BR112022005394A2 (pt) 2019-09-24 2022-06-21 Huawei Tech Co Ltd Simplificação de dependência de mensagem sei em codificação de vídeo
EP4078977A4 (en) * 2019-12-19 2023-12-27 Telefonaktiebolaget LM Ericsson (publ) ORDERING IMAGE SEGMENTS
KR20220114557A (ko) * 2019-12-26 2022-08-17 바이트댄스 아이엔씨 코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들
US11962936B2 (en) 2020-09-29 2024-04-16 Lemon Inc. Syntax for dependent random access point indication in video bitstreams

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024053954A1 (ko) * 2022-09-05 2024-03-14 엘지전자 주식회사 종속 랜덤 액세스 포인트 픽처에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림 전송 방법

Also Published As

Publication number Publication date
JP7405990B2 (ja) 2023-12-26
EP4058935A4 (en) 2023-01-18
JP2024023476A (ja) 2024-02-21
US20220312022A1 (en) 2022-09-29
MX2022007502A (es) 2022-07-04
US11641477B2 (en) 2023-05-02
EP4058935A1 (en) 2022-09-21
US20230239483A1 (en) 2023-07-27
WO2021133721A1 (en) 2021-07-01
BR112022011719A2 (pt) 2022-09-06
JP2023510110A (ja) 2023-03-13
CN114930825A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
US11812062B2 (en) Syntax for signaling video subpictures
US20230239483A1 (en) Techniques for implementing a decoding order within a coded picture
US20240080493A1 (en) Profile tier level parameter set in video coding
KR20220123650A (ko) 비디오 스트림들 내의 필러 데이터 유닛들의 프로세싱
CN114930837A (zh) 对子图片的帧间预测的限制
JP7400114B2 (ja) ビデオコーディングでのピクチャレベルスライスインデックスの使用
WO2021207055A1 (en) High level control of filtering in video coding
KR20230013053A (ko) 서브계층에 대한 숫자 제한
WO2021252461A1 (en) Constraints on supplemental enhancement information in video coding

Legal Events

Date Code Title Description
E902 Notification of reason for refusal