KR20220155988A - 비디오 코딩에서 서브픽처 정보 사용 - Google Patents

비디오 코딩에서 서브픽처 정보 사용 Download PDF

Info

Publication number
KR20220155988A
KR20220155988A KR1020227031063A KR20227031063A KR20220155988A KR 20220155988 A KR20220155988 A KR 20220155988A KR 1020227031063 A KR1020227031063 A KR 1020227031063A KR 20227031063 A KR20227031063 A KR 20227031063A KR 20220155988 A KR20220155988 A KR 20220155988A
Authority
KR
South Korea
Prior art keywords
subpicture
picture
video
random access
bitstream
Prior art date
Application number
KR1020227031063A
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 KR20220155988A publication Critical patent/KR20220155988A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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
    • 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/88Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving rearrangement of data among different coding units, e.g. shuffling, interleaving, scrambling or permutation of pixel data or permutation of transform coefficient data among different blocks

Landscapes

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

Abstract

비디오를 처리하기 위한 방법 및 장치가 설명된다. 프로세싱은 비디오 인코딩, 디코딩 또는 트랜스코딩을 포함할 수 있다. 하나의 예시적인 비디오 처리 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 비트스트림 내의 네트워크 추상화 계층(NAL) 유닛의 신택스를 지정하는 포맷 규칙을 따르고, 여기서 포맷 규칙은 비디오 코딩 계층(VCL) NAL 유닛 유형의 NAL 유닛이 특정 유형의 픽처 또는 서브픽처의 특정 유형과 연관된 콘텐츠를 포함함을 지정한다.

Description

