KR20220053014A - 스트림 병합을 위한 설정 가능한 nal 및 슬라이스 코드 포인트 메커니즘 - Google Patents

스트림 병합을 위한 설정 가능한 nal 및 슬라이스 코드 포인트 메커니즘 Download PDF

Info

Publication number
KR20220053014A
KR20220053014A KR1020227010567A KR20227010567A KR20220053014A KR 20220053014 A KR20220053014 A KR 20220053014A KR 1020227010567 A KR1020227010567 A KR 1020227010567A KR 20227010567 A KR20227010567 A KR 20227010567A KR 20220053014 A KR20220053014 A KR 20220053014A
Authority
KR
South Korea
Prior art keywords
coding unit
video
data stream
type
subset
Prior art date
Application number
KR1020227010567A
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 KR20220053014A publication Critical patent/KR20220053014A/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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

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

Abstract

각 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로부터 각 화면을 디코딩함으로써 비디오 데이터 스트림으로부터 복수의 화면들을 포함하는 비디오를 디코딩하고; 비디오 데이터 스트림의 매개변수 집합 유닛으로부터 대체 코딩 유닛 타입을 독출하며; 각 소정의 비디오 코딩 유닛에 대해, 각 비디오 유닛으로부터 코딩 유닛 타입 식별자(100)를 독출하고, 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102)으로부터 또는 코딩 유닛 타입들의 제2 부분집합(104)으로부터 코딩 유닛 타입을 식별하는지 여부를 검사하여, 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면, 개별 비디오 코딩 유닛이 대체 코딩 유닛 타입인 것으로 간주하고; 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면, 개별 비디오 코딩 유닛이 코딩 유닛 식별자로 식별된 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입인 것으로 간주하도록 구성되는 비디오 디코더.

Description

