KR20210105984A - 비디오 코딩시 인트라 랜덤 액세스 포인트 픽처들 및 선두 픽처들 - Google Patents

비디오 코딩시 인트라 랜덤 액세스 포인트 픽처들 및 선두 픽처들 Download PDF

Info

Publication number
KR20210105984A
KR20210105984A KR1020217023657A KR20217023657A KR20210105984A KR 20210105984 A KR20210105984 A KR 20210105984A KR 1020217023657 A KR1020217023657 A KR 1020217023657A KR 20217023657 A KR20217023657 A KR 20217023657A KR 20210105984 A KR20210105984 A KR 20210105984A
Authority
KR
South Korea
Prior art keywords
irap
picture
nal unit
unit type
pictures
Prior art date
Application number
KR1020217023657A
Other languages
English (en)
Other versions
KR102603980B1 (ko
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 KR20210105984A publication Critical patent/KR20210105984A/ko
Application granted granted Critical
Publication of KR102603980B1 publication Critical patent/KR102603980B1/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/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/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
    • H04L65/607
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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

Abstract

비디오 인코더에 의해 구현된 비디오 비트스트림을 인코딩하는 방법이 개시된다. 이 방법은 : 비디오 데이터에 대해 이용가능한 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트를 비디오 인코더의 메모리에 저장하는 단계; 비디오 인코더의 프로세서에 의해, 비디오 데이터로부터의 픽처에 대해 5개 미만의 NAL 유닛 유형의 세트로부터 NAL 유닛 유형을 선택하는 단계; 비디오 인코더의 프로세서에 의해, 선택된 NAL 유닛 유형에 대응하는 NAL 유닛을 포함하고 선택된 NAL 유닛 유형을 식별하는 식별자를 포함하는 비디오 비트스트림을 생성하는 단계; 및 비디오 인코더의 전송기에 의해, 비디오 비트스트림을 비디오 디코더를 향해 전송하는 단계를 포함한다. 비디오 비트스트림을 디코딩하는 대응하는 방법도 역시 개시된다.

Description

비디오 코딩시 인트라 랜덤 액세스 포인트 픽처들 및 선두 픽처들
관련 출원의 상호참조
본 특허 출원은, 참조에 의해 본 명세서에 포함되는, Fnu Hendry 등에 의해 2018년 12월 27일에 출원된 발명의 명칭이 "On Intra Random Access Point Pictures and Leading Pictures in Video Coding"인, 미국 가출원 번호 제62/785,515호의 이익을 주장한다.
일반적으로, 본 개시내용은 선두 및 인트라 랜덤 액세스 포인트(intra random access point; IRAP) 픽처들에 대한 네트워크 추상화 계층(network abstraction layer; NAL) 유닛 유형들을 처리하기 위한 기술들을 설명한다. 더 구체적으로, 본 개시내용은 이용가능한 NAL 유닛 유형들의 수를 제한하고 픽처들이 NAL 유닛 유형에 의해 식별되지 않았을 때 픽처가 디코딩가능한지 여부를 표시하기 위해 플래그들을 이용하기 위한 기술들을 설명한다.
비교적 짧은 비디오를 묘사하는데 필요한 비디오 데이터의 양은 상당할 수 있으며, 이것은 제한된 대역폭 용량을 갖는 통신 네트워크를 통해 데이터가 스트리밍되거나 기타의 방식으로 전달될 때 어려움을 초래할 수 있다. 따라서, 비디오 데이터는 일반적으로, 현대의 통신 네트워크들을 통해 전달되기 전에 압축된다. 메모리 자원들은 제한될 수 있기 때문에 비디오가 저장 디바이스에 저장될 때 비디오의 크기가 문제가 될 수도 있다. 비디오 압축 디바이스들은 종종, 전송 또는 저장 전에 소스에서 소프트웨어 및/또는 하드웨어를 이용하여 비디오 데이터를 코딩함으로써, 전송 또는 저장 전에 디지털 비디오 이미지들을 표현하는데 필요한 데이터 양을 감소시킨다. 그 다음, 압축된 데이터는 비디오 데이터를 디코딩하는 비디오 압축해제 디바이스에 의해 목적지에서 수신된다. 제한된 네트워크 자원들과 더 높은 비디오 품질에 대한 수요가 계속 증가함에 따라 이미지 품질을 거의 또는 전혀 희생하지 않고 압축 비율을 개선하는 개선된 압축 및 압축해제 기술들이 바람직하다.
제1 양태는 비디오 인코더에 의해 구현된 비디오 비트스트림을 인코딩하는 방법에 관한 것이다. 이 방법은 비디오 데이터에 대해 이용가능한 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트(a set of less than five network abstraction layer (NAL) unit types)를 비디오 인코더의 메모리에 저장하는 단계; 비디오 인코더의 프로세서에 의해, 비디오 데이터로부터의 픽처에 대해 5개 미만의 NAL 유닛 유형의 세트로부터 NAL 유닛 유형을 선택하는 단계; 비디오 인코더의 프로세서에 의해, 선택된 NAL 유닛 유형에 대응하는 NAL 유닛을 포함하고 선택된 NAL 유닛 유형을 식별하는 식별자를 포함하는 비디오 비트스트림을 생성하는 단계; 및 비디오 인코더의 전송기에 의해, 비디오 비트스트림을 비디오 디코더를 향해 전송하는 단계를 포함한다.
이 방법은 비디오 데이터에 대해 이용가능한 NAL 유닛 유형의 세트를 5개 이하의 특정한 NAL 유닛 유형으로 제한하는 (예를 들어, NAL 유닛 유형의 수를 4개로 제한하는) 기술들을 제공한다. 이것은 선두 및 후미 픽처들(일명, 비-IRAP 픽처들)이 동일한 NAL 유닛 유형을 공유하는 것을 허용한다. 이것은 또한, NAL 유닛 유형들이 I-RAP 픽처가 RADL 픽처 및/또는 RASL 픽처와 연관되어 있는지 여부를 표시하는 것을 허용한다. 추가로, 특정한 NAL 유닛 유형들은 DASH에서 상이한 SAP 유형들에 맵핑될 수 있다. NAL 유닛 유형의 세트를 제약함으로써, 비디오 코딩에서의 코더/디코더(일명 "코덱")는 현재의 코덱들에 비해 개선된다(예를 들어, 더 적은 비트 이용하고, 더 적은 대역폭을 요구하며, 더 효율적이다 등). 실질적으로, 개선된 비디오 코딩 프로세스는, 비디오를 전송, 수신 및/또는 시청할 때 사용자에게 더 양호한 사용자 경험을 제공한다.
따라서 제1 양태에 따른 방법의 제1 구현 형태에서, 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(random access skipped leading; RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(random access decodable leading; RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함한다.
제1 양태에 따른 방법의 제2 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP로 구성된다.
제1 양태에 따른 방법의 제3 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, 선두 및 후미 픽처들 양쪽 모두에는 선두 및 후미 픽처들 NAL 유닛 유형이 할당된다.
제1 양태에 따른 방법의 제4 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처들이 뒤따르는 IRAP 픽처에 대해서 RASL NAL 유닛 유형을 갖는 IRAP가 선택된다.
제1 양태에 따른 방법의 제5 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 클린 랜덤 액세스(CRA; clean random access) 픽처라고 지칭된다.
제1 양태에 따른 방법의 제6 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, RASL NAL 유닛 유형을 갖는 IRAP는 클린 랜덤 액세스(CRA) NAL 유닛 유형이라고 지칭된다.
제1 양태에 따른 방법의 제7 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, RASL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RASL로 지정된다.
제1 양태에 따른 방법의 제8 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, IRAP_W_RASL 지정은, 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 3에 대응한다.
제1 양태에 따른 방법의 제9 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 RADL NAL 유닛 유형을 갖는 IRAP가 선택된다.
제1 양태에 따른 방법의 제10 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(IDR; instantaneous decoder refresh) 픽처라고 지칭된다.
제1 양태에 따른 방법의 제11 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, RADL NAL 유닛 유형을 갖는 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭된다.
제1 양태에 따른 방법의 제12 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, RADL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RADL로 지정된다.
제1 양태에 따른 방법의 제13 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, IRAP_W_RADL은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 2에 대응한다.
제1 양태에 따른 방법의 제14 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP가 선택된다. 제1 양태에 따른 방법의 제15 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR) 픽처라고 지칭된다.
제1 양태에 따른 방법의 제16 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭된다.
제1 양태에 따른 방법의 제17 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 IRAP_N_LP로 지정된다.
제1 양태에 따른 방법의 제18 구현 형태 또는 제1 양태의 임의의 선행하는 구현 형태에서, IRAP_N_LP 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 1에 대응한다.
제2 양태는 비디오 디코더에 의해 구현된 코딩된 비디오 비트스트림을 디코딩하는 방법에 관한 것이다. 이 방법은, 비디오 데이터에 대해 이용가능한 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트를 비디오 디코더의 메모리에 저장하는 단계; 비디오 디코더의 수신기에 의해, NAL 유닛 및 식별자를 포함하는 코딩된 비디오 비트스트림을 수신하는 단계; 비디오 디코더의 프로세서에 의해, 식별자에 기초하여 NAL 유닛을 인코딩하는데 이용된 NAL 유닛 유형을 5개 미만의 NAL 유닛 유형의 세트로부터 결정하는 단계; 및 비디오 디코더의 프로세서에 의해, 결정된 NAL 유닛 유형에 기초하여 NAL 유닛에 포함된 픽처들에 대한 프리젠테이션 순서를 할당하는 단계를 포함한다.
이 방법은 비디오 데이터에 대해 이용가능한 NAL 유닛 유형의 세트를 5개 이하의 특정한 NAL 유닛 유형으로 제한하는 (예를 들어, NAL 유닛 유형의 수를 4개로 제한하는) 기술들을 제공한다. 이것은 선두 및 후미 픽처들(일명, 비-IRAP 픽처들)이 동일한 NAL 유닛 유형을 공유하는 것을 허용한다. 이것은 또한, NAL 유닛 유형들이 I-RAP 픽처가 RADL 픽처 및/또는 RASL 픽처와 연관되어 있는지 여부를 표시하는 것을 허용한다. 추가로, 특정한 NAL 유닛 유형들은 DASH에서 상이한 SAP 유형들에 맵핑될 수 있다. NAL 유닛 유형의 세트를 제약함으로써, 비디오 코딩에서의 코더/디코더(일명 "코덱")는 현재의 코덱들에 비해 개선된다(예를 들어, 더 적은 비트 이용하고, 더 적은 대역폭을 요구하며, 더 효율적이다 등). 실질적으로, 개선된 비디오 코딩 프로세스는, 비디오를 전송, 수신 및/또는 시청할 때 사용자에게 더 양호한 사용자 경험을 제공한다.
따라서 제2 양태에 따른 방법의 제1 구현 형태에서, 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함한다.
제2 양태에 따른 방법의 제2 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP로 구성된다.
제2 양태에 따른 방법의 제3 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, 선두 및 후미 픽처들 양쪽 모두에는 선두 및 후미 픽처들 NAL 유닛 유형이 할당된다.
제2 양태에 따른 방법의 제4 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처들이 뒤따르는 IRAP 픽처에 대해서 RASL NAL 유닛 유형을 갖는 IRAP가 결정된다.
제2 양태에 따른 방법의 제5 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 클린 랜덤 액세스(CRA; clean random access) 픽처라고 지칭된다.
제2 양태에 따른 방법의 제6 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, RASL NAL 유닛 유형을 갖는 IRAP는 클린 랜덤 액세스(CRA) NAL 유닛 유형이라고 지칭된다.
제2 양태에 따른 방법의 제7 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, RASL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RASL로 지정된다.
제2 양태에 따른 방법의 제8 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, IRAP_W_RASL 지정은, 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 3에 대응한다.
제2 양태에 따른 방법의 제9 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 RADL NAL 유닛 유형을 갖는 IRAP가 결정된다.
제2 양태에 따른 방법의 제10 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(IDR; instantaneous decoder refresh) 픽처라고 지칭된다.
제2 양태에 따른 방법의 제11 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, RADL NAL 유닛 유형을 갖는 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭된다.
제2 양태에 따른 방법의 제12 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, RADL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RADL로 지정된다.
제2 양태에 따른 방법의 제13 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, IRAP_W_RADL은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 2에 대응한다.
제2 양태에 따른 방법의 제14 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP가 결정된다.
제2 양태에 따른 방법의 제15 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR) 픽처라고 지칭된다.
제2 양태에 따른 방법의 제16 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭된다.
제2 양태에 따른 방법의 제17 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 IRAP_N_LP로 지정된다.
제2 양태에 따른 방법의 제18 구현 형태 또는 제2 양태의 임의의 선행하는 구현 형태에서, IRAP_N_LP 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 1에 대응한다.
제3 양태는 인코딩 디바이스에 관한 것이다. 인코딩 디바이스는, 명령어들 및 비디오 데이터에 대해 이용가능한 5개 미만의 NAL(network abstraction layer) 유닛 유형의 세트를 포함하는 메모리; 메모리에 결합된 프로세서, ―프로세서는 인코딩 디바이스로 하여금 : 비디오 데이터로부터의 픽처에 대해 5개 미만의 NAL 유닛 유형의 세트로부터 NAL 유닛 유형을 선택하고; 선택된 NAL 유닛 유형에 대응하는 NAL 유닛을 포함하고 선택된 NAL 유닛 유형을 식별하는 식별자를 포함하는 비디오 비트스트림을 생성하게 하는 명령어들을 구현하도록 구성됨―; 및 프로세서에 결합되고, 비디오 비트스트림을 비디오 디코더를 향해 전송하도록 구성된 전송기를 포함한다.
인코딩 디바이스는, 비디오 데이터에 대해 이용가능한 NAL 유닛 유형의 세트를 5개 이하의 특정한 NAL 유닛 유형으로 제한하는 (예를 들어, NAL 유닛 유형의 수를 4개로 제한하는) 기술들을 제공한다. 이것은 선두 및 후미 픽처들(일명, 비-IRAP 픽처들)이 동일한 NAL 유닛 유형을 공유하는 것을 허용한다. 이것은 또한, NAL 유닛 유형들이 I-RAP 픽처가 RADL 픽처 및/또는 RASL 픽처와 연관되어 있는지 여부를 표시하는 것을 허용한다. 추가로, 특정한 NAL 유닛 유형들은 DASH에서 상이한 SAP 유형들에 맵핑될 수 있다. NAL 유닛 유형의 세트를 제약함으로써, 비디오 코딩에서의 코더/디코더(일명 "코덱")는 현재의 코덱들에 비해 개선된다(예를 들어, 더 적은 비트 이용하고, 더 적은 대역폭을 요구하며, 더 효율적이다 등). 실질적으로, 개선된 비디오 코딩 프로세스는, 비디오를 전송, 수신 및/또는 시청할 때 사용자에게 더 양호한 사용자 경험을 제공한다.
제3 양태에 따른 인코딩 디바이스의 제1 구현 형태에서, 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함한다.
제3 양태에 따른 인코딩 디바이스의 제2 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP로 구성된다.
제3 양태에 따른 인코딩 디바이스의 제3 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, 선두 및 후미 픽처들 양쪽 모두에는 선두 및 후미 픽처들 NAL 유닛 유형이 할당된다.
제3 양태에 따른 인코딩 디바이스의 제4 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처들이 뒤따르는 IRAP 픽처에 대해서 RASL NAL 유닛 유형을 갖는 IRAP가 선택된다.
제3 양태에 따른 인코딩 디바이스의 제5 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 클린 랜덤 액세스(CRA; clean random access) 픽처라고 지칭된다.
제3 양태에 따른 인코딩 디바이스의 제6 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, RASL NAL 유닛 유형을 갖는 IRAP는 클린 랜덤 액세스(CRA) NAL 유닛 유형이라고 지칭된다.
제3 양태에 따른 인코딩 디바이스의 제7 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, RASL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RASL로 지정된다.
제3 양태에 따른 인코딩 디바이스의 제8 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, IRAP_W_RASL 지정은, 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 3에 대응한다.
제3 양태에 따른 인코딩 디바이스의 제9 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개 이상의 RADL 픽처들이 뒤따르는 IRAP 픽처에 대해서 RADL NAL 유닛 유형을 갖는 IRAP가 선택된다.
제3 양태에 따른 인코딩 디바이스의 제10 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(IDR; instantaneous decoder refresh) 픽처라고 지칭된다.
제3 양태에 따른 인코딩 디바이스의 제11 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, RADL NAL 유닛 유형을 갖는 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭된다.
제3 양태에 따른 인코딩 디바이스의 제12 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, RADL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RADL로 지정된다.
제3 양태에 따른 인코딩 디바이스의 제13 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, IRAP_W_RADL은, 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 2에 대응한다.
제3 양태에 따른 인코딩 디바이스의 제14 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP가 선택된다.
제3 양태에 따른 인코딩 디바이스의 제15 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR; instantaneous decoder refresh) 픽처라고 지칭된다.
제3 양태에 따른 인코딩 디바이스의 제16 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭된다.
제3 양태에 따른 인코딩 디바이스의 제17 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 IRAP_N_LP로 지정된다.
제3 양태에 따른 인코딩 디바이스의 제18 구현 형태 또는 제3 양태의 임의의 선행하는 구현 형태에서, IRAP_N_LP 지정은, 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 1에 대응한다.
제4 양태는 디코딩 디바이스에 관한 것이다. 디코딩 디바이스는, NAL 유닛 및 식별자를 포함하는 코딩된 비디오 비트스트림을 수신하도록 구성된 수신기; 수신기에 결합된 메모리, ―메모리는 비디오 데이터에 대해 이용가능한 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트 및 명령어들을 저장함―; 및 메모리에 결합된 프로세서를 포함하고, 프로세서는, 디코딩 디바이스로 하여금 : 식별자에 기초하여 NAL 유닛을 인코딩하는데 이용된 NAL 유닛 유형을 5개 미만의 NAL 유닛 유형의 세트로부터 결정하고; 결정된 NAL 유닛 유형에 기초하여 NAL 유닛에 포함된 픽처들에 대한 프리젠테이션 순서를 할당하게 하는 명령어들을 실행하도록 구성된다.
디코딩 디바이스는, 비디오 데이터에 대해 이용가능한 NAL 유닛 유형의 세트를 5개 이하의 특정한 NAL 유닛 유형으로 제한하는 (예를 들어, NAL 유닛 유형의 수를 4개로 제한하는) 기술들을 제공한다. 이것은 선두 및 후미 픽처들(일명, 비-IRAP 픽처들)이 동일한 NAL 유닛 유형을 공유하는 것을 허용한다. 이것은 또한, NAL 유닛 유형들이 I-RAP 픽처가 RADL 픽처 및/또는 RASL 픽처와 연관되어 있는지 여부를 표시하는 것을 허용한다. 추가로, 특정한 NAL 유닛 유형들은 DASH에서 상이한 SAP 유형들에 맵핑될 수 있다. NAL 유닛 유형의 세트를 제약함으로써, 비디오 코딩에서의 코더/디코더(일명 "코덱")는 현재의 코덱들에 비해 개선된다(예를 들어, 더 적은 비트 이용하고, 더 적은 대역폭을 요구하며, 더 효율적이다 등). 실질적으로, 개선된 비디오 코딩 프로세스는, 비디오를 전송, 수신 및/또는 시청할 때 사용자에게 더 양호한 사용자 경험을 제공한다.
제4 양태에 따른 디코딩 디바이스의 제1 구현 형태에서, 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함한다.
제4 양태에 따른 디코딩 디바이스의 제2 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP로 구성된다.
제4 양태에 따른 디코딩 디바이스의 제3 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, 선두 및 후미 픽처들 양쪽 모두에는 선두 및 후미 픽처들 NAL 유닛 유형이 할당된다.
제4 양태에 따른 디코딩 디바이스의 제4 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처들이 뒤따르는 IRAP 픽처에 대해서 RASL NAL 유닛 유형을 갖는 IRAP가 선택된다.
제4 양태에 따른 디코딩 디바이스의 제5 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 클린 랜덤 액세스(CRA; clean random access) 픽처라고 지칭된다.
제4 양태에 따른 디코딩 디바이스의 제6 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, RASL NAL 유닛 유형을 갖는 IRAP는 클린 랜덤 액세스(CRA) NAL 유닛 유형이라고 지칭된다.
제4 양태에 따른 디코딩 디바이스의 제7 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, RASL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RASL로 지정된다.
제4 양태에 따른 디코딩 디바이스의 제8 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, IRAP_W_RASL 지정은, 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 3에 대응한다.
제4 양태에 따른 디코딩 디바이스의 제9 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개의 RADL 픽처들이 뒤따르는 IRAP 픽처에 대해서 RADL NAL 유닛 유형을 갖는 IRAP가 선택된다.
제4 양태에 따른 디코딩 디바이스의 제10 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(IDR; instantaneous decoder refresh) 픽처라고 지칭된다.
제4 양태에 따른 디코딩 디바이스의 제11 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, RADL NAL 유닛 유형을 갖는 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭된다.
제4 양태에 따른 디코딩 디바이스의 제12 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, RADL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RADL로 지정된다.
제4 양태에 따른 디코딩 디바이스의 제13 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, IRAP_W_RADL은, 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 2에 대응한다.
제4 양태에 따른 디코딩 디바이스의 제14 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP가 선택된다.
제4 양태에 따른 디코딩 디바이스의 제15 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR; instantaneous decoder refresh) 픽처라고 지칭된다.
제4 양태에 따른 디코딩 디바이스의 제16 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭된다.
제4 양태에 따른 디코딩 디바이스의 제17 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 IRAP_N_LP로 지정된다.
제4 양태에 따른 디코딩 디바이스의 제18 구현 형태 또는 제4 양태의 임의의 선행하는 구현 형태에서, IIRAP_N_LP 지정은, 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 1에 대응한다.
제5 양태는 비디오 인코더에 의해 구현된 비디오 비트스트림을 인코딩하는 방법에 관한 것이다. 이 방법은, 비디오 인코더의 프로세서에 의해, 인트라 랜덤 액세스 포인트(IRAP) 픽처와 연관된 비-IRAP 픽처에 대해 NAL 유닛을 포함하는 비트스트림을 생성하는 단계; 비-인트라 랜덤 액세스 포인트(비-IRAP) 픽처에 대한 NAL 유닛이 랜덤 액세스 디코딩가능 선두(random access decodable leading; RADL) 픽처를 포함할 때, 비디오 인코더의 프로세서에 의해, 비트스트림 내의 제1 플래그를 제1 값으로 설정하는 단계; 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 스킵형 선두(RASL) 픽처를 포함할 때, 비디오 인코더의 프로세서에 의해, 비트스트림 내의 제2 플래그를 제1 값으로 설정하는 단계; 및 비디오 인코더의 전송기에 의해, 비디오 비트스트림을 비디오 디코더를 향해 전송하는 단계를 포함한다.
이 인코딩하는 방법은 비-IRAP 픽처들이 NAL 유닛 유형에 의해 식별되지 않는 경우에 대한 기술들을 제공한다. 이러한 경우, 비트스트림 내의 플래그들은 IRAP 픽처가 RADL 픽처 또는 RASL 픽처와 연관되어 있는지의 여부를 나타내는 특정한 값으로 설정된다.
제5 양태에 따른 방법의 제1 구현 형태에서, 제1 플래그는 RadlPictureFlag로 지정되고 제2 플래그는 RaslPictureFlag로 지정된다.
제5 양태에 따른 방법의 제2 구현 형태 또는 제5 양태의 임의의 선행하는 구현 형태에서, 제1 값은 일(1)이다.
제5 양태에 따른 방법의 제3 구현 형태 또는 제5 양태의 임의의 선행하는 구현 형태에서, 비-IRAP 픽처는 선두 픽처를 포함한다.
제5 양태에 따른 방법의 제4 구현 형태 또는 제5 양태의 임의의 선행하는 구현 형태에서, 비-IRAP 픽처는 후미 픽처를 포함한다.
제5 양태에 따른 방법의 제5 구현 형태 또는 제5 양태의 임의의 선행하는 구현 형태에서, 제1 플래그는, 비-IRAP 픽처의 POC(picture order count) 값이 IRAP 픽처의 POC 값보다 작을 때 제1 값과 동일하게 설정된다.
제5 양태에 따른 방법의 제6 구현 형태 또는 제5 양태의 임의의 선행하는 구현 형태에서, 제1 플래그는, 비-IRAP 픽처에 대한 각각의 참조 픽처 목록이 비-IRAP 픽처와 연관된 IRAP 픽처 또는 IRAP 픽처와 연관된 또 다른 RADL 픽처 이외의 어떠한 픽처도 포함하지 않을 때 제1 값과 동일하게 설정된다.
제5 양태에 따른 방법의 제7 구현 형태 또는 제5 양태의 임의의 선행하는 구현 형태에서, 제2 플래그는 비-IRAP 픽처의 POC 값이 IRAP 픽처의 POC(picture order count) 값보다 작을 때 제1 값과 동일하게 설정된다.
제5 양태에 따른 방법의 제8 구현 형태 또는 제5 양태의 임의의 선행하는 구현 형태에서, 제2 플래그는, 비-IRAP 픽처에 대한 참조 픽처 목록이 디코딩 순서에서 비-IRAP 픽처와 연관된 IRAP 픽처 또는 IRAP 픽처와 연관된 또 다른 RASL 픽처에 선행하는 적어도 하나의 참조 픽처를 포함할 때 제1 값과 동일하게 설정된다.
제5 양태에 따른 방법의 제9 구현 형태 또는 제5 양태의 임의의 선행하는 구현 형태에서, 제1 플래그 및 제2 플래그를, 비-IRAP 픽처에 대한 NAL 유닛이 RADL 픽처 또는 RASL 픽처를 포함하지 않는다는 것을 나타내는 제2 값으로 설정하는 단계를 더 포함한다.
제5 양태에 따른 방법의 제10 구현 형태 또는 제5 양태의 임의의 선행하는 구현 형태에서, 제1 플래그 및 제2 플래그는 양쪽 모두 비-IRAP 픽처에 대해 제1 값으로 설정되진 않는다.
제6 양태는 비디오 디코더에 의해 구현된 비디오 비트스트림을 디코딩하는 방법에 관한 것이다. 이 방법은, 비디오 디코더의 수신기에 의해, 인트라 랜덤 액세스 포인트(IRAP) 픽처와 연관된 비인트라 랜덤 액세스 포인트(non-IRAP) 픽처에 대한 제1 플래그, 제2 플래그 및 NAL 유닛을 포함하는 코딩된 비디오 비트스트림을 수신하는 단계; 비디오 디코더의 프로세서에 의해, 비트스트림 내의 제1 플래그가 제1 값으로 설정되었을 때 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 디코딩가능 선두(random access decodable leading; RADL) 픽처를 포함한다고 결정하는 단계; 비디오 디코더의 프로세서에 의해, 비트스트림 내의 제2 플래그가 제1 값으로 설정되었을 때 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 스킵형 선두(RASL) 픽처를 포함한다고 결정하는 단계; 및 비디오 디코더의 프로세서에 의해, 제1 값을 갖는 제1 플래그 또는 제2 플래그에 기초하여 NAL 유닛에 포함된 픽처들에 대한 프리젠테이션 순서를 할당하고 할당된 프리젠테이션 순서에 기초하여 NAL 유닛을 디코딩하는 단계를 포함한다.
이 디코딩하는 방법은 비-IRAP 픽처들이 NAL 유닛 유형에 의해 식별되지 않는 경우에 대한 기술들을 제공한다. 이러한 경우, 비트스트림 내의 플래그들은 IRAP 픽처가 RADL 픽처 또는 RASL 픽처와 연관되어 있는지의 여부를 나타내는 특정한 값으로 설정된다.
제6 양태에 따른 방법의 제1 구현 형태에서, 제1 플래그는 RadlPictureFlag로 지정되고 제2 플래그는 RaslPictureFlag로 지정된다.
제6 양태에 따른 방법의 제2 구현 형태 또는 제6 양태의 임의의 선행하는 구현 형태에서, 제1 값은 일(1)이다.
제6 양태에 따른 방법의 제3 구현 형태 또는 제6 양태의 임의의 선행하는 구현 형태에서, 비-IRAP 픽처는 선두 픽처를 포함한다.
제6 양태에 따른 방법의 제4 구현 형태 또는 제6 양태의 임의의 선행하는 구현 형태에서, 비-IRAP 픽처는 후미 픽처를 포함한다.
제6 양태에 따른 방법의 제5 구현 형태 또는 제6 양태의 임의의 선행하는 구현 형태에서, 제1 플래그는, 비-IRAP 픽처의 POC(picture order count) 값이 IRAP 픽처의 POC 값보다 작을 때 제1 값과 동일하게 설정된다.
제6 양태에 따른 방법의 제6 구현 형태 또는 제6 양태의 임의의 선행하는 구현 형태에서, 제1 플래그는, 비-IRAP 픽처에 대한 각각의 참조 픽처 목록이 비-IRAP 픽처와 연관된 IRAP 픽처 또는 IRAP 픽처와 연관된 또 다른 RADL 픽처 이외의 어떠한 픽처도 포함하지 않을 때 제1 값과 동일하게 설정된다.
제6 양태에 따른 방법의 제7 구현 형태 또는 제6 양태의 임의의 선행하는 구현 형태에서, 제2 플래그는 비-IRAP 픽처의 POC(picture order count) 값이 IRAP 픽처의 POC 값보다 작을 때 제1 값과 동일하게 설정된다.
제6 양태에 따른 방법의 제8 구현 형태 또는 제6 양태의 임의의 선행하는 구현 형태에서, 제2 플래그는, 비-IRAP 픽처에 대한 참조 픽처 목록이 디코딩 순서에서 비-IRAP 픽처와 연관된 IRAP 픽처 또는 IRAP 픽처와 연관된 또 다른 RASL 픽처에 선행하는 적어도 하나의 참조 픽처를 포함할 때 제1 값과 동일하게 설정된다.
제6 양태에 따른 방법의 제9 구현 형태 또는 제6 양태의 임의의 선행하는 구현 형태에서, 제1 플래그 및 제2 플래그를, 비-IRAP 픽처에 대한 NAL 유닛이 RADL 픽처 또는 RASL 픽처를 포함하지 않는다는 것을 나타내는 제2 값으로 설정하는 단계를 더 포함한다.
제6 양태에 따른 방법의 제10 구현 형태 또는 제6 양태의 임의의 선행하는 구현 형태에서, 제1 플래그 및 제2 플래그는 양쪽 모두 비-IRAP 픽처에 대해 제1 값으로 설정되진 않는다.
제7 양태는 코딩 장치에 관한 것이다. 코딩 장치는, 디코딩할 비트스트림을 수신하도록 구성된 수신기; 수신기에 결합되고, 디코딩된 이미지를 디스플레이에 전송하도록 구성된 전송기; 수신기 또는 전송기 중 적어도 하나에 결합되고, 명령어들을 저장하도록 구성된 메모리; 및 메모리에 결합된 프로세서를 포함하고, 프로세서는 여기서 개시된 임의의 실시예의 방법을 수행하기 위해 메모리에 저장된 명령어들을 실행하도록 구성된다.
코딩 장치는, 비디오 데이터에 대해 이용가능한 NAL 유닛 유형의 세트를 5개 이하의 특정한 NAL 유닛 유형으로 제한하는 (예를 들어, NAL 유닛 유형의 수를 4개로 제한하는) 기술들을 제공한다. 이것은 선두 및 후미 픽처들(일명, 비-IRAP 픽처들)이 동일한 NAL 유닛 유형을 공유하는 것을 허용한다. 이것은 또한, NAL 유닛 유형들이 I-RAP 픽처가 RADL 픽처 및/또는 RASL 픽처와 연관되어 있는지 여부를 표시하는 것을 허용한다. 추가로, 특정한 NAL 유닛 유형들은 DASH에서 상이한 SAP 유형들에 맵핑될 수 있다. NAL 유닛 유형의 세트를 제약함으로써, 비디오 코딩에서의 코더/디코더(일명 "코덱")는 현재의 코덱들에 비해 개선된다(예를 들어, 더 적은 비트 이용하고, 더 적은 대역폭을 요구하며, 더 효율적이다 등). 실질적으로, 개선된 비디오 코딩 프로세스는, 비디오를 전송, 수신 및/또는 시청할 때 사용자에게 더 양호한 사용자 경험을 제공한다.
코딩 장치는 또한, 비-IRAP 픽처들이 NAL 유닛 유형에 의해 식별되지 않는 경우에 대한 기술들을 제공한다. 이러한 경우, 비트스트림 내의 플래그들은 IRAP 픽처가 RADL 픽처 또는 RASL 픽처와 연관되어 있는지의 여부를 나타내는 특정한 값으로 설정된다.
제8 양태는 시스템에 관한 것이다. 이 시스템은, 인코더; 및 상기 인코더와 통신하는 디코더를 포함하고, 인코더 또는 디코더는 여기서 개시된 디코딩 디바이스, 인코딩 디바이스, 또는 코딩 장치를 포함한다.
이 시스템은, 비디오 데이터에 대해 이용가능한 NAL 유닛 유형의 세트를 5개 이하의 특정한 NAL 유닛 유형으로 제한하는 (예를 들어, NAL 유닛 유형의 수를 4개로 제한하는) 기술들을 제공한다. 이것은 선두 및 후미 픽처들(일명, 비-IRAP 픽처들)이 동일한 NAL 유닛 유형을 공유하는 것을 허용한다. 이것은 또한, NAL 유닛 유형들이 I-RAP 픽처가 RADL 픽처 및/또는 RASL 픽처와 연관되어 있는지 여부를 표시하는 것을 허용한다. 추가로, 특정한 NAL 유닛 유형들은 DASH에서 상이한 SAP 유형들에 맵핑될 수 있다. NAL 유닛 유형의 세트를 제약함으로써, 비디오 코딩에서의 코더/디코더(일명 "코덱")는 현재의 코덱들에 비해 개선된다(예를 들어, 더 적은 비트 이용하고, 더 적은 대역폭을 요구하며, 더 효율적이다 등). 실질적으로, 개선된 비디오 코딩 프로세스는, 비디오를 전송, 수신 및/또는 시청할 때 사용자에게 더 양호한 사용자 경험을 제공한다.
이 시스템은 또한, 비-IRAP 픽처들이 NAL 유닛 유형에 의해 식별되지 않는 경우에 대한 기술들을 제공한다. 이러한 경우, 비트스트림 내의 플래그들은 IRAP 픽처가 RADL 픽처 또는 RASL 픽처와 연관되어 있는지의 여부를 나타내는 특정한 값으로 설정된다.
제9 양태는 코딩을 위한 수단에 관한 것이다. 코딩을 위한 수단은, 디코딩할 비트스트림을 수신하도록 구성된 수신 수단; 수신 수단에 결합되고, 디코딩된 이미지를 디스플레이 수단에 전송하도록 구성된 전송 수단; 수신 수단 또는 전송 수단 중 적어도 하나에 결합되고, 명령어들을 저장하도록 구성된 저장 수단; 및 저장 수단에 결합된 처리 수단을 포함하고, 처리 수단은 여기서 개시된 방법들을 수행하기 위해 저장 수단에 저장된 명령어들을 실행하도록 구성된다.
코딩을 위한 수단은, 비디오 데이터에 대해 이용가능한 NAL 유닛 유형의 세트를 5개 이하의 특정한 NAL 유닛 유형으로 제한하는 (예를 들어, NAL 유닛 유형의 수를 4개로 제한하는) 기술들을 제공한다. 이것은 선두 및 후미 픽처들(일명, 비-IRAP 픽처들)이 동일한 NAL 유닛 유형을 공유하는 것을 허용한다. 이것은 또한, NAL 유닛 유형들이 I-RAP 픽처가 RADL 픽처 및/또는 RASL 픽처와 연관되어 있는지 여부를 표시하는 것을 허용한다. 추가로, 특정한 NAL 유닛 유형들은 DASH에서 상이한 SAP 유형들에 맵핑될 수 있다. NAL 유닛 유형의 세트를 제약함으로써, 비디오 코딩에서의 코더/디코더(일명 "코덱")는 현재의 코덱들에 비해 개선된다(예를 들어, 더 적은 비트 이용하고, 더 적은 대역폭을 요구하며, 더 효율적이다 등). 실질적으로, 개선된 비디오 코딩 프로세스는, 비디오를 전송, 수신 및/또는 시청할 때 사용자에게 더 양호한 사용자 경험을 제공한다.
코딩을 위한 수단은 또한, 비-IRAP 픽처들이 NAL 유닛 유형에 의해 식별되지 않는 경우에 대한 기술들을 제공한다. 이러한 경우, 비트스트림 내의 플래그들은 IRAP 픽처가 RADL 픽처 또는 RASL 픽처와 연관되어 있는지의 여부를 나타내는 특정한 값으로 설정된다.
본 개시내용의 더 완전한 이해를 위해, 이제, 유사한 참조 번호가 유사한 부분을 나타내는 첨부된 도면에 관한 이하의 간략한 설명과 상세한 설명을 참조한다.
도 1은 양방향 예측 기술들을 이용할 수 있는 한 예시적인 코딩 시스템을 나타내는 블록도이다.
도 2는 양방향 예측 기술들을 구현할 수 있는 한 예시적인 비디오 인코더를 나타내는 블록도이다.
도 3은 양방향 예측 기술들을 구현할 수 있는 비디오 디코더의 한 예를 나타내는 블록도이다.
도 4는 비디오 비트스트림의 한 실시예의 개략도이다.
도 5는 디코딩 순서 및 프리젠테이션 순서에서 선두 픽처들 및 후미 픽처들에 관한 I-RAP 픽처 사이의 관계의 표현이다.
도 6은 비디오 비트스트림을 인코딩하는 방법의 한 실시예이다.
도 7은 코딩된 비디오 비트스트림을 디코딩하는 방법의 한 실시예이다.
도 8은 비디오 비트스트림을 인코딩하는 방법의 한 실시예이다.
도 9는 코딩된 비디오 비트스트림을 디코딩하는 방법의 한 실시예이다.
도 10은 비디오 코딩 디바이스의 개략도이다.
도 11은 코딩을 위한 수단의 한 실시예의 개략도이다.
다음은 여기서 이용되는 다양한 약어이다: 코딩 트리 블록(Coding Tree Block; CTB), 코딩 트리 유닛(Coding Tree Unit; CTU), 코딩 유닛(Coding Unit; CU), 코딩된 비디오 시퀀스(Coded Video Sequence; CVS), 공동 비디오 전문가 팀(Joint Video Experts Team; JVET), 움직임 제약된 타일 세트(Motion-Constrained Tile Set; MCTS), 최대 전송 단위(Maximum Transfer Unit; MTU) , 네트워크 추상화 계층(Network Abstraction Layer; NAL), 픽처 오더 카운터(Picture Order Count; POC), 픽처 파라미터 세트(Picture Parameter Set; PPS), 원시 바이트 시퀀스 페이로드(Raw Byte Sequence Payload; RBSP), 시퀀스 파라미터 세트(Sequence Parameter Set; SPS), 다용도 비디오 코딩(Versatile Video Coding; VVC) 및 규격 초안(Working Draft; WD).
도 1은 본 명세서에 설명된 비디오 코딩 기술들을 이용할 수 있는 예시적인 코딩 시스템(10)을 나타내는 블록도이다. 도 1에 도시된 바와 같이, 코딩 시스템(10)은 목적지 디바이스(14)에 의해 나중에 디코딩될 인코딩된 비디오 데이터를 제공하는 소스 디바이스(12)를 포함한다. 특히, 소스 디바이스(12)는 컴퓨터 판독가능한 매체(16)를 통해 목적지 디바이스(14)에 비디오 데이터를 제공할 수 있다. 소스 디바이스(12) 및 목적지 디바이스(14)는, 데스크탑 컴퓨터들, 노트북(예를 들어, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋탑 박스들, 소위 "스마트" 폰 등의 전화 핸드셋들, 소위 "스마트" 패드, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게임 콘솔들, 비디오 스트리밍 디바이스들 등을 포함하는, 임의의 광범위한 디바이스를 포함할 수 있다. 일부 경우에, 소스 디바이스(12) 및 목적지 디바이스(14)는 무선 통신을 위해 장착될 수 있다.
목적지 디바이스(14)는 컴퓨터 판독가능한 매체(16)를 통해 디코딩될 인코딩된 비디오 데이터를 수신할 수 있다. 컴퓨터 판독가능한 매체(16)는 인코딩된 비디오 데이터를 소스 디바이스(12)로부터 목적지 디바이스(14)로 이동시킬 수 있는 임의의 유형의 매체 또는 디바이스를 포함할 수 있다. 한 예에서, 컴퓨터 판독가능한 매체(16)는 소스 디바이스(12)가 인코딩된 비디오 데이터를 목적지 디바이스(14)에 실시간으로 직접 전송할 수 있게 하는 통신 매체를 포함할 수 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜 등의 통신 표준에 따라 변조되어 목적지 디바이스(14)에 전송될 수 있다. 통신 매체는, 무선 주파수(RF) 스펙트럼 또는 하나 이상의 물리적 전송 라인 등의, 임의의 무선 또는 유선 통신 매체를 포함할 수 있다. 통신 매체는, 로컬 영역 네트워크, 광역 네트워크 또는 인터넷 등의 글로벌 네트워크 등의, 패킷 기반의 네트워크의 일부를 형성할 수 있다. 통신 매체는, 라우터들, 스위치들, 기지국들, 또는 소스 디바이스(12)로부터 목적지 디바이스(14)로의 통신을 용이화하는데 유용할 수 있는 기타 임의의 장비를 포함할 수 있다.
일부 예에서, 인코딩된 데이터는 출력 인터페이스(22)로부터 저장 디바이스로 출력될 수 있다. 유사하게, 인코딩된 데이터는 입력 인터페이스에 의해 저장 디바이스로부터 액세스될 수 있다. 저장 디바이스는, 하드 드라이브, Blu-ray 디스크들, 디지털 비디오 디스크(DVD), CD-ROM들(Compact Disc Read-Only Memories), 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적절한 디지털 저장 매체 등의 다양한 분산형 또는 로컬 액세스형 데이터 저장 매체 중 임의의 것을 포함할 수 있다. 추가 예에서, 저장 디바이스는, 소스 디바이스(12)에 의해 생성된 인코딩된 비디오를 저장할 수 있는 파일 서버 또는 다른 중간 저장 디바이스에 대응할 수 있다. 목적지 디바이스(14)는 스트리밍 또는 다운로드를 통해 저장 디바이스로부터 저장된 비디오 데이터에 액세스할 수 있다. 파일 서버는, 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 디바이스(14)에 전송할 수 있는 임의의 유형의 서버일 수 있다. 예시적인 파일 서버는, 웹 서버(예를 들어, 웹 사이트용), 파일 전송 프로토콜(file transfer protocol; FTP) 서버, NAS(Network Attached Storage) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 디바이스(14)는, 인터넷 접속을 포함한, 임의의 표준 데이터 접속을 통해 인코딩된 비디오 데이터에 액세스할 수 있다. 이것은, 무선 채널(예를 들어, Wi-Fi 접속), 유선 접속(예를 들어, 디지털 가입자 회선(DSL), 케이블 모뎀 등), 또는 파일 서버에 저장된 인코딩된 비디오 데이터에 액세스하는데 적합한 이들의 조합을 포함될 수 있다. 저장 디바이스로부터의 인코딩된 비디오 데이터의 전송은, 스트리밍 전송, 다운로드 전송, 또는 이들의 조합일 수 있다.
본 개시내용의 기술들은 반드시 무선 응용 또는 환경으로 제한되는 것은 아니다. 본 기술들은, 공중파 텔레비전 방송들, 케이블 텔레비전 전송들, 위성 텔레비전 전송들, http를 통한 동적 적응적 스트리밍(dynamic adaptive streaming over http; DASH) 등의 인터넷 스트리밍 비디오 전송들, 데이터 저장 매체에 인코딩된 디지털 비디오, 데이터 저장 매체에 저장된 디지털 비디오의 디코딩 또는 기타의 응용 등의 임의의 다양한 멀티미디어 애플리케이션을 지원하는 비디오 코딩에 적용될 수 있다. 일부 예에서, 코딩 시스템(10)은, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 및/또는 비디오 전화 등의 응용들을 지원하기 위해 단방향 또는 양방향 비디오 전송을 지원하도록 구성될 수 있다.
도 1의 예에서, 소스 디바이스(12)는, 비디오 소스(18), 비디오 인코더(20), 및 출력 인터페이스(22)를 포함한다. 목적지 디바이스(14)는, 입력 인터페이스(28), 비디오 디코더(30), 및 디스플레이 디바이스(32)를 포함한다. 본 개시내용에 따르면, 소스 디바이스(12)의 비디오 인코더(20) 및/또는 목적지 디바이스(14)의 비디오 디코더(30)는 비디오 코딩을 위한 기술들을 적용하도록 구성될 수 있다. 다른 예들에서, 소스 디바이스 및 목적지 디바이스는 기타의 컴포넌트들 또는 구성들을 포함할 수 있다. 예를 들어, 소스 디바이스(12)는, 외부 카메라 등의 외부 비디오 소스로부터 비디오 데이터를 수신할 수 있다. 마찬가지로, 목적지 디바이스(14)는, 통합된 디스플레이 디바이스를 포함하는 것이 아니라, 외부 디스플레이 디바이스와 인터페이스할 수 있다.
도 1의 예시된 코딩 시스템(10)은 단지 하나의 예일 뿐이다. 비디오 코딩을 위한 기술들은, 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수 있다. 본 개시내용의 기술들은 일반적으로 비디오 코딩 디바이스에 의해 수행되지만, 이 기술들은 전형적으로 "CODEC"이라고 지칭되는 비디오 인코더/디코더에 의해 수행될 수도 있다. 더욱이, 본 개시내용의 기술들은 또한 비디오 전처리기에 의해 수행될 수 있다. 비디오 인코더 및/또는 디코더는 그래픽 처리 유닛(GPU) 또는 유사한 디바이스일 수 있다.
소스 디바이스(12) 및 목적지 디바이스(14)는, 소스 디바이스(12)가 목적지 디바이스(14)로의 전송을 위한 코딩된 비디오 데이터를 생성하는 이러한 코딩 디바이스들의 예일 뿐이다. 일부 예에서, 소스 디바이스(12) 및 목적지 디바이스(14)는, 소스 및 목적지 디바이스들(12, 14) 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수 있다. 따라서, 코딩 시스템(10)은, 예를 들어, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 또는 비디오 전화를 위해, 비디오 디바이스들(12, 14) 사이의 단방향 또는 양방향 비디오 전송을 지원할 수 있다.
소스 디바이스(12)의 비디오 소스(18)는, 비디오 카메라 등의 비디오 캡처 디바이스, 이전에 캡처된 비디오를 포함하는 비디오 아카이브, 및/또는 비디오 콘텐츠 제공자로부터 비디오를 수신하는 비디오 피드 인터페이스를 포함할 수 있다. 추가의 대안으로서, 비디오 소스(18)는, 소스 비디오로서의 컴퓨터 그래픽 기반의 데이터, 또는 라이브 비디오, 아카이브된 비디오 및 컴퓨터 생성된 비디오의 조합을 생성할 수 있다.
일부 경우에, 비디오 소스(18)가 비디오 카메라일 때, 소스 디바이스(12) 및 목적지 디바이스(14)는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수 있다. 앞서 언급된 바와 같이, 그러나, 본 개시내용에서 설명된 기술들은 일반적으로 비디오 코딩에 적용될 수 있고, 무선 및/또는 유선 응용들에 적용될 수 있다. 각각의 경우에, 캡처되거나, 미리 캡처되거나, 또는 컴퓨터 생성된 비디오는, 비디오 인코더(20)에 의해 인코딩될 수 있다. 그 다음, 인코딩된 비디오 정보는 출력 인터페이스(22)에 의해 컴퓨터 판독가능한 매체(16)로 출력될 수 있다.
컴퓨터 판독가능한 매체(16)는, 무선 브로드캐스트 또는 유선 네트워크 전송 등의 일시적인 매체, 또는 하드 디스크, 플래시 드라이브, 컴팩트 디스크, 디지털 비디오 디스크, Blu-ray 디스크 등의 저장 매체(즉, 비일시적인 저장 매체), 또는 기타의 컴퓨터 판독가능한 매체를 포함할 수 있다. 일부 예에서, 네트워크 서버(미도시)는 소스 디바이스(12)로부터 인코딩된 비디오 데이터를 수신하고 인코딩된 비디오 데이터를 예를 들어 네트워크 전송을 통해 목적지 디바이스(14)에 제공할 수 있다. 유사하게, 디스크 스탬핑 설비 등의 매체 생산 설비의 컴퓨팅 디바이스는 소스 디바이스(12)로부터 인코딩된 비디오 데이터를 수신하고 인코딩된 비디오 데이터를 포함하는 디스크를 생성할 수 있다. 따라서, 컴퓨터 판독가능한 매체(16)는 다양한 예에서 다양한 형태의 하나 이상의 컴퓨터 판독가능한 매체를 포함하는 것으로 이해될 수 있다.
목적지 디바이스(14)의 입력 인터페이스(28)는 컴퓨터 판독가능한 매체(16)로부터 정보를 수신한다. 컴퓨터 판독가능한 매체(16)의 정보는, 비디오 인코더(20)에 의해 정의되고, 비디오 디코더(30)에 의해 역시 이용되며, 된 신택스 정보를 포함할 수 있으며, 블록들 및 기타의 코딩된 유닛들, 예를 들어, 픽처 그룹(group of picture; GOP)의 특성 및/또는 처리를 기술하는 신택스 요소를 포함하는, 신택스 정보를 포함할 수 있다. 디스플레이 디바이스(32)는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관(CRT), 액정 디스플레이(LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 다른 유형의 디스플레이 디바이스 등의, 임의의 다양한 디스플레이 디바이스를 포함할 수 있다.
비디오 인코더(20) 및 비디오 디코더(30)는, 현재 개발중인 HEVC(High Efficiency Video Coding) 표준 등의 비디오 코딩 표준에 따라 동작할 수 있고, HEVC 테스트 모델(HEVC Test Model; HM)을 따를 수 있다. 대안으로서, 비디오 인코더(20) 및 비디오 디코더(30)는, 대안으로서 MPEG(Moving Picture Expert Group)-4 Part 10, AVC(Advanced Video Coding)라고도 지칭되는 ITU-T(International Telecommunications Union Telecommunication Standardization Sector) H.264 표준, H.265/HEVC, 또는 이러한 표준들의 확장 등의, 다른 전용 또는 산업 표준에 따라 작동할 수 있다. 그러나, 본 개시내용의 기술들은 임의의 특정한 코딩 표준으로 제한되는 것은 아니다. 비디오 코딩 표준들의 다른 예들은 MPEG-2 및 ITU-T H.263을 포함한다. 도 1에 도시되지는 않았지만, 일부 양태에서, 비디오 인코더(20) 및 비디오 디코더(30) 각각은 오디오 인코더 및 디코더와 통합될 수 있고, 공통의 데이터 스트림 또는 별개의 데이터 스트림들에서 오디오 및 비디오 양쪽 모두의 인코딩을 처리하기 위해 적절한 멀티플렉서-디멀티플렉서(MUX-DEMUX) 유닛들, 또는 기타의 하드웨어 및 소프트웨어를 포함할 수 있다. 적용가능하다면, MUX-DEMUX 유닛들은, ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜(UDP) 등의 기타의 프로토콜을 따를 수 있다.
비디오 인코더(20) 및 비디오 디코더(30) 각각은, 하나 이상의 마이크로프로세서, 디지털 신호 프로세서(DSP)들, 주문형 집적 회로(ASIC)들, 필드 프로그래머블 게이트 어레이(FPGA)들, 개별 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들 등의, 다양한 적절한 인코더 회로 중 임의의 것으로서 구현될 수 있다. 본 기술들이 부분적으로 소프트웨어로 구현될 때, 디바이스는 소프트웨어를 위한 명령어들을 적절한 비일시적인 컴퓨터 판독가능한 매체에 저장하고 본 개시내용의 기술들을 수행하기 위해 하나 이상의 프로세서를 이용하여 하드웨어로 명령어들을 실행할 수 있다. 비디오 인코더(20) 및 비디오 디코더(30) 각각은 하나 이상의 인코더 또는 디코더에 포함될 수 있고, 이들 중 어느 하나는 각각의 디바이스에서 결합된 인코더/디코더(CODEC)의 일부로서 통합될 수 있다. 비디오 인코더(20) 및/또는 비디오 디코더(30)를 포함하는 디바이스는, 집적 회로, 마이크로프로세서, 및/또는 셀룰러 전화 등의 무선 통신 디바이스를 포함할 수 있다.
도 2는 비디오 코딩 기술들을 구현할 수 있는 비디오 인코더(20)의 한 예를 나타내는 블록도이다. 비디오 인코더(20)는 비디오 슬라이스들 내의 비디오 블록들의 인트라 코딩 및 인터 코딩을 수행할 수 있다. 인트라 코딩은 공간 예측에 의존하여 비디오의 주어진 비디오 프레임 또는 픽처 내에서 공간 중복성을 감소시키거나 제거한다. 인터 코딩은 시간 예측에 의존하여 비디오의 비디오 시퀀스의 인접한 프레임들 또는 픽처들 내에서 시간 중복성을 감소시키거나 제거한다. 인트라 모드(I 모드)란, 수개의 공간 기반의 코딩 모드 중 임의의 것을 지칭할 수 있다. 단방향(일명, 일방 예측) 예측(P 모드) 또는 양방향 예측(일명, 쌍방 예측)(B 모드) 등의 인터 모드들은, 수개의 시간 기반의 코딩 모드들 중 임의의 것을 지칭할 수 있다.
도 2에 도시된 바와 같이, 비디오 인코더(20)는 인코딩될 비디오 프레임들 내에서 현재 비디오 블록을 수신한다. 도 2의 예에서, 비디오 인코더(20)는, 모드 선택 유닛(40), 참조 프레임 메모리(64), 합산기(50), 변환 처리 유닛(52), 양자화 유닛(54), 및 엔트로피 코딩 유닛(56)을 포함한다. 모드 선택 유닛(40)은 차례로, 움직임 보상 유닛(44), 움직임 추정 유닛(42), 인트라 예측(일명 인트라 예측) 유닛(46) 및 분할 유닛(48)을 포함한다. 비디오 블록 재구성을 위해, 비디오 인코더(20)는 또한, 역 양자화 유닛(58), 역 변환 유닛(60), 및 합산기(62)를 포함한다. 디블록킹 필터(도 2에 도시되지 않음)가 또한 포함되어, 재구성된 비디오로부터 블록성 아티팩트들(blockiness artifacts)을 제거하기 위해 블록 경계들을 필터링할 수 있다. 원한다면, 디블록킹 필터는 전형적으로 합산기(62)의 출력을 필터링할 것이다. 디블록킹 필터에 추가하여 추가 필터들(루프 또는 사후 루프)이 이용될 수도 있다. 이러한 필터들은 간결성을 위해 도시되지 않지만, 원한다면, 합산기(50)의 출력을 필터링할 수 있다(인-루프 필터로서).
인코딩 프로세스 동안, 비디오 인코더(20)는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 복수의 비디오 블록으로 분할될 수 있다. 움직임 추정 유닛(42) 및 움직임 보상 유닛(44)은, 하나 이상의 참조 프레임 내의 하나 이상의 블록에 관해 수신된 비디오 블록의 인터 예측 코딩을 수행하여 시간적 예측을 제공한다. 인트라 예측 유닛(46)은, 대안으로서, 코딩될 블록과 동일한 프레임 또는 슬라이스 내의 하나 이상의 이웃 블록에 관해 수신된 비디오 블록의 인트라 예측 코딩을 수행하여 공간 예측을 제공할 수 있다. 비디오 인코더(20)는, 예를 들어 비디오 데이터의 각각의 블록에 대해 적절한 코딩 모드를 선택하기 위해 복수의 코딩 패스(coding pass)를 수행할 수 있다.
더욱이, 분할 유닛(48)은, 이전 코딩 패스들에서의 이전 분할 방식들의 평가에 기초하여, 비디오 데이터의 블록들을 서브블록들로 분할할 수 있다. 예를 들어, 분할 유닛(48)은 초기에 프레임 또는 슬라이스를 최대 코딩 유닛(LCU)들로 분할하고, 각각의 LCU를 레이트 왜곡 분석(예를 들어, 레이트 왜곡 최적화)에 기초하여 서브코딩 유닛들(서브-CU들)로 분할할 수 있다. 모드 선택 유닛(40)은 LCU를 서브-CU들로 분할하는 것을 나타내는 쿼드 트리 데이터 구조를 더 생성할 수 있다. 쿼드 트리의 리프 노드 CU들은 하나 이상의 예측 유닛(PU) 및 하나 이상의 변환 유닛(TU)을 포함할 수 있다.
본 개시내용은, HEVC의 맥락에서 CU, PU 또는 TU 중 임의의 것, 또는 다른 표준들의 맥락에서 유사한 데이터 구조들(예를 들어, H.264/AVC에서 매크로블록들 및 그 서브블록들)을 지칭하기 위해 용어 "블록"을 사용한다. CU는, 코딩 노드, PU들, 및 코딩 노드와 연관된 TU들을 포함한다. CU의 크기는 코딩 노드의 크기에 대응하고 정사각형 형상이다. CU의 크기는, 8x8 픽셀로부터 최대 64x64 픽셀 이상의 트리블록의 크기까지의 범위일 수 있다. 각각의 CU는 하나 이상의 PU 및 하나 이상의 TU를 포함할 수 있다. CU와 연관된 신택스 데이터는, 예를 들어, CU를 하나 이상의 PU로 분할하는 것을 기술할 수 있다. 분할 모드들은, CU가 스킵 또는 직접 모드 인코딩되는지, 인트라 예측 모드 인코딩되는지, 또는 인터 예측(일명 인터 예측) 모드 인코딩되는지에 따라 다를 수 있다. PU들은 정사각형이 아닌 형상으로 분할될 수 있다. CU와 연관된 신택스 데이터는 또한, 예를 들어 쿼드 트리에 따라 CU를 하나 이상의 TU로 분할하는 것을 기술할 수 있다. TU는 정사각형 또는 비정사각형(예를 들어, 직사각형) 형상일 수 있다.
모드 선택 유닛(40)은 예를 들어 에러 결과에 기초하여 인트라 또는 인터 코딩 모드 중 하나를 선택할 수 있고, 결과적인 인트라 또는 인터 코딩된 블록을 합산기(50)에 제공하여 잔차 블록 데이터를 생성하고 합산기(62)에 제공하여 참조 프레임으로 이용하기 위한 인코딩된 블록을 재구성할 수 있다. 모드 선택 유닛(40)은 또한, 움직임 벡터들, 인트라 모드 표시자들, 분할 정보, 및 기타의 이러한 신택스 정보 등의 신택스 요소들을 엔트로피 코딩 유닛(56)에 제공한다.
움직임 추정 유닛(42) 및 움직임 보상 유닛(44)은 고도로 통합될 수 있지만, 개념상의 목적을 위해 별개로 예시되어 있다. 움직임 추정 유닛(42)에 의해 수행되는 움직임 추정은 비디오 블록들에 대한 움직임을 추정하는 움직임 벡터들을 생성하는 프로세스이다. 움직임 벡터는, 예를 들어, 현재 프레임 내에서 코딩중인 현재 블록(또는 기타의 코딩된 유닛)에 관한 참조 프레임 내의 예측 블록(또는 기타의 코딩된 유닛)에 관한 현재의 비디오 프레임 또는 픽처 내의 비디오 블록의 PU의 변위를 나타낼 수 있다. 예측 블록이란, 절대 차이(SAD; sum of absolute difference)의 합, 제곱 차이의 합(SSD; sum of square difference), 또는 기타의 차이 메트릭에 의해 결정될 수 있는, 픽셀 차이의 면에서, 코딩될 블록과 근접하게 정합하는 것으로 발견된 블록이다. 일부 예에서, 비디오 인코더(20)는 참조 프레임 메모리(64)에 저장된 참조 픽처들의 정수이하 픽셀 위치들에 대한 값들을 계산할 수 있다. 예를 들어, 비디오 인코더(20)는, 참조 픽처의 1/4 픽셀 위치들, 1/8 픽셀 위치들, 또는 다른 부분 픽셀 위치들의 값들을 보간할 수 있다. 따라서, 움직임 추정 유닛(42)은 전체 픽셀 위치들 및 부분 픽셀 위치들에 관한 움직임 검색을 수행하고 부분 픽셀 정밀도로 움직임 벡터를 출력할 수 있다.
움직임 추정 유닛(42)는 PU의 위치를 참조 픽처의 예측 블록의 위치와 비교함으로써 인터 코딩된 슬라이스에서 비디오 블록의 PU에 대한 움직임 벡터를 계산한다. 참조 픽처는, 제1 참조 픽처 목록(List 0) 또는 제2 참조 픽처 목록(List 1)으로부터 선택될 수 있으며, 그 각각은 참조 프레임 메모리(64)에 저장된 하나 이상의 참조 픽처를 식별한다. 움직임 추정 유닛(42)은 계산된 움직임 벡터를 엔트로피 인코딩 유닛(56) 및 움직임 보상 유닛(44)에 전송한다.
움직임 보상 유닛(44)에 의해 수행되는 움직임 보상은, 움직임 추정 유닛(42)에 의해 결정된 움직임 벡터에 기초하여 예측 블록을 인출(fetch)하거나 생성하는 것을 포함할 수 있다. 다시 한번, 움직임 추정 유닛(42) 및 움직임 보상 유닛(44)은, 일부 예에서, 기능적으로 통합될 수 있다. 현재 비디오 블록의 PU에 대한 움직임 벡터의 수신시, 움직임 보상 유닛(44)은 참조 픽처 목록들 중 하나에서 움직임 벡터가 가리키는 예측 블록을 위치파악할 수 있다. 합산기(50)는, 아래에서 논의되는 바와 같이, 코딩중인 현재 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 감산하여 픽셀 차이 값들을 형성함으로써, 잔차 비디오 블록을 형성한다. 일반적으로, 움직임 추정 유닛(42)은 루마 성분들에 관한 움직임 추정을 수행하고, 움직임 보상 유닛(44)은 크로마 성분들 및 루마 성분들 양쪽 모두에 대해 루마 성분들에 기초하여 계산된 움직임 벡터들을 이용한다. 모드 선택 유닛(40)은 또한, 비디오 슬라이스의 비디오 블록들을 디코딩할 때 비디오 디코더(30)에 의해 이용하기 위한 비디오 블록들 및 비디오 슬라이스와 연관된 신택스 요소들을 생성할 수 있다.
인트라 예측 유닛(46)은, 전술된 바와 같이, 움직임 추정 유닛(42) 및 움직임 보상 유닛(44)에 의해 수행되는 인터 예측의 대안으로서 현재 블록을 인트라 예측할 수 있다. 특히, 인트라 예측 유닛(46)은 현재 블록을 인코딩하기 위해 이용할 인트라 예측 모드를 결정할 수 있다. 일부 예에서, 인트라 예측 유닛(46)은, 예를 들어, 별개의 인코딩 패스(encoding pass)들 동안에, 다양한 인트라 예측 모드를 이용하여 현재 블록을 인코딩할 수 있고, 인트라 예측 유닛(46)(또는 일부 예에서는 모드 선택 유닛(40))은 테스트된 모드들로부터 이용할 적절한 인트라 예측 모드를 선택할 수 있다.
예를 들어, 인트라 예측 유닛(46)은, 다양한 테스트된 인트라 예측 모드에 대해 레이트 왜곡 분석을 이용하여 레이트 왜곡 값들을 계산할 수 있고, 테스트된 모드들 중에서 최상의 레이트 왜곡 특성을 갖는 인트라 예측 모드를 선택할 수 있다. 레이트 왜곡 분석은, 일반적으로, 인코딩된 블록과, 그 인코딩된 블록을 생성하기 위해 인코딩되었던 원래의 인코딩되지 않은 블록 사이의 왜곡(또는 에러)의 양뿐만 아니라, 그 인코딩된 블록을 생성하는데 이용되는 비트레이트(즉, 비트수)를 결정한다. 인트라 예측 유닛(46)은, 어느 인트라 예측 모드가 블록에 대한 최상의 레이트 왜곡 값을 보여주는지를 결정하기 위해 다양한 인코딩된 블록에 대한 왜곡들 및 레이트들로부터 비율을 계산할 수 있다.
또한, 인트라 예측 유닛(46)은 깊이 모델링 모드(DMM)를 이용하여 깊이 맵의 깊이 블록들을 코딩하도록 구성될 수 있다. 모드 선택 유닛(40)은 가용 DMM 모드가 예를 들어 레이트 왜곡 최적화(RDO)를 이용하여 인트라 예측 모드 및 기타의 DMM 모드보다 더 양호한 코딩 결과들을 생성하는지를 결정할 수 있다. 깊이 맵에 대응하는 텍스처 이미지에 대한 데이터는 참조 프레임 메모리(64)에 저장될 수 있다. 움직임 추정 유닛(42) 및 움직임 보상 유닛(44)은 또한, 깊이 맵의 깊이 블록을 인터 예측하도록 구성될 수 있다.
블록에 대한 인트라 예측 모드(예를 들어, 종래의 인트라 예측 모드, 또는 DMM 모드들 중 하나)를 선택한 후, 인트라 예측 유닛(46)은 블록에 대한 선택된 인트라 예측 모드를 나타내는 정보를 엔트로피 코딩 유닛(56)에 제공할 수 있다. 엔트로피 코딩 유닛(56)은 선택된 인트라 예측 모드를 나타내는 정보를 인코딩할 수 있다. 비디오 인코더(20)는, 복수의 인트라 예측 모드 인덱스 테이블 및 복수의 수정된 인트라 예측 모드 인덱스 테이블(코드워드 맵핑 테이블이라고도 함), 다양한 블록에 대한 인코딩 컨텍스트들의 정의들, 및 가장 가능성이 큰 인트라 예측 모드에 대한 표시들을 포함할 수 있는 전송된 비트스트림 구성 데이터에서, 인트라 예측 모드 인덱스 테이블, 및 컨텍스트들 각각에 대해 이용할 수정된 인트라 예측 모드 인덱스 테이블을 포함할 수 있다.
비디오 인코더(20)는 코딩중인 원래의 비디오 블록으로부터 모드 선택 유닛(40)으로부터의 예측 데이터를 감산함으로써 잔차 비디오 블록을 형성한다. 합산기(50)는 이 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다.
변환 처리 유닛(52)은, 이산 코사인 변환(DCT; discrete cosine transform) 또는 개념적으로 유사한 변환 등의 변환을 잔차 블록에 적용하여, 잔차 변환 계수 값들을 포함하는 비디오 블록을 생성한다. 변환 처리 유닛(52)은 DCT와 개념적으로 유사한 다른 변환들을 수행할 수 있다. 웨이블렛 변환들, 정수 변환들, 서브대역 변환들 또는 기타 유형의 변환들도 역시 이용될 수 있다.
변환 처리 유닛(52)은 변환을 잔차 블록에 적용하여, 잔차 변환 계수들의 블록을 생성한다. 변환은 잔차 정보를 픽셀 값 도메인으로부터 주파수 도메인 등의 변환 도메인으로 변환할 수 있다. 변환 처리 유닛(52)은 결과적인 변환 계수들을 양자화 유닛(54)에 전송할 수 있다. 양자화 유닛(54)은 변환 계수들을 양자화하여 비트 레이트를 더욱 감소시킨다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 깊이를 감소시킬 수 있다. 양자화의 정도는 양자화 파라미터를 조절함으로써 수정될 수도 있다. 일부 예에서, 양자화 유닛(54)은 그 후 양자화된 변환 계수들을 포함하는 행렬의 스캔을 수행할 수 있다. 대안으로서, 엔트로피 인코딩 유닛(56)은 스캔을 수행할 수 있다.
양자화 후에, 엔트로피 코딩 유닛(56)은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들어, 엔트로피 코딩 유닛(56)은, 컨텍스트 적응적 가변 길이 코딩(context adaptive variable length coding; CAVLC), 컨텍스트 적응적 2진 산술 코딩(context adaptive binary arithmetic coding; CABAC), 신택스 기반의 컨텍스트 적응적 2진 산술 코딩(syntax-based context-adaptive binary arithmetic coding; SBAC), 확률 간격 분할 엔트로피(PIPE; probability interval partitioning entropy) 코딩 또는 다른 엔트로피 코딩 기술을 수행할 수 있다. 컨텍스트 기반의 엔트로피 코딩의 경우, 컨텍스트는 이웃 블록들에 기초할 수 있다. 엔트로피 코딩 유닛(56)에 의한 엔트로피 코딩에 이어, 인코딩된 비트스트림은 또 다른 디바이스(예를 들어, 비디오 디코더(30))에 전송되거나 나중에 전송 또는 회수를 위해 아카이브될 수 있다.
역 양자화 유닛(58) 및 역 변환 유닛(60)은 각각 역 양자화 및 역 변환을 적용하여, 예를 들어 나중에 참조 블록으로 이용하기 위해 잔차 블록을 픽셀 도메인에서 재구성한다. 움직임 보상 유닛(44)은, 참조 프레임 메모리(64)의 프레임들 중 하나의 예측 블록에 잔차 블록을 더함으로써 참조 블록을 계산할 수 있다. 움직임 보상 유닛(44)은 또한, 하나 이상의 보간 필터를 재구성된 잔차 블록에 적용하여 움직임 추정에 이용하기 위한 정수이하 픽셀 값들을 계산할 수 있다. 합산기(62)는, 재구성된 잔차 블록을 움직임 보상 유닛(44)에 의해 생성된 움직임 보상된 예측 블록에 더하여 참조 프레임 메모리(64)에 저장하기 위한 재구성된 비디오 블록을 생성한다. 재구성된 비디오 블록은, 후속 비디오 프레임 내의 블록을 인터 코딩하기 위해 움직임 추정 유닛(42) 및 움직임 보상 유닛(44)에 의해 참조 블록으로서 이용될 수 있다.
도 3은 비디오 코딩 기술들을 구현할 수 있는 비디오 디코더(30)의 한 예를 나타내는 블록도이다. 도 3의 예에서, 비디오 디코더(30)는, 엔트로피 디코딩 유닛(70), 움직임 보상 유닛(72), 인트라 예측 유닛(74), 역 양자화 유닛(76), 역 변환 유닛(78), 참조 프레임 메모리(82), 및 합산기(80)를 포함한다. 비디오 디코더(30)는, 일부 예에서, 비디오 인코더(20)(도 2)에 관하여 설명된 인코딩 패스와는 대체로 역 관계의 디코딩 패스를 수행할 수 있다. 움직임 보상 유닛(72)은 엔트로피 디코딩 유닛(70)으로부터 수신된 움직임 벡터들에 기초하여 예측 데이터를 생성할 수 있는 반면, 인트라 예측 유닛(74)은 엔트로피 디코딩 유닛(70)으로부터 수신된 인트라 예측 모드 표시자들에 기초하여 예측 데이터를 생성할 수 있다.
디코딩 프로세스 동안, 비디오 디코더(30)는 인코딩된 비디오 슬라이스의 비디오 블록들 및 연관된 신택스 요소들을 나타내는 인코딩된 비디오 비트스트림을 비디오 인코더(20)로부터 수신한다. 비디오 디코더(30)의 엔트로피 디코딩 유닛(70)은 비트스트림을 엔트로피 디코딩하여, 양자화된 계수들, 움직임 벡터들 또는 인트라 예측 모드 표시자들, 및 기타의 신택스 요소들을 생성한다. 엔트로피 디코딩 유닛(70)은 움직임 벡터들 및 기타의 신택스 요소들을 움직임 보상 유닛(72)에 포워딩한다. 비디오 디코더(30)는 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨에서 신택스 요소들을 수신할 수 있다.
비디오 슬라이스가 인트라 코딩된(I) 슬라이스로서 코딩될 때, 인트라 예측 유닛(74)은, 시그널링된 인트라 예측 모드 및 현재 프레임 또는 픽처의 이전에 디코딩된 블록들로부터의 데이터에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 생성할 수 있다. 비디오 프레임이 인터 코딩된(예를 들어, B, P 또는 GPB) 슬라이스로서 코딩될 때, 움직임 보상 유닛(72)은 움직임 벡터들 및 엔트로피 디코딩 유닛(70)으로부터 수신된 기타의 신택스 요소들에 기초하여 현재 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 참조 픽처 목록들 중 하나 내의 참조 픽처들 중 하나로부터 생성될 수 있다. 비디오 디코더(30)는, 참조 프레임 메모리(82)에 저장된 참조 픽처들에 기초해 디폴트 구성 기술들을 이용하여 참조 프레임 목록들, List 0 및 List 1을 구성할 수 있다.
움직임 보상 유닛(72)은 움직임 벡터들 및 기타의 신택스 요소들을 파싱함으로써 현재 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 예측 정보를 이용하여 디코딩중인 현재 비디오 블록에 대한 예측 블록들을 생성한다. 예를 들어, 움직임 보상 유닛(72)은 수신된 신택스 요소들 중 일부를 이용하여, 비디오 슬라이스의 비디오 블록들을 코딩하는데 이용된 예측 모드(예를 들어, 인트라 또는 인터 예측), 인터 예측 슬라이스 유형(예를 들어, B 슬라이스, P 슬라이스 또는 GPB 슬라이스), 슬라이스에 대한 참조 픽처 목록들 중 하나 이상에 대한 구성 정보, 슬라이스의 각각의 인터 인코딩된 비디오 블록에 대한 움직임 벡터들, 슬라이스의 각각의 인터 코딩된 비디오 블록에 대한 인터 예측 상태, 및 현재 비디오 슬라이스 내의 비디오 블록들을 디코딩하기 위한 기타의 정보를 결정한다.
움직임 보상 유닛(72)은 또한, 보간 필터들에 기초하여 보간을 수행할 수 있다. 움직임 보상 유닛(72)은, 참조 블록들의 정수이하 픽셀들에 대한 보간된 값들을 계산하기 위해 비디오 블록들의 인코딩 동안 비디오 인코더(20)에 의해 이용되는 보간 필터들을 이용할 수 있다. 이 경우, 움직임 보상 유닛(72)은 수신된 신택스 요소들로부터 비디오 인코더(20)에 의해 이용되는 보간 필터들을 결정하고 보간 필터들을 이용하여 예측 블록을 생성할 수 있다.
깊이 맵에 대응하는 텍스처 이미지에 대한 데이터는 참조 프레임 메모리(82)에 저장될 수 있다. 움직임 보상 유닛(72)은 또한, 깊이 맵의 깊이 블록들을 인터 예측하도록 구성될 수 있다.
이미지 및 비디오 압축은 빠른 겪어, 다양한 코딩 표준으로 이어졌다. 이러한 비디오 코딩 표준들은, ITU-T H.261, ISO/IEC MPEG-1 Part 2, ITU-T H.262 또는 ISO/IEC MPEG-2 Part 2, ITU-T H.263, ISO/IEC MPEG-4 Part 2, ITU-T H.264 또는 ISO/IEC MPEG-4 Part 10이라고도 알려진 AVC(Advanced Video Coding), 및 ITU-T H.265 또는 MPEG-H Part 2라고도 알려진 HEVC(High Efficiency Video Coding)를 포함한다. AVC는, SVC(Scalable Video Coding), MVC(Multiview Video Coding) 및 MVC+D(Multiview Video Coding plus Depth), 및 3D AVC(3D-AVC) 등의 확장을 포함한다. HEVC는 Scalable HEVC(SHVC), Multiview HEVC(MV-HEVC), 및 3D HEVC(3D-HEVC) 등의 확장을 포함한다.
또한 ITU-T 및 ISO/IEC의 공동 비디오 전문가 팀(JVET)에 의해 개발중인 VVC(Versatile Video Coding)라는 새로운 비디오 코딩 표준도 있다. VVC의 최신 작업 초안(WD)은 http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L1001-v11.zip에서 공개적으로 이용가능한 JVET-L1001-v5에 포함되어 있다.
인트라 랜덤 액세스 포인트(Intra Random Access Point; IRAP) 픽처들 및 선두 픽처들이 논의된다.
HEVC에서, 이하의 픽처들은 IRAP(Intra Random Access Point) 픽처들로서 간주된다 : IDR, BLA, 및 CRA 픽처들. VVC의 경우, 2018 년 10월 12차 JVET 회의 동안, IDR와 CRA 픽처 양쪽 모두를 IRAP 픽처들로서 갖는 것에 대해 동의했다.
IRAP 픽처는 다음과 같은 2개의 중요한 기능들/이점들을 제공한다. 첫째, IRAP 픽처의 존재는 디코딩 프로세스가 그 픽처로부터 시작할 수 있다는 것을 나타낸다. 이 기능은, 디코딩 프로세스가, 반드시 비트스트림의 시작부일 필요없이, IRAP 픽처가 소정의 위치에 존재하는 한, 비트스트림의 그 소정의 위치에서 시작하는 랜덤 액세스 피처를 허용한다. 둘째, IRAP 픽처의 존재는, RASL(Random Access Skipped Leading) 픽처들을 제외한, IRAP 픽처를 시작하는 코딩된 픽처가 이전 픽처들에 대한 임의의 참조 없이 코딩되도록 디코딩 프로세스를 리프레시한다. 결과적으로 비트스트림에 IRAP 픽처가 존재하는 것은, 그 IRAP 픽처 이전에 코딩된 픽처를 디코딩하는 동안 발생할 수 있는 임의의 오류도 IRAP 픽처 및 디코딩 순서에서 IRAP 픽처에 뒤따르는 픽처로 전파하는 것을 중지시킬 것이다.
IRAP 픽처들은 중요한 기능들을 제공하지만, 압축 효율에 대한 불이익을 동반한다. IRAP 픽처의 존재는 비트레이트에서의 급증을 야기할 것이다. 압축 효율에 대한 이러한 불이익은 2개의 이유 때문이다 : 첫째, IRAP 픽처가 인트라 예측된 픽처이기 때문에, 픽처 자체가 인터 예측된 픽처들인 다른 픽처들에 비해 표현을 위해 비교적 더 많은 비트를 요구한다; 둘째, IRAP 픽처의 존재는 시간적 예측을 단절시킬 것이므로(이것은, 디코더가 디코딩 프로세스를 리프레시하고, 이를 위한 디코딩 프로세스의 동작들 중 하나가 DPB에서 이전의 참조 픽처들을 제거할 것이기 때문), 이들은 그들의 인터 예측 코딩을 위해 더 적은 참조 픽처들을 가질 것이므로 디코딩 순서에서 IRAP 픽처를 뒤따르는 픽처들의 코딩을 덜 효율적이게 할 것이다(즉, 표현을 위한 더 많은 비트들을 필요로 함).
IRAP 픽처들이라고 간주되는 픽처 유형들 중에서, HEVC에서의 IDR 픽처는 다른 픽처 유형들에 비해 상이한 시그널링 및 도출(derivation)을 갖는다. 차이점들 중 일부는 다음과 같다.
-IDR 픽처의 POC 값의 시그널링 및 도출을 위해, POC의 최상위 비트(most significant bit; MSB) 부분은 이전 키 픽처로부터 도출되지 않고 단순히 0으로 설정된다.
-참조 픽처 관리에 필요한 시그널링 정보의 경우, IDR 픽처의 슬라이스 헤더는 참조 픽처 관리를 보조하기 위해 시그널링될 필요가 있는 정보를 포함하지 않는다. 다른 픽처 유형들(즉, CRA, Trailing, TSA(Temporal Sublayer Access) 등)의 경우, 아래의 섹션에 설명되는 참조 픽처 세트(reference picture set; RPS) 또는 다른 형태들의 유사한 정보(예를 들어, 참조 픽처 목록들) 등의 정보는 참조 픽처 마킹 프로세스(즉, 참조용으로 이용되거나 참조용으로 이용되지 않는 DPB에서 참조 픽처들의 상태를 결정하는 프로세스)에 필요하다. 그러나, IDR 픽처의 경우, IDR의 존재는 디코딩 프로세스가 DPB의 모든 참조 픽처를 참조용으로 이용되지 않은 것으로 단순히 마킹해야 함을 나타내기 때문에 이러한 정보는 시그널링될 필요가 없다.
IRAP 픽처 개념에 추가하여, 존재하는 경우 IRAP 픽처와 연관된 선두 픽처들도 있다. 선두 픽처들은, 디코딩 순서에서는 그 연관된 IRAP 픽처를 뒤따르지만 출력 순서에서는 IRAP 픽처보다 선행하는 픽처들이다. 코딩 구성 및 픽처 참조 구조에 따라, 선두 픽처들은 2개의 유형으로 더 식별된다. 제1 유형은, 디코딩 프로세스가 그 연관된 IRAP 픽처에서 시작되는 경우 올바르게 디코딩되지 않을 수 있는 선두 픽처들이다. 이것은, 이들 선두 픽처들이 디코딩 순서에서 IRAP 픽처에 선행하는 픽처들을 참조하여 코딩되기 때문에 발생할 수 있다. 이러한 선두 픽처들은 랜덤 액세스 스킵형 선두(random access skipped leading; RASL)이라고 불린다. 제2 유형은, 디코딩 프로세스가 그 연관된 IRAP 픽처에서 시작하더라도 올바르게 디코딩되어야 하는 선두 픽처들이다. 이것은, 이들 선두 픽처들이 디코딩 순서에서 IRAP 픽처에 선행하는 픽처들을 직접 또는 간접 참조하지 않고 코딩되기 때문에 가능하다. 이러한 선두 픽처들은 랜덤 액세스 디코딩가능 선두(random access decodable leading; RADL)이라고 불린다. HEVC에서, RASL 및 RADL 픽처들이 존재할 때, 동일한 IRAP 픽처와 연관된 RASL 및 RADL 픽처들에 대해, RASL 픽처들은 출력 순서에서 RADL 픽처들보다 선행해야 한다는 제약이 있다.
HEVC 및 VVC에서, IRAP 픽처들과 선두 픽처들에는 상이한 NAL 유닛 유형들이 주어지므로, 이들은 시스템 레벨 애플리케이션들에 의해 쉽게 식별될 수 있다. 예를 들어, 비디오 스플라이서(video splicer)는, 특히 비-IRAP 픽처들로부터 IRAP 픽처들을 식별하고 후미 픽처들로부터, RASL 및 RADL 픽처들의 결정을 포함한, 선두 픽처들을 식별하기 위해, 코딩된 비트스트림에서 신택스 요소의 너무 많은 상세사항을 이해하지 않고도 코딩된 픽처 유형들을 이해할 필요가 있다. 후미 픽처들은, IRAP 픽처와 연관되고 출력 순서에서 IRAP 픽처를 뒤따르는 픽처들이다. 특정한 IRAP 픽처와 연관된 픽처는, 디코딩 순서에서 특정한 IRAP 픽처를 뒤따르고 디코딩 순서에서 임의의 다른 IRAP 픽처보다 선행하는 픽처이다. 이를 위해, IRAP 및 선두 픽처들에게 그들 자신의 자체 NAL 유닛 유형을 제공하는 것은 이러한 애플리케이션에 도움이 된다.
HEVC의 경우, IRAP 픽처들에 대한 NAL 유닛 유형들은 다음을 포함한다 :
- 선두 픽처를 갖는 BLA(BLA_W_LP) : 디코딩 순서에서 하나 이상의 선두 픽처가 뒤따를 수 있는 BLA(Broken Link Access) 픽처의 NAL 유닛.
- RADL을 갖는 BLA(BLA_W_RADL) : 디코딩 순서에서 하나 이상의 RADL 픽처가 뒤따를 수 있지만 RASL 픽처가 없는 BLA 픽처의 NAL 유닛.
- 선두 픽처가 없는 BLA(BLA_N_LP) : 디코딩 순서에서 선두 픽처가 뒤따르지 않는 BLA 픽처의 NAL 유닛.
- RADL을 갖는 IDR(IDR_W_RADL) : 디코딩 순서에서 하나 이상의 RADL 픽처가 뒤따를 수 있지만 RASL 픽처가 없는 IDR 픽처의 NAL 유닛.
- 선두 픽처가 없는 IDR(IDR_N_LP) : 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IDR 픽처의 NAL 유닛.
- CRA : 선두 픽처들(즉, RASL 픽처 또는 RADL 픽처 또는 양쪽 모두)이 뒤따를 수 있는 클린 랜덤 액세스(CRA) 픽처의 NAL 유닛.
- RADL : RADL 픽처의 NAL 유닛.
- RASL : RASL 픽처의 NAL 유닛.
VVC의 경우, 이 문서의 기재에 따라, IRAP 픽처들 및 선두 픽처들에 대한 NAL 유닛 유형은 여전히 명확하지 않거나 / 아직 결정되지 않았다.
파일 포멧 표준들이 논의된다.
파일 포멧 표준들은, ISO 베이스 미디어 파일 포멧(ISOBMFF, ISO/IEC 14496-12, 이하 "ISO/IEC 14996-12"), 및 MPEG-4 파일 포멧(ISO/IEC 14496-14), 3GPP 파일 포멧(3GPP TS 26.244), 및 AVC 파일 포멧(ISO/IEC 14496-15, 이하 "ISO/IEC 14996-15")을 포함한, ISOBMFF로부터 파생된 기타의 파일 포멧 표준들을 포함한다. 따라서, ISO/IEC 14496-12는 ISO 베이스 미디어 파일 포멧을 명시한다. 다른 문서들은 특정한 애플리케이션들을 위해 ISO 베이스 미디어 파일 포멧을 확장한다. 예를 들어, ISO/IEC 14496-15는 ISO 베이스 미디어 파일 포멧의 NAL 유닛 구조화된 비디오의 캐리지(carriage)를 기술한다. H.264/AVC 및 HEVC뿐만 아니라 그들의 확장은, NAL 유닛 구조화된 비디오의 예들이다. ISO/IEC 14496-15는 H.264/AVC NAL 유닛들의 캐리지를 기술하는 섹션들을 포함한다. 추가로, ISO/IEC 14496-15의 섹션 8은 HEVC NAL 유닛들의 캐리지를 기술한다. 따라서, ISO/IEC 14496-15의 섹션 8은 HEVC 파일 포멧을 기술한다고 할 수 있다.
ISOBMFF는, AVC 파일 포멧 등의 많은 코덱 캡슐화 포멧들뿐만 아니라, MPEG-4 파일 포멧, 3GPP 파일 포멧(3GP) 및 DVB 파일 포멧 등의 많은 멀티미디어 컨테이너 포멧들에 대한 기초로서 이용된다. 오디오 및 비디오 등의 연속 미디어에 추가하여, 이미지들 등의 정적 미디어뿐만 아니라, 메타데이터는, ISOBMFF를 준수하는 파일에 저장될 수 있다. ISOBMFF에 따라 구조화된 파일들은, 로컬 미디어 파일 재생, 원격 파일의 점진적 다운로드, DASH(Dynamic Adaptive Streaming over HTTP)를 위한 세그먼트들, 스트리밍될 콘텐츠 및 그 패킷화 명령어들을 위한 컨테이너들, 수신된 실시간 미디어 스트림들의 기록을 포함한 많은 목적에 이용될 수 있다. 따라서, 원래는 저장용으로 설계되었지만, ISOBMFF는, 스트리밍, 예를 들어, 점진적 다운로드 또는 DASH에 가치가 있음이 입증되었다. 스트리밍 목적을 위해, ISOBMFF에 정의된 영화 단편들이 이용될 수 있다. 오디오 및 비디오 등의 연속 미디어에 추가하여, 이미지들 등의 정적 미디어뿐만 아니라, 메타데이터는, ISOBMFF를 준수하는 파일에 저장될 수 있다.
HEVC 파일 포멧을 준수하는 파일은 박스들이라고 알려진 일련의 객체들을 포함할 수 있다. 박스는, 고유한 유형 식별자 및 길이에 의해 정의된 객체 지향형 구축 블록일 수 있다. 박스는 ISOBMFF의 기본 신택스 구조이며 4-캐릭터 코딩된 박스 유형, 박스의 바이트 수, 및 페이로드를 포함할 수 있다. 즉, 박스는, 코딩된 박스 유형, 박스의 바이트 수, 및 페이로드를 포함하는 신택스 구조일 수 있다. 일부 경우에, HEVC 파일 포멧을 준수하는 파일의 모든 데이터는 박스들 내에 포함될 수 있으며 박스 내에 있지 않은 파일에는 데이터가 없을 수 있다. 따라서, ISOBMFF 파일은 박스들의 시퀀스로 구성될 수 있고, 박스들은 다른 박스들을 포함할 수 있다. 예를 들어, 박스의 페이로드는 하나 이상의 추가 박스를 포함할 수 있다.
ISOBMFF를 준수하는 파일은 다양한 유형의 박스를 포함할 수 있다. 예를 들어, ISOBMFF를 준수하는 파일은, 파일 유형 박스, 미디어 데이터 박스, 영화 박스, 영화 단편 박스 등을 포함할 수 있다. 이 예에서, 파일 유형 박스는 파일 유형 및 호환성 정보를 포함한다. 미디어 데이터 박스는 샘플들(예를 들어, 코딩된 픽처들)을 포함할 수 있다. 영화 박스("moov")는 파일에 존재하는 연속 미디어 스트림들에 대한 메타데이터를 포함한다. 연속 미디어 스트림들 각각은 파일에서 트랙으로서 표현될 수 있다. 예를 들어, 영화 박스는 영화에 관한 메타데이터(예를 들어, 샘플들 사이의 논리적 및 타이밍 관계, 및 또한 샘플들의 위치들에 대한 포인터들)를 포함할 수 있다. 영화 박스는 수개의 유형의 서브박스들을 포함할 수 있다. 영화 박스의 서브박스들은 하나 이상의 트랙 박스를 포함할 수 있다. 트랙 박스는 영화의 개개 트랙에 관한 정보를 포함할 수 있다. 트랙 박스는 단일 트랙의 전체 정보를 명시하는 트랙 헤더 박스를 포함할 수 있다. 또한, 트랙 박스는 미디어 정보 박스를 포함하는 미디어 박스를 포함할 수 있다. 미디어 정보 박스는, 트랙에서 데이터 인덱싱 미디어 샘플들을 포함하는 샘플 테이블 박스를 포함할 수 있다. 샘플 테이블 박스 내의 정보는, 제 시간에 샘플들을 위치파악하고, 트랙의 샘플들 각각에 대해, 유형, 크기, 컨테이너, 및 샘플의 그 컨테이너 내로의 오프셋을 위치파악하는데 이용될 수 있다. 따라서, 트랙에 대한 메타데이터는 트랙 박스("trak")에 포함되는 반면, 트랙의 미디어 콘텐츠는 미디어 데이터 박스("mdat")에 포함되거나 별도의 파일에 직접 포함된다. 트랙들에 대한 미디어 콘텐츠는, 오디오 또는 비디오 액세스 유닛들 등의, 샘플들의 시퀀스를 포함하거나 이들로 구성된다.
ISOBMFF는 다음과 같은 유형들의 트랙들을 명시한다 : 기본 미디어 스트림을 포함하는 미디어 트랙, 미디어 전송 명령어들을 포함하거나 수신된 패킷 스트림을 나타내는 힌트 트랙, 및 시간 동기화된 메타데이터를 포함하는 시간지정된 메타데이터 트랙. 각각의 트랙에 대한 메타데이터는 샘플 설명 엔트리들의 목록을 포함하고, 각각은 트랙에 이용되는 코딩 또는 캡슐화 포멧 및 그 포멧을 처리하는데 이용되는 초기화 데이터를 제공한다. 각각의 샘플은 트랙의 샘플 설명 엔트리들 중 하나와 연관된다.
ISOBMFF는 다양한 메커니즘으로 샘플 특유의 메타데이터를 명시하는 것을 가능케한다. 샘플 테이블 박스("stbl") 내의 특정한 박스들은 일반적인 필요성에 응답하기 위해 표준화되었다. 샘플 테이블 박스는 트랙 내의 미디어 샘플들의 모든 시간 및 데이터 인덱싱을 포함하는 샘플 테이블을 포함한다. 샘플 테이블 박스 내의 테이블들을 이용하여, 제 시간에 샘플들을 위치파악하고, 그들의 유형(예를 들어, I-프레임 여부)을 결정하고, 그들의 크기, 컨테이너, 및 그 컨테이너 내로의 오프셋을 결정할 수 있다.
영화 단편 박스는 최상위 레벨 박스이다. 각각의 영화 단편 박스는, 영화 박스에 이전에 있었던 정보를 제공한다. 영화 단편 박스는 하나 이상의 트랙 단편("traf") 박스를 포함할 수 있다. 영화 단편 내에는, 트랙 당 0개 이상의, 트랙 단편 세트가 있다. 트랙 단편은 결국 0개 이상의 트랙 주행을 포함하고, 그 각각은 그 트랙에 대한 샘플들의 연속적 주행을 문서화한다. 예를 들어, 각각의 트랙 주행은, 디코딩 순서 등의 소정의 순서로 연속적인 픽처들의 샘플들을 포함할 수 있다. 트랙 단편 박스는 14996-12 명세에 정의되어 있으며 하나 이상의 트랙 단편에 대한 메타데이터를 포함한다. 예를 들어, 트랙 단편 박스는, 트랙 식별자(ID), 베이스 데이터 오프셋, 샘플 설명 인덱스, 디폴트 샘플 지속시간, 디폴트 샘플 크기, 및 디폴트 샘플 플래그들을 나타내는 트랙 단편 헤더 박스를 포함할 수 있다. 트랙 단편 박스는, 하나 이상의 트랙 단편 주행 박스를 포함할 수 있고, 각각은 트랙에 대한 연속적인 샘플 세트를 문서화한다. 예를 들어, 트랙 단편 박스는, 샘플 수, 데이터 오프셋, 샘플 플래그들, 샘플 지속시간, 샘플 크기, 샘플 구성 시간 오프셋 등을 나타내는 신택스 요소들을 포함할 수 있다. 이들 구조 내에서, 많은 필드들은 선택사항이며 디폴트화될 수 있다.
스트림 액세스 포인트(Stream Access Point; SAP)에 대해 논의된다.
ISO 미디어 파일 포멧(ISOBMFF)은 소위 스트림 액세스 포인트(SAP)라는 개념을 정의한다. SAP는 미디어 스트림(들)의 컨테이너로의 랜덤 액세스를 가능케한다. 컨테이너는 하나보다 많은 미디어 스트림을 포함할 수 있소, 각각은 소정의 미디어 유형의 연속적인 미디어의 인코딩된 버전이다. SAP는 컨테이너 내의 소정 위치로서, 식별된 미디어 스트림의 재생이, (a) 그 위치로부터 시작하여 컨테이너에 포함된 정보 및 (b) 컨테이너의 다른 부분(들)로부터의 또는 외부적으로 이용가능한 가능한 초기화 데이터만을 이용하여 시작될 수 있게 하는 위치이다. 파생된 명세는, SAP에서 컨테이너에 액세스하기 위해 초기화 데이터가 필요한지와, 초기화 데이터에 액세스할 수 있는 방법을 명시해야 한다.
정의된 6가지 유형의 SAP가 있고, 이들은 다음과 같다 :
유형 1은 일부 코딩 방식에서 "폐쇄된 GoP 랜덤 액세스 포인트"라고 알려진 것에 대응하고(개선된 샘플 기반의 각도 인트라 예측(improved sample-based angular intra prediction; ISAP)으로부터 시작하여 디코딩 순서대로 모든 액세스 유닛이 올바르게 디코딩될 수 있어서, 그 결과 갭이 없는 올바르게 디코딩된 액세스 유닛들의 연속적인 시간 시퀀스를 생성한다), 추가로 디코딩 순서의 액세스 유닛은 또한 구성 순서에서 첫 번째 액세스 유닛이기도 하다.
유형 2는 일부 코딩 방식에서 "폐쇄된 GoP 랜덤 액세스 포인트"라고 알려진 것에 대응하고, 이 경우, 미디어 스트림에서 디코딩 순서의 첫 번째 액세스 유닛은 구성 순서에서 첫 번째 액세스 유닛이 아니다.
유형 3은 일부 코딩 방식에서 "개방형 GoP 랜덤 액세스 포인트"라고 알려진 것에 대응하고, 여기서, 디코딩 순서에서 올바르게 디코딩될 수 없는 랜덤 액세스 포인트를 뒤따르는 일부 액세스 유닛이 있고 랜덤 액세스 포인트 액세스 유닛은 구성 순서에서 첫 번째 액세스 유닛이 아닐 수 있다.
유형 4는 일부 코딩 방식에서 "점진적 디코딩 리프레시(Gradual Decoding Refresh; GDR) 시작점"이라고 알려진 것에 대응한다.
유형 5는 디코딩 순서에서 디코딩을 위한 첫 번째 액세스 유닛부터 시작하여 올바르게 디코딩될 수 없고 TDEC보다 더 큰 프리젠테이션 시간을 갖는 적어도 하나의 액세스 유닛이 있는 경우에 대응하며, 여기서 TDEC는 디코딩을 위한 첫 번째 액세스 유닛으로부터 시작하여 임의의 액세스 유닛의 가장 이른 프리젠테이션 시간이다.
유형 6은 디코딩 순서에서 디코딩을 위한 첫 번째 액세스 유닛부터 시작하여 올바르게 디코딩될 수 없고 TDEC보다 더 큰 프리젠테이션 시간을 갖는 적어도 하나의 액세스 유닛이 있는 경우에 대응하며, 여기서 TDEC는 디코딩을 위한 첫 번째 액세스 유닛으로부터 시작하여 임의의 액세스 유닛의 가장 이른 프리젠테이션 시간이 아니다.
HEVC의 경우, IRAP 픽처들에 대한 NAL 유닛 유형들의 설계는, IRAP 유형들과 SAP 유형들, 특히 SAP 유형 1 내지 유형 3 사이의 용이한 맵핑이라는 목표들 중 하나를 이용하여 이루어졌다.
HTTP를 통한 동적 적응적 스트리밍(DASH)에 대해 논의된다.
ISO/IEC 23009-1에 명시된 DASH(Dynamic adaptive streaming over HTTP)는 HTTP (적응적) 스트리밍 애플리케이션들을 위한 표준이다. DASH는 주로, 매니페스트라고도 알려진 미디어 프리젠테이션 설명(Media Presentation Description; MDP)의 포멧과 미디어 세그먼트 포멧을 명시한다. MPD는 서버에서 이용가능한 미디어를 기술하고 DASH 클라이언트가 자신이 관심갖는 미디어 시간에 미디어 버전을 자율적으로 다운로드할 수 있게 한다.
DASH는 계층적 데이터 모델에 기초한다. 프리젠테이션은 미디어 프리젠테이션을 구성하는 기간들의 시퀀스를 기술하는 MPD 문서에 의해 기술된다. 기간은 전형적으로 그 동안에 미디어 콘텐츠의 인코딩된 버전의 일관된 세트가 이용가능한 미디어 콘텐츠 기간을 나타낸다, 예를 들어 이용가능한 비트레이트들, 언어들, 캡션들, 자막들 등의 세트는 소정 기간 동안 변하지 않는다.
소정 기간 동안, 자료는 적합화 세트들로 배열된다. 적합화 세트는, 하나 또는 수개의 미디어 콘텐츠 성분들의 상호교환가능한 인코딩된 버전들의 세트를 나타낸다. 예를 들어, 메인 비디오 성분에 대한 하나의 적합화 세트와 메인 오디오 성분에 대한 별개의 적합화 세트가 있을 수 있다. 캡션들 또는 오디오 설명들 등의, 기타의 이용가능한 자료는 각각 별개의 적합화 세트를 가질 수 있다. 자료는 또한 멀티플렉싱된 형태로 제공될 수 있으며, 이 경우 멀티플렉스의 상호교환가능한 버전들은, 단일 적합화 세트, 예를 들어 소정 기간 동안 메인 오디오 및 메인 비디오 양쪽 모두를 포함하는 적합화 세트로서 기술될 수 있다. 멀티플렉싱된 성분들 각각은, 미디어 콘텐츠 성분 설명에 의해 개별적으로 기술될 수 있다.
적합화 세트는 표현들의 세트를 포함한다. 표현은 하나 또는 수개의 미디어 콘텐츠 성분들의 전달가능한 인코딩된 버전을 기술한다. 표현은 하나 이상의 미디어 스트림(멀티플렉스 내의 각각의 미디어 콘텐츠 성분에 대해 하나씩)을 포함한다. 적합화 세트 내의 임의의 단일 표현은 포함된 미디어 콘텐츠 성분들을 렌더링하기에 충분하다. 하나의 적합화 세트에서 상이한 표현들을 수집함으로써, 미디어 프리젠테이션 저자는 그 표현들이 인지적으로 동등한 콘텐츠를 나타냄을 표현한다. 전형적으로, 이것은, 클라이언트들이 네트워크 조건들 또는 기타의 요인들에 맞게 적합화하기 위해 적합화 세트 내에서 표현마다 동적으로 전환할 수 있다는 것을 의미한다. 전환이란, 소정의 시간 t까지의 디코딩된 데이터의 프리젠테이션, 및 시간 t 이후의 또 다른 표현의 디코딩된 데이터의 프리젠테이션을 말한다. 표현들이 하나의 적합화 세트에 포함되고, 클라이언트가 적절하게 전환한다면, 미디어 프리젠테이션은 전환에 걸쳐 원활하게 인지될 것으로 예상된다. 클라이언트들은, 그들이 지원하지 않거나 기타의 방식으로 적합하지 않은 코덱들 또는 기타의 렌더링 기술들에 의존하는 표현들을 무시할 수 있다. 표현 내에서, 콘텐츠는 적절한 접근성 및 전달을 위해 시간적으로 세그먼트들로 분할될 수 있다. 한 세그먼트에 액세스하기 위해, 각각의 세그먼트에 대한 URL이 제공된다. 결과적으로, 세그먼트는 단일 HTTP 요청으로 회수될 수 있는 가장 큰 데이터 유닛이다.
DASH 기반의 HTTP 스트리밍을 위한 전형적인 절차는 다음과 같은 단계들을 포함한다.
1) 클라이언트는, 스트리밍 콘텐츠, 예를 들어, 영화의 MPD를 획득한다. MPD는, 상이한 대안적인 표현들에 관한 정보, 예를 들어, 비트 레이트, 비디오 해상도, 프레임 레이트, 스트리밍 콘텐츠의 오디오 언어뿐만 아니라, HTTP 자원들의 URL들(초기화 세그먼트 및 미디어 세그먼트들)을 포함한다.
2) MPD 내의 정보와 클라이언트의 로컬 정보, 예를 들어, 네트워크 대역폭, 디코딩/디스플레이 능력들, 및 사용자 선호사항에 기초하여, 클라이언트는 원하는 표현(들), 한 번에 하나의 세그먼트(또는 그 일부)를 요청한다.
3) 클라이언트가 네트워크 대역폭 변경을 검출하면, 이상적으로는 랜덤 액세스 포인트에서 시작하는 세그먼트로부터 시작하여, 더 양호하게 정합하는 비트레이트를 갖는 상이한 표현의 세그먼트들을 요청한다.
HTTP 스트리밍 "세션" 동안에, 과거 위치로 뒤로 또는 미래 위치로 앞으로 탐색하라는 사용자 요청에 응답하여, 클라이언트는 원하는 위치에 가깝고 이상적으로 랜덤 액세스 포인트에서 시작되는 세그먼트로부터 시작하여 과거 또는 미래 세그먼트들을 요청한다. 사용자는 또한, 인트라 코딩된 비디오 픽처들만을 디코딩하거나 비디오 스트림의 시간적 서브세트만을 디코딩하기에 충분한 데이터를 요청함으로써 실현될 수 있는 콘텐츠의 고속 전방 진행을 요청할 수 있다.
기존 IRAP의 문제점들과 선두 픽처들이 논의된다.
선두 픽처들 및 IRAP 픽처들에 대한 NAL 유닛 유형들의 현재 설계는 다음과 같은 문제점을 갖는다:
- 시스템 레벨 애플리케이션들이 그들의 연관된 IRAP 픽처로부터 디코딩이 시작될 때 RASL을 식별하고 NAL 유닛 헤더를 단순히 파싱함으로써 비트스트림으로부터 제거하는 것을 돕기 위한 이유로 NAL 유닛 헤더 레벨에서 선두 픽처들(즉, RASL 및 RADL)의 식별을 위해 주어진 2개의 NAL 유닛 유형이 있다. 그러나, 실제로, 시스템 애플리케이션들에 의한 이러한 제거는 좀처럼 수행되지 않으며, 선두 픽처들 및 그들의 연관된 IRAP 픽처가 동일한 DASH 미디어 세그먼트에 캡슐화되고, HTTP 기반의 적응적 스트리밍에서 이러한 DASH 미디어 세그먼트가 클라이언트에 의해 요청되므로 선두 픽처들 및 그들의 연관된 IRAP 픽처는 RASL 픽처들의 요청이 회피될 수 있도록 별개로 요청되지 않는다. 더욱이, 시스템 애플리케이션들이 RASL 픽처들을 제거하거나 제거하지 않을 가능성을 허용하는 것은, 결과적으로 양쪽 즉, RASL 픽처들의 유무의, 가능성들을 모두 처리하기 위한 비디오 코딩 명세를 요구하며, 2개의 대안적 HRD(hypothetical decoder reference) 세트의 파라미터들을 포함하는 HRD의 명세를 포함한, 양쪽 모두의 상황에 대한 비트스트림 순응의 명시를 필요로 한다.
- IRAP 픽처들의 경우, SAP 유형 1 내지 3에 용이하게 맵핑하기 위함 목적으로 선두 픽처들의 존재에 기초하여 그들을 구분하기 위해 수개의 NAL 유닛 유형이 주어진다. 그러나, IRAP NAL 유닛 유형들, 특히 CRA 유형의 정의의 유연성으로 인해, 많은 경우에, IRAP 픽처 유형들과 SAP 유형들 사이의 맵핑은 단순히 그 NAL 유닛 유형을 아는 것만으로는 이루어질 수 없다. IRAP 픽처들을 뒤따르는 액세스 유닛들은 여전히 체크될 필요가 있다. 예를 들어, CRA에 후속하여 0개 이상의 RASL 또는 0개 이상의 RADL이 뒤따르거나 이들 중 어느 것도 없을 수 있으므로, SAP 유형 1, 유형 2 또는 유형 3으로서 맵핑될 수 있다. CRA 픽처를 SAP 유형에 맵핑하는 방법을 아는 유일한 방법은, 뒤따르는 액세스 유닛들을 파싱하여 선두 픽처들이 있는지의 여부 및 그런 다음 어떤 유형의 선두 픽처들이 있는지를 확인하는 것이다.
비디오 데이터에 대해 이용가능한 NAL 유닛 유형의 세트를 5개 이하의 특정한 NAL 유닛 유형으로 제약(예를 들어, NAL 유닛 유형의 수를 4개로 제약)하는 비디오 코딩 기술들이 여기서 개시된다. 각각의 NAL 유닛은 헤더를 가지며 식별자(ID)에 의해 식별된다. 더 적은 수의 NAL 유형들은 ID가 더 작을 수 있다는 것을 의미한다. 따라서, 각각의 NAL 유닛의 크기가 감소될 수 있으며, 이것은 비트스트림의 크기를 상당히 감소시킨다(메모리 절약). 이것은 또한, 비트스트림을 전송하는데 이용되는 각각의 패킷의 크기를 감소시켜 네트워크 자원 이용량을 감소시킨다. 더욱이, 5개 이하의 특정한 NAL 유닛 유형은 선두 및 후미 픽처들(일명 비-IRAP 픽처들)이 동일한 NAL 유닛 유형을 공유하는 것을 허용한다. 이것은 또한, NAL 유닛 유형들이 I-RAP 픽처가 RADL 픽처 및/또는 RASL 픽처와 연관되어 있는지 여부를 표시하는 것을 허용한다. 추가로, 특정한 NAL 유닛 유형들은 DASH에서 상이한 SAP 유형들에 맵핑될 수 있다. 비-IRAP 픽처들이 NAL 유닛 유형에 의해 식별되지 않을 때를 위한 비디오 코딩 기술들이 또한 여기서 개시된다. 이러한 경우, 비트스트림 내의 플래그들은 IRAP 픽처가 RADL 픽처 또는 RASL 픽처와 연관되어 있는지의 여부를 나타내는 특정한 값으로 설정된다.
도 4는 비디오 비트스트림(400)의 한 실시예의 개략도이다. 본 명세서에서 사용될 때, 비디오 비트스트림(400)이란, 코딩된 비디오 비트스트림, 비트스트림, 또는 이들의 변형들이라고도 말할 수 있다. 도 4에 도시된 바와 같이, 비트스트림(400)은, 시퀀스 파라미터 세트(sequence parameter set; SPS)(410), 픽처 파라미터 세트(picture parameter set; PPS)(412), 슬라이스 헤더(414) 및 이미지 데이터(420)를 포함한다. 실제 응용에서, 슬라이스 헤더(414)는 타일 그룹 헤더라고 지칭될 수 있다.
SPS(410)는 픽처 시퀀스(sequence of pictures; SOP) 내의 모든 픽처에 공통인 데이터를 포함한다. 대조적으로, PPS(412)는 전체 픽처에 공통적인 데이터를 포함한다. 슬라이스 헤더(414)는, 예를 들어, 슬라이스 유형, 참조 픽처들 중 어느 것이 이용될 것인지 등의, 현재 슬라이스에 대한 정보를 포함한다. SPS(410) 및 PPS(412)는 일반적으로 파라미터 세트라고 지칭될 수 있다. SPS(410), PPS(412) 및 슬라이스 헤더(414)는 NAL(Network Abstraction Layer) 유닛들의 유형들이다. 이미지 데이터(420)는 인코딩 또는 디코딩중인 이미지들 또는 비디오와 연관된 데이터를 포함한다. 이미지 데이터(420)는 단순히, 비트스트림(400)에서 운반되는 페이로드 또는 데이터라고 지칭될 수 있다.
한 실시예에서, SPS(410), PPS(412), 슬라이스 헤더(414), 또는 비트스트림(400)의 또 다른 부분은, 각각이 복수의 참조 픽처 엔트리를 포함하는 복수의 참조 픽처 목록 구조들을 운반한다. 본 기술분야의 통상의 기술자라면, 비트스트림(400)은 실제 응용들에서 다른 파라미터들 및 정보를 포함할 수 있다는 것을 이해할 것이다.
도 5는, 디코딩 순서(508) 및 프리젠테이션 순서(510)에서 선두 픽처들(504) 및 후미 픽처들(506)에 관한 I-RAP 픽처(502) 사이의 관계의 표현(500)이다. 한 실시예에서, I-RAP 픽처(502)는 클린 랜덤 액세스(CRA) 픽처 또는 RADL 픽처를 갖는 순간 디코더 리프레시(IDR) 픽처라고 지칭된다.
도 5에 도시된 바와 같이, 선두 픽처들(504)(예를 들어, 픽처 2 및 3)은 디코딩 순서(508)에서 I-RAP 픽처(502)를 뒤따르지만, 프리젠테이션 순서(510)에서 I-RAP 픽처(502)보다 선행한다. 후미 픽처(506)는 디코딩 순서(508) 및 프리젠테이션 순서(510) 양쪽 모두에서 I-RAP 픽처(502)를 뒤따른다. 2개의 선두 픽처(504)와 하나의 후미 픽처(506)가 도 5에 도시되어 있지만, 본 기술분야의 통상의 기술자라면, 실제적 응용들에서 더 많거나 더 적은 수의 선두 픽처들(504) 및/또는 후미 픽처들(506)이 디코딩 순서(508) 및 프리젠테이션 순서(510)에 존재할 수 있다는 것을 이해할 것이다.
도 5의 선두 픽처들(504)은, 2가지 유형, 즉, RASL과 RADL로 나뉜다. 디코딩이 I-RAP 픽처(502)(예를 들어, 픽처 1)에서 시작될 때, RADL 픽처(예를 들어, 픽처 3)가 적절하게 디코딩될 수 있다; 그러나, RASL 픽처(예를 들어, 픽처 2)는 적절하게 디코딩될 수 없다. 따라서, RASL 픽처는 폐기된다. RADL과 RASL 픽처들 간의 구분을 고려하여, I-RAP 픽처와 연관된 선두 픽처의 유형은 효율적이고 적절한 코딩을 위해 RADL 또는 RASL로서 식별되어야 한다.
도 6은 비디오 인코더(예를 들어, 비디오 인코더(20))에 의해 구현된 비디오 비트스트림(예를 들어, 비트스트림(400))을 인코딩하는 방법(600)의 한 실시예이다. 이 방법(600)은, (예를 들어, 비디오로부터의) 픽처가 비디오 비트스트림으로 인코딩된 다음 비디오 디코더(예를 들어, 비디오 디코더(30))를 향해 전송될 때 수행될 수 있다. 이 방법(600)은, 예를 들어 I-RAP 픽처와 연관된 선두 픽처의 유형을 식별하는 제한된 세트의 NAL 유닛 유형들이 이용되기 때문에, 인코딩 프로세스를 개선시킨다(예를 들어, 인코딩 프로세스를 종래의 인코딩 프로세스들보다 더 효율적이고 빠르게 등으로 만든다). 따라서, 실질적으로, 코덱의 성능이 개선되어, 더 양호한 사용자 경험으로 이어진다.
블록 602에서, 비디오 데이터에 대해 이용가능한 5개 미만의 NAL 유닛 유형의 세트가 비디오 인코더의 메모리에 저장된다. 한 실시예에서, 5개 미만의 NAL 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함한다. 한 실시예에서, 5개 미만의 NAL 유닛 유형의 세트는 이들 4개의 NAL 유닛 유형만으로 제약된다. 한 실시예에서, 선두 및 후미 픽처들(예를 들어, 선두 픽처들(504) 및 후미 픽처들(506)) 양쪽 모두에는 선두 및 후미 픽처들 NAL 유닛 유형이 할당된다.
블록 604에서, NAL 유닛 유형은, 비디오 데이터로부터의 픽처(예를 들어, 도 5의 픽처 2 또는 픽처 3)에 대한 5개 미만의 NAL 유닛 유형의 세트로부터 선택된다. 예를 들어, 도 5의 픽처 2에 대한 NAL 유닛 유형은 RASL NAL 유닛 유형을 갖는 IRAP일 수 있다. 또 다른 예로서, 픽처 5의 픽처 3에 대한 NAL 유닛 유형은, RADL NAL 유닛 유형을 갖는 IRAP일 수 있다.
한 실시예에서, RASL NAL 유닛 유형을 갖는 IRAP는, 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택된다. 한 실시예에서, IRAP 픽처는 CRA 픽처라고 지칭된다. 한 실시예에서, RASL NAL 유닛 유형을 갖는 IRAP는 클린 랜덤 액세스(CRA) NAL 유닛 유형이라고 지칭된다. 한 실시예에서, RASL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RASL로 지정된다. 한 실시예에서, IRAP_W_RASL 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 3에 대응한다.
한 실시예에서, RADL NAL 유닛 유형을 갖는 IRAP는, 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택된다. 한 실시예에서, IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(IDR) 픽처라고 지칭된다. 한 실시예에서, RADL NAL 유닛 유형을 갖는 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭된다. 한 실시예에서, RADL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RADL로 지정된다. 한 실시예에서, IRAP_W_RADL은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 2에 대응한다.
한 실시예에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 선택된다. 한 실시예에서, IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR) 픽처라고 지칭된다. 한 실시예에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭된다. 한 실시예에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 IRAP_N_LP로 지정된다. 한 실시예에서, IRAP_N_LP 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 1에 대응한다.
블록 606에서, 비디오 비트스트림(예를 들어, 도 4의 비트스트림(400))이 생성된다. 비디오 비트스트림은, 선택된 NAL 유닛 유형에 대응하는 NAL 유닛뿐만 아니라 선택된 NAL 유닛 유형을 식별하는 식별자를 포함한다. 식별자는, 예를 들어, 플래그 또는 비트 수일 수 있다.
블록 608에서, 비디오 인코더는 비디오 비트스트림(예를 들어, 비트스트림 400)을 비디오 디코더를 향해 전송한다. 비디오 비트스트림은 또한, 코딩된 비디오 비트스트림 또는 인코딩된 비디오 비트스트림이라고 지칭될 수 있다. 일단 비디오 디코더에 의해 수신되고 나면, 인코딩된 비디오 비트스트림은 (예를 들어, 아래에 설명되는 바와 같이) 디코딩되어 전자 디바이스(예를 들어, 스마트 폰, 태블릿, 랩탑, 개인용 컴퓨터 등)의 디스플레이 또는 스크린 상에서 사용자에게 디스플레이할 이미지를 발생시키거나 생성할 수 있다.
도 7은 비디오 디코더(예를 들어, 비디오 디코더(30))에 의해 구현된 코딩된 비디오 비트스트림(예를 들어, 비트스트림(400))을 디코딩하는 방법(700)의 한 실시예이다. 이 방법(700)은 디코딩된 비트스트림이 비디오 인코더(예를 들어, 비디오 인코더(20))로부터 직접 또는 간접적으로 수신된 후에 수행될 수 있다. 이 방법(700)은, 예를 들어 I-RAP 픽처와 연관된 선두 픽처의 유형을 식별하는 제한된 세트의 NAL 유닛 유형들이 이용되기 때문에, 디코딩 프로세스를 개선시킨다(예를 들어, 디코딩 프로세스를 종래의 디코딩 프로세스들보다 더 효율적이고 빠르게 등으로 만든다). 따라서, 실질적으로, 코덱의 성능이 개선되어, 더 양호한 사용자 경험으로 이어진다.
블록 702에서, 비디오 데이터에 대해 이용가능한 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트가 저장된다. 한 실시예에서, 5개 미만의 NAL 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함한다. 한 실시예에서, 5개 미만의 NAL 유닛 유형의 세트는 이들 4개의 NAL 유닛 유형만으로 제약된다. 한 실시예에서, 선두 및 후미 픽처들(예를 들어, 선두 픽처들(504) 및 후미 픽처들(506)) 양쪽 모두에는 선두 및 후미 픽처들 NAL 유닛 유형이 할당된다.
블록 704에서, NAL 유닛 및 식별자를 포함하는 코딩된 비디오 비트스트림(예를 들어, 비트스트림(400))이 수신된다. 블록 706에서, NAL 유닛을 인코딩하는데 이용된 NAL 유닛 유형이 5개 미만의 NAL 유닛 유형의 세트로부터 식별자에 기초하여 결정된다.
예를 들어, 도 5의 픽처 2에 대한 NAL 유닛 유형은 RASL NAL 유닛 유형을 갖는 IRAP일 수 있다. 또 다른 예로서, 픽처 5의 픽처 3에 대한 NAL 유닛 유형은, RADL NAL 유닛 유형을 갖는 IRAP일 수 있다.
한 실시예에서, RASL NAL 유닛 유형을 갖는 IRAP는, 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택된다. 한 실시예에서, IRAP 픽처는 CRA 픽처라고 지칭된다. 한 실시예에서, RASL NAL 유닛 유형을 갖는 IRAP는 클린 랜덤 액세스(CRA) NAL 유닛 유형이라고 지칭된다. 한 실시예에서, RASL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RASL로 지정된다. 한 실시예에서, IRAP_W_RASL 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 3에 대응한다.
한 실시예에서, RADL NAL 유닛 유형을 갖는 IRAP는, 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택된다. 한 실시예에서, IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(IDR) 픽처라고 지칭된다. 한 실시예에서, RADL NAL 유닛 유형을 갖는 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭된다. 한 실시예에서, RADL NAL 유닛 유형을 갖는 IRAP는 IRAP_W_RADL로 지정된다. 한 실시예에서, IRAP_W_RADL은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 2에 대응한다.
한 실시예에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 선택된다. 한 실시예에서, IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR) 픽처라고 지칭된다. 한 실시예에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭된다. 한 실시예에서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP는 IRAP_N_LP로 지정된다. 한 실시예에서, IRAP_N_LP 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(DASH)에서 스트림 액세스 포인트(SAP) 유형 1에 대응한다.
블록 708에서, 결정된 NAL 유닛 유형에 기초하여 NAL 유닛에 포함된 픽처들에 대한 프리젠테이션 순서(예를 들어, 도 5의 프리젠테이션 순서(510))가 할당된다. 프리젠테이션 순서는, 전자 디바이스(예를 들어, 스마트 폰, 태블릿, 랩탑, 개인용 컴퓨터 등)의 디스플레이 또는 스크린에서 사용자에게 디스플레이할 이미지를 발생시키거나 생성하는데 이용될 수 있다.
도 8은 비디오 인코더(예를 들어, 비디오 인코더(20))에 의해 구현된 비디오 비트스트림(예를 들어, 비트스트림(400))을 인코딩하는 방법(800)의 한 실시예이다. 이 방법(800)은, (예를 들어, 비디오로부터의) 픽처가 비디오 비트스트림으로 인코딩된 다음 비디오 디코더(예를 들어, 비디오 디코더(30))를 향해 전송될 때 수행될 수 있다. 이 방법(800)은, 예를 들어 비-IRAP 픽처에 대한 NAL 유닛이 RADL 또는 RASL 중 하나임을 나타내도록 플래그가 설정되기 때문에 인코딩 프로세스를 개선한다(예를 들어, 인코딩 프로세스를 종래의 인코딩 프로세스들보다 더 효율적이고 빠르게 등으로 만든다). 따라서, 실질적으로, 코덱의 성능이 개선되어, 더 양호한 사용자 경험으로 이어진다.
블록 802에서, 인트라 랜덤 액세스 포인트(intra random access point; IRAP) 픽처와 연관된 비-인트라 랜덤 액세스 포인트(비-IRAP) 픽처에 대한 NAL 유닛을 포함하는 비트스트림이 생성된다. 비-IRAP 픽처는 선두 픽처(예를 들어, 선두 픽처(504)) 또는 후미 픽처(후미 픽처(506))일 수 있다.
블록 804에서, 비트스트림 내의 제1 플래그는 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 디코딩가능 선두(RADL) 픽처를 포함한다는 것을 나타내는 제1 값으로 설정된다. 한 실시예에서, 제1 플래그는 RadlPictureFlag로 지정되고 제2 플래그는 RaslPictureFlag로 지정된다. 한 실시예에서, 제1 값은 일(1)이다. 한 실시예에서, 제1 플래그는 비-IRAP 픽처의 POC(picture order count) 값이 IRAP 픽처의 POC 값보다 작을 때 제1 값과 동일하게 설정된다. 한 실시예에서, 비-IRAP 픽처에 대한 각각의 참조 픽처 목록이 비-IRAP 픽처와 연관된 IRAP 픽처 또는 IRAP 픽처와 연관된 또 다른 RADL 픽처 이외의 어떠한 픽처도 포함하지 않을 때 제1 플래그는 제1 값과 동일하게 설정된다.
블록 806에서, 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 스킵형 선두(random access skipped leading; RASL) 픽처를 포함한다는 것을 나타내기 위해 비트스트림 내의 제2 플래그가 제1 값으로 설정된다. 한 실시예에서, 제2 플래그는 비-IRAP 픽처의 POC(picture order count) 값이 IRAP 픽처의 POC 값보다 작을 때 제1 값과 동일하게 설정된다. 한 실시예에서, 비-IRAP 픽처에 대한 참조 픽처 목록이 디코딩 순서에서 비-IRAP 픽처와 연관된 IRAP 픽처 또는 IRAP 픽처와 연관된 또 다른 RASL 픽처에 선행하는 적어도 하나의 참조 픽처를 포함할 때 제2 플래그는 제1 값과 동일하게 설정된다.
한 실시예에서, 제1 플래그 및 제2 플래그는, 비-IRAP 픽처에 대한 NAL 유닛이 RADL 픽처 또는 RASL 픽처를 포함하지 않음을 나타내기 위해 제2 값으로 설정될 수 있다. 한 실시예에서, 제2 값은 0이다. 한 실시예에서, 제1 플래그 및 제2 플래그는 양쪽 모두 비-IRAP 픽처에 대해 제1 값으로 설정되진 않는다.
블록 808에서, 비디오 인코더는 비디오 비트스트림(예를 들어, 비트스트림 400)을 비디오 디코더를 향해 전송한다. 비디오 비트스트림은 또한, 코딩된 비디오 비트스트림 또는 인코딩된 비디오 비트스트림이라고 지칭될 수 있다. 일단 비디오 디코더에 의해 수신되고 나면, 인코딩된 비디오 비트스트림은 (예를 들어, 아래에 설명되는 바와 같이) 디코딩되어 전자 디바이스(예를 들어, 스마트 폰, 태블릿, 랩탑, 개인용 컴퓨터 등)의 디스플레이 또는 스크린 상에서 사용자에게 디스플레이할 이미지를 발생시키거나 생성할 수 있다.
도 9은 비디오 디코더(예를 들어, 비디오 디코더(30))에 의해 구현된 코딩된 비디오 비트스트림(예를 들어, 비트스트림(400))을 디코딩하는 방법(900)의 한 실시예이다. 이 방법(900)은 디코딩된 비트스트림이 비디오 인코더(예를 들어, 비디오 인코더(20))로부터 직접 또는 간접적으로 수신된 후에 수행될 수 있다. 이 방법(900)은, 예를 들어 비-IRAP 픽처에 대한 NAL 유닛이 RADL 또는 RASL 중 하나임을 나타내도록 플래그가 설정되기 때문에 디코딩 프로세스를 개선한다(예를 들어, 디코딩 프로세스를 종래의 디코딩 프로세스들보다 더 효율적이고 빠르게 등으로 만든다). 따라서, 실질적으로, 코덱의 성능이 개선되어, 더 양호한 사용자 경험으로 이어진다.
블록 902에서, 인트라 랜덤 액세스 포인트(IRAP) 픽처와 연관된 비-인트라 랜덤 액세스 포인트(비-IRAP) 픽처에 대한 제1 플래그, 제2 플래그, 및 NAL 유닛을 포함하는 코딩된 비디오 비트스트림이 수신된다. 비-IRAP 픽처는 선두 픽처(예를 들어, 선두 픽처(504)) 또는 후미 픽처(후미 픽처(506))일 수 있다.
블록 904에서, 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 디코딩가능 선두(RADL) 픽처를 포함한다는 결정은, 비트스트림 내의 제1 플래그가 제1 값으로 설정되었을 때 이루어진다. 한 실시예에서, 제1 플래그는 RadlPictureFlag로 지정되고 제2 플래그는 RaslPictureFlag로 지정된다. 한 실시예에서, 제1 값은 일(1)이다. 한 실시예에서, 제1 플래그는 비-IRAP 픽처의 POC(picture order count) 값이 IRAP 픽처의 POC 값보다 작을 때 제1 값과 동일하게 설정된다. 한 실시예에서, 비-IRAP 픽처에 대한 각각의 참조 픽처 목록이 비-IRAP 픽처와 연관된 IRAP 픽처 또는 IRAP 픽처와 연관된 또 다른 RADL 픽처 이외의 어떠한 픽처도 포함하지 않을 때 제1 플래그는 제1 값과 동일하게 설정된다.
블록 906에서, 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 스킵형 선두(RASL) 픽처를 포함한다는 결정은, 비트스트림 내의 제2 플래그가 제1 값으로 설정되었을 때 이루어진다. 한 실시예에서, 제2 플래그는 비-IRAP 픽처의 POC(picture order count) 값이 IRAP 픽처의 POC 값보다 작을 때 제1 값과 동일하게 설정된다. 한 실시예에서, 비-IRAP 픽처에 대한 참조 픽처 목록이 디코딩 순서에서 비-IRAP 픽처와 연관된 IRAP 픽처 또는 IRAP 픽처와 연관된 또 다른 RASL 픽처에 선행하는 적어도 하나의 참조 픽처를 포함할 때 제2 플래그는 제1 값과 동일하게 설정된다.
한 실시예에서, 제1 플래그 및 제2 플래그는, 비-IRAP 픽처에 대한 NAL 유닛이 RADL 픽처 또는 RASL 픽처를 포함하지 않음을 나타내기 위해 제2 값으로 설정될 수 있다. 한 실시예에서, 제2 값은 0이다. 한 실시예에서, 제1 플래그 및 제2 플래그는 양쪽 모두 비-IRAP 픽처에 대해 제1 값으로 설정되진 않는다.
블록 908에서, NAL 유닛에 포함된 픽처들에 대한 프리젠테이션 순서(예를 들어, 도 5의 프리젠테이션 순서(510))는, 제1 값을 갖는 제1 플래그 또는 제2 플래그에 기초하여 할당된다. 프리젠테이션 순서는, 전자 디바이스(예를 들어, 스마트 폰, 태블릿, 랩탑, 개인용 컴퓨터 등)의 디스플레이 또는 스크린에서 사용자에게 디스플레이할 이미지를 발생시키거나 생성하는데 이용될 수 있다.
상기에 대한 한 대안에서, 선두 픽처들 및 IRAP 픽처들에 대한 NAL 유닛 유형들은 다음과 같이 할당된다 : 선두 픽처들에 대한 2개의 NAL 유닛 유형, 즉, RASL_NUT 및 RADL_NUT, 및 IRAP 픽처들에 대한 하나의 NAL 유닛 유형, 즉, IRAP_NUT.
한 실시예에서, IRAP NAL 유닛 유형들로부터 SAP 유형들로의 맵핑은 다음과 같다. IRAP NAL 유닛 유형을 갖는 픽처와 조우하면, 애플리케이션은 RASL NAL 유닛 유형을 갖는 픽처 수, 및 IRAP 픽처와 디코딩 순서에서 IRAP 픽처를 뒤따르는 첫 번째 후미 픽처(예를 들어, 후미 NAL 유닛 유형을 갖는 픽처) 사이의 RADL NAL 유닛 유형을 갖는 픽처 수를 카운트해야 한다. RASL 및 RADL 픽처 수들에 따라, 다음과 같은 맵핑이 명시된다.
RASL 픽처 수가 0보다 크다면, IRAP 픽처는 SAP 유형 3이다. 그렇지 않고, RASL 픽처 수가 0이고 RADL의 수가 0보다 크다면, IRAP 픽처는 SAP 유형 2이다. 그렇지 않으면, (예를 들어, RASL 픽처와 RADL 픽처 양쪽 모두의 수가 0), IRAP 픽처는 SAP 유형 1이다.
또 다른 대안에서, 선두 픽처들 및 IRAP 픽처들에 대한 NAL 유닛 유형들은 다음과 같이 할당된다 : 선두 픽처들에 대한 2개의 NAL 유닛 유형들, 즉, RASL_NUT 및 RADL_NUT. IRAP 픽처들에 대한 NAL 유닛 유형의 정의는 다음과 같다. IDR (IDR_NUT): 디코딩 순서에서 0개 이상의 RADL 픽처 및 0개의 RASL 픽처인 IRAP 픽처의 NAL 유닛. CRA(CRA_NUT) : 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처의 NAL 유닛.
IRAP NAL 유닛 유형들로부터 SAP 유형들로의 맵핑은 다음과 같다 : CRA_NUT는 SAP 유형 3이다.
IDR_NUT 유형의 픽처와 조우하면, 애플리케이션은 디코딩 순서에서 IDR 픽처를 뒤따르는 픽처를 체크해야 한다. 뒤따르는 픽처가 RADL_NUT를 갖는 픽처이면, IDR 픽처는 SAP 2이다. 그렇지 않으면, IDR 픽처는 SAP 1이다.
픽처가 IDR_NUT 유형일 때, 디코딩 순서에서 IDR 픽처의 바로 뒤에 오는 픽처는 RADL_NUT 또는 Trailing_NUT를 갖는 픽처일 수 있다는 제약이 있다.
또 다른 대안에서, 선두 픽처들 및 IRAP 픽처들에 대한 NAL 유닛 유형들은 다음과 같이 할당된다 : 선두 픽처들에 대한 하나의 NAL 유닛 유형 : LP_NUT. IRAP 픽처들에 대한 NAL 유닛 유형들의 정의는 다음과 같다 : IDR (IDR_NUT): 디코딩 순서에서 RADL 픽처인 0개 이상의 선두 픽처 및 0개의 RASL 픽처인 IRAP 픽처의 NAL 유닛,
CRA (CRA_NUT): 디코딩 순서에서 RASL 픽처들인 하나 이상의 선두 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처의 NAL 유닛.
IRAP NAL 유닛 유형들로부터 SAP로의 맵핑은 다음과 같다 : CRA_NUT는 SAP 유형 3이다.
IDR_NUT 유형의 픽처와 조우하면, 애플리케이션은 디코딩 순서에서 IDR 픽처를 뒤따르는 픽처를 체크해야 한다. 뒤따르는 픽처가 LP_NUT를 갖는 픽처이면, IDR 픽처는 SAP 2이다. 그렇지 않으면, IDR 픽처는 SAP 1이다. 픽처가 IDR_NUT 유형일 때, 디코딩 순서에서 IDR 픽처의 바로 뒤에 오는 픽처는 LP_NUT 또는 Trailing_NUT를 갖는 픽처일 수 있다는 제약이 있다.
도 10은 본 개시내용의 한 실시예에 따른 비디오 코딩 디바이스(1000)(예를 들어, 비디오 인코더(20) 또는 비디오 디코더(30))의 개략도이다. 비디오 코딩 디바이스(1000)는 여기서 설명된 개시된 실시예들을 구현하기에 적합하다. 비디오 코딩 디바이스(1000)는 데이터를 수신하기 위한 유입 포트들(1010) 및 수신기 유닛들(Rx)(1020); 데이터를 처리하는 프로세서, 로직 유닛 또는 중앙 처리 유닛(CPU)(1030); 데이터를 전송하기 위한 전송기 유닛들(Tx)(1040) 및 유출 포트들(1050); 및 데이터를 저장하기 위한 메모리(1060)를 포함한다. 비디오 코딩 디바이스(1000)는 또한, 유입 포트들(1010), 수신기 유닛들(1020), 전송기 유닛들(1040) 및 광학적 또는 전기적 신호들의 유출 또는 유입을 위한 유출 포트들(1050)에 결합된 광-전기(OE) 컴포넌트들 및 전기-광(EO) 컴포넌트들을 포함할 수 있다.
프로세서(1030)는 하드웨어 및 소프트웨어에 의해 구현된다. 프로세서(1030)는, 하나 이상의 CPU 칩, 코어(예를 들어, 멀티 코어 프로세서), FPGA(field-programmable gate array), ASIC(application specific integrated circuit) 및 DSP(digital signal processor)로서 구현될 수 있다. 프로세서(1030)는, 유입 포트들(1010), 수신기 유닛들(1020), 전송기 유닛들(1040), 유출 포트들(1050) 및 메모리(1060)와 통신한다. 프로세서(1030)는 코딩 모듈(1070)을 포함한다. 코딩 모듈(1070)은 위에서 설명된 개시된 실시예들을 구현한다. 예를 들어, 코딩 모듈(1070)은 다양한 네트워킹 기능을 구현, 처리, 준비 또는 제공한다. 따라서, 코딩 모듈(1070)의 포함은 비디오 코딩 디바이스(1000)의 기능에 실질적인 개선을 제공하고 비디오 코딩 디바이스(1000)의 상이한 상태로의 변환에 영향을 미친다. 대안으로서, 코딩 모듈(1070)은 메모리(1060)에 저장되고 프로세서(1030)에 의해 실행되는 명령어들로서 구현된다.
비디오 코딩 디바이스(1000)는 또한, 사용자와 데이터를 통신하기 위한 입력 및/또는 출력(I/O) 디바이스들(1080)을 포함할 수 있다. I/O 디바이스들(1080)은, 비디오 데이터를 디스플레이하기 위한 디스플레이, 오디오 데이터를 출력하기 위한 스피커들 등의 출력 디바이스를 포함할 수 있다. I/O 디바이스들(1080)은 또한, 키보드, 마우스, 트랙볼 등의 입력 디바이스들, 및/또는 이러한 출력 디바이스들과 상호작용하기 위한 대응하는 인터페이스를 포함할 수 있다.
메모리(1060)는, 하나 이상의 디스크, 테이프 드라이브, 및 솔리드 스테이트 드라이브를 포함하고, 프로그램들이 실행을 위해 선택될 때 이러한 프로그램들을 저장하고, 프로그램 실행 동안에 판독된 명령어들 및 데이터를 저장하기 위한 오버플로우 데이터 저장 디바이스로서 이용될 수 있다. 메모리(1060)는 휘발성 및/또는 비휘발성일 수 있고, ROM(read-only memory), RAM(random access memory), TCAM(ternary content-addressable memory), 및/또는 SRAM(static random-access memory)일 수 있다.
도 11은 코딩을 위한 수단(1100)의 한 실시예의 개략도이다. 실시예에서, 코딩을 위한 수단(1100)은 비디오 코딩 디바이스(1102)(예를 들어, 비디오 인코더(20) 또는 비디오 디코더(30))에서 구현된다. 비디오 코딩 디바이스(1102)는 수신 수단(1101)을 포함한다. 수신 수단(1101)은 인코딩할 픽처를 수신하거나 디코딩할 비트스트림을 수신하도록 구성된다. 비디오 코딩 디바이스(1102)는 수신 수단(1101)에 결합된 전송 수단(1107)을 포함한다. 전송 수단(1107)은, 비트스트림을 디코더에 전송하거나 디코딩된 이미지를 디스플레이 수단(예를 들어, I/O 디바이스들(1080) 중 하나)에 전송하도록 구성된다.
비디오 코딩 디바이스(1102)는 저장 수단(1103)을 포함한다. 저장 수단(1103)은 수신 수단(1101) 또는 전송 수단(1107) 중 적어도 하나에 결합된다. 저장 수단(1103)은 명령어들을 저장하도록 구성된다. 비디오 코딩 디바이스(1102)는 또한, 처리 수단(1105)을 포함한다. 처리 수단(1105)은 저장 수단(1103)에 결합된다. 처리 수단(1105)은 여기서 개시된 방법들을 수행하기 위해 저장 수단(1103)에 저장된 명령어들을 실행하도록 구성된다.
또한, 여기서 개시된 예시적인 방법들의 단계들이 반드시 설명된 순서대로 수행될 것이 요구되는 것은 아니며, 이러한 방법들의 단계들의 순서는 단지 예시적인 것으로 이해되어야 한다는 점을 이해해야 한다. 마찬가지로, 추가 단계들이 이러한 방법들에 포함될 수 있고, 소정의 단계들은, 본 개시내용의 다양한 실시예와 일치하는 방법들에서 생략되거나 결합될 수 있다.
본 개시내용에서 수개의 실시예들이 제공되었지만, 개시된 시스템 및 방법들은 본 개시내용의 사상 또는 범위로부터 벗어나지 않고 많은 다른 특정한 형태로 구현될 수도 있다는 것을 이해해야 한다. 본 예들은 제한이 아니라 예시로서 간주되어야 하며, 여기서 주어진 상세사항들로 제한하고자 하는 의도가 아니다. 예를 들어, 다양한 요소들 또는 컴포넌트들이 결합되거나 또 다른 시스템 내에 통합될 수 있으며, 소정의 피쳐들은 생략되거나, 구현되지 않을 수도 있다.
또한, 다양한 실시예에서 개별적 또는 별개인 것으로 설명되고 예시된 기술들, 시스템들, 서브시스템들, 및 방법들은, 본 개시내용의 범위로부터 벗어나지 않고 다른 시스템들, 모듈들, 기술들, 또는 방법들과 결합되거나 통합될 수도 있다. 서로 결합되거나 직접 결합되거나 통신하는 것으로 도시된 또는 논의된 기타의 항목들은, 전기적이든, 기계적이든 또는 기타의 방식으로든, 어떤 인터페이스, 디바이스, 또는 중간 컴포넌트를 통해 간접 결합되거나 통신할 수도 있다. 변경, 대체, 및 수정의 다른 예들은 본 기술분야의 통상의 기술자라면 알아낼 수 있으며, 여기서 개시된 사상과 범위로부터 벗어나지 않고 이루어질 수 있다.

