KR20230125722A - 비디오 코딩에서의 서브픽쳐 시그널링 - Google Patents
비디오 코딩에서의 서브픽쳐 시그널링 Download PDFInfo
- Publication number
- KR20230125722A KR20230125722A KR1020227019713A KR20227019713A KR20230125722A KR 20230125722 A KR20230125722 A KR 20230125722A KR 1020227019713 A KR1020227019713 A KR 1020227019713A KR 20227019713 A KR20227019713 A KR 20227019713A KR 20230125722 A KR20230125722 A KR 20230125722A
- Authority
- KR
- South Korea
- Prior art keywords
- video
- field
- picture
- unit
- bitstream
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/188—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
비디오 비트스트림 생성 및 파싱을 위한 방법, 장치 및 시스템이 기술된다. 하나의 예시적인 비디오 비트스트림 프로세싱 방법은, 하나의 예시적인 비디오 비트스트림 프로세싱 방법은 비디오 비트스트림에서 비디오 유닛 레벨의 헤더를, 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층(network abstraction layer) 비트 유닛들을 포함하는지 여부를 나타내는 제1 필드에 대해 파싱하는 단계, 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함한다는 결정에 기인하여, 상기 비디오 유닛이 인트라 랜덤 액세스 포인트(intra random access point)를 포함하는지 여부를 나타내는 상기 헤더의 제2 필드를 파싱하는 단계, 및 비디오를 생성하기 위해, 상기 제1 필드 및 상기 제2 필드에 기초하여 상기 비디오 비트스트림을 디코딩하는 단계를 포함한다.
Description
관련 출원에 대한 상호 참조
이 특허 문서는 2019년 12월 10일에 출원된 미국 특허출원 No. 16/709,907에 대해 우선권의 이익을 주장한다. 상기 언급된 특허 출원의 전체 내용은 본 출원의 개시내용의 일부로 참고로 포함된다.
기술 분야
이 특허 문서는 대체로 비디오 및 이미지 인코딩 및 디코딩에 관한 것이다.
지난 30년 동안, 디지털 비디오에서 일부 시각적 리던던시(redundancy) 및 정보를 제거함으로써 디지털 비디오를 압축된 포맷으로 나타내기 위한 다수의 다양한 비디오 코딩 표준이 공개되었다. 이 기간 동안 인코딩된 비디오 콘텐츠의 픽셀 해상도는 초기 MPEG-1 비디오 표준의 소스 입력 포맷(Source Input Format, SIF) 해상도로부터 현재 고려되고 있는 4K 또는 8K 비디오까지 꾸준히 상승했다. 따라서, 더 새로운 비디오 코딩 표준은 비디오의 증가된 해상도를 수용하기 위해 보다 효율적이고 유연한 코딩 기술을 채택해왔다.
이 특허 문서는 무엇보다도, 인코딩된 비디오 비트스트림(bitstream)에서 서브픽처들(subpictures)에 대한 시그널링 및 그에 따라 상기 인코딩된 비디오 비트스트림을 인코딩되지 않은 비디오로 디코딩하는 데 사용될 수 있는 기술을 사용하여 디지털 비디오를 인코딩 및 디코딩하는 기술을 설명한다.
하나의 예시적인 양태에서, 비트스트림 프로세싱 방법이 개시된다. 방법은 비디오 비트스트림에서 비디오 유닛(video unit) 레벨의 헤더를, 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층(network abstraction layer, NAL) 비트 유닛들을 포함하는지 여부를 나타내는 제1 필드에 대해 파싱(parsing)하는 단계; 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함한다는 결정에 기인하여, 상기 비디오 유닛이 인트라 랜덤 액세스 포인트(intra random access point)를 포함하는지 여부를 나타내는 상기 헤더의 제2 필드를 파싱하는 단계; 및 상기 제1 필드 및 상기 제2 필드에 기초하여, 상기 비디오 비트스트림을 디코딩하여 비디오를 생성하는 단계를 포함한다.
다른 예시적인 양태에서, 비디오 비트스트림을 파싱하는 방법이 개시된다. 방법은 하나 이상의 서브픽처(subpictures)를 포함하는 비디오 픽처를 디코딩하기 위해, 상기 비디오 픽처를 구성하는 하나 이상의 네트워크 추상화 계층(NAL) 유닛에 대한 타입 정보 및 상기 비디오 픽처가 인트라 랜덤 액세스 픽처인지 여부를 획득하기 위해, 신택스 구조(syntax structure)를 파싱하는 단계 및 상기 파싱에 기초하여 상기 하나 이상의 서브픽처를 재구성(reconstructing)하는 단계를 포함한다.
다른 예시적인 양태에서, 비디오를 인코딩하는 방법이 개시된다. 방법은 비디오 비트스트림에서 비디오 유닛 레벨의 헤더에, 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함하는지 여부를 나타내는 제1 필드를 포함시키는 단계; 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함한다는 결정에 기인하여, 상기 비디오 유닛이 인트라 랜덤 액세스 포인트를 포함하는지 여부를 나타내는 제2 필드를 상기 헤더에 추가로 포함시키는 단계; 및 상기 비디오를 인코딩하여 비디오 비트스트림을 생성하는 단계를 포함한다.
또 다른 예시적인 양태에서, 프로세서를 포함하는 비디오 프로세싱 장치가 개시된다. 프로세서는 본 명세서에 설명된 인코딩 또는 디코딩 방법을 구현하도록 구성된다.
또 다른 예시적인 양태에서, 컴퓨터 프로그램 저장 매체가 개시된다. 컴퓨터 프로그램 저장 매체는 저장 매체 상에 저장된 코드를 포함한다. 상기 코드는 프로세서에 의해 실행될 때 상기 프로세서가 설명된 방법을 구현하게 한다.
이들, 및 기타 양태들이 본 문서에 설명되어 있다.
도 1은 다수의 서브픽처들로 분할된 비디오 픽처의 예를 도시한다.
도 2a 내지 도 2b는 다수의 서브픽처들을 포함하는 비디오 픽처를 인코딩 또는 디코딩할 때 예시적인 프로세싱 순서를 도시한다.
도 3a는 코딩 트리 유닛(coding tree unit, CTU)들, 타일들, 슬라이스들 및 서브픽처들로 분할된 비디오 픽처의 예를 도시한다.
도 3b는 24개의 서브픽처 및 24개의 슬라이스를 갖는 비디오 픽처를 도시한다.
도 4는 예시적인 비디오 인코더의 블록도를 도시한다.
도 5는 예시적인 비디오 디코더의 블록도를 도시한다.
도 6은 비디오 시스템의 예를 도시한다.
도 7은 비디오 프로세싱 하드웨어 플랫폼의 예를 도시한다.
도 8은 예시적인 비디오 프로세싱 방법에 대한 흐름도이다.
도 9는 예시적인 비디오 프로세싱의 방법에 대한 흐름도이다.
도 10은 예시적인 비트스트림을 파싱하는 방법에 대한 흐름도이다.
도 11은 예시적인 비디오 인코딩 방법에 대한 흐름도이다.
도 2a 내지 도 2b는 다수의 서브픽처들을 포함하는 비디오 픽처를 인코딩 또는 디코딩할 때 예시적인 프로세싱 순서를 도시한다.
도 3a는 코딩 트리 유닛(coding tree unit, CTU)들, 타일들, 슬라이스들 및 서브픽처들로 분할된 비디오 픽처의 예를 도시한다.
도 3b는 24개의 서브픽처 및 24개의 슬라이스를 갖는 비디오 픽처를 도시한다.
도 4는 예시적인 비디오 인코더의 블록도를 도시한다.
도 5는 예시적인 비디오 디코더의 블록도를 도시한다.
도 6은 비디오 시스템의 예를 도시한다.
도 7은 비디오 프로세싱 하드웨어 플랫폼의 예를 도시한다.
도 8은 예시적인 비디오 프로세싱 방법에 대한 흐름도이다.
도 9는 예시적인 비디오 프로세싱의 방법에 대한 흐름도이다.
도 10은 예시적인 비트스트림을 파싱하는 방법에 대한 흐름도이다.
도 11은 예시적인 비디오 인코딩 방법에 대한 흐름도이다.
본 문서에서 섹션 표제는 가독성을 향상시키기 위해서만 사용된 것이며 각 섹션에 개시된 실시예들 및 기술들의 범위를 해당 섹션으로만 한정하지 않는다. 일부 특징들은 H.264/AVC(advanced video coding), H.265/HEVC(high efficiency video coding) 및 H.266 VVC(Versatile Video Coding) 표준들의 예를 사용하여 설명된다. 그러나, 개시된 기술의 적용가능성은 H.264/AVC 또는 H.265/HEVC 또는 H.266/VVC 시스템만으로 한정되지 않는다.
본 개시는 비디오 프로세싱 및 통신에 관한 것으로, 특히 비트스트림을 생성하기 위해 디지털 비디오 또는 픽처를 인코딩하기 위한 방법 및 장치, 디지털 비디오 또는 픽처를 재구성하기 위해 비트스트림을 디코딩하기 위한 방법 및 장치, 서브-비트스트림을 형성하기 위해 비트스트림을 추출하기 위한 방법 및 장치에 관한 것이다.
간략한 논의
디지털 비디오 및 픽처를 압축하는 기술은 비디오 및 픽처의 리던던시를 제거하기 위해 픽셀 샘플들 간의 상관관계(correlation) 특징을 이용한다. 인코더는 픽처를 다수의 유닛들을 포함하는 하나 이상의 영역으로 분할할 수 있다. 동일한 픽처의 다른 영역의 데이터를 참조하지 않고 한 영역이 디코딩될 수 있거나 적어도 이 영역에 대응하는 신택스 요소들이 정확하게 파싱될 수 있도록, 그러한 영역은 픽처 내에서 예측 의존성(prediction dependencies)을 깨뜨린다. 비디오 코딩 표준들에 도입된 이러한 영역은 데이터 손실 후 재동기화(resynchronization), 병렬 프로세싱, 관심 영역 코딩 및 스트리밍, 패킷화 전송, 뷰포트(view-port) 종속 스트리밍 등을 용이하게 하기 위한 것이다. 예를 들어 H.264/AVC 표준에서 이러한 영역의 예는 슬라이스(slice) 및 슬라이스 그룹(slice group)일 수 있다. H.265/HEVC 표준에서 이러한 영역의 예는 슬라이스 및 타일(tile)일 수 있다.
차세대 비디오 코딩 표준의 개발에서, MPEG(Moving Picture Experts Group)은 차세대 비디오 코덱은 압축된 비트스트림에서 원하는 뷰포트(viewport)를 효율적으로 추출할 수 있게 해야 한다고 요구하였다. 또한, 4K, 8K 및 더 높은 해상도 비디오를 포함하는 애플리케이션에서, 시청자(viewer)는 단말 디바이스들에 렌더링할 뷰포트를 선택하도록 허용될 수도 있으므로, 원래(original) 해상도에 대응하는 비트스트림으로부터 서브-비트스트림의 효율적인 추출을 가능하게 하는 것이 유용하다.
H.265/HEVC 표준은 현재 공개된 비디오 코딩 표준들 중에서 가장 높은 코딩 효율을 제공하기 때문에, 현재 단계에서는 전술한 비디오 서비스를 전개함에 있어서 H.265/HEVC이 코덱(codec)으로 선택된다. H.265/HEVC 표준은 슬라이스와 타일을 정의한다. 하나의 픽처는 하나 이상의 타일과 슬라이스로 분할될(partitioned) 수 있다. H.265 표준에 따르면, 적합성 요구사항은 각각의 슬라이스 및 타일에 대해 다음의 조건들 중 하나 또는 모두가 충족되는 것이다.
- 슬라이스의 모든 CTU들은 동일한 타일에 속한다.
- 타일의 모든 CTU들은 동일한 슬라이스에 속한다.
타일 경계들에서 루프 필터링 동작(loop filtering operations)을 제한함으로써(예를 들어, loop_filter_across_tiles_enabled_flag는 PPS에서 0으로 설정됨), 픽처 내의 타일은 상기 타일 외부의 상기 픽처의 다른 영역을 참조하지 않고 독립적으로 디코딩될 수 있다. 동일한 타일 분할이 코딩된 비디오 시퀀스(coded video sequence, CVS) 내의 모든 픽처들에 적용된다고 가정한다. 또한, 인코더가 인터 예측(inter prediction) 코딩을 위해 하나 이상의 타일로 구성된 영역의 검색 범위를 하나 이상의 참조 픽처에서 상기 타일의 코로케이티드(collocated) 영역으로 제한하는 경우, 디코더는 공간적으로(spatially) 상기 영역을 포함하는 현재의 디코딩 픽처에서 그리고 시간적으로(temporally) 참조 픽처에서, 상기 영역 외부의 다른 부분들을 참조하지 않고 상기 영역을 디코딩할 것이다. 이러한 영역은 모션 제약 타일 세트(Motion Constrained Tile Set, MCTS)라고 지칭될 수 있다.
HEVC 표준 및 VVC(Versatile Video Coding) 표준(VVC 버전 1 표준화 프로세스는 2020년 7월에 완료됨)에서, 타일 및 슬라이스의 개념에 추가하여 서브픽처라고 하는 또 다른 픽처 파티션(partition)이 또한 포함된다. 일반적으로 서브픽처들, 타일들 및 슬라이스들은 전체 픽처를 커버할 비중첩(non-overlapping) 영역들로 비디오 픽처 파티션을 형성할 것이다. 서브픽처들, 타일들 및 슬라이스들은 다소 독립적인 개념이므로, 그것들 3개 사이에는 중첩이 발생할 수 있다. 예를 들어, 서브픽처는 다수의 직사각형 슬라이스들에 의해 형성될 수 있고; 타일 또한 다수의 직사각형 슬라이스들을 포함할 수 있고; 슬라이스는 또한 다수의 타일들 등을 포함할 수 있다.
가상 현실(Virtual Reality, VR) 애플리케이션을 지원하기 위해서 VVC 표준이 필요하기 때문에, 일부 대용량(large sized) 360도 비디오가 지원되고 코딩되어야 할 수 있다. 이러한 대용량 비디오의 경우, 비디오 코딩에서 360도 비디오 픽처들에 파티션들을 사용하는 것이 예상된다. 사용할 수 있는 하나의 잠재적인 기술은 "서브픽처" 파티션들이다. 단일의 픽처에 모두 속하는 다양한 서브픽처들이 서로 상이한 NAL 유닛 타입들로 코딩될 수 있다. 게다가, 서브픽처들은 다양한 랜덤 액세스 동작을 지원하기 위해 함께 그룹화될 수 있다.
1. 하나의 예시적인 실시예
JVET-P2001vD(2019년 11월 14일), 현재의 VVC(Versatile Video Coding) 사양(spec)은 노멀(normal) 비디오 픽처 파티션으로 서브픽처들, 슬라이스들 및 타일들의 개념을 지원한다. 섹션 6.3.1 "픽처들의 서브픽처들, 슬라이스들, 및 타일들로의 분할(Partitioning of pictures into subpictures, slices, and tiles)"에서 "서브픽처는 픽처의 직사각형 영역을 집합적으로 커버하는 하나 이상의 슬라이스들을 포함한다."고 명시되어 있다.
현재 VVC 사양에서, 서브픽처들의 구조는 시퀀스 파라미터 세트(Sequence Parameter Set, SPS)에서 다음과 같이 기술되어 있다:
[표 1]
위의 SPS에서 기울임꼴 텍스트는 서브픽처들이 정의되는 방식을 표시한다: 일반적으로 모든 파티션들은 CTU(기본 유닛)를 기반으로 하며, 좌측 상단 X, Y 위치에 더하여(plus) 서브픽처 너비 및 높이 정보를 지정함으로써, 서브픽처들이 효율적으로 정의될 수 있다.
현재의 서브픽처 설계로, 도 1의 서브픽처들의 파티션(각각의 색상(colored) 블록이 서브픽처와 연관됨)이 지원될 수 있다. 도 1의 모든 서브픽처들의 프로세싱 순서는 여러가지 방법이 있을 수 있으며, 핵심 포인트는 한 서브픽처가 인코딩될 때, 이 서브픽처의 전체의 좌측 경계와 상단 경계는 이용가능(available)해야 한다는 것이다(예를 들어, 그렇지 않으면 상기 경계 픽셀들이 이미 프로세싱된(디코딩된) 다른 서브픽처들에 속하거나, 그렇지 않으면 상기 경계가 픽처 경계임).
이들 10개의 서브픽처들에 대한 가능한 2개의 프로세싱 순서가 도 2a 및 도 2b에 제공된다.
2. 하나의 예시적인 실시예
현재의 VVC 사양에서, 서브픽처 구조는 시퀀스 파라미터 세트(SPS)에서 정의될 수 있다. 표준 텍스트 VVC Draft 7(2019년 11월)에는, 하나 이상의 슬라이스가 각각의 서브픽처 내부에 위치될 수 있다고 분명하게 명시되어 있다. 각각의 슬라이스에 대해, 그것의 비트스트림은 NAL 유닛을 형성하고 NAL 유닛 타입(명칭(name) 및 값(value))을 운반할 것이다. VVC 표준을 사용하여 랜덤 액세스 기능(random access function)을 더 잘 지원하기 위해, "mixed_irap_nalu_types_in_pic_flag"라는 새로운 신택스(syntax) 요소가 다음과 같이 픽처 파라미터 세트(Picture Parameter Set, PPS)에 추가될 있다(표 2에서 강조를 위해 기울임꼴로 표시):
[표 2]
그리고 시맨틱스(semantics)는 다음과 같을 것이다:
1과 동일한 mixed_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처가 하나보다 많은 VCL NAL 유닛을 갖고, VCL NAL 유닛들은 동일한 값의 nal_unit_type을 갖지 않으며, 픽처는 IRAP(인트라 랜덤 액세스 픽처)가 아님을 지정한다.
0과 동일한 mixed_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처가 하나 이상의 VCL NAL 유닛을 갖고, PPS를 참조하는 각각의 픽처의 VCL NAL 유닛들은 동일한 값의 nal_unit_type을 갖는 것을 지정한다.
위의 텍스트(VVC Draft 7 JVET-P2001에서)는 변경되지 않는다. 그러나 다음을 추가한다:
1과 동일한 mixed_irap_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처가 하나보다 많은 VCL NAL 유닛을 갖고, VCL NAL 유닛들은 동일한 값의 nal_unit_type을 갖지 않으며, 픽처는 IDR_W_RADL부터 CRA_NUT까지를 포함하는 범위에서 혼합(mixed) nal_unit_types을 갖는다. 0과 동일한 mixed_irap_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처가 하나 이상의 VCL NAL 유닛을 갖고, PPS를 참조하는 각각의 픽처의 VCL NAL 유닛들이 동일한 값의 nal_unit_type을 갖지 않고, 픽처가 IRAP 픽처가 아님을 지정한다.
PPS에 이 플래그를 추가하는 핵심 포인트는 애플리케이션의 픽처에서 혼합 IRAP nalu_types를 허용하는 방법을 지원하는 것이다. VVC 사양에서 비트스트림 제약 조건으로 표준 텍스트를 더 추가함으로써 픽처에서 혼합 IRAP nalu_types를 지원하는 것과 유사한 목표를 달성할 수도 있음이 이해될 것이다.
본 문서에서 설명된 기술들은 비디오 인코딩 또는 비디오 디코딩 동작의 성능을 현저히 향상시키기 위해 비디오 인코더 장치 또는 비디오 디코더 장치 내에 편입될 수 있다는 것이 이해될 것이다. 예를 들어, 가상 현실 경험 또는 게임과 같은 일부 비디오 애플리케이션들은 만족스러운 사용자 경험을 제공하기 위해 비디오의 실시간(또는 실시간보다 빠른) 인코딩 또는 디코딩이 필요하다. 개시된 기술은 본 명세서에 설명된 바와 같이 픽처-영역 기반 코딩 또는 디코딩 기술을 사용함으로써 이러한 애플리케이션의 성능을 개선한다. 예를 들어, 사용자의 뷰포인트(viewpoint)에 기반하여 비디오 프레임의 전체보다 적은 부분(less-than-all portion)을 코딩하거나 디코딩하는 것은 사용자가 볼 비디오만 선택적으로 코딩하는 것을 허용한다. 더욱이, 직사각형 비디오 프레임에 픽처 영역들을 생성하기 위한 픽처 블록들의 재편성(reorganizing)은 모션 검색, 변환(transformation) 및 양자화(quantization)와 같은 표준 직사각형-프레임 기반 비디오 코딩 툴들의 사용을 허용한다.
도 3a는 CTU들, 타일들 및 서브픽처들 또는 슬라이스들을 갖는 비디오 픽처의 예를 도시한다. 도시된 픽처에는 18개의 타일, 24개의 서브픽처 및 24개의 슬라이스(20x12=240개 CTU)가 있다.
3. 현재의 VVC 기술을 사용하는 실시예를 설명하기 위한 추가 정보
이전에 설명된 표 1 및 표 2의 신택스 예들에 부가하여, 일부 실시예를 구현하기 위해 다음의 텍스트가 현재 버전의 VVC 코덱에 추가될 수 있다.
JVET-P2001(VVC Draft 7)에는, 픽처 파라미터 세트(PPS)에서 "mixed_nalu_types_in_pic_flag"로 명명된 신택스 요소에 의존하는 비디오 픽처에 대한 혼합 NAL 유닛 타입들을 나타내는 설계가 있다. 이 컨트리뷰션에서는, 비디오 픽처에서 혼합(mixed) irap nalu 타입들 및 유일한(only) irap nalu 타입들을 나타내기 위해 또 하나의 신택스 요소를 "mixed_irap_nalu_types_in_pic_flag"로서 추가하는 것을 제안하였다. 추가된 표시는 특히 서브픽처 파티션 애플리케이션들을 포함하는, 더 넓은 범위의 애플리케이션을 지원할 것이다. 추가된 신택스 요소는 또한 비디오 픽처에서 다소 독립적으로 코딩된 서브픽처들에 관한 유연한 랜덤 액세스 포인트 표시를 위한 목적에 도움이 될 것이다.
4. 도입 및 문제점 설명
4.1 VVC 사양 JVET-P2001에서 NAL 유닛 타입들에 대한 관련 기존 설계:
아래 정보는 JVET-P2001 [1]에서 발췌한 것으로, 주요 정보는 밑줄로 강조 표시되어 있다.
[표 3]
VVC 사양의 표 5 -- NAL 유닛 타입 코드 및 NAL 유닛 타입 클래스
랜덤 액세스 조건과 관련하여, 일부 주요 용어들이 VVC 사양에 정의되어 있다. JVET-P2001 사양에서, 3 "정의(Definitions)" 에서:
클린 랜덤 액세스(clean random access, CRA) 픽처: 각각의 VCL NAL 유닛이 CRA_NUT와 동일한 nal_unit_type을 갖는 IRAP 픽처.
참고 - CRA 픽처는 디코딩 프로세스에서 인터 예측을 위해 자신 이외에 어떠한 픽처도 참조하지 않으며, 디코딩 순서에서 비트스트림의 첫 번째 픽처일 수 있거나 비트스트림에서 나중에 나타날 수 있다. CRA 픽처는 연관된 RADL 또는 RASL 픽처들을 가질 수 있다. CRA 픽처가 1과 동일한 NoIncorrectPicOutputFlag를 가질 때, 연관된 RASL 픽처들은 디코더에 의해 출력되지 않는다. 그것들은 비트스트림에 존재하지 않는 픽처들에 대한 참조를 포함할 수 있기 때문에, 디코딩가능하지 않을 수 있기 때문이다.
3.54 점진적 디코딩 리프레시(gradual decoding refresh, GDR) 픽처: 각각의 VCL NAL 유닛이 GDR_NUT와 동일한 nal_unit_type을 갖는 픽처.
순간 디코딩 리프레시(instantaneous decoding refresh, IDR) 픽처: 각각의 VCL NAL 유닛이 IDR_W_RADL 또는 IDR_N_LP와 동일한 nal_unit_type을 갖는 IRAP 픽처.
참고 - IDR 픽처는 디코딩 프로세스에서 인터 예측을 위해 자신 이외에 어떠한 픽처도 참조하지 않으며, 디코딩 순서에서 비트스트림의 첫 번째 픽처일 수 있거나 비트스트림에서 나중에 나타날 수 있다. 각각의 IDR 픽처는 디코딩 순서에서 CVS의 첫 번째 픽처이다. 각각의 VCL NAL 유닛에 대해 IDR 픽처가 IDR_W_RADL과 동일한 nal_unit_type을 가질 때, 그것은 연관된 RADL 픽처들을 가질 수 있다. 각각의 VCL NAL 유닛에 대해 IDR 픽처가 IDR_N_LP와 동일한 nal_unit_type을 가질 때, 그것은 어떠한 연관된 리딩(leading) 픽처도 갖지 않는다. IDR 픽처는 연관된 RASL 픽처를 갖지 않는다.
인트라 랜덤 액세스 포인트(intra random access point, IRAP) 픽처: 모든 VCL NAL 유닛들이 IDR_W_RADL부터 CRA_NUT까지를 포함하는 범위에서 동일한 값의 nal_unit_type을 갖는 코딩된 픽처 .
참고 1 - IRAP 픽처는 디코딩 프로세스에서 인터 예측을 위해 자신 이외에 어떠한 픽처도 참조하지 않으며, CRA 픽처 또는 IDR 픽처일 수 있다. 디코딩 순서에서 비트스트림의 첫 번째 픽처는 IRAP 또는 GDR 픽처이어야 한다. 참조될 필요가 있을 때 필요한 파라미터 세트들이 이용가능하면, 디코딩 순서에서 CVS의 IRAP 픽처 및 모든 후속 비-RASL 픽처들은 디코딩 순서에서 IRAP 픽처에 선행하는 임의의 픽처들의 디코딩 프로세스를 수행하지 않고 정확하게 디코딩될 수 있다.
참고 2 - IRAP 픽처들에 대한 mixed_nalu_types_in_pic_flag의 값은 0과 동일하다. mixed_nalu_types_in_pic_flag가 한 픽처에 대해 0이고, 상기 픽처의 임의의 슬라이스가 IDR_W_RADL부터 CRA_NUT까지를 포함하는 범위에서 nal_unit_type을 가질 때, 상기 픽처의 모든 다른 슬라이스들은 동일한 값의 nal_unit_type을 가지며, 상기 픽처는 IRAP 픽처인 것으로 알려진다.
한 픽처에 대한 혼합 타입의 NAL 유닛 타입의 표시의 경우, 표 4에 도시된 바와 같이 플래그(신택스 요소) "mixed_nalu_types_in_pic_flag"는 PPS(Picture Parameter Set)에 위치되었다.
[표 4]
VVC 사양에서, 7.4.3.4 시맨틱스(Semantics)에서:
1과 동일한 mixed_nalu_types_in_pic_flag 는 PPS를 참조하는 각각의 픽처가 하나보다 많은 VCL NAL 유닛을 갖고, VCL NAL 유닛들은 동일한 값의 nal_unit_type을 갖지 않으며, 픽처가 IRAP 픽처가 아님을 지정한다. 0과 동일한 mixed_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처가 하나 이상의 VCL NAL 유닛들을 갖고, PPS를 참조하는 각각의 픽처의 VCL NAL 유닛들이 동일한 값의 nal_unit_type을 갖는 것을 지정한다.
no_mixed_nalu_types_in_pic_constraint_flag가 1과 같을 때, mixed_nalu_types_in_pic_flag의 값은 0과 같아야 한다.
IDR_W_RADL부터 CRA_NUT까지를 포함하는 범위에서 nal_unit_type 값 nalUnitTypeA를 갖는 각각의 슬라이스에 대해, 또 다른 값의 nal_unit_type을 갖는 하나 이상의 슬라이스를 또한 포함하는 픽처 picA에서(즉, 픽처 picA에 대해 mixed_nalu_types_in_pic_flag의 값이 1과 같음), 다음이 적용된다:
슬라이스는 대응하는 subpic_treated_as_pic_flag[i]의 값이 1과 동일한 서브픽처 subpicA에 속해야 한다.
슬라이스는 nal_unit_type이 nalUnitTypeA와 동일하지 않은 VCL NAL 유닛들을 포함하는 picA의 서브픽처에 속하지 않아야 한다.
디코딩 순서에서 CLVS의 다음 PU들 모두에 대해, subpicA의 슬라이스의 RefPicList[0]도 RefPicList[1]도 활성 엔트리의 디코딩 순서에서 picA 에 선행하는 어떠한 픽처도 포함하지 않아야 한다.
플래그 " no_mixed_nalu_types_in_pic_constraint_flag "는 다음과 같이 general_constraint_info() 안에 위치되었다:
[표 5]
관련 시맨틱스:
1과 동일한 no_mixed_nalu_types_in_pic_constraint_flag 는 mixed_nalu_types_in_pic_flag가 0과 같아야 한다는 비트스트림 적합성에 대한 요구사항임을 지정한다. 0과 동일한 no_mixed_nalu_types_in_pic_constraint_flag는 이러한 제약을 부과하지 않는다.
VVC 사양에서 7.4.2.2 "NAL 유닛 헤더 시맨틱스"에서는 다음과 같이 명시한다:
임의의 특정 픽처의 VCL NAL 유닛들에 대해, 다음이 적용된다:
- mixed_nalu_types_in_pic_flag가 0과 같으면, nal_unit_type의 값은 픽처의 모든 코딩된 슬라이스 NAL 유닛들에 대해 동일해야 한다. 픽처 또는 PU는 상기 픽처 또는 PU의 코딩된 슬라이스 NAL 유닛들과 동일한 NAL 유닛 타입을 갖는 것으로 지칭된다.
- 그렇지 않으면(mixed_nalu_types_in_pic_flag가 1임), VCL NAL 유닛들 중 하나 이상은 모두 IDR_W_RADL에서 CRA_NUT까지를 포함하는 범위에서 특정 값의 nal_unit_type을 가져야 하며, 다른 VCL NAL 유닛들은 모두 TRAIL_NUT에서 RSV_VCL_6까지를 포함하는 범위에서, 또는 GRA_NUT과 동일한, 특정 값의 nal_unit_type을 가져야 한다.
위 단락에 오타가 있음에 유의한다. "GRA_NUT"이라는 단어는 정확하지 않다. 위의 표 5에는 "GRA_NUT"에 대한 항목이 없다. 현재 VVC 사양에 대한 수정사항이 JVET-Q004에서 제공되었다: GRA_NUT를 GDR_NUT으로 교체함. 상기 오타는 볼드체 밑줄로 강조 표시되어 있다.
4.2 VVC 사양 JVET-P2001를 이용한 서브픽처 처리:
도 3b에 도시된 예시적인 비디오 픽처에는, 18개의 타일, 24개의 서브픽처 및 24개의 슬라이스(20x12=240개 CTU)가 있다.
위의 "도 3b"의 파티션들을 사용하여 모든 픽처를 코딩한 하나의 잠재적인 사용 사례에서, 우리는 시작하기 위해 서브픽처들(5, 6, 9, 10)(사각형 영역)만을 디스플레이하도록 선택하였다. 타임라인을 따라 하나의 랜덤 액세스 포인트에서, 원래의 5, 6, 9, 10 대신 서브픽처들(6, 7, 10, 11)을 디스플레이하도록 장면 변경(scene change)(잘라내기(cut))을 수행하고자 한다. 현재 VVC 사양(JVET-P2001)의 정확한 제약조건을 따른다면, 해당 랜덤 액세스 포인트에서, 위의 도면에서 1부터 24까지 표시된 모든 서브픽처들이 정확히 동일한 IRAP NAL 유닛 타입을 갖도록 할 것이다(예를 들어, 모든 24개의 서브픽처들에 대해 IDR_N_LP, 또는 모든 24개의 서브픽처들에 대해 CRA_NUT). 혼합 NAL 유닛 타입들을 가지도록 하고자 하면, IRAP 서브픽처들/픽처들만 가지는 것을 보장할 수 없다.
5. 제안된 솔루션
표 2에 나타낸 바와 같이 PPS에 "mixed_irap_nalu_types_in_pic_flag" 플래그를 하나 더 추가하는 것이 제안된다.
변경되지 않은 시맨틱스는 다음과 같다:
1과 동일한 mixed_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처가 하나보다 많은 VCL NAL 유닛을 갖고, VCL NAL 유닛들은 동일한 값의 nal_unit_type을 갖지 않으며, 픽처가 IRAP 픽처가 아님을 지정한다. 0과 동일한 mixed_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처가 하나 이상의 VCL NAL 유닛들을 갖고, PPS를 참조하는 각각의 픽처의 VCL NAL 유닛들은 동일한 값의 nal_unit_type을 갖는 것을 지정한다.
추가된 새로운 시맨틱스는 다음과 같다:
1과 동일한 mixed_irap_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처가 하나보다 많은 VCL NAL 유닛을 갖고, VCL NAL 유닛들은 동일한 값의 nal_unit_type를 갖지 않으며, 픽처가 IDR_W_RADL부터 CRA_NUT까지를 포함하는 범위에서 혼합된 nal_unit_types를 가짐을 지정한다. 0과 동일한 mixed_irap_nalu_types_in_pic_flag는 PPS를 참조하는 각각의 픽처가 하나 이상의 VCL NAL 유닛들을 갖고, PPS를 참조하는 각각의 픽처의 VCL NAL 유닛들이 동일한 값의 nal_unit_type을 갖지 않고, 픽처가 IRAP 픽처가 아님을 지정한다.
"mixed_irap_nalu_types_in_pic_flag"가 추가되어, VVC 사양은 혼합 랜덤 액세스 NAL 유닛 타입들 표시에 대한 향상된 지원을 제공할 수 있다.
DVB 표준과 같은 애플리케이션 표준에 대해, 상기 추가된 플래그는 랜덤 액세스 표시 지원을 위한 보다 유연한 표시 메커니즘을 제공할 것이다.
도 4는 적어도 예시적인 비디오 인코더 또는 픽처 인코더를 포함하는 제1 예시적인 디바이스를 도시하는 도면이다.
획득 유닛(1001)은 비디오 및 픽처를 캡처한다. 획득 유닛(1001)은 자연 장면의 비디오 또는 픽처를 촬영하기 위한 하나 이상의 카메라를 구비할 수 있다. 선택적으로, 획득 유닛(1001)은 깊이 비디오(depth video) 또는 깊이 픽처(depth picture)를 얻기 위한 카메라로 구현될 수 있다. 선택적으로, 획득 유닛(1001)은 적외선 카메라의 구성요소를 포함할 수 있다. 선택적으로, 획득 유닛(1001)은 원격 감지 카메라로 구성될 수 있다. 획득 유닛(1001)은 또한 방사선을 사용하여 대상을 스캐닝함으로써 비디오 또는 픽처를 생성하는 장치 또는 디바이스일 수 있다.
선택적으로, 획득 유닛(1001)은 비디오 또는 픽처에 대한 프리-프로세싱(pre-processing), 예를 들어 자동 화이트 밸런스(automatic white balance), 자동 포커싱(automatic focusing), 자동 노출(automatic exposure), 역광 보정(backlight compensation), 샤프닝(sharpening), 노이즈 제거(denoising), 스티칭(stitching), 업샘플링(up-sampling)/다운 샘플링(down sampling), 프레임-레이트 변환(frame-rate conversion), 가상 뷰 합성(virtual view synthesis) 등을 수행할 수 있다.
획득 유닛(1001)은 또한 다른 디바이스 또는 프로세싱 유닛으로부터 비디오 또는 픽처를 수신할 수 있다. 예를 들어, 획득 유닛(1001)은 트랜스코더(transcoder)의 부품 유닛일 수 있다. 트랜스코더는 하나 이상의 디코딩된(또는 부분적으로 디코딩된) 픽처를 획득 유닛(1001)에 공급한다. 다른 예는 획득 유닛(1001)이 다른 디바이스로부터 그 디바이스에 대한 데이터 링크를 통해 비디오 또는 픽처를 얻는 것이다.
획득 유닛(1001)은 비디오 및 픽처 외의 다른 미디어 정보, 예를 들어 오디오 신호를 캡처하는 데 사용될 수도 있다는 것에 유의한다. 획득 유닛(1001)은 또한 인공 정보, 예를 들어, 문자, 텍스트, 컴퓨터-생성 비디오 또는 픽처 등을 수신할 수 있다.
인코더(1002)는 예시적인 인코더의 구현이다. 인코더(1002)의 입력은 획득 유닛(1001)에 의해 출력된 비디오 또는 픽처이다. 인코더(1002)는 비디오 또는 픽처를 인코딩하고 생성된 비디오 또는 픽처 비트스트림을 출력한다.
저장/전송 유닛(1003)은 인코더(1002)로부터 비디오 또는 픽처 비트스트림을 수신하고, 상기 비트스트림에 대해 시스템 계층 프로세싱을 수행한다. 예를 들어, 저장/전송 유닛(1003)은, 예를 들면, MPEG-2 TS, ISOBMFF, DASH, MMT 등과 같은 트랜스포트 표준(transport standard) 및 미디어 파일 포맷에 따라 비트스트림을 캡슐화한다. 저장/전송 유닛(1003)은 캡슐화 후 획득된 트랜스포트 스트림(transport stream) 또는 미디어 파일을 제1 예시적인 디바이스의 메모리 또는 디스크에 저장하거나, 트랜스포트 스트림 또는 미디어 파일을 유선 또는 무선 네트워크를 통해 전송한다.
인코더(1002)로부터의 비디오 또는 픽처 비트스트림 외에도, 저장/전송 유닛(1003)의 입력은 또한 오디오, 텍스트, 이미지, 그래픽 등을 포함할 수 있음에 유의한다. 저장/전송 유닛(1003)은 이러한 다양한 타입의 미디어 비트스트림을 캡슐화함으로써 트랜스포트 또는 미디어 파일을 생성한다.
본 실시예에서 설명된 제1 예시적인 디바이스는 비디오 통신의 애플리케이션, 예를 들어, 휴대폰, 컴퓨터, 미디어 서버, 휴대용 모바일 단말, 디지털 카메라, 방송 디바이스, 콘텐츠 배포 네트워크(content distribution network, CDN) 디바이스, 감시카메라, 비디오 컨퍼런스 디바이스 등에서 비디오(또는 픽처) 비트스트림을 생성하거나 프로세싱할 수 있는 디바이스일 수 있다.
도 5는 적어도 예시적인 비디오 디코더 또는 픽처 디코더를 포함하는 예시적인 제2 디바이스를 도시하는 도면이다.
수신 유닛(1101)은 유선 또는 무선 네트워크로부터 비트스트림을 획득함으로써, 전자 디바이스의 메모리 또는 디스크를 판독함으로써, 또는 데이터 링크를 통해 다른 디바이스로부터 데이터를 페치(fetching)함으로써 비디오 또는 픽처 비트스트림을 수신한다.
수신 유닛(1101)의 입력은 또한 비디오 또는 픽처 비트스트림을 포함하는 트랜스포트 스트림 또는 미디어 파일을 포함할 수 있다. 수신 유닛(1101)은 트랜스포트 또는 미디어 파일 포맷의 사양에 따라 트랜스포트 스트림 또는 미디어 파일로부터 비디오 또는 픽처 비트스트림을 추출한다.
수신 유닛(1101)은 비디오 또는 픽처 비트스트림을 출력하여 디코더(1102)로 전달한다. 비디오 또는 픽처 비트스트림 외에도, 수신 유닛(1101)의 출력은 또한 오디오 비트스트림, 문자, 텍스트, 이미지, 그래픽 등을 포함할 수 있음에 유의한다. 제2 예시적인 디바이스에서 수신 유닛(1101)은 상기 출력을 대응하는 프로세싱 유닛들로 전달한다. 예를 들어, 수신 유닛(1101)은 출력 오디오 비트스트림을 이 디바이스의 오디오 디코더에 전달한다.
디코더(1102)는 예시적인 디코더의 구현이다. 디코더(1102)의 입력은 수신 유닛(1101)에 의해 출력된 비디오 또는 픽처 비트스트림이다. 디코더(1102)는 비디오 또는 픽처 비트스트림을 디코딩하고 디코딩된 비디오 또는 픽처를 출력한다.
렌더링 유닛(1103)은 디코더(1102)로부터 디코딩된 비디오 또는 픽처를 수신한다. 렌더링 유닛(1103)은 디코딩된 비디오 또는 픽처를 시청자(viewer)에게 제공한다. 렌더링 유닛(1103)은 예를 들어 스크린과 같이, 제2 예시적인 디바이스의 구성요소일 수 있다. 렌더링 유닛(1103)은 또한, 예를 들어 프로젝터, 모니터, TV 세트 등과 같이, 제2 예시 디바이스에 대한 데이터 링크가 있는, 제2 예시 디바이스와 별개의 디바이스일 수 있다. 선택적으로, 렌더링(1103)은 디코딩된 비디오 또는 픽처에 대해, 그것을 시청자에게 제시하기 전에, 예를 들어 자동 화이트 밸런스, 자동 포커싱, 자동 노출, 역광 보정, 샤프닝, 노이즈 제거, 스티칭, 업샘플링/다운 샘플링, 프레임-레이트 변환, 가상 뷰 합성 등과 같은 포스트-프로세싱(post-processing)을 수행한다.
디코딩된 비디오 또는 픽처 외에도, 렌더링 유닛(1103)의 입력은 제2 예시적인 디바이스의 하나 이상의 유닛으로부터의 다른 미디어 데이터, 예를 들어, 오디오, 문자, 텍스트, 이미지, 그래픽 등일 수 있음에 유의한다. 렌더링 유닛(1103)의 입력은 또한 인공 데이터, 예를 들어 원격 교육 애플리케이션에서 주의를 끌기 위해 현지 교사에 의해 슬라이드 상에 그려진 선 및 마크를 포함할 수 있다. 렌더링 유닛(1103)은 다양한 타입의 미디어를 함께 구성한 다음 시청자에게 그 구성을 제시한다.
이 실시예에 설명된 제2 예시적인 디바이스는 비디오 통신의 애플리케이션, 예를 들어, 휴대폰, 컴퓨터, 셋톱 박스, TV 세트, HMD, 모니터, 미디어 서버, 휴대용 모바일 단말, 디지털 카메라, 방송 디바이스, 콘텐츠 배포 네트워크(CDN) 디바이스, 감시, 비디오 컨퍼런스 디바이스 등에서 비디오(또는 픽처) 비트스트림을 디코딩하거나 프로세싱할 수 있는 디바이스일 수 있다.
도 6은 도 4의 제1 예시적인 디바이스 및 도 5의 제2 예시적인 디바이스를 포함하는 전자 시스템을 나타내는 도면이다.
서비스 디바이스(1201)는 도 4의 제1 예시적인 디바이스이다.
저장 매체/트랜스포트 네트워크(transport networks)(1202)는 디바이스 또는 전자 시스템의 내부 메모리 자원, 데이터 링크를 통해 액세스 가능한 외부 메모리 자원, 유선 및/또는 무선 네트워크로 구성된 데이터 전송 네트워크(data transmission network)를 포함할 수 있다. 저장 매체/트랜스포트 네트워크(1202)는 서비스 디바이스(1201)의 저장/전송 유닛(1003)을 위한 저장 자원 또는 데이터 전송 네트워크를 제공한다.
목적지 디바이스(1203)는 도 5의 제2 예시적인 디바이스이다. 목적지 디바이스(1203)의 수신 유닛(1101)은 저장 매체/트랜스포트 네트워크(1202)로부터 비디오 또는 픽처 비트스트림, 비디오 또는 픽처 비트스트림을 포함하는 트랜스포트 스트림, 또는 비디오 또는 픽처 비트스트림을 포함하는 미디어 파일을 수신한다.
이 실시예에서 설명된 전자 시스템은 비디오 통신의 애플리케이션, 예를 들어, 휴대폰, 컴퓨터, IPTV 시스템, OTT 시스템, 인터넷상의 멀티미디어 시스템, 디지털 TV 방송 시스템, 비디오 감시 시스템, 휴대용 모바일 단말, 디지털 카메라, 비디오 컨퍼런스 시스템 등에서 비디오(또는 픽처)를 생성, 저장 또는 전송, 및 디코딩할 수 있는 디바이스 또는 시스템일 수 있다.
도 7은 본 문서에 설명된 인코더 측 또는 디코더 측 기술을 구현하는 데 사용될 수 있는 예시적인 장치(1400)를 도시한다. 장치(1400)는 인코더 측 또는 디코더 측 기술 또는 둘 모두를 수행하도록 구성될 수 있는 프로세서(1402)를 포함한다. 장치(1400)는 또한 프로세서 실행가능 명령어를 저장하고 비디오 비트스트림 및/또는 디스플레이 데이터를 저장하기 위한 메모리(도시되지 않음)를 포함할 수 있다. 장치(1400)는 변환(transform) 회로, 산술(arithmetic) 코딩/디코딩 회로, 룩업 테이블(look-up table) 기반 데이터 코딩 기술 등과 같은 비디오 프로세싱 회로부(도시되지 않음)를 포함할 수 있다. 비디오 프로세싱 회로부는 프로세서에 부분적으로 포함될 수 있으며, 및/또는 부분적으로 그래픽 프로세서, 필드 프로그래머블 게이트 어레이(FPGA) 등과 같은 다른 전용 회로에 포함될 수 있다.
도 8은 비디오 비트스트림 프로세싱을 위한 예시적인 방법(800)에 대한 흐름도이다. 방법(800)은 본 문서에서 설명된 비디오 디코더에 의해 구현될 수도 있다. 방법(800)(및 다음에 설명되는 방법(900))은 도 7을 참조하여 설명된 것과 같은 하드웨어 플랫폼을 사용하여 구현될 수 있다.
방법(800)은 비디오 비트스트림에서 비디오 유닛 레벨의 헤더를, 상기 비디오 유닛이 다수의 타입들을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함하는지 여부를 나타내는 제1 필드에 대해 파싱하는 단계(802)를 포함한다. 일부 실시예에서, 비디오 유닛은 (예를 들어, 도 3에 도시된 바와 같은) 비디오 픽처일 수 있다.
방법(800)은 상기 비디오 유닛이 다수의 타입들을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함한다는 결정에 기인하여, 상기 비디오 유닛이 인트라 랜덤 액세스 포인트를 포함하는지 여부를 나타내는 상기 헤더의 제2 필드를 추가로 파싱하는 단계(804)를 포함한다.
방법(800)은 비디오를 생성하기 위해 상기 제1 필드 및 상기 제2 필드에 기초하여 상기 비디오 비트스트림을 디코딩하는 단계(806)를 포함한다.
일부 실시예에서, 제1 및 제2 필드는 모두 단일 비트 필드들(single bit fields)일 수 있다. 이러한 실시예의 이점은 제2 비트에 의해 전달되는 추가 정보를 도입할 때 가장 낮은 양의 오버헤드(단일 비트)를 도입하면서도, 레거시 표준(legacy standards)과의 하위 호환성(backward compatibility)을 유지하는 것이다.
일부 실시예에서, 제1 비트 및 제2 비트는 헤더 내의 상이한 위치에 포함될 수 있다. 대안적으로, 일부 실시예에서, 상기 2개의 비트는 서로 연속적일 수 있다. 어떤 경우에는, 제2 필드가 헤더에 포함되는지 여부가 제1 필드의 값에 의존할 수 있다. 예를 들어, 제1 필드의 0의 값은 제2 필드가 포함되지 않음을 나타낼 수 있다.
도 9는 비디오 비트스트림 파싱에 대한 다른 예시적인 방법(900)의 흐름도를 도시한다.
방법(900)은, 902에서, 하나 이상의 서브픽처를 포함하는 비디오 픽처를 디코딩하기 위해, 상기 비디오 픽처를 구성하는 하나 이상의 네트워크 추상화 계층(NAL) 유닛들에 대한 타입 정보 및 상기 비디오 픽처가 인트라 랜덤 액세스 픽처(Intra Random Access Picture)인지 여부를 획득하기 위해, 신택스 구조를 파싱하는 단계를 포함한다.
방법(900)은, 904에서, 상기 파싱에 기초하여 상기 하나 이상의 서브픽처를 재구성하는 단계를 포함한다.
일부 실시예에서, 신택스 구조는 하나 이상의 NAL 유닛들이 다수의 NAL 유닛들을 포함하는지 여부를 나타내는 제1 필드를 포함할 수 있다.
일부 실시예에서, 신택스 구조는 제1 필드 및 그 존재가 상기 제1 필드의 값에 의존하는 선택적인 제2 필드를 포함할 수 있고, 상기 제1 필드는 혼합된 타입들의 NAL 유닛들이 상기 하나 이상의 NAL 유닛에 존재하는지 여부를 나타낸다. 예를 들어, 앞서 설명된 바와 같이, 제1 및 제2 필드는 비트스트림 내에서 연속적으로 위치되는 단일 비트 필드들일 수 있다.
도 10은 비디오 픽처에서 서브픽처들의 존재를 시그널링하거나 유추하기 위해 사용될 수 있는 예시적인 흐름도(1000)를 도시한다. 이러한 서브픽처들은, 예를 들어 3D 픽처 정보를 전달하는 데 사용될 수 있다.
1002에서, 제1 플래그의 값에 대한 검사가 이루어진다. 이 값은 픽처가 모두 동일한 슬라이스 타입을 갖는 NAL 슬라이스들을 포함한다는 것을 나타내기 위해 특정 값, 예를 들어 0으로 설정될 수 있다(1004). 예를 들어, 이 플래그는 현재의 픽처가 독립적으로 디코딩가능한 서브픽처들이 포함되지 않은 "전통적인(traditional)" 픽처임을 나타내기 위해 사용될 수 있다. 모든 NAL 슬라이스들이 동일한 타입을 갖는다는 결정 시에(1004), 헤더는 추가 정보를 위해 추가로 파싱될 수 있다(1006).
1002에서의 검사가 제1 플래그가 제2 값(예를 들어, 1)을 갖는다는 것을 나타내면, 다수의 NAL 유닛들이 있고 이러한 NAL 유닛들이 가능하게는 상이한 값들을 가질 수 있다고 유추된다. 1010에서 제2 플래그의 값에 대해 검사가 수행될 수 있다. 상기 값이 특정 값(예를 들어, 0)이면 모든 NAL 유닛들이 동일한 값을 갖는다고 결정된다(1012). 상기 결정 후, 헤더는 추가 정보를 위해 파싱될 수 있다(1006). 1010에서의 검사가 제2 플래그가 다른 특정 값을 갖는다는 것을 나타내면, NAL 유닛들은 서로 상이한 타입들을 갖지만 픽처는 인트라 랜덤 액세스 픽처가 아닌 것으로 유추된다(1014).
도 10에 도시된 논리 흐름으로부터, 픽처 헤더의 기존 신택스 구조에 단일 비트를 도입하는 것이 비디오 픽처 내의 서브픽처들의 존재에 대한 시그널링을 가능하게 한다는 것이 이해될 것이다. 상기 시그널링은 슬라이스들 및/또는 타일들 및/또는 CTU들에 대한 현재 존재하는 시그널링과 양립될 수 있다.
일부 실시예에서, 비디오를 인코딩하는 방법(예를 들어, 도 11에 도시된 방법(1100))은, 비디오 비트스트림에서 비디오 유닛 레벨의 헤더에, 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함하는지 여부를 나타내는 제1 필드를 포함시키는 단계(1102); 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함한다는 결정에 기인하여, 상기 비디오 유닛이 인트라 랜덤 액세스 포인트를 포함하는지 여부를 나타내는 상기 헤더의 제2 필드를 선택적으로 더 포함시키는 단계(1104); 및 비디오 비트스트림을 생성하기 위해 상기 비디오를 인코딩하는 단계(1106)를 포함한다. 인코딩은, 예를 들어, 상기 비트스트림 내에 비디오 데이터를 나타내기 위한 다양한 인트라(intra), 인터(inter) 및 기타 기술들을 사용할 수 있다.
일부 실시예에서, 상기 비디오 유닛은 비디오 픽처이다.
이전에 설명된 바와 같이, 일부 실시예에서, 제1 필드 및 제2 필드는 1-비트 필드들이다. 그러나 본 문서 전체에 걸쳐 이들 필드에 대해 다른 길이도 가능하다.
제2 필드는 비디오 비트스트림에서 제1 필드 바로 다음에 위치될 수 있다.
일부 실시예에서, 인코딩(1106)은 다수의 서브픽처들을 비디오 유닛으로 인코딩하는 것을 포함하고, 각각의 서브픽처는 독립적인 네트워크 추상화 계층 유닛 타입을 갖는다.
일부 실시예에서, 비디오 인코딩 방법은 하나 이상의 서브픽처를 포함하는 비디오 픽처를 인코딩하기 위해 상기 비디오 픽처를 구성하는 하나 이상의 네트워크 추상화 계층(NAL) 유닛에 대한 타입 정보 및 상기 비디오 픽처가 인트라 랜덤 액세스 픽처인지 여부를 포함하는 신택스 구조를 생성하는 단계; 및 상기 신택스 구조에 기초하여 상기 하나 이상의 서브픽처를 인코딩하는 단계를 포함할 수 있다.
위에 개시된 인코딩 방법에서, 일부 실시예에서, 신택스 구조는 상기 하나 이상의 NAL 유닛이 다수의 NAL 유닛들을 포함할 수 있는지 여부를 나타내는 제1 필드를 포함할 수 있다.
일부 실시예에서, 신택스 구조는 제1 필드 및 그 존재가 상기 제1 필드의 값에 의존하는 선택적인 제2 필드를 포함하고, 상기 제1 필드는 혼합된 타입들의 NAL 유닛들이 상기 하나 이상의 NAL 유닛들에 존재하는지 여부를 나타낸다.
일부 실시예에서, 제1 필드 및 제2 필드는 비디오 비트스트림에서 서로 바로 옆에 위치되는 단일 비트 플래그들이다.
일부 실시예에서, 예를 들어, 도 7에 도시된 바와 같은 비디오 인코더는, 위에 설명된 인코딩 방법을 구현할 수 있다. 일부 실시예에서, 예를 들어, 도 7에 도시된 바와 같은 비디오 디코더는, 본 명세서에 설명된 비디오 비트스트림 파싱 방법을 구현할 수 있다. 비디오 디코더는, 예를 들어 비디오를 하나의 비트스트림 표현에서 다른 비트스트림 표현으로 변경하는 트랜스코더(transcoder)일 수 있다.
일부 실시예에서, 컴퓨터 프로그램 제품은 본 명세서 및 청구범위에 기재된 방법을 구현하기 위한 프로세서 실행가능 코드를 포함하는 컴퓨터 판독가능 매체를 포함할 수 있다.
6. 산업상 이용 가능성
위의 설명으로부터, 3D 픽처에 대해 상이한 뷰 데이터를 포함하는 서브픽처들과 같이 반드시 인트라 랜덤 액세스 포인트들일 필요는 없는 서브픽처들에 대한 시그널링을 가능하게 하는 기술이 개시되어 있다는 것을 알 수 있다. 개시된 기술을 사용하여, 비디오 인코더 또는 비디오 디코더에 대한 일부 실시예들은 서브픽처의 운반(carriage)을 지원할 수 있도록, 신택스 구조에 최소한의 비트 수가 부가된 픽처 헤더를 사용할 수 있는 한편, 동시에 슬라이스들, CTU들 등에 대한 시그널링과의 하위 호환성을 유지할 수 있다.
본 문서에 설명된 개시 및 기타 실시예, 모듈 및 기능적 동작(functional operations)은 이 문서에 개시된 구조들 및 그들의 구조적 등가물을 포함하는, 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 상기 개시 및 기타 실시예는 하나 이상의 컴퓨터 프로그램 제품, 즉, 데이터 프로세싱 장치에 의해 실행되거나 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 판독가능 매체 상에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 판독가능 매체는 기계 판독가능 스토리지 디바이스, 기계 판독가능 스토리지 기판, 메모리 디바이스, 기계 판독가능 전파되는 신호에 영향을 미치는 물질의 구성, 또는 이들 중 하나 이상의 조합일 수 있다. 용어 "데이터 프로세싱 장치"는 예를 들어 프로그래머블 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하여 데이터를 프로세싱하기 위한 모든 장치, 디바이스 및 기계를 포함한다. 장치는 하드웨어에 추가하여 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파되는 신호는 인공적으로 생성된 신호, 예를 들어 기계-생성된 전기, 광학, 또는 전자기 신호이고, 이는 적절한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드로도 알려짐)은 컴파일된(compiled) 언어 또는 해석된 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형(stand-alone) 프로그램 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 유닛을 포함하는 임의의 형태로 이용될 수 있다. 컴퓨터 프로그램이 반드시 파일 시스템에서 파일에 해당하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어(markup language) 문서에 저장된 하나 이상의 스크립트)를 유지하는 파일의 일부에, 해당 프로그램 전용 단일 파일에, 또는 다수의 조정된(coordinated) 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램들, 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 있거나 여러 사이트에 분산되어 있고 통신 네트워크로 상호 연결된 다수의 컴퓨터들에서 실행되도록 배포될 수 있다.
이 문서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행하도록 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 FPGA 또는 ASIC과 같은 특수 목적 논리 회로로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서는, 예를 들어 범용 및 특수 목적 마이크로프로세서 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 읽기전용 메모리 또는 랜덤-액세스 메모리 또는 둘 모두로부터 명령과 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령을 수행하기 위한 프로세서와, 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스, 예를 들어 자기, 광자기(magneto optical) 디스크, 또는 광 디스크를 포함하거나, 이들로부터 데이터를 수신하거나 이들로 데이터를 전송하거나, 또는 둘 모두를 수행하도록 작동가능하게 연결될 것이다. 그러나 컴퓨터는 그러한 디바이스들을 구비할 필요는 없다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는, 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 내부 하드 디스크 또는 착탈식 디스크와 같은 자기 디스크; 광자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하여, 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 이에 통합될 수 있다.
이 특허 문서는 많은 구체적인 내용을 포함하지만, 이는 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로 해석되어서는 안 되며, 오히려 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 별개의 실시예들의 맥락에서 이 특허 문서에 설명된 특정 특징들은 단일의 실시예에서 조합하여 구현될 수도 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징들이 다수의 실시예들에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수도 있다. 더욱이, 특징들은 특정 조합으로 동작하는 것으로 위에서 설명될 수 있고 초기에 그렇게 청구될 수도 있지만, 청구된 조합으로부터 하나 이상의 특징이 어떤 경우에는 그 조합에서 삭제될 수 있고, 상기 청구된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 도면에서 특정 순서로 도시되어 있지만, 이는 이러한 동작들이 도시된 특정 순서로 또는 순차적인 순서로 수행되어야 하거나, 또는 예시된 모든 동작들이 원하는 결과를 달성하기 위해 수행되어야 함을 요구하는 것으로 이해되어서는 안된다. 더욱이, 이 특허 문서에 설명된 실시예들에서 다양한 시스템 구성요소들의 분리가 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현들 및 예들이 설명되어 있으며, 이 특허 문서에 설명되고 예시된 것을 기반으로 다른 구현, 개선 및 변형이 이루어질 수 있다.
Claims (19)
- 비디오 비트스트림 프로세싱 방법으로서,
비디오 비트스트림에서 비디오 유닛(video unit) 레벨의 헤더를, 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층(network abstraction layer) 비트 유닛들을 포함하는지 여부를 나타내는 제1 필드에 대해 파싱(parsing)하는 단계;
상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함한다는 결정에 기인하여, 상기 비디오 유닛이 인트라 랜덤 액세스 포인트(intra random access point)를 포함하는지 여부를 나타내는 상기 헤더의 제2 필드를 파싱하는 단계; 및
비디오를 생성하기 위해, 상기 제1 필드 및 상기 제2 필드에 기초하여 상기 비디오 비트스트림을 디코딩하는 단계를 포함하는, 비디오 비트스트림 프로세싱 방법. - 제1 항에 있어서,
상기 비디오 유닛은 비디오 픽처(video picture)인 것인, 비디오 비트스트림 프로세싱 방법. - 제1 항 또는 제2 항에 있어서,
상기 제1 필드 및 상기 제2 필드는 1-비트 필드인 것인, 비디오 비트스트림 프로세싱 방법. - 제1 항 내지 제3 항 중 어느 한 항에 있어서,
상기 제2 필드는 상기 비디오 비트스트림에서 상기 제1 필드의 바로 다음에 위치되는 것인, 비디오 비트스트림 프로세싱 방법. - 제1 항 내지 제4 항 중 어느 한 항에 있어서,
상기 비디오 비트스트림을 디코딩하는 단계는 상기 비디오 유닛에 포함된 다수의 서브픽처들(subpictures)을 디코딩하는 것을 포함하고, 각각의 서브픽처는 독립적인 네트워크 추상화 계층 유닛 타입을 가지는, 비디오 비트스트림 프로세싱 방법. - 비디오 인코딩 방법으로서,
비디오 비트스트림에서 비디오 유닛 레벨의 헤더에, 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함하는지 여부를 나타내는 제1 필드를 포함시키는 단계;
상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함한다는 결정에 기인하여, 상기 비디오 유닛이 인트라 랜덤 액세스 포인트를 포함하는지 여부를 나타내는 상기 헤더의 제2 필드를 추가로 포함시키는 단계; 및
비디오 비트스트림을 생성하기 위해 상기 비디오를 인코딩하는 단계를 포함하는, 비디오 인코딩 방법. - 제6 항에 있어서,
상기 비디오 유닛은 비디오 픽처인 것인, 비디오 인코딩 방법. - 제6 항 또는 제7 항에 있어서,
상기 제1 필드 및 상기 제2 필드는 1-비트 필드인 것인, 비디오 인코딩 방법. - 제6 항 내지 제8 항 중 어느 한 항에 있어서,
상기 제2 필드는 상기 비디오 비트스트림에서 상기 제1 필드의 바로 다음에 위치되는 것인, 비디오 인코딩 방법. - 제6 항 내지 제9 항 중 어느 한 항에 있어서,
상기 인코딩하는 단계는 다수의 서브픽처들을 상기 비디오 유닛으로 인코딩하는 것을 포함하고, 각각의 서브픽처는 독립적인 네트워크 추상화 계층 유닛 타입을 가지는, 비디오 인코딩 방법. - 비디오 비트스트림 프로세싱 방법을 수행하도록 구성된 프로세서를 포함하는 비디오 디코딩 장치로서, 상기 비디오 비트스트림 프로세싱 방법은,
하나 이상의 서브픽처를 포함하는 비디오 픽처를 디코딩하기 위해, 상기 비디오 픽처를 구성하는 하나 이상의 네트워크 추상화 계층(network abstraction layer, NAL) 유닛에 대한 타입 정보 및 상기 비디오 픽처가 인트라 랜덤 액세스 픽처인지 여부를 획득하기 위해 신택스 구조(syntax structure)를 파싱하는 단계; 및
상기 파싱에 기초하여 상기 하나 이상의 서브픽처를 재구성하는 단계를 포함하는, 비디오 디코딩 장치. - 제11 항에 있어서,
상기 신택스 구조는 상기 하나 이상의 NAL 유닛들이 다수의 NAL 유닛들을 포함하는지 여부를 나타내는 제1 필드를 포함하는, 비디오 디코딩 장치. - 제11 항 또는 제12 항에 있어서,
상기 신택스 구조는 제1 필드 및 그 존재가 상기 제1 필드의 값에 의존하는 선택적인 제2 필드를 포함하고, 상기 제1 필드는 혼합된 타입의 NAL 유닛들이 상기 하나 이상의 NAL 유닛에 존재하는지 여부를 나타내는, 비디오 디코딩 장치. - 제13 항에 있어서,
상기 제1 필드 및 상기 제2 필드는 상기 비디오 비트스트림에서 서로 바로 옆에 위치되는 단일 비트 플래그들인 것인, 비디오 디코딩 장치. - 코드가 저장된 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 코드는 프로세서에 의해 실행될 때 상기 프로세서가 비디오 파싱(video parsing)을 구현하게 하고, 상기 비디오 파싱은,
비디오 비트스트림에서 비디오 유닛 레벨의 헤더를, 상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함하는지 여부를 나타내는 제1 필드에 대해 파싱하는 단계;
상기 비디오 유닛이 다수의 타입을 갖는 다수의 네트워크 추상화 계층 비트 유닛들을 포함한다는 결정에 기인하여, 상기 비디오 유닛이 인트라 랜덤 액세스 포인트를 포함하는지 여부를 나타내는 상기 헤더의 제2 필드를 파싱하는 단계; 및
비디오를 생성하기 위해, 상기 제1 필드 및 상기 제2 필드에 기초하여 상기 비디오 비트스트림을 디코딩하는 단계를 포함하는 것인, 컴퓨터 프로그램 제품. - 제15 항에 있어서,
상기 비디오 유닛은 비디오 픽처인 것인, 컴퓨터 프로그램 제품. - 제15 항 또는 제16 항에 있어서,
상기 제1 필드 및 상기 제2 필드는 1-비트 필드들인 것인, 컴퓨터 프로그램 제품. - 제15 항 내지 제17 항 중 어느 한 항에 있어서,
상기 제2 필드는 상기 비디오 비트스트림에서 상기 제1 필드의 바로 다음에 위치되는 것인, 컴퓨터 프로그램 제품. - 제15 항 내지 제18 항 중 어느 한 항에 있어서,
상기 비디오 비트스트림을 디코딩하는 단계는, 상기 비디오 유닛에 포함된 다수의 서브픽처들을 디코딩하는 것을 포함하고, 각각의 서브픽처는 독립적인 네트워크 추상화 계층 유닛 타입을 가지는, 컴퓨터 프로그램 제품.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/709,907 US11375232B2 (en) | 2019-12-10 | 2019-12-10 | Sub picture signaling in video coding |
US16/709,907 | 2019-12-10 | ||
PCT/EP2020/085238 WO2021116157A1 (en) | 2019-12-10 | 2020-12-09 | Subpicture signaling in video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230125722A true KR20230125722A (ko) | 2023-08-29 |
Family
ID=73835566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227019713A KR20230125722A (ko) | 2019-12-10 | 2020-12-09 | 비디오 코딩에서의 서브픽쳐 시그널링 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11375232B2 (ko) |
EP (1) | EP4074051A1 (ko) |
JP (1) | JP2023512749A (ko) |
KR (1) | KR20230125722A (ko) |
CN (1) | CN114846800A (ko) |
WO (1) | WO2021116157A1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PT3925212T (pt) * | 2019-03-11 | 2024-03-01 | Huawei Tech Co Ltd | Imagens com tipos de unidade nal mista |
CN116723326A (zh) | 2019-07-08 | 2023-09-08 | 华为技术有限公司 | 视频译码中的混合nal单元图像约束 |
WO2021132962A1 (ko) * | 2019-12-23 | 2021-07-01 | 엘지전자 주식회사 | Nal 유닛 타입 기반 영상 또는 비디오 코딩 |
JP7481477B2 (ja) | 2020-03-20 | 2024-05-10 | バイトダンス インコーポレイテッド | 映像コーディングにおけるサブピクチャ情報の使用 |
US11451811B2 (en) | 2020-04-05 | 2022-09-20 | Tencent America LLC | Method and apparatus for video coding |
CN115462070A (zh) | 2020-04-20 | 2022-12-09 | 字节跳动有限公司 | 对参考图片列表的约束 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9756355B2 (en) | 2014-06-20 | 2017-09-05 | Qualcomm Incorporated | Value ranges for syntax elements in video coding |
CN116723326A (zh) * | 2019-07-08 | 2023-09-08 | 华为技术有限公司 | 视频译码中的混合nal单元图像约束 |
-
2019
- 2019-12-10 US US16/709,907 patent/US11375232B2/en active Active
-
2020
- 2020-12-09 JP JP2022535593A patent/JP2023512749A/ja active Pending
- 2020-12-09 WO PCT/EP2020/085238 patent/WO2021116157A1/en unknown
- 2020-12-09 CN CN202080085790.1A patent/CN114846800A/zh active Pending
- 2020-12-09 KR KR1020227019713A patent/KR20230125722A/ko unknown
- 2020-12-09 EP EP20824487.1A patent/EP4074051A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023512749A (ja) | 2023-03-29 |
US20210176491A1 (en) | 2021-06-10 |
WO2021116157A1 (en) | 2021-06-17 |
US11375232B2 (en) | 2022-06-28 |
CN114846800A (zh) | 2022-08-02 |
EP4074051A1 (en) | 2022-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20230125722A (ko) | 비디오 코딩에서의 서브픽쳐 시그널링 | |
TWI603609B (zh) | 簡化視訊隨機存取之限制及單元類型 | |
JP7515593B2 (ja) | ビデオサブピクチャ内のビデオスライス高さの指示 | |
JP7472285B2 (ja) | ビデオコーディングにおけるサブピクチャ信号伝達 | |
US20210409779A1 (en) | Parameter set signaling in digital video | |
US11589047B2 (en) | Video encoding and decoding methods and apparatus | |
CN109587478B (zh) | 一种媒体信息的处理方法及装置 | |
US20220417499A1 (en) | Image processing apparatus and method | |
KR20220123280A (ko) | 3차원 콘텐츠 프로세싱 방법들 및 장치 | |
US20210400295A1 (en) | Null tile coding in video coding | |
KR20240050413A (ko) | 비디오 처리를 위한 방법, 장치 및 매체 | |
CN115550719A (zh) | 信令通知预选的目的 |