스트림 병합을 위한 설정 가능한 NAL 및 슬라이스 코드 포인트 메커니즘
본 발명은 비디오 데이터 스트림의 비디오 코딩 유닛의 코딩 유닛 타입과 특성들을 표시하기 위한 데이터 구조에 관한 것이다.
화면의 슬라이스(slice)들을 반송하는(carrying) NAL 유닛들의 NAL유닛 헤더(header)들에 화면 타입(picture type)들이 표시되는 것이 알려져 있다. 이에 따라 NAL 유닛 페이로드(payload)의 필수적 특성은 앱(응용 프로그램; application)들에 아주 높은 수준(level)에서 사용 가능해야 한다는 것이다.
화면 타입들은 다음을 포함하는데:
- 랜덤 액세스 포인트(random access point; RAP) 화면들로, 디코더가 여기서 코딩된 비디오 시퀀스(coded video sequence)의 디코딩을 시작할 수 있다. 이들은 인트라 랜덤 액세스 화면들(Intra Random Access Pictures; IRAP)로 지칭된다. 3가지 IRAP 화면 타입들이 존재하는데; 즉각 디코더 갱신(Instantaneous Decoder Refresh; IDR), 클린 랜덤 액세스(Clean Random Access; CRA), 및 깨진 링크 액세스(Broken Link Access; BLA)들이다. 코딩된 비디오 시퀀스의 디코딩 프로세스는 언제나 IRAP에서 시작된다.
- 선도 화면(Leading picture)들, 이들은 출력 순서로는 랜덤 액세스 포인트 화면을 선행(precede)하지만 코딩된 비디오 시퀀스에서 그 다음에 코딩된다. 코딩 순서에서 랜덤 액세스 포인트 화면에 선행하는 화면에 독립적인 선도 화면은 랜덤 액세스 디코딩 가능한 선도 화면들(Random Access Decodable Leading pictures; RADL)로 지칭된다. 예측을 위해 코딩 순서로 랜덤 액세스 포인트를 선행하는 화면을 사용하는 선도 화면들은 디코딩이 해당 IRAP에서 시작되면 오류가 될(corrupted) 수 있다. 이들을 랜덤 액세스 스킵된 선도 화면들(Random Access Skipped Leading pictures; RASL)로 지칭된다.
- 후행(Trailing; TRAIL) 화면들로, 이들은 출력과 화상표시(display) 순서 양자에서 IRAP과 선도 화면에 후속된다.
- 여기서 코딩된 비디오 시퀀스의 시간 분해능(temporal resolution)이 디코더로 전환될 수 있는 화면: 시간 하부 계층 액세스(Temporal Sublayer Access; TSA) 및 단계적 시간 하부계층 액세스(Stepwise Temporal Sublayer Access;STSA).
이와 같이 NAL 유닛의 데이터 구조는 스트림 병합(stream merging)에 중요한 인자이다.
본 발명의 목적은 대체(substitute) 코딩 유닛 타입을 나타내는 식별자(identifier)를 독출(reading)함으로써 비디오 데이터 스트림의 비디오 코딩 유닛의 필요 정보를 도출하는 디코더와 비디오 데이터 스트림의 특성들을 도출하는 디코더를 제공하는 것이다.
본 발명의 다른 목적은 식별자를 사용하여 비디오 코딩 유닛에 대한 대체 코딩 유닛 타입을 표시하는 인코더와 비디오 데이터 스트림의 특성들을 표시하는 인코더를 제공하는 것이다.
이 목적은 본 발명의 청구항들의 주제(subject-matter)에 의해 달성된다.
본 발명의 실시예들에 따라, 비디오 디코더는, 각 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로부터 각 화면을 디코딩함으로써 비디오 데이터 스트림으로부터 복수의 화면들을 포함하는 비디오를 디코딩하고; 비디오 데이터 스트림의 매개변수 집합 유닛(parameter set unit)으로부터 대체 코딩 유닛 타입을 독출하며; 각 소정의 비디오 코딩 유닛에 대해, 각 비디오 유닛으로부터 예를 들어 NAL 유닛 헤더(header)에 포함된 신택스 요소(syntax element) 등의 코딩 유닛 타입 식별자(identifier)(100)를 독출하고; 이 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102)으로부터 코딩 유닛 타입을 식별하는지, 예를 들어 NAL 유닛이 매핑 가능한(mappable) VCL(비디오 코딩 계층; video coding layer) 유닛 타입을 나타내는지, 또는 코딩 유닛 타입들의 제2 부분집합(104)으로부터 코딩 유닛 타입을 식별하는지, 예를 들어 NAL 유닛 타입을 나타내는지 여부를 검사(check)하여, 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면, 각 소정의 비디오 코딩 유닛이 대체 코딩 유닛 타입인 것으로 간주(attribute to)하고; 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면, 각 소정의 비디오 코딩 유닛이 코딩 유닛 식별자로 식별된 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입인 것으로 간주하도록 구성된다. 즉 각 NAL 유닛 타입이 식별자로 표시되고, 코딩 유닛 타입의 제1 부분집합 및 코딩 유닛 타입의 제2 부분집합, 즉 NAL유닛 타입이 코딩 유닛 타입의 제1 및 제2 부분집합의 표시를 따라(following) 재기입된다(rewritten). 이에 따라 병합 효율이 향상될 수 있다.
본 발명의 실시예들에 따라, 비디오 디코더는 각 비디오 코딩 유닛으로부터, 각 비디오 코딩 유닛에 연계된 영역을 각 비디오 코딩 유닛에 간주된 코딩 유닛 타입에 따르는 방식으로 디코딩하도록 구성된다. 비디오 디코더는 대체 코딩 유닛 타입을 비디오 코딩 타입들의 제2 부분집합으로부터의 것으로 간주하도록 구성될 수 있다. 비디오 디코더는 대체 코딩 유닛 타입이, 예를 들어 비(non) VCL 유닛 타입 등, 비디오 코딩 타입들의 제2 부분집합에 포함되지 않는 적어도 하나의 비디오 코딩 타입을 포함하는 비디오 코딩 타입의 제3 부분집합으로부터의 것으로 간주하도록 구성될 수 있다. 본 발명에 따르면, 코딩 효율을 향상시킬 수 있다.
본 발명의 실시예들에 따라, 소정의 비디오 코딩 유닛들은 화면 블록 분할 데이터(picture block partitioning data), 블록 관련 예측 매개변수들(block-related prediction parameters), 및 예측 잔차 데이터(prediction residual data)를 반송(carry)한다. 화면이 제1 부분집합의 코딩 유닛 타입을 갖는 하나 이상의 비디오 코딩 유닛들, 예를 들어 슬라이스(slice)들과 제2 부분집합의 코딩 유닛 타입을 갖는 하나 이상의 비디오 코딩 유닛들, 예를 들어 슬라이스들을 동시에 포함하면, 후자의 비디오 코딩 유닛들이 대체 코딩 유닛 타입과 동일한 코딩 유닛 타입을 갖는다. 대체 코딩 유닛 타입은 랜덤 액세스 포인트, RAP 코딩 타입이다. 대체 코딩 유닛 타입은 랜덤 액세스 포인트, RAP 코딩 타입이 아닌 코딩 타입이다. 즉 대체 코딩 유닛 타입이 식별되어 동일한 대체 코딩 유닛 타입을 갖는 비디오 코딩 유닛들이 병합되고, 이에 따라 병합 효율이 적절히 향상된다.
본 발명의 실시예들에 따라, 소정의 비디오 코딩 유닛들의 각각이, 각 소정의 비디오 코딩 유닛들이 그 안에서 액세스 유닛과 연계되는 화면의 다른 영역들에 연계된다. 비디오 데이터 스트림의 매개변수 집합 유닛은 화면들의 시퀀스, 하나의 화면, 하나의 화면으로부터의 슬라이스들의 집합을 포괄하는 범위를 갖는다. 이 매개변수 집합 유닛은 비디오 데이터 스트림 프로파일 특정 방식(video data stream profile specific manner)으로 대체 코딩 유닛을 나타낸다. 즉 슬라이스들을 효율적으로 병합할 수 있고, 이에 따라 코딩 효율을 향상시킨다.
본 발명의 실시예들에 따라, 비디오 데이터 스트림의 매개변수 집합 유닛은: 화면들의 하나의 시퀀스를 포괄하는 범위를 갖는 매개변수 집합 유닛, 또는 액세스 유닛에 연계된 하나 이상의 화면들을 포괄하는 범위를 갖는 액세스 유닛 구획자(access unit delimiter) 중의 어느 하나이다. 즉 화면들의 시퀀스가 적절히 표시되고, 이에 따라 렌더링될(rendered) 것을 요구하는 화면들을 효율적으로 디코딩할 수 있다.
본 발명의 실시예들에 따라, 매개변수 집합 유닛은 비디오 스트림의 대체 코딩 유닛이, 소정의 비디오 코딩 유닛이 예를 들어 RAP 타입, 즉 즉각 디코딩 갱신(instantaneous decoding refresh; IDR) 등의 비디오의 디코딩을 위한 비디오 시퀀스의 갱신 시작점(refreshed starting point)으로 사용되었는지, 또는 예를 들어 비(non) RAP 타입, 즉 IDR을 포함하지 않는 등 비디오의 디코딩을 위한 비디오 시퀀스의 연속 시작점(continuous starting point)으로 사용되었는지 여부를 나타낸다. 즉 매개변수 집합 유닛을 사용하여 코딩 유닛이 비디오 시퀀스의 첫 번째 화면인지 여부를 표시할 수 있다.
본 발명의 실시예들에 따라, 비디오 디코더는 각 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로부터 각 화면을 디코딩함으로써 비디오 데이터 스트림으로부터 복수의 화면들을 포함하는 비디오를 디코딩하는데, 각 비디오 코딩 유닛들이 화면 블록 분할 데이터, 블록 관련 예측 매개변수들, 및 예측 잔차 데이터를 반송하고, 그 안에서 액세스 유닛과 연계되는 화면의 다른 영역들에 연계되며; 소정의 비디오 코딩 유닛들의 각각으로부터 하나 이상의 신택스 요소들의 n치 집합을 독출하고, 예를 들어 2치(2-ary)로 그 쌍은 4치인 2개의 플랙(flag)들 등 하나 이상의 신택스 요소들의 n치 집합(n-ary set)을 매핑(200)하는데, 예를 들어 이 매핑은 디폴트(default)로 고정되거나; 이와는 달리, 데이터 스트림에 신호되거나, 또는 값 범위를 분할함으로써 양자가 수행되는데, m>n일 때 하나 이상의 신택스 요소들의 n치 집합이 하나 이상의 특성(characteristic; 202)들, 예를 들어 3개의 2진(binary) 특성, 이에 따라 각각 2치이고 3중쌍(triplet)이 8치인 특성들의 m치 집합으로 매핑하고, 각 특성은 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복(redundant) 방식으로 어떻게 비디오가 그 안에서 소정의 비디오 코딩 유닛이 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술, 즉 특성들이 더 깊은(deeper) 코딩 데이터의 검사(inspection)로부터 추론(deduce)될 수 있거나, 또는 소정의 비디오 코딩 유닛의 각각으로부터 N>0일 때 N개의 신택스 요소들(210), 예를 들어 N=2 플랙(flag)들을 독출하는데, 비디오 데이터 스트림으로부터 연계 정보(association information)를 독출, 즉 이들을 연계 특성들의 변수로 취급하여, 이 연계 정보에 따라 M>N일 때 N개의 신택스 요소들의 각각을 M개의 특성들, 예를 들어 M=3 이진(binary) 특성들이어서, 각각 2치(2-ary)
Figure pct00001
, 연계정보가 2개의 플랙들을 3개 중의 2개에 연계, 즉
Figure pct00002
인 특성 중의 하나에 연계시키고, 각 특성이 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 비디오가 그 안에서 소정의 비디오 코딩 유닛이 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하도록 구성된다. 즉 예를 들어 비디오 데이터 스트림 조건, 즉 어떻게 비디오가 액세스 유닛 내의 화면에 대해 비디오 데이터 스트림으로 코딩되었는지가 맵과 플랙들로 표시되어, 추가 정보(extra information)를 효율적으로 제공할 수 있다.
본 발명의 실시예들에 따라, 맵은 매개변수 집합 유닛에 포함되어 매핑된 특성들의 위치를 나타낸다. 이 맵은 데이터 스트림 내에 신호되어 매핑된 특성들의 위치를 나타낸다. N개의 신택스 요소들은 특성들의 존재를 나타낸다. 즉 플랙과 매핑을 조합하면, 플랙들을 매개변수 집합에 표시할 수 있는 유연성(flexibility)을 갖게 된다.
본 발명의 실시예들에 따라, 비디오 인코더는, 각(each) 화면을 개별(respective) 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩함으로써 복수의 화면들을 포함하는 비디오를 비디오 데이터 스트림으로 인코딩하고; 대체 코딩 유닛 타입을 비디오 데이터 스트림의 매개변수 집합 유닛에 표시하며; 각 소정의 비디오 코딩 유닛에 대해, 각 비디오 코딩 유닛에 대한 코딩 유닛 타입 식별자(100)를 비디오 데이터 스트림에 인코딩하는데, 여기서 코딩 유닛 타입 식별자는 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102)으로부터 또는 하나 이상의 코딩 유닛 타입들의 제2 부분집합(104)으로부터 코딩 유닛 타입을 식별하고, 여기서 코딩 유닛 타입 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면 개별 소정의 비디오 코딩 유닛에 대체 코딩 유닛 타입을 부여(attribute)하고; 코딩 유닛 타입 식별자가 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면 개별 소정의 비디오 코딩 유닛들에 코딩 유닛 타입 식별자로 식별된 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입을 부여하며, 여기서 대체 코딩 유닛 타입은 RAP 타입이고 비디오 인코더가 RAP 화면들의 비디오 코딩 유닛들을 소정의 비디오 코딩 유닛들로 식별하고, 예를 들어 RAP 타입을 식별한 비 RAP 화면들의 순수하게 인트라 코딩된(intra-coded) 비디오 코딩 유닛들에 대한 코딩 유닛 타입 식별자를 직접 인코딩하도록 구성된다. 즉 코딩 유닛 타입이 비디오 데이터 스트림의 매개변수 집합 유닛에 표시되고, 이에 따라 인코딩 효율을 개선, 즉 IDR 화면을 가진 각 세그먼트(segment)를 인코딩할 필요가 없게 될 수 있다.
본 발명의 실시예들에 따라, 비디오 편집기(video composer)는, 각 화면이 화면들이 이로 분할된 타일(tile)들의 각각에 대한 개별 화면에 대해 하나 이상의 비디오 코딩 유닛들이 연계되는 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩되도록, 거기에 인코딩된 복수의 화면들을 포함하는 비디오를 갖는 비디오 데이터 스트림을 편집(compose)하고: 비디오 데이터 스트림의 매개변수 집합 유닛의 대체 코딩 유닛 타입을 RAP 타입의 표시로부터 비 RAP 타입을 표시하도록 변경하며; 그 식별자(100)가 비디오 데이터 스트림으로 인코딩된 전용으로(exclusively) 코딩된 비디오 코딩 유닛들의 v d s 화면들에서 RAP 화면들을 식별하는 코딩 유닛 타입을 식별하는데; 여기서 비디오 데이터 스트림의 소정의 비디오 코딩 유닛들의 각각에 대해, 비디오 데이터 스트림으로 인코딩된 개별 p 비디오 코딩 유닛들에 대한 식별자(100)가 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102) 또는 하나 이상의 코딩 유닛 타입들의 제2 부분집합(104)로부터 코딩 유닛 타입을 식별하고, 여기서 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면, 각 소정의 비디오 코딩 유닛이 대체 코딩 유닛 타입인 것으로 간주하고; 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면, 각 소정의 비디오 코딩 유닛이 코딩 유닛 식별자로 식별된 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입인 것으로 간주한다. 비디오 코딩 유닛의 타입은 식별자를 사용하여 코딩 유닛 타입의 제1 및 제2 부분집합으로 식별되고, 이에 따라 예를 들어 복수의 타일들로 구축된(constructed) 비디오의 화면이 효율적으로 편집된다.
본 발명의 실시예들에 따라, 비디오 인코더는
각 화면을 개별 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩함으로써 복수의 화면들을 비디오 데이터 스트림으로 인코딩하는데, 여기서 각 비디오 코딩 유닛은 화면 블록 분할 데이터와, 블록 관련 예측 매개변수들과, 및 예측 잔차 데이터를 반송하고, 그 안에 소정의 비디오 코딩 유닛의 위치하는 액세스 유닛과 연계되는 화면의 다른 영역에 연계되고; 소정의 비디오 코딩 유닛의 각각으로의 예를 들어 각각 2치로 그 쌍이 4치인 2개의 플랙들 하나 이상의 신택스 요소들의 n치 집합의 매핑(200)을 표시하는데, 이 매핑은 디폴트로 고정되거나; 이와 달리, 데이터 스트림에 신호되거나, 또는 값 범위를 분할함으로써 양자가 수행되는데, 등 m>n일 때 하나 이상의 신택스 요소들의 n치 집합을 예를 들어 3개의 2진 특성들, 이에 따라 각각 2치이고 삼중쌍이 8치인 하나 이상의 특성(202)들의 m치 집합으로 매핑하고, 각 특성은 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복(redundant) 방식으로 어떻게 비디오가 그 안에서 소정의 비디오 코딩 유닛이 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술, 즉 특성들이 더 깊은(deeper) 코딩 데이터의 검사(inspection)로부터 추론(deduce)될 수 있거나, 또는 소정의 비디오 코딩 유닛의 각각으로부터 N>0일 때 N개의 신택스 요소들(210), 예를 들어 N=2 플랙(flag)들을 표시하는데, 비디오 데이터 스트림에 연계 정보(association information)를 표시, 즉 이들을 연계 특성들의 변수로 취급하여, 이 연계 정보에 따라 M>N일 때 N개의 신택스 요소들의 각각을 M개의 특성들, 예를 들어 M=3 이진(binary) 특성들이어서, 각각 2치(2-ary)
Figure pct00003
, 연계정보가 2개의 플랙들을 3개 중의 2개에 연계, 즉
Figure pct00004
인 특성 중의 하나에 연계시키고, 각 특성이 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 비디오가 그 안에서 소정의 비디오 코딩 유닛이 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하도록 구성된다. 즉 예를 들어 비디오 데이터 시퀀스의 각 비디오 코딩 유닛의 특성들이 플랙을 사용하여 표시되고, 이에 따라 추가 정보를 효율적으로 제공할 수 있다.
본 발명의 실시예들에 따라, 방법은 각 화면에 연계된 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로부터 각 화면을 디코딩함으로써 복수의 화면들을 포함하는 비디오를 디코딩하는 단계와; 비디오 데이터 스트림의 매개변수 집합 유닛으로부터 대체 코딩 유닛 타입을 독출하는 단계와; 각 소정의 비디오 코딩 유닛에 대해 개별 비디오 코딩 유닛으로부터 코딩 유닛 타입 식별자를 독출하는 단계와; 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 집합으로부터 또는 하나 이상의 코딩 유닛 타입들의 제2 집합으로부터 코딩 유닛 타입을 식별하는지 검사하여, 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면, 개별 비디오 코딩 유닛이 대체 코딩 유닛 타입인 것으로 간주하는 단계와; 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면, 개별 비디오 코딩 유닛이 코딩 유닛 식별자로 식별된 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입인 것으로 간주하는 단계를 포함한다.
본 발명의 실시예들에 따라, 방법은 개별 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로부터 각 화면을 디코딩함으로써 비디오 데이터 스트림으로부터 복수의 화면들을 디코딩하는 단계로, 여기서 각 비디오 코딩 유닛은 화면 블록 분할 데이터와, 블록 관련 예측 매개변수들과, 및 예측 잔차 데이터를 반송하고, 그 안에서 개별 소정의 비디오가 위치되는 액세스 유닛에 연계된 화면의 다른 영역들에 연계되는 단계와; 소정의 비디오 코딩 유닛의 각각으로부터 하나 이상의 신택스 요소들의 n치 집합을 독출하여 예를 들어 각각 2치로 그 쌍이 4치인 2개의 플랙들 등 하나 이상의 신택스 요소들의 n치 집합을 매핑(200)하는데, 이 매핑은 고정되거나; 이와는 달리 데이터 스트림에 신호되거나, 또는 값 범위를 분할함으로써 양자가 수행되는데, m>n일 때 하나 이상의 신택스 요소들의 n치 집합이 하나 이상의 특성들, 예를 들어 3개의 2진 특성, 이에 따라 각각 2치이고 3중쌍이 8치인 특성들의 m치 집합으로 매핑하고, 각 특성은 소정 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 비디오가 그 안에서 소정의 비디오 코딩 유닛이 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술, 즉 특성들이 더 깊은 코딩 데이터의 검사로부터 추론될 수 있거나, 또는 소정의 비디오 코딩 유닛의 각각으로부터 N>0일 때 N개의 신택스 요소들(210), 예를 들어 N=2 플랙들을 독출하는데, 비디오 데이터 스트림으로부터 연계 정보를 독출, 즉 이들을 연계 특성들의 변수로 취급하여, 이 연계 정보에 따라 M>N일 때 N개의 신택스 요소들의 각각을 M개의 특성들, 예를 들어 M=3 이진 특성들이어서, 각각 2치
Figure pct00005
, 연계정보가 2개의 플랙들을 3개 중의 2개에 연계, 즉
Figure pct00006
인 특성 중의 하나에 연계시키고, 각 특성이 소정 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 비디오가 그 안에서 소정의 비디오 코딩 유닛이 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하도록 구성된다.
본 발명의 실시예들에 따라, 방법은 각 화면을 각 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩함으로써 복수의 화면들을 포함하는 비디오를 비디오 데이터 스트림으로 인코딩하는 단계와; 비디오 데이터 스트림의 매개변수 집합 유닛에 대체 코딩 유닛 타입을 표시하는 단계와; 각 소정의 비디오 코딩 유닛에 대해, 개별 비디오 코딩 유닛에 대한 코딩 유닛 타입 식별자(100)를 정의하는 단계로, 여기서 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102)으로부터 또는 하나 이상의 코딩 유닛 타입들의 제2 부분집합(104)으로부터 코딩 유닛 타입을 식별하고, 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면 개별 유닛 타입에 대체 코딩 유닛 타입을 부여하고; 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면 개별 유닛 타입에 코딩 유닛 식별자로 식별된 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 부여하는 단계를 포함한다.
본 발명의 실시예들에 따라, 방법은 거기에 인코딩된 복수의 화면들을 갖는 비디오 데이터 스트림을 편집하는 단계로, 각 화면이 화면들이 이로 분할된 타일들의 각각에 대한 개별 화면에 대해 하나 이상의 비디오 코딩 유닛들이 연계되는 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩되는 단계와; 비디오 데이터 스트림의 매개변수 집합 유닛의 대체 코딩 유닛 타입을 RAP 타입의 표시로부터 비 RAP 타입을 표시하도록 변경하는 단계와; 그 식별자(100)가 비디오 데이터 스트림으로 인코딩된 전용으로(exclusively) 코딩된 비디오 코딩 유닛들의 v d s 화면들에서 RAP 화면들을 식별하는 코딩 유닛 타입을 식별하는 단계로; 여기서 비디오 데이터 스트림의 소정의 비디오 코딩 유닛들의 각각에 대해, 비디오 데이터 스트림으로 인코딩된 개별 p 비디오 코딩 유닛들에 대한 식별자(100)가 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102) 또는 하나 이상의 코딩 유닛 타입들의 제2 부분집합(104)로부터 코딩 유닛 타입을 식별하고, 여기서 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면, 각 소정의 비디오 코딩 유닛이 대체 코딩 유닛 타입인 것으로 간주하고; 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면, 각 소정의 비디오 코딩 유닛이 대체 코딩 유닛 타입이 코딩 유닛 식별자로 식별된 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입인 것으로 간주한다.
본 발명의 실시예들에 따라, 각 화면을 개별 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩함으로써 복수의 화면들을 비디오 데이터 스트림으로 인코딩하는 단계로, 여기서 각 비디오 코딩 유닛은 화면 블록 분할 데이터와, 블록 관련 예측 매개변수들과, 및 예측 잔차 데이터를 반송하고, 그 안에 소정의 비디오 코딩 유닛의 위치하는 액세스 유닛과 연계되는 화면의 다른 영역에 연계되는 단계와; 소정의 비디오 코딩 유닛의 각각으로의 예를 들어 각각 2치로 그 쌍이 4치인 2개의 플랙들 등 하나 이상의 신택스 요소들의 n치 집합의 매핑(200)을 표시하는 단계로, 이 매핑은 디폴트로 고정되거나; 이와 달리, 데이터 스트림에, 또는 값 범위를 분할함으로써 양자가 수행되는데, m>n일 때 하나 이상의 신택스 요소들의 n치 집합을 예를 들어 3개의 2진 특성들, 이에 따라 각각 2치이고 삼중쌍이 8치인 하나 이상의 특성(202)들의 m치 집합으로 매핑하고, 각 특성은 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 비디오가 그 안에서 소정의 비디오 코딩 유닛이 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술, 즉 특성들이 더 깊은 코딩 데이터의 검사로부터 추론될 수 있거나, 또는 소정의 비디오 코딩 유닛의 각각으로부터 N>0일 때 N개의 신택스 요소들(210), 예를 들어 N=2 플랙들을 표시하는데, 비디오 데이터 스트림에 연계 정보를 표시, 즉 이들을 연계 특성들의 변수로 취급하여, 이 연계 정보에 따라 M>N일 때 N개의 신택스 요소들의 각각을 M개의 특성들, 예를 들어 M=3 이진 특성들이어서, 각각 2치
Figure pct00007
, 연계정보가 2개의 플랙들을 3개 중의 2개에 연계, 즉
Figure pct00008
인 특성 중의 하나에 연계시키고, 각 특성이 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 비디오가 그 안에서 소정의 비디오 코딩 유닛이 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하도록 구성된다.
이하 본 발명의 바람직한 실시예들이 도면들을 참조하여 설명될 것인데. 도면에서:
도 1은 후속 도면들로 제시되는 실시예들이 유용하게 사용될 수 있는 예로서 가상현실 앱들을 위한 클라이언트 및 서버 시스템을 보이는 개략도;
도 2는 도 1의 시스템에 부합될 수 있는 2개의 해상도들에서 6x4 타일들로 타일링된 큐브 맵 투영의 360도 비디오의 예를 보이는 개략도;
도 3은 도 2에 도시된 360도 비디오 스트리밍을 위한 사용자 뷰포인트와 타일 선택의 예를 보이는 개략도;
도 4는 병합 연산 후의 결합 비트스트림에서 도 3에 보인 타일들의 결과적인 타일 배치(패킹)의 예를 보이는 개략도;
도 5는 360도 비디오 스트림을 위한 단일한 타일로서 저해상도 폴백을 갖는 타일의 예를 보이는 개략도;
도 6은 타일 기반 스트리밍에서 타일 선택의 예를 보이는 개략도'
도 7은 타일 당 같지 않은 RAP(랜덤 액세스 포인트; Random Access Point) 주기를 갖는 타일 기반 스트리밍에서 타일 선택의 다른 예를 보이는 개략도;
도 8은 본 발명의 실시예들에 따른, NAL(네트워크 추상화 계층: Network Adaptive Layer) 유닛 헤더의 예를 보이는 개략도;
도 9는 본 발명의 실시예들에 따른, NAL 유닛에 포함된 RBSP(원시 바이트 시퀀스 페이로드; Row Byte Sequence Payloads) 데이터 구조의 타입을 표시하는 예를 보이는 표;
도 10은 NAL 유닛 타입이 본 발명의 실시예들에 따라 매핑되었음을 나타내는 시퀀스 매개변수 집합의 예를 보이는 개략도;
도 11은 슬라이스 헤더에 표시되는 슬라이스의 특성들의 예를 보이는 개략도;
도 12는 본 발명의 실시예들에 따른, 시퀀스 매개변수 집합 내에 슬라이스의 특성들을 표시하는 예를 보이는 개략도;
도 13은 본 발명의 실시예들에 따른, 도 12의 시퀀스 매개변수 집합 내에 맵으로 표시된 특성들의 예를 보이는 개략도;
도 14는 본 발명의 실시예들에 따른, 신택스 구조의 사용으로 연계 정보를 표시하는 예를 보이는 개략도;
도 15는 본 발명의 실시예들에 따른, 시퀀스 매개변수 집합 내에 슬라이스의 특성들을 표시하는 맵의 예를 보이는 개략도;
도 16은 본 발명의 실시예들에 따른, 도 15의 매개변수 집합 내에 맵으로 표시된 특성들의 다른 예를 보이는 개략도;
도 17은 본 발명의 실시예들에 따른, 슬라이스 세그먼트 헤더 내에 슬라이스의 특성들을 표시하는 맵의 다른 예를 보이는 개략도; 및
도 18은 본 발명의 실시예들에 따른, 도 17의 슬라이스 세그먼트 헤더 내에 맵으로 표시된 특성들의 다른 예를 보이는 개략도.
동일 또는 동등한 요소들 또는 동일 또는 동등한 기능을 갖는 요소들은 이하의 설명에서 동일 또는 동등한 참조번호들로 표기되었다.
이하의 설명에서는 본 발명의 완전한 설명을 제공하기 위해 여러 가지 상세들이 제시된다. 그러나 당업계에 통상의 기술을 갖는 자에게는 본 발명이 이 구체적 상세들이 없이도 구현될 수 있음이 자명할 것이다. 다른 경우들에, 잘 알려진 구조와 장치들은 본 발명의 실시예들을 모호하게 하지 않도록 상세 대신 블록도로 보인다. 또한 이하에서 설명되는 다른 실시예들의 특징들은 구체적으로 달리 명시되지 않는 한 서로 조합될 수 있다.
서론(INTRODUCTORY REMARKS)
이하에서, 이 명세서에 설명된 개별적인 국면(aspect)들은 개별적으로 또는 조합되어 사용될 수 있다. 이에 따라 상세들은 다른 국면들의 상세들을 추가하지 않고도 개별적 국면들에 추가될 수 있음에 유의해야 할 것이다.
또한 이 명세서는 명시적 또는 암묵적으로 비디오 디코더(인코딩된 표현(encoded representation)에 기반하여 비디오 신호의 디코딩된 표현을 제공하는 장치)에 사용될 수 있는 특징들을 설명하고 있음도 유의해야 할 것이다, 이에 따라 이 명세서에 설명된 특징들의 어떤 것은 비디오 디코더의 맥락에서 사용될 수 있다.
또한, 이 명세서에서 방법에 관련하여 개시된 특징과 기능들은 (이러한 기능을 수행하도록 구성된) 장치에도 사용될 수 있다. 뿐만 아니라, 이 명세서에 장치에 관해 개시된 어떤 특징과 기능들도 대응 방법에 사용될 수 있다. 달리 말해, 이 명세서에 개시된 방법들은 장치들에 관해 설명된 특징과 기능들의 어떤 것으로 보충될 수 있다.
본 발명의 여러 국면에 대한 본 발명의 실시예들의 설명의 이해의 편의를 위해, 도 1은 후술할 본 발명의 실시예들이 적용되어 유용하게 사용될 수 있는 환경에 대한 예를 보인다. 특히 도 1은 적응 스트리밍(adaptive streaming)을 통해 상호작용하는 클라이언트(client; 10)와 서버(server; 20)로 구성된 시스템을 보인다. 예를 들어, HTTP(DASH)를 통한 동적(dynamic) 적응 스트리밍이 클라이언트(10)와 서버(20) 간의 통신(22)에 사용될 수 있다. 그러나 이하에 개괄될 실시예들은 DASH 등의 사용으로 한정되는 것으로 해석되어서는 안 되고, 미디어 표현 정보(media presentation description; MPD) 등의 용어는 DASH에서와 달리 정의된 매니페스트 파일(manifest file)들 역시 포괄하도록 광의로 이해되어야 할 것이다.
도 1은 가상현실(virtual reality) 앱(application)을 구현하도록 구성된 시스템을 보인다. 즉 시스템은 헤드업 디스플레이(head up display; 24)를 착용한 사용자에게, 즉 헤드업 디스플레이(24)의 내부 디스플레이(26)를 통해, 시간가변(temporally-varying) 공간 장면(spatial scene; 30)으로부터 뷰 섹션(view section; 28)을 제공하도록 구성되는데, 이 섹션(28)은 헤드업 디스플레이(24)의 내부 센서 등의 내부 방향 센서(internal orientation sensor; 32)로 예시적으로 측정된 헤드업 디스플레이(24)의 방향에 대응한다. 즉 사용자에게 제공되는 섹션(38)은 그 공간적 위치가 헤드업 디스플레이(24)의 방향에 대응하는 공간적 장면(30)의 섹션을 형성한다. 도 1의 경우, 시간가변 공간 장면(30)은 무지향성 비디오(omni-directional) 또는 구형 비디오(spherical video)로 도시되어 있지만, 도 1 및 후속되어 설명되는 실시예들은 섹션(28)의 공간적 위치가 얼굴 액세스 또는 눈 액세스가 가상 또는 실제 투영기 벽(projector wall)과의 교차(intersection)에 의해 결정되어 비디오로부터의 섹션을 제공하는 등의 다른 예들에도 용이하게 사용될 수 있다. 또한 센서(32)와 디스플레이(26)는 예를 들어 각각 리모컨(remote control)과 대응 텔레비전에 구비되거나, 또는 이들이 태블릿 또는 휴대폰 같은 모바일 기기 등의 핸드헬드 장치(hand-held device)의 일부가 될 수 있다. 마지막으로, 후술할 실시예들의 일부는 또한, 예를 들어 공간 장면에 걸쳐 불균일한 화질(quality)의 분포에 관련된 시간가변 공간 장면의 제공에 불균일성(unevenness)을 갖는 전체 시간가변 공간 장면(30)을 항상 포괄하는 영역(28)이 사용자에게 제공되는 시나리오들에도 적용될 수 있음에 유의해야 할 것이다.
서버(20) 및 클라이언트(10)에 대한 추가적 상세들과, 서버(20)에서 공간 콘텐츠(spatial content; 30)가 제공되는 방식이 도 1에 도시되고 후술될 것이다. 그러나 이 상세들은 후술하는 실시예들을 한정하는 것이 아니라 후술할 실시예들의 어떤 것을 어떻게 구현할지의 예로 기능하는 것으로 취급되어야 할 것이다.
특히 도 1에 도시된 바와 같이, 서버(20)는 저장장치(storage; 34)와, 적절히 프로그래밍된 컴퓨터, 주문형 집적회로(application-specific integrated circuit) 등의 컨트롤러(36)를 포함할 수 있다. 저장장치(34)는 거기에 저장된 시간가변 공간 장면(30)을 표현하는 미디어 세그먼트(media segment)들을 갖는다. 한 구체적인 예가 도1의 도시를 참조하여 이하에 더 상세히 개괄될 것이다. 컨트롤러(36)는 클라이언트(10)가 전송한 요청에 대해 요청된 미디어 세그먼트들과 미디어 표현 정보(media presentation description)들을 클라이언트(10)에 재전송함으로써 응답하고, 그 자체의 추가적인 정보를 클라이언트(10)에 전송할 수 있다. 이에 대한 상세들 역시 후술한다. 컨트롤러(36)는 요청된 미디어 세그먼트들을 저장장치(34)로부터 페치(fetch)할 수 있다. 이 저장장치 내에는, 또한 미디어 표현 정보 또는 그 일부 등의 다른 정보가 저장되어 서버(20)로부터 클라이언트(10)로의 다른 신호들에 전송될 수 있다.
도 1에 보인 바와 같이, 서버(20)는 선택적으로, 예를 들어 클라이언트(10)에 이러한 방식으로 호출(retrieve)되는 미디어 세그먼트들이 실제 몇 개의 미디어 스트림들로부터 집합(aggregate)되더라도 미디어 데이터 스트림이 하나의 관련 디코더에서 디코딩 가능한(decodable) 하나의 단일한 미디어 스트림을 형성하는 결과가 되도록, 클라이언트로부터의 요청들에 응답하여 서버(20)로부터 클라이언트(10)로 전송되는 미디어 세그먼트들을 수정하는 스트림 수정기(stream modifier; 38)를 더 포함할 수 있다. 그러나 이러한 스트림 수정기(38)의 존재는 선택적이다.
도 1의 클라이언트(10)는 예시적으로 클라이언트 장치 또는 컨트롤러(40)와, 하나 이상의 디코더(42)들과, 및 재투영기(reprojector; 44)를 포함하는 것으로 도시되어 있다. 클라이언트 장치는 적절히 프로그래밍된 컴퓨터, 마이크로프로세서, FPGA 또는 사용자 주문 집적회로 등의 프로그래밍된 하드웨어 장치가 될 수 있다. 클라이언트 장치(40)는 서버(20)에서 제공되는 복수(46)의 미디어 세그먼트들로부터, 서버(20)로부터 호출될 세그먼트들을 선택할 책임을 맡고 있다. 이를 위해, 클라이언트 장치(40)는 서버(20)로부터 먼저 매니페스트 또는 미디어 표현 정보를 호출한다. 이로부터, 클라이언트 장치(40)는 복수(46)로부터 공간 장면(30)의 어떤 요구되는 공간 부분들에 해당하는 미디어 세그먼트들의 어드레스들을 연산할 연산 규칙(computational rule)을 얻는다. 이렇게 선택된 미디어 세그먼트들은 클라이언트 장치(40)가 해당 요청들을 서버(20)로 전송함으로써 서버(20)로부터 호출된다.
이와 같이 클라이언트 장치(40)로 호출된 미디어 세그먼트들은 이 장치에 의해 하나 이상의 디코더(42)들로 디코딩되도록 전송된다. 도 1의 예에서, 미디어 세그먼트들은 이와 같이 호출되어 각 일시적 시간 유닛(temporal time unit)에 대해 시간가변 공간 장면(30)으로부터 단지 공간 섹션(48)만을 제공하도록 디코딩되지만, 위에 이미 지적한 바와 같이 이는 다른 국면들에 따라 달라질 수 있는데, 예를 들어 제공될 뷰 섹션(28)은 항상 전체 장면을 포괄한다. 재투영기(44)는 뷰 섹션(28)이 선택, 호출 및 디코딩된 미디어 세그먼트들의 호출 및 디코딩된 장면 콘텐츠(scene content)로부터 사용자에게 디스플레이될 뷰 섹션(28)을 선택적으로 재투영 및 취출(cut-out)할 수 있다. 이를 위해, 도 1에 도시된 바와 같이 클라이언트 장치(40)는 예를 들어 센서(32)로부터의 사용자 방향 데이터에 따라 뷰 섹션(28)의 공간적 위치를 지속적으로 추적 및 갱신하고, 재투영기(44)에 예를 들어 장면 섹션(28)의 현재 공간적 위치와 함께, 뷰 섹션(28)을 형성하는 영역에 매핑되도록 호출 및 디코딩된 미디어 콘텐츠에 적용할 재투영 매핑(reprojection mapping)을 통보(inform)할 수 있다. 재투영기(44)는 이에 따라 매핑과, 예를 들어 디스플레이(26) 상에 디스플레이될 화소(pixel)들의 정규 격자(regular grid) 상의 내삽보간(interpolation)을 적용할 수 있다.
도 1은 공간 장면(30)을 타일(tile; 50)들 상에 매핑하는데 큐빅 매핑(cubic mapping)이 사용된 경우를 도시한다. 이에 따라 타일들은 그 위에 구(sphere) 형태의 장면(30)이 투영되는, 큐브의 정사각형 하부영역(sub-region)들로 도시된다. 재투영기(44)는 이 투영을 반전시킨다, 그러나 다른 예들 역시 적용될 수 있다. 예를 들어 큐빅 투영 대신, 절두 사각추(truncated pyramid) 또는 절두 없는 사각추로의 투영도 사용될 수 있다. 또한 도 1의 타일들이 공간 장면(30)의 범위(coverage)에 있어 중첩이 없는(non-overlapping) 것으로 도시되어 있지만, 타일들로의 분할은 상호 타일 중첩을 포함할 수 있다. 또한 뒤에 더 상세히 개괄할 바와 같이, 각 타일이 후술할 바와 같이 하나의 표현(representation)을 형성하도록 장면(30)을 타일(50)들로 분할하는 것 역시 의무적(mandatory)은 아니다.
이에 따라 도 1에 보인 바와 같이, 전체 공간 장면(30)이 타일(50)들로 공간적 분할된다. 도 1의 예에서, 큐브의 6면(face)들의 각각이 4개의 타일들로 분할된다. 도시의 목적상, 타일들은 (나란히) 열거되어 있다. 각 타일(50)에 대해, 서버(20)는 도 1에 도시된 바와 같이 비디오(52)를 제공한다. 더 정확히는, 서버(20)는 타일(50) 당 하나보다 많은 비디오(52)까지 제공하는데, 이 비디오들은 화질(quality; Q#)이 다르다. 또한 비디오(52)들은 시간 세그먼트(temporal segment; 54)들로 시간적으로 분할된다. 모든 타일(T#)들의 모든 비디오(52)들의 시간 세그먼트(54)들은 각각, 서버(20)의 저장장치(34)에 저장된 복수(46)의 미디어 세그먼트들의 미디어 세그먼트들의 하나를 형성하거나 이것으로 인코딩된다.
도 1에 보인 타일 기반(tile-based) 스트리밍의 예도 단지 예를 구성하고 많은 일탈(deviation)이 가능함을 다시 강조한다. 예를 들어, 도 1은 타일들에 대한 장면(30)의 표현에 관련된 더 높은 화질의 타일들이 거기에 인코딩된 장면을 갖는 미디어 세그먼트들이 속하는 화질(Q1)의 타일들과 일치하는 것을 암시(suggest)하는 듯하지만, 이러한 일치는 필수적이 아니며, 다른 화질들의 타일들이 장면(30)으 다른 투영의 타일들에 대응할 수 있다. 뿐만 아니라, 아직 논의되지는 않았지만, 도 1에서 다른 화질 수준들에 해당하는 미디어 세그먼트들은 공간 해상도(spatial resolution) 및/또는 신호 대 잡음비(signal to noise ratio) 및/또는 시간 분해능(temporal resolution) 등이 다를 수 있다.
마지막으로, 이에 따르면 장면(30)이 공간적으로 분할된 타일(50)들에 관련된 미디어 세그먼트들이 서버(20)로부터 장치(40)에 의해 개별적으로 호출될 수 있는 타일 기반 스트리밍 개념과 달리, 서버(200에서 제공되는 미디어 세그먼트들은 이와 달리, 예를 들어 공간적으로 변화되는 샘플링 해상도를 갖지만 장면(30)의 다른 위치들에서 샘플링 해상도 최대치를 갖도록 공간적으로 완전한 방식으로 거기에 인코딩된 장면(30)들을 각각 갖는다. 예를 들어, 이는 서버(20)에서 절두된 선단이 서로 다른 방향들을 향함으로써 다른 방향을 가진 해상도 피크(peak)들을 야기하는 절두 사각추로 장면(30)을 투영하는 것에 관련된 세그먼트(30)들의 시퀀스(sequence)를 제공함으로써 달성될 수 있을 것이다.
또한 선택적으로 존재하는 스트림 수정기(38)에 대해서는, 이것이 대체적으로 클라이언트(10)의 일부가 되거나, 클라이언트(10)와 서버(20)가 이 명세서에 설명된 신호들을 교환하는 네트워크 내의 그 사이에 위치할 수도 있음에 유의해야 할 것이다.
복수의 코딩된 비트 스트림들이 결합하여 디코딩되는, 즉 결합 비트스트림(joint bitstream)으로 병합되어(merged) 단일한 디코더로 공급되는 다음과 같은 어떤 비디오 기반 앱이 존재할 수 있는데:
· 다자간 컨퍼런싱(multi-party conferencing): 여기서는 복수의 참여자들로부터의 코딩된 비디오 스트림들이 단일한 종료점(end point)에서 처리된다.
· 또는 타일 기반 스트리밍(tile-based streaming): 예를 들어 VR 앱들에서 360도로 타일링된(tiled) 비디오에 대한 재생
후자에서, 360 비디오는 공간적으로 (세그먼트로) 분할되고 각 공간 세그먼트는 도 2에 보인 바와 같이 변화되는 공간 해상도들의 복수의 표현들 내에 스트리밍 클라이언트들에게 제공된다. 도 2(a)는 고해상도 타일들을 보이고 도 2(b)는 저해상도 타일들을 보인다. 도 2, 즉 도 2(a) 및 도 2(b)는 2개의 해상도들에서 6x4 곤간 세그먼트들로 분할되어 큐브 맵에 투영된(cube map projected) 360도 비디오를 보인다. 간결성을 위해, 이 독립적으로 디코딩될 수 있는 공간 세그먼트들은 이 명세서에서 타일(tile)들로 지칭된다.
도 3(a)에 도시된 바와 같은 현재 기술수준의 헤드 마운트 디스플레이(head-mounted-display)를 사용하여 90x90 동의 시야(Field of View)를 표현하는 경질의(solid) 뷰포트(viewport) 경계(80)를 통해, 사용자는 전형적으로 전체 360도 비디오를 구성하는 타일들의 부분집합(subset)만을 관찰한다. 도 3(b)에 참조번호 82로 지시되는 해당 타일들은 최고 해상도로 다운로드된다.
그러나 사용자의 급격한 방향 변경을 처리하기 위해 사용자 앱은 도 3(c)에 참조번호 84로 지시된, 현재 뷰포트 외부의 다른 타일들의 표현들도 다운로드하여 디코딩해야 할 것이다. 이러한 앱 내의 클라이언트는 항상 사용자의 방향에 맞춰 타일 해상도를 선택하면서서, 이와 같이 현재 뷰포트를 포괄하는 타일들은 최고 해상도로, 현재 뷰포트 외부의 타일들은 도 3(c)에 보인 바와 같이 비교적 더 낮은 해상도로 다운로드할 것이다. 클라이언트 측에서 다운로드한 다음, 다운로드된 타일들을 단일한 디코더에서 처리될 단일한 비트스트림으로 병합하는 것은 제한된 연산 및 전력 리소스(resource)들을 갖는 전형적인 모바일 기기의 제약들을 해결(address)할 수단이다. 도 4는 위 예들에 대한 결합 비트스트림에서 가능한 타일 배치를 도시한다. 결합 비트스트림을 생성하는 병합 연산들은 압축 영역 처리(compressed-domain processing)를 통해 수행, 즉 변환 코딩(transcoding)을 통해 화소 영역(pixel-domain) 상의 처리를 방지한다.
도 4의 예가 (고 및 저 해상도의) 모든 타일들이 전체 360도 공간을 포괄하고 동일 영역을 반복하여 포괄하는 타일이 없는 경우를 도시하는 반면, 도 5에 도시된 바와 같이 다른 타일 그루핑(tile grouping)도 사용될 수 있다. 이는 비디오의 전체 저해상도 부분을 도 5(b)에 표시된 바와 같이 "저해상도 폴백(low resolution fallback)" 계층(layer)으로 정의하는데, 이는 360도 비디오의 부분집합을 포괄하는 고해상도 타일들과 병합될 수 있다. 전체 저해상도 폴백 비디오는 도 5(c)에 표시된 바와 같이 단일한 타일로 인코딩될 수 있는 반면, 고해상도 탕ㄹ들은 렌더링 프로세스(rendering process)의 최종 스테이지에서 비디오의 저해상도 부분의 오버레이(overlay)로 렌더링된다.
클라이언트는 그 타일 선택에 따라 도 6에 도시된 바와 같이 모든 원하는 타일 트랙(track)들을 다운로드함으로써 스트리밍 세션(session)을 시작하는데, 여기서 클라이언트는 도 6(a)에 참조번호 90으로 지시된 타일 0과 참조번호 92로 지시된 타일 1로 세션을 개시한다. 뷰포트 변경이 발생할 때(즉 사용자가 머리를 돌려 다른 방향(way)을 볼 때)마다, 타일 선택은 다음 발생되는 시간 세그먼트에서 변경, 즉 타일 0 및 도 6(a)에 참조번호 94로 지시된 타일 2가, 클라이언트가 타일 2의 위치를 변경하면 도 6(b)에 도시된 바와 같이 타일 0을 타일 1로 대체한다. 어떤 새로운 탕ㄹ 선택 및 타일들의 위치 변경을 위해서는 모든 세그먼트들이 IDR(즉시 디코더 갱신; Instantaneous Decoder Refresh) 화면, 즉 예측 연쇄 리셋(prediction-chain-resetting) 화면으로 시작할 필요가 있고, 그러지 않으면 예측 불일치(prediction mismatch), 아티팩트(artifact), 드리프트(drift)를 야기한다는 것에 유의하는 것이 중요하다.
IDR 화면을 갖는 각 세그먼트를 인코딩하는 것은 비트속도(bitrate)의 면에서 부담이 크다(costly). 세그먼트들은 지속기간이 매우 짧을 수 있어, 예를 들어 방향 변경에 신속히 반응해야 하는데, 이것이 도 7에 도시된 바와 같이 복수의 변형(variant)들을 가변(varying) IDR(또는 RAP: 랜덤 액세스 포인트; Random Access Point) 주기로 인코딩하는 것이 바람직한 이유이다. 예를 들어, 도 7(b)에 도시된 바와 같이, 시간 인스턴스(time instance) t1에서는 타일 0이 시간 인스턴스 t0에 대해 이미 다운로드되어 동일한 위치에 자리하였으므로 예측 연쇄를 단절(break)할 이유가 없고, 이것이 클라이언트가 서버에서 사용 가능한 RAP에서 시작되지 않는 세그먼트를 선택할 수 있는 이유이다.
그러나 남아있는 하나의 문제는 코딩된 화면 내의 슬라이스(타일)들이 어떤 제약들에 따라야(obey) 한다는 것이다. 제약들 중의 하나는 하나의 화면이 RAP의 NAL(네트워크 추상화 계층; Network Abstract Layer) 유닛들과 비RAP NAL 유닛 타입들을 동시에 포함할 수 없다는 것이다. 이에 따라, 앱들에는 이 문제를 해결할 2가지 덜 바람직한 옵션(option)들만이 존재한다. 첫째, 클라이언트가 RAP 화면들의 NAL 유닛 타입들을 이들이 비RAP NAL 유닛들과 하나의 화면으로 병합될 때 재기입할 수 있다, 둘째, 서버가 시작부터 비RAP을 사용함으로써 이 화면들의 RAP 특성들을 차단(obscure)할 수 있다. 그러나 이는 예를 들어 파일 포맷 패키징(file format packaging)에 이 코딩된 비디오들을 다루지 않는 시스템들에서 RAP 특성들의 검출을 방해한다.
본 발명은 간단히 재기입할 수 있는(rewritable) 신택스 구조를 통해 하나의 NAL유닛 타입을 다른 NAL 유닛 타입에 매핑(mapping)할 수 있게 하는 NAL 유닛 타입 매핑이다.
본 발명의 하나의 실시예에서, NAL 유닛 타입은 예를 들어 VVC(다목적 비디오 코딩; Versatile Video Coding) 사양(specification)의 Draft 6 V14에 기반하여 강조 편집된 다음과 같은 매개변수 집합(parameter set)에 규정될 수 있는 매핑 가능하고 매핑된 타입으로 규정된다.
도 8은 NAL 유닛 헤더 신택스를 보인다. 신택스 nal_unit_type, 즉 식별자(identifier; 100)는 도 9에 표시된 표에 규정된 바와 같이 NAL 유닛 타입, 즉 NAL 유닛에 포함된 RBSP(원시 바이트 시퀀스 페이로드; row byte sequence payloads) 데이터 구조의 타입을 규정한다.
변수 NalUnitType는 다음과 같이 정의되는데:
nal_unit_type != MAP_NUT일 때
NalUnitType은 nal_unit_type과 동일하고
그렇지 않으면 (nal_unit_type == MAP_NUT)
NalUnitType은 mapped_nut와 동일하다
사양에서 신택스 요소 nal_unit_type에 대한 모든 기재(reference)는 예를 들어 다음 제약에서와 같이 변수 NalUnitType에 대한 기재로 대체되는데:
NalUnitType의 값은 하나의 화면의 모든 코딩된 슬라이스 NAL 유닛들에 대해 동일해야 한다. 화면 또는 계층 액세스 유닛은 그 화면 또는 계층 액세스 유닛의 코딩된 슬라이스 NAL 유닛들과 동일한 NAL 유닛 타입을 갖는 것으로 간주된다(refer to). 즉 도 9에 도시된 바와 같이, 코딩 유닛 타입들의 제1 부분집합(102)이 "nal_unit_type"(12)을 표시, 즉 "MAP_NUT" 및 "VCL"을 NAL 유닛 타입 등급(class)으로 표시한다. 이에 따라 코딩 유닛 타입들의 제2 부분집합(104)이 "VCL"을 NAL 유닛 타입 등급으로 표시, 즉 식별자(100) 번호 0 내지 15로 표시된 바와 같이 하나의 화면의 모든 코딩된 슬라이스 NAL 유닛들은 코딩 유닛 타입들의 제1 부분집합(102)의 코딩 유닛 타입과 동일한 NAL 유닛 타입 등급, 즉 VCL을 갖는다.
도 10은 참조번호 106으로 표시된 바와 같이 mapped_nut을 포함하는 시퀀스 매개변수 집합 RBSP 신택스를 보이는데, 이는 MAP_NUT와 동일한 nal_unit_type을 갖는 NAL 유닛들의 NalUnitType을 나타낸다.
다른 실시예에서, 이 mapped_nut 신택스 요소는 액세스 유닛 구획자(access unit delimiter; AUD)에 반송된다(carry).
다른 실시예에서, mapped_nut의 값이 VCL NAL 유닛 타입이어야 한다는 것이 비트스트림 정합성(bitstream conformance)의 요건이다.
다른 실시예에서, MAP_NUT와 동일한 nal_unit_type을 갖는 NAL 유닛들의 NalUnitType의 매핑은 프로파일링 정보(profiling information)에 의해 실행된다. 이러한 메커니즘은 단일한 MAP_NUT을 갖는 대신 매핑 가능한 하나 이상의 NAL유닛 Type을 가질 수 있게 하여, 간단한 프로파일링 메커니즘 또는 단일한 신택스 요소 mapped_nut_space_idc 내에 매핑 가능한 NAL 유닛들의 NALUnitTypes의 요구되는 설명(interpretation)을 표시할 수 있게 한다.
다른 실시예에서, 이 매핑 메커니즘은 (예를 들어 도 10에 표시된 바와 같이 u(5)이므로) 현재 32로 제한된 NALUnitTypes의 값 범위를 확장시키는 데 사용될 수 있다. 매핑 메커니즘은 요구되는 NALUnitTypes의 수가 매핑 가능한 NAL 유닛들에 예비된(reserved) 값들의 수를 초과하지 않는 한 어떤 제한 없는 값을 표시할 수 있다.
하나의 실시예에서, 화면이 대체(substitute) 코딩 유닛 타입의 슬라이스들과 정규(regular) 코딩 유닛 타입의 슬라이스들을 동시에 포함할 때(예를 들어 VCL 범주(category)의 NAL 유닛들이 존재), 화면의 모든 슬라이스들이 유효하게 동일한 코딩 유닛 타입 특성들, 즉 대체 코딩 유닛이 정규 코딩 타입의 비 대체 슬라이스들의 코딩 타입과 동일해지는 결과가 되도록 매핑이 실행된다. 또한 이 실시예는 랜덤 액세스 특성을 갖는 화면들 또는 랜덤 액세스 특성을 갖지 않는 화면들에만 해당된다(hold true only for).
병합 시나리오에서 NAL 유닛 타입과 NAL 유닛 타입 확장성(extensibility)에 관한 문제들과 대응 해법들에 추가하여, 비디오에 관한 정보와 그 비디오가 어떻게 인코딩되었는지가 시스템 통합과 전솔 또는 조작이 요구되는 온더플라이 적응(즉석 적응; on-the-fly adaptation) 등의 몇 가지 비디오 앱들이 존재한다.
최근 설정되어 (관련)산업에 널리 사용되며 명확히 규정되어 특정한 비트값(bit value)들이 이러한 목적에 사용되는 몇 가지 공통적 정보가 존재한다. 그 예들은:
· NAL 유닛 헤더의 시간 ID(temporal ID)
· IDR, CRA, TRAIL, ... 또는 SPS (시퀀스 매개변수 집합; Sequence Parameter Set), PPS (화면 매개면수 집합; Picture Parameter Set) 등을 포함하는 NAL 유닛 타입들.
그러나 추가적 정보들이 유용할 수 있는 몇 가지 시나리오들이 존재한다. 널리 사용되지 않지만 어떤 경우들에는 어떤 유용성을 찾을 수 있는, 예를 들어 BLA, 하부화면(sub-picture)을 위한 부분적(partially) RAP NAL 유닛들, 하부계층(sub-layer) 비참조(non-reference) NAL 유닛들 등 NAL 유닛의 추가적 타입들이다. 전술한 확장성 메커니즘이 사용되면 이 NAL 유닛 타입들의 일부가 구현될 수 있을 것이다. 그러나 다른 대안은 슬라이스 헤더 내의 일부 필드(field)들을 사용하는 것이다.
과거에는, 슬라이스의 특정한 특성의 표시를 위해 사용되는 슬라이스 헤더들에 추가적 정보가 예비(reserve)되었는데:
· 폐기 가능한 플랙(discardable flag): 코딩된 화면이 인터 예측(inter prediction)을 위한 기준 화면(reference picture)으로 사용되지 않고, 인터 계층 예측(inter-layer prediction)을 위한 소스 화면(source picture)로 사용되지 않음을 규정한다.
· cross_layer_bla_flag: affects the derivation of output pictures for 더 높은 계층에서 RAP에 선행하는 화면이 출력되지 않을 수 있는 계층적 코딩(layered coding)에 대한 출력 화면의 도출에 영향을 미친다.
유사한 메커니즘이 다음(upcoming) 비디오 코덱 표준에 예상될 수 있다. 그러나 이러한 메커니즘의 하나의 제한은 정의된 플랙들이 슬라이스 헤더 내에 특정한 위치를 점유한다는 것이다. 이하에서는 이 플랙들의 HVEC에서의 사용이 도 11에 보인다.
전술한 바와 같이, 이러한 해법은 추가 슬라이스 헤더 비트들의 위치가 점진적으로 할당되고, 더 드문(seldom) 정보를 사용하는 앱들에 대해 플랙은 가능하기로 더 위치 위치에 오게 되므로, 추가 비트들의 전송에 필요한 비트들의 수를 증가시킨다(예를 들어 HVEC의 경우, "discardable_flag" 및 "cross_layer_bla_flag").
이와는 달리, NAL 유닛 타입들에 대해 설명된 유사한 메커니즘에 이어, 슬라이스 헤더 내의 추가 슬라이스 헤더 비트들의 플랫들의 매핑이 매개변수 집합들에 정의될 수 있을 것이다. 하나의 예가 도 12에 보인다.
도 12는 "extra_slice_header_bits_mapping_space_idc"를 사용하는 연계 정보를 표시하기 위한 맵, 즉 슬라이스 헤더 내의 추가 비트들을 위한 매핑 공간(mapping space)을 표시하는 참조번호 200으로 지시된 맵을 포함하는 시퀀스 매개변수 집합의 예를 보인다.r.
도 13은 도 12의 "extra_slice_header_bits_mapping_space_idc"(200)으로 표시되어 주어진 플랙들로의 비트들의 매핑을 보인다. 도 13에 도시된 바와 같이, 2진 특성들(binary characteristics; 202)이 소정의 비디오 코딩 유닛의 해당 데이터에 중복(redundant) 방식으로 기술된다. 도 13에는, 3개의 2진 특성들(202), 즉 "0", "1", 및 "2"가 도시되어 있다. 2진 특성들의 수는 플랙들의 수에 따라 변화될 수 있다.
다른 실시예에서는, (예를 들어 도 11에 도시된 바와 같은) 슬라이스 헤더의 추가 비트들에 신택스 요소의 존재(presence)를 표시하는 (예를 들어 도 14에 도시된 바와 같은) 신택스 구조에서 매핑이 실행된다. 즉 예를 들어 도 11에 도시된 바와 같이, 존재 플랙 상의 조건, 즉 슬라이스 헤더의 추가 비트들의 신택스 요소, "num_extra_slice_header_bitsi" 및 ";i<num_extra_slice_header_bits; i++"의 존재를 제어한다. 도 11에서, 추가 비트들의 각 신택스 요소는 전술한 바와 같이 슬라이스 헤더의 특정한 위치에 자리하지만, 이 실시예에서는 예를 들어 "discardable_flag", "cross_layer_bla_flag", 또는 "slice_reserved_flag[i] 등의 신택스 요소가 반드시 특정한 위치를 점유할 필요가 없다. 그 대신, 특정한 존재 플랙(예를 들어 도 14의 "discardable_flag_present_flag")의 값의 조건을 검사했을 때, 제1 신택스 요소(예를 들어 도 11의 "discardable_flag")가 존재하지 않는다고 표시되면, 다음의 제2 신택스 요소가 (존재한다면) 제1 신택스 요소의 위치를 차지한다. 또한 추가 비트들의 신택스 요소는 예를 들어 "sps_extra_ph_bit_present_flag [i]" 등의 플랙으로 표시됨으로써 화면 헤더 내에 존재할 수 있을 것이다. 또한 신택스 구조, 예를 들어 신택스 요소들의 수, 즉 존재하는 플랙들의 수가 추가 비트들에 특정한 특성들 또는 존재하는 신택스 요소의 수의 존재(existence/presence)를 표시한다. 즉 추가 비트들에 존재하는 특정한 특성들 또는 신택스 요소들의 수가 얼마나 많은 신택스 요소(플랙)들이 존재하는지 계수(counting)함으로써 표시된다. 도 14에서, 각 신택스 요소의 존재는 플랙(210)으로 표시된다. 즉 각 플랙(210)은 소정의 비디오 코딩 유닛의 특정한 특성들에 대한 슬라이스 헤더 표시의 존재를 표시한다. 또한 도 14에 표시된 바와 같은 추가적 신택스 "[...]//further flags"와, "slice_reserved_flag[i]"에 해당하는 도 11의 슬라이스 헤더의 신택스 요소가 추가 비트 내의 신택스 요소의 존재를 나타내는 플레이스 홀더(place holder)로 사용되거나 추가적 플랙들의 존재의 표시로 사용된다.
다른 실시예에서, 플랙 타입 매핑이 예를 들어 도 15에 보인 바와 같이 매개변수 집합 애의 각 추가 슬라이스 헤더 비트 당(per) 신호된다. 도 15에 도시된 바와 같이, 신택스 "extra_slice_header_bit_mapping_idc", 즉 맵(200)이 시퀀스 매개변수 집합 내에 신호되어 매핑된 특성들의 위치를 표시한다.
도 16은 도 15의 "extra_slice_header_bits_mapping_space_idc"에 의해 표시되어 제공된 비트들의 플랙들로의 매핑을 보인다. 즉 도 15에 표시된 맵(200)에 해당하는 2진 특성들(202)이 도 16에 도시되어 있다.
다른 실시예에서는, 슬라이스 헤더 확장 비트(extension bit)들이 예를 들어 도 17에 도시된 바와 같은 어떤 플랙 값 조합을 표현하는 idc 신호 생성(signaling)으로 대체된다. 도 17에 보인 바와 같이, 맵(200), 즉 "extra_slice_header_bit_idc"가 슬라이스 세그먼트 헤더에 표시, 즉 맵(200)이 도 18에 도시된 바와 같이 특성들의 존재를 신호한다.
도 18은 플랙 값, 즉 "extra_slice_header_bit_idc"의 어떤 값으로 표현된 2진 특성(202)들이 매개변수 집합에 신호되거나 사양에 사전 정의된다(미리 알려짐; known apriori).
하나의 실시예에서, "extra_slice_header_bit_idc"의 값 공간, 즉 맵(200)에 대한 값 공간은 두 범위들로 분할된다. 하나의 범위는 미리 알려진 플랙 값 조합들을 나타내고 다른 범위는 매개변수 집합들 내에 신호된 플랙 값 조합들을 나타낸다.
(이상에서) (본 발명의) 일부 국면(aspect)들이 장치의 맥락에서 기재되었으나, 이 국면들은 또한 대응 방법들을 설명 역시 나타내는 것이 명확한데, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 대응한다. 마찬가지로, 방법 단계의 맥락에서 기재된 국면들도 역시 대응 장치의 대응 블록 또는 항목(item) 또는 특징 여시 나타낼 수 있다. 방법 단계들의 일부 또는 전부는 예를 들어 마이크로프로세서, 프로그래밍 가능한 컴퓨터 또는 전자회로 등의 하드웨어 장치에 의해(또는 이를 사용하여) 실행될 수 있다. 일부 실시예들에서, 하나 이상으 가장 중요한 방법 단계들이 이러한 장치로 실행될 수 있다.
본 발명 데이터 스트림은 디지털 저장 매체(digital storage medium)에 저장되거나. 무선 전송매체 또는 인터넷 등의 유선 전송매체 등의 전송매체 상에 전송될 수 있다.
어떤 구현 요건들에 따라, 본 발명의 실시예들은 하드웨어 또는 소프트웨어에 구현될 수 있다. 이 구현은 거기에 저장된 전자적으로 독출 가능한(readable) 제어 신호를 갖는 예를 들어 플로피디스크, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM, 또는 FLASH 메모리 등의 디지털 저장 매체를 사용하여 이뤄질 수 있는데, 이는 개별적 방법이 수행되도록 프로그래밍 가능한 컴퓨터 시스템과 협조한다(또는 협조가 가능하다). 이에 따라, 디지털 저장매체는 컴퓨터 독출 가능할 수 있다.
본 발명에 따른 일부 실시예들은 전자적으로 독출 가능한 제어 신호들을 갖는 데이터 캐리어(data carrier)를 포함하는데, 이는 이 명세서에 기재된 방법들 중의 하나가 수행되도록 프로그래밍 가능한 컴퓨터 시스템과 협조할 수 있다.
일반적으로, 본 발명의 실시예들은 프로그램 코드를 갖는 컴퓨터 프로그램 제품으로 구현될 수 있는데, 이 프로그램 코드는 컴퓨터 프로그램 제품이 컴퓨터 상에서 실행될 때 방법들 중의 하나를 수행하도록 작동될 수 있다. 프로그램 코드는 예를 들어 기계 독출 가능한 캐리어 상에 저장될 수 있다.
다른 실시예들은 기계 독출 가능한 캐리어 상에 저장되어 이 명세서에 기재된 방법들 중의 하나를 수행하는 컴퓨터 프로그램을 포함한다.
달리 말해, 본 발명 방법의 하나의 실시예는 이에 따라 컴퓨터 프로그램이 컴퓨터 상에서 실행될 때 이 명세서에 기재된 방법들 중의 하나를 수행하도는 프로그램 코드를 갖는 컴퓨터 프로그램이다.
이에 따라, 본 발명 방법의 또 다른 실시예는 이 명세서에 기재된 방법들 중의 하나를 수행하는 거기에 기록된 컴퓨터 프로그램을 포함하는 데이터 캐리어(또는 디지털 저장매체, 또는 컴퓨터 독출 가능한 매체)이다. 데이터 캐리어, 디지털 저장매체, 또는 기록 매체는 전형적으로 유형 및/또는 비일시적이다.
이에 따라, 본 발명의 또 다른 실시예는 이 명세서에 기재된 방법들 중의 하나를 수행하는 컴퓨터 프로그램을 표현하는 데이터 스트림 또는 신호들의 시퀀스이다. 이 데이터 스트림 또는 신호들의 시퀀스는 예를 들어, 예를 들어 인터넷을 통하는 등 데이터 통신 연결을 통해 전송되도록 구성될 수 있다.
또 다른 실시예는 이 명세서에 기재된 방법들 중의 하나를 수행하도록 구성 또는 맞춰질 수 있는 예를 들어 컴퓨터, 또는 프로그래밍 가능한 로직 장치 등의 처리 수단을 포함한다.
또 다른 실시예는 이 명세서에 기재된 방법들 중의 하나를 수행하는 컴퓨터 프로그램이 거기에 인스톨된 컴퓨터를 포함한다.
본 발명에 따른 또 다른 실시예는 이 명세서에 기재된 방법들 중의 하나를 수신기에 (예를 들어 전자적 또는 광학적으로) 전송하도록 구성된 장치 또는 시스템을 포함한다. 수신기는 예를 들어 컴퓨터, 모바일 기기, 메모리 장치 등이 될 수 있다. 장치 또는 시스템은 예를 들어 컴퓨터 프로그램을 수신기에 전송하는 파일 서버를 포함할 수 있다.
일부 실시예들에서, (예를 들어 현장 프로그래밍 가능한 게이트 어레이(field programmable gate array) 등의) 프로그래밍 가능한 로직 장치가 이 명세서에 기재된 방법들의 기능들의 일부 또는 전부를 수행하는 데 사용될 수 있다. 일부 실시예들에서, 이 명세서에 기재된 방법들 중의 하나를 수행하기 위해 현장 프로그래밍 가능한 게이트 어레이가 마이크로프로세서와 협조할 수 있다. 일반적으로 방법들은 바람직하기로 어떤 하드웨어 장치로 수행된다.
이 명세서에 기재된 장치는 하드웨어 장치를 사용하거나 컴퓨터를 사용하거나, 또는 하드웨어 장치와 컴퓨터의 조합을 사용하여 구현될 수 있다.
이 명세서에 기재된 장치, 또는 이 명세서에 기재된 장치의 어떤 컴포넌트는 적어도 부분적으로 하드웨어 및/또는 소프트웨어에서 구현될 수 있다.

Claims (28)

  1. 각 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로부터 상기 각 화면을 디코딩함으로써 상기 비디오 데이터 스트림으로부터 복수의 화면들을 포함하는 비디오를 디코딩하고;
    상기 비디오 데이터 스트림의 매개변수 집합 유닛으로부터 대체 코딩 유닛 타입을 독출하며;
    각 소정의 비디오 코딩 유닛에 대해,
    상기 각 비디오 유닛으로부터 코딩 유닛 타입 식별자(100)를 독출하고
    상기 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102)으로부터 또는 코딩 유닛 타입들의 제2 부분집합(104)으로부터 코딩 유닛 타입을 식별하는지 여부를 검사하여,
    상기 코딩 유닛 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면, 상기 각 소정의 비디오 코딩 유닛이 상기 대체 코딩 유닛 타입인 것으로 간주하고,
    상기 코딩 유닛 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면, 상기 각 소정의 비디오 코딩 유닛이 상기 코딩 유닛 식별자로 식별된 상기 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입인 것으로 간주하도록
    구성되는 비디오 디코더.
  2. 제1항에 있어서,
    상기 각 비디오 코딩 유닛에 대해, 상기 각 비디오 코딩 유닛에 연계된 영역을 상기 각 비디오 코딩 유닛이 간주된 상기 코딩 유닛 타입에 따르는 방식으로 디코딩하도록 구성되는 비디오 디코더.
  3. 제1항 또는 제2항에 있어서,
    상기 대체 코딩 유닛 타입이 상기 비디오 코딩 타입들의 제2 부분집합으로부터의 것이 되도록 구성되는 비디오 디코더.
  4. 제1항 내지 제3항 중의 어느 한 항에 있어서,
    상기 대체 코딩 유닛 타입이, 상기 비디오 코딩 타입들의 제2 부분집합에 포함되지 않는 적어도 하나의 비디오 코딩 타입을 포함하는 비디오 코딩 타입의 제3 부분집합으로부터의 것이 되도록 구성되는 비디오 디코더.
  5. 제1항 내지 제4항 중의 어느 한 항에 있어서,
    상기 소정의 비디오 코딩 유닛들이 화면 블록 분할 데이터, 블록 관련 예측 매개변수들, 및 예측 잔차 데이터를 반송하는 비디오 디코더.
  6. 제5항에 있어서,
    화면이 상기 제1 부분집합의 코딩 유닛 타입을 갖는 하나 이상의 비디오 코딩 유닛들과 상기 제2 부분집합의 코딩 유닛 타입을 갖는 하나 이상의 비디오 코딩 유닛들을 동시에 포함하면, 후자의 비디오 코딩 유닛들이 대체 코딩 유닛 타입과 동일한 코딩 유닛 타입을 갖는 비디오 디코더.
  7. 제6항에 있어서,
    상기 대체 코딩 유닛 타입이 랜덤 액세스 포인트, RAP 코딩 타입인 비디오 디코더.
  8. 제6항에 있어서,
    상기 대체 코딩 유닛 타입이 랜덤 액세스 포인트, RAP 코딩 타입이 아닌 코딩 타입인 비디오 디코더.
  9. 제1항 내지 제5항 중의 어느 한 항에 있어서,
    상기 소정의 비디오 코딩 유닛들의 각각이, 상기 각 소정의 비디오 코딩 유닛들이 그 안에서 상기 액세스 유닛과 연계되는 상기 화면의 다른 영역들에 연계되는 비디오 디코더.
  10. 제1항 내지 제9항 중의 어느 한 항에 있어서,
    상기 비디오 데이터 스트림의 상기 매개변수 집합 유닛이 화면들의 시퀀스, 하나의 화면, 상기 하나의 화면으로부터의 슬라이스들의 집합을 포괄하는 범위를 갖는 비디오 디코더.
  11. 제1항 내지 제10항 중의 어느 한 항에 있어서,
    상기 매개변수 집합 유닛이 비디오 데이터 스트림 프로파일 특정 방식으로 상기 대체 코딩 유닛을 나타내는 비디오 디코더.
  12. 제1항 내지 제11항 중의 어느 한 항에 있어서,
    상기 비디오 데이터 스트림의 상기 매개변수 집합 유닛이:
    화면들의 하나의 시퀀스를 포괄하는 범위를 갖는 매개변수 집합 유닛, 또는
    상기 액세스 유닛에 연계된 하나 이상의 화면들을 포괄하는 범위를 갖는 액세스 유닛 구획자
    중의 어느 하나인 비디오 디코더.
  13. 제1항 내지 제12항 중의 어느 한 항에 있어서,
    상기 매개변수 집합 유닛이 비디오 스트림의 대체 코딩 유닛이,
    상기 소정의 비디오 코딩 유닛이 비디오의 디코딩을 위한 비디오 시퀀스의 갱신 시작점으로 사용되었는지, 또는 비디오의 디코딩을 위한 비디오 시퀀스의 연속 시작점으로 사용되었는지
    여부를 나타내는 비디오 디코더.
  14. 각 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로부터 상기 각 화면을 디코딩함으로써 상기 비디오 데이터 스트림으로부터 복수의 화면들을 포함하는 비디오를 디코딩하는데, 상기 각 비디오 코딩 유닛들이 화면 블록 분할 데이터, 블록 관련 예측 매개변수들, 및 예측 잔차 데이터를 반송하고, 그 안에서 상기 액세스 유닛과 연계되는 상기 화면의 다른 영역들에 연계되며;
    소정의 비디오 코딩 유닛들의 각각으로부터 하나 이상의 신택스 요소들의 n치 집합을 독출하고, m>n일 때 상기 하나 이상의 신택스 요소들의 n치 집합을 하나 이상의 특성들(202)의 m치 집합으로 매핑(200)하는데, 상기 각 특성이 상기 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 상기 비디오가 그 안에서 상기 소정의 비디오 코딩 유닛이 상기 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하거나, 또는
    상기 소정의 비디오 코딩 유닛의 각각으로부터 N>0일 때 N개의 신택스 요소들(210)을 독출하는데, 상기 비디오 데이터 스트림으로부터 연계 정보를 독출하여 상기 연계 정보에 따라 M>N일 때 상기 N개의 신택스 요소들의 각각을 M개의 특성들 중의 하나에 연계시키고, 상기 각 특성이 상기 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 상기 비디오가 그 안에서 상기 소정의 비디오 코딩 유닛이 상기 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하도록
    구성되는 비디오 디코더.
  15. 제14항에 있어서,
    상기 맵이 상기 매개변수 집합 유닛에 포함되어 상기 매핑된 특성들의 위치를 나타내는 비디오 디코더.
  16. 제14항에 있어서,
    상기 맵이 상기 데이터 스트림 내에 신호되어 상기 매핑된 특성들의 위치를 나타내는 비디오 디코더.
  17. 제14항에 있어서,
    상기 N개의 신택스 요소들이 상기 특성들의 존재를 나타내는 비디오 디코더.
  18. 제14항에 있어서,
    상기 제공되는 신택스 요소들의 수(N)가 특성들의 존재 또는 추가 비트들 내에 제공되는 신택스 요소의 수를 나타내는 비디오 디코더.
  19. 각 화면을 개별 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩함으로써 복수의 화면들을 포함하는 비디오를 상기 비디오 데이터 스트림으로 인코딩하고;
    상기 비디오 데이터 스트림의 매개변수 집합 유닛에 대체 코딩 유닛 타입을 표시하며;
    각 소정의 비디오 코딩 유닛에 대해,
    상기 개별 비디오 코딩 유닛에 대한 코딩 유닛 타입 식별자(100)를 상기 비디오 데이터 스트림에 인코딩하는데, 여기서 상기 코딩 유닛 타입 식별자는 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102)으로부터 또는 하나 이상의 코딩 유닛 타입들의 제2 부분집합(104)으로부터 코딩 유닛 타입을 식별하고, 여기서
    상기 코딩 유닛 타입 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면 상기 개별 소정의 비디오 코딩 유닛에 상기 대체 코딩 유닛 타입을 부여하고;
    상기 코딩 유닛 타입 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면 상기 개별 소정의 비디오 코딩 유닛들에 상기 코딩 유닛 타입 식별자로 식별된 상기 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입을 부여하며,
    여기서 상기 대체 코딩 유닛 타입은 RAP 타입이고 비디오 인코더가 RAP 화면들의 비디오 코딩 유닛들을 상기 소정의 비디오 코딩 유닛들로 식별하도록 구성되는 비디오 인코더.
  20. 거기에 인코딩된 복수의 화면들을 포함하는 비디오를 갖는 비디오 데이터 스트림을 편집하는데, 각 화면이 화면들이 이로 분할된 타일들의 각각에 대한 개별 화면에 대해 하나 이상의 비디오 코딩 유닛들이 연계되는 상기 비디오 데이터 스트림의 액세스 유닛 내의 상기 하나 이상의 비디오 코딩 유닛들로 인코딩되고;
    상기 비디오 데이터 스트림의 매개변수 집합 유닛의 대체 코딩 유닛 타입을 RAP 타입의 표시로부터 비 RAP 타입을 표시하도록 변경하며;
    그 식별자(100)가 상기 비디오 데이터 스트림으로 인코딩된 전용으로 코딩된 비디오 코딩 유닛들의 상기 비디오 데이터 스트림 화면들에서 RAP 화면들을 식별하는 코딩 유닛 타입을 식별하는데;
    여기서 상기 비디오 데이터 스트림의 소정의 비디오 코딩 유닛들의 각각에 대해,
    상기 비디오 데이터 스트림으로 인코딩된 개별 p 비디오 코딩 유닛들에 대한 식별자(100)가 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102) 또는 하나 이상의 코딩 유닛 타입들의 제2 부분집합(104)로부터 코딩 유닛 타입을 식별하고, 여기서
    상기 코딩 유닛 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면, 상기 각 소정의 비디오 코딩 유닛이 코딩 유닛 타입이 상기 대체 코딩 유닛 타입인 것으로 간주하고;
    상기 코딩 유닛 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면, 상기 각 소정의 비디오 코딩 유닛이 상기 코딩 유닛 식별자로 식별된 상기 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입인 것으로 간주하도록 구성되는 비디오 편집기.
  21. 각 화면을 개별 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩함으로써 복수의 화면들을 비디오 데이터 스트림으로 인코딩하는데, 여기서 상기 각 비디오 코딩 유닛은 화면 블록 분할 데이터와, 블록 관련 예측 매개변수들과, 및 예측 잔차 데이터를 반송하고, 그 안에 소정의 비디오 코딩 유닛의 위치하는 액세스 유닛과 연계되는 상기 화면의 다른 영역에 연계되고;
    상기 소정의 비디오 코딩 유닛의 각각으로의 하나 이상의 신택스 요소들의 n치 집합의 매핑(200)을 표시하는데, 상기 매핑은 디폴트로 고정되거나; 이와 달리, 데이터 스트림에, 또는 값 범위를 분할함으로써 양자가 수행되는데, m>n일 때 하나 이상의 신택스 요소들의 n치 집합을 하나 이상의 특성(202)들의 m치 집합으로 매핑하고, 상기 각 특성이 상기 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 상기 비디오가 그 안에서 상기 소정의 비디오 코딩 유닛이 상기 액세스 유닛에 연계된 화면에 대해 상기 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하거나, 또는
    상기 소정의 비디오 코딩 유닛의 각각에, N>0일 때 상기 데이터 스트림에 연계 정보를 표시하는 N개의 신택스 요소들(210)들을 표시하고, M>N일 때 상기 연계 정보에 따라 상기 N개의 신택스 요소들을 M개의 특성들 중의 하나에 연계시키며, 상기 각 특성은 상기 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 상기 비디오가 그 안에서 상기 소정의 비디오 코딩 유닛이 상기 액세스 유닛에 연계된 화면에 대해 상기 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하도록 구성되는 비디오 인코더.
  22. 개별 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로부터 각 화면을 디코딩함으로써 상기 비디오 데이터 스트림으로부터 복수의 상기 화면들을 디코딩하는 단계와;
    상기 비디오 데이터 스트림의 매개변수 집합 유닛으로부터 대체 코딩 유닛 타입을 독출하는 단계를 포함하고;
    각 소정의 비디오 코딩 유닛에 대해,
    개별 비디오 코딩 유닛으로부터 코딩 유닛 타입 식별자를 독출하고;
    상기 코딩 유닛 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 또는 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하는지 검사하여,
    상기 코딩 유닛 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면 상기 개별 유닛 타입이 상기 대체 코딩 유닛 타입인 것으로 간주하고;
    상기 코딩 유닛 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면 상기 개별 유닛 타입이 상기 코딩 유닛 식별자로 식별된 상기 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입인 것으로 간주하는 단계를
    포함하는 방법.
  23. 개별 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로부터 상기 각 화면을 디코딩함으로써 상기 비디오 데이터 스트림으로부터 복수의 화면들을 포함하는 비디오를 디코딩하는 단계로, 각 상기 비디오 코딩 유닛들이 화면 블록 분할 데이터, 블록 관련 예측 매개변수들, 및 예측 잔차 데이터를 반송하고, 그 안에서 액세스 유닛과 연계되는 화면의 다른 영역들에 연계되는 단계와;
    상기 소정의 비디오 코딩 유닛들의 각각으로부터 하나 이상의 신택스 요소들의 n치 집합을 독출하고, m>n일 때 상기 하나 이상의 신택스 요소들의 n치 집합을 하나 이상의 특성들의 m치 집합으로 매핑하는 단계로, 상기 각 특성이 상기 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 상기 비디오가 그 안에서 상기 소정의 비디오 코딩 유닛이 상기 액세스 유닛에 연계된 화면에 대해 상기 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하거나, 또는
    상기 소정의 비디오 코딩 유닛의 각각으로부터 N>0일 때 N개의 신택스 요소들을 독출하는 단계로, 상기 비디오 데이터 스트림으로부터 연계 정보를 독출하여, 상기 연계 정보에 따라 M>N일 때 N개의 신택스 요소들의 각각을 M개의 특성들 중의 하나에 연계시키고, 상기 각 특성은 상기 소정의 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 상기 비디오가 그 안에서 상기 소정의 비디오 코딩 유닛이 상기 액세스 유닛에 연계된 화면에 대해 상기 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하는 단계를 포함하는 방법.
  24. 각 화면을 개별 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩함으로써 복수의 화면들을 포함하는 비디오를 상기 비디오 데이터 스트림으로 인코딩하는 단계와;
    상기 비디오 데이터 스트림의 매개변수 집합 유닛에 대체 코딩 유닛 타입을 표시하는 단계와;
    각 소정의 비디오 코딩 유닛에 대해,
    상기 개별 비디오 코딩 유닛에 대한 코딩 유닛 타입 식별자(100)를 정의하는 단계로, 여기서 상기 코딩 유닛 타입 식별자가 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102)으로부터 또는 하나 이상의 코딩 유닛 타입들의 제2 부분집합(104)으로부터 코딩 유닛 타입을 식별하고,
    상기 코딩 유닛 타입 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면 상기 개별 소정의 비디오 코딩 유닛에 상기 대체 코딩 유닛 타입을 부여하고;
    상기 코딩 유닛 타입 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면 상기 개별 소정의 비디오 코딩 유닛들에 상기 코딩 유닛 타입 식별자로 식별된 상기 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입을 부여하는 단계를
    포함하는 방법.
  25. 화면들이 이로 분할된 타일들의 각각에 대한 개별 화면에 대해 하나 이상의 비디오 코딩 유닛들이 연계되는 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩되도록, 거기에 인코딩된 복수의 화면들을 갖는 비디오 데이터 스트림을 편집하는 단계와:
    상기 비디오 데이터 스트림의 매개변수 집합 유닛의 상기 대체 코딩 유닛 타입을 RAP 타입의 표시로부터 비 RAP 타입을 표시하도록 변경하는 단계와;
    상기 비디오 데이터 스트림 화면들에서 상기 비디오 데이터 스트림으로 인코딩된 그 식별자(100)가 RAP 화면들을 식별하는 전용으로 코딩된 비디오 코딩 유닛들을 식별하는 단계와;
    여기서 상기 비디오 데이터 스트림의 상기 소정의 비디오 코딩 유닛들의 각각에 대해,
    상기 비디오 데이터 스트림으로 인코딩된 개별 p 비디오 코딩 유닛들에 대한 식별자(100)가 하나 이상의 코딩 유닛 타입들의 제1 부분집합(102) 또는 하나 이상의 코딩 유닛 타입들의 제2 부분집합(104)로부터 코딩 유닛 타입을 식별하고, 여기서
    상기 코딩 유닛 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제1 부분집합으로부터 코딩 유닛 타입을 식별하면, 상기 각 소정의 비디오 코딩 유닛이 코딩 유닛 타입이 상기 대체 코딩 유닛 타입인 것으로 간주하고;
    상기 코딩 유닛 식별자가 상기 하나 이상의 코딩 유닛 타입들의 제2 부분집합으로부터 코딩 유닛 타입을 식별하면, 상기 각 소정의 비디오 코딩 유닛이 상기 코딩 유닛 식별자로 식별된 상기 코딩 유닛 타입들의 제2 부분집합으로부터의 코딩 유닛 타입인 것으로 간주하는 단계를
    포함하는 방법.
  26. 각 화면을 개별 화면에 연계된 비디오 데이터 스트림의 액세스 유닛 내의 하나 이상의 비디오 코딩 유닛들로 인코딩함으로써 복수의 화면들을 포함하는 비디오를 인코딩하는 단계로, 여기서 각 비디오 코딩 유닛은 화면 블록 분할 데이터와, 블록 관련 예측 매개변수들과, 및 예측 잔차 데이터를 반송하고, 그 안에서 개별 소정의 비디오가 위치되는 액세스 유닛에 연계된 화면의 다른 영역들에 연계되는 단계와;
    소정의 비디오 코딩 유닛의 각각에 하나 이상의 신택스 요소들의 n치 집합을 표시하여 m>n일 때 하나 이상의 신택스 요소들의 n치 집합을 하나 이상의 특성들의 m치 집합으로 매핑하는 단계로, 상기 각 특성은 상기 소정 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 상기 비디오가 그 안에서 상기 소정의 비디오 코딩 유닛이 상기 액세스 유닛에 연계된 화면에 대해 상기 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하거나, 또는
    상기 소정의 비디오 코딩 유닛의 각각에 N>0일 때 N개의 신택스 요소들(210)을 표시하는 단계로, 상기 비디오 데이터 스트림에 연계 정보를 표시하여 상기 연계 정보에 따라 M>N일 때 N개의 신택스 요소들의 각각을 M개의 특성들 중의 하나에 연계시키고, 상기 각 특성이 소정 비디오 코딩 유닛 내의 해당 데이터에 중복 방식으로 어떻게 비디오가 그 안에서 소정의 비디오 코딩 유닛이 액세스 유닛에 연계된 화면에 대해 비디오 데이터 스트림으로 코딩되었는지에 대해 기술하는 단계를
    포함하는 방법.
  27. 컴퓨터 상에서 실행될 때, 제22항 내지 제25항 중의 어느 한 항에 따른 방법을 수행하는 프로그램 코드를 갖는 컴퓨터 프로그램.
  28. 제24항 내지 제26항 중의 어느 한 항에 따른 방법으로 생성된 데이터 스트림.