비디오 코딩에서 서브픽처 정보 사용
이 특허 문서는 이미지 및 비디오 코딩(video coding) 및 디코딩(decoding)에 관한 것이다.
파리협약에 따른 대응하는 특허법 및/또는 규칙에 따라, 이 출원은 2020년 3월 20일에 출원된 미국 가특허 출원 번호 US 62/992,724의 우선권과 이익을 적시에 주장하기 위해 이루어진다. 법에 따른 모든 목적을 위해, 상기 출원의 전체 개시는 본 출원의 개시의 일부로 참조에 의해 통합된다.
디지털 비디오는 인터넷 및 다른 디지털 통신 네트워크에서 가장 많은 대역폭을 사용한다. 비디오(video)를 수신하고 나타낼 수 있는 연결된 사용자 장치(connected user device)의 수가 증가함에 따라, 디지털 비디오 사용에 대한 대역폭 수요가 계속 증가할 것으로 예상된다.
본 문서는 다양한 신택스(syntax)의 규칙을 사용하여 비디오의 코딩된 표현(coded representation)을 처리하기 위해 비디오 인코더(encider) 및 디코더(decoder)에 의해 사용될 수 있는 기술을 개시한다.
하나의 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 서브픽처(subpicture)를 포함하는 하나 이상의 픽처를 포함하는 비디오(video)와 비디오의 비트스트림(bitstream) 사이의 변환(conversion)을 수행하는 단계를 포함하고, 여기서 비트스트림은 비트스트림 내의 네트워크 추상화 계층(network abstraction layer)(NAL) 유닛(unit)의 신택스(syntex)을 지정하는 포맷 규칙(format rule)을 따르고, 여기서 포맷 규칙은 비디오 코딩 계층(video coding layer)(VCL) NAL 유닛 유형의 NAL 유닛이 특정 유형의 픽처 또는 서브픽처의 특정 유형과 연관된 콘텐츠를 포함함을 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 서브픽처가 인트라 랜덤 액세스 포인트 서브픽처(intra random access point subpicture)의 리딩 서브픽처임에 응답하여 서브픽처의 랜덤 액세스 유형임을 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 포맷 규칙을 따르고, 여기서 포맷 규칙은 하나 이상의 랜덤 액세스 시킵된 리딩 서브픽처가, 하나 이상의 랜덤 액세스 스킵된 리딩 서브픽처(random access skipped leading subpicture)가 인스턴스 디코딩 리프레시 서브픽처(instantaneous decoding refresh subpicture)와 연관되는 것에 응답하여, 비트스트림으로 부터 부재함을 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처가, 인스턴스 디코딩 리프레시 서브픽처는 리딩 픽처와 연관되지 않음을 지정하는, 네트워크 추상화 계층(NAL) 유닛의 유형을 갖는 인스턴스 디코딩 리프레시 서브픽처와 연관되는 것에 응답하여, 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처가 비트스트림으로 부터 부재함을 지정하는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 두 개의 이웃 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 상이한 유형의 네트워크 추상화 계층(NAL) 유닛을 갖는 두 개의 이웃 서브픽처들이 코딩된 계층 비디오 시퀀스에서 두 개의 이웃 서브픽처들 각각이 픽처로서 취급되는지를 나타내는 동일한 제1 값을 갖는 신택스 요소들을 갖는다는 것을 지정하는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 두 개의 이웃 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 포맷 규칙은 두 개의 이웃 서브픽처가 제1 서브픽처 인덱스를 갖는 제1 이웃 서브픽처 및 제2 서브픽처 인덱스를 갖는 제2 이웃 서브픽처를 포함하도록 지정하고, 포맷 규칙은 제1 이웃 서브픽처가 픽처로서 취급되지 않음을 나타내는 제1 서브픽처 인덱스와 연관된 제1 신택스 요소 또는 제2 이웃 서브픽처가 픽처로서 취급되지 않음을 나타내는 제2 서브픽처 인덱스와 연관된 제2 신택스 요소에 응답하여, 두 개의 이웃 서브픽처는 동일한 유형의 네트워크 추상화 계층(NAL) 유닛을 가짐을 지정한다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은, 픽처 파라미터 세트(picture parameter set)(PPS)를 참조하는 비디오의 각각의 픽처가 동일한 유형의 VCL NAL 유닛을 갖지 않는 복수의 VCL NAL 유닛을 갖는다는 것을 나타내는 신택스 요소에 응답하여, 픽처가 둘 이상의 상이한 유형의 비디오 코딩 계층(VCL) 네트워크 추상화 계층(NAL) 유닛들을 포함하도록 허용됨을 지정하는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 인트라 랜덤 액세스 포인트 서브픽처 또는 점진적 디코딩 리프레시 서브픽처(gradual decoding refresh subpicture)와 연관된 트레일링 서브픽처(trailing subpicture)가 인트라 랜덤 액세스 포인트 서브픽처 또는 점진적 디코딩 리프레시 서브픽처를 순서대로 따르도록 지정하는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 서브픽처가, 다음에 응답하여, 인트라 랜덤 액세스 포인트 서브픽처와 연관된 인트라 랜덤 액세스 포인트 서브픽처 및 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처를 제1 순서에서 선행함을 지정하는 포맷 규칙을 따른다: (1) 인트라 랜덤 액세스 포인트 서브픽처를 제2 순서에서 선행하는 서브픽처, (2) 서브픽처 및 인트라 랜덤 액세스 포인트 서브픽처의 네트워크 추상화 계층(NAL) 유닛이 속하는 계층에 대해 동일한 제1 값을 갖는 서브픽처 및 인트라 랜덤 액세스 포인트 서브픽처, 및 (3) 서브픽처 인덱스의 동일한 제2 값을 갖는 서브픽처 및 인트라 랜덤 액세스 포인트 서브픽처.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 클린 랜덤 액세스 서브픽처(clean random access subpicture)와 연관된 랜덤 액세스 스킵된 리딩 서브픽처가 클린 랜덤 액세스 서브픽처와 연관된 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처를 순서에서 선행함을 지정하는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 클린 랜덤 액세스 서브픽처와 연관된 랜덤 액세스 스킵된 리딩 서브픽처는 클린 랜덤 액세스 서브픽처에 제2 순서에서 선행하는 하나 이상의 인트라 랜덤 액세스 포인트 서브픽처를 제1 순서에서 따르는 것을 지정하는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 현재 서브픽처가, 다음에 응답하여, 인트라 랜덤 액세스 포인트 서브픽처와 연관된 하나 이상의 비-리딩 서브픽처를 디코딩 순서에서 선행하는 것을 지정하는 포맷 규칙을 따른다: (1) 코딩된 계층 비디오 시퀀스(coded layer video sequence)가 프레임(frame)을 표현하는 픽처들을 전달한다는 것을 나타내는 신택스 요소고, (2) 현재 서브픽처는 인트라 랜덤 액세스 포인트 서브픽처와 연관된 리딩 서브픽처임.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 픽처 내의 모든 비디오 코딩 계층(VCL) NAL 유닛에 대한 하나 이상의 유형의 네트워크 추상화 계층(NAL) 유닛이, 픽처가 인트라 랜덤 액세스 포인트 픽처의 리딩 픽처인 것에 응답하여, RADL_NUT 또는 RASL_NUT를 포함하도록 지정하는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 복수의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 적어도 하나의 서브픽처가, 다음에 응답하여, 제1 순서에서 점진적 디코딩 리프레시 서브픽처 및 상기 점진적 디코딩 리프레시 서브픽처와 연관된 하나 이상의 서브픽처에 선행함을 지정하는 포맷 규칙을 따른다: (1) 점진적 디코딩 리프레시 서브픽처를 제2 순서에서 선행하는 적어도 서브픽처, (2) 적어도 하나의 서브픽처의 네트워크 추상화 계층(NAL) 유닛 및 점진적 디코딩 리프레시 서브픽처가 속하는 계층에 대해 동일한 제1 값을 갖는 적어도 하나의 서브픽처 및 점진적 디코딩 리프레시 서브픽처, 및 (3) 서브픽처 인덱스의 동일한 제2 값을 갖는 적어도 하나의 서브픽처 및 점진적인 디코딩 리프레시 픽처.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 현재 슬라이스의 레퍼런스 픽처 목록 내의 활성 항목을, 다음에 응답하여, 단계적 시간적 서브계층 액세스 서브픽처(step-wise temporal sublayer access subpicture)를 포함하는 제2 픽처를 디코딩 순서에서 선행하는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다: (a) 현재 서브픽처와 동일한 시간적 식별자 및 네트워크 추상화 계층(NAL) 유닛의 동일한 계층 식별자를 갖는 제1 픽처, 및 (b) 디코딩 순서에서 단계적 시간적 서브계층 액세스 서브픽처(step-wise temporal sublayer access subpicture)를 따르는 현재 서브픽처, 및 (c) 현재 서브픽처 및 동일한 시간적 식별자, 동일한 계층 식별자 및 동일한 서브픽처 인덱스를 갖는 단계적 시간적 서브계층 액세스 서브픽처.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 현재 슬라이스의 레퍼런스 픽처 목록 내의 활성 항목을, 현재 서브픽처가 서브픽처의 특정 유형이 아닌 것에 대한 응답하여 이용 불가능한 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성되는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 현재 슬라이스의 레퍼런스 픽처 목록 내의 항목을, 현재 서브픽처가 서브픽처의 특정 유형이 아닌 것에 대한 응답하여 이용 불가능한 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성되는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은, 현재 슬라이스의 레퍼런스 픽처 목록의 항목을, 다음에 응답하여, 현재 픽처를 제1 순서 또는 제 2 순서에서 선행하는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다: (a) 제2 순서에서 현재 서브픽처에 선행하는 인트라 랜덤 액세스 포인트 서브픽처(preceding intra random access point subpicture)를 을 포함하는 제1 픽처, (b) 네트워크 추상화 계층(NAL) 유닛의 동일한 계층 식별자 및 현재 서브픽처의 것과 동일한 서브픽처 인덱스를 갖는 선행 인트라 랜덤 액세스 포인트 서브픽처 (c) 클린 랜덤 액세스 서브픽처인 현재 픽처.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은, 현재 슬라이스의 레퍼런스 픽처 목록의 활성 항목을, 다음에 응답하여, 현재 픽처를 제1 순서 또는 제 2 순서에서 선행하는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다: (a) 인트라 랜덤 액세스 포인트 서브픽처와 연관되는 현재 서브픽처, (b) 제1 순서에서 인트라 랜덤 액세스 포인트 서브픽처를 따르는 현재 서브픽처.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은, 현재 슬라이스의 레퍼런스 픽처 목록의 항목을, 다음에 응답하여, 현재 서브픽처와 연관된 인트라 랜덤 액세스 포인트 서브픽처를 포함하는 현재 픽처를 제1 순서 또는 제 2 순서에서 선행하는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다: (a) 제1 순서에서 인트라 랜덤 액세스 포인트 서브픽처를 따르는 현재 서브픽처, (b) 제1 순서 및 제2 순서에서 IRAP 서브픽처와 연관된 하나 이상의 리딩 서브픽처를 따르는 현재 서브픽처.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 현재 서브픽처가 랜덤 액세스 디코딩가능 선행 서브픽처인 것에 응답하여, 현재 슬라이스의 레퍼런스 픽처 목록은: 랜덤 액세스 스킵된 리딩 서브픽처를 포함하는 제1 픽처, 및 디코딩 순서에서 연관된 인트라 랜덤 액세스 포인트 서브픽처를 포함하는 제3 픽처에 선행하는 제2 픽처 중 어느 하나 이상에 대해 활성 항목을 제외하는 것을 지정하는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 비디오 처리 방법(video processing method)이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함한다. 코딩된 표현은 하나 이상의 서브픽처들을 포함하는 하나 이상의 픽처들이 네트워크 추상화 계층(NAL) 유닛들에 따라 코딩된 표현에 포함되는 것을 지정하는 포맷 규칙을 따르고, 코딩된 표현에서 표시되는 유형 NAL 유닛은 특정 유형의 픽처의 코딩된 슬라이스 또는 특정 유형의 서브픽처의 코딩된 슬라이스를 포함한다.
다른 예시적인 측면에서, 다른 비디오 처리 방법이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 코딩된 표현은 상이한 네트워크 추상화 계층 유닛 유형들을 갖는 두 개의 이웃 서브픽처들이 픽처 플래그로 취급되는 서브픽처들의 동일한 표시를 갖도록 지정하는 포맷 규칙을 따른다.
다른 예시적인 측면에서, 다른 비디오 처리 방법이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 여기서, 코딩된 표현은 제1 유형의 서브픽처와 제2 유형의 서브픽처의 순서를 정의하는 포맷 규칙을 준수하고, 여기서, 제1 서브픽처는 트레일링 서브픽처 또는 리딩 서브픽처 또는 랜덤 액세스 스킵된 리딩(RASL) 서브픽처 유형이고, 제2 서브픽처는 RASL 유형 또는 랜덤 액세스 디코딩가능 리딩(RADL) 유형 또는 인스턴스 디코딩 리프레시(IDR) 유형 또는 점진적 디코딩 리프레시(GDR) 유형 서브픽처다.
다른 예시적인 측면에서, 다른 비디오 처리 방법이 개시된다. 방법은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 코딩된 표현은 제1 유형의 서브픽처가 제2 유형의 서브픽처와 함께 발생하는 것이 허용되거나 허용되지 않는 조건을 정의하는 포맷 규칙을 따른다.
또 다른 예시적인 측면에서, 비디오 인코더 장치(video encoder apparatus)가 개시된다. 비디오 인코더는 전술한 방법을 구현하도록 구성된 프로세서(processor)를 포함한다.
또 다른 예시적인 측면에서, 비디오 디코더 장치(video decoder apparatus)가 개시된다. 비디오 디코더는 전술한 방법을 구현하도록 구성된 프로세서를 포함한다.
또 다른 실시예 측면에서, 코드(code)가 저장된 컴퓨터 판독 가능 매체(computer readable medium)가 개시된다. 코드는 프로세서 실행 가능 코드의 형태로 여기에 설명된 방법 중 하나를 구현한다.
이러한 기능 및 기타 기능은 본 문서 전체에 걸쳐 설명되어 있다.
도 1은 픽처의 래스터 스캔 슬라이스로 파티셔닝되는 예를 도시하고, 픽처는 12개의 타일과 래스터 스캔 슬라이스로 나누어진다.
도 2는 픽처의 직사각형 슬라이스 파티션의 예를 도시하고, 픽처는 24개의 타일(6개의 타일 열 및 4개의 타일 행) 및 9개의 직사각형 슬라이스로 나뉘어진다.
도 3은 파일 및 직사각형 슬라이스로 파티셔닝된 픽처의 예를 도시하고, 픽처는 4개의 타일(6개의 타일 열 및 4개의 타일 행) 및 4개의 직사각형 슬라이스로 나뉘어진다.
도 4는 15개의 타일, 24개의 슬라이스 및 24개의 서브픽처로 파티셔닝된 픽처를 도시한다.
도 5는 예시적인 비디오 프로세싱 시스템의 블록도이다.
도 6은 비디오 처리 장치의 블록도이다.
도 7은 비디오 처리 방법의 하나의 예의 방법에 대한 순서도이다.
도 8은 본 개시의 일부 실시예에 따른 비디오 코딩 시스템을 예시하는 블록도이다.
도 9는 본 개시내용의 일부 실시예에 따른 인코더를 예시하는 블록도이다.
도 10은 본 개시의 일부 실시예에 따른 디코더를 예시하는 블록도이다.
도 11 내지 도 31은 예를 들어 비디오 처리 방법의 순서도들이다.
섹션 제목은 이해의 편의를 위해 본 문서에서 사용되며 각 섹션에 개시된 기술 및 실시예의 적용 가능성을 해당 섹션에만 제한하지 않는다. 또한, H.266 용어는 일부 설명에서 이해의 편의를 위해서만 사용되며 개시된 기술의 범위를 제한하기 위한 것이 아니다. 이와 같이, 여기에 설명된 기술은 다른 비디오 코덱 프로토콜 및 설계에도 적용할 수 있다. 본 문서에서, 편집 변경은 VVC 사양의 현재 초안과 관련하여 취소된 텍스트를 나타내는 이중 대괄호 사이에 삭제된 텍스트와 추가된 텍스트를 나타내는 굵은 글씨체 기울임꼴 로 열기 및 닫기 이중 대괄호(예를 들어, [[]])에 의해 텍스트에 표시된다.
1. 소개
이 문서는 비디오 코딩 기술(video coding technologies)과 관련이 있다. 특히, 서브픽처 유형의 정의와 디코딩 순서, 출력 순서 및 단층(single-layer) 및 다층 컨텍스트(multi-layer context) 모두에서 서로 상이한 유형의 서브픽처 사이의 예측 관계의 측면에서 관계에 관한 것이다. 핵심은 디코딩 순서, 출력 순서 및 예측 관계에 대한 제약 조건 세트을 통해 픽처 내에서 혼합된 서브픽처 유형의 의미를 명확하게 지정하는 것이다. 아이디어는 다층 비디오 코딩(multi-layer video coding), 예를 들어 개발 중인 범용 비디오 코딩(Versatile Video Coding)(VVC)을 지원하는 임의의 비디오 코딩 표준 또는 비표준 비디오 코덱에 개별적으로 또는 다양한 조합으로 적용될 수 있다.
2. 약어
APS 적응형 파라미터 세트(Adaptation Parameter Set)
AU 액세스 유닛(Access Unit)
AUD 액세스 유닛 구분 기호(Access Unit Delimiter)
AVC 고급 비디오 코딩(Advanced Video Coding)
CLVS 코딩된 계층 비디오 시퀀스(Coded Layer Video Sequence)
CPB 코딩된 픽처 버퍼Coded Picture Buffer()
CRA 클린 랜덤 액세스(Clean Random Access)
CTU 코딩 트리 유닛(Coding Tree Unit)
CVS 코딩된 비디오 시퀀스(Coded Video Sequence)
DCI 디코딩 기능 정보(Decoding Capability Information)
DPB 디코딩된 픽처 버퍼(Decoded Picture Buffer)
EOB 비트스트림 끝(End Of Bitstream)
EOS 시퀀스 끝(End Of Sequence)
GDR 점진적 디코딩 리프레시(Gradual Decoding Refresh)
HEVC 고효율 비디오 코딩(High Efficiency Video Coding)
HRD 가상 레퍼런스 디코더(Hypothetical Reference Decoder)
IDR 즉시 디코딩 리프레시(Instantaneous Decoding Refresh)
JEM 공동 연구 모델(Joint Exploration Model)
MCTS 모션 제약 타일 세트(Motion-Constrained Tile Set)
NAL 네트워크 추상화 계층(Network Abstraction Layer)
OLS 출력 계층 세트(Output Layer Set)
PH 픽처 헤더(Picture Header)
PPS 픽처 파라미터 세트(Picture Parameter Set)
PTL 프로필, 계층 및 레벨(Profile, Tier and Level)
PU 픽처 유닛(Picture Unit)
RADL 랜덤 액세스 디코딩가능 리딩(Random Access Decodable Leading)(픽처)
RAP 랜덤 액세스 포인트(Random Access Point)
RASL 랜덤 액세스 시킵된 리딩(Random Access Skipped Leading)(픽처)
RBSP 원시 바이트 시퀀스 페이로드(Raw Byte Sequence Payload)
RPL 레퍼런스 픽처 목록(Reference Picture List)
SEI 추가 강화 정보(Supplemental Enhancement Information)
SPS 시퀀스 파라미터 세트(Sequence Parameter Set)
STSA 단계적 시간적 서브계층 액세스
SVC 스케일러블 비디오 코딩(Scalable Video Coding)
VCL 비디오 코딩 계층(Video Coding Layer)
VPS 비디오 파라미터 세트(Video Parameter Set)
VTM VVC 테스트 모델(VVC Test Model)
VUI 비디오 사용성 정보(Video Usability Information)
VVC 다목적 비디오 코딩(Versatile Video Coding)
3. 초기 논의
비디오 코딩 표준은 주로 잘 알려진 ITU-T 및 ISO/IEC 표준의 개발을 통해 발전해 왔다. ITU-T는 H.261및 H.263을 제작했으며, ISO/IEC는 MPEG-1 및 MPEG-4 비주얼을 제작했으며, 두 조직은 H.262/MPEG-2 비디오 및 H.264/MPEG-4 고급 비디오 코딩(AVC) 및 H.265/HEVC 표준을 공동 제작했다. H.262 이후, 비디오 코딩 표준은 시간적 예측(temporal prediction)과 트랜스폼 코딩(transform coding)이 사용되는 하이브리드 비디오 코딩 구조에 기초한다. HEVC를 넘어 미래의 비디오 코딩 기술을 연구하기 위해, 공동 비디오 연구팀(JVET: Joint Video Exploration Team)이 2015년에 VCEG와 MPEG의 공동으로 설립되었다. 그 이후로, JVET에 의해 많은 새로운 방법들이 채택되었고, 공동 연구 모델(JEM: Joint Exploration Model)이라고 명명된 레퍼런스 픽처소프트웨어(reference software)에 적용되었다. JVET 회의는 분기마다 한번 동시 개최되며, 새로운 코딩 표준은 HEVC 대비 비트레이트 50% 감소를 목표로 하고 있다. 새로운 비디오 코딩 표준은 2018년 4월 JVET 회의에서 공식적으로 다목적 비디오 코딩(Versatile Video Coding; VVC)로 명명되었으며, 당시 VVC 테스트 모델(VTM)의 제1 버전이 출시되었다. VVC 표준화에 기여하는 지속적인 노력이 있기 때문에 모든 JVET 회의에서 새로운 코딩 기술이 VVC 표준에 채택되고 있다. VVC 작업 드래프트와 테스트 모델 VTM은 모든 회의 후에 업데이트된다. VVC 프로젝트는 현재 2020년 7월 회의에서 기술 완료(FDIS)를 목표로 하고 있다.
3.1. HEVC의 픽처 파티셔닝 개념(Picture partitioning scheme)
HEVC는 일반 슬라이스, 종속 슬라이스, 타일 및 웨이브 프론트 병렬 처리(Wavefront Parallel Processing)(WPP)의 4가지 서로 다른 픽처 파티셔닝 개념이 포함되어 있으며, 이는 최대 전송 유닛(Maximum Transfer Unit)(MTU) 크기 일치, 병렬 처리 및 종단 간 지연 감소에 적용될 수 있다.
일반 슬라이스는 H.264/AVC와 유사하다. 각 일반 슬라이스는 자체 NAL 유닛으로 캡슐화되며, 인-픽처 예측(in-picture prediction)(인트라 샘플 예측, 모션 정보 예측, 코딩 모드 예측) 및 슬라이스 경계에 걸친 엔트로피 코딩 종속성이 비활성화된다. 따라서, 일반 슬라이스는 동일한 픽처 내의 다른 일반 슬라이스로부터 독립적으로 재구성될 수 있다(루프 필터링 동작으로 인해 여전히 상호 의존성이 있을 수 있음).
일반 슬라이스는 H.264/AVC에서 거의 동일한 포맷으로 사용할 수 있는 병렬화에 사용할 수 있는 유일한 툴이다. 일반 슬라이스 기반 병렬화는 프로세서 간 또는 코어 간 통신을 많이 필요로 하지 않는다(예측 코딩된 픽처를 디코딩할 때 모션 보상을 위한 프로세서간 또는 코어간 데이터 공유를 제외하고, 이는 일반적으로 인픽처 예측으로 인한 프로세서간 또는 코어간 데이터 공유보다 훨씬 더 무겁다). 그러나, 같은 이유로 일반 슬라이스를 사용하면 슬라이스 헤더의 비트 비용(bit cost)과 슬라이스 경계에 걸친 예측 부족으로 인해 상당한 코딩 오버헤드(substantial coding overhead)가 발생할 수 있다. 또한 일반 슬라이스(아래에 언급된 다른 툴와 대조적으로)는 일반 슬라이스의 화면 내 독립성과 각 일반 슬라이스가 자체 NAL유닛에 캡슐화되어 있기 때문에 MTU 크기 요구 사항과 일치하도록 비트스트림 파티셔닝을 위한 핵심 메커니즘으로도 사용된다. 많은 경우, 병렬화의 목표와 MTU 크기 매칭의 목표는 픽처의 슬라이스 레이아웃에 대한 요구 사항이 상충된다. 이러한 상황의 실현은 아래에 언급된 병렬화 툴의 개발로 이어졌다.
종속 슬라이스에는 짧은 슬라이스 헤더가 있고 픽처 내 예측을 중단하지 않고 트리 블록 경계(treeblock boundaries)에서 비트스트림을 파티셔닝할 수 있다. 기본적으로, 종속 슬라이스는 전체 일반 슬라이스의 인코딩이 완료되기 전에 일반 슬라이스의 일부가 전송되도록 함으로써 종단 간 지연(end-to-end delay)을 줄이기 위해 일반 슬라이스를 다중 NAL 유닛으로 조각화(fragmentation)한다.
WPP에서, 픽처는 코딩 트리 블록(CTB)의 단일 행으로 파티셔닝된다. 엔트로피 디코딩(Entropy decoding) 및 예측은 다른 파티션에 있는 CTB의 데이터를 사용할 수 있다. 병렬 처리(Parallel processing)는 CTB 행의 병렬 디코딩을 통해 가능하고, 여기서 CTB 행의 디코딩 시작은 두 CTB만큼 지연되므로 대상(subject) CTB의 위와 오른쪽에 있는 CTB와 관련된 데이터가 대상 CTB가 디코딩되기 전에 사용 가능하도록 한다. 이 엇갈린 시작(그래픽으로 표시할 때 웨이브프론트처럼 나타남)을 사용하면 픽처에 CTB 행이 포함된 수만큼의 프로세서/코어로 병렬화가 가능하다. 픽처 내의 이웃 트리블록 행 사이의 인픽처 예측이 허용되기 때문에, 인픽처 예측을 가능하게 하기 위해 필요한 프로세서간/코어간 통신이 상당할 수 있다. WPP 파티셔닝은 적용되지 않을 때와 비교하여 추가 NAL 유닛을 생성하지 않으므로 WPP는 MTU 크기 매칭을 위한 툴이 아니다. 그러나, MTU 크기 매칭이 필요한 경우, 특정 코딩 오버헤드와 함께 일반 슬라이스가 WPP와 함께 사용될 수 있다.
타일은 픽처를 타일 열과 행으로 파티셔닝하는 수평 및 수직 경계를 정의한다. 타일 열은 픽처의 상단에서 하단까지 이어진다. 마찬가지로 타일 행은 픽처의 왼쪽에서 픽처의 오른쪽으로 이어진다. 픽처의 타일 수는 타일 열 수에 타일 행 수를 곱하여 간단하게 유도될 수 있다.
CTB의 스캔 순서(scan order)는 픽처의 타일 래스터 스캔 순서에서 다음 타일의 왼쪽 상단 CTB를 디코딩하기 전에 타일 내에서 로컬로 변경된다(타일의 CTB 래스터 스캔 순서에서). 일반 슬라이스와 유사하게 타일은 엔트로피 디코딩 종속성(entropy decoding dependency)뿐만 아니라 픽처 내 예측 종속성을 깨뜨린다. 그러나, 개별 NAL 유닛에 포함될 필요는 없고(이 점에서 WPP와 동일), 따라서 타일은 MTU 크기 매칭에 사용할 수 없다. 각 타일은 하나의 프로세서/코어에 의해 처리될 수 있고, 및 이웃 타일을 디코딩하는 프로세싱 유닛 사이의 인픽처 예측에 필요한 프로세서간/코어간 통신은 슬라이스가 둘 이상의 타일에 걸쳐 있는 경우 공유 슬라이스 헤더를 전달하는 것으로 제한되고 루프 필터링은 재구성된 샘플 및 메타데이터의 공유와 관련된다. 하나 이상의 타일 또는 WPP 세그먼트가 슬라이스에 포함된 경우, 슬라이스의 제1 타일 또는 WPP 세그먼트가 아닌 각 타일 또는 WPP 세그먼트에 대한 진입점 바이트 오프셋(entry point byte offset)은 슬라이스 헤더에서 시그널링된다.
단순함을 위해, 4가지 서로 다른 픽처 파티셔닝 개념의 적용에 대한 제한(restriction)이 HEVC에 지정되었다. 주어진 코딩된 비디오 시퀀스는 HEVC에 지정된 대부분의 프로필에 대한 타일과 웨이브프론트를 모두 포함할 수 없다. 각 슬라이스 및 타일에 대해 다음 조건 중 하나 또는 둘 모두가 충족되어야 한다: 1) 슬라이스의 모든 코딩된 트리 블록은 동일한 타일에 속한다; 2) 타일의 모든 코딩된 트리 블록은 동일한 슬라이스에 속한다. 마지막으로 웨이브프론트 세그먼트는 정확히 하나의 CTB 행을 포함하고, WPP가 사용 중일 때, 슬라이스가 CTB 행 내에서 시작되면, 동일한 CTB 행에서 끝나야 한다.
HEVC에 대한 최근 수정 사항은 JCT-VC 출력 문서 JCTVC-AC1005에 설명되고, 제이. 보이스(J. Boyce), 에이. 라마서브라모니안(A. Ramasubramonian), 알. 스쿠핀(R. Skupin), 지. 제이. 설리반(G. J. Sullivan), 에이. 투어라피스(A. Tourapis), 와이. -케이. 왕(Y. -K. Wang)(편집자)의, "HEVC 추가적인 보완 강화 정보(Additional Supplemental Enhancement Information)(드래프트(Draft) 4), "2017년 10월 24일자의 자료는: http://phenix. int-evry. fr/jct/doc_end_user/documents/29_Macau/wg11/JCTVC-AC1005-v2. zip에서 공개적으로 사용 가능하다. 이 수정안이 포함되고, HEVC는 3개의 MCTS 관련 SEI 메시지, 즉 시간적 MCTS SEI 메시지, MCTS 추출 정보 세트 SEI 메시지 및 MCTS 추출 정보 중첩 SEI 메시지를 지정한다.
시간적 MCTS SEI 메시지는 비트스트림에 MCTS가 존재함을 알려주고 MCTS를 시그널링한다. 각 MCTS에 대해, 모션 벡터는 MCTS 내부의 전체 샘플 위치와 보간을 위해 MCTS 내부의 전체 샘플 위치만 필요로 하는 부분 샘플 위치를 가리키도록 제한되고, MCTS 외부의 블록에서 유도된 시간적 모션 벡터 예측을 위한 모션 벡터 후보의 사용은 허용되지 않는다. 이와 같이, 각 MCTS는 MCTS에 포함되지 않은 타일의 존재 없이 독립적으로 디코딩될 수 있다.
MCTS 추출 정보 세트 SEI 메시지(extraction information sets SEI message)는 MCTS 서브-비트스트림 추출(sub-bitstream extraction)(SEI 메시지의 시맨틱(semantic)의 일부로 지정됨)에서 MCTS 세트에 대한 일치하는 비트스트림을 생성하는 데 사용할 수 있는 추가 정보를 제공한다. 정보는 다수의 추출 정보 세트(extraction information set)로 구성되며, 각각은 다수의 MCTS 세트를 정의하고 MCTS 서브-비트스트림 추출 프로세스(sub-bitstream extraction process) 동안 사용할 대체 VPS, SPS 및 PPS의 RBSP 바이트를 포함한다. MCTS 서브-비트스트림 추출 프로세스에 따라 서브-비트스트림(sub-bitstream)을 추출할 때, 파라미터 세트(VPS, SPS, PPS)를 다시 쓰거나 교체해야 하고, 슬라이스 어드레스 관련 신택스 요소(first_slice_segment_in_pic_flag 및 slice_segment_address 포함) 중 하나 또는 전체가 일반적으로 다른 값을 가져야 하기 때문에 슬라이스 헤더는 약간 업데이트해야 한다.
3.2. VVC에서 픽처 파티셔닝
VVC에서, 픽처는 하나 이상의 타일 행과 하나 이상의 타일 열로 나뉜다. 타일은 픽처의 직사각형 영역을 커버하는 CTU의 시퀀스이다. 타일의 CTU는 해당 타일 내에서 래스터 스캔 순서(raster scan order)로 스캔된다.
슬라이스는 완전 타일(complete tile)의 정수 또는 픽처의 타일 내 연속적인 완전한 CTU 행의 정수로 구성된다.
두 가지 슬라이스 모드, 즉 래스터 스캔 슬라이스 모드와 직사각형 슬라이스 모드가 지원된다. 래스터 스캔 슬라이스 모드에서, 슬라이스는 픽처의 타일 래스터 스캔에서 완전 타일의 시퀀스를 포함한다. 직사각형 슬라이스 모드에서, 슬라이스는 픽처의 직사각형 영역을 집합적으로 형성하는 다수의 완전 타일 또는 픽처의 직사각형 영역을 집합적으로 형성하는 하나의 타일의 다수의 연속적인 완전 CTU 행을 포함한다. 직사각형 슬라이스 내의 타일은 해당 슬라이스에 대응하는 직사각형 영역 내에서 타일 래스터 스캔 순서에서 스캔된다.
서브픽처는 픽처의 직사각형 영역을 집합적으로 커버하는 이상의 슬라이스를 포함한다.
도 1은 픽처가 12개의 타일과 3개의 래스터 스캔 슬라이스로 파티션되는 예를 도시하고, 픽처는 래스터 스캔 슬라이스 나누어진다.
도 2는 픽처의 직사각형 슬라이스 파티션의 예를 도시하고, 픽처는 24개의 타일(6개의 타일 열 및 4개의 타일 행) 및 9개의 직사각형 슬라이스로 나뉘어진다.
도 3은 파일 및 직사각형 슬라이스로 파티셔닝된 픽처의 예를 도시하고, 픽처는 4개의 타일(6개의 타일 열 및 4개의 타일 행) 및 4개의 직사각형 슬라이스로 나뉘어진다.
도 4는 픽처의 서브픽처 파티셔닝(subpicture partitioning)의 예를 도시하고, 여기서 픽처는 18개의 타일로 파티셔닝되고, 왼쪽의 12개는 각각 4 x 4 CTU의 슬라이스 1개를 덮고 오른쪽의 타일 6개는 각각 2 x 2 CTU의 수직으로 쌓인 슬라이스 2개를 덮고 있어, 결과적으로 24개의 슬라이스와 다양한 차원의 24개의 서브픽처가 생성된다(각 슬라이스는 서브픽처임).
3.3. 시퀀스 내에서 픽처 해상도 변경
AVC 및 HEVC에서, IRAP 픽처와 함께 새로운 SPS를 사용하는 새로운 시퀀스가 시작되지 않는 한 픽처의 공간 해상도(spatial resolution)는 변경할 수 없다. VVC는 항상 인트라 코딩되는(intra-coded) IRAP 픽처를 인코딩하지 않고 위치에서 시퀀스 내에서 픽처 해상도를 변경할 수 있다. 이 기능은 때로는 레퍼런스 픽처 리샘플링(reference picture resampling)(RPR)이라고도 하는데, 이는 해당 레퍼런스 픽처가 디코딩되는 현재 픽처와 해상도가 다른 경우 인터 예측을 위해 사용되는 레퍼런스 픽처의 리샘플링이 필요하기 때문이다.
스케일링 비율은 1/2(레퍼런스 픽처에서 현재 픽처로의 2배의 다운샘플링)보다 크거나 동일하고, 8(8배의 업샘플링)보다 작거나 동일하도록 제한된다. 주파수 컷오프가 상이한 세 개의 세트의 리샘플링 필터는 레퍼런스 픽처와 현재 픽처 사이의 다양한 스케일링 비율을 처리하도록 지정된다. 세 개의 세트의 리샘플링 필터는 1/2에서 1/1.75까지, 1/1.75에서 1/1.25까지, 그리고 1/1.25에서 8까지의 스케일링 비율이 각각 적용된다. 각 리샘플링 필터 세트는 루마에 대해 16개의 위상이 있고 모션 보정 보간 필터의 경우와 동일한 크로마에 대해 32개의 위상이 있다. 실제로 일반 MC 보간 프로세스(interpolation process)는 스케일링 비율이 1/1.25에서 8 사이인 리샘플링 프로세스의 특별한 경우이다. 가로 및 세로 스케일링 비율은 픽처 너비와 높이, 및 레퍼런스 픽처 및 현재 픽처에 대해 지정된 왼쪽, 오른쪽, 위쪽 및 아래쪽 스케일링 오프셋에 기초하여 유도된다.
HEVC와 상이한 이 기능을 지원하기 위한 VVC 설계의 다른 측면은: i) 픽처 해상도 및 대응하는 적합성 윈도우는 SPS 대신 PPS에서 시그널링되는 반면, SPS에서는 최대 픽처 해상도가 시그널링된다. ii) 단층 비트스트림(single-layer bitstream)의 경우, 각 픽처 스토어(디코딩된 픽처 하나의 저장을 위한 DPB의 슬롯)는 최대 픽처 해상도를 갖는 디코딩된 픽처를 저장하기 위해 필요에 따라 버퍼 크기를 차지한다.
3.4. 스케일러블 비디오 코딩(SVC)(일반 및 VVC)
스케일러블 비디오 코딩(Scalable video coding)(SVC, 때로는 비디오 코딩에서 스케일러빌리티라고도 함)은 레퍼런스 계층(RL)이라고도 하는 기본 계층(base layer)(BL)과 하나 이상의 스케일러블 강화 계층(scalable enhancement layer)(ELs)이 사용되는 비디오 코딩을 말한다. SVC에서 기본 계층은 기본 레벨(base level)의 품질로 비디오 데이터를 전달할 수 있다. 하나 이상의 강화 계층은 예를 들어 더 높은 공간, 시간 및/또는 신호 대 잡음(SNR) 레벨을 지원하기 위해 부가적인 비디오 데이터를 반송할 수 있다. 강화 계층은 이전에 인코딩된 계층에 대해 정의될 수 있다. 예를 들어, 하부 계층(bottom layer)는 BL의 역할을 할 수 있고 상부 계층(top layer)는 EL의 역할을 할 수 있다. 중간 계층(middle layer)은 ELs 또는 RL 또는 둘 다로 사용될 수 있다. 예를 들어, 중간 계층(예를 들어, 최저 최하위 계층도 아니고 최상위 계층도 아닌 계층) 은 기본 계층 또는 임의의 중간 강화 계층과 같은 중간 계층 아래의 계층에 대한 EL일 수 있으며, 동시에 중간 계층 위의 하나 이상의 강화 계층에 대한 RL로서 기능한다. 유사하게, HEVC 표준의 멀티뷰 또는 3D 확장에서, 다수의 뷰가 존재할 수 있고, 하나의 뷰의 정보는 다른 뷰의 정보(예를 들어, 모션 추정, 모션 벡터 예측 및/또는 다른 리던던시) 를 코딩(예를 들어, 인코딩 또는 디코딩) 하는데 이용될 수 있다.
SVC에서, 인코더 또는 디코더에 의해 사용되는 파라미터들은 이들이 이용될 수 있는 코딩 레벨(예를 들어, 비디오-레벨, 시퀀스-레벨, 픽처-레벨, 슬라이스 레벨 등)에 기초하여 파라미터 세트로 그룹화된다. 예를 들어, 비트스트림의 상이한 계층들의 하나 이상의 코딩된 비디오 시퀀스에 의해 이용될 수 있는 파라미터들은 비디오 파라미터 세트(VPS)에 포함될 수 있고, 코딩된 비디오 시퀀스에서 하나 이상의 픽처들에 의해 이용되는 파라미터들은 시퀀스 파라미터 세트(SPS)에 포함될 수 있다. 유사하게, 픽처에서 하나 이상의 슬라이스에 의해 사용되는 파라미터가 픽처 파라미터 세트(PPS)에 포함될 수 있고, 단일 슬라이스에 특정되는 다른 파라미터가 슬라이스 헤더에 포함될 수 있다. 유사하게, 특정 계층이 주어진 시간에 어느 파라미터 세트(들) 를 사용하고 있는지의 표시는 다양한 코딩 레벨에서 제공될 수 있다.
VVC에서 레퍼런스 픽처 리샘플링(RPR) 지원 덕분에, 다중 계층, 예를 들어, WC에서 SD 및 HD 해상도의 두 계층을 포함하는 비트스트림의 지원을 업 샘플링과 같은 추가 신호 처리 레벨 코딩 툴 없이도 설계될 수 있으며, 공간 스케일러빌리티 지원에 필요한 업샘플링은 RPR 업샘플링 필터만 사용할 수 있다. 그럼에도 불구하고 스케일러빌리티 지원을 위해서는 높은 레벨의 신택스 변경(스케일러빌리티을 지원하지 않는 것과 비교) 이 필요하다. 스케일러빌리티 지원은 VVC 버전 1에 지정되어 있다. AVC 및 HEVC의 확장성(extension)을 포함하여 이전 비디오 코딩 표준의 스케일러빌리티 지원과는 달리 VVC 스케일러빌리티 설계는 가능한 한 단층 디코더 설계에 친숙하게 만들어졌다. 다층 비트스트림에 대한 디코딩 기능은 비트스트림에 단일 계층에만 있는 것처럼 지정된다. 예를 들어, DPB 크기와 같은 디코딩 기능은 디코딩될 비트스트림의 계층들의 수에 독립적인 방식으로 지정된다. 기본적으로 단층 비트스트림용으로 설계된 디코더는 다층 비트스트림을 디코딩하기 위해 많은 변경이 필요하지 않다. AVC 및 HEVC의 다층 확장 설계와 비교할 때 HLS 측면은 일부 유연성을 희생하면서 크게 단순화되었다. 예를 들어, CVS에 있는 각 계층에 대한 픽처를 포함하려면 IRAP AU가 필요하다.
3.5. HEVC 및 VVC에서의 랜덤 액세스 및 지원
랜덤 액세스는 디코딩 순서에서 비트스트림의 제1 픽처가 아닌 픽처에서 비트스트림의 액세스 및 디코딩을 시작하는 것을 말한다. 로컬 재생 및 스트리밍뿐만 아니라 스트리밍에서 스트림 적응을 요구하는, 브로드캐스트/멀티캐스트 및 다자간 비디오 컨퍼런스에서 튜닝 및 채널 전환을 지원하려면, 비트스트림은 빈번한 랜덤 액세스 포인트를 포함해야 하는데, 이는 일반적으로 인트라 코딩된 픽처이지만 인터 코딩된(inter-coded) 픽처일 수도 있다(예를 들어, 점진적 디코딩 리프레시의 경우).
HEVC는 NAL 유닛 유형을 통해 NAL 유닛 헤더에 인트라 랜덤 액세스 포인트(IRAP) 픽처의 시그널링을 포함한다. 인스턴스 디코더 리프레시(instantaneous decoder refresh)(IDR), 클린 랜덤 액세스(clean random access)(CRA) 및 끊어진 링크 액세스(broken link access)(BLA) 픽처의 세 가지 유형의 IRAP 픽처가 지원된다. IDR 픽처는 일반적으로 폐쇄 GOP 랜덤 액세스 포인트라고 하는 현재 픽처의 그룹(Group of Picture)(GOP) 이전의 픽처를 참조하지 않도록 인터-픽처 예측 구조(inter-picture prediction structure)를 제한한다. CRA 픽처는 특정 픽처가 현재 GOP 이전의 픽처를 참조하도록 허용함으로써 덜 제한적이며, 랜덤 액세스의 경우 모두 삭제된다. CRA 픽처는 일반적으로 개방형 GOP 랜덤 액세스 포인트라고 한다. BLA 픽처는 일반적으로 스트림 스위칭 중에 CRA 픽처에서 두 비트스트림 또는 그 일부를 스플라이싱(splicing)하여 발생한다. 시스템에서 IRAP 픽처를 더 잘 사용할 수 있도록 하려면, IRAP 픽처의 속성을 시그널링하기 위해 총 6개의 상이한 NAL 유닛이 정의되며, 이는 ISO 기본 미디어 파일 포맷(ISOBMFF)에 정의된 스트림 액세스 포인트 유형들을 더 잘 매칭하는데 사용될 수 있으며, 이는 HTTP(DASH)를 통한 동적 적응적 스트리밍에서 랜덤 액세스 지원에 활용된다.
VVC는 세 가지 유형의 IRAP 픽처, 두 가지 유형의 IDR 픽처(연관된 RADL 픽처가 있거나 없는 다른 유형) 과 한 유형의 CRA 픽처를 지원한다. 이는 기본적으로 HEVC와 동일하다. HEVC의 BLA 픽처 유형은 주로 두 가지 이유로 인해 VVC에 포함되지 않는다: i) BLA 픽처의 기본 기능은 CRA 픽처와 시퀀스 NAL 유닛의 끝을 더하여 실현될 수 있으며, 그 존재는 후속 픽처가 단층 비트스트림에서 새로운 CVS를 시작한다는 것을 나타낸다. ii) NAL 유닛 헤더의 NAL 유닛 유형 필드에 6 비트 대신 5 비트의 사용에 의해 나타나 듯이, VVC를 개발하는 동안 HEVC보다 적은 NAL 유닛 유형을 지정하려는 욕구가 있었다.
VVC와 HEVC 사이의 랜덤 액세스 지원의 또 다른 주요 차이점은 VVC에서 보다 규범적인 방식으로 GDR을 지원한다는 것이다. GDR에서, 비트스트림의 디코딩은 인터 코딩 된 픽처에서 시작할 수 있으며 처음에는 전체 픽처 영역을 올바르게 디코딩 할 수는 없지만 여러 픽처 후에 전체 픽처 영역이 올바르게 된다. AVC 및 HEVC는, GDR 랜덤 액세스 포인트 및 복구 지점(recovery point)의 시그널링에 대한 복구 지점 SEI 메시지를 사용하여, GDR을 지원한다. VVC에서, GDR 픽처를 표시하기 위해 새로운 NAL 유닛 유형이 지정되고 복구 지점은 픽처 헤더 신택스 구조에서 시그널링 된다. CVS 및 비트스트림은 GDR 픽처로 시작할 수 있다. 즉, 전체 비트스트림에 인트라 코딩된 단일 픽처 없이 인터-코딩된 픽처만 포함할 수 있다. 이러한 방식으로 GDR 지원을 지정할 때의 주요 이점은 GDR에 적합한 행동을 제공하는 것이다. GDR을 사용하면 인코더가 전체 픽처를 인트라 코딩하는 것과는 대조적으로 인트라 코딩 된 슬라이스 또는 블록을 여러 픽처에 배포하여 비트스트림의 비트 전송률을 부드럽게 할 수 있으며, 따라서 엔드-투-엔드 지연을 크게 줄일 수 있고, 이는 무선 디스플레이, 온라인 게임, 드론 기반 애플리케이션(application)과 같은 초저 지연 애플리케이션이 대중화됨에 따라 요즘은 이전보다 더 중요하다고 간주된다.
VVC의 또 다른 GDR 관련 기능은 가상 경계 시그널링이다. GDR 픽처와 그 복구 포인트 사이의 픽처에서 리프레쉬된 영역(즉, 올바르게 디코딩된 영역)과 리프레쉬 되지 않은 영역 사이의 경계는 가상 경계로서 시그널링될 수 있으며, 시그널링될 때, 경계를 가로지르는 인루프 필터링이 적용되지 않으므로, 경계 또는 경계 근처에서 일부 샘플에 대해 디코딩 미스매치가 발생하지 않는다. 이는 애플리케이션이 GDR 프로세스 중에 올바르게 디코딩된 영역을 표시하기로 결정할 때 유용할 수 있다.
IRAP 픽처 및 GDR 픽처를 총칭하여 RAP(랜덤 액세스 포인트) 픽처라고 할 수 있다.
3.6. 레퍼런스 픽처 관리(Reference picture management) 및 레퍼런스 픽처 목록(reference picture list)(RPL)
레퍼런스 픽처 관리는 인터 예측을 사용하는 모든 비디오 코딩 체계에 필요한 핵심 기능이다. 디코딩된 픽처 버퍼(decoded picture buffer)(DPB)로 또는 디코딩된 픽처 버퍼에서 레퍼런스 픽처의 저장 및 제거를 관리하고 RPL에서 레퍼런스 픽처를 적절한 순서에서 배치한다.
레퍼런스 픽처 마킹 및 디코딩된 픽처 버퍼(DPB)에서의 제거 및 레퍼런스 픽처 목록 구성(RPLC)을 포함하는 HEVC의 레퍼런스 픽처 관리는 AVC의 레퍼런스 픽처 관리와 상이하다. AVC에서 슬라이딩 윈도우와 적응형 메모리 관리 제어 작업(MMCO)에 기초하는 레퍼런스 픽처 마킹 메커니즘(reference picture management) 대신에, HEVC는 소위 레퍼런스 픽처 세트(reference picture set)(RPS)에 기초하는 레퍼런스 픽처 관리 및 마킹 메커니즘을 지정하고, 결과적으로 RPLC는 RPS 메커니즘에 기초한다. RPS는, 디코딩 순서에서 연관된 픽처에 앞서 있는 모든 레퍼런스 픽처들로 구성된, 디코딩 순서에서 연관된 픽처들 또는 연관된 픽처 다음에 오는 임의의 픽처의 인터 예측에 사용될 수 있는 픽처와 연관된 픽처의 세트로 구성된다. 레퍼런스 픽처 세트는 다섯 개의 레퍼런스 픽처 목록으로 구성된다. 처음 세 개의 목록은 현재 픽처의 인터 예측에 사용될 수 있고 디코딩 순서에서 현재 픽처 다음에 오는 하나 이상의 픽처들의 인터 예측에 사용될 수 있는 모든 레퍼런스 픽처들을 포함한다. 다른 두 목록은 현재 픽처의 인터 예측에 사용되지 않는 모든 레퍼런스 픽처들로 구성되지만, 디코딩 순서에서 현재 픽처들 다음에 있는 픽처들 중 하나 이상의 인터 예측에 사용될 수 있다. RPS는 주로 개선된 오류 복원력(improved error resilience)을 위해 AVC에서와 같이 "인터 코딩된" 시그널링 대신, DPB 상태의 "인트라 코딩된" 시그널링을 제공한다. HEVC에서의 RPLC 프로세스는 RPS에 기초하여, 각각의 레퍼런스 인덱스에 대한 RPS 서브세트에 인덱스를 시그널링함으로써; 이 프로세스는 AVC의 RPLC 프로세스보다 간단한다.
VVC의 레퍼런스 픽처 관리는 AVC보다 HEVC와 더 유사하지만 다소 간단하고 강력하다. 이러한 표준에서와 마찬가지로, 목록 0(List 0)과 목록 1(List 1)의 두 RPL이 유도되지만 HEVC 또는 AVC에서 사용되는 자동 슬라이딩 윈도우 프로세스에 사용되는 레퍼런스 픽처 세트 개념을 기반으로하지 않으며; 대신 그들은 더 직접적으로 시그널링된다. RPL에 대한 레퍼런스 픽처가 활성 항목과 비활성 항목 중 하나로 나열되며, 현재 픽처의 CTU 간 예측에서 활성 항목만 레퍼런스 인덱스로 사용될 수 있다. 비활성 항목은 비트스트림에 나중에 도착하는 다른 픽처를 참조하기 위해 DPB에 보유할 다른 픽처를 나타낸다.
3.7. 파라미터 세트(Parameter sets)
AVC, HEVC 및 VVC는 파라미터 세트을 지정한다. 파라미터 세트의 유형은 SPS, PPS, APS 및 VPS를 포함한다. SPS 및 PPS는 모든 AVC, HEVC 및 VVC에서 지원된다. VPS는 HEVC 이후 도입되었으며 HEVC와 VVC에 모두 포함되어 있다. APS는 AVC 또는 HEVC에 포함되지 않았지만 최신 VVC 초안 텍스트에 포함되었다.
SPS는 시퀀스 레벨 헤더 정보를 전달하도록 설계되었으며 PPS는 자주 변경되지 않는 픽처 레벨 헤더 정보를 전달하도록 설계되었다. SPS 및 PPS를 사용하면 각 시퀀스 또는 픽처에 대해 드물게 변경되는 정보를 반복할 필요가 없으므로 이 정보의 중복 시그널링을 피할 수 있다. 또한 SPS 및 PPS를 사용하면 중요한 헤더 정보의 대역 외 전송이 가능하므로 중복 전송의 필요성을 피할 뿐만 아니라 오류 복원력(error resilience)도 개선된다.
VPS는 다층 비트스트림의 모든 계층에 공통적인 시퀀스 레벨 헤더 정보를 전달하기 위해 도입되었다.
APS는 코딩하는 데 상당한 비트가 필요하고 여러 픽처에서 공유할 수 있으며 순서대로 매우 다양한 변형이 있을 수 있는 픽처 레벨 또는 슬라이스 레벨 정보를 전달하기 위해 도입되었다.
3.8. VVC의 관련 정의
최신 VVC 텍스트(JVET-Q2001-vE/V15)의 관련 정의는 다음과 같다:
연관된 IRAP 픽처(특정 픽처의): 특정 픽처와 동일한 nuh_layer_id 값을 갖는 디코딩 순서(존재하는 경우)의 이전 IRAP 픽처다.
클린 랜덤 액세스(CRA) PU: 코딩된 픽처가 CRA 픽처인 PU이다.
클린 랜덤 액세스(CRA) 픽처: 각 VCL NAL 유닛이 CRA_NUT와 동일한 nal_unit_type을 갖는 IRAP 픽처다.
코딩된 비디오 시퀀스(CVS): 디코딩 순서에서, CVSS AU로 구성되고, CVSS AU가 아닌, CVSS AU인 임의의 후속 AU를 포함하지 않을 때까지의 모든 후속 AU를 포함하는, 0개 이상의 AU가 뒤따른다.
코딩된 비디오 시퀀스 시작(CVSS) AU: CVS의 각 계층에 PU가 있고 각 PU에 코딩된 계층이 CLVSS 픽처인 AU.
점진적 디코딩 리프레시(GDR) AU: 현재 각 PU의 코딩된 픽처가 GDR 픽처인 AU이다.
점진적 디코딩 리프레시(GDR) PU: 코딩된 픽처가 GDR 픽처인 PU이다.
점진적 디코딩 리프레시(GDR) 픽처: 각 VCL NAL 유닛의 유닛 유형이 GDR_NUT와 동일한 픽처다.
인스턴트 디코딩 리프레시(IDR) PU: 코딩된 픽처가 GDR 픽처인 PU이다.
인스턴스 디코딩 리프레시(IDR) 픽처: 각 VCL NAL 유닛은 IDR_W_RADL 또는 IDR_N_LP와 동일한 nal_unit_type를 갖는 IRAP 픽처
인트라 랜덤 액세스 포인트(IRAP) AU: CVS의 각 계층에 대해 PU가 있고 각 PU에 코딩된 픽처가 있는 aUM은 IRAP 픽처다.
인트라 랜덤 액세스 포인트(IRAP) PU: 코딩된 픽처가 IRAP 픽처인 PU이다.
인트라 랜덤 액세스 포인트(IRAP) 픽처: 모든 VCL NAL 유닛이 IDR_W_RADL에서 CRA_NUT까지를 포함하는 범위의 nal_unit_type의 동일한 값을 갖는 코딩된 픽처다.
리딩 픽처 : 연관된 IRAP 픽처와 동일한 계층에 있고 출력 순서에서 연관된 IRAP 픽처에 선행하는 픽처다.
출력 순서: 디코딩된 픽처가 DPB에서 출력되는 순서이다(DPB에서 출력되는 디코딩된 픽처 의 경우).
랜덤 액세스 디코딩가능 리딩(RADL) PU: 코딩된 픽처가 RADL 픽처인 PU이다.
랜덤 액세스 디코딩가능 리딩(RADL) 픽처: 각 VCL NAL 유닛이 RADL_NUT와 동일한 nal_unit_type을 갖는 픽처다.
랜덤 액세스 스킵된 리딩(RASL) PU: 코딩된 픽처가 RASL 픽처인 PU이다.
랜덤 액세스 스킵된 리딩(RASL) 픽처:VCL NAL 유닛이 RASL_NUT와 동일한 nal_unit_type을 갖는 픽처다.
단계적 시간적 서브계층 액세스(STSA) PU: 코딩된 픽처가 STSA 픽처인 PU이다.
단계적 시간적 서브계층 액세스(STSA) 픽처: 각 VCL NAL 유닛이 STSA_NUT와 동일한 nal_unit_type을 갖는 픽처다.
참고 - STSA 픽처는 인터 예측 레퍼런스를 위해 STSA 픽처와 동일한 TemporalId를 갖는 픽처를 사용하지 않는다. STSA 픽처와 동일한 TemporalId를 갖는 디코딩 순서에서 STSA 픽처를 따르는 픽처는 인터 예측을 위해 STSA 픽처와 동일한 TemporalId를 갖는 디코딩 순서에서 디코딩 순서에 앞서 픽처를 사용하지 않는다. STSA 픽처는, STSA 픽처에서, STSA 픽처를 포함하는, 서브계층으로, 바로 하위 서브계층로부터 업스위칭을 가능하게 한다. STSA 픽처는 TemporalId가 0보다 커야 한다.
서브픽처: 픽처 내에서 하나 이상의 슬라이스로 구성된 직사각형 영역이다 .
트레일링 픽처(trailing picture): 출력 순서에서 따라 연관된 IRAP 픽처를 따르고 STSA 픽처가 아닌 IRAP 픽처.
참고 - IRAP 픽처와 연관된 트레일링 픽처도 디코딩 순서에 따라 IRAP 픽처를 따른다. 출력 순서에서 연관된 IRAP 픽처를 따르고 디코딩 순서에서 연관된 IRAP 픽처에 선행하는 픽처는 허용되지 않는다.
3.9 VVC의 NAL 유닛 헤더 신택스 및 시맨틱
최신 VVC 텍스트(JVET-Q2001-vE/v15)에서, NAL 유닛 헤더 신택스와 시맨틱은 다음과 같다.
7.3.1.2 NAL 유닛 헤더 신택스
Figure pct00001
7.4.2.2 NAL 유닛 헤더 시맨틱
forbidden_zero_bit는 0과 동일해야 한다.
nuh_reserved_zero_bit는 0과 동일해야 한다. nuh_reserved_zero_bit의 값 1은 나중에 ITU-T| ISO / IEC에 의해 지정될 수 있다. 디코더는 nuh_reserved_zero_bit가 1 인 NAL 유닛을 무시해야 한다(즉, 비트스트림에서 제거하고 폐기).
nuh_layer_id는 VCL NAL 유닛이 속한 계층의 식별자 또는 비-VCL NAL 유닛이 적용되는 계층의 식별자를 지정한다. nuh_layer_id의 값은 0에서 55까지의 범위여야 한다. nuh_layer_id에 대한 다른 값은 ITU-T |ISO/IEC에서 나중에 사용할 수 있도록 예약되어 있다.
nuh_layer_id의 값은 코딩된 픽처의 모든 VCL NAL 유닛에 대해 동일해야 한다. 코딩된 픽처 또는 PU의 nuh_layer_id의 값은 코딩된 픽처 또는 PU의 VCL NAL 유닛들의 nuh_layer_id의 값이다.
AUD, PH, EOS 및 FD NAL 유닛에 대한 nuh_layer_id 값은 다음과 같이 제한된다:
- nal_unit_type가 AUD_NUT와 동일하면, nuh_layer_id는 vps_layer_id[ 0 ]과 동일해야 한다.
- 그렇지 않으면, nal_unit_type가 PH_NUT, EOS_NUT 또는 FD_NUT와 동일할 때, nuh_layer_id는 연관된 VCL NAL 유닛의 nuh_layer_id과 동일하여야 한다.
참고1 - DCI, VPS 및 EOB NAL 유닛의 nuh_layer_id 값은 제한되지 않는다.
nal_unit_type의 값은 CVSS AU의 모든 픽처에 대해 동일해야 한다.
nal_unit_type 에 지정된 바와 같이 NAL 유닛 유형, 즉 NAL 유닛에 포함된 RBSP 데이터 구조의 유형을 표 5에서 지정한다.
시맨틱이 지정되지 않은, UNSPEC_28..UNSPEC_31의 범위의 nal_unit_type을 갖는, NAL 유닛은 본 명세서에 지정된 디코딩 프로세스에 영향을 미치지 않는다.
참고 2 - UNSPEC_28..UNSPEC_31 범위의 NAL 유닛 유형은 애플리케이션에서 결정한 대로 사용될 수 있다. 이러한 nal_unit_type 값에 대한 디코딩 프로세스는 이 사양에 지정되어 있지 않다. 애플리케이션마다 이러한 NAL 유닛 유형을 다른 용도로 사용할 수 있으므로, 이러한 nal_unit_type 값을 사용하여 NAL 유닛을 생성하는 인코더 설계와 이러한 nal_unit_type 값으로 NAL 유닛의 내용을 해석하는 디코더 설계에서 특별한 주의를 기울여야 한다. 이 사양은 이러한 값에 대한 관리를 정의하지 않는다. 이러한 nal_unit_type 값들은 사용의 "충돌들"(즉, 동일한 nal_unit_type 값에 대한 NAL 유닛 콘텐츠의 의미에 대한 상이한 정의들)이 중요하지 않거나, 불가능하거나, 관리되는 문맥들에서만, 사용하기에 적합할 수 있다 - 예를 들어, 제어 애플리케이션 또는 전송 스펙에서 정의되거나 관리되고, 또는 비트스트림이 배포되는 환경을 제어한다.
비트스트림의 DU에서 데이터의 양을 결정하는 것 이외의 목적으로(부록 C에 지정된 대로), 디코더는 nal_unit_type의 예약된 값을 사용하는 모든 NAL 유닛의 내용을 무시(비트스트림에서 제거하고 폐기)해야 한다.
참고 3- 이 요구 사항을 사용하면 이 사양에 대한 호환 가능한 확장을 나중에 정의할 수 있다.
표 5 - NAL 유닛 유형 코드 및 NAL 유닛 유형 클래스
nal_unit_type nal_unit_type의 이름 NAL 유닛 및 RBSP 신택스 구조의 콘텐츠 NAL 유닛
유형 클래스
0 TRAIL_NUT 트레일링 픽처의 코딩된 슬라이스
slice_layer_rbsp( )
VCL
1 STSA_NUT STSA 픽처의 코딩된 슬라이스slice_layer_rbsp( ) VCL
2 RADL_NUT RADL 픽처의 코딩된 슬라이스slice_layer_rbsp( ) VCL
3 RASL_NUT RASL 픽처의 코딩된 슬라이스slice_layer_rbsp( ) VCL
4..6 RSV_VCL_4..
RSV_VCL_6
예약된 비 IRAP VCL NAL 유닛 유형 VCL
7
8
IDR_W_RADL
IDR_N_LP
IDR 픽처의 코딩된 슬라이스
slice_layer_rbsp( )
VCL
9 CRA_NUT CRA 픽처의 코딩된 슬라이스silce_layer_rbsp( ) VCL
10 GDR_NUT GDR 픽처의 코딩된 슬라이스slice_layer_rbsp( ) VCL
11
12
RSV_IRAP_11
RSV_IRAP_12
예약된 IRAP VCL NAL 유닛 유형 VCL
13 DCI_NUT 디코딩 기능 정보(Decoding Capability Information)decoding_capability_information_rbsp( ) 비-VCL
14 VPS_NUT 비디오 파라미터 세트video_parameter_set_rbsp( ) 비-VCL
15 SPS_NUT SPS 시퀀스 파라미터 세트(Sequence Parameter Set)seq_parameter_set_rbsp( ) 비-VCL
16 PPS_NUT 픽처 파라미터 세트pic_parameter_set_rbsp( ) 비-VCL
17
18
PREFIX_APS_NUT
SUFFIX_APS_NUT
적응형파라미터 세트adaptation_parameter_set_rbsp( ) 비-VCL
19 PH_NUT 픽처 헤더picture_header_rbsp( ) 비-VCL
20 AUD_NUT AU 구분 기호access_unit_delimiter_rbsp( ) 비-VCL
21 EOS_NUT 시퀀스 끝(End Of Sequence)end_of_seq_rbsp( ) 비-VCL
22 EOB_NUT 비트스트림 끝(End Of Bitstream)end_of_bitstream_rbsp( ) 비-VCL
23
24
PREFIX_SEI_NUT
SUFFIX_SEI_NUT
추가 강화 정보sei_rbsp( ) 비-VCL
25 FD_NUT 필러 데이터(Filler data)filler_data_rbsp( ) 비-VCL
26
27
RSV_NVCL_26
RSV_NVCL_27
예약된 비-VCL NAL 유닛 유형 비-VCL
28..31 UNSPEC_28..
UNSPEC_31
지정되지 않은 비-VCL NAL 유닛 유형 비-VCL
참고 4 - 클린 랜덤 액세스(CRA) 픽처에는 비트스트림에 RASL 또는 RADL 픽처가 연관되어 있을 수 있다.
참고 5 - IDR_N_LP와 동일한 nal_unit_type를 갖는 인스턴스 디코딩 리프레시(instantaneous decoding refresh)(IDR) 픽처는 비트스트림에 연관된 리딩 픽처를 갖지 않는다. IDR_W_RADL과 동일한 nal_unit_type을 갖는 IDR 픽처는 비트스트림에 존재하는 연관된 RASL 픽처를 갖지 않지만, 비트스트림에 연관된 RADL 픽처를 가질 수 있다.
nal_unit_type의 값은 서브픽처의 모든 VCL NAL 유닛에 대해 동일해야 한다. 서브픽처는 서브픽처의 VCL NAL 유닛과 동일한 NAL 유닛 유형을 갖는 것으로 지칭된다.
특정 픽처의 VCL NAL 유닛의 경우 다음이 적용된다:
- mixed_nalu_types_in_pic_flag가 0과 동일하면, nal_unit_type의 값은 픽처의 모든 VCL NAL 유닛에 대해 동일해야 하고, 픽처 또는 PU는 픽처의 코딩된 슬라이스 NAL 유닛 또는 PU와 동일한 NAL 유닛 유형을 갖는 것으로 지칭된다.
- 그렇지 않으면(mixed_nalu_types_in_pic_flag는 1과 동일함), 픽처는 적어도 두 개의 서브픽처를 가져야 하고, 픽처의 VCL NAL 유닛은 다음과 같이 정확히 두 개의 상이한 nal_unit_type 값을 가져야 한다: 픽처의 적어도 하나의 서브픽처의 VCL NAL 유닛은 모두 nal_unit_type와 동일한 STSA_NUT의 특정 값을 가져야 하고, RADL_NUT, RASL_NUT, IDR_W_RADL, IDR_N_LP 또는 CRA_NUT, 반면에 다른 서브픽처의 VCL NAL 유닛은 모두 nal_unit_type, TRAIL_NUT 또는 RADL_NUT와 같RASL_NUT 상이한 특정 값을 가져야 한다.
단층 비트스트림의 경우 다음 제약 조건이 적용된다:
- 디코딩 순서에서 비트스트림의 제1 픽처를 제외한, 각각의 픽처는 디코딩 순서에서 이전 IRAP 픽처와 연관된 것으로 간주된다.
- 픽처가 IRAP 픽처의 리딩 픽처인 경우 RADL 또는 RASL 픽처이어야 한다.
- 픽처가 IRAP 픽처의 트레일링 픽처인 경우 RADL 또는 RASL 픽처가 아니어야 한다.
- IDR 픽처와 연관된 비트스트림에는 RASL 픽처가 존재하지 않아야 한다.
- RADL 픽처는 IDR_N_LP와 동일한 nal_unit_type를 갖는 IDR 픽처와 연관된 비트스트림에 존재해야 된다.
참고 6 - 참조될 때 각 파라미터 세트을 사용할 수 있는 경우(비트스트림 또는 이 사양에 지정되지 않은 외부 수단을 통해), IRAP PU 이전에 모든 PU를 폐기함으로써 IRAP PU의 위치에서 랜덤 액세스를 수행할 수 있다(그리고 IRAP 픽처 및 이후의 모든 비RASL 픽처를 디코딩 순서에서 올바르게 디코딩하기 위해).
- 디코딩 순서에서 IRAP 픽처에 선행하는 임의의 픽처는 출력 순서에서 IRAP 픽처에 선행해야 하고 출력 순서에서 IRAP 픽처와 연관된 RADL 픽처에 선행해야 한다.
- CRA 픽처와 연관된 모든 RASL 픽처는 출력 순서에서 CRA 픽처와 연관된 임의의 RADL 픽처에 선행해야 한다.
- CRA 픽처와 연관된 모든 RASL 픽처는 디코딩 순서에 따라 CRA 픽처에 선행하는 임의의 IRAP 픽처를, 출력 순서에서, 따라와야 한다.
- field_seq_flag가 0이고 현재 픽처가 IRAP 픽처와 연관된 리딩 픽처인 경우, 동일한 IRAP 픽처와 연관된 모든 비-리딩 픽처가 디코딩 순서에서 선행해야 한다. 그렇지 않으면, picA 및 picB가 IRAP 픽처와 연관된 디코딩 순서에서, 각각 제1 및 마지막 리딩 픽처가 되게 하고, 디코딩 순서에서 picA에 선행하는 최대 하나의 비-리딩 픽처가 있어야 하고, 디코딩 순서에 있어서 picA와 picB 사이에 비-리딩 픽처가 없어야 한다.
nuh_temporal_id_plus1 빼기 1은 NAL 유닛에 대한 시간적 식별자를 지정한다.
nuh_temporal_id_plus1의 값은 0과 동일하지 않아야 한다.
변수 TemporalId는 다음과 같이 유도된다:
TemporalId = nuh_temporal_id_plus1 - 1 (36)
nal_unit_type가 IDR_W_RADL에서 RSV_IRAP_12까지를 포함하는 범위에 있는 경우 TemporalId는 0과 동일해야 한다.
nal_unit_type가 STSA_NUT와 동일하고 vps_independent_layer_flag[ GeneralLayerIdx[ nuh_layer_id ] ]가 1과 동일하면, TemporalId는 0과 동일하지 않다.
TemporalId의 값은 AU의 모든 VCL NAL 유닛에 대해 동일해야 한다. 코딩된 픽처, PU, 또는 AU의 TemporalId 값은 코딩된 픽처, PU, 또는 AU의 VCL NAL 유닛들의 TemporalId 값이다. 서브계층 표현의 TemporalId 값은 서브계층 표현에 있는 모든 VCL NAL 유닛 중 TemporalId의 가장 큰 값이다.
비-VCL NAL 유닛에 대한 TemporalId 값은 다음과 같이 제한된다:
- nal_unit_type가 DCI_NUT, VPS_NUT 또는 SPS_NUT와 동일하면, TemporalId는 0과 동일하고 NAL 유닛을 포함하는 AU의 TemporalId는 0과 동일해야 한다.
- 그렇지 않으면, nal_unit_type가 PH_NUT와 동일하면, TemporalId는 NAL 유닛을 포함하는 PU의 TemporalId와 동일해야 한다.
- 그렇지 않으면, nal_unit_type이 EOS_NUT 또는 EOB_NUT와 동일하면 TemporalId는 0과 동일해야 한다.
- 그렇지 않으면, nal_unit_type가 AUD_NUT, FD_NUT, PREFIX_SEI_NUT 또는 SUFFIX_SEI_NUT와 동일할 경우, TemporalId는 NAL 유닛을 포함하는 AU의 TemporalId와 동일해야 한다.
- 그렇지 않으면, nal_unit_type가 PPS_NUT, PREFIX_APS_NUT 또는 SUFFIX_APS_NUT와 동일할 때, TemporalId는 NAL 유닛을 포함하는 PU의 TemporalId보다 크거나 동일해야 한다.
참고 7 - NAL 유닛이 비-VCL NAL 유닛인 경우, TemporalId 값은 비-VCL NAL 유닛이 적용되는 모든 AU의 TemporalId 값의 최소값과 동일하다. nal_unit_type가 PPS_NUT, PREFIX_APS_NUT 또는 SUFFIX_APS_NUT와 동일할 때, 모든 PPS들 및 APS들이 비트스트림의 시작 부분에 포함될 수 있기 때문에(예를 들어, 이들이 대역 외로 전송될 때, 수신기가 이들을 비트스트림의 시작 부분에 배치할 때), TemporalId는 포함된 AU의 TemporalId보다 크거나 동일할 수 있고, 여기서 제1 코딩 된 픽처는 0과 동일한 TemporalId를 갖는다.
3.10. 픽처 내의 혼합 NAL 유닛 유형
7.4.3.4 픽처 파라미터 세트 시맨틱
. . .
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의 서브픽처에 속하지 않아야 한다.
- nalUnitTypeA가 CRA와 동일하면, 디코딩 순서 및 출력 순서에서 CLVS의 현재 픽처를 따르는 모든 다음 PU에 대해, 해당 PU의 subpicA에 있는 슬라이스의 RefPicList [ 0 ] 또는 RefPicList [ 1 ]은 활성 항목의 디코딩 순서에서 picA에 선행하는 임의의 픽처를 포함하지 않아야 한다.
- 그렇지 않으면(즉, nalUnitTypeA가 IDR_W_RADL 또는 IDR_N_LP와 동일), 디코딩 순서에서 현재 픽처를 따르는 CLVS의 모든 PU에 대해, 해당 PU의 subpicA에 있는 슬라이스의 RefPicList [ 0 ] 또는 RefPicList [ 1 ]은 활성 항목의 디코딩 순서에서 picA 에 선행하는 임의의 픽처를 포함하지 않아야 한다.
참고 1 - 1과 동일한 mixed_nalu_types_in_pic_flag는 PPS를 참조하는 픽처가 상이한 NAL 유닛 유형을 갖는 슬라이스를 포함한다는 것을 나타내고, 예를 들어 코딩된 픽처가 인코더가 비트스트림 구조를 일치시키고 원래 비트스트림의 파라미터의 추가 정렬을 보장해야 하는 서브픽처 비트스트림 병합 동작에서 발생한다. 이러한 정렬의 한 예는 다음과 같다: sps_idr_rpl_flag의 값이 0이고 mixed_nalu_types_in_pic_flag가 1인 경우, PPS를 참조하는 픽처는 IDR_W_RADL 또는 IDR_N_LP와 동일한 nal_unit_type을 갖는 슬라이스를 가질 수 없다.
. . .
3.11. VVC의 픽처 헤더 구조 신택스 및 시맨틱
최신 VVC 텍스트(JVET-Q2001-vE/v15)에서 여기에 설명된 기술 솔루션과 가장 관련이 있는 픽처 헤더 구조 신택스 및 시맨틱는 다음과 같다.
7.3.2.7 픽처 헤더 구조 신택스
Figure pct00002
7.4.3.7 픽처 헤더 구조 시맨틱
PH 신택스 구조는 PH 신택스 구조와 연관된 코딩된 픽처의 모든 슬라이스에 공통적인 정보를 포함한다.
1과 동일한 gdr_or_irap_pic_flag는 현재 픽처가 GDR 또는 IRAP 픽처임을 지정한다. 0과 동일한 gdr_or_irap_pic_flag는 현재 픽처가 GDR 또는 IRAP 픽처일 수도 있고 아닐 수도 있음을 지정한다.
1과 동일한 gdr_pic_flag는 PH와 연관된 픽처가 GDR 픽처임을 지정한다. 0과 동일한 gdr_pic_flag는 PH와 연관된 픽처가 GDR 픽처가 아님을 지정한다. 존재하지 않을 때, gdr_pic_flag의 값은 0과 동일한 것으로 유추된다. gdr_enabled_flag가 0과 동일할 때, gdr_pic_flag의 값은 0과 동일해야 한다.
참고 1 - gdr_or_irap_pic_flag가 1이고 gdr_pic_flag가 0과 동일하면, PH와 연관된 픽처는 IRAP 픽처다.
. . .
ph_pic_order_cnt_lsb는 현재 픽처에 대한 픽처 순서 카운트 모듈로 MaxPicOrderCntLsb를 지정한다. ph_pic_order_cnt_lsb 신택스 요소의 길이는 log2_max_pic_order_cnt_lsb_minus4 + 4비트이다. ph_pic_order_cnt_lsb의 값은 0에서 MaxPicOrderCntLsb-1까지를 포함하는 범위에 있어야 한다.
no_output_of_prior_pics_flag는 부록 C에 지정된 비트스트림의 제1 픽처가 아닌 CLVSS 픽처의 디코딩 후 DPB에서 이전에 디코딩된 픽처의 출력에 영향을 준다.
Recovery_poc_cnt는 출력 순서대로 디코딩된 픽처의 복구 지점을 지정한다. 현재 픽처가 PH와 연관된 GDR 픽처가고, 현재 GDR 픽처의 PicOrderCntVal에 recovery_poc_cnt 값을 더한 것과 동일한 PicOrderCntVal을 갖는 CLVS에서 디코딩 순서에서 현재 GDR 픽처를 따르는 픽처 picA가 있는 경우, 픽처 picA는 복구 포인트 픽처로 지칭된다. 그렇지 않으면, 현재 픽처의 PicOrderCntVal에 recovery_poc_cnt의 값을 더한 것보다 더 큰 PicOrderCntVal을 갖는 출력 순서의 제1 픽처를 복구 포인트 픽처라고 한다. 복구 지점 픽처는 디코딩 순서에서 현재 GDR 픽처보다 선행하지 않아야 한다. Recovery_poc_cnt의 값은 0에서 MaxPicOrderCntLsb-1까지를 포함하는 범위에 있어야 한다.
현재 픽처가 GDR 픽처인 경우, 변수 RpPicOrderCntVal은 다음과 같이 유도된다:
RpPicOrderCntVal = PicOrderCntVal + recovery_poc_cnt (81)
참고 2 - gdr_enabled_flag가 1이고 현재 픽처의 PicOrderCntVal이 연관된 GDR 픽처의 RpPicOrderCntVal보다 크거나 같을 때, 출력 순서의 현재 및 후속 디코딩된 픽처는 디코딩 순서에서 연관된 GDR 픽처에 선행하는, 존재하는 경우, 이전 IRAP 픽처로부터 디코딩 프로세스를 시작함으로써 생성된 대응하는 픽처와 정확히 일치한다.
. . .
3.12. VVC의 RPL에 대한 제약 조건
최신 VVC 텍스트(JVET-Q2001-VE/v15)에서 VVC의 RPL에 대한 제약 조건은 다음과 같다(레퍼런스 픽처 목록 구성을 위한 VVC의 절 8.3.2 디코딩 프로세스의 일부).
8.3.2 레퍼런스 픽처 목록 구성을 위한 디코딩 프로세스
. . .
0 또는 1과 동일한 각 i에 대해, RefPicList[i]의 제1 NumRefIdxActive[i] 항목은 RefPicList[i]의 활성 항목이라 하고, RefPicList[i]의 다른 항목은 RefPicList[i]의 비활성 항목이라고 한다.
참고 2 - 특정 픽처가 RefPicList[ 0 ]의 항목과 RefPicList[ 1 ]의 항목 모두에 의해 참조될 수 있다. 또한 특정 픽처가 RefPicList[ 0 ]의 둘 이상의 항목 또는 RefPicList[ 1 ]의 둘 이상의 항목에 의해 참조될 수도 있다.
참고 3 - RefPicList[ 0 ]의 활성 항목과 RefPicList[ 1 ]의 활성 항목은 현재 픽처의 상호 예측에 사용될 수있는 모든 레퍼런스 픽처와 디코딩 순서에서 현재 픽처를 따르는 하나 이상의 픽처를 총칭한다. 참고 3 - RefPicList[ 0 ]의 비활성 항목과 RefPicList[ 1 ]의 비활성 항목은 현재 픽처의 상호 예측에 사용되나 현재 픽처를 따르는 하나 이상의 픽처에 대한 인터 예측에 사용될 수 있는 모든 레퍼런스 픽처를 총칭한다.
참고 4 - 대응하는 픽처가 DPB에 없기 때문에 "레퍼런스 픽처 없음"과 동일한 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 하나 이상의 항목이 있을 수 있다. "레퍼런스 픽처 없음"과 동일한 RefPicList[ 0 ] 또는 RefPicList[ 0 ]에서 각 비활성 항목은 무시되어야 한다. 의도하지 않은 픽처 손실은 "레퍼런스 픽처 없음"과 동일한RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 활성 항목에 대해 유추되어야 한다.
다음 제약 조건이 적용되는 것은 비트스트림 적합성의 요구 사항이다:
- 0 또는 1과 동일한 각 i에 대해, num_ref_entries[ i ][ RplsIdx[ i ] ] 는 NumRefIdxActive[ i ] 보다 작지 않아야 한다.
- RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 활성 항목에 의해 참조된 픽처는 DPB에 존재해야 하며 현재 픽처의 TemporalId보다 작거나 동일해야 한다.
- RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 항목에서 참조하는 픽처는 현재 픽처가 아니어야 하며 0과 동일한 non_reference_picture_flag을 갖아야 한다.
- 픽처 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 STRP 항목과 동일한 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 LTRP 항목은 동일한 픽처를 참조하지 않는다.
- RefPicList[ 0 ] 또는 RefPicList[ 1 ]에는 LTRP 항목이 없어야 하고, 현재 픽처의 PicorderCNTVal과 항목에 의해 참조되는 픽처의 PicorderCNTVal 사이의 차이는 224보다 크거나 동일하게 된다.
- setOfRefPics는, 현재 픽처와 동일한 nuh_layer_id을 갖는 RefPicList[ 0 ]에서의 모든 항목과 현재 픽처와 동일한 nuh_layer_id을 갖는 RefPicList[ 1 ]에서의 모든 항목에서 참조하는 고유한 픽처 세트가 되게 한다. setOfRefPics의 픽처 수는 MaxDpbSize - 1보다 작거나 동일해야하고, MaxDpbSize는 절 A.4.2에 지정된 바와 같으며, setOfRefPics는 픽처의 모든 슬라이스에 대해 동일해야 한다.
- 현재 슬라이스의 nal_unit_type이 STSA_NUT와 같은 경우, 현재 픽처와 동일한 TemporalId 및 현재 픽처와 동일한 nuh_layer_idRefpicList[ 0 ]을 갖는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 활성 항목이 없어야 한다.
- 현재 픽처가, 디코딩 순서에서, 현재 픽처와 동일한 TemporalID 및 현재 픽처와 동일한 nuh_layer_id를 갖는 STSA 픽처를 따르는 픽처인 경우, 디코딩 순서에서 STSA에 선행하고, 현재 픽처와 동일한 TemporalID을 갖고, RefpicList [ 0 ] 또는 RefpicList [ 1 ]의 활성 항목으로 포함된 현재 픽처의 픽처와 동일한 nuh_layer_id equal를 갖는, 픽처는 없다.
- 현재 픽처가 CRA 픽처인 경우, 출력 순서 또는 디코딩 순서에서, 디코딩 순서에서 임의의 선행 IRAP 픽처(존재하는 경우)를 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 항목에 의해 참조되는 픽처가 없어야 한다.
- 현재 픽처가 트레일링 픽처인 경우, 현재 픽처와 연관된 IRAP 픽처에 대해 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 활성 항목에 의해 참조된 픽처가 없어야 한다.
- 현재 픽처가, 디코딩 순서 및 출력 순서 둘 다에서, 동일한 IRAP 픽처와 연관된 하나 이상의 리딩 픽처들이 뒤따르는 트레일링 픽처인 경우, 존재하는 경우, 현재 픽처와 연관된 IRAP 픽처에 대해 이용가능하지 않은 레퍼런스 픽처들을 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 항목에 의해 참조된 픽처가 존재하지 않아야 한다.
- 현재 픽처가 복구 지점 픽처 또는, 출력 순서에서 복구 지점 픽처를 따르는 픽처인 경우, 복구 지점 픽처의 GDR 픽처에 대해 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처를 포함하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 항목이 없어야 한다.
- 현재 픽처가 트레일링 픽처인 경우, 출력 순서 또는 디코딩 순서에서 연관된 IRAP 픽처에 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 활성 항목에 의해 참조되는 픽처가 없어야 한다.
- 현재 픽처가, 디코딩 순서와 출력 순서 모두에서, 동일한 IRAP 픽처와 연관된 하나 이상의 리딩 픽처(존재하는 경우)를 따르는 트레일링 픽처인 경우, 출력 순서 또는 디코딩 순서에서 연관된 IRAP 픽처에 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 항목에 의해 참조되는 픽처가 없어야 한다.
- 현재 픽처가 RADL 픽처인 경우, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에 다음 중 하나인 활성 항목이 없어야 한다:
o RASL 픽처
o 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된 픽처
o 디코딩 순서에서 연관된 IRAP 픽처에 선행하는 픽처
- 현재 픽처 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 항목에 의해 참조되는 픽처는 현재 픽처로서 동일한 AU에 있어야 한다.
- 현재 픽처 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 항목에 의해 참조되는 픽처는 DPB에 존재해야 하고 현재 픽처보다 작은 nuh_layer_id를 갖아야 한다.
- 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 항목은 활성 항목이어야 한다.
. . .
3.13. PictureOutputFlag 설정
최신 VVC 텍스트(JVET-Q2001-vE/v15)에서, 변수 PictureOutputFlag의 값 설정에 대한 사양은 다음과 같다(코딩된 픽처에 대한 cluase 8.1.2 디코딩 프로세스의 일부로).
8.1.2 코딩된 픽처의 디코딩 프로세스
이 절에 지정된 디코딩 프로세스는, BitstreamToDecode에서, 현재 픽처라고 하고 변수 CurrPic으로 표시된, 코딩된 각 픽처에 적용된다.
chroma_format_idc의 값에 따라 현재 픽처의 샘플 어레이 수는 다음과 같다:
- chroma_format_idc가 0이면, 현재 픽처는 1개의 샘플 어레이 SL로 구성된다.
- 그렇지 않으면(chroma_format_idc 0과 동일하지 않음), 현재 픽처는 3 개의 샘플 어레이 SL, SCb, SCr, 로 구성된다.
현재 픽처에 대한 디코딩 프로세스는 절 7의 신택스 요소와 대문자 변수를 입력으로 사용한다. 각 NAL 유닛 및 절 8의 나머지 부분에서, 각 신택스 요소의 시맨틱을 해석할 때, 용어 "비트스트림"(또는 그 일부, 예를 들어, 비트스트림의 CVS)은 BitstreamToDecode(또는 그 일부)를 지칭한다.
separate_colour_plane_flag의 값에 따라, 디코딩 프로세스는 다음과 같이 구조화된다:
- separate_colour_plane_flag가 0과 동일하면, 디코딩 프로세스가 출력이 현재 픽처로 단일 시간 호출된다.
- 그렇지 않으면(separate_colour_plane_flag 1과 동일함), 디코딩 프로세스는 세 번 호출된다. 디코딩 프로세스에 대한 입력은 colour_plane_id와 동일한 값을 갖는 코딩된 픽처의 모든 NAL 유닛이다. 특정 값이 colour_plane_id인 NAL 유닛의 디코딩 프로세스는 마치 특정 값이 colour_plane_id인 단색 형식의 CVS만 비트스트림에 있는 것 같이 지정된다. 3개의 디코딩 프로세스 각각의 출력은 현재 픽처의 3개의 샘플 어레이 중 하나에 할당되고, 0, 1 및 2와 동일한 colour_plane_id의 NAL 유닛은 각각 SL, SCb 및 SCr에 할당된다.
참고 - 변수 ChromaArrayType은, separate_colour_plane_flag가 1과 동일하고 chroma_format_idc가 3과 동일할 때, 0과 동일하게 유도된다. 디코딩 프로세스에서, 이 변수의 값이 평가되어 흑백 픽처의 동작과 동작이 생긴다(chroma_format_idc가 0인 경우).
디코딩 프로세스는 현재 픽처 CurrPic에 대해 다음과 같이 동작한다:
1. NAL 유닛의 디코딩은 절 8.2에 지정되어 있다.
2. 절 8.3 의 프로세스는 슬라이스 헤더 계층 및 이상의 신택스 요소를 사용하여 다음 디코딩 프로세스를 지정한다:
- 픽처 순서 수와 관련된 변수 및 함수는 절 8.3.1에 지정된 대로 유도된다. 이것은 픽처의 제1 슬라이스에 대해서만 호출되야 한다.
- IDR이 아닌 픽처의 각 슬라이스에 대한 디코딩 프로세스의 시작에서, 절 8.3.2 에서 지정된 레퍼런스 픽처 목록 구성을 위한 디코딩 프로세스는 레퍼런스 픽처 목록 0(List 0)(RefPicList[ 0 ]) 및 레퍼런스 픽처 목록 1(List 1)(RefPicList[ 1 ])의 유도를 위해 호출된다.
- 절 8.3.3 에서 레퍼런스 픽처 마킹을 위한 디코딩 프로세스가 호출되고, 여기서 레퍼런스 픽처는 "참조에 사용되지 않음" 또는 "장기 참조에 사용됨"으로 마킹될 수 있다. 이것은 픽처의 제1 슬라이스에 대해서만 호출되야 한다.
- 현재 픽처가 NoOutputBeforeRecoveryFlag가 1인 CRA 픽처거나 NoOutputBeforeRecoveryFlag가 1인 GDR 픽처인 경우 하위 절 8.3.4에 지정된 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스가 호출되고, 이는 픽처의 제1 슬라이스에 대해서만 호출되어야 한다.
- PictureOutputFlag는 다음과 같이 설정된다:
- 다음 조건 중 하나가 참이면, PictureOutputFlag가 0으로 설정된다:
- 현재 픽처는 RASL 픽처고 연관된 IRAP 픽처의 NoOutputBeforeRecoveryFlag는 1과 동일하다.
- gdr_enabled_flag는 1과 동일하고 현재 픽처는 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처다.
- gdr_enabled_flag 1과 동일하고, 현재 픽처는 NoOutputBeforeRecoveryFlag가 1인 GDR 픽처와 연관되고, 현재 픽처의 PicOrderCntVal은 연관된 GDR 픽처의 RpPicOrderCntVal보다 작다.
- sps_video_parameter_set_id는 0보다 크고, ols_mode_idc은 0과 동일하고 현재 AU에는 다음 조건을 모두 충족하는 픽처 picA를 포함한다:
- PicA의 1과 동일한 PictureOutputFlag를 갖는다.
- PicA는 현재 픽처보다 더 큰 nuh_layer_id nuhLid을 갖는다.
- PicA는 OLS의 출력 계층에 속한다(즉, OutputLayerIdInOls[ TargetOlsIdx ][ 0 ] 은 nuhLid와 동일하다).
- sps_video_parameter_set_id는 0보다 크고, ols_mode_idc 2와 동일하고, 및 ols_output_layer_flag[ TargetOlsIdx ][ GeneralLayerIdx[ nuh_layer_id ] ] 는 0과 동일하다.
- 그렇지 않으면, PictureOutputFlag가 pic_output_flag와 동일하게 설정된다.
3. 절 8.4, 8.5, 8.6, 8.7, 8.8의 프로세스는 모든 신택스 구조 계층에서 신택스 요소를 사용하여 디코딩 프로세스를 지정한다. 픽처의 코딩된 슬라이스에는 픽처의 모든 CTU에 대한 슬라이스 데이터가 포함되어야 하므로 픽처를 슬라이스로 나누고 슬라이스를 CTU로 나누면 각각 픽처의 파티셔닝을 형성하는 비트스트림의 적합성 요구 사항이다.
4. 현재 픽처의 모든 슬라이스가 디코딩된 후, 현재 디코딩된 픽처는 "단기 참조에 사용됨"으로 표시되고 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 항목은 "단기 참조에 사용됨"으로 표시된다.
4. 개시된 기술 솔루션으로 해결된 기술적 문제의 예
최신 VVC 텍스트(JVET-Q2001-vE/V15) 의 기존 스케일러빌리티 설계에는 다음과 같은 문제가 있다:
1) 하나의 픽처 내에서 서로 다른 유형의 서브픽처를 혼합할 수 있기 때문에, VCL NAL 유닛 유형을 갖는 NAL 유닛의 콘텐츠를 특정 유형의 픽처의 코딩된 슬라이스로서 호출하는 것은 혼란스럽다. 예를 들어, nal_unit_type이 CRA_NUT와 동일한 NAL 유닛은 픽처의 모든 슬라이스가 nal_unit_type이 CRA_NUT와 동일한 경우에만 CRA 픽처의 코딩된 슬라이스이고; 이 픽처의 하나의 슬라이스가 nal_unit_type CRA_NUT와 동일하지 않으면, 픽처는 CRA 픽처가 아니다.
2) 현재, 서브픽처가 IDR_W_RADL에서 CRA_NUT까지를 포함하는 범위의 nal_unit_type인 VCL NAL 유닛을 포함하는 경우 서브픽처에 대해 subpic_treated_as_pic_flag [] 의 값은 1과 동일해야 되는 것이 요구되고, mixed_nalu_types_in_pic_flag는 픽처에 대해 1과 동일하다. 즉, subpic_treated_as_pic_flag[ ]의 값은 픽처의 다른 유형의 서브픽처와 혼합된 IRAP 서브픽처에 대해 1과 동일해야 한다. 그러나, VCL NAL 유닛 유형의 더 많은 혼합을 지원하므로, 이 요구 사항만으로는 충분하지 않다.
3) 현재, 픽처 내에서 최대 두 가지 유형의 VCL NAL 유닛(및 두 가지 유형의 서브픽처)만 허용된다.
4) 단층 및 다층 컨텍스트 모두에서, 연관된 IRAP 또는 GDR 서브픽처에 비해 트레일링 서브픽처의 출력 순서에 대한 제약이 없다.
5) 현재, 픽처가 IRAP 픽처의 리딩 픽처인 경우, RADL 또는 RASL 픽처이어야 한다고 지정되어 있다. 이 제약 조건은 리딩/RADL/RASL 픽처의 정의와 함께, 두 개의 CRA 픽처와 비-AU 정렬된 연관된 RADL 및 RASL 픽처의 혼합으로 인한 픽처 내에서 RADL 및 RASL NAL 유닛 유형의 혼합을 허용하지 않는다.
6) 단층 및 다층 컨텍스트 모두에서, 리딩 서브픽처에 대해 서브픽처 유형(즉, 서브픽처 내의 VCL NAL 유닛의 NAL 유닛 유형)에 대한 제약이 없다.
7) 단층 및 다층 컨텍스트 모두에서, RASL 서브픽처가 존재될 수 있고 IDR 서브픽처와 연관될 수 있는지 여부에 대한 제약이 없다.
8) 단층 및 다층 컨텍스트 모두에서, RADL 서브픽처가 존재될 수 있고 IDR_N_LP와 동일한 nal_unit_type를 갖는 IDR 서브픽처와 연관될 수 있는지에 대한 제약이 없다.
9) 단층 및 다층 컨텍스트 모두에서, 디코딩 순서에서 IRAP 서브픽처에 선행하는 서브픽처와 IRAP 서브픽처와 연관된 RADL 서브픽처 사이의 상대적 출력 순서에 대한 제약이 없다.
10) 단층 및 다층 컨텍스트 모두에서, 디코딩 순서에서 GDR 서브픽처 앞의 서브픽처와 GDR 서브픽처와 연관된 서브픽처 사이의 상대적 출력 순서에 대한 제약이 없다.
11) 단층 및 다층 컨텍스트 모두에서, CRA 서브픽처와 연관된 RASL 서브픽처와 CRA 서브픽처와 연관된 RADL 서브픽처 사이의 상대적 출력 순서에 대한 제약이 없다.
12) 단층 및 다층 컨텍스트 모두에서, 디코딩 순서에서 CRA 서브픽처와 연관된 RASL 서브픽처와 CRA 서브픽처에 선행하는 IRAP 서브픽처 사이의 상대적 출력 순서에 대한 제약이 없다.
13) 단층 및 다층 컨텍스트 모두에서, IRAP 픽처의 연관된 비-리딩 픽처와 리딩 픽처 사이의 상대적 디코딩 순서에 대한 제약이 없다.
14) 단층 및 다 컨텍스트 모두에서, 디코딩 순서에서 STSA 서브픽처에 따라오는 서브픽처에 대한 RPL 활성 엔트리에는 제약이 없다.
15) 단층 및 다층 컨텍스트 모두에서, CRA 서브픽처에 대한 RPL 항목에 대한 제약이 없다.
16) 단층 및 다층 텍스트 모두에서, 사용할 수 없는 레퍼런스 픽처를 생성하기 위해 디코딩 프로세스에 의해 생성된 픽처를 참조하는 서브픽처에 대한 RPL 활성 엔트리에 대한 제약이 없다.
17) 단층 및 다층 컨텍스트 모두에서, 사용할 수 없는 레퍼런스 픽처를 생성하기 위해 디코딩 프로세스에 의해 생성된 픽처를 참조하는 서브픽처에 대한 RPL 엔트리에는 제약이 없다.
18) 단층 및 다층 컨텍스트 모두에서, IRAP 픽처와 연관된 서브픽처 및 출력 순서에서 IRAP 픽처를 따르는 서브픽처에 대한 RPL 활성 엔트리는 제약이 없다.
19) 단층 및 다층 컨텍스트 모두에서, IRAP 픽처와 연관된 서브픽처 및 출력 순서에서 IRAP 픽처를 따르는 RPL 항목에 대한 제약이 없다.
20) 단층 및 다층 컨텍스트 모두에서, RADL 서브픽처에 대한 RPL 활성 항목에 대한 제약이 없다.
5. 솔루션 및 실시예의 예
상기와 같은 문제점을 해결하기 위해, 아래와 같이 정리한 방법을 개시한다. 아이템은 일반적인 개념을 설명하기 위한 예시로 간주되어야 하고 좁은 의미로 해석되어서는 안된다. 또한, 이들 아이템은 개별적으로 또는 임의의 방식으로 조합하여 적용될 수 있다.
1) 문제 1을 해결하기 위해, VCL NAL 유닛 유형을 갖는 NAL 유닛의 콘텐츠를 "특정 유형의 픽처의 코딩된 슬라이스"로 지정하는 대신, "특정 유형의 픽처 또는 서브픽처의 코딩된 슬라이스"를 지정한다. 예를 들어, CRA_NUT와 동일한 nal_unit_type을 갖는 NAL 유닛의 콘텐츠는 "CRA 픽처 또는 서브픽처의 코딩된 슬라이스"로 지정된다.
a. 또한, 다음 용어들 중 하나 이상이 정의된다: 연관된 GDR 서브픽처, 연관된 IRAP 서브픽처, CRA 서브픽처, GDR 서브픽처, IDR 서브픽처, IRAP 서브픽처, 리딩 서브픽처, RADL 서브픽처, RASL 서브픽처, STSA 서브픽처, 트레일링 서브픽처.
2) 문제 2를 해결하기 위해, NAL 유닛 유형이 다른 두 개의 이웃 서브픽처가 모두 1과 동일한 subpic_treated_as_pic_flag[ ]를 갖어야 한다는 제약 조건을 추가한다.
a. 하나의 예에서, 제약조건은 다음과 같이 지정된다: 픽처에서 서브픽처 인덱스 i 및 j를 갖는 두 개의 이웃 서브픽처의 경우, subpic_treated_as_pic_flag[i] 또는 subpic_treated_as_pic_flag[j]가 0과 동일할 때, 두 서브픽처는 동일한 NAL 유닛 유형을 가져야 한다.
a. 대안적으로, 서브픽처 인덱스 i를 갖는 임의의 서브픽처가 0과 같subpic_treated_as_pic_flag[i]를 갖는 경우, 픽처의 모든 서브픽처는 동일한 NAL 유닛 유형을 가질 필요가 있다(즉, 픽처의 모든 VCL NAL 유닛은 동일한 NAL 유닛 유형을 가져야 하고, 즉, mixed_nalu_types_in_pic_flag의 값은 0과 동일해야 한다). 그리고 이것은 모든 서브픽처가 대응하는 1과 동일한 subpic_treated_as_pic_flag[ ]를 가질 때, mixed_nalu_types_in_pic_flag만이 1과 동일할 수 있음을 의미한다.
3) 문제 3을 해결하기 위해, mixed_nalu_types_in_pic_flag가 1과 동일할 때, 픽처에 대해 두 개 이상의 상이한 유형의 VCL NAL 유닛을 포함하는 것이 허용될 수 있다.
4) 문제 4를 해결하기 위해, 트레일링 서브픽처는 연관된 IRAP 또는 GDR 서브픽처를 출력 순서에서 따르도록 지정되어 있다.
5) 문제 5를 해결하기 위해, 두 개의 CRA 픽처와 이들의 비-AU 정렬된 연관된 RADL 및 RASL 픽처들의 혼합으로 부터 초래된 픽처 내에서 RADL 및 RASL NAL 유닛 유형들의 혼합을 허용하기 위해, IRAP 픽처의 리딩 픽처가 RADL 또는 RASL 픽처가 될 것을 지정하는 기존의 제약조건은 다음과 같이 변경된다: 픽처가 IRAP 픽처의 리딩 픽처인 경우 픽처의 모든 VCL NAL 유닛에 대한 nal_unit_type값은 RADL_NUT 또는 RASL_NUT와 동일해야 한다. 또한, nal_unit_type과 RADL_NUT의 RASL_NUT 값이 혼합된 픽처의 디코딩 과정에서, 픽처를 포함한 계층이 출력 계층일 때 픽처의 PictureOutputFlag가 pic_output_flag와 동일하게 설정된다.
이런 식으로, 출력되는 모든 픽처가 디코더를 준수하기 위해 정확해야 한다는 제약을 통해, 그러한 픽처들 내의 RADL 서브픽처들은 보장될 수 있지만, 관련된 CRA 픽처가 NoOutputBeforeRecoveryFlag를 1과 동일할 때 그러한 픽처들 내의 "중간 값" RASL 서브픽처들의 "정확성"의 보장도 제자리에 있지만 실제로는 필요하지 않다. 보장의 불필요한 부분은 중요하지 않으며 준수하는 인코더 또는 디코더를 구현하는 데 복잡성을 추가하지 않는다. 이 경우, NoOutputBeforeRecoveryFlag가 1과 동일한 CRA 픽처와 연관된 이러한 RASL 서브픽처가 디코딩 프로세스에 의해 출력 될 수 있지만, 디스플레이에 사용하기 위한 것이 아니므로 디스플레이에 사용해서는 안 된다는 것을 명확히하는 참고를 추가하는 것이 유용 할 것이다.
6) 문제 6을 해결하기 위해, 서브픽처가 IRAP 서브픽처의 리딩 서브픽처일 때, RADL 또는 RASL 서브픽처가 되어야 한다는 것이 지정된다.
7) 문제점 7을 해결하기 위해, IDR 서브픽처와 연관된 비트스트림에 RASL 서브픽처가 존재하지 않도록 지정된다.
8) 문제 8을 해결하기 위해, IDR_N_LP와 동일한 nal_unit_type을 갖는 IDR 서브픽처와 연관된 비트스트림에 RADL 서브픽처가 존재하지 않도록 지정된다.
9) 문제 9를 해결하기 위해, 특정 값 layerId와 동일한 nuh_layer_id 및 특정 값 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 디코딩 순서에서, layerId와 동일한 nuh_layer_id 및 subpicIdx와 동일한 서브픽처 인덱스를 갖는 IRAP 서브픽처를 선행하는, 임의의 서브픽처가, 출력 순서에서, IRAP 서브픽처와 이와 연관된 RADL 서브픽처를 선행하도록 지정되어 있다.
10) 문제 10을 해결하기 위해, 특정 값 layerId와 동일한 nuh_layer_id 및 특정 값 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 디코딩 순서에서, layerId와 동일한 nuh_layer_id 및 subpicIdx와 동일한 서브픽처 인덱스를 갖는 GDR 서브픽처를 선행하는, 임의의 서브픽처가, 출력 순서에서, GDR 서브픽처 및 그와 연관된 모든 서브픽처에 선행하도록 지정되어 있다.
11) 문제점 11을 해결하기 위해, CRA 서브픽처와 연관된 임의의 RASL 서브픽처가 출력 순서에서 CRA 서브픽처와 연관된 임의의 RADL 서브픽처에 선행해야 한다고 지정된다.
12) 문제점 12를 해결하기 위해, CRA 서브픽처와 연관된 임의의 RASL 서브픽처가 출력 순서에서, 디코딩 순서에서 CRA 서브픽처에 선행하는 임의의 IRAP 서브픽처를 따라가도록 지정된다.
13) 문제 13을 해결하기 위해, field_seq_flag가 0과 동일하고, 특정 값 layerId와 동일한 nuh_layer_id 및 특정 값 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 현재 픽처가 IRAP 서브픽처와 연관된 리딩 서브픽처인 경우, 디코딩 순서에서, 동일한 IRAP 서브픽처와 연관된 모든 비-리딩 서브픽처는 선행해야하고; 그렇지 않으면, subPica와 SubPicB는, 디코딩 순서에서, 각각 IRAP서브픽처와 연관된, 첫 번째 및 마지막 리딩 서브픽처로 되게 하고, layerId와 동일한 nuh_layer_id 및 디코딩 순서에서 picA를 선행하는 subpicIdx와 동일한 서브픽처 인덱스를 갖는 최대 하나의 비-리딩 서브픽처가 있어 하고, 및 layerId와 동일한 nuh_layer_id 및 디코딩 순서에서 picA와 picB 사이의 subpicIdx와 동일한 서브픽처 인덱스를 갖는 비-리딩 픽처가 없어야 한다고 지정된다.
14) 문제 14를 해결하기 위해, 특정 값 tId와 동일한 TemporalId, 특정 값 layerld와 동일한 nuh_layer_id 및 특정 값 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 현재 픽처는, 디코딩 순서에서, tId와 동일한 TemporalId, layerld와 동일한 nuh_layer_id 및 subpicIdx와 동일한 서브픽처 인덱스를 갖는 STSA 서브픽처를 따르는 서브픽처고, 디코딩 순서에서 RefpicList [0] 또는 RefpicList [1] 의 활성 항목으로 포함된 STSA 서브픽처를 포함하는 픽처에 선행하는, tld와 동일한 TemporalId 및 layerld와 동일한 nuh_layer_id를 갖는 픽처가 없어야 한다고 지정된다.
15) 문제 15를 해결하기 위해, layerId와 동일한 nuh_layer_id 및 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 현재 서브픽처가 CRA 서브픽처인 때, 디코딩 순서에서 (존재하는 경우) layerld와 동일한 nuh_layer_id 및 sbpicIsx와 동일한 서브픽처 인덱스를 갖는 선행 IRAP서브픽처를 포함하는 임의의 픽처를, 출력 순서 및 디코딩 순서에서, 선행하는, RefpicList [0] 또는 RefpicList [1]의 항목으로 참조되는 픽처가 없어야 한다고 지정된다.
16) 문제 16을 해결하기 위해, 특정 값 layerID와 동일한 nuh_layer_id 및 특정 값 subpicldx와 동일한 서브픽처 인덱스를 갖는, 현재 서브픽처가 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처의 CRA 서브픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처의 GDR 서브픽처 또는 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처(recoverying picture)의 서브픽처와 연관된 RASL 서브픽처가 아닐 때, 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[0] 또는 RefPicList[1]에서의 활성 항목에 의해 참조된 픽처가 없어야 한다.
17) 문제 17을 해결하기 위해, 특정 값 layerId와 동일한 nuh_layer_id 및 특정 값 subpicldx와 동일한 서브픽처 인덱스를 갖는, 현재 서브픽처가 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처의 CRA 서브픽처가 아닐 때, 서브픽처는, 디코딩 순서에서, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처의 동일한 CRA 서브픽처와 연관된 리딩 서브픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처의 CRA 서브픽처와 연관된 리딩 서브픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처의 GDR 서브픽처, 또는 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처의 서브픽처를 선행하고, 사용할 수 없는 레퍼런스 픽처를 생성하기 위해 디코딩 프로세스에 의해 생성된 RefpicList [0] 또는 RefpicList [1]의 항목으로 참조되는 픽처는 없어야 한다고 지정된다.
18) 문제 18을 해결하기 위해, 현재 서브픽처가 IRAP 서브픽처와 연관되어 있고 출력 순서에서 IRAP 서브픽처를 따르는 경우, 출력 순서 또는 디코딩 순서에서 연관된 IRAP 서브픽처를 포함하는 픽처에 선행하는, RefPicList[0] 또는 RefPicList[1]에서의 활성 항목에 의해 참조되는 픽처가 없어야 한다.
19) 문제 19를 해결하기 위해, 현재 서브픽처가 IRAP 서브픽처와 연관되어 있으면, 출력 순서에서 IRAP 서브픽처를 따르고, 디코딩 순서와 출력 순서 모두에서, 동일한 IRAP 서브픽처와 연관된 리딩 서브픽처(존재하는 경우)를 따르고, 출력 순서 또는 디코딩 순서에서 연관된 IRAP 서브픽처를 포함하는 픽처에 선행하는, RefPicList[0] 또는 RefPicList[1]에서의 항목에 의해 참조되는 픽처가 없어야 한다.
20) 문제 20을 해결하기 위해, 현재 서브픽처가 RADL 서브픽처인 경우 RefPicList[ 0 ] 또는 RefPicList[ 1 ]에 다음 중 하나인 활성 항목이 없어야 한다:
a. RASL 서브픽처가 포함된 픽처
b. 디코딩 순서에서 연관된 IRAP 서브픽처를 포함하는 픽처에 선행하는 픽처
6. 실시예의 예
다음은, VVC 사양에 적용될 수 있는, 위의 섹션 5에서 요약된 기술적 솔루션 측면 중 일부에 대한 몇 가지 예시적인 실시예이다. 변경된 텍스트는 JVET-Q2001-vE/v15의 최신 VVC 텍스트를 기반으로 한다. 추가 또는 수정된 대부분의 관련 부품은 굵은 글씨체 이탤릭체로 강조 표시 되고, 삭제된 부품 중 일부는 이중 대괄호 사이에 삭제된 텍스트와 함께 열린 대괄호와 닫기 이중 대괄호(예를 들어, [[]])로 강조 표시된다. 본질적으로 편집적으로 이 기술 솔루션의 일부가 아니므로 강조되지 않은 몇 가지 다른 변경 사항이 있다.
6.1. 제1 실시예
본 실시예는 아이템 1, 1a, 2, 2a, 4, 및 6 내지 20에 대한 것이다.
3 정의
. . .
연관된 GDR 픽처(nuh_layer_id layerId의 특정 값을 갖는 특정 픽처): 디코딩 순서에서 layerId와 동일한 nuh_layer_id을 갖는 이전 GDR 픽처는(존재하는 경우) 디코딩 순서에서 이것과 특정 픽처 사이에 존재하고, layerId와 동일한 nuh_layer_id를 갖는 IRAP 픽처는 없다.
연관된 GDR 서브픽처(nuh_layer_id layerId의 특정 값과 subpicture index subpicIdx의 특정 값을 갖는 특정 서브픽처) : 디코딩 순서에서 ayerId와 동일한 nuh_layer_id와 subpicIdx와 동일한 서브픽처 인덱스를 갖는 이전 GDR 서브픽처는 (존재하는 경우) 디코딩 순서에서 이것과 특정 서브픽처 사이에 존재하고, layerId와 동일한 nuh_layer_id와 subpicIdx와 동일한 서브픽처 인덱스를 갖는 IRAP 서브픽처는 없다.
연관된 IRAP 픽처(nuh_layer_id layerId의 특정 값을 갖는 특정 픽처): 디코딩 순서에서 layerId와 동일한 nuh_layer_id을 갖는 이전 IRAP 픽처는(존재하는 경우) 디코딩 순서에서 이것과 특정 픽처 사이에 존재하고, layerId와 동일한 nuh_layer_id를 갖는 GDR 픽처는 없다.
연관된 IRAP 서브픽처(nuh_layer_id layerId의 특정 값과 subpicture index subpicIdx의 특정 값을 갖는 특정 서브픽처) : 디코딩 순서에서 ayerId와 동일한 nuh_layer_id와 subpicIdx와 동일한 서브픽처 인덱스를 갖는 이전 IRAP 서브픽처는(존재하는 경우) 디코딩 순서에서 이것과 특정 서브픽처 사이에 존재하고, layerId와 동일한 nuh_layer_id와 subpicIdx와 동일한 서브픽처 인덱스를 갖는 GDR 서브픽처는 없다.
클린 랜덤 액세스(CRA) 픽처: 각 VCL NAL 유닛이 CRA_NUT와 동일한 nal_unit_type을 갖는 IRAP 픽처다.
클린 랜덤 액세스(CRA) 서브픽처 : 각 VCL NAL 유닛이 CRA_NUT와 동일한 nal_unit_type을 갖는 IRAP 서브픽처다.
점진적 디코딩 리프레시(GDR) AU: CVS의 각 계층에 PU가 있고 현재 각 PU에 코딩된 픽처가 GDR 픽처인 AU이다.
점진적 디코딩 리프레시(GDR) 픽처: 각 VCL NAL 유닛의 유닛 유형이 GDR_NUT와 동일한 픽처다.
점진적 디코딩 리프레시(GDR) 서브픽처: 각 VCL NAL 유닛이 GDR_NUT와 동일한 nal_unit_type을 갖는 서브픽처다.
인스턴스 디코딩 리프레시(IDR) 픽처: 각 VCL NAL 유닛은 IDR_W_RADL 또는 IDR_N_LP와 동일한 nal_unit_type를 갖는 IRAP 픽처
인스턴스 디코딩 리프레시(IDR) 서브픽처 : 각 VCL NAL 유닛이 IDR_W_RADL 또는 IDR_N_LP와 동일한 nal_unit_type을 갖는 IRAP 서브픽처다.
인트라 랜덤 액세스 포인트(IRAP) 픽처: 모든 VCL NAL 유닛이 IDR_W_RADL에서 CRA_NUT까지를 포함하는 범위의 nal 유닛 유형의 동일한 값을 갖는 픽처다.
인트라 랜덤 액세스 포인트(IRAP) 서브픽처: 모든 VCL NAL 유닛이 IDR_W_RADL에서 CRA_NUT까지를 포함하는 범위에서 동일한 nal_unit_type 값을 갖는 서브픽처다.
리딩 픽처: 출력 순서에서 연관된 IRAP 픽처에 선행하는 픽처 이다.
리딩 서브픽처 : 출력 순서에서 연관된 IRAP 서브픽처에 선행하는 픽처다.
출력 순서: CLVS 내의 픽처 또는 서브픽처의 순서는 POC 값 증가로 나타나고, DPB에서 출력되는 디코딩된 픽처의 경우, 디코딩된 픽처가 DPB에서 출력되는 순서이다.
랜덤 액세스 디코딩가능 리딩(RADL) 픽처: 각 VCL NAL 유닛이 RADL_NUT와 동일한 nal_unit_type을 갖는 픽처다.
랜덤 액세스 디코딩가능 리딩(RADL) 서브픽처: 각 VCL NAL 유닛은 RADL_NUT와 동일한 nal_unit_type을 갖는 서브픽처다.
랜덤 액세스 스킵된 리딩(RASL) 픽처:VCL NAL 유닛이 RASL_NUT와 동일한 nal_unit_type을 갖는 픽처다.
랜덤 액세스 스킵된 리딩(RASL) 서브픽처 : 각 VCL NAL 유닛이 RASL_NUT와 동일한 nal_unit_type을 갖는 서브픽처다.
단계적 시간적 서브계층 액세스(STSA) 픽처: 각 VCL NAL 유닛이 STSA_NUT와 동일한 nal_unit_type을 갖는 픽처다.
단계적 시간적 서브계층 액세스(STSA) 서브픽처: 각 VCL NAL 유닛이 STSA_NUT와 동일한 nal_unit_type을 갖는 서브픽처다.
트레일링 픽처: 각 VCL NAL 유닛이 TRAIL_NUT와 동일한 nal_unit_type을 갖는 픽처다.
참고 - IRSAP 또는 GDR 픽처와 연관된 트레일링 픽처도 디코딩 순서에 따라 IRSAP 또는 GDR 픽처를 따른다. 출력 순서에서 연관된 IRAP 또는 GDR 픽처를 따르고 디코딩 순서에서 연관된 IRAP 또는 GDR 픽처에 선행하는 픽처는 허용되지 않는다.
트레일링 서브픽처 : 각 VCL NAL 유닛이 TRAIL_NUT와 동일한 nal_unit_type을 갖는 서브픽처다.
참고 - IRSAP 또는 GDR 서브픽처와 연관된 트레일링 서브픽처도 디코딩 순서에 따라 IRSAP 또는 GDR 서브픽처를 따른다. 출력 순서에서 연관된 IRAP 또는 GDR 서브픽처를 따르고 디코딩 순서에서 연관된 IRAP 또는 GDR 서브픽처에 선행하는 서브픽처는 허용되지 않는다.
. . .
7.4.2.2 NAL 유닛 헤더 시맨틱
. . .
nal_unit_type 에 지정된 바와 같이 NAL 유닛 유형, 즉 NAL 유닛에 포함된 RBSP 데이터 구조의 유형을 Table 5에서 지정한다.
시맨틱이 지정되지 않은 UNSPEC_28..UNSPEC_31를 포함하는 범위를 갖는NAL 유닛은, 본 명세서에 지정된 디코딩 프로세스에 영향을 미치지 않는다.
참고 2 - UNSPEC_28..UNSPEC_31 범위의 NAL 유닛 유형은 애플리케이션에서 결정한 대로 사용될 수 있다. 이러한 nal_unit_type 값에 대한 디코딩 프로세스는 이 사양에 지정되어 있지 않다. 애플리케이션마다 이러한 NAL 유닛 유형을 다른 용도로 사용할 수 있으므로, 이러한 nal_unit_type 값을 사용하여 NAL 유닛을 생성하는 인코더 설계와 이러한 nal_unit_type 값으로 NAL 유닛의 내용을 해석하는 디코더 설계에서 특별한 주의를 기울여야 한다. 이 사양은 이러한 값에 대한 관리를 정의하지 않는다. 이러한 nal_unit_type 값들은 사용의 "충돌들"(즉, 동일한 nal_unit_type 값에 대한 NAL 유닛 콘텐츠의 의미에 대한 상이한 정의들)이 중요하지 않거나, 불가능하거나, 관리되는 문맥들에서만, 사용하기에 적합할 수 있다 - 예를 들어, 제어 애플리케이션 또는 전송 스펙에서 정의되거나 관리되고, 또는 비트스트림이 배포되는 환경을 제어한다.
비트스트림의 DU에서 데이터의 양을 결정하는 것 이외의 목적으로(부록 C에 지정된 대로), 디코더는 nal_unit_type의 예약된 값을 사용하는 모든 NAL 유닛의 내용을 무시(비트스트림에서 제거하고 폐기)해야 한다.
참고 3- 이 요구 사항을 사용하면 이 사양에 대한 호환 가능한 확장을 나중에 정의할 수 있다.
표 5- NAL 유닛 유형 코드 및 NAL 유닛 유형 클래스
Figure pct00003
Figure pct00004
참고 4 - 클린 랜덤 액세스(CRA) 픽처에는 비트스트림에 RASL 또는 RADL 픽처가 연관되어 있을 수 있다.
참고 5 - IDR_N_LP와 동일한 nal_unit_type를 갖는 인스턴스 디코딩 리프레시(instantaneous decoding refresh)(IDR) 픽처는 비트스트림에 연관된 리딩 픽처를 갖지 않는다. IDR_W_RADL과 동일한 nal_unit_type을 갖는 IDR 픽처는 비트스트림에 존재하는 연관된 RASL 픽처를 갖지 않지만, 비트스트림에 연관된 RADL 픽처를 가질 수 있다.
nal_unit_type의 값은 서브픽처의 모든 VCL NAL 유닛에 대해 동일해야 한다. 서브픽처는 서브픽처의 VCL NAL 유닛과 동일한 NAL 유닛 유형을 갖는 것으로 지칭된다.
픽처에서 서브픽처 인덱스 i 및 j를 갖는 두 개의 이웃 서브픽처의 경우, subpic_treated_as_pic_flag[i] 또는 subpic_treated_as_pic_flag[j]가 0과 동일할 때, 두 서브픽처는 동일한 NAL 유닛 유형을 가져야 한다.
특정 픽처의 VCL NAL 유닛의 경우 다음이 적용된다:
- mixed_nalu_types_in_pic_flag가 0과 동일할 경우, nal_unit_type의 값은 픽처의 모든 VCL NAL 유닛에 대해 동일하여야 하고, 픽처 또는 PU는 픽처의 VCL NAL 유닛 또는 PU와 동일한 NAL 유닛 유형을 갖는 것으로 지칭된다.
- 그렇지 않으면(mixed_nalu_types_in_pic_flag는 1과 동일함), 픽처는 적어도 두 개의 서브픽처를 가져야 하고, 픽처의 VCL NAL 유닛은 다음과 같이 정확히 두 개의 상이한 nal_unit_type 값을 가져야 한다: 픽처의 적어도 하나의 서브픽처의 VCL NAL 유닛은 모두 nal_unit_type와 동일한 STSA_NUT의 특정 값을 가져야 하고, RADL_NUT, RASL_NUT, IDR_W_RADL, IDR_N_LP 또는 CRA_NUT, 반면에 다른 서브픽처의 VCL NAL 유닛은 모두 nal_unit_type, TRAIL_NUT 또는 RADL_NUT와 같RASL_NUT 상이한 특정 값을 가져야 한다.
다음 제약 조건이 적용되는 것은 비트스트림 적합성의 요구 사항이다:
- 트레일링 픽처는 연관된 IRAP 또는 GDR 픽처를 출력 순서에서 따라야 한다.
- 트레일링 서브픽처는 연관된 IRAP 또는 GDR 서브픽처를 출력 순서에서 따라야 한다.
- 픽처가 IRAP 픽처의 리딩 픽처인 경우 RADL 또는 RASL 픽처이어야 한다.
- 서브픽처가 IRAP 서브픽처의 리딩 서브픽처인 경우, RADL 또는 RASL 서브픽처여야 한다.
- IDR 픽처와 연관된 비트스트림에는 RASL 픽처가 존재하지 않아야 한다.
- IDR 서브픽처와 연관된 비트스트림에는 RASL 서브픽처가 존재하지 않아야 한다.
- RADL 픽처는 IDR_N_LP와 동일한 nal_unit_type를 갖는 IDR 픽처와 연관된 비트스트림에 존재해야 된다.
참고 6 - 참조될 때 각 파라미터 세트을 사용할 수 있는 경우(비트스트림 또는 이 사양에 지정되지 않은 외부 수단을 통해), IRAP PU 이전에 모든 PU를 폐기함으로써 IRAP PU의 위치에서 랜덤 액세스를 수행할 수 있다(그리고 IRAP 픽처 및 이후의 모든 비RASL 픽처를 디코딩 순서에서 올바르게 디코딩하기 위해).
- RADL 서브픽처는 nal_unit_type와 동일한 IDR_N_LP를 갖는 IDR 서브픽처와 연관된 비트스트림에 존재하지 않아야 한다.
- 디코딩 순서에서, layerId와 동일한 nuh_layer_id을 갖는 IRAP 픽처에 선행하는, 특정 값 layerId와 동일한 nuh_layer_id을 갖는, 임의의 픽처는, 출력 순서에서, IRAP 픽처 및 모든 연관된 RADL 픽처에 선행해야 한다.
- 특정 값 layerId와 동일한 nuh_layer_id 및 특정 값 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 디코딩 순서에서, layerId와 동일한 nuh_layer_id 및 subpicIdx와 동일한 서브픽처 인덱스를 갖는 IRAP 서브픽처를 선행하는, 임의의 서브픽처가, 출력 순서에서, IRAP 서브픽처와 이와 연관된 RADL 서브픽처를 선행하도록 지정되어 있다.
- 디코딩 순서에서, layerId와 동일한 nuh_layer_id을 갖는 GDR 픽처에 선행하는, 특정 값 layerId와 동일한 nuh_layer_id을 갖는, 임의의 픽처는, 출력 순서에서, GDR 픽처 및 모든 연관된 픽처에 선행해야 한다.
- 특정 값 layerId와 동일한 nuh_layer_id 및 특정 값 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 디코딩 순서에서, layerId와 동일한 nuh_layer_id 및 subpicIdx와 동일한 서브픽처 인덱스를 갖는 GDR 서브픽처를 선행하는, 임의의 서브픽처가, 출력 순서에서, GDR 서브픽처와 이와 연관된 서브픽처를 선행하도록 지정되어 있다.
- CRA 픽처와 연관된 모든 RASL 픽처는 출력 순서에서 CRA 픽처와 연관된 임의의 RADL 픽처에 선행해야 한다.
- CRA 서브픽처와 연관된 임의의 RASL 서브픽처는 출력 순서에서 CRA 서브픽처와 연관된 임의의 RADL 서브픽처 앞에 선행해야 한다.
- CRA 픽처와 연관된 모든 RASL 픽처는 디코딩 순서에 따라 CRA 픽처에 선행하는 임의의 IRAP 픽처를, 출력 순서에서, 따라와야 한다.
- CRA 서브픽처와 연관된 모든 RASL 서브픽처는 디코딩 순서에서 CRA 서브픽처에 선행하는 임의의 IRAP 서브픽처를 출력 순서에서 따라야 한다.
- field_seq_flag가 0이고 특정 값 layerId와 동일한 nuh_layer_id를 갖는, 현재 픽처가 IRAP 픽처와 연관된 리딩 픽처인 경우, 디코딩 순서에서 동일한 IRAP 픽처와 연관된 모든 리딩 픽처에 선행해야 한다. 그렇지 않으면, picA 및 picB가 IRAP 픽처와 연관된 디코딩 순서에서, 각각 제1 및 마지막 리딩 픽처가 되게 하고, 디코딩 순서에서 picA에 선행하는 layerId와 동일한 nuh_layer_id를 갖는 최대 하나의 비-리딩 픽처가 있어야 하고, 디코딩 순서에 있어서 picA와 picB 사이에 layerId와 동일한 nuh_layer_id를 갖는 비-리딩 픽처가 없어야 한다.
- field_seq_flag가 0이고 특정 값 layerId와 동일한 nuh_layer_id 및 특정 값 subpicldx와 동일한 서브픽처 인덱스를 갖는, 현재 서브픽처가 IRAP 서브픽처와 연관된 리딩 서브픽처인 경우, 디코딩 순서에서 동일한 IRAP 서브픽처와 연관된 모든 리딩 서브픽처에 선행해야 한다. 그렇지 않으면, subpicA 및 subpicB가 IRAP 서브픽처와 연관된 디코딩 순서에서, 각각 제1 및 마지막 리딩 서브픽처가 되게 하고, 디코딩 순서에서 subpicA에 선행하는 layerId와 동일한 nuh_layer_id 및 subpicldx와 동일한 서브픽처 인덱스를 갖는 최대 하나의 비-리딩 서브픽처가 있어야 하고, 디코딩 순서에 있어서 picA와 picB 사이에 layerId와 동일한 nuh_layer_id 및 subpicldx와 동일한 서브픽처 인덱스를 갖는 비-리딩 픽처가 없어야 한다.
. . .
7.4.3.4 픽처 파라미터 세트 시맨틱
. . .
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의 서브픽처에 속하지 않아야 한다.
- nalUnitTypeA가 CRA와 동일하면, 디코딩 순서 및 출력 순서에서 CLVS의 현재 픽처를 따르는 모든 다음 PU에 대해, 해당 PU의 subpicA에 있는 슬라이스의 RefPicList [ 0 ] 또는 RefPicList [ 1 ]은 활성 항목의 디코딩 순서에서 picA에 선행하는 임의의 픽처를 포함하지 않아야 한다.
- 그렇지 않으면(즉, nalUnitTypeA가 IDR_W_RADL 또는 IDR_N_LP와 동일), 디코딩 순서에서 현재 픽처를 따르는 CLVS의 모든 PU에 대해, 해당 PU의 subpicA에 있는 슬라이스의 RefPicList [ 0 ] 또는 RefPicList [ 1 ]은 활성 항목의 디코딩 순서에서 picA 에 선행하는 임의의 픽처를 포함하지 않아야 한다.
참고 1- 1과 동일한 mixed_nalu_types_in_pic_flag는 PPS를 참조하는 픽처가 상이한 NAL 유닛 유형을 갖는 슬라이스를 포함한다는 것을 나타내고, 예를 들어 코딩된 픽처가 인코더가 비트스트림 구조를 일치시키고 원래 비트스트림의 파라미터의 추가 정렬을 보장해야 하는 서브픽처 비트스트림 병합 동작에서 발생한다. 이러한 정렬의 한 예는 다음과 같다: sps_idr_rpl_flag의 값이 0이고 mixed_nalu_types_in_pic_flag가 1인 경우, PPS를 참조하는 픽처는 IDR_W_RADL 또는 IDR_N_LP와 동일한 nal_unit_type을 갖는 슬라이스를 가질 수 없다.
. . .
7.4.3.7 픽처 헤더 구조 시맨틱
. . .
Recovery_poc_cnt는 출력 순서대로 디코딩된 픽처의 복구 지점을 지정한다.
현재 픽처가 GDR 픽처인 경우, 변수 recoveryPointPocVal 은 다음과 같이 유도된다:
recoveryPointPocVal = PicOrderCntVal + recovery_poc_cnt (81)
현재 픽처가 PH와 연관된 GDR 픽처가고, [[현재 GDR 픽처의 PicOrderCntVal에 recovery_poc_cnt 값을 더한 것]] recoveryPointPocVal 과 동일한 PicOrderCntVal을 갖는 CLVS에서 디코딩 순서에서 현재 GDR 픽처를 따르는 픽처 picA가 있는 경우, 픽처 picA는 복구 포인트 픽처로 지칭된다. 그렇지 않으면, CLVS에서 [[현재 픽처의 PicOrderCntVal에 recovery_poc_cnt의 값을 더한 것]] recoveryPointPocVal 보다 더 큰 PicOrderCntVal을 갖는 출력 순서의 제1 픽처를 복구 포인트 픽처라고 한다. 복구 지점 픽처는 디코딩 순서에서 현재 GDR 픽처보다 선행하지 않아야 한다. 현재 GDR 픽처와 연관되어 있고 recoveryPointPocVal보다 적은 PicOrderCntVal를 갖는 픽처는 GDR 픽처의 복구 픽처(recovering picture)라고 한다. Recovery_poc_cnt의 값은 0에서 MaxPicOrderCntLsb-1까지를 포함하는 범위에 있어야 한다.
현재 픽처가 GDR 픽처인 경우, 변수 RpPicOrderCntVal은 다음과 같이 유도된다:
RpPicOrderCntVal = PicOrderCntVal + recovery_poc_cnt (81)]]
참고 2 - gdr_enabled_flag가 1이고 현재 픽처의 PicOrderCntVal이 연관된 GDR 픽처의 recoveryPointPocVal [[RpPicOrderCntVal]]보다 크거나 같을 때, 출력 순서의 현재 및 후속 디코딩된 픽처는 디코딩 순서에서 연관된 GDR 픽처에 선행하는, 존재하는 경우, 이전 IRAP 픽처로부터 디코딩 프로세스를 시작함으로써 생성된 대응하는 픽처와 정확히 일치한다.
. . .
8.3.2 레퍼런스 픽처 목록 구성을 위한 디코딩 프로세스
. . .
다음 제약 조건이 적용되는 것은 비트스트림 적합성의 요구 사항이다:
- 0 또는 1과 동일한 각 i에 대해, num_ref_entries[ i ][ RplsIdx[ i ] ]는 NumRefIdxActive[ i ] 보다 작지 않아야 한다.
- RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 활성 항목에 의해 참조된 픽처는 DPB에 존재해야 하며 현재 픽처의 TemporalId보다 작거나 동일해야 한다.
- RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 항목에서 참조하는 픽처는 현재 픽처가 아니어야 하며 0과 동일한 non_reference_picture_flag을 갖아야 한다.
- 픽처 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 STRP 항목과 동일한 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 LTRP 항목은 동일한 픽처를 참조하지 않는다.
- RefPicList[ 0 ] 또는 RefPicList[ 1 ]에는 LTRP 항목이 없어야 하고, 현재 픽처의 PicorderCNTVal과 항목에 의해 참조되는 픽처의 PicorderCNTVal 사이의 차이는 224보다 크거나 동일하게 된다.
- setOfRefPics는, 현재 픽처와 동일한 nuh_layer_id을 갖는 RefPicList[ 0 ]에서의 모든 항목과 현재 픽처와 동일한 nuh_layer_id을 갖는 RefPicList[ 1 ]에서의 모든 항목에서 참조하는 고유한 픽처 세트가 되게 한다. setOfRefPics의 픽처 수는 MaxDpbSize - 1보다 작거나 동일해야하고, MaxDpbSize는 절 A.4.2에 지정된 바와 같으며, setOfRefPics는 픽처의 모든 슬라이스에 대해 동일해야 한다.
- 현재 슬라이스의 nal_unit_type이 STSA_NUT와 같은 경우, 현재 픽처와 동일한 TemporalId 및 현재 픽처와 동일한 nuh_layer_idRefpicList[ 0 ]을 갖는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 활성 항목이 없어야 한다.
- 현재 픽처가, 디코딩 순서에서, 현재 픽처와 동일한 TemporalID 및 현재 픽처와 동일한 nuh_layer_id를 갖는 STSA 픽처를 따르는 픽처인 경우, 디코딩 순서에서 STSA에 선행하고, 현재 픽처와 동일한 TemporalID을 갖고, RefpicList [ 0 ] 또는 RefpicList [ 1 ]의 활성 항목으로 포함된 현재 픽처의 픽처와 동일한 nuh_layer_id equal를 갖는, 픽처는 없다.
- 특정 값 tId와 동일한 TemporalId, 특정 값 layerld와 동일한 nuh_layer_id 및 특정 값 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 현재 픽처는, 디코딩 순서에서, tId와 동일한 TemporalId, layerld와 동일한 nuh_layer_id 및 subpicIdx와 동일한 서브픽처 인덱스를 갖는 STSA 서브픽처를 따르는 서브픽처고, 디코딩 순서에서 RefpicList [0] 또는 RefpicList [1] 의 활성 항목으로 포함된 STSA 서브픽처를 포함하는 픽처에 선행하는, tld와 동일한 TemporalId 및 layerld와 동일한 nuh_layer_id를 갖는 픽처가 없어야 한다고 지정된다.
- 특정 값 layerld와 동일한 nuh_layer_id 갖는 현재 픽처가 CRA 픽처일 때, 출력 순서 또는 디코딩 순서에서, 디코딩 순서에서 layerId와 동일한 nuh_layer_id를 갖는 임의의 선행 IRAP 픽처(존재하는 경우)를 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 항목에 의해 참조되는 픽처가 없어야 한다.
- layerId와 동일한 nuh_layer_id 및 subpicIdx와 동일한 서브픽처 인덱스를 갖는, 현재 서브픽처가 CRA 서브픽처인 때, 디코딩 순서에서 (존재하는 경우) layerld와 동일한 nuh_layer_id 및 sbpicIsx와 동일한 서브픽처 인덱스를 갖는 선행 IRAP서브픽처를 포함하는 임의의 픽처를, 출력 순서 및 디코딩 순서에서, 선행하는, RefpicList [0] 또는 RefpicList [1]의 항목으로 참조되는 픽처가 없어야 한다고 지정된다.
- 특정 값 layerID와 동일한 nuh_layer_id를 갖는, 현재 서브픽처가 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처와 연관된 RASL 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처(recoverying picture)가 아닐 때, 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 활성 항목에 의해 참조된 픽처가 없어야 한다.
- 특정 값 layerID와 동일한 nuh_layer_id 및 특정 값 subpicldx와 동일한 서브픽처 인덱스를 갖는, 현재 서브픽처가 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처의 CRA 서브픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처의 GDR 서브픽처 또는 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처(recoverying picture)의 서브픽처와 연관된 RASL 서브픽처가 아닐 때, 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[0] 또는 RefPicList[1]에서의 활성 항목에 의해 참조된 픽처가 없어야 한다.
- 특정 값 layerID와 동일한 nuh_layer_id를 갖는, 현재 서브픽처가 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처, 디코딩 순서에서 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 동일한 CRA 픽처와 연관된 리딩 픽처에 선행하는 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처와 연관된 리딩 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처, 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처(recoverying picture)가 아닐 때, 사용할 수 없는 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성된, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 항목에 의해 참조된 픽처가 없어야 한다.
- 특정 값 layerId와 동일한 nuh_layer_id 및 특정 값 subpicldx와 동일한 서브픽처 인덱스를 갖는, 현재 서브픽처가 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처의 CRA 서브픽처가 아닐 때, 서브픽처는, 디코딩 순서에서, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처의 동일한 CRA 서브픽처와 연관된 리딩 서브픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 CRA 픽처의 CRA 서브픽처와 연관된 리딩 서브픽처, 1과 동일한 NoOutputBeforeRecoveryFlag를 갖는 GDR 픽처의 GDR 서브픽처, 또는 1과 동일한 NoOutputBeforeRecoveryFlag 및 layerld와 동일한 nuh_layer_id를 갖는 GDR 픽처의 복구 픽처의 서브픽처를 선행하고, 사용할 수 없는 레퍼런스 픽처를 생성하기 위해 디코딩 프로세스에 의해 생성된 RefpicList [0] 또는 RefpicList [1]의 항목으로 참조되는 픽처는 없어야 한다고 지정된다.
- 현재 픽처가 IRAP 픽처와 연관되어 있고 출력 순서에서 IRAP 픽처를 따르는 경우, 출력 순서 또는 디코딩 순서에서 연관된 IRAP 픽처에 선행하는,RefPicList[0] 또는 RefPicList[1]에서의 활성 항목에 의해 참조되는 픽처가 없어야 한다.
- 현재 서브픽처가 IRAP 서브픽처와 연관되어 있고 출력 순서에서 IRAP 서브픽처를 따르는 경우, 출력 순서 또는 디코딩 순서에서 연관된 IRAP 서브픽처를 포함하는 픽처에 선행하는, RefPicList[0] 또는 RefPicList[1]에서의 활성 항목에 의해 참조되는 픽처가 없어야 한다.
- 현재 픽처가 IRAP 픽처와 연관되고, 출력 순서에서 IRAP 픽처를 따르고, 디코딩 순서와 출력 순서에서, 동일한 IRAP 픽처와 연관된 리딩 픽처를 따르는 경우(존재하는 경우), 출력 순서 또는 디코딩 순서에서 연관된 IRAP 픽처에 선행하는, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에서의 항목에 의해 참조되는 픽처가 없어야 한다.
- 현재 서브픽처가 IRAP 서브픽처와 연관되어 있으면, 출력 순서에서 IRAP 서브픽처를 따르고, 디코딩 순서와 출력 순서 모두에서, 동일한 IRAP 서브픽처와 연관된 리딩 서브픽처(존재하는 경우)를 따르고, 출력 순서 또는 디코딩 순서에서 연관된 IRAP 서브픽처를 포함하는 픽처에 선행하는, RefPicList[0] 또는 RefPicList[1]에서의 항목에 의해 참조되는 픽처가 없어야 한다.
- 현재 픽처가 RADL 픽처인 경우, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에 다음 중 하나인 활성 항목이 없어야 한다:
o RASL 픽처
o 디코딩 순서에서 연관된 IRAP 픽처에 선행하는 픽처
- 현재 서브픽처가 RADL 서브픽처인 경우, RefPicList[ 0 ] 또는 RefPicList[ 1 ]에 다음 중 하나인 활성 항목이 없어야 한다:
o RASL 서브픽처가 포함된 픽처
o 디코딩 순서에서 연관된 IRAP 서브픽처를 포함하는 픽처에 선행하는 픽처
- 현재 픽처 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 항목에 의해 참조되는 픽처는 현재 픽처로서 동일한 AU에 있어야 한다.
- 현재 픽처 슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 항목에 의해 참조되는 픽처는 DPB에 존재해야 하고 현재 픽처보다 작은 nuh_layer_id를 갖아야 한다.
슬라이스의 RefPicList[ 0 ] 또는 RefPicList[ 1 ]의 각 ILRP 항목은 활성 항목이어야 한다.
도 5는 여기에 개시된 다양한 기술들이 구현될 수 있는 예시적인 비디오 처리 시스템(video processing system)(1900)을 도시하는 블록도이다. 다양한 구현은 시스템(system)(1900)의 컴포넌트 중 일부 또는 전부를 포함할 수 있다. 시스템(1900)은 비디오 콘텐츠를 수신하기 위한 입력(input)(1902)을 포함할 수 있다. 비디오 콘텐츠는 원시 또는 압축되지 않은 포맷, 예를 들어, 8 또는 10비트 다중 컴포넌트 픽셀 값으로 수신될 수 있거나 압축 또는 인코딩된 포맷일 수 있다. 입력(1902)은 네트워크 인터페이스, 주변 버스 인터페이스, 또는 저장 인터페이스를 표현할 수 있다. 네트워크 인터페이스의 예로는 이더넷, 수동 광 네트워크(PON) 등과 같은 유선 인터페이스와 Wi-Fi 또는 셀룰러 인터페이스와 같은 무선 인터페이스가 있다.
시스템(1900)은 본 문서에 설명된 다양한 코딩 또는 인코딩 방법을 구현할 수 있는 코딩 컴포넌트(coding component)(1904)를 포함할 수 있다. 코딩 컴포넌트(1904)는 비디오의 코딩된 표현을 생성하기 위해 입력(1902)으로 부터 코딩 컴포넌트(1904)의 출력으로 비디오의 평균 비트레이트를 감소시킬 수 있다. 따라서 코딩 기술은 비디오 압축 또는 비디오 트랜스코딩 기술이라고도 한다. 코딩 컴포넌트(1904)의 출력은 컴포넌트(component)(1906)에 의해 표현되는 바와 같이, 연결된 통신을 통해 저장되거나 전송될 수 있다. 입력(1902)에서 수신된 비디오의 저장되거나 통신된 비트스트림(또는 코딩된) 표현은 디스플레이 인터페이스(1910)로 전송되는 픽셀 값 또는 디스플레이 가능한 비디오를 생성하기 위해 컴포넌트(1908)에 의해 사용될 수 있다. 비트스트림 표현(bitstream representation)에서 사용자가 볼 수 있는 비디오를 생성하는 프로세스를 비디오 압축 해제(decompression)라고도 한다. 또한, 특정 비디오 처리 동작을 "코딩" 동작(coding operation) 또는 툴(tools)로 지칭하지만, 코딩 툴 또는 동작이 인코더에서 사용되고 코딩 결과를 되돌리는 대응하는 디코딩 툴 또는 동작이 디코더에 의해 수행된다는 점을 이해할 것이다.
주변 버스 인터페이스 또는 디스플레이 인터페이스의 예로는 범용 직렬 버스(USB) 또는 고화질 멀티미디어 인터페이스(HDMI) 또는 디스플레이포트 등이 포함될 수 있다. 저장소 인터페이스의 예로는 SATA(직렬 첨단 기술 첨부 파일), PCI, IDE 인터페이스 등이 있다. 본 문서에 기재된 기술은 휴대전화, 노트북, 스마트폰 또는 디지털 데이터 처리 및/또는 비디오 디스플레이를 수행할 수 있는 기타 장치와 같은 다양한 전자 기기에 구현될 수 있다.
도 6은 비디오 처리 장치(3600)의 블록도이다. 장치(apparatus)(3600)는 여기에 설명된 방법 중 하나 이상을 구현하는 데 사용될 수 있다. 장치(3600)는 스마트폰, 태블릿, 컴퓨터, 사물 인터넷(IoT) 수신기 등으로 구현될 수 있다. 장치(3600)는 하나 이상의 프로세서(processor)(3602), 하나 이상의 메모리(memory)(3604) 및 비디오 처리 하드웨어(video processing hardware)(3606)를 포함할 수 있다. 프로세서(들)(3602)은 본 문서에 설명된 하나 이상의 방법을 구현하도록 구성될 수 있다. 메모리(메모리들)(3604)는 여기에 설명된 방법 및 기술을 구현하는 데 사용되는 데이터 및 코드를 저장하는 데 사용될 수 있다. 비디오 처리 하드웨어(video processing hardware)(3606)는 하드웨어 회로에서 본 문서에 설명된 일부 기술을 구현하는 데 사용될 수 있다.
도 8은 본 개시의 기술을 활용할 수 있는 예제 비디오 코딩 시스템(100)을 예시하는 블록도이다.
도 8에 도시된 바와 같이, 비디오 코딩 시스템(100)은 소스 장치(110)와 목적 장치(120)를 포함할 수 있다. 소스 장치(110)는 인코딩된 비디오 데이터를 생성하고, 비디오 인코딩 장치로 참조될 수 있다. 목적 장치(120)는 소스 장치(110)에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수 있고, 비디오 디코딩 장치로 참조될 수 있다.
소스 장치(110)에는 비디오 소스(112), 비디오 인코더(114) 및 입력/출력(I/O) 인터페이스(116)가 포함될 수 있다.
비디오 소스(112)에는 비디오 캡처 장치, 비디오 컴텐츠 공급자로부터 비디오 데이터를 수신하는 인터페이스, 비디오 데이터를 생성하기 위한 컴퓨터 그래픽 시스템 또는 이러한 소스의 조합을 포함할 수 있다. 비디오 데이터는 하나 이상의 픽처를 포함할 수 있다. 비디오 인코더(114)는 비디오 소스(112)의 비디오 데이터를 인코딩하여 비트스트림을 생성한다. 비트스트림에는 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스가 포함될 수 있다. 비트스트림에는 코딩된 픽처 및 연관된 데이터가 포함될 수 있다. 코딩된 픽처는 픽처의 코딩된 표현(representation)이다. 연관된 데이터에는 시퀀스 파라미터 세트, 픽처 파라미터 세트 및 기타 신택스 구조가 포함될 수 있다. I/O 인터페이스(116)는 변조기/복조기(모뎀) 및/또는 송신기(transmitter)를 포함할 수 있다. 인코딩된 비디오 데이터는 네트워크(130a)를 거쳐, I/O 인터페이스(116)를 통해 목적 장치(120)로 직접 전송될 수 있다. 인코딩된 비디오 데이터는 목적 장치(120)에 의한 액세스를 위해 저장 매체/서버(130b)에 저장될 수도 있다.
목적 장치(120)는 I/O 인터페이스(126), 비디오 디코더(124) 및 디스플레이 장치(122)를 포함할 수 있다.
I/O 인터페이스(126)는 수신기 및/또는 모뎀을 포함할 수 있다. I/O 인터페이스(126)는 소스 장치(110) 또는 저장 매체/서버(130b)로부터 인코딩된 비디오 데이터를 획득할 수 있다. 비디오 디코더(124)는 인코딩된 비디오 데이터를 디코딩할 수 있다. 디스플레이 장치(122)는 디코딩된 비디오 데이터를 사용자에게 디스플레이 할 수 있다. 디스플레이 장치(122)는 목적 장치(120)와 통합될 수 있거나, 외부 디스플레이 장치와 인터페이스 하도록 구성된 목적 장치(120)의 외부에 위치할 수 있다.
비디오 인코더(114) 및 비디오 디코더(124)는 고효율 비디오 코딩(HEVC) 표준, 다목적 비디오 코딩(VVC) 표준 및 기타 현재 및/또는 추가 표준과 같은 비디오 압축 표준에 따라 동작할 수 있다.
도 9는 도 8에 도시된 시스템(100)에서 비디오 인코더(114)일 수 있는 비디오 인코더(video encoder)(200)의 예를 보여주는 블록도이다.
비디오 인코더(200)는 본 개시의 기술 중 어느 또는 전부를 수행하도록 구성될 수 있다. 도 9의 예에서, 비디오 인코더(200)는 복수의 기능 컴포넌트를 포함한다. 본 개시에 기재된 기술은 비디오 인코더(200)의 다양한 컴포넌트들 간에 공유될 수 있다. 일부 예에서, 프로세서는 본 개시에 기재된 임의 또는 전부를 수행하기 위해 구성될 수 있다.
비디오 인코더(video encoder)(200)의 기능적 컴포넌트는 파티션 유닛(partition unit)(201)와, 모드 선택 유닛(mode select unit)(203), 모션 추정 유닛(motion estimation unit)(204), 모션 보상 유닛(motion compensation unit)(205) 및 인트라 예측 유닛(intra prediction unit)(206)을 포함할 수 있는 예측 유닛(predication unit)(202)과, 잔차 생생 유닛(residual generation unit)(207), 트랜스폼 유닛(transform unit)(208), 양자화 유닛(quantization unit)(209), 역양자화 유닛(inverse quantization unit)(210), 역트랜스폼 유닛(inverse transform unit)(211), 재구성 유닛(reconstruction unit)(212), 버퍼(buffer)(213), 및 엔트로피 인코딩 유닛(entropy encoding unit)(214)를 포함할 수 있다.
다른 예에서, 비디오 인코더(200)에는 더 많거나, 적거나, 다른 기능적 컴포넌트가 포함될 수 있다. 예를 들어, 예측 유닛(202)은 인트라 블록 카피(IBC) 유닛을 포함할 수 있다. IBC 유닛은 IBC 모드에서, 적어도 하나의 레퍼런스 픽처가 현재 비디오 블록이 있는 픽처인 경우, 예측을 수행할 수 있다.
또한, 모션 추정 유닛(204) 및 모션 보정 유닛(205)과 같은 일부 컴포넌트는 고집적될 수 있으나, 도 9의 예에서는 설명의 목적을 위해 분리된 것으로 표현되었다.
파티션 장치(201)는 픽처를 하나 이상의 비디오 블록으로 파티셔닝할 수 있다. 비디오 인코더(200) 및 비디오 디코더(300)는 다양한 비디오 블록 크기를 지원할 수 있다.
모드 선택 유닛(203)는 오류 결과에 기초하여 코딩 모드, 예를 들면, 인트라 또는 인터 등을 선택하고, 결과인 인트라 또는 인터 코딩된 블록을, 잔차 생성 유닛(207)에 제공하여 잔차 블록 데이터를 생성하고, 재구성 유닛(212)으로 제공하여 레퍼런스 픽처로 사용하기 위한 인커딩된 블록을 재구성한다. 일부 예에서, 모드 선택 유닛(203)는 인트라 및 인터 예측(CIIP) 모드의 조합을 선택할 수 있고, 이 모드에서 예측은 인터 예측 시그널 및 인트라 예측 시그널에 기초한다. 모드 선택 유닛(203)는 또한, 인터 예측의 경우, 블록에 대한 모션 벡터의 해상도(예를 들어, 서브 픽셀 또는 정수 픽셀 정밀도)를 선택할 수 있다.
현재 비디오 블록에서 인터 예측을 수행하기 위해, 모션 추정 유닛(204)는 버퍼(213)에서 현재 비디오 블록에 하나 이상의 레퍼런스 프레임을 비교하여 현재 비디오 블록에 대한 모션 정보를 생성할 수 있다. 모션 보상 유닛(205)는 현재 비디오 블록과 연관된 픽처 이외의 버퍼(213)로부터의 모션 정보 및 디코딩된 픽처 샘플에 기초하여 현재 비디오 블록에 대한 예측 비디오 블록을 결정할 수 있다.
모션 추정 유닛(204) 및 모션 보상 유닛(205)는 현재 비디오 블록이 I 슬라이스, P 슬라이스 또는 B 슬라이스에 있는지 여부에 따라 현재 비디오 블록에 대해 서로 다른 동작을 수행할 수 있다.
일부 예에서, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 유니-디렉셔널(uni-directional) 예측을 수행할 수 있고, 모션 추정 유닛(204)은 현재 비디오 블록에 대한 레퍼런스 비디오 블록에 대한 list 0 또는 list 1의 레퍼런스 픽처를 검색할 수 있다. 그런 다음, 모션 추정 유닛(204)는 현재 비디오 블록과 레퍼런스 비디오 블록 사이의 공간 변위(spatial displacement)를 나타내는 레퍼런스 비디오 블록 및 모션 벡터를 포함하는 목록 0(List 0) 또는 목록 1(List 1)에서 레퍼런스 픽처를 나타내는 레퍼런스 인덱스(reference index)를 생성할 수 있다. 모션 추정 유닛(204)는 레퍼런스 인덱스, 예측 디렉션 표시자 및 모션 벡터를 현재 비디오 블록의 모션 정보로 출력할 수 있다. 모션 보상 유닛(205)는 현재 비디오 블록의 동작 정보에 의해 표시된 레퍼런스 비디오 블록에 기초하여 현재 블록의 예측된 비디오 블록을 생성할 수 있다.
다른 예에서, 모션 추정 유닛(204)는 현재 비디오 블록에 대한 바이-디렉셔널(bi-directional) 예측을 수행할 수 있고, 모션 추정 유닛(204)는 현재 비디오 블록에 대한 레퍼런스 비디오 블록에 대한 목록 0(List 0)에서 레퍼런스 픽처를 검색할 수 있으며, 또한 현재 비디오 블록에 대한 다른 레퍼런스 비디오 블록에 대한 목록 1(List 1)에서 레퍼런스 픽처를 검색할 수 있다. 그런 다음, 모션 추정 유닛(204)는 레퍼런스 비디오 블록과 현재 비디오 블록 사이의 공간 변위를 나타내는 레퍼런스 비디오 블록 및 모션 벡터를 포함하는 목록 0(List 0) 및 목록 1(List 1)에서 레퍼런스 픽처를 나타내는 레퍼런스 인덱스를 생성할 수 있다. 모션 추정 유닛(204)는 현재 비디오 블록의 모션 정보로서 현재 비디오 블록의 레퍼런스 인덱스 및 모션 벡터를 출력할 수 있다. 모션 보상 유닛(205)은 현재 비디오 블록의 동작 정보에 의해 표시된 레퍼런스 비디오 블록에 기초하여 현재 비디오 블록의 예측 비디오 블록을 생성할 수 있다.
일부 예에서, 모션 추정 유닛(204)는 디코더의 디코딩 처리를 위한 전체 모션 정보 세트를 출력할 수 있다.
일부 예에서, 모션 추정 유닛(204)는 현재 비디오에 대한 전체 모션 정보 세트를 출력하지 않을 수 있다. 오히려, 모션 추정 유닛(204)는 다른 비디오 블록의 동작 정보를 참조하여 현재 비디오 블록의 모션 정보를 시그널링할 수 있다. 예를 들어, 모션 추정 유닛(motion estimation unit)(204)는 현재 비디오 블록의 모션 정보가 이웃 비디오 블록의 동작 정보와 충분히 유사하다고 결정할 수 있다.
하나의 예에서, 모션 추정 유닛(204)는 현재 비디오 블록과 연관된 신택스 구조에서 현재 비디오 블록이 다른 비디오 블록과 동일한 모션 정보를 가지고 있음을 비디오 디코더(300)에 나타내는 값을 나타낼 수 있다.
또 다른 예에서, 모션 추정 유닛(204)는 현재 비디오 블록과 연관된 신택스 구조에서, 다른 비디오 블록 및 모션 벡터 차이(MVD)를 식별할 수 있다. 모션 벡터 차이는 현재 비디오 블록의 모션 벡터와 표시된 비디오 블록의 모션 벡터 사이의 차이를 나타낸다. 비디오 디코더(300)는 현재 비디오 블록의 모션 벡터를 결정하기 위해 표시된 비디오 블록의 모션 벡터 및 모션 벡터 차이를 사용할 수 있다.
위에서 설명한 바와 같이, 비디오 인코더(200)는 모션 벡터를 예측적으로 시그널링할 수 있다. 비디오 인코더(200)에 의해 구현될 수 있는 예측 시그널링 기술의 두 가지 예는, 어드밴스드 모션 벡터 예측(AMVP) 및 병합 모드 시그널링을 포함한다.
인트라 예측 유닛(206)은 현재 비디오 블록에 대한 인트라 예측을 수행할 수 있다. 인트라 예측 유닛(206)이 현재 비디오 블록에 대한 인트라 예측을 수행하는 경우, 인트라 예측 유닛(206)는 동일 픽처에서 다른 비디오 블록의 디코딩된 샘플에 기초하여 현재 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 현재 비디오 블록에 대한 예측 데이터에는 예측된 비디오 블록 및 다양한 신택스 요소가 포함될 수 있다.
잔차 생성 유닛(207)는 현재 비디오 블록으로 부터 예측된 비디오 블록의 예측 비디오 블록(예를 들어, 마이너스 기호로 표시)을 빼서 현재 비디오 블록에 대한 잔차 데이터를 생성할 수 있다. 현재 비디오 블록의 잔차 데이터는 현재 비디오 블록에서 샘플의 상이한 샘플 컴포넌트에 대응하는 잔차 비디오 블록을 포함할 수 있다.
다른 예에서, 현재 비디오 블록에 대한 현재 비디오 블록에 대한 잔차 데이터가 없을 수 있고, 예를 들어 스킵(skip) 모드에서, 잔차 생성 유닛(207)는 빼기 동작을 수행하지 않을 수 있다.
트랜스폼 처리 유닛(208)는 현재 비디오 블록과 연관된 잔차 비디오 블록에 하나 이상의 트랜스폼을 적용하여 현재 비디오 블록에 대해 하나 이상의 트랜스폼 계수 비디오 블록을 생성할 수 있다.
트랜스폼 처리 유닛(208)는 현재 비디오 블록과 연관된 트랜스폼 계수 비디오 블록을 생성한 후, 양자화 유닛(209)는 현재 비디오 블록과 연관된 하나 이상의 양자화 파라미터(QP) 값에 기초하여 현재 비디오 블록과 연관된 트랜스폼 계수 비디오 블록을 양자화할 수 있다.
역양자화 유닛(210)와 역트랜스폼부 유닛(211)는 트랜스폼 계수 비디오 블록으로 부터 잔차 비디오 블록을 재구성하기 위해, 트랜스폼 계수 비디오 블록에 역양자화 유닛 및 역트랜스폼 유닛을 각각 적용할 수 있다. 재구성 유닛(212)은 예측 유닛(202)에 의해 생성된 하나 이상의 예측된 비디오 블록으로 부터 대응하는 샘플에 재구성된 잔차 비디오 블록을 추가하여 버퍼(213)에 저장하기 위한 현재 블록과 연관된 재구성된 비디오 블록을 생성할 수 있다.
재구성 유닛(212)가 비디오 블록을 재구성한 후, 비디오 블록에서 비디오 차단 아티팩트를 줄이기 위해 루프 필터링 동작이 수행된다.
엔트로피 인코딩 유닛(214)은 비디오 인코더(200)의 다른 함수 컴포넌트로부터 데이터를 수신할 수 있다. 엔트로피 인코딩 유닛(214)가 데이터를 수신하는 경우, 엔트로피 인코딩 유닛(214)는 엔트로피 인코딩된 데이터를 생성하고 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력하기 위해 하나 이상의 엔트로피 인코딩 동작을 수행할 수 있다.
개시된 기술의 일부 실시예는 비디오 프로세싱 툴 또는 모드를 활성화하기 위한 판정(decision) 또는 결정(determination)을 내리는 것을 포함한다. 예들 들어, 비디오 프로세싱 툴 또는 모드가 활성화되면, 인코더가 비디오 블록 프로세싱에서 툴 또는 모드를 사용하거나 구현하지만, 툴 또는 모드의 사용에 따라 결과 비트스트림을 반드시 수정할 필요는 없다. 즉, 비디오 블록에서 비디오의 비트스트림 표현으로 변환하면 판정 또는 결정에 따라 활성화될 때 비디오 프로세싱 툴 또는 모드를 사용한다. 또 다른 예에서, 비디오 프로세싱 툴 또는 모드가 활성화되면, 디코더는 비디오 프로세싱 툴 또는 모드에 따라 비트스트림이 수정되었다는 것을 알고 비트스트림을 프로세싱 한다. 즉, 비디오의 비트스트림에서 비디오 블록으로의 변환은 판정 또는 결정에 따라 활성화된 비디오 프로세싱 툴 또는 모드를 사용하여 수행된다.
도 10은 도 8에 도시된 시스템(100)에서 비디오 디코더(114)일 수 있는 비디오 디코더(300)의 예를 도시하는 블록도이다.
비디오 디코더(300)는 본 개시의 기술 중 어느 또는 전부를 수행하도록 구성될 수 있다. 도 10의 예에서, 비디오 디코더(300)는 복수의 함수 컴포넌트를 포함한다. 본 개시에 기재된 기술은 비디오 디코더(300)의 다양한 컴포넌트들 간에 공유될 수 있다. 일부 예에서, 프로세서는 본 개시에 기재된 임의 또는 전부를 수행하기 위해 구성될 수 있다.
도 10의 예에서, 비디오 디코더(video decoder)(300)는 엔트로피 디코딩 유닛(entropy decoding unit)(301), 모션 보상 유닛(motion compensation unit)(302), 인트라 예측 유닛(intra prediction unit)(303), 역양자화 유닛(inverse quantization unit)(304), 역트랜스폼 유닛(inverse transformation uni)(305), 및 재구성 유닛(reconstruction unit)(306) 및 버퍼(buffer)(307)를 포함한다. 비디오 디코더(300)는, 일부 예에서, 비디오 인코더(200)에 대하여 기술된 인코딩 패스(pass)와 일반적으로 서로 주고 받는(reciprocal) 디코딩 패스를 수행할 수 있다(도 9).
엔트로피 디코딩 유닛(301)는 인코딩된 비트스트림을 검색할 수 있다. 인코딩된 비트스트림에는 엔트로피 코딩된 비디오 데이터(예를 들어, 비디오 데이터의 인코딩된 블록)가 포함될 수 있다. 엔트로피 디코딩 유닛(301)는 엔트로피 코딩된 비디오 데이터를 디코딩할 수 있고, 엔트로피 디코딩된 비디오 데이터로부터 모션 보상 유닛(302)은 모션 벡터, 모션 벡터 정밀도, 레퍼런스 픽처 목록 인덱스 및 기타 모션 정보를 포함하는 모션 정보를 결정할 수 있다. 모션 보상 유닛(302)은, 예를 들어 AMVP 및 병합 모드를 수행하여 이러한 정보를 결정할 수 있다.
모션 보상 유닛(302)은 보간 필터에 기초하여 보간(interpolation)을 수행하여 모션 보정 블록을 생성할 수 있다. 서브 픽셀 정밀도와 함께 사용되는 보간 필터에 대한 식별자가 신택스 요소에 포함될 수 있다.
모션 보상 유닛(302)은 비디오 블록을 인코딩하는 동안 비디오 인코더(200)에서 사용하는 보간 필터를 사용하여 레퍼런스 블록의 서브 정수 픽셀에 대한 보간 값을 계산할 수 있다. 모션 보상 유닛(302)은 수신된 신택스 정보에 따라 비디오 인코더(200)에서 사용하는 보간 필터를 결정하고 보간 필터를 사용하여 예측 블록을 생성할 수 있다.
모션 보상 유닛(302)은 인코딩된 비디오 시퀀스의 프레임 및/또는 슬라이스를 인코딩하는 데 사용되는 블록의 크기, 인코딩된 비디오 시퀀스의 각 매크로 블록이 파티셔닝되는 방식을 설명하는 파티션 정보, 각 파티션이 인코딩된 방법, 각 파티션이 인코딩되는 방식을 나타내는 모드, 각 인터-인코딩된 블록에 대한 하나 이상의 레퍼런스 프레임(및 레퍼런스 프레임 목록) 및 인코딩된 비디오 시퀀스를 디코딩하는 다른 정보들을 결정하기 위해 일부 신택스 정보를 사용할 수 있다.
인트라 예측 유닛(303)는, 공간적으로 인접한 블록(adjacent block)으로 부터 예측 블록을 형성하기 위해 예를 들어 비트스트림에서 수신된 인트라 예측 모드를 사용할 수 있다. 역양자화 유닛(303)는 비트스트림에서 제공되고 엔트로피 디코딩 유닛(301)에서 디코딩된 양자화된 비디오 블록 계수를 역양자화(예를 들어, 비양자화(de-quantize))한다. 역트랜스폼 유닛(Inverse transform unit)(303)은 역트랜스폼을 적용한다.
재구성 유닛(Reconstruction unit)(306)은 모션 보상 유닛(202) 또는 인트라 예측 유닛(303)에 의해 생성된 대응하는 예측 블록과 잔차 블록을 합산하여 디코딩된 블록을 형성할 수 있다. 원하는 경우, 디블로킹 필터(deblocking filter)를 적용하여 차단 아티팩트를 제거하기 위해 디코딩된 블록을 필터링할 수도 있다. 디코딩된 비디오 블록은 버퍼(307)에 저장되고, 이는 이후의 모션 보상/인트라 예측에 대한 레퍼런스 블록을 제공하고, 디스플레이 장치에서 재생하기 위한 디코딩된 비디오를 생성한다.
일부 실시예에서, 선호하는 솔루션 목록이 다음에 제공된다.
다음 솔루션은 이전 섹션(예를 들어, 항목 1)에서 논의된 기술의 예시적인 실시예를 보여준다.
1. 비디오 처리 방법(예를 들어, 도 7에 도시된 방법(700))에서, 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계(702)를 포함하고, 코딩된 표현은 하나 이상의 서브픽처들을 포함하는 하나 이상의 픽처들이 네트워크 추상화 계층(NAL) 유닛들에 따라 코딩된 표현에 포함되는 것을 지정하는 포맷 규칙을 따르고, 코딩된 표현에서 표시되는 유형 NAL 유닛은 특정 유형의 픽처의 코딩된 슬라이스 또는 특정 유형의 서브픽처의 코딩된 슬라이스를 포함한다.
다음 솔루션은 이전 섹션(예를 들어, 항목 2)에서 논의된 기술의 예시적인 실시예를 보여준다.
2. 비디오 처리 방법에서, 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 코딩된 표현은 상이한 네트워크 추상화 계층 유닛 유형들을 갖는 두 개의 이웃 서브픽처들이 픽처 플래그로 취급되는 서브픽처들의 동일한 표시를 갖도록 지정하는 포맷 규칙을 따른다.
다음 솔루션은 이전 섹션(예를 들어, 아이템 4, 5, 6, 7, 9, 1, 11, 12)에서 논의된 기술의 예시적인 실시예를 보여준다.
3. 비디오 처리 방법에서, 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 여기서, 코딩된 표현은 제1 유형의 서브픽처와 제2 유형의 서브픽처의 순서를 정의하는 포맷 규칙을 준수하고, 여기서, 제1 서브픽처는 트레일링 서브픽처 또는 리딩 서브픽처 또는 랜덤 액세스 스킵된 리딩(RASL) 서브픽처 유형이고, 제2 서브픽처는 RASL 유형 또는 랜덤 액세스 디코딩가능 리딩(RADL) 유형 또는 인스턴스 디코딩 리프레시(IDR) 유형 또는 점진적 디코딩 리프레시(GDR) 유형 서브픽처다.
4. 솔루션3의 방법에서, 여기서 규칙은 트레일링 서브픽처가 출력 순서에서 연관된 인트라 랜덤 액세스 포인트 또는 GDR 서브픽처를 따르도록 지정한다.
5. 솔루션3의 방법에서, 여기서 규칙은 픽처가 인트라 랜덤 액세스 포인트 픽처의 리딩 픽처일 때, 픽처의 모든 네트워크 추상화 계층 유닛에 대한 nal_unit_type 값이 RADL_NUT 또는 RASL_NUT과 동일하도록 지정한다.
6. 솔루션3의 방법에서, 여기서 규칙은 IRAP 서브픽처의 리딩 서브픽처인 주어진 서브픽처가 RADL 또는 RASL 서브픽처여야 함을 지정한다.
7. 솔루션3의 방법에서, 여기서 규칙은 RASL 서브픽처인 주어진 서브픽처가 IDR 서브픽처와 연관되는 것이 허용되지 않도록 지정한다.
8. 솔루션 3의 방법에서, 여기서 규칙은 IRAP 서브픽처와 동일한 계층 ID 및 서브픽처 인덱스를 갖는 주어진 서브픽처가, 출력 순서에서, IRAP 서브픽처 및 이들의 모든 연관된 RADL 서브픽처에 선행되어야 한다는 것을 지정한다.
9. 솔루션 3의 방법에서, 여기서 규칙은 GDR 서브픽처와 동일한 계층 ID 및 서브픽처 인덱스를 갖는 주어진 서브픽처가, 출력 순서에서, GDR 서브픽처 및 이들의 모든 연관된 RALD 서브픽처에 선행되어야 한다는 것을 지정한다.
10. 솔루션 3의 방법에서, 여기서 규칙은 CRA 서브픽처와 연관된 RASL 서브픽처인 주어진 서브픽처가 출력 순서에서 CRA 서브픽처와 연관된 모든 RADL 서브픽처에 선행하도록 지정한다.
11. 솔루션 3의 방법에서, 여기서 규칙은 CRA 서브픽처와 연관된 RASL 서브픽처인 주어진 서브픽처가 출력 순서에서 CRA 서브픽처와 연관된 모든 IRAP 서브픽처에 선행하도록 지정한다.
12. 솔루션 3의 방법에서, 여기서 규칙은 주어진 서브픽처가 IRAP 서브픽처를 갖는 리딩 서브픽처고, 그 다음, 주어진 서브픽처가, 디코딩 순서에서, IRAP 픽처와 연관된 모든 비-리딩 서브픽처에 선행하도록 지정한다.
다음 솔루션은 이전 섹션(예를 들어, 아이템 8, 14, 15)에서 논의된 기술의 예시적인 실시예를 보여준다.
13. 비디오 처리 방법에서, 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 코딩된 표현 사이의 변환을 수행하는 단계를 포함하고, 코딩된 표현은 제1 유형의 서브픽처가 제2 유형의 서브픽처와 함께 발생하는 것이 허용되거나 허용되지 않는 조건을 정의하는 포맷 규칙을 따른다.
14. 솔루션13의 방법에서, 여기서 규칙은, 네트워크 추상화 계층 유형 IDR_N_LP의 IDR 서브픽처가 있는 경우, 코딩된 표현이 RADP 서브픽처를 가지도록 허용되지 않도록 지정한다.
15. 솔루션13에 있어서, 여기서 규칙은 픽처가 STSA 서브픽처를 포함하는 픽처에 선행하도록 단계적 시간적 서브계층 액세스(STSA) 서브픽처를 포함하는 픽처의 레퍼런스 목록에 픽처를 포함하는 것을 허용하지 않는다.
16. 솔루션13에 있어서, 여기서 규칙은 픽처가 IRAOP 서브픽처를 포함하는 픽처에 선행하도록 인트라 랜덤 액세스 포인트(IRAP) 서브픽처를 포함하는 픽처의 레퍼런스 목록에 픽처를 포함하는 것을 허용하지 않는다.
17. 솔루션 1 내지 16의 방법 중 어느 하나에서, 변환은 비디오를 코딩된 표현으로 인코딩하는 단계를 포함한다.
18. 1항 내지 16항의 방법 중 어느 하나에서, 변환은 비디오의 픽셀 값을 생성하기 위해 코딩된 표현을 디코딩하는 단계를 포함한다.
19. 1항 내지 18항의 방법 중 하나에서 인용된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코딩 장치.
20. 1항 내지 18항의 방법 중 어느 하나에서 인용된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코딩 장치.
21. 컴퓨터 코드가 저장되어 있는 컴퓨터 프로그램에서, 코드는, 프로세서에 의해 실행 시, 프로세서로 하여금 솔루션 1 내지 18 중 어느 하나 이상에 인용된 방법을 구현하도록 한다.
22. 본 문서에 기술된 방법, 장치 및 시스템.
여기에 설명된 솔루션에서, 인코더는 포맷 규칙에 따라 코딩된 표현을 생성함으로써 포맷 규칙을 따를 수 있다. 여기에 설명된 솔루션에서, 디코더는 디코딩된 비디오를 생성하기 위해 포맷 규칙에 따라 신택스 요소의 존재 및 부재에 대한 지식으로 코딩된 표현의 신택스 요소를 파싱(parsing)하기 위해 포맷 규칙을 사용할 수 있다.
도 11은 비디오 처리의 예제 방법(1100)에 대한 순서도이다. 동작(1102)은 하나 이상의 서브픽처(subpicture)를 포함하는 하나 이상의 픽처를 포함하는 비디오(video)와 비디오의 비트스트림(bitstream) 사이의 변환(conversion)을 수행하는 단계를 포함하고, 여기서 비트스트림은 비트스트림 내의 네트워크 추상화 계층(network abstraction layer)(NAL) 유닛(unit)의 신택스(syntex)을 지정하는 포맷 규칙(format rule)을 따르고, 여기서 포맷 규칙은 비디오 코딩 계층(video coding layer)(VCL) NAL 유닛 유형의 NAL 유닛이 특정 유형의 픽처 또는 서브픽처의 특정 유형과 연관된 콘텐츠를 포함함을 지정한다.
방법(1100)의 일부 실시예들에서, VCL NAL 유닛 유형의 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 클린 랜덤 액세스 픽처 또는 클린 랜덤 액세스 서브픽처와 연관된다는 것을 나타낸다. 방법(1100)의 일부 실시예들에서, 클린 랜덤 액세스 서브픽처는 각 VCL NAL 유닛이 클린 랜덤 액세스 유형을 갖는 인트라 랜덤 액세스 포인트 서브픽처다. 방법(1100)의 일부 실시예들에서, VCL NAL 유닛 유형의 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 연관된 점진적 디코딩 리프레시 픽처 또는 연관된 점진적 디코딩 리프레시 서브픽처와 연관된다는 것을 나타낸다. 방법(1100)의 일부 실시예들에서, 연관된 점진적 디코딩 리프레시 서브픽처는 디코딩 순서에서, 제1 특정 값과 동일한 VCL NAL 유닛이 속하는 계층의 식별자 또는 비-VCL NAL 유닛이 적용되는 계층의 식별자 및 서브픽처 인덱스의 제2 특정 값을 갖는, 이전 점진적 디코딩 리프레시 서브픽처고, 및 여기서, 디코딩 순서에서 이전 점진적 디코딩 리프레시 서브픽처와 식별자의 제1 특정 값 및 서브픽처 인덱스의 제2 특정 값을 갖는 특정 서브픽처 사이에, 식별자의 제1 특정 값과 서브픽처 인덱스의 제2 특정 값을 갖는 인트라 랜덤 액세스 포인트 서브픽처는 존재하지 않는다.
방법(1100)의 일부 실시예들에서, NAL 유닛 유형의 VCL 유닛의 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 연관된 인트라 랜덤 액세스 포인트 픽처 또는 연관된 인트라 랜덤 액세스 포인트 서브픽처와 연관된다는 것을 나타낸다. 방법(1100)의 일부 실시예들에서, 연관된 인트라 랜덤 액세스 포인트 서브픽처는 디코딩 순서에서, 제1 특정 값과 동일한 VCL NAL 유닛이 속하는 계층의 식별자 또는 비-VCL NAL 유닛이 적용되는 계층의 식별자 및 서브픽처 인덱스의 제2 특정 값을 갖는, 이전 인트라 랜덤 액세스 포인트 서브픽처고, 및 여기서, 디코딩 순서에서 이전 인트라 랜덤 액세스 포인트 서브픽처와 식별자의 제1 특정 값 및 서브픽처 인덱스의 제2 특정 값을 갖는 특정 서브픽처 사이에, 식별자의 제1 특정 값과 서브픽처 인덱스의 제2 특정 값을 갖는 점진적 디코딩 리프레시 서브픽처는 존재하지 않는다. 방법(1100)의 일부 실시예들에서, VCL NAL 유닛 유형의 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 인스턴스 디코딩 리프레시 픽처(instantaneous decoding refresh picture) 또는 인스턴스 디코딩 리프레시 서브픽처(instantaneous decoding refresh subpicture)와 연관된다는 것을 나타낸다. 방법(1100)의 일부 실시예들에서, 인스턴스 디코딩 리프레시 서브픽처는 각각의 VCL NAL 유닛이 인스턴스 디코딩 리프레시 유형을 갖는 인트라 랜덤 액세스 포인트 서브픽처다.
방법(1100)의 일부 실시예들에서, VCL NAL 유닛 유형의 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 리딩 픽처 또는 리딩 서브픽처와 연관된다는 것을 나타낸다. 방법(1100)의 일부 실시예들에서, 리딩 서브픽처는 출력 순서에서 연관된 랜덤 액세스 포인트 서브픽처에 선행하는 서브픽처다. 방법(1100)의 일부 실시예들에서, VCL NAL 유닛 유형의 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 랜덤 액세스 디코딩가능 리딩 픽처 또는 랜덤 액세스 디코딩가능 리딩 서브픽처와 연관된다는 것을 나타낸다. 방법(1100)의 일부 실시예들에서, 랜덤 액세스 디코딩가능 리딩 서브픽처는 각각의 VCL NAL 유닛이 랜덤 액세스 디코딩가능 리딩 유형을 갖는 서브픽처다. 방법(1100)의 일부 실시예들에서, VCL NAL 유닛 유형의 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 랜덤 액세스 스킵된 리딩 픽처(random access skipped leading picture) 또는 랜덤 액세스 스킵된 리딩 서브픽처(random access skipped leading subpicture)와 연관된다는 것을 나타낸다. 방법(1100)의 일부 실시예들에서, 랜덤 액세스 스킵된 리딩 서브픽처는 각각의 VCL NAL 유닛이 랜덤 액세스 스킵된 리딩 유형을 갖는 서브픽처다. 방법(1100)의 일부 실시예들에서, VCL NAL 유닛 유형의 NAL 유닛의 컨텐츠는 코딩된 슬라이스가 단계적 시간적 서브계층 액세스 픽처 또는 단계적 시간적 서브계층 액세스 서브픽처와 연관된다는 것을 나타낸다.
방법(1100)의 일부 실시예들에서, 단계적 시간적 서브계층 액세스 서브픽처는 각각의 VCL NAL 유닛이 단계적 시간적 서브계층 액세스 유형을 갖는 서브픽처다. 방법(1100)의 일부 실시예들에서, VCL NAL 유닛 유형의 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 트레일링 픽처 또는 트레일링 서브픽처와 연관된다는 것을 나타낸다. 방법(1100)의 일부 실시예들에서, 트레일링 서브픽처는 각각의 VCL NAL 유닛이 트레일 유형을 갖는 서브픽처다.
도 12는 비디오 처리의 하나의 예의 방법(1200)에 대한 순서도이다. 동작(1202)은 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 포맷 규칙을 따르고, 포맷 규칙은 서브픽처가 인트라 랜덤 액세스 포인트 서브픽처(intra random access point subpicture)의 리딩 서브픽처임에 응답하여 서브픽처의 랜덤 액세스 유형임을 지정한다.
방법(1200)의 일부 실시예들에서, 서브픽처의 랜덤 액세스 유형은 랜덤 액세스 디코딩가능 리딩 서브픽처다. 방법(1200)의 일부 실시예들에서, 서브픽처의 랜덤 액세스 유형은 랜덤 액세스 스킵된 리딩 서브픽처다.
도 13은 비디오 처리의 하나의 예의 방법(1300)에 대한 순서도이다. 동작(1302)은 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 포맷 규칙을 따르고, 및 여기서 포맷 규칙은 하나 이상의 랜덤 액세스 시킵된 리딩 서브픽처가, 하나 이상의 랜덤 액세스 스킵된 리딩 서브픽처(random access skipped leading subpicture)들이 인스턴스 디코딩 리프레시 서브픽처(instantaneous decoding refresh subpicture)와 연관되는 것에 응답하여 비트스트림으로 부터 부재함을 지정한다.
도 14는 비디오 처리의 하나의 예의 방법(1400)에 대한 순서도이다. 동작(1402)은 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처가, 인스턴스 디코딩 리프레시 서브픽처는 리딩 픽처와 연관되지 않음을 지정하는, 네트워크 추상화 계층(NAL) 유닛의 유형을 갖는 인스턴스 디코딩 리프레시 서브픽처와 연관되는 것에 응답하여, 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처가 비트스트림으로 부터 부재함을 지정하는 포맷 규칙을 따른다.
도 15는 비디오 처리의 예제 방법(1500)에 대한 흐름도다. 동작(1502)은 두 개의 이웃 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 상이한 유형의 네트워크 추상화 계층(NAL) 유닛을 갖는 두 개의 이웃 서브픽처들이 코딩된 계층 비디오 시퀀스에서 두 개의 이웃 서브픽처들 각각이 픽처로서 취급되는지를 나타내는 동일한 제1 값을 갖는 신택스 요소들을 갖는다는 것을 지정하는 포맷 규칙을 따른다.
방법(1500)의 일부 실시예들에서, 포맷 규칙은 두 개의 이웃 서브픽처들의 신택스 요소들이 코딩된 계층 비디오 시퀀스 내의 두 개의 이웃 서브픽처들 각각이 픽처로서 취급된다는 것을 지시하도록 지정한다.
도 16은 비디오 처리의 예법(1600)에 대한 흐름도다. 동작(1602)은 두 개의 이웃 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 포맷 규칙은 두 개의 이웃 서브픽처가 제1 서브픽처 인덱스를 갖는 제1 이웃 서브픽처 및 제2 서브픽처 인덱스를 갖는 제2 이웃 서브픽처를 포함하도록 지정하고, 포맷 규칙은 제1 이웃 서브픽처가 픽처로서 취급되지 않음을 나타내는 제1 서브픽처 인덱스와 연관된 제1 신택스 요소 또는 제2 이웃 서브픽처가 픽처로서 취급되지 않음을 나타내는 제2 서브픽처 인덱스와 연관된 제2 신택스 요소에 응답하여, 두 개의 이웃 서브픽처는 동일한 유형의 네트워크 추상화 계층(NAL) 유닛을 가짐을 지정한다.
방법(1600)의 일부 실시예들에서, 픽처는 두 개의 이웃 서브픽처들을 포함하는 복수의 서브픽처들을 포함하고, 여기서, 포맷 규칙은, 서브픽처가 픽처로서 취급되지 않음을 나타내는 신택스 요소를 갖는 복수의 서브픽처로부터의 서브픽처에 응답하여, 복수의 서브픽처가 동일한 유형의 NAL 유닛을 갖도록 지정한다. 방법(1600)의 일부 실시예들에서, 픽처는 두 개의 이웃 서브픽처들을 포함하는 복수의 서브픽처들을 포함하고, 여기서 포맷 규칙은 신택스 요소가 픽처 파라미터 세트(PPS)를 참조하는 비디오의 각각의 픽처가, CLVS 내의 복수의 서브픽처 각각이 픽처로서 취급됨을 나타내는 대응하는 신택스 요소를 갖는 복수의 서브픽처에 응답하여, 동일한 유형의 VCL NAL 유닛을 갖지 않는 복수의 비디오 코딩 계층(VCL) NAL 유닛을 갖는다는 것을 나타낸다는 것을 지정한다.
도 17은 비디오 처리의 예법(1700)에 대한 흐름도이다. 동작(1702)은 하나 이상의 서브픽처를 포함하는 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은, 픽처 파라미터 세트(picture parameter set)(PPS)를 참조하는 비디오의 각각의 픽처가 동일한 유형의 VCL NAL 유닛을 갖지 않는 복수의 VCL NAL 유닛을 갖는다는 것을 나타내는 신택스 요소에 응답하여, 픽처가 둘 이상의 상이한 유형의 비디오 코딩 계층(VCL) 네트워크 추상화 계층(NAL) 유닛들을 포함하도록 허용됨을 지정하는 포맷 규칙을 따른다.
도 18은 비디오 처리의 예제 방법(1800)에 대한 순서도이다. 동작(1802)은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 인트라 랜덤 액세스 포인트 서브픽처 또는 점진적 디코딩 리프레시 서브픽처(gradual decoding refresh subpicture)와 연관된 트레일링 서브픽처(trailing subpicture)가 인트라 랜덤 액세스 포인트 서브픽처 또는 점진적 디코딩 리프레시 서브픽처를 순서대로 따르도록 지정하는 포맷 규칙을 따른다.
방법(1800)의 일부 실시예들에서, 순서는 출력 순서이다.
도 19는 비디오 처리의 예제 방법(1900)에 대한 순서도이다. 동작(1902)은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 서브픽처가, 다음에 응답하여, 인트라 랜덤 액세스 포인트 서브픽처와 연관된 인트라 랜덤 액세스 포인트 서브픽처 및 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처를 제1 순서에서 선행함을 지정하는 포맷 규칙을 따른다: (1) 인트라 랜덤 액세스 포인트 서브픽처를 제2 순서에서 선행하는 서브픽처, (2) 서브픽처 및 인트라 랜덤 액세스 포인트 서브픽처의 네트워크 추상화 계층(NAL) 유닛이 속하는 계층에 대해 동일한 제1 값을 갖는 서브픽처 및 인트라 랜덤 액세스 포인트 서브픽처, 및 (3) 서브픽처 인덱스의 동일한 제2 값을 갖는 서브픽처 및 인트라 랜덤 액세스 포인트 서브픽처.
방법(1800)의 일부 실시예들에서, 제1 순서는 출력 순서이다. 방법(1800)의 일부 실시예들에서, 제2 순서는 디코딩 순서이다.
도 20은 비디오 처리의 예제 방법(2000)에 대한 순서도이다. 동작(2002)은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 클린 랜덤 액세스 서브픽처(clean random access subpicture)와 연관된 랜덤 액세스 스킵된 리딩 서브픽처가 클린 랜덤 액세스 서브픽처와 연관된 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처를 순서에서 선행함을 지정하는 포맷 규칙을 따른다.
방법(2000)의 일부 실시예들에서, 순서는 출력 순서이다.
도 21은 비디오 처리의 예방법(2100)에 대한 순서도이다. 동작(2102)은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 클린 랜덤 액세스 서브픽처와 연관된 랜덤 액세스 스킵된 리딩 서브픽처는 클린 랜덤 액세스 서브픽처에 제2 순서에서 선행하는 하나 이상의 인트라 랜덤 액세스 포인트 서브픽처를 제1 순서에서 따르는 것을 지정하는 포맷 규칙을 따른다.
방법(2100)의 일부 실시예들에서, 제1 순서는 출력 순서이다. 방법(2100)의 일부 실시예들에서, 제2 순서는 디코딩 순서이다.
도 22는 비디오 처리의 예제 방법(2200)에 대한 순서도이다. 동작(2202)은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 현재 서브픽처가, 다음에 응답하여, 인트라 랜덤 액세스 포인트 서브픽처와 연관된 하나 이상의 비-리딩 서브픽처를 디코딩 순서에서 선행하는 것을 지정하는 포맷 규칙을 따른다: (1) 코딩된 계층 비디오 시퀀스(coded layer video sequence)가 프레임(frame)을 표현하는 픽처들을 전달한다는 것을 나타내는 신택스 요소고, (2) 현재 서브픽처는 인트라 랜덤 액세스 포인트 서브픽처와 연관된 리딩 서브픽처임.
방법(2200)의 일부 실시예들에서, (1) 코딩된 계층 비디오 시퀀스가 필드를 표현하는 픽처들을 전달한다는 것을 나타내는 신택스 요소, (2) 현재 서브픽처가 리딩 서브픽처가 아니라는 것에 응답하여, 포맷 규칙은: 디코딩 순서에서 인트라 랜덤 액세스 포인트 서브픽처와 연관된 제1 리딩 서브픽처에 선행하는 최대 하나의 비-리딩 서브픽처의 존재, 및 디코딩 순서에서 인트라 랜덤 액세스 포인트 서브픽처와 연관된 제1 리딩 서브픽처와 마지막 리딩 서브픽처 사이에 비-리딩 픽처의 부재를 지정하고, 현재 서브픽처, 최대 하나의 비-리딩 서브픽처 및 비-리딩 픽처는 현재 서브픽처의 네트워크 추상화 계층(NAL) 유닛, 최대 하나의 비-리딩 서브픽처 및 비-리딩 픽처가 속하는 계층에 대해 동일한 제1 값을 가지고, 및 여기서, 현재 서브픽처, 최대 하나의 비-리딩 서브픽처 및 비-리딩 픽처는 서브픽처 인덱스의 동일한 제2 값을 갖는다.
도 23은 비디오 처리의 하나의 예의 방법(2300)에 대한 순서도이다. 동작(2302)은 하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 픽처 내의 모든 비디오 코딩 계층(VCL) NAL 유닛에 대한 하나 이상의 유형의 네트워크 추상화 계층(NAL) 유닛이, 픽처가 인트라 랜덤 액세스 포인트 픽처의 리딩 픽처인 것에 응답하여, RADL_NUT 또는 RASL_NUT를 포함하도록 지정하는 포맷 규칙을 따른다.
방법(2300)의 일부 실시예들에서, 포맷 규칙은 픽처의 변수가 다음에 응답하여 픽처 출력 플래그의 값과 동일하게 설정되도록 지정한다: (1) 픽처의 모든 VCL NAL 유닛에 대한 NAL 유닛의 하나 이상의 유형은 RADL_NUT and RASL_NUT를 포함하고, (2) 픽처를 포함하는 계층이 출력층이다.
도 24는 비디오 처리의 하나의 예의 방법(2400)에 대한 순서도이다. 동작(2402)은 복수의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은 적어도 하나의 서브픽처가, 다음에 응답하여, 제1 순서에서 점진적 디코딩 리프레시 서브픽처 및 상기 점진적 디코딩 리프레시 서브픽처와 연관된 하나 이상의 서브픽처에 선행함을 지정하는 포맷 규칙을 따른다: (1) 점진적 디코딩 리프레시 서브픽처를 제2 순서에서 선행하는 적어도 서브픽처, (2) 적어도 하나의 서브픽처의 네트워크 추상화 계층(NAL) 유닛 및 점진적 디코딩 리프레시 서브픽처가 속하는 계층에 대해 동일한 제1 값을 갖는 적어도 하나의 서브픽처 및 점진적 디코딩 리프레시 서브픽처, 및 (3) 서브픽처 인덱스의 동일한 제2 값을 갖는 적어도 하나의 서브픽처 및 점진적인 디코딩 리프레시 픽처.
실시예(2400)의 일부 방법들에서, 제1 순서는 출력 순서이다. 실시예(2400)의 일부 방법들에서, 제2 순서는 디코딩 순서이다.
도 25는 비디오 처리의 하나의 예의 방법(2500)에 대한 순서도이다. 동작(2502)은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서 비트스트림은 현재 슬라이스의 레퍼런스 픽처 목록 내의 활성 항목을, 다음에 응답하여, 단계적 시간적 서브계층 액세스 서브픽처(step-wise temporal sublayer access subpicture)를 포함하는 제2 픽처를 디코딩 순서에서 선행하는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다: (a) 현재 서브픽처와 동일한 시간적 식별자 및 네트워크 추상화 계층(NAL) 유닛의 동일한 계층 식별자를 갖는 제1 픽처, 및 (b) 디코딩 순서에서 단계적 시간적 서브계층 액세스 서브픽처(step-wise temporal sublayer access subpicture)를 따르는 현재 서브픽처, 및 (c) 현재 서브픽처 및 동일한 시간적 식별자, 동일한 계층 식별자 및 동일한 서브픽처 인덱스를 갖는 단계적 시간적 서브계층 액세스 서브픽처.
실시예(2500)의 일부 방법들에서, 레퍼런스 픽처 목록은 목록 0(List 0) 레퍼런스 픽처 목록을 포함한다. 실시예(2500)의 일부 방법들에서, 레퍼런스 픽처 목록은 목록 1(List 1) 레퍼런스 픽처 목록을 포함한다.
도 26은 비디오 처리의 하나의 예의 방법(2600)에 대한 순서도이다. 동작(2602)은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 현재 슬라이스의 레퍼런스 픽처 목록 내의 활성 항목을, 현재 서브픽처가 서브픽처의 특정 유형이 아닌 것에 대한 응답하여 이용 불가능한 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성되는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다.
방법(2600)의 일부 실시예들에서, 현재 서브픽처는 1과 동일한 복구 이전에 출력이 없음을 나타내는 플래그의 값을 갖는 클린 랜덤 액세스 픽처의 클린 랜덤 액세스 서브픽처와 연관된 랜덤 액세스 스킵된 리딩 서브픽처가 아니다. 방법(2600)의 일부 실시예들에서, 현재 서브픽처는 1과 동일한 복구 이전에 출력이 없음을 나타내는 플래그의 값을 갖는 점진적 디코딩 리프레시 픽처의 점진적 디코딩 리프레시 서브픽처가 아니다. 방법(2600)의 일부 실시예들에서, 현재 서브픽처는 1과 동일한 복구 이전에 출력이 없음을 나타내는 플래그의 값을 갖는 점진적 디코딩 리프레시 픽처의 복구 픽처의 서브픽처가 아니고, 현재 서브픽처의 것과 동일한 네트워크 추상화 계층(NAL) 유닛의 동일한 계층 식별자를 갖는다. 방법(2600)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 0(List 0) 레퍼런스 픽처 목록을 포함한다. 방법(2600)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 1(List 1) 레퍼런스 픽처 목록을 포함한다.
도 27은 비디오 처리의 하나의 예의 방법(2700)에 대한 순서도이다. 동작(2702)은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 현재 슬라이스의 레퍼런스 픽처 목록 내의 항목을, 현재 서브픽처가 서브픽처의 특정 유형이 아닌 것에 대한 응답하여 이용 불가능한 레퍼런스 픽처를 생성하기 위한 디코딩 프로세스에 의해 생성되는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다.
방법(2700)의 일부 실시예들에서, 현재 픽처는 1과 동일한 복구 이전에 출력이 없음을 나타내는 플래그의 값을 갖는 클린 랜덤 액세스 픽처의 클린 랜덤 액세스 서브픽처가 아니다. 방법(2700)의 일부 실시예들에서, 현재 서브픽처는, 디코딩 순서에서, 1과 동일한 복구 이전에 출력이 없음을 나타내는 플래그의 값을 갖는 클린 랜덤 액세스 픽처의 클린 랜덤 액세스 서브픽처와 연관된 하나 이상의 리딩 서브픽처에 선행하는 서브픽처가 아니다. 방법(2700)의 일부 실시예들에서, 현재 서브픽처는 1과 동일한 복구 이전에 출력이 없음을 나타내는 플래그의 값을 갖는 클린 랜덤 액세스 픽처의 클린 랜덤 액세스 서브픽처와 연관된 리딩 서브픽처가 아니다. 방법(2700)의 일부 실시예들에서, 현재 서브픽처는 1과 동일한 복구 이전에 출력이 없음을 나타내는 플래그의 값을 갖는 점진적 디코딩 리프레시 픽처의 점진적 디코딩 리프레시 서브픽처가 아니다.
방법(2700)의 일부 실시예들에서, 현재 서브픽처는 1과 동일한 복구 이전에 출력이 없음을 나타내는 플래그의 값을 갖는 점진적 디코딩 리프레시 픽처의 복구 픽처의 서브픽처가 아니고, 현재 서브픽처의 것과 동일한 네트워크 추상화 계층(NAL) 유닛의 동일한 계층 식별자를 갖는다. 방법(2700)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 0(List 0) 레퍼런스 픽처 목록을 포함한다. 방법(2700)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 1(List 1) 레퍼런스 픽처 목록을 포함한다.
도 28은 비디오 처리의 하나의 예의 방법(2800)에 대한 순서도이다. 동작(2802)은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은, 현재 슬라이스의 레퍼런스 픽처 목록의 항목을, 다음에 응답하여, 현재 픽처를 제1 순서 또는 제 2 순서에서 선행하는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다: (a) 제2 순서에서 현재 서브픽처에 선행하는 인트라 랜덤 액세스 포인트 서브픽처(preceding intra random access point subpicture)를 을 포함하는 제1 픽처, (b) 네트워크 추상화 계층(NAL) 유닛의 동일한 계층 식별자 및 현재 서브픽처의 것과 동일한 서브픽처 인덱스를 갖는 선행 인트라 랜덤 액세스 포인트 서브픽처 (c) 클린 랜덤 액세스 서브픽처인 현재 픽처.
방법(2800)의 일부 실시예들에서, 제1 순서는 출력 순서를 포함한다. 방법(2800)의 일부 실시예들에서, 제2 순서는 디코딩 순서를 포함한다. 방법(2800)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 0(List 0) 레퍼런스 픽처 목록을 포함한다. 방법(2800)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 1(List 1) 레퍼런스 픽처 목록을 포함한다.
도 29는 비디오 처리의 하나의 예의 방법(2900)에 대한 순서도이다. 동작(2902)은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은, 현재 슬라이스의 레퍼런스 픽처 목록의 활성 항목을, 다음에 응답하여, 현재 픽처를 제1 순서 또는 제 2 순서에서 선행하는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다: (a) 인트라 랜덤 액세스 포인트 서브픽처와 연관되는 현재 서브픽처, (b) 제1 순서에서 인트라 랜덤 액세스 포인트 서브픽처를 따르는 현재 서브픽처.
방법(2900)의 일부 실시예들에서, 제1 순서는 출력 순서를 포함한다. 방법(2900)의 일부 실시예들에서, 제2 순서는 디코딩 순서를 포함한다. 방법(2900)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 0(List 0) 레퍼런스 픽처 목록을 포함한다. 방법(2900)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 1(List 1) 레퍼런스 픽처 목록을 포함한다.
도 30은 비디오 처리의 하나의 예의 방법(3000)에 대한 순서도이다. 동작(3002)은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 비트스트림은, 현재 슬라이스의 레퍼런스 픽처 목록의 항목을, 다음에 응답하여, 현재 서브픽처와 연관된 인트라 랜덤 액세스 포인트 서브픽처를 포함하는 현재 픽처를 제1 순서 또는 제 2 순서에서 선행하는 제1 픽처를 포함함을 허용하지 않는 포맷 규칙을 따른다: (a) 제1 순서에서 인트라 랜덤 액세스 포인트 서브픽처를 따르는 현재 서브픽처, (b) 제1 순서 및 제2 순서에서 IRAP 서브픽처와 연관된 하나 이상의 리딩 서브픽처를 따르는 현재 서브픽처.
방법(3000)의 일부 실시예들에서, 제1 순서는 출력 순서를 포함한다. 방법(3000)의 일부 실시예들에서, 제2 순서는 디코딩 순서를 포함한다. 방법(3000)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 0(List 0) 레퍼런스 픽처 목록을 포함한다. 방법(3000)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 1(List 1) 레퍼런스 픽처 목록을 포함한다.
도 31은 비디오 처리의 하나의 예의 방법(3100)에 대한 순서도이다. 동작(3102)은 현재 슬라이스를 포함하는 현재 서브픽처를 포함하는 현재 픽처를 포함하는 비디오와 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고, 여기서, 비트스트림은 현재 서브픽처가 랜덤 액세스 디코딩가능 리딩 서브픽처인 것에 응답하여, 현재 슬라이스의 레퍼런스 픽처 목록은 다음 중 어느 하나 이상에 대한 활성 엔트리를 제외함을 지정하는 포맷 규칙을 따른다: 랜덤 액세스 스킵된 선행 서브픽처를 포함하는 제1 픽처, 및 디코딩 순서에서 연관된 인트라 랜덤 액세스 포인트 서브픽처를 포함하는 제3 픽처에 선행하는 제2 픽처.
방법(3100)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 0(List 0) 레퍼런스 픽처 목록을 포함한다. 방법(3100)의 일부 실시예들에서, 레퍼런스 픽처 목록은 목록 1(List 1) 레퍼런스 픽처 목록을 포함한다.
본 문서에서 "비디오 처리(video processing)"라는 용어는 비디오 인코딩, 비디오 디코딩, 비디오 압축 또는 비디오 압축 해제(decompression)를 의미할 수 있다. 예를 들어, 비디오 압축 알고리즘은 비디오의 픽셀 표현에서 대응하는 비트스트림 표현으로 또는 그 반대로 변환 동안 적용될 수 있다. 현재 비디오 블록의 비트스트림 표현은, 예를 들어, 신택스에 의해 정의된 바와 같이 비트스트림의 다른 위치들에 함께 배치(병치)(co-located)되거나 확산되는 비트들에 대응할 수 있다. 예를 들어, 매크로블록(macroblock)은 변환 및 코딩된 오류 잔차 값의 관점에서, 그리고 또한 비트스트림의 헤더 및 기타 필드에 비트를 사용하여 인코딩 될 수 있다. 또한, 변환 동안, 디코더는 위의 솔루션에서 설명된 바와 같이 결정에 기초하여 일부 필드들이 존재하거나 없을 수 있다는 지식으로 비트스트림을 파싱할 수 있다. 유사하게, 인코더는 특정 신택스 필드가 포함되는지 여부를 결정할 수 있고, 이에 따라 코딩된 표현으로 부터 신택스 필드를 포함하거나 또는 제외함으로써 코딩된 표현을 생성할 수 있다.
본 문서에 기재된 개시 및 기타 솔루션, 예, 실시예, 모듈 및 기능적 동작(operation)은 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있으며, 여기에는 이 문서 및 그 구조적 등가물 또는 그 중 하나 이상의 조합으로 구현될 수 있다. 개시된 및 기타 실시예는 하나 이상의 컴퓨터 프로그램 제품으로 구현될 수 있고, 즉, 컴퓨터 프로그램 지침의 하나 이상의 모듈을 컴퓨터 판독 가능한 매체에 인코딩 하여 실행하거나, 데이터 처리 장치의 동작을 제어할 수 있다. 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 메모리 장치, 기계 판독 가능 전파 신호에 영향을 미치는 물질의 조성 또는 하나 이상의 조합일 수 있다. 용어 "데이터 처리 장치"는 예를 들어, 프로그래밍 가능한 프로세서, 컴퓨터 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 장치, 장치 및 컴퓨터를 포함한다. 장치는 하드웨어에 추가하여 대응 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 전파된 신호는 인위적으로 생성된 신호, 예를 들어, 기계에서 생성된 전기, 광학 또는 전자기 신호이고, 이는 적합한 수신기 장치로 전송하기 위한 정보를 인코딩 하기 위해 생성된다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일 된 언어를 비롯한 모든 형태의 프로그래밍 언어로 작성할 수 있으며 독립 실행형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 컴포넌트, 서브루틴 또는 기타 유닛으로 모든 형태로 배포할 수 있다. 컴퓨터 프로그램이 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트), 대응하는 프로그램에 전용되는 단일 파일 또는 여러 조정된 파일들(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드 일부를 저장하는 파일)에 저장할 수 있다. 컴퓨터 프로그램은 한 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크에 의해 상호 연결된 여러 컴퓨터에서 실행하도록 배포할 수 있다.
이 문서에 설명된 프로세스 및 논리 흐름은 하나 이상의 프로그래밍 가능한 프로세서가 하나 이상의 프로그래밍 가능한 프로세서에서 수행하여 입력 데이터에서 동작하고 출력을 생성하여 기능을 수행할 수 있다. 프로세스 및 로직 흐름도 수행될 수 있으며, 장치는 특수 목적 논리 회로, 예를 들어, FPGA(필드 프로그래밍 가능한 게이트 어레이) 또는 ASIC(애플리케이션 별 집적 회로)로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는 예를 들어, 일반 및 특수 목적 마이크로프로세서와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서가 포함된다. 일반적으로 프로세서는 읽기 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다에서 지침과 데이터를 받게 된다. 컴퓨터의 필수 요소는 지침과 데이터를 저장하기 위한 하나 이상의 메모리 장치를 수행하기 위한 프로세서이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어, 자기, 광자기 디스크, 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 전체를 포함하거나 동작 가능하게 연결된다. 그러나, 컴퓨터에 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 지침 및 데이터를 저장하는 데 적합한 컴퓨터 판독 가능 미디어에는 반도체 메모리 장치, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치, 자기 디스크, 예를 들어, 내부 하드 디스크 또는 이동식 디스크; 마그네토 광학 디스크; 및 CD ROM 및 DVD-ROM 디스크를 비롯한 모든 형태의 비휘발성 메모리, 미디어 및 메모리 장치가 포함된다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보충되거나 통합될 수 있다.
이 특허 문서에는 많은 세부 사항이 포함되어 있지만, 이는 어떤 주제의 범위 또는 청구될 수 있는 것에 대한 제한으로 해석되어서는 안되고, 오히려 특정 기술의 특정 구현예에 특정할 수 있는 특징에 대한 설명으로 해석되어서는 안 된다. 이 특허 문서에 기재된 특정 특징은 별도의 실시예의 맥락에서 또한 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 개별적으로 또는 임의의 적절한 서브 조합으로 다중 실시예들에서도 구현될 수 있다. 더욱이, 앞서와 같이 특징들은 특정 조합으로 작용하는 것으로 설명될 수 있고 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합으로 부터 하나 이상의 특징은 어떤 경우에는 조합으로 부터 제외될 수 있고, 주장된 조합은 서브 조합 또는 서브 조합의 변형에 관한 것일 수 있다.
마찬가지로, 동작은 특정 순서에서 도면에 묘사되어 있지만, 바람직한 결과를 달성하기 위하여, 이러한 동작이 표시된 특정 순서 또는 순차적인 순서에서 수행되거나, 모든 예시된 동작들이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다. 더욱이, 본 특허 문서에 기재된 실시예들에서, 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안 된다.
단지 몇 가지 구현 및 예제만 설명되며, 이 특허 문서에서 기술되고 예시되는 내용에 기초하여 다른 구현들, 개선 및 변형들을 만들 수 있다.

Claims (34)

  1. 비디오 처리 방법에 있어서,
    하나 이상의 서브픽처를 포함하는 하나 이상의 픽처를 포함하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
    상기 비트스트림은 상기 비트스트림에서 네트워크 추상화 계층(NAL) 유닛의 신택스를 포맷 규칙을 따르고, 및
    상기 포맷 규칙은 비디오 코딩 계층(VCL) NAL 유닛 유형의 NAL 유닛이 특정 유형의 픽처 또는 서브픽처의 특정 유형과 연관된 콘텐츠를 포함함을 지정하는
    방법.
  2. 제1항에 있어서,
    VCL NAL 유닛 유형의 상기 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 클린 랜덤 액세스 픽처 또는 클린 랜덤 액세스 서브픽처와 연관된다는 것을 나타내는
    방법.
  3. 제2항에 있어서,
    상기 클린 랜덤 액세스 서브픽처는 각 VCL NAL 유닛이 클린 랜덤 액세스 유형을 갖는 인트라 랜덤 액세스 포인트 서브픽처인
    방법.
  4. 제1항에 있어서,
    VCL NAL 유닛 유형의 상기 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 연관된 점진적 디코딩 리프레시 픽처 또는 연관된 점진적 디코딩 리프레시 서브픽처와 연관된다는 것을 나타내는
    방법.
  5. 제4항에 있어서,
    상기 연관된 점진적 디코딩 리프레시 서브픽처는 디코딩 순서에서, 제1 특정 값과 동일한 VCL NAL 유닛이 속하는 계층의 식별자 또는 비-VCL NAL 유닛이 적용되는 계층의 식별자 및 서브픽처 인덱스의 제2 특정 값을 갖는, 이전 점진적 디코딩 리프레시 서브픽처고, 및
    상기 디코딩 순서에서 상기 이전 점진적 디코딩 리프레시 서브픽처와 식별자의 상기 제1 특정 값 및 서브픽처 인덱스의 상기 제2 특정 값을 갖는 특정 서브픽처 사이에, 식별자의 상기 제1 특정 값과 서브픽처 인덱스의 상기 제2 특정 값을 갖는 인트라 랜덤 액세스 포인트 서브픽처는 존재하지 않는
    방법.
  6. 제1항에 있어서,
    NAL 유닛 유형의 상기 VCL 유닛의 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 연관된 인트라 랜덤 액세스 포인트 픽처 또는 연관된 인트라 랜덤 액세스 포인트 서브픽처와 연관된다는 것을 나타내는
    방법.
  7. 제6항에 있어서,
    상기 연관된 인트라 랜덤 액세스 포인트 서브픽처는 디코딩 순서에서, 제1 특정 값과 동일한 VCL NAL 유닛이 속하는 계층의 식별자 또는 비-VCL NAL 유닛이 적용되는 계층의 식별자 및 서브픽처 인덱스의 제2 특정 값을 갖는, 이전 인트라 랜덤 액세스 포인트 서브픽처고, 및
    상기 디코딩 순서에서 상기 이전 인트라 랜덤 액세스 서브픽처와 식별자의 상기 제1 특정 값 및 서브픽처 인덱스의 상기 제2 특정 값을 갖는 특정 서브픽처 사이에, 식별자의 상기 제1 특정 값과 서브픽처 인덱스의 상기 제2 특정 값을 갖는 점진적 디코딩 리프레시 서브픽처는 존재하지 않는
    방법.
  8. 제1항에 있어서,
    VCL NAL 유닛 유형의 상기 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 인스턴스 디코딩 리프레시 픽처 또는 인스턴스 디코딩 리프레시 서브픽처와 연관된다는 것을 나타내는
    방법.
  9. 제8항에 있어서,
    상기 인스턴스 디코딩 리프레시 서브픽처는 각각의 VCL NAL 유닛이 인스턴스 디코딩 리프레시 유형을 갖는 인트라 랜덤 액세스 포인트 서브픽처인
    방법.
  10. 제1항에 있어서,VCL NAL 유닛 유형의 상기 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 리딩 픽처 또는 리딩 서브픽처와 연관된다는 것을 나타내는
    방법.
  11. 제10항에 있어서,
    상기 리딩 서브픽처는 출력 순서에서 상기 연관된 랜덤 액세스 포인트 서브픽처에 선행하는 서브픽처인
    방법.
  12. 제1항에 있어서,
    VCL NAL 유닛 유형의 상기 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 랜덤 액세스 디코딩가능 리딩 픽처 또는 랜덤 액세스 디코딩가능 리딩 서브픽처와 연관된다는 것을 나타내는
    방법.
  13. 제12항에 있어서,
    상기 랜덤 액세스 디코딩가능 리딩 서브픽처는 각각의 VCL NAL 유닛이 랜덤 액세스 디코딩가능 리딩 유형을 갖는 서브픽처인
    방법.
  14. 제1항에 있어서,
    VCL NAL 유닛 유형의 상기 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 랜덤 액세스 스킵된 리딩 픽처 또는 랜덤 액세스 스킵된 리딩 서브픽처와 연관된다는 것을 나타내는
    방법.
  15. 제14항에 있어서,
    상기 랜덤 액세스 스킵된 리딩 서브픽처는 각각의 VCL NAL 유닛이 랜덤 액세스 스킵된 리딩 유형을 갖는 서브픽처인
    방법.
  16. 제1항에 있어서,
    VCL NAL 유닛 유형의 상기 NAL 유닛의 컨텐츠는 코딩된 슬라이스가 단계적 시간적 서브계층 액세스 픽처 또는 단계적 시간적 서브계층 액세스 서브픽처와 연관된다는 것을 나타내는
    방법.
  17. 제16항에 있어서,
    상기 단계적 시간적 서브계층 액세스 서브픽처는 각각의 VCL NAL 유닛이 단계적 시간적 서브계층 액세스 유형을 갖는 서브픽처인
    방법.
  18. 제1항에 있어서,
    VCL NAL 유닛 유형의 상기 NAL 유닛의 콘텐츠는 코딩된 슬라이스가 트레일링 픽처 또는 트레일링 서브픽처와 연관된다는 것을 나타내는
    방법.
  19. 제18항에 있어서,
    상기 트레일링 서브픽처는 각각의 VCL NAL 유닛이 트레일 유형을 갖는 서브픽처인
    방법.
  20. 비디오 처리 방법에 있어서,
    서브픽처를 포함하는 픽처를 포함하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
    상기 비트스트림은 포맷 규칙을 따르고,
    상기 포맷 규칙은 상기 서브픽처가 인트라 랜덤 액세스 포인트 서브픽처의 리딩 서브픽처임에 응답하여 서브픽처의 랜덤 액세스 유형임을 지정하는
    방법.
  21. 제20항에 있어서,
    서브픽처의 상기 랜덤 액세스 유형은 랜덤 액세스 디코딩가능 리딩 서브픽처인
    방법.
  22. 제20항에 있어서,
    서브픽처의 상기 랜덤 액세스 유형은 랜덤 액세스 스킵된 리딩 서브픽처인
    방법.
  23. 비디오 처리 방법에 있어서,
    서브픽처를 포함하는 픽처를 포함하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
    상기 비트스트림은 포맷 규칙을 따르고,
    상기 포맷 규칙은 하나 이상의 랜덤 액세스 시킵된 리딩 서브픽처가, 상기 하나 이상의 랜덤 액세스 스킵된 리딩 서브픽처가 인스턴스 디코딩 리프레시 서브픽처와 연관되는 것에 응답하여, 비트스트림으로부터 부재함을 지정하는
    방법.
  24. 비디오 처리 방법에 있어서,
    서브픽처를 포함하는 픽처를 포함하는 비디오와 상기 비디오의 비트스트림 사이의 변환을 수행하는 단계를 포함하고,
    상기 비트스트림은 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처가, 인스턴스 디코딩 리프레시 서브픽처는 리딩 픽처와 연관되지 않음을 지정하는, 네트워크 추상화 계층(NAL) 유닛의 유형을 갖는 상기 인스턴스 디코딩 리프레시 서브픽처와 연관되는 것에 응답하여, 상기 하나 이상의 랜덤 액세스 디코딩가능 리딩 서브픽처가 상기 비트스트림으로 부터 부재함을 지정하는 포맷 규칙을 따르는
    방법.
  25. 제1항 내지 제24항 중 어느 한 항에 있어서,
    상기 변환을 수행하는 단계는 상기 비디오를 상기 비트스트림으로 인코딩하는 단계를 포함하는
    방법.
  26. 제1항 내지 제24항 중 어느 한 항에 있어서,
    상기 변환을 수행하는 단계는 상기 비디오로부터 상기 비트스트림을 생성하는 단계를 포함하고, 상기 방법은 상기 비트스트림을 비일시적 컴퓨터 판독 가능 기록 매체에 저장하는 단계를 더 포함하는
    방법.
  27. 제1항 내지 제24항 중 어느 한 항에 있어서,
    상기 변환을 수행하는 단계는 상기 비트스트림으로 부터 상기 비디오를 디코딩하는 단계를 포함하는
    방법.
  28. 제1항 내지 제27항 중 하나 이상에 인용된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 디코딩 장치.
  29. 제1항 내지 제27항 중 하나 이상에 인용된 방법을 구현하도록 구성된 프로세서를 포함하는 비디오 인코딩 장치.
  30. 컴퓨터 명령이 저장된 컴퓨터 프로그램에서,
    상기 명령은 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1항 내지 제27항 중 어느 하나에 언급된 방법을 구현하게 하는
    컴퓨터 프로그램.
  31. 제1항 내지 제27항 중 어느 한 항의 방법에 따라 생성된 비트스트림을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체.
  32. 명령이 저장된 비일시적 컴퓨터 판독 가능 저장 매체에 있어서, 프로세서로 하여금 제1항 내지 제27항 중 어느 하나에 기재된 방법을 구현하게 하는 비일시적 컴퓨터 판독 가능 저장 매체.
  33. 비트스트림 생성 방법에 있어서,
    제1항 내지 제27항 중 어느 한 항에 인용된 방법에 따라 비디오의 비트스트림을 생성하는 단계; 및
    상기 비트스트림을 컴퓨터 판독 가능 프로그램 매체에 저장하는 단계를 포함하는
    비트스트림 생성 방법.
  34. 본 문서에 개시된 방법 또는 시스템에 따라 생성된 방법, 장치, 비트스트림.
KR1020227031063A 2020-03-20 2021-03-18 비디오 코딩에서 서브픽처 정보 사용 KR20220155988A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062992724P 2020-03-20 2020-03-20
US62/992,724 2020-03-20
PCT/US2021/022970 WO2021188796A1 (en) 2020-03-20 2021-03-18 Use of subpicture information in video coding

Publications (1)

Publication Number Publication Date
KR20220155988A true KR20220155988A (ko) 2022-11-24

Family

ID=77771399

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020227031066A KR20220156831A (ko) 2020-03-20 2021-03-18 서브픽처의 레퍼런스 픽처 목록에 대한 제약
KR1020227031064A KR20220156829A (ko) 2020-03-20 2021-03-18 이웃 서브픽처의 코딩
KR1020227031065A KR20220156830A (ko) 2020-03-20 2021-03-18 서브픽처 사이의 순서 관계
KR1020227031063A KR20220155988A (ko) 2020-03-20 2021-03-18 비디오 코딩에서 서브픽처 정보 사용

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020227031066A KR20220156831A (ko) 2020-03-20 2021-03-18 서브픽처의 레퍼런스 픽처 목록에 대한 제약
KR1020227031064A KR20220156829A (ko) 2020-03-20 2021-03-18 이웃 서브픽처의 코딩
KR1020227031065A KR20220156830A (ko) 2020-03-20 2021-03-18 서브픽처 사이의 순서 관계

Country Status (8)

Country Link
US (5) US11863796B2 (ko)
EP (5) EP4107944A4 (ko)
JP (4) JP7481477B2 (ko)
KR (4) KR20220156831A (ko)
CN (4) CN115336271A (ko)
BR (3) BR112022018884A2 (ko)
MX (3) MX2022011425A (ko)
WO (4) WO2021188801A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11825073B2 (en) * 2020-03-20 2023-11-21 Qualcomm Incorporated High level syntax for video with mixed NAL unit types
CN115668943A (zh) * 2020-03-23 2023-01-31 Lg电子株式会社 基于混合nal单元类型的图像编码/解码方法和设备及存储比特流的记录介质
CN115699746B (zh) * 2020-03-31 2023-10-20 Lg电子株式会社 图像编码/解码方法和发送比特流的方法
KR20220161411A (ko) * 2020-04-01 2022-12-06 엘지전자 주식회사 Gdr에 대한 리커버리 포인트 관련 정보의 시그널링 기반 영상 또는 비디오 코딩
WO2023056357A1 (en) * 2021-09-29 2023-04-06 Bytedance Inc. Method, device, and medium for video processing
WO2023051637A1 (en) * 2021-09-29 2023-04-06 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2542266C (en) * 2004-04-28 2012-07-17 Matsushita Electric Industrial Co. Ltd. Moving picture stream generation apparatus, moving picture coding apparatus, moving picture multiplexing apparatus and moving picture decoding apparatus
US8665968B2 (en) * 2009-09-30 2014-03-04 Broadcom Corporation Method and system for 3D video coding using SVC spatial scalability
MX353107B (es) 2010-04-09 2017-12-19 Mitsubishi Electric Corp Dispositivo codificador de imagen en movimiento y dispositivo decodificador de imagen en movimiento.
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
US20130114694A1 (en) * 2011-11-08 2013-05-09 Qualcomm Incorporated Parameter set groups for coded video data
US9503702B2 (en) * 2012-04-13 2016-11-22 Qualcomm Incorporated View synthesis mode for three-dimensional video coding
US9979959B2 (en) 2012-04-20 2018-05-22 Qualcomm Incorporated Video coding with enhanced support for stream adaptation and splicing
US9736476B2 (en) * 2012-04-27 2017-08-15 Qualcomm Incorporated Full random access from clean random access pictures in video coding
US20140003504A1 (en) 2012-07-02 2014-01-02 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding
US9686542B2 (en) * 2012-09-05 2017-06-20 Qualcomm Incorporated Network abstraction layer header design
US9491457B2 (en) * 2012-09-28 2016-11-08 Qualcomm Incorporated Signaling of regions of interest and gradual decoding refresh in video coding
US20140092953A1 (en) * 2012-10-02 2014-04-03 Sharp Laboratories Of America, Inc. Method for signaling a step-wise temporal sub-layer access sample
CN104704850A (zh) * 2012-10-09 2015-06-10 思科技术公司 对位流中的图像格式转换的在先解码的图像的输出管理
US9325997B2 (en) * 2012-11-16 2016-04-26 Huawei Technologies Co., Ltd Signaling scalability information in a parameter set
KR101981712B1 (ko) * 2012-11-21 2019-05-24 엘지전자 주식회사 영상 디코딩 방법 및 이를 이용하는 장치
US9900609B2 (en) * 2013-01-04 2018-02-20 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding
US20140218473A1 (en) * 2013-01-07 2014-08-07 Nokia Corporation Method and apparatus for video coding and decoding
US9521393B2 (en) * 2013-01-07 2016-12-13 Qualcomm Incorporated Non-nested SEI messages in video coding
US9998735B2 (en) 2013-04-01 2018-06-12 Qualcomm Incorporated Inter-layer reference picture restriction for high level syntax-only scalable video coding
US9674533B2 (en) * 2013-04-05 2017-06-06 Qualcomm Incorporated Picture alignments in multi-layer video coding
KR20150009467A (ko) * 2013-07-15 2015-01-26 주식회사 케이티 스케일러블 비디오 신호 인코딩/디코딩 방법 및 장치
US9860529B2 (en) 2013-07-16 2018-01-02 Qualcomm Incorporated Processing illumination compensation for video coding
WO2015015058A1 (en) 2013-07-31 2015-02-05 Nokia Corporation Method and apparatus for video coding and decoding
US10116948B2 (en) 2014-02-21 2018-10-30 Sharp Kabushiki Kaisha System for temporal identifier handling for hybrid scalability
WO2015140401A1 (en) * 2014-03-17 2015-09-24 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
CA3171803A1 (en) * 2014-09-30 2016-04-07 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US9800898B2 (en) 2014-10-06 2017-10-24 Microsoft Technology Licensing, Llc Syntax structures indicating completion of coded regions
US20170105004A1 (en) * 2015-10-07 2017-04-13 Qualcomm Incorporated Methods and systems of coding a predictive random access picture using a background picture
US20170111642A1 (en) * 2015-10-14 2017-04-20 Qualcomm Incorporated Support of random access and switching of layers and sub-layers in multi-layer video files
MX2021011021A (es) 2019-03-11 2021-11-12 Huawei Tech Co Ltd Imágenes con tipos de unidad nal mezclados.
BR112021022174A2 (pt) 2019-05-11 2021-12-21 Beijing Bytedance Network Tech Co Ltd Método para processar dados de vídeo, aparelho para processar dados de vídeo, meio de armazenamento e meio de gravação
US11166033B2 (en) 2019-06-06 2021-11-02 Qualcomm Incorporated Adaptation parameter set in access unit in video coding
US11483558B2 (en) * 2019-06-21 2022-10-25 Tencent America LLC Method for region-wise scalability with adaptive resolution change
US20210076074A1 (en) * 2019-09-11 2021-03-11 Qualcomm Incorporated Maximum and minimum block sizes signaling at high level syntax for video coding and transform units
CN117412052A (zh) * 2019-09-24 2024-01-16 华为技术有限公司 图像级非图像级语法元素的指示
WO2021073488A1 (en) 2019-10-13 2021-04-22 Beijing Bytedance Network Technology Co., Ltd. Interplay between reference picture resampling and video coding tools
US11375232B2 (en) 2019-12-10 2022-06-28 Zte (Uk) Limited Sub picture signaling in video coding
JP2023507348A (ja) * 2019-12-20 2023-02-22 フラウンホッファー-ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ ビデオストリームにおいて異なるnalユニットタイプのnalユニットを混合するためのデコーダ、エンコーダおよび方法
US20230045490A1 (en) 2019-12-23 2023-02-09 Lg Electronics Inc. Image or video coding based on nal unit-associated information
US11399188B2 (en) * 2020-01-01 2022-07-26 Tencent America LLC Method for mixed NAL unit type support in a coded picture
WO2021136554A1 (en) 2020-01-05 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. General constraints information for video coding
JP7450747B2 (ja) 2020-03-05 2024-03-15 エルジー エレクトロニクス インコーポレイティド 混成nalユニットタイプに基づく画像符号化/復号化方法及び装置、並びにビットストリームを伝送する方法
MX2022010889A (es) 2020-03-05 2022-10-27 Lg Electronics Inc Metodo y dispositivo de codificacion/decodificacion de imagen basado en el tipo de unidad nal combinada, y metodo para trasmitir flujo de bits.
CN115868165A (zh) 2020-03-21 2023-03-28 抖音视界有限公司 参考图片重采样