Claims (101)

  1. 비디오 인코더에 의해 구현된 비디오 비트스트림을 인코딩하는 방법으로서,
    비디오 데이터에 대해 이용가능한 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트(a set of less than five network abstraction layer (NAL) unit types)를 상기 비디오 인코더의 메모리에 저장하는 단계;
    상기 비디오 인코더의 프로세서에 의해, 상기 비디오 데이터로부터의 픽처에 대해 상기 5개 미만의 NAL 유닛 유형의 세트로부터 NAL 유닛 유형을 선택하는 단계;
    상기 비디오 인코더의 프로세서에 의해, 상기 선택된 NAL 유닛 유형에 대응하는 NAL 유닛을 포함하고 상기 선택된 NAL 유닛 유형을 식별하는 식별자를 포함하는 비디오 비트스트림을 생성하는 단계; 및
    상기 비디오 인코더의 전송기에 의해, 상기 비디오 비트스트림을 비디오 디코더를 향해 전송하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(random access skipped leading; RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(intra random access point; IRAP), 랜덤 액세스 디코딩가능 선두(random access decodable leading; RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함하는, 방법.
  3. 제1항에 있어서, 상기 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP로 구성된, 방법.
  4. 제2항 또는 제3항에 있어서, 선두 및 후미 픽처들 양쪽 모두에는 상기 선두 및 후미 픽처들 NAL 유닛 유형이 할당되는, 방법.
  5. 제2항 또는 제3항 중 어느 한 항에 있어서, RASL NAL 유닛 유형을 갖는 IRAP는 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택되는, 방법.
  6. 제5항에 있어서, 상기 IRAP 픽처는 클린 랜덤 액세스(CRA) 픽처라고 지칭되는, 방법.
  7. 제5항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 클린 랜덤 액세스(clean random access; CRA) NAL 유닛 유형이라고 지칭되는, 방법.
  8. 제5항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 IRAP_W_RASL로 지정되는, 방법.
  9. 제8항에 있어서, 상기 IRAP_W_RASL 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 3에 대응하는, 방법.
  10. 제2항 또는 제3항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택되는, 방법.
  11. 제10항에 있어서, 상기 IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(instantaneous decoder refresh; IDR) 픽처라고 지칭되는, 방법.
  12. 제10항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭되는, 방법.
  13. 제10항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 IRAP_W_RADL로 지정되는, 방법.
  14. 제13항에 있어서, 상기 IRAP_W_RADL은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 2에 대응하는, 방법.
  15. 제2항 또는 제3항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 선택되는, 방법.
  16. 제15항에 있어서, 상기 IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR) 픽처라고 지칭되는, 방법.
  17. 제15항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭되는, 방법.
  18. 제13항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 IRAP_N_LP로 지정되는, 방법.
  19. 제18항에 있어서, 상기 IRAP_N_LP 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 1에 대응하는, 방법.
  20. 비디오 디코더에 의해 구현된 코딩된 비디오 비트스트림을 디코딩하는 방법으로서,
    비디오 데이터에 대해 이용가능한 5개 미만의 네트워크 추상화 계층(network abstraction layer; NAL) 유닛 유형의 세트를 상기 비디오 디코더의 메모리에 저장하는 단계;
    상기 비디오 디코더의 수신기에 의해, NAL 유닛 및 식별자를 포함하는 코딩된 비디오 비트스트림을 수신하는 단계;
    상기 비디오 디코더의 프로세서에 의해, 상기 식별자에 기초하여 NAL 유닛을 인코딩하는데 이용된 NAL 유닛 유형을 5개 미만의 NAL 유닛 유형의 세트로부터 결정하는 단계; 및
    상기 비디오 디코더의 프로세서에 의해, 상기 결정된 NAL 유닛 유형에 기초하여 상기 NAL 유닛에 포함된 픽처들에 대한 프리젠테이션 순서를 할당하는 단계
    를 포함하는 방법.
  21. 제20항에 있어서, 상기 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함하는, 방법.
  22. 제20항에 있어서, 상기 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP로 구성된, 방법.
  23. 제21항 또는 제22항에 있어서, 선두 및 후미 픽처들 양쪽 모두에는 상기 선두 및 후미 픽처들 NAL 유닛 유형이 할당되는, 방법.
  24. 제21항 또는 제22항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 결정되는, 방법.
  25. 제24항에 있어서, 상기 IRAP 픽처는 클린 랜덤 액세스(CRA) 픽처라고 지칭되는, 방법.
  26. 제24항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 클린 랜덤 액세스(clean random access; CRA) NAL 유닛 유형이라고 지칭되는, 방법.
  27. 제24항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 IRAP_W_RASL로 지정되는, 방법.
  28. 제27항에 있어서, 상기 IRAP_W_RASL 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 3에 대응하는, 방법.
  29. 제21항 또는 제22항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 결정되는, 방법.
  30. 제29항에 있어서, 상기 IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(instantaneous decoder refresh; IDR) 픽처라고 지칭되는, 방법.
  31. 제29항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭되는, 방법.
  32. 제29항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 IRAP_W_RADL로 지정되는, 방법.
  33. 제32항에 있어서, 상기 IRAP_W_RADL은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 2에 대응하는, 방법.
  34. 제21항 또는 제22항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 결정되는, 방법.
  35. 제34항에 있어서, 상기 IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR) 픽처라고 지칭되는, 방법.
  36. 제34항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭되는, 방법.
  37. 제34항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 IRAP_N_LP로 지정되는, 방법.
  38. 제37항에 있어서, 상기 IRAP_N_LP 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 1에 대응하는, 방법.
  39. 인코딩 디바이스로서,
    명령어들, 및 비디오 데이터에 대해 이용가능한 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트를 포함하는 메모리;
    상기 메모리에 결합되고, 상기 명령어들을 구현하도록 구성된 프로세서 ―상기 명령어들은, 인코딩 디바이스로 하여금 :
    상기 비디오 데이터로부터의 픽처에 대해 5개 미만의 NAL 유닛 유형의 세트로부터 NAL 유닛 유형을 선택하고;
    상기 선택된 NAL 유닛 유형에 대응하는 NAL 유닛을 포함하고 상기 선택된 NAL 유닛 유형을 식별하는 식별자를 포함하는 비디오 비트스트림을 생성하게 함―; 및
    상기 프로세서에 결합되고, 상기 비디오 비트스트림을 상기 비디오 디코더를 향해 전송하도록 구성된 전송기
    를 포함하는, 인코딩 디바이스.
  40. 제39항에 있어서, 상기 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함하는, 인코딩 디바이스.
  41. 제39항에 있어서, 상기 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP로 구성된, 인코딩 디바이스.
  42. 제40항 또는 제41항에 있어서, 선두 및 후미 픽처들 양쪽 모두에는 상기 선두 및 후미 픽처들 NAL 유닛 유형이 할당되는, 인코딩 디바이스.
  43. 제40항 또는 제41항에 있어서, RASL NAL 유닛 유형을 갖는 IRAP는 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택되는, 인코딩 디바이스.
  44. 제43항에 있어서, 상기 IRAP 픽처는 클린 랜덤 액세스(CRA) 픽처라고 지칭되는, 인코딩 디바이스.
  45. 제43항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 클린 랜덤 액세스(clean random access; CRA) NAL 유닛 유형이라고 지칭되는, 인코딩 디바이스.
  46. 제43항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 IRAP_W_RASL로 지정되는, 인코딩 디바이스.
  47. 제46항에 있어서, 상기 IRAP_W_RASL 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 3에 대응하는, 인코딩 디바이스.
  48. 제40항 또는 제41항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택되는, 인코딩 디바이스.
  49. 제48항에 있어서, 상기 IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(instantaneous decoder refresh; IDR) 픽처라고 지칭되는, 인코딩 디바이스.
  50. 제48항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭되는, 인코딩 디바이스.
  51. 제48항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 IRAP_W_RADL로 지정되는, 인코딩 디바이스.
  52. 제51항에 있어서, 상기 IRAP_W_RADL은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 2에 대응하는, 인코딩 디바이스.
  53. 제40항 또는 제41항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 선택되는, 인코딩 디바이스.
  54. 제53항에 있어서, 상기 IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR) 픽처라고 지칭되는, 인코딩 디바이스.
  55. 제53항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭되는, 인코딩 디바이스.
  56. 제53항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 IRAP_N_LP로 지정되는, 인코딩 디바이스.
  57. 제56항에 있어서, 상기 IRAP_N_LP 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 1에 대응하는, 인코딩 디바이스.
  58. 디코딩 디바이스로서,
    NAL 유닛 및 식별자를 포함하는 코딩된 비디오 비트스트림을 수신하도록 구성된 수신기;
    상기 수신기에 결합되고, 명령어들, 및 비디오 데이터에 대해 이용가능한 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트를 저장하는 메모리; 및
    상기 메모리에 결합되고, 상기 명령어들을 실행하도록 구성된 프로세서
    를 포함하고, 상기 명령어들은 상기 디코딩 디바이스로 하여금 :
    상기 식별자에 기초하여 상기 NAL 유닛을 인코딩하는데 이용된 NAL 유닛 유형을 5개 미만의 NAL 유닛 유형의 세트로부터 결정하고;
    상기 결정된 NAL 유닛 유형에 기초하여 상기 NAL 유닛에 포함된 픽처들에 대한 프리젠테이션 순서를 할당하게 하는, 디코딩 디바이스.
  59. 제58항에 있어서, 상기 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP를 포함하는, 디코딩 디바이스.
  60. 제58항에 있어서, 상기 5개 미만의 네트워크 추상화 계층(NAL) 유닛 유형의 세트는, 선두 및 후미 픽처들 NAL 유닛 유형, 랜덤 액세스 스킵형 선두(RASL) NAL 유닛 유형을 갖는 인트라 랜덤 액세스 포인트(IRAP), 랜덤 액세스 디코딩가능 선두(RADL) NAL 유닛 유형을 갖는 IRAP, 및 선두 픽처들 NAL 유닛 유형을 갖지 않는 IRAP로 구성된, 디코딩 디바이스.
  61. 제59항 또는 제60항에 있어서, 선두 및 후미 픽처들 양쪽 모두에는 상기 선두 및 후미 픽처들 NAL 유닛 유형이 할당되는, 디코딩 디바이스.
  62. 제59항 또는 제60항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 디코딩 순서에서 하나 이상의 RASL 픽처 및 0개 이상의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택되는, 디코딩 디바이스.
  63. 제62항에 있어서, 상기 IRAP 픽처는 클린 랜덤 액세스(CRA) 픽처라고 지칭되는, 디코딩 디바이스.
  64. 제62항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 클린 랜덤 액세스(clean random access; CRA) NAL 유닛 유형이라고 지칭되는, 디코딩 디바이스.
  65. 제62항에 있어서, RASL NAL 유닛 유형을 갖는 상기 IRAP는 IRAP_W_RASL로 지정되는, 디코딩 디바이스.
  66. 제65항에 있어서, 상기 IRAP_W_RASL 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 3에 대응하는, 디코딩 디바이스.
  67. 제59항 또는 제60항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 디코딩 순서에서 하나 이상의 RADL 픽처 및 0개의 RADL 픽처가 뒤따르는 IRAP 픽처에 대해 선택되는, 디코딩 디바이스.
  68. 제67항에 있어서, 상기 IRAP 픽처는 RADL 픽처를 갖는 순간 디코더 리프레시(instantaneous decoder refresh; IDR) 픽처라고 지칭되는, 디코딩 디바이스.
  69. 제67항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 RADL NAL 유닛 유형을 갖는 순간 디코더 리프레시(IDR)라고 지칭되는, 디코딩 디바이스.
  70. 제67항에 있어서, RADL NAL 유닛 유형을 갖는 상기 IRAP는 IRAP_W_RADL로 지정되는, 디코딩 디바이스.
  71. 제70항에 있어서, 상기 IRAP_W_RADL은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 2에 대응하는, 디코딩 디바이스.
  72. 제59항 또는 제60항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 디코딩 순서에서 선두 픽처가 뒤따르지 않는 IRAP 픽처에 대해 선택되는, 디코딩 디바이스.
  73. 제72항에 있어서, 상기 IRAP 픽처는 선두 픽처가 없는 순간 디코더 리프레시(IDR) 픽처라고 지칭되는, 디코딩 디바이스.
  74. 제72항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 선두 픽처들 NAL 유닛 유형이 없는 순간 디코더 리프레시(IDR)라고 지칭되는, 디코딩 디바이스.
  75. 제72항에 있어서, 선두 픽처들 NAL 유닛 유형을 갖지 않는 상기 IRAP는 IRAP_N_LP로 지정되는, 디코딩 디바이스.
  76. 제75항에 있어서, 상기 IRAP_N_LP 지정은 하이퍼텍스트 전송 프로토콜을 통한 동적 적응적 스트리밍(dynamic adaptive streaming over hypertext transfer protocol; DASH)에서 스트림 액세스 포인트(stream access point; SAP) 유형 1에 대응하는, 디코딩 디바이스.
  77. 비디오 인코더에 의해 구현된 비디오 비트스트림을 인코딩하는 방법으로서,
    비디오 인코더의 프로세서에 의해, 인트라 랜덤 액세스 포인트(IRAP) 픽처와 연관된 비-인트라 랜덤 액세스 포인트(비-IRAP) 픽처에 대한 네트워크 추상화 계층(network abstraction layer; NAL) 유닛을 포함하는 비트스트림을 생성하는 단계;
    상기 비디오 인코더의 프로세서에 의해, 상기 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 디코딩가능 선두(random access decodable leading; RADL) 픽처를 포함할 때, 상기 비트스트림 내의 제1 플래그를 제1 값으로 설정하는 단계;
    상기 비디오 인코더의 프로세서에 의해, 상기 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 스킵형 선두(random access skipped leading; RASL) 픽처를 포함할 때, 상기 비트스트림 내의 제2 플래그를 상기 제1 값으로 설정하는 단계; 및
    상기 비디오 인코더의 전송기에 의해, 상기 비디오 비트스트림을 비디오 디코더를 향해 전송하는 단계
    를 포함하는 방법.
  78. 제77항에 있어서, 상기 제1 플래그는 RadlPictureFlag로 지정되고 상기 제2 플래그는 RaslPictureFlag로 지정되는, 방법.
  79. 제77항에 있어서, 상기 제1 값은 일(1)인, 방법.
  80. 제78항 또는 제79항에 있어서, 상기 비-IRAP 픽처는 선두 픽처를 포함하는, 방법.
  81. 제78항 또는 제79항에 있어서, 상기 비-IRAP 픽처는 후미 픽처를 포함하는, 방법.
  82. 제77항에 있어서, 상기 제1 플래그는 상기 비-IRAP 픽처의 POC(picture order count) 값이 상기 IRAP 픽처의 POC 값보다 작을 때 상기 제1 값과 동일하게 설정되는, 방법.
  83. 제77항에 있어서, 상기 비-IRAP 픽처에 대한 각각의 참조 픽처 목록이 상기 비-IRAP 픽처와 연관된 IRAP 픽처 또는 상기 IRAP 픽처와 연관된 또 다른 RADL 픽처 이외의 어떠한 픽처도 포함하지 않을 때 상기 제1 플래그는 상기 제1 값과 동일하게 설정되는, 방법.
  84. 제77항에 있어서, 상기 제2 플래그는 상기 비-IRAP 픽처의 POC(picture order count) 값이 상기 IRAP 픽처의 POC 값보다 작을 때 상기 제1 값과 동일하게 설정되는, 방법.
  85. 제77항에 있어서, 상기 비-IRAP 픽처에 대한 참조 픽처 목록이 디코딩 순서에서 상기 비-IRAP 픽처와 연관된 상기 IRAP 픽처 또는 상기 IRAP 픽처와 연관된 또 다른 RASL 픽처에 선행하는 적어도 하나의 참조 픽처를 포함할 때 상기 제2 플래그는 상기 제1 값과 동일하게 설정되는, 방법.
  86. 제77항에 있어서, 상기 제1 플래그 및 상기 제2 플래그를, 상기 비-IRAP 픽처에 대한 NAL 유닛이 상기 RADL 픽처 또는 상기 RASL 픽처를 포함하지 않음을 나타내는 제2 값으로 설정하는 단계를 더 포함하는 방법.
  87. 제77항에 있어서, 상기 제1 플래그 및 상기 제2 플래그는 양쪽 모두 상기 비-IRAP 픽처에 대해 상기 제1 값으로 설정되진 않는, 방법.
  88. 비디오 디코더에 의해 구현된 코딩된 비디오 비트스트림을 디코딩하는 방법으로서,
    상기 비디오 디코더의 수신기에 의해, 인트라 랜덤 액세스 포인트(IRAP) 픽처와 연관된 비-인트라 랜덤 액세스 포인트(비-IRAP) 픽처에 대해 제1 플래그, 제2 플래그 및 네트워크 추상화 계층(NAL) 유닛을 포함하는 코딩된 비디오 비트스트림을 수신하는 단계;
    상기 비디오 디코더의 프로세서에 의해, 상기 비트스트림 내의 상기 제1 플래그가 제1 값으로 설정되었을 때 상기 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 디코딩가능 선두(random access decodable leading; RADL) 픽처를 포함한다고 결정하는 단계;
    상기 비디오 디코더의 프로세서에 의해, 상기 비트스트림 내의 상기 제2 플래그가 상기 제1 값으로 설정되었을 때 상기 비-IRAP 픽처에 대한 NAL 유닛이 랜덤 액세스 스킵형 선두(random access skipped leading; RASL) 픽처를 포함한다고 결정하는 단계; 및
    상기 비디오 디코더의 프로세서에 의해, 상기 제1 값을 갖는 상기 제1 플래그 또는 상기 제2 플래그에 기초하여 상기 NAL 유닛에 포함된 픽처들에 대한 프리젠테이션 순서를 할당하고 상기 할당된 프리젠테이션 순서에 기초하여 상기 NAL 유닛을 디코딩하는 단계
    를 포함하는 방법.
  89. 제88항에 있어서, 상기 제1 플래그는 RadlPictureFlag로 지정되고 상기 제2 플래그는 RaslPictureFlag로 지정되는, 방법.
  90. 제88항에 있어서, 상기 제1 값은 일(1)인, 방법.
  91. 제89항 또는 제90항에 있어서, 상기 비-IRAP 픽처는 선두 픽처를 포함하는, 방법.
  92. 제89항 또는 제90항에 있어서, 상기 비-IRAP 픽처는 후미 픽처를 포함하는, 방법.
  93. 제88항에 있어서, 상기 제1 플래그는 상기 비-IRAP 픽처의 POC(picture order count) 값이 상기 IRAP 픽처의 POC 값보다 작을 때 상기 제1 값과 동일하게 설정되는, 방법.
  94. 제88항에 있어서, 상기 비-IRAP 픽처에 대한 각각의 참조 픽처 목록이 상기 비-IRAP 픽처와 연관된 IRAP 픽처 또는 상기 IRAP 픽처와 연관된 또 다른 RADL 픽처 이외의 어떠한 픽처도 포함하지 않을 때 상기 제1 플래그는 상기 제1 값과 동일하게 설정되는, 방법.
  95. 제88항에 있어서, 상기 제2 플래그는 상기 비-IRAP 픽처의 POC(picture order count) 값이 상기 IRAP 픽처의 POC 값보다 작을 때 상기 제1 값과 동일하게 설정되는, 방법.
  96. 제88항에 있어서, 상기 비-IRAP 픽처에 대한 참조 픽처 목록이 디코딩 순서에서 상기 비-IRAP 픽처와 연관된 상기 IRAP 픽처 또는 상기 IRAP 픽처와 연관된 또 다른 RASL 픽처에 선행하는 적어도 하나의 참조 픽처를 포함할 때 상기 제2 플래그는 상기 제1 값과 동일하게 설정되는, 방법.
  97. 제88항에 있어서, 상기 제1 플래그 및 상기 제2 플래그를, 상기 비-IRAP 픽처에 대한 NAL 유닛이 상기 RADL 픽처 또는 상기 RASL 픽처를 포함하지 않음을 나타내는 제2 값으로 설정하는 단계를 더 포함하는 방법.
  98. 제88항에 있어서, 상기 제1 플래그 및 상기 제2 플래그는 양쪽 모두 상기 비-IRAP 픽처에 대해 상기 제1 값으로 설정되진 않는, 방법.
  99. 코딩 장치로서,
    디코딩할 비트스트림을 수신하도록 구성된 수신기;
    상기 수신기에 결합되고, 디코딩된 이미지를 디스플레이에 전송하도록 구성된 전송기;
    상기 수신기 또는 상기 전송기 중 적어도 하나에 결합되고, 명령어들을 저장하도록 구성된 메모리; 및
    상기 메모리에 결합되고, 제1항 내지 제38항 및 제77항 내지 제98항 중 어느 한 항의 방법을 수행하기 위해 상기 메모리에 저장된 명령어들을 실행하도록 구성된 프로세서
    를 포함하는 코딩 장치.
  100. 시스템으로서,
    인코더; 및
    상기 인코더와 통신하는 디코더
    를 포함하고, 상기 인코더 또는 상기 디코더는 제39항 내지 제76항 및 제99항 중 어느 한 항의 디코딩 디바이스, 인코딩 디바이스 또는 코딩 장치를 포함하는, 시스템.
  101. 코딩을 위한 수단으로서,
    디코딩할 비트스트림을 수신하도록 구성된 수신 수단;
    상기 수신 수단에 결합되고, 디코딩된 이미지를 디스플레이 수단에 전송하도록 구성된 전송 수단;
    상기 수신 수단 또는 상기 전송 수단 중 적어도 하나에 결합되고, 명령어들을 저장하도록 구성된 저장 수단; 및
    상기 저장 수단에 결합되고, 제1항 내지 제38항 및 제77항 내지 제98항 중 어느 한 항의 방법을 수행하기 위해 상기 저장 수단에 저장된 명령어들을 실행하도록 구성된 처리 수단
    을 포함하는 코딩을 위한 수단.