KR1020227010567A 2019-09-03 2020-09-03 스트림 병합을 위한 설정 가능한 nal 및 슬라이스 코드 포인트 메커니즘 KR20220053014A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19195198 2019-09-03
EP19195198.7 2019-09-03
PCT/EP2020/074619 WO2021043914A1 (en) 2019-09-03 2020-09-03 Configurable nal and slice code point mechanism for stream merging

Publications (1)

Publication Number Publication Date
KR20220053014A true KR20220053014A (ko) 2022-04-28

Family

ID=67850958

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227010567A KR20220053014A (ko) 2019-09-03 2020-09-03 스트림 병합을 위한 설정 가능한 nal 및 슬라이스 코드 포인트 메커니즘

Country Status (11)

Country Link
US (1) US20220329865A1 (ko)
EP (1) EP4026320A1 (ko)
JP (2) JP7400084B2 (ko)
KR (1) KR20220053014A (ko)
CN (1) CN114600458A (ko)
AU (1) AU2020340538B2 (ko)
BR (1) BR112022003991A2 (ko)
CA (1) CA3153225A1 (ko)
IL (1) IL291050A (ko)
MX (1) MX2022002644A (ko)
WO (1) WO2021043914A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4025113B2 (ja) * 2001-04-27 2007-12-19 松下電器産業株式会社 無線伝送装置
WO2014108088A1 (en) * 2013-01-11 2014-07-17 Mediatek Singapore Pte. Ltd. Method and apparatus for efficient coding of depth lookup table
US9596486B2 (en) 2013-04-05 2017-03-14 Qualcomm Incorporated IRAP access units and bitstream switching and splicing
US10630992B2 (en) * 2016-01-08 2020-04-21 Samsung Electronics Co., Ltd. Method, application processor, and mobile terminal for processing reference image

Also Published As

Publication number Publication date
JP7400084B2 (ja) 2023-12-18
MX2022002644A (es) 2022-04-06
US20220329865A1 (en) 2022-10-13
JP2022547877A (ja) 2022-11-16
EP4026320A1 (en) 2022-07-13
CA3153225A1 (en) 2021-03-11
AU2020340538B2 (en) 2023-11-30
AU2020340538A1 (en) 2022-03-24
BR112022003991A2 (pt) 2022-05-31
IL291050A (en) 2022-05-01
CN114600458A (zh) 2022-06-07
JP2024026283A (ja) 2024-02-28
WO2021043914A1 (en) 2021-03-11

Similar Documents

Publication Publication Date Title
US11570456B2 (en) Apparatus and methods thereof for video processing
US20220007036A1 (en) Partial Video Decoding Method, Device and System
CN113498606A (zh) 用于视频编码和解码的装置、方法和计算机程序
KR20190140903A (ko) 퀄리티 기반 360도 비디오를 송수신하는 방법 및 그 장치
JP2018519723A (ja) ビデオストリーミング装置、ビデオストリーム、ビデオストリーミング方法、及び、コンピュータプログラム
JP2017530613A (ja) ビデオ合成
KR102334628B1 (ko) 360도 비디오의 영역 정보 전달 방법 및 장치
US11259049B2 (en) Area-based processing method and apparatus for 360-degree video
JP7421600B2 (ja) フレーム部分を有するビデオデータを符号化又は復号する方法及び装置
US20210385423A1 (en) Video transmitting method, video transmitting apparatus, video receiving method, and video receiving apparatus
WO2021117802A1 (ja) 画像処理装置および方法
JP7293368B2 (ja) サブピクチャまたは領域ごとのランダムアクセスを可能にするビデオコーデックとこのビデオコーデックを使用したビデオ合成の概念
JP2023507348A (ja) ビデオストリームにおいて異なるnalユニットタイプのnalユニットを混合するためのデコーダ、エンコーダおよび方法
KR102271444B1 (ko) 영역 기반 360도 비디오를 전송하는 방법, 영역 기반 360도 비디오를 수신하는 방법, 영역 기반 360도 비디오 전송 장치, 영역 기반 360도 비디오 수신 장치
CN111434120A (zh) 高效的沉浸式流传输
KR20220053014A (ko) 스트림 병합을 위한 설정 가능한 nal 및 슬라이스 코드 포인트 메커니즘
TWI789662B (zh) 有關子圖像之視訊寫碼技術
WO2019038433A1 (en) SIGNALING CHARACTERISTICS FOR OMNIDIRECTIONAL CONTENT
EP4199516A1 (en) Reduction of redundant data in immersive video coding

Legal Events

Date Code Title Description
A201 Request for examination