Also Published As

Publication number Publication date
US20230026922A1 (en) 2023-01-26
CN115299049A (zh) 2022-11-04
EP4107944A1 (en) 2022-12-28
US20230021827A1 (en) 2023-01-26
JP2023518949A (ja) 2023-05-09
US11863796B2 (en) 2024-01-02
EP4107950A1 (en) 2022-12-28
EP4319149A2 (en) 2024-02-07
WO2021188796A1 (en) 2021-09-23
EP4107950A4 (en) 2023-08-09
WO2021188805A1 (en) 2021-09-23
EP4107954A4 (en) 2023-08-09
EP4319149A3 (en) 2024-04-17
US11849149B2 (en) 2023-12-19
US20230034923A1 (en) 2023-02-02
KR20220156830A (ko) 2022-11-28
JP7488354B2 (ja) 2024-05-21
JP2023518950A (ja) 2023-05-09
CN115336271A (zh) 2022-11-11
WO2021188810A1 (en) 2021-09-23
EP4107944A4 (en) 2023-06-14
EP4107954A1 (en) 2022-12-28
JP2023518951A (ja) 2023-05-09
MX2022011424A (es) 2022-10-03
CN115380530A (zh) 2022-11-22
JP7420965B2 (ja) 2024-01-23
JP7488353B2 (ja) 2024-05-21
US20230017513A1 (en) 2023-01-19
MX2022011426A (es) 2022-10-03
BR112022018862A2 (pt) 2022-11-22
EP4107943A4 (en) 2023-08-09
JP2023518441A (ja) 2023-05-01
MX2022011425A (es) 2022-10-03
KR20220156831A (ko) 2022-11-28
EP4107943A1 (en) 2022-12-28
CN115299044A (zh) 2022-11-04
WO2021188801A1 (en) 2021-09-23
KR20220156829A (ko) 2022-11-28
BR112022018884A2 (pt) 2022-11-08
BR112022018880A2 (pt) 2022-11-22
JP7481477B2 (ja) 2024-05-10
US20240129542A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
JP7488353B2 (ja) サブピクチャの順序関係
US20240048689A1 (en) Sublayers information in video coding
CN115769571A (zh) 视频编解码中的解码的图片缓冲器管理和子图片
KR20220155292A (ko) 비디오 코딩에서 설정한 비디오 파라미터 세트의 사용
KR20220156828A (ko) 레퍼런스 픽처 순서에 대한 제약들
KR20230002395A (ko) 레퍼런스 픽처 목록에 대한 제약