KR1020217023657A 2018-12-27 2019-12-23 비디오 인코더, 비디오 디코더, 및 대응하는 방법들 KR102603980B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862785515P 2018-12-27 2018-12-27
US62/785,515 2018-12-27
PCT/US2019/068324 WO2020139829A1 (en) 2018-12-27 2019-12-23 On intra random access point pictures and leading pictures in video coding

Publications (2)

Publication Number Publication Date
KR20210105984A true KR20210105984A (ko) 2021-08-27
KR102603980B1 KR102603980B1 (ko) 2023-11-20

Family

ID=71126253

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217023657A KR102603980B1 (ko) 2018-12-27 2019-12-23 비디오 인코더, 비디오 디코더, 및 대응하는 방법들

Country Status (5)

Country Link
US (1) US11563967B2 (ko)
KR (1) KR102603980B1 (ko)
CN (1) CN113228588A (ko)
BR (1) BR112021012679A2 (ko)
WO (1) WO2020139829A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113615170B (zh) * 2019-03-11 2022-11-25 华为技术有限公司 支持一个图像内的混合nal单元类型的编码方法、译码设备和编码器
US11792432B2 (en) * 2020-02-24 2023-10-17 Tencent America LLC Techniques for signaling and identifying access unit boundaries
KR20220030186A (ko) * 2020-09-02 2022-03-10 레몬 인크. Vvc 이미지 항목에 포함된 픽처들 및 계층들
KR20220030192A (ko) 2020-09-02 2022-03-10 레몬 인크. 미디어 파일에서의 이미지 전환들을 위한 전환 기간
CN114615549B (zh) * 2022-05-11 2022-09-20 北京搜狐新动力信息技术有限公司 流媒体seek方法、客户端、存储介质和移动设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374583B2 (en) * 2012-09-20 2016-06-21 Qualcomm Incorporated Video coding with improved random access point picture behaviors
US9350781B2 (en) * 2013-05-31 2016-05-24 Qualcomm Incorporated Single network abstraction layer unit packets with decoding order number for video coding
US9525883B2 (en) * 2013-07-15 2016-12-20 Qualcomm Incorporated Cross-layer alignment of intra random access point pictures
KR102246634B1 (ko) * 2013-10-11 2021-05-03 한국전자통신연구원 영상의 부호화/복호화 방법 및 이를 이용하는 장치
US9854270B2 (en) * 2013-12-19 2017-12-26 Qualcomm Incorporated Device and method for scalable coding of video information

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Benjamin Bross, et al., Versatile Video Coding (Draft 3), JVET-L1001-v7, 2018.12.20.* *
Gary Sullivan, et al.,Meeting Report of the 11th meeting of the Joint Video Experts Team (JVET), JVET-K1000-v1, 2018.10.02. *
H. 265: High efficiency video coding. Recommendation ITU-T H.265, 2013.04.* *

Also Published As

Publication number Publication date
US11563967B2 (en) 2023-01-24
US20210392361A1 (en) 2021-12-16
BR112021012679A2 (pt) 2021-09-08
CN113228588A (zh) 2021-08-06
WO2020139829A1 (en) 2020-07-02
KR102603980B1 (ko) 2023-11-20

Similar Documents

Publication Publication Date Title
EP3158764B1 (en) Systems and methods for signaling information for layer sets in a parameter set
KR102603980B1 (ko) 비디오 인코더, 비디오 디코더, 및 대응하는 방법들
KR20190122867A (ko) 필수 및 비필수 비디오 보충 정보의 시그널링
WO2013116348A1 (en) Method of coding video and storing video content
US11418812B2 (en) Placement of parameter sets and sync samples in video coding
US11895312B2 (en) Output of prior pictures for pictures starting a new coded video sequence in video coding
US11652985B2 (en) Support of adaptive resolution change in video coding
AU2016219228B2 (en) Signaling of operation points for carriage of HEVC extensions
CN114760476B (zh) 视频解码器初始化信息信令
KR20230124964A (ko) 레이어 정보를 포함하는 미디어 파일 생성/수신 방법,장치 및 미디어 파일 전송 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant