KR20140088592A - 비디오 코딩에서 어드밴스드 디코딩 픽처 버퍼 (dpb) 관리를 사용하는 랜덤 액세스 - Google Patents

비디오 코딩에서 어드밴스드 디코딩 픽처 버퍼 (dpb) 관리를 사용하는 랜덤 액세스 Download PDF

Info

Publication number
KR20140088592A
KR20140088592A KR1020147014592A KR20147014592A KR20140088592A KR 20140088592 A KR20140088592 A KR 20140088592A KR 1020147014592 A KR1020147014592 A KR 1020147014592A KR 20147014592 A KR20147014592 A KR 20147014592A KR 20140088592 A KR20140088592 A KR 20140088592A
Authority
KR
South Korea
Prior art keywords
picture
pictures
cvs
decoding
cpb
Prior art date
Application number
KR1020147014592A
Other languages
English (en)
Other versions
KR101597927B1 (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 KR20140088592A publication Critical patent/KR20140088592A/ko
Application granted granted Critical
Publication of KR101597927B1 publication Critical patent/KR101597927B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

일 예로서, 비디오 데이터를 디코딩하는 기술들은, 코딩된 비디오 시퀀스 (CVS) 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하고, 디코딩 순서에 따라 제 1 픽처를 디코딩하는 것으로서, 여기서 제 1 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 제 1 픽처를 디코딩하고, 디코딩된 제 1 픽처에 기초하여 디코딩 순서에 따라 제 1 픽처를 뒤따르는 적어도 하나의 픽처를 디코딩하는 것을 포함한다. 다른 예로서, 비디오 데이터를 인코딩하는 기술들은 CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하는 것으로서, 여기서 디코딩 순서에 따른 제 1 픽처는 IDR 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 비트스트림을 생성하고, 제 1 픽처와 연관된 리딩 픽처에 대응하는, 제 1 픽처가 아닌, 적어도 하나의 다른 픽처를 비트스트림에 포함시키는 것을 회피하는 것을 포함한다.

Description

비디오 코딩에서 어드밴스드 디코딩 픽처 버퍼 (DPB) 관리를 사용하는 랜덤 액세스{RANDOM ACCESS WITH ADVANCED DECODED PICTURE BUFFER (DPB) MANAGEMENT IN VIDEO CODING}
본 출원은 2011 년 10 월 31 일자로 출원된 미국 가출원 제 61/553,802 호 및 2012 년 2 월 6 일자로 출원된 미국 가출원 제 61/595,605 호의 이점을 청구하며, 이들 각각의 전체 콘텐츠는 참조에 의해 본원에 통합된다.
본 개시는 비디오 코딩에 관한 것으로, 특히, 비디오 코딩 프로세스들에 의해 생성된 비디오 데이터의 프레임들을 코딩하는 것에 관련된다.
디지털 비디오 성능들은, 디지털 텔레비전, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, PDA들 (personal digital assistants), 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, 전자책 리더기들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 디바이스들, 비디오 게임 콘솔, 셀룰러 또는 위성 라디오 텔레폰들, 소위 "스마트폰들", 화상 원격회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Part 10, AVC (Advanced Video Coding), 현재 개발 하에 있는 HEVC (High Efficiency Video Coding) 표준에 의해 정의된 표준들, 및 이러한 표준들의 확장들에서 설명된 바와 같은 비디오 압축 기술들을 구현한다. 비디오 디바이스들은 이러한 비디오 압축 기술들을 구현함으로써 디지털 비디오 정보를 보다 효율적으로 송신하고, 수신하고, 인코딩하고, 디코딩하고, 및/또는 저장할 수도 있다.
비디오 압축 기술들은 비디오 시퀀스들에 고유한 리던던시를 감소시키거나 제거하기 위해 공간적 (인트라-픽처) 예측 및/또는 시간적 (인터-픽처) 예측을 포함할 수도 있다. 블록 기반의 비디오 코딩을 위해, 비디오 슬라이스(즉, 비디오 프레임 또는 비디오 프레임의 일부)는 비디오 블록들로 파티셔닝될 수도 있으며, 비디오 블록들은 트리블록들, 코딩 유닛들 (CU들) 및/또는 코딩 노드들로 또한 칭해질 수도 있다. 픽처의 인트라 코딩된 (I) 슬라이스 내의 비디오 블록들은 동일한 픽처 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간 예측을 이용하여 인코딩된다. 픽처의 인터 코딩된 (P 또는 B) 슬라이스 내의 비디오 블록들은 동일한 픽처의 이웃하는 블록들 내의 참조 샘플들에 대한 공간 예측, 또는 다른 참조 픽처들 내의 참조 샘플들에 대한 시간 예측을 이용할 수도 있다. 픽처들은 프레임들이라고 지칭될 수도 있고, 참조 픽처들은 참조 프레임들로 지칭될 수도 있다.
공간적 또는 시간적 예측은 코딩될 블록에 대한 예측 블록을 발생한다. 잔여 데이터는 코딩될 원래의 블록과 예측 블록 사이의 픽셀 차이들을 나타낸다. 인터 코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 사이의 차이를 나타내는 잔여 데이터에 따라 인코딩된다. 인트라 코딩된 블록은 인트라 코딩 모드와 잔여 데이터에 따라 인코딩된다. 추가의 압축을 위해, 잔여 데이터는 픽셀 도메인에서 변환 도메인으로 변환되어, 잔여 변환 계수들을 발생할 수도 있고, 그 후 이들은 양자화될 수도 있다. 초기에 2차원 어레이로 정렬된 양자화된 변환 계수들은 변환 계수들의 1차원 벡터를 생성하기 위해 스캔될 수도 있다. 그 후, 엔트로피 코딩은 더 많은 압축을 달성하기 위해 적용될 수도 있다.
본 개시물은 비디오 코딩에서 랜덤 액세스를 위한 기술들을 설명한다. 특히, 본 개시물은 하나 이상의 프레임들 또는 "픽처들" 을 포함하는 비디오 시퀀스들을 코딩하기 위한 몇몇 기술들을 설명하며, 여기서 순응하는 비트스트림에서 특정 코딩된 비디오 시퀀스 (CVS) 의 제 1 코딩된 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처일 수도 있다. 예를 들어, 그 기술들과 부합하여, 제 1 코딩된 픽처는 클린 랜덤 액세스 (CRA) 픽처일 수도 있다.
일 예로서, 본 개시물의 기술들은 그 기술들을 따르는 비디오 디코더가 비-IDR RAP 픽처에서 시작하는 비트스트림을 예측가능하고 정의된 방식, 또는 "표준" 방식으로 성공적으로 디코딩하게 할 수도 있다. 예를 들면, 개시된 기술들은 순응하는 비디오 디코더가 비트스트림에 또한 포함된 제 1 코딩된 픽처와 연관된 이른바 "리딩 픽처들" 의 다양한 출력 및 참조 속성들을 조종하게 할 수도 있다. 결과적으로, 그 기술들은 다른 기술들에 비해, 비디오 디코더에 의한 비트스트림의 상대적으로 개선된 랜덤 액세스를 가능하게 할 수도 있다. 예를 들어, 기술들은 다른 기술들 (예컨대, 오직 IDR 픽처들로부터 비트스트림의 랜덤 액세스를 허용하는 기술들) 과 비교하여, 비디오 디코더가 상대적으로 더 많은 시작 포인트들에서 비트스트림을 디코딩하거나 비트스트림의 픽처들 (즉, 비-IDR 픽처들) 에 액세스할 수 있도록 함으로써 비트스트림의 "더 세밀한 (finer)" 또는 더 밀집된 (more granular) 랜덤 액세스를 용이하게 할 수도 있다. 부가적으로, 기술들은 순응하는 비디오 디코더가 예컨대, 참조 픽처들로서 제 1 픽처와 연관된 리딩 픽처들을 출력 및/또는 사용하는 것을 회피함으로써, 비트스트림에 또한 포함된 하나 이상의 다른 픽처들의 시각 품질을 개선할 수 있도록 할 수도 있다.
대안적으로, 다른 예로서, 개시된 기술들은 그 기술들에 순응하는 비디오 인코더가 비-IDR RAP 픽처인 비트스트림의 제 1 코딩된 픽처와 연관된 리딩 픽처들을 제외시키는 비트스트림을 생성할 수 있도록 할 수도 있다. 결과적으로, 개시된 기술들에 순응하는 비디오 디코더는 예측가능한 및 정의된 방식으로 비트스트림을 성공적으로 디코딩할 수도 있다.
이에 따라, 본 개시의 기술들을 사용하는 것은 비디오 인코딩 및 디코딩 시스템들 및 디바이스들의 상호동작가능성, 및 일반적으로 다양한 비디오 애플리케이션들에서 빈번하게 발생할 수도 있는 비트스트림 랜덤 액세스에 대한 사용자 경험을 개선시킬 수도 있다.
본 개시물의 일 실시예에서, 비디오 데이터를 디코딩하는 방법은, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하는 단계, CVS 와 연관된 디코딩 순서에 따라 하나 이상의 픽처들 중 제 1 픽처를 디코딩하는 단계로서, 제 1 픽처는 IDR 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 제 1 픽처를 디코딩하는 단계, 및 디코딩된 제 1 픽처에 기초하여 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하는 단계를 포함한다.
본 개시물의 다른 실시예에서, 비디오 데이터를 인코딩하는 방법은, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하는 단계를 포함하며, 여기서 CVS 와 연관된 디코딩 순서에 따른 하나 이상의 픽처들 중 제 1 픽처는 IDR 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처이고, 비트스트림을 생성하는 단계는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처를 비트스트림에 포함시키는 것을 회피하는 단계를 포함하며, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르고 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처를 포함하며, 제 1 픽처는 디코딩가능하고, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처는 제 1 픽처에 기초하여 디코딩 가능하다.
본 개시물의 또 다른 실시예에서, 비디오 데이터를 디코딩하도록 구성된 장치는 비디오 디코더를 포함하며, 그 비디오 디코더는, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하고, CVS 와 연관된 디코딩 순서에 따라 하나 이상의 픽처들 중 제 1 픽처를 디코딩하는 것으로서, 제 1 픽처는 IDR 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 상기 제 1 픽처를 디코딩하고, 디코딩된 제 1 픽처에 기초하여 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하도록 구성된다.
본 개시물의 또 다른 실시예에서, 비디오 데이터를 인코딩하도록 구성된 장치는 CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하도록 구성된 비디오 인코더를 포함하며, 여기서 CVS 와 연관된 디코딩 순서에 따른 하나 이상의 픽처들 중 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처이고, 비트스트림을 생성하기 위해, 비디오 디코더는, 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처를 비트스트림에 포함시키는 것을 회피하도록 구성되며, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르고 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처를 포함하며, 제 1 픽처는 디코딩 가능하고, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처는 제 1 픽처에 기초하여 디코딩 가능하다.
본 개시물의 또 다른 실시예에서, 비디오 데이터를 디코딩하는 디바이스는, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하는 수단, CVS 와 연관된 디코딩 순서에 따라 하나 이상의 픽처들 중 제 1 픽처를 디코딩하는 수단으로서, 제 1 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 상기 제 1 픽처를 디코딩하는 수단, 및 디코딩된 제 1 픽처에 기초하여 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하는 수단을 포함한다.
본 개시물의 또 다른 실시예에서, 비디오 데이터를 인코딩하는 디바이스는, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하는 수단을 포함하며, 여기서 CVS 와 연관된 디코딩 순서에 따른 하나 이상의 픽처들 중 제 1 픽처는 IDR 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처이고, 비트스트림을 생성하는 수단은 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처를 비트스트림에 포함시키는 것을 회피하는 수단을 포함하며, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르고 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처를 포함하며, 제 1 픽처는 디코딩가능하고, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처는 제 1 픽처에 기초하여 디코딩 가능하다.
본 개시에서 설명되는 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합에서 구현될 수도 있다. 하드웨어에서 구현된다면, 일 장치는 집적 회로, 프로세서, 이산 로직, 또는 이들의 임의의 조합으로서 실현될 수도 있다. 소프트웨어에서 구현된다면, 소프트웨어는 마이크로프로세서, 주문형 집적회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA), 또는 디지털 신호 프로세서 (DSP) 와 같은 하나 이상의 프로세서들에서 실행될 수도 있다. 그 기술들을 실행하는 소프트웨어는 초기에 유형의 컴퓨터 판독가능 매체에 저장되고, 프로세서에서 로딩 및 실행될 수도 있다.
이에 따라, 다른 실시예에서, 본 개시는 실행될 경우, 명령들을 저장한 컴퓨터 판독가능 저장 매체를 고려하며, 그 명령들은 실행될 경우, 하나 이상의 프로세서들로 하여금, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하게 하고, CVS 와 연관된 디코딩 순서에 따라 하나 이상의 픽처들 중 제 1 픽처를 디코딩하게 하는 것으로서, 제 1 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 상기 제 1 픽처를 디코딩하게 하고, 디코딩된 제 1 픽처에 기초하여 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하게 한다.
또 다른 실시예에서, 본 개시는 실행될 경우, 명령들을 저장한 컴퓨터 판독가능 저장 매체를 고려하며, 그 명령들은 실행될 경우, 하나 이상의 프로세서들로 하여금, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하게 하며, 여기서 CVS 와 연관된 디코딩 순서에 따른 하나 이상의 픽처들 중 제 1 픽처는 IDR 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처이고, 하나 이상의 프로세서들로 하여금 비트스트림을 생성하게 하는 명령들은 하나 이상의 프로세서들로 하여금 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처를 비트스트림에 포함시키는 것을 회피하게 하는 명령들을 포함하며, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르고 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처를 포함하며, 제 1 픽처는 디코딩가능하고, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌, 적어도 하나의 픽처는 제 1 픽처에 기초하여 디코딩 가능하다.
하나 이상의 실시예들의 상세들은 첨부된 도면과 하기의 설명으로부터 설명된다. 다른 특징들, 목적들 및 이점들은 하기의 설명 및 도면들, 및 하기의 특허청구범위로부터 명확해질 것이다.
도 1 은 본 개시의 기술들과 부합하는, 어드밴스드 디코더 픽처 버퍼 (DPB) 관리를 사용하는 랜덤 액세스를 위한 기술들을 수행할 수도 있는, 비디오 인코딩 및 디코딩 시스템의 일 예를 예시하는 블록 다이어그램이다.
도 2 는 본 개시의 기술들과 부합하는, 어드밴스드 DPB 관리를 사용하는 랜덤 액세스를 위한 기술들을 수행할 수도 있는, 비디오 인코더의 일 예를 예시하는 블록 다이어그램이다.
도 3 는 본 개시의 기술들과 부합하는, 어드밴스드 DPB 관리를 사용하는 랜덤 액세스를 위한 기술들을 수행할 수도 있는, 비디오 더코더의 일 예를 예시하는 블록 다이어그램이다.
도 4 는 본 개시의 기술들과 부합하는, 비디오 데이터의 픽처들의 그룹들 (GOP들) 의 픽처들 중에서 참조 계층들의 일 예를 예시하는 개념 다이어그램이다.
도 5 는 본 개시의 기술들과 부합하는,비디오 디코더에 의해 비디오 데이터의 하나 이상의 픽처들을 포함하는 비트스트림의 랜덤 액세스를 수행하는 예시적인 방법을 예시하는 플로우 차트이다.
도 6 은 본 개시의 기술들과 부합하는,비디오 인코더에 의해 비디오 데이터의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하는 예시적인 방법을 예시하는 플로우 차트이다.
본 개시물은 비디오 코딩에서 랜덤 액세스를 위한 기술들을 설명한다. 특히, 본 개시물은 하나 이상의 프레임들 또는 "픽처들" 을 포함하는 비디오 시퀀스들을 코딩하기 위한 몇몇 기술들을 설명하며,여기서 순응하는 비트스트림에서 특정 코딩된 비디오 시퀀스 (CVS) 의 제 1 코딩된 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처일 수도 있다. 예를 들어, 그 기술들과 부합하여, 제 1 코딩된 픽처는 클린 랜덤 액세스 (CRA) 픽처일 수도 있다.
일 예로서, 본 개시물의 기술들은 예측가능하고 정의된 방식, 또는 "표준" 방식으로 비-IDR RAP 픽처에서 시작하는 비트스트림을 성공적으로 디코딩하기 위한 기술들을 따르는 비디오 디코더를 인에이블할 수도 있다. 예를 들면, 개시된 기술들은 순응하는 비디오 디코더가 비트스트림에 또한 포함된 제 1 코딩된 픽처와 연관된 이른바 "리딩 픽처들" 의 다양한 출력 및 참조 속성들을 조종할 수 있게 할 수도 있다. 결과적으로, 기술들은 다른 기술들에 비해, 비디오 디코더에 의한 비트스트림의 상대적으로 개선된 랜덤 액세스를 가능하게 할 수도 있다. 예를 들어, 기술들은 다른 기술들 (예컨대, 오직 IDR 픽처들로부터 비트스트림의 랜덤 액세스를 허용하는 기술들) 과 비교하여, 비디오 디코더가 상대적으로 더 많은 시작 포인트들에서 비트스트림을 디코딩하거나 비트스트림의 픽처들 (즉, 비-IDR 픽처들) 에 액세스할 수 있도록 함으로써 비트스트림의 "더 세밀한 (finer)" 또는 더 밀집된 (more granular) 랜덤 액세스를 용이하게 할 수도 있다. 부가적으로, 기술들은 순응하는 비디오 디코더가 예컨대, 참조 픽처들로서 제 1 픽처와 연관된 리딩 픽처들을 출력 및/또는 사용하는 것을 회피함으로써, 비트스트림에 또한 포함된 하나 이상의 다른 픽처들의 시각 품질을 개선할 수 있도록 할 수도 있다.
대안적으로, 다른 예로서, 개시된 기술들은 그 기술들에 순응하는 비디오 인코더가 비-IDR RAP 픽처인 비트스트림의 제 1 코딩된 픽처와 연관된 리딩 픽처들을 제외시키는 비트스트림을 생성할 수 있도록 할 수도 있다. 결과적으로, 개시된 기술들에 순응하는 비디오 디코더는 예측가능한 및 정의된 방식으로 비트스트림을 성공적으로 디코딩할 수도 있다.
이에 따라, 본 개시의 기술들을 사용하는 것은 비디오 인코딩 및 디코딩 시스템들 및 디바이스들의 상호동작가능성, 및 일반적으로 다양한 비디오 애플리케이션들에서 빈번하게 발생할 수도 있는 비트스트림 랜덤 액세스에 대한 사용자 경험을 개선시킬 수도 있다.
구체적으로, 본원에 설명된 기술들은 다른 기술들과 비교하여, 다음의 신규한 양태들 중 적어도 하나 이상을 포함할 수도 있다: (1) 비-IDR RAP 픽처 (예컨대, CRA 픽처) 로부터 랜덤 액세스의 발생을 검출하는 것; (2) 디코딩 순서에서는 비-IDR RAP 픽처를 뒤따르지만, 출력 순서에서는 비-IDR RAP 픽처를 선행하는 하나 이상의 픽처들 (예컨대, 비-IDR RAP 픽처의 하나 이상의 "리딩 픽처들") 을 식별하고 디코딩하는 것; 및 (3) 비-IDR RAP 픽처의 하나 이상의 리딩 픽처들의 각각이 대응하는 시그널링된 신택스 엘리먼트 output_flag 가 참 (true) 또는 1 과 동일할 경우 (즉, output_flag 가 개별 픽처가 출력될 것을 나타낼 경우) 에도 출력되지 않고, 개별 픽처가 디코딩 순서와 출력 순서에서 비-IDR RAP 픽처를 뒤따르는 임의의 다른 픽처들에 대한 참조 픽처로서 사용되지 않는 것을 명시하는 것.
이러한 방식으로, 비디오 데이터의 하나 이상의 픽처들을 포함하고 비-IDR RAP 픽처에서 시작하는 비트스트림은 본 개시의 기술들에 순응하는 비디오 디코더에 의해 예측가능하고 정의된 방식으로 디코딩될 수도 있다. 대안적으로, 개시된 기술들에 순응하는 비디오 인코더는 비디오 데이터의 하나 이상의 픽처들을 포함하고 비-IDR RAP 픽처에서 시작하는 비트스트림을 생성하여, 비트스트림이 기술들에 순응하는 비디오 디코더에 의해 예측가능하고 정의된 방식으로 디코딩될 수 있도록 한다. 결과적으로, 본 개시의 기술들을 사용할 경우, 비디오 데이터의 하나 이상의 픽처들을 포함하는 비트스트림의 랜덤 액세스를 수행할 때 사용자 경험에서의 상대적인 개선이 발생할 수도 있다. 특히, 개시된 기술들을 사용할 경우, 랜덤 액세스의 입도뿐만 아니라, 비트스트림의 하나 이상의 픽처들의 시각적 품질 및/또는 하나 이상의 픽처들을 전체로서 포함하는 CVS 의 시각적 품질에 있어서 상대적인 개선이 발생할 수도 있다.
도 1 은 본 개시의 기술들과 부합하는, 어드밴스드 디코더 픽처 버퍼 (DPB) 관리를 사용하는 랜덤 액세스를 위한 기술들을 수행할 수도 있는, 비디오 인코딩 및 디코딩 시스템의 일 예를 예시하는 블록 다이어그램이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은 목적지 디바이스 (14) 에 의해 이후에 디코딩될 인코딩된 비디오를 생성하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 데스크탑 컴퓨터들, 노트북(즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋탑박스들, 소위 "스마트" 폰들과 같은 전화 핸드셋들, 소위 "스마트" 패드들, 텔레비젼들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 콘솔들, 비디오 스트리밍 디바이스 등을 포함하는 광범위의 디바이스들 중 임의의 것을 포함할 수도 있다. 몇몇 경우들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신을 위해 장비될 수도 있다.
목적지 디바이스 (14) 는 디코딩될 인코딩된 비디오 데이터를 링크 (16) 를 통해 수신할 수도 있다. 링크 (16) 는 인코딩된 비디오 데이터를 소스 디바이스 (12) 에서 목적지 디바이스(14) 로 이동시킬 수 있는 임의의 타입의 매체 또는 디바이스를 포함할 수도 있다. 일 실시예에서, 링크 (16) 는 소스 디바이스(12)로 하여금 인코딩된 비디오 데이터를 목적지 디바이스 (14) 에 실시간으로 직접 송신하게 하는 통신 매체를 포함할 수도 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라 변조되고, 목적지 디바이스(14)로 송신될 수도 있다. 통신 매체는 임의의 무선 또는 유선 통신 매체, 예컨대 무선 주파수(RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들을 포함할 수도 있다. 통신 매체는 패킷 기반의 네트워크, 예컨대 근거리 통신망, 원거리 통신망, 또는 인터넷과 같은 글로벌 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 에서 목적지 디바이스 (14) 로의 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
대안적으로, 인코딩된 데이터는 출력 인터페이스 (22) 에서 저장 디바이스 (24) 로 출력될 수도 있다. 마찬가지로, 인코딩된 데이터는 입력 인터페이스 (26) 에 의해 저장 디바이스 (24) 로부터 액세스될 수도 있다. 저장 디바이스 (24) 는 하드 드라이브, 블루레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 휘발성 또는 비휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적절한 디지털 저장 매체와 같은 임의의 다양한 분산된 또는 로컬로 액세스된 데이터 저장 매체를 포함할 수도 있다. 다른 실시예에서, 저장 디바이스 (24) 는 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오를 유지할 수도 있는 다른 중간 저장 디바이스 또는 파일 서버에 대응할 수도 있다. 목적지 디바이스 (14) 는 스트리밍 또는 다운로드를 통해 저장 디바이스 (24) 로부터의 저장된 비디오 데이터에 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장할 수 있고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수 있는 임의의 타입의 서버일 수도 있다. 예시적인 파일 서버들은 (예를 들면 웹사이트용의) 웹서버, FTP 서버, NAS(network attached storage) 디바이스들, 또는 로컬 디스크 드라이브를 포함한다. 목적지 디바이스 (14) 는 인터넷을 접속을 포함하는 임의의 표준 데이터 접속을 통해 인코딩된 비디오 데이터에 액세스할 수도 있다. 이것은 파일 서버에 저장된 인코딩된 비디오 데이터를 액세스하는데 적합한 무선 채널 (예를 들면, 와이파이 접속), 유선 접속 (예를 들면, DSL, 케이블 모뎀 등), 또는 이들의 조합을 포함할 수도 있다. 저장 디바이스 (24) 로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들의 조합일 수도 있다.
본 개시의 기술들은 무선 애플리케이션들 또는 세팅들에 반드시 제한되는 것은 아니다. 기술들은 임의의 다양한 멀티미디어 애플리케이션들, 예컨대 공중 경유 (over-the-air) 텔레비젼 브로드캐스트들, 케이블 텔레비젼 송신들, 위성 텔레비젼 송신들, 예를 들면 인터넷을 통한 스트리밍 비디오 송신들, 데이터 저장 매체 상의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩 또는 다른 애플리케이션들을 지원하여 비디오 코딩에 적용될 수도 있다. 몇몇 실시예들에서, 시스템 (10) 은, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 및/또는 영상 전화와 같은 애플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1의 실시예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20) 및 출력 인터페이스 (22) 를 포함한다. 몇몇 경우들에서, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 포함할 수도 있다. 소스 디바이스 (12) 에서, 비디오 소스 (18) 는 비디오 캡쳐 디바이스, 예컨대 비디오 카메라, 이전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 비디오 컨텐츠 공급자로부터 비디오를 수신하는 비디오 공급 인터페이스, 및/또는 소스 비디오로서 컴퓨터 그래픽 데이터를 생성하는 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합과 같은 소스를 포함할 수도 있다. 일 예로서, 비디오 소스 (18) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 본 개시에서 설명된 기술들은 일반적으로 비디오 코딩에 적용될 수 있으며, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다.
캡쳐된, 프리-캡쳐된, 또는 컴퓨터에 의해 생성된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 데이터는 소스 디바이스 (12) 의 출력 인터페이스 (22) 를 통해 목적지 디바이스 (14) 에 직접 송신될 수도 있다. 인코딩된 비디오 데이터는 또한 (또는 대안적으로), 디코딩 및/또는 재생을 위한, 목적지 디바이스 (14) 또는 다른 디바이스들에 의한 이후 액세스를 위해 저장 디바이스 (24) 에 저장될 수도 있다.
목적지 디바이스 (14) 는 입력 인터페이스 (26), 비디오 디코더 (30), 및 디스플레이 디바이스 (28) 를 포함한다. 몇몇 경우들에서, 입력 인터페이스 (26) 는 수신기 및/또는 모뎀을 포함할 수도 있다. 목적지 디바이스 (14) 의 입력 인터페이스 (26) 는 링크 (16) 를 통해 또는 저장 디바이스 (24) 로부터 인코딩된 비디오 데이터를 수신한다. 링크 (16) 를 통해 통신된, 또는 저장 디바이스 (24) 에 제공된 인코딩된 비디오 데이터는, 비디오 데이터를 디코딩시, 비디오 디코더, 예컨대 비디오 디코더 (30) 에 의한 사용을 위해 비디오 인코더 (20) 에 의해 생성된 다양한 신택스 엘리먼트들을 포함할 수도 있다. 이러한 신택스 엘리먼트들은 통신 매체 상에서 송신되거나, 저장 매체 상에 저장되거나, 또는 파일 서버 상에 저장된 인코딩된 비디오 데이터와 함께 포함될 수도 있다.
디스플레이 디바이스 (28) 는 목적지 디바이스 (14) 와 통합될 수도 있거나 또는 목적지 디바이스 (14) 외부에 있을 수도 있다. 몇몇 실시예들에서, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함할 수도 있고, 또한 외부 디스플레이 디바이스와 인터페이싱하도록 구성될 수도 있다. 다른 실시예들에서, 목적지 디바이스 (14) 는 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (28) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 또는 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 비디오 압축 표준, 예컨대 ITU-T VCEG (Video Coding Experts Group) 및 ISO/IEC MPEG (Motion Picture Experts Group) 의 JCT-VC (Joint Collaborative Team on Video Coding) 에 의해 현재 개발 중에 있는 HEVC (High Efficiency Video Coding) 표준에 따라 동작할 수도 있고, HEVC 테스트 모델 (HM) 에 순응할 수도 있다. 대안적으로, 비디오 인코더 (20) 및 비디오 디코더 (30) 는, 대안적으로 MPEG-4, 파트 10, AVC 로 지칭되는 ITU-T H.264 표준과 같은 다른 특허 또는 산업 표준들, 또는 그러한 표준들의 확장안들에 따라 동작할 수도 있다. 그러나, 본 개시의 기술들은 임의의 특정 코딩 표준에 제한되지 않는다. 비디오 압축 표준들의 다른 실시예들은 MPEG-2 및 ITU-T H.263을 포함한다. "HEVC Working Draft 8" 또는 "WD8" 로 지칭되는 HEVC 표준의 최근 드래프트는 Bross 등에 의한 문서 JCTVC-J1003_d7, "High efficiency video coding (HEVC) text specification draft 8", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 10th Meeting: Stockholm, SE, 11-20 July 2012 에 설명되며, 이는 2012 년 10 월 17 일 현재 http://phenix.int-evry.fr/jct/doc_end_user/documents/10_Stockholm/wg11/JCTVC-J1003-v8.zip 에서 다운로드할 수 있다.
본 개시에서 "HEVC Working Draft 4" 또는 "WD4" 로 지칭되는 HEVC 표준의 다른 드래프트는 Bross 등에 의한 문서 JCTVC-F803, "WD4: Working Draft 4 of High-Efficiency Video Coding", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 6th Meeting: Torino, IT, 14-22 July 2011 에 설명되며, 이는 2012 년 10 월 17 일 현재 http://phenix.int-evry.fr/jct/doc_end_user/documents/6_Torino/wg11/JCTVC-F803-v8.zip 에서 다운로드할 수 있다.
본 개시에서 "HEVC Working Draft 5" 또는 "WD5" 로 지칭되는 HEVC 표준의 또 다른 드래프트는 Bross 등에 의한 문서 JCTVC-G1103, "WD5: Working Draft 5 of High-Efficiency Video Coding", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 7th Meeting: Geneva, CH, 21-30 November, 2011 에 설명되며, 이는 2012 년 10 월 17 일 현재 http://phenix.int-evry.fr/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G1103-v12.zip 에서 다운로드할 수 있다.
도 1 에 도시되지 않았지만, 몇몇 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 오디오 인코더 및 디코더와 통합될 수도 있고, 공통 데이터 스트림 또는 개별적인 데이터 스트림들에서 오디오 및 비디오 양자의 인코딩을 핸들링하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용 가능하다면, 몇몇 실시예들에서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 유저 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜에 순응할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 집적회로 (ASIC) 들, 필드 프로그래머블 게이트 어레이 (FPGA) 들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적절한 인코더 및 디코더 회로 중 임의의 회로로서 구현될 수도 있다. 기술들이 부분적으로 소프트웨어로 구현되는 경우, 디바이스는 그 소프트웨어에 대한 명령들을 적절한 비일시적 컴퓨터 판독가능 매체에 저장할 수도 있고, 본 개시의 기술들을 수행하기 위해 하나 이상의 프로세서들을 사용하는 하드웨어에서 그 명령들을 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 것도 결합된 인코더/디코더 ("CODEC") 의 부분으로서 각각의 디바이스에 통합될 수도 있다.
HEVC 표준화 노력들은 HEVC 테스트 모델 (HM) 로 지칭되는 비디오 코딩 디바이스의 신흥 모델에 기초한다. HM 은, 예를 들면, ITU-T H.264/AVC에 따른 기존 디바이스들에 비해 비디오 코딩 디바이스들의 여러가지 추가적인 성능들을 가정한다. 예를 들면, H.264 가 9개의 인트라 예측 인코딩 모드들을 제공하지만, HM 은 35 개만큼 많은 인트라 예측 인코딩 모드들을 제공할 수도 있다.
일반적으로, HM의 작업 모델은, 비디오 프레임 또는 픽처가 루마 및 크로마 샘플들 양자를 포함하는 최대 코딩 유닛들 (LCU) 또는 트리블록들의 시퀀스로 분할될 수도 있다. 트리블록은 H.264 표준의 매크로블록과 유사한 목적을 갖는다. 슬라이스는 코딩 순서에서 다수의 연속적인 트리블록들을 포함한다. 비디오 프레임 또는 픽처는 하나 이상의 슬라이스들로 파티셔닝될 수도 있다. 각각의 트리블록은 쿼드트리에 따라 코딩 유닛들 (CU들)로 분할될 수도 있다. 예를 들면, 쿼트트리의 루트 노드로서의 트리블록은 4 개의 차일드 노드들로 분할되고, 계속해서 각각의 차일드 노드는 페어런트 노드일 수도 있고 다른 4 개의 차일드 노드들로 분할될 수도 있다. 최종적으로, 쿼드트리의 리프 노드로서의 분할되지 않은 차일드 노드는 코딩 노드, 즉, 코딩된 비디오 블록을 포함한다. 코딩된 비트스트림과 연관된 신택스 데이터는 트리블록이 분할될 수도 있는 최대 횟수를 정의할 수도 있고, 이는 또한 코딩 노드들의 최소 사이즈를 정의할 수도 있다.
CU 는 코딩 노드 및 코딩 노드와 연관된 변환 유닛들 (TU들) 및 예측 유닛들 (PU들) 을 포함한다. CU 의 사이즈는 코딩 노드의 사이즈에 대응하고 정사각형 형상이어야만 한다. CU 의 사이즈는 8x8 픽셀들에서 최대 64x64 픽셀들 이상의 픽셀들을 갖는 트리블록의 사이즈까지의 범위일 수도 있다. 각각의 CU 는 하나 이상의 PU들 및 하나 이상의 TU들을 포함할 수도 있다. CU 와 연관된 신택스 데이터는, 예를 들면, CU 를 하나 이상의 PU 들로 파티셔닝하는 것을 설명할 수도 있다. 파티셔닝 모드들은, CU 가 스킵 또는 다이렉트 모드 인코딩되는지, 인트라 예측 모드 인코딩되는지, 또는 인터 예측 모드 인코딩되는지 여부 사이에서 상이할 수도 있다. PU들은 비-정사각형의 형상으로 파티셔닝될 수도 있다. CU 와 연관된 신택스 데이터는, 예를 들면, CU 를 쿼드트리에 따라 하나 이상의 TU들로 파티셔닝하는 것을 또한 설명할 수도 있다. TU 는 정사각형 또는 비정사각형 형상일 수 있다.
HEVC 표준은 TU 들에 따른 변환들을 허용하는데, 이것은 상이한 CU 들에 대해 상이할 수도 있다. TU 들은 파티셔닝된 LCU 에 대해 정의된 주어진 CU 내에서의 PU들의 사이즈에 기초하여 통상 크기가 정해지지만, 이것이 항상 그런 것은 아닐 수도 있다. TU들은 통상 PU들과 동일한 사이즈이거나 또는 더 작다. 몇몇 실시예들에서, CU 에 대응하는 잔여 샘플들은, "잔여 쿼드 트리 (RQT)"로서 알려진 쿼드트리 구조를 사용하여 더 작은 유닛들로 서브분할될 수도 있다. RQT의 리프 노드들은 TU들로 지칭될 수도 있다. TU들과 연관된 픽셀 차이값들은 변환되어 변환 계수들을 생성할 수도 있고, 변환 계수는 양자화될 수도 있다.
일반적으로, PU 는 예측 프로세스와 관련된 데이터를 포함한다. 예를 들면, PU 가 인트라 모드 인코딩되면, PU 는 PU 에 대한 인트라 예측 모드를 설명하는 데이터를 포함할 수도 있다. 다른 예로서, PU 가 인터 모드 인코딩되면, PU 는 PU 에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. PU 에 대한 모션 벡터를 정의하는 데이터는, 예를 들면, 모션 벡터의 수평 컴포넌트, 모션 벡터의 수직 컴포넌트, 모션 벡터에 대한 해상도(예를 들면, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가리키는 참조 픽처, 및/또는 모션 벡터에 대한 참조 픽처 리스트 (예를 들면, List 0, List 1, 또는 List C) 를 설명할 수도 있다.
일반적으로, TU 는 변환 및 양자화 프로세스들에 대해 사용된다. 하나 이상의 PU들을 갖는 소정의 CU 는 하나 이상의 TU들을 또한 포함할 수도 있다. 예측에 후속하여, 비디오 인코더 (20) 는 PU 에 대응하는 잔여 값들을 계산할 수도 있다. 잔여 값들은, 변환 계수들로 변환되고, 양자화되고, TU들을 사용하여 스캐닝되어 엔트로피 코딩을 위한 직렬화된 변환 계수들을 생성할 수도 있는 픽셀 차이값들을 포함한다. 본 개시는 CU 의 코딩 노드를 지칭하기 위해 통상적으로 용어 "비디오 블록" 또는 간단히 "블록"을 사용한다. 몇몇 특정 경우들에서, 본 개시는 또한 코딩 노드와 PU들 및 TU들을 포함하는 트리블록, 즉, LCU 또는 CU 를 지칭하기 위해 용어 "비디오 블록"을 사용할 수도 있다.
비디오 시퀀스는 비디오 프레임들 또는 픽처들의 시리즈를 통상 포함한다. 픽처들의 그룹 (GOP) 은 하나 이상의 비디오 픽처들의 시리즈를 일반적으로 포함한다. GOP 는 GOP 의 헤더, 하나 이상의 픽처들의 헤더, 또는 GOP 에 포함된 픽처들의 수를 설명하는 신택스 데이터를 포함할 수도 있다. 픽처의 각각의 슬라이스는 개별 슬라이스에 대한 인코딩 모드를 설명하는 슬라이스 신택스 데이터를 포함할 수도 있다. 비디오 인코더 (20) 는 비디오 데이터를 인코딩하기 위해 개개의 비디오 슬라이스들 내의 비디오 블록들에 대해 통상 동작한다. 비디오 블록은 CU 내의 코딩 노드에 대응할 수도 있다. 비디오 블록들은 고정의 또는 가변적인 사이즈들을 가질 수도 있고, 특정 코딩 표준에 따라 사이즈가 상이할 수도 있다.
일 예로서, HM 은 다양한 PU 사이즈들에서의 예측을 지원한다. 특정 CU 의 사이즈가 2Nx2N 이라고 가정하면, HM 은 2Nx2N 또는 NxN 의 PU 사이즈들에서의 인트라 예측, 및 2Nx2N, 2NxN, Nx2N, 또는 NxN 의 대칭적 PU 사이즈들에서의 인터 예측을 지원한다. HM 은 2NxnU, 2NxnD, nLx2N, 및 nRx2N 의 PU 사이즈들에서의 인터 예측에 대한 비대칭적 파티셔닝을 또한 지원한다. 비대칭적 파티셔닝에서, CU 의 한 방향은 파티셔닝되지 않지만, 다른 방향은 25% 및 75% 로 파티셔닝된다. 25% 파티셔닝에 대응하는 CU 의 부분은 "위로", "아래로","좌측", 또는 "우측"의 표시가 후속하는 "n" 에 의해 표시된다. 따라서, 예를 들면, "2NxnU" 은 수평적으로 상부 2Nx0.5N PU 와 하부 2Nx1.5N PU 로 분할되는 2Nx2N CU 를 가리킨다.
본 개시에서, "NxN" 및 "N 바이 N", 예컨대 16x16 픽셀들 또는 16 바이 16 픽셀들과 같이 수직 및 수평 치수들에 의해 비디오 블록의 픽셀 치수들을 지칭하기 위해 상호 교환적으로 사용될 수도 있다. 일반적으로, 16x16 블록은 수직 방향으로 16 픽셀들 (y=16) 및 수평 방향으로 16 픽셀들 (x=16) 을 구비할 수도 있다. 마찬가지로, NxN 블록은 수직 방향으로 N 픽셀들 및 수평 방향으로 N 픽셀들을 구비하는데, 여기서 N은 음이 아닌 정수 값을 나타낸다. 블록에서의 픽셀들은 행들 및 열들로 정렬될 수도 있다. 또한, 블록들은 수직 방향에서와 동일한 수의 픽셀들을 수평 방향에서 가져야할 필요는 없다. 예를 들면, 블록들은 NxM 픽셀들을 포함할 수도 있으며, 여기서 M 은 N 과 반드시 동일하지는 않다.
CU 의 PU들을 사용하는 인트라 예측 또는 인터 예측 코딩에 후속하여, 비디오 인코더 (20) 는 CU 의 TU들에 대한 잔여 데이터를 계산할 수도 있다. PU들은 공간 도메인 (픽셀 도메인으로도 칭해짐) 에서의 픽셀 데이터를 포함할 수도 있고, TU들은, 잔여 비디오 데이터에 대한, 예를 들면, 이산 코사인 변환 (DCT), 정수 변환, 웨이브릿 변환, 또는 개념적으로 유사한 변환과 같은 변환의 적용에 후속하는, 변환 도멘인에서의 계수들을 포함할 수도 있다. 잔여 데이터는 PU들에 대응하는 예측 값들과 인코딩되지 않은 픽처의 픽셀들 사이의 픽셀 차이들에 대응할 수도 있다. 비디오 인코더 (20) 는 CU 에 대한 잔여 데이터를 포함하는 TU들을 형성하고, 그 후에, TU들을 변환하여 CU 에 대한 변환 계수들을 생성할 수도 있다.
변환 계수들을 생성하기 위한 임의의 변환들에 후속하여, 비디오 인코더 (20) 는 변환 계수들의 양자화를 수행할 수도 있다. 양자화는, 계수들을 표현하기 위해 사용되는 데이터의 양을 최대한 줄이기 위해 변환 계수들이 양자화되어 추가적인 압축을 제공하는 프로세스를 일반적으로 지칭한다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 깊이를 감소시킬 수도 있다. 예를 들면, n-비트 값은 양자화 동안 m-비트 값으로 반내림 (round down) 될 수도 있는데, 여기서 n 은 m 보다 크다.
몇몇 실시예들에서, 비디오 인코더 (20) 는 엔트로피 인코딩될 수 있는 직렬화된 벡터를 생성하기 위해 양자화된 변환 계수들을 스캔하기 위한 미리 정의된 스캐닝 또는 "스캔" 순서를 활용할 수도 있다. 다른 실시예들에서, 비디오 인코더 (20) 는 적응적 스캔을 수행할 수도 있다. 양자화된 변환 계수들을 스캐닝하여 1차원 벡터를 형성한 이후, 비디오 인코더 (20) 는, 예를 들면, 콘텍스트 적응 가변 길이 코딩 (CAVLC), 콘텍스트 적응 이진 산술 코딩(CABAC), 신택스 기반 콘텍스트 적응 이진 산술 코딩 (SBAC), 확률 인터벌 파티셔닝 엔트로피 (PIPE) 코딩, 또는 다른 엔트로피 인코딩 방법에 따라, 1차원 벡터를 엔트로피 인코딩할 수도 있다. 비디오 인코더 (20) 는 또한 비디오 데이터를 디코딩할 시 비디오 디코더 (30) 에 의해 사용하기 위한 인코딩된 비디오와 연관된 신택스 엘리먼트들을 엔트로피 인코딩할 수도 있다.
CABAC 를 수행하기 위해, 비디오 인코더 (20) 는 콘텍스트 모델 내의 콘텍스트를 송신될 심볼에 할당할 수도 있다. 콘텍스트는, 예를 들면, 심볼의 이웃하는 값들이 제로 값인지 여부에 관련될 수도 있다. CAVLC를 수행하기 위해, 비디오 인코더 (20) 는 송신될 심볼에 대한 가변 길이 코드를 선택할 수도 있다. VLC에서의 코드워드들은, 상대적으로 더 짧은 코드들이 더 높은 확률의 심볼들에 대응하고, 상대적으로 더 긴 코드들이 더 낮은 확률의 심볼들에 대응하도록 구성될 수도 있다. 이러한 방식으로, VLC의 사용은, 예를 들면, 송신될 각각의 심볼에 대해 동일한 길이의 코드워드들을 사용하는 것을 통해 비트 절약을 달성할 수도 있다. 확률 결정은 심볼들에 할당된 콘텍스트에 기초할 수도 있다.
일부 예들에서, 본 개시의 기술들은 비디오 코딩에서 랜덤 액세스에 관련된다. 특히, 본 개시는 하나 이상의 프레임들 또는 픽처들 을 포함하는 비디오 시퀀스들을 코딩하기 위한 몇몇 기술들을 설명하며, 여기서 순응하는 비트스트림에서 CVS 의 제 1 코딩된 픽처는 IDR 픽처가 아닌 RAP 픽처일 수도 있다. 예를 들어, 개시된 기술들과 부합하여, 제 1 코딩된 픽처는 CRA 픽처일 수도 있다.
다시 말해서, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림 (여기서 비트스트림의 제 1 코딩된 픽처가 비-IDR RAP 픽처임) 은 본 개시의 기술들에 따라 "순응하는" 비트스트림으로 간주될 수도 있다. 다른 방식으로 언급하면, 개시된 기술들에 순응하는 비디오 디코더는 예측가능한 및 정의된 방식으로 그러한 비트스트림을 성공적으로 디코딩할 수도 있다. 구체적으로, 본 개시의 기술들은, 비디오 디코더에 의해, 제 1 코딩된 픽처와 연관된 리딩 픽처들의 디코딩뿐만 아니라, 출력 및 참조 특성들을 핸들링하는 방법들을 포함한다. 대안적으로, 기술들은 비디오 인코더에 의해, 비-IDR RAP 픽처인 비트스트림의 제 1 코딩된 픽처와 연관된 리딩 픽처들을 비트스트림으로부터 제외시키는 순응하는 비트스트림을 생성하는 것을 포함하며, 따라서 그 비트스트림은 예측가능한 및 정의된 방식으로 비디오 디코더에 의해 성공적으로 디코딩될 수도 있다.
본 개시에서, CVS 의 IDR 픽처는 일반적으로, CVS 내부 또는 외부의 임의의 다른 픽처들을 지칭하는 것이 아니라, 인트라 예측 코딩을 사용하여 코딩되는 CVS 내에 포함된 픽처, 즉 코딩된 "I" 픽처를 지칭할 수도 있다. 부가적으로, IDR 픽처는 CVS 와 연간된 디코딩 순서에 따라 IDR 픽처 다음에 CVS 내에 포함된 모든 다른 픽처들이 디코딩 순서에 따라 IDR 픽처를 선행하는 임의의 픽처들에 대한 참조 없이 디코딩되는 픽처를 지칭할 수도 있다. 예를 들어, 일부 기술들 (예컨대, H.264/MPEG-4 Part 10/AVC; 이하 H.264/AVC) 과 부합하여, CVS 는 CVS 와 연관된 디코딩 순서에 따라 CVS 의 제 1 픽처로서의 IDR 픽처뿐만 아니라 하나 이상의 추가의 IDR 픽처들을 포함할 수도 있다. 일 예로서, CVS 는 하나 이상의 GOP들을 포함할 수도 있고, 여기서 각각의 GOP 는 IDR 픽처에서 시작하여, 다음에 하나 이상의 다른 비-IDR 픽처들 (예컨대, 다른 참조 픽처들로부터의 순방향 및 양방향 예측에 기초하여 인터 예측 코딩을 사용하여 코딩되는, 이른바 "P" 및 "B" 픽처들) 이 뒤따른다.
전술된 기술들 (예컨대, H.264/AVC) 과 부합하여, CVS 의 랜덤 액세스는 CVS 의 IDR 픽처, 에컨대 CVS 내에 포함된 특정 GOP 의 IDR 픽처를 제 1 디코딩함으로써 달성될 수도 있다. IDR 픽처들이 이들 기술들에 따라 전술된 것과 같이 임의의 다른 픽처들에 대한 참조 없이 디코딩될 수도 있기 때문에, CVS 의 랜덤 액세스는 각각의 GOP 의 시작부에 위치된 IDR 픽처를 제 1 디코딩함으로써 GOP 기반으로 수행될 수도 있다. 다시 말해서, 일부 기술들 (예컨대, H.264/AVC) 에 따르면, CVS 의 랜덤 액세스는 오직 CVS 내에 포함된 IDR 픽처로부터만 수행될 수도 있다. 이와 같이, 이들 기술들에서, 순응하는 비트스트림에서 특정 CVS 의 제 1 코딩된 픽처가 RAP 픽처가 되도록 하기 위해, 픽처는 IDR 픽처이어야만 한다.
전술된 기술들과는 대조적으로, 본 개시의 기술들에 따라, 비-IDR 픽처 (예컨대, CRA 픽처) 로부터 시작하는 비트스트림의 랜덤 액세스는 순응하는 비디오 디코더들에 의해 예측가능하고 정의된 방식으로, 또는 "표준" 방식으로 수행될 수도 있다. 결과적으로, 개시된 기술들은 비디오 인코더 및 디코더 시스템들 및 디바이스들의 상호동작가능성뿐만 아니라, 일반적으로 다양한 비디오 애플리케이션들에서 빈번하게 발생할 수도 있는 비트스트림 랜덤 액세스에 대한 사용자 경험을 상당히 개선시킬 수도 있다. 예를 들면, 본원에 설명된 기술들은 다른 기술들과 비교하여 다음의 신규한 양태들 중 적어도 하나 이상을 포함할 수도 있다:
(1) 비-IDR RAP 픽처 (예컨대, CRA 픽처) 로부터 랜덤 액세스의 발생을 검출하는 것;
(2) 디코딩 순서에서는 비-IDR RAP 픽처를 뒤따르지만, 출력 순서에서는 비-IDR RAP 픽처를 선행하는 하나 이상의 픽처들 (예컨대, 비-IDR RAP 픽처의 하나 이상의 "리딩 픽처들") 을 식별하고 디코딩하는 것; 및
(3) 비-IDR RAP 픽처의 하나 이상의 리딩 픽처들의 각각이 대응하는 시그널링된 신택스 엘리먼트 output_flag 가 참 또는 1 과 동일할 경우 (즉, output_flag 가 개별 픽처가 출력될 것을 나타낼 경우) 에도 출력되지 않고, 개별 픽처가 디코딩 순서와 출력 순서에서 비-IDR RAP 픽처를 뒤따르는 임의의 다른 픽처들에 대한 참조 픽처로서 사용되지 않는 것을 명시하는 것.
전술된 것과 같이, 일부 기술들 (예컨대, H.264/AVC) 에 따라, IDR 픽처는 CVS 에 대하여 종래의 액세스 포인트 (예컨대, 랜덤 액세스 포인트 또는 "RAP" 픽처) 로서 기능할 수도 있다. 예를 들면, IDR 픽처는 때때로 GOP 로 지칭되는, CVS 의 독립적으로 디코딩 가능한 부분의 시작부에 포함될 수도 있다. CVS 의 랜덤 액세스의 이러한 구현은 때때로 "폐쇄형 GOP" 구현으로 지칭되며, 여기서 특정 GOP 내의 어떤 픽처들도 GOP 의 IDR 픽처 이전에 발생하는 임의의 픽처들, 예컨대 CVS 와 연관된 디코딩 순서에 따라 CVS 의 선행하는 GOP 또는 다른 선행하는 CVS 의 GOP 내에 포함된 픽처들을 참조하지 않는다. 이미 전술된 것과 같이, 본 문맥에서, GOP 는 하나 이상의 "P" 및/또는 "B" 픽처들이 뒤따르는 IDR 픽처로서 정의될 수도 있다.
이른바 "개방형 GOP" 구현에서, CRA 픽처는 폐쇄형 GOP 구현을 참조하여 전술된 IDR 픽처와 유사한 목적으로 기능한다. 예를 들어, 본 문맥에서, GOP 는 하나 이상의 "P" 및/또는 "B" 픽처들이 뒤따르는 CRA 픽처로서 정의될 수도 있다. 그러나, 폐쇄형 GOP 구현과 대조적으로, 개방형 GOP 구현에서, 특정 GOP 내에 포함된 픽처들은 GOP 의 CRA 픽처 이전에 발생하는 픽처들, 예컨대 CVS 와 연관된 디코딩 순서에 따라 CVS 의 선행하는 GOP 또는 다른 선행하는 CVS 의 GOP 내에 포함된 픽처들을 참조할 수도 있다. 예를 들어, 개방형 GOP 구현과 부합하여, CVS 와 연관된 디코딩 순서에 따라 CVS 의 하나의 GOP 의 (IDR 픽처와 유사하게, 인트라 예측된, 또는 "I" 픽처인) CRA 픽처를 뒤따르는 "B" 픽처는 CVS 의 선행하는 GOP 내에 포함된 픽처 (예컨대, "P" 또는 "B" 픽처) 를 참조할 수도 있다.
일부 기술들에 따르면, CVS 의 "B" 픽처는 종래에, CVS 와 연관된 출력 순서에서 "B" 픽처를 선행하는 픽처 및 "B" 픽처를 뒤따르는 픽처를 참조함으로써 예측되었다. 예를 들면, 실시예의 "B" 픽처는 CVS 와 연관된 출력 순서에서 "B" 픽처를 선행할 수도 있는, 선행하는 GOP 내에 포함된 픽처를 참조할 (즉, 참조 픽처로서 사용할) 수도 있고, 또한 출력 순서에서 "B" 픽처를 뒤따를 수도 있는 CRA 픽처를 참조할 (즉, 참조 픽처로서 사용할) 수도 있다. 다시 말해서, 실시예에서, "B" 픽처는 디코딩 순서에서는 CRA 픽처를 뒤따르지만, 출력 순서에서는 CRA 픽처를 선행한다. 이와 같이, "B" 픽처는 CRA 픽처의 "리딩 픽처" 로 간주될 수도 있다. 그러나, 다른 실시예들에서, "B" 픽처는 앞서 정의된 것과 같이 CRA 픽처의 리딩 픽처인 임의의 다른 타입의 픽처일 수도 있다.
전술된 실시예는 전술된 개방형 GOP 구현과 연관된 적어도 하나의 문제를 예시한다. 구체적으로, CVS 의 랜덤 액세스가 CVS 내에 포함된 CRA 픽처로부터 수행되는 경우들에서, CRA 의 리딩 픽처들은 정확히 디코딩될 수 없다. 이는 CRA 픽처가 CVS 의 제 1 코딩된 픽처인 경우들에서, CVS 와 연관된 디코딩 순서에서 CRA 픽처를 선행하는 임의의 픽처들이 디코딩되지 않고, 따라서 리딩 픽처들의 참조 픽처로서 사용될 수 없다는 사실로 인한 것이다. 따라서, 전술된 개방형 GOP 구현에서, 리딩 픽처들은 정확히 디코딩될 수 없으며, 따라서 디스플레이될 경우 사용자 경험을 손상시킬 수도 있다. 예를 들어, 디코딩될 경우, 리딩 픽처들은 에러있는 비디오 데이터를 포함할 수도 있고, 디스플레이 될 경우, 픽처들 자신뿐만 아니라, 일반적으로 CVS의 시각 품질을 저하시킬 수도 있다. 동일한 이유로, 개방형 GOP 구현에서, 디코딩 순서와 출력 순서 양자에서 CRA 픽처를 뒤따르는 CVS 의 다른 픽처들 (예컨대, "P" 픽처들) 은 리딩 픽처들을 참조하지 않을 수도 있거나 (이는 예컨대, 이들 리딩 픽처들이 디코딩될 경우, 에러있는 비디오 데이터를 포함할 수도 있기 때문임), 또는 디코딩 순서와 출력 순서에서 CRA 픽처를 선행하는 임의의 다른 픽처들을 참조하지 않을 수도 있다 (이는 예컨대, 이들 픽처들이 디코딩되지 않고, 따라서 참조 픽처들로서 사용될 수없기 때문임).
일반적으로 말해서, 전술된 기술들 (즉, IDR 픽처들을 사용하는 폐쇄형 GOP 구현 및 CDA 픽처들을 사용하는 개방형 GOP 구현) 중 어느 하나가 비디오 데이터의 CVS 의 랜덤 액세스를 인에이블할 수도 있다. 그러나, 예를 들어 H.264/AVC 와 같은 일부 코딩 표준들에 따르면, CRA 픽처에서 시작하는 비트스트림은 "비-순응하는" 비트스트림으로 간주된다. 예를 들어, 전술된 것과 같이, 예컨대 H.264/AVC 와 같은 일부 기술들에 따르면, 비트스트림은 IDR 픽처에서 시작하여야만 한다. 다시 말해서, 이들 기술들에 따르면, 오직 전술된 폐쇄형 GOP 랜덤 액세스 구현만이 지원될 수도 있다. 본 개시물의 기술들은 비디오 디코더가 비-순응하는 비트스트림 (즉, CRA 픽처에서 시작하고 개방형 GOP 구현에 순응하는 비트스트림) 을 핸들링하게 할 수도 있다. 다른 방식으로 언급하면, 본원에 설명된 기술들은 그러한 비트스트림을 "순응하는" 비트스트림으로 정의하는 것을 목표로 한다. 일부 실시예들에서, 본 개시물의 기술들에 따른 순응하는 비트스트림은, CRA 픽처들에서 시작하고 개방형 GOP 구현에 순응하는 비트스트림들뿐만 아니라, IDR 픽처들에서 시작하고 폐쇄형 GOP 구현에 순응하는 비트스트림들을 포함한다.
이미 전술된 것과 같이, CRA 픽처에서 발생하는 랜덤 액세스에 대하여 확인된 한가지 문제점은 CRA 픽처의 리딩 픽처들이 정확히 디코딩될 수도 없고, 그러므로 디스플레이될 경우 사용자 경험을 손상시킬 수도 있다는 사실과 관련된다. 본 개시물의 기술들은 이러한 문제점을, 디코딩을 수행함으로써 CRA 픽처로부터의 CVS 의 랜덤 액세스를 인에이블하는 것뿐만 아니라, 특정 방식으로 CRA 픽처와 연관된 리딩 픽처들의 출력 및 참조 특성들을 조종함으로써 어드레싱할 수도 있다. 구체적으로, 그 기술들은 다음 단계들 중 일부 또는 전부를 포함할 수도 있다:
단계 1: 하나 이상의 픽처들의 각각의 픽처 순서 카운트 (POC) 값이 CRA 픽처의 POC 값 미만일 경우 (즉, CVS 와 연관된 출력 순서에서 개별 픽처가 CRA 픽처를 선행함) 및 CVS 와 연관된 디코딩 순서에서 개별 픽처가 CRA 픽처를 뒤따를 경우, CVS 의 하나 이상의 픽처들을 CVS 의 CRA 픽처의 리딩 픽처로서 식별함.
단계 2: 하나 이상의 리딩 픽처들의 각각에 대하여, 개별 리딩 픽처가 디코딩을 위해 사용할 수 없는 픽처를 참조하는지 여부를 결정함.
단계 3: 가상 참조 픽처를 디코딩하기 위해 사용할 수 없는 픽처를 참조하는 것으로 결정되는 하나 이상의 리딩 픽처들의 각각에 대하여 생성함 (예컨대, CVS 와 연관된 루마 (또는 크로마) 값 범위의 중간에 대응하는 루마 (또는 크로마) 값들을 갖는 "중간" 루마 (또는 크로마) 픽처, 예컨대 "그레이" 픽처를 생성함).
단계 4: 대응하여 생성된 가상 참조 픽처를 사용하는 것뿐만 아니라, 임의의 나머지 리딩 픽처들을 디코딩하여 가상 참조 픽처가 생성되는 하나 이상의 리딩 픽처들의 각각을 디코딩함. (하나 이상의 리딩 픽처들의 디코딩은, 이하 도시되는 것과 같이 디코딩된 리딩 픽처들이 CVS 의 다른 픽처들에 대한 참조 픽처들로서 출력되거나 사용되지 않을 수도 있지만, 비디오 디코더에서, 예컨대 비디오 디코더의 DPB 내에서 원래의 CVS 타이밍 파라미터들을 유지하기 위하여 수행된다).
단계 5: 현재 output_flag 가 참 또는 "1" 과 동일할 경우에도 개별 리딩 픽처를 출력하지 않도록 하기 위해, 디코딩된 하나 이상의 리딩 픽처들의 각각과 연관된 output_flag 를 거짓 또는 "0" 으로 설정함. (대안적으로, 기술들은 개별 리딩 픽처를 출력하지 않도록 하기 위해, 참 또는 "1" 과 동일한 현재 output_flag 를 간단히 무시하거나 "마스킹" 하는 것을 포함할 수도 있다).
단계 6: 디코딩된 하나 이상의 리딩 픽처들의 각각이 디코딩 순서와 출력 순서 양자에서 CRA 픽처를 뒤따르는 CVS 의 임의의 다른 픽처들에 대하여 예측 (즉, 참조) 픽처로서 사용되는 것을 방지함.
추가로, 본원에 설명된 기술들은 디코딩 디바이스 (예컨대, 비디오 디코더 (30)) 보다는 인코딩 디바이스 (예컨대, 비디오 인코더 (20)) 에 적용가능할 수도 있다. 예를 들어, CVS 의 제 1 코딩된 픽처가 CRA 픽처일 경우들에서, 본 개시의 기술들에 순응하는 인텔리전트 비디오 인코더는 CRA 픽처의 임의의 리딩 픽처들을 비디오 디코더로 전송하는 것을 회피하도록 구성될 수도 있다. 일 예로서, 비디오 인코더는 CVS 와 연관된 디코딩 순서에 따라 CRA 픽처를 뒤따르는 오직 "P" 픽처들만을 전송하도록 구성될 수도 있다. 이를 달성하기 위해, 비디오 인코더는 일부 실시예들에서, CRA 픽처와 연관된 리딩 픽처들을 포함하는 모든 "액세스 유닛들" 또는 비교할만한 데이터 세트들을 드롭시킴으로써, 이른바 비트스트림 "서브세트" 를 생성하도록 구성될 수도 있다. 따라서, 앞서 예시된 대안적인 실시예에서, 비디오 디코더보다 비디오 인코더는, 비디오 디코더에서 비트스트림의 랜덤 액세스에 대한 사용자 경험 및 상호동작가능성을 개선시키기 위해, CVS 를 포함하는 비트스트림을 생성하는 것의 부분으로서 CVS 의 CRA 의 리딩 픽처들을 핸들링 (즉, 제거) 하도록 구성될 수도 있다.
이와 같이, 본원에 설명된 기술들에 부합하여, 순응하는 비트스트림에서 CVS 와 연관된 디코딩 순서에 따른 CVS 의 제 1 코딩된 픽처는 IDR 픽처 또는 CRA 픽처일 수도 있다. 다시 말해서, 본 개시의 기술들은 비트스트림을 정의함으로써 CVS 의 CRA 픽처에서 발생하는 랜덤 액세스를 인에이블할 수도 있으며, 여기서 CVS 와 연관된 디코딩 순서에 따른 CVS 의 제 1 코딩된 픽처는 순응하는 비트스트림으로서의 CRA 픽처이다. 예를 들어, 본 개시의 개술들은 특정 코딩 표준 (예컨대, H.265/HEVC) 또는 코딩 표준의 확장물 (예컨대, H.264/AVC) 에 적용가능할 수도 있다. 임의의 경우, 개시된 기술들에 따라, 그러한 비트스트림은 순응하는 비트스트림일 수도 있다. 다시 말해서, 그러한 비트스트림은 정의된 및 에측가능한 방식으로 본 개시의 기술들에 순응하는 비디오 디코더에 의해 성공적으로 디코딩될 수도 있다.
이하 설명은 전술된 본 개시의 기술들과 관련된 추가의 정보 및 실시예들뿐만 아니라, 추가의 정보 및 기술들을 제공한다.
구체적으로, 본원에 설명된 기술들은 다른 비술들과 비교하여, 이하 신규한 양태들 중 하나 이상을 포함할 수도 있다: (1) 비-IDR 픽처로부터 랜덤 액세스의 발생을 검출하는 것; (2) 픽처에 대한 대응하는 시그널링된 output_flag 가 참 또는 "1" 과 동일한 경우에도 픽처가 출력되지 않는다고 명시하는 것; 및 (3) 비-IDR RAP 픽처가 비트스트림의 제 1 코딩된 픽처일 경우 및 제 1 코딩된 픽처와 연관된 리딩 픽처들이 존재하지 않을 경우에 디코딩 순서에서 비-IDR RAP 픽처를 뒤따르는 픽처들에 대한 업데이트된 "코딩된 픽처 버퍼" (CPB) 제거 시간 파라미터들을 시그널링하는 것. 개시된 기술들과 부합하는 일부 실시예들에서, 업데이트된 CPB 제거 시간 파라미터들은 비-IDR RAP 픽처로부터 랜덤 액세스를 수행한 후에 디코딩 순서에서 비-IDR RAP 픽처를 뒤따르는 모든 픽처들에 적용하는 오프셋에 의해 표시될 수도 있다.
본원에 설명된 기술들은 ITU-T H.261, 즉 ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, 즉 ISO/IEC MPEG-4 Visual, 및 (또한 ISO/IEC MPEG-4 AVC 로 알려진) ITU-T H.264 를 포함하는 다양한 비디오 코딩 표준들 및 그 SVC (Scalable Video Coding) 및 MVC (Multiview Video Coding) 확장물들에 적용가능할 수도 있다. 추가로, 개시된 기술들은 ITU-T VCEG (Video Coding Experts Group) 및 ISO/IEC MPEG (Motion Picture Experts Group) 의 JCT-VC 에 의해 현재 개발되고 있는 HEVC 표준에 적용가능할 수도 있다. 전술된 것과 같이, 본 개시에 참조된 HEVC 의 하나의 특정 버전은 문헌 JCTVC-F803 에 설명된 WD4 이다.
일부 DPB 관리 기술들은 지금부터 설명될 것이다. 일부 비디오 코딩 기술들에 따르면, 다양한 DPB 관리 방법들이 구현될 수도 있다. 일 예로서, 후속 코딩된 픽처들을 예측하기 위해, 및 향후 출력을 위해 사용되는 디코딩된 픽처들은 DPB 에 버퍼링될 수도 있다. DPB 의 메모리를 효율적으로 활용하기 위해, 디코딩된 픽처들의 DPB 내로의 저장 프로세스, 참조 픽처들의 마킹 프로세스, 및 DPB 로부터 디코딩된 픽처들의 출력 및 제거 프로세스들을 포함하는 DPB 관리 프로세스들이 명시될 수도 있다. DPB 관리는 적어도 다음 양태들을 포함할 수도 있다: (1) 픽처 식별 및 참조 픽처 식별; (2) 참조 픽처 리스트 구성; (3) 참조 픽처 마킹; (4) DPB 로부터의 픽처 출력; (5) DPB 내로의 픽처 삽입; 및 (6) DPB 로부터의 픽처 제거. 참조 픽처 마킹 및 참조 픽처 리스트 구성의 일부 도입이 이하 제공된다.
일 예로서, 참조 픽처 리스트 마킹 기술들이 지금부터 설명될 것이다. 일부 비디오 코딩 기술들에 따르면, 다양한 참조 픽처 마킹 방법들이 구현될 수도 있다. 일 예로서, H.264/AVC 에서의 참조 픽처 마킹이 다음과 같이 요약될 수도 있다. 인터 예측을 위해 사용된 참조 픽처들의 "M" 으로 지칭될 수도 있는 최대 개수 (예컨대, 신택스 엘리먼트 num_ref_frames 에 대응함) 는 활성 시퀀스 파라미터 세트 (SPS) 에 표시될 수도 있다. 참조 픽처가 디코딩될 경우, "참조를 위해 사용되는" 것으로 마킹될 수도 있다. 참조 픽처의 디코딩이 "M" 초과의 픽처들이 "참조를 위해 사용되는" 것으로 마킹되게 한다면, 적어도 하나의 픽처가 "참조를 위해 사용되지 않는" 것으로 마킹될 수도 있다. 이후, DPB 제거 프로세스는 픽처들이 또한 출력을 위해 요구되지 않는다면, "참조를 위해 사용되지 않는" 것으로 마킹된 픽처들을 DPB 로부터 제거할 수도 있다.
픽처가 디코딩될 경우, 이는 비-참조 픽처 또는 참조 픽처일 수도 있다. 참조 픽처가 장기 참조 픽처 또는 단기 참조 픽처일 수 있고, "참조를 위해 사용되지 않는" 것으로 마킹될 경우, 그 픽처는 비-참조 픽처가 될 수도 있다.
H.264/AVC 참조 픽처들의 상태를 변경시키는 참조 픽처 마킹 동작들을 포함한다. 예를 들어, H.264/AVC 에서, 참조 픽처 마킹을 위한 2 가지 타입의 동작들, 즉 슬라이딩 윈도우 및 적응적 메모리 제어가 존재한다. 참조 픽처 마킹을 위한 동작 모드는 픽처 기반으로 선택된다. 일 예로서, 슬라이딩 윈도우 참조 픽처 마킹은 고정된 수의 단기 참조 픽처들을 갖는 선입 선출 (FIFO) 큐로서 기능한다. 다시 말해서, 가장 이른 디코딩 시간을 갖는 단기 참조 픽처는 암묵적인 방식으로 제일 먼저 제거될 것이다 (즉, "참조를 위해 사용되지 않은" 픽처로서 마킹될 것이다). 다른 예로서, 적응적 메모리 제어 참조 픽처 마킹은 단기 또는 장기 픽처들을 명백하게 제거한다. 또한, 단기 및 장기 픽처들의 상태를 스위칭하는 것이 가능하다.
다른 예로서, 참조 픽처 리스트 구성 기술들이 지금부터 설명될 것이다. 일부 비디오 코딩 기술들에 따르면, 다양한 참조 픽처 리스트 구성 방법들이 구현될 수도 있다. 일 예로서, 통상적으로, "B" 픽처의 제 1 또는 제 2 참조 픽처 리스트에 대한 참조 픽처 리스트 구성은 2 가지 단계들을 포함할 수도 있다: (1) 참조 픽처 리시트 초기화, 및 (2) 참조 픽처 리스트 재정렬 ("수정" 으로 지칭될 될 수도 있음). 참조 픽처 리스트 초기화는 (또한 DPB 로 알려진) 참조 픽처 메모리 내의 참조 픽처들을, (앞서 설명된 것과 같이, "픽처 순서 카운트" 이고, 픽처의 출력 순서 또는 디스플레이 순서로 정렬되는) POC 순서 값들에 기초하는 리스트 내에 부가하는 명백한 메커니즘일 수도 있다.
참조 픽처 리스트 재정렬 메커니즘은 참조 픽처 리스트 초기화 동안 리스트 내에 부가된 픽처의 위치를 새로운 위치로 수정할 수도 있거나, 픽처가 초기화된 리스트에 속하지 않을 경우에도 참조 픽처 메모리 내의 임의의 참조 픽처를 임의의 포지션에 부가할 수도 있다. 참조 픽처 리스트 재정렬 (또는 수정) 이후 일부 픽처들은 리스트 내의 매우 "떨어진" 위치들에 부가될 수도 있다. 그러나, 픽처의 위치가 그 리스트의 활성 참조 픽처들의 수를 초과한다면, 픽처는 최종 참조 픽처 리스트의 엔트리로서 간주되지 않을 수도 있다. 활성 참조 픽처들의 개수는 각 리스트에 대한 슬라이스 헤더에 시그널링될 수도 있다.
대안적으로, DPB 관리에 대한 상이한 접근방식은 Sjoeberg 등에 의한 문헌 "JCTVC-F493: Absolute Signaling of Reference Pictures", 6th Meeting, Torino, 2011 (이하 JCTVC-F493 로 참조됨) 에 설명되며, 그 문헌의 전체 콘텐츠가 본원에 참조에 의해 통합된다.
일부 참조 픽처 세트 (RPS) 기술들이 지금부터 설명될 것이다. 예를 들어, 2012 년 9 월 19 일에 출원되고 그 전체 콘텐츠가 또한 본원에 참조로서 통합되는 미국 특허 출원 제 13/622,972 호는, 각각의 픽처에 대하여, 현재의 또는 현재 코딩된 픽처와 디코딩 순서에서 현재 코딩된 픽처를 뒤따르는 픽처에 의해 사용될 수도 있는 다수의 참조 픽처들을 포함하는 RPS 를 설명한다. RPS 의 상세한 정의는 다음과 같이 제공될 수도 있다: 연관된 픽처 또는 디코딩 순서에서 연관된 픽처를 뒤따르는 임의의 픽처의 인터 예측을 위해 사용될 수도 있고 연관된 픽처 미만이거나 그와 동일한 신택스 엘리먼트 temporal_id 를 가지는, 그 연관된 픽처를 제외한 모든 참조 픽처들로 구성된, 픽처와 연관된 참조 픽처들의 세트.
RAP 및 대응하는 RPS 의 예들이 지금부터 설명될 것이다. 앞서 설명된 것과 같이, 본 개시에서, "랜덤 액세스" 는 CVS 에서 종래의 제 1 코딩된 픽처, 즉 IDR 픽처가 아닌 코딩된 픽처로부터 시작하는 CVS 의 디코딩을 지칭한다. "picR" 로 지칭될 수도 있는 비-IDR RAP 픽처는 다음 조건들 모두가 참인 코딩된 픽처로서 정의될 수도 있다:
(1) picR 은 IDR 픽처가 아니다;
(2) picR 의 POC 를 "rPoc" 로 하고, "picA" 를 동일한 CVS 에서에 있고 디코딩 순서와 출력 순서 양자에서 picR 을 뒤따르는 픽처인 것으로 하며, picA 의 POC 를 "aPoc" 라 한다. 랜덤 액세스가 picR 에 수행될 경우, 동일한 CVS 에 있고 출력 순서에서 picA 를 뒤따르는 모든 픽처들은 정확히 디코딩될 수 있다.
이러한 예에서, 비-IDR RAP 픽처 picR 에 대하여, 다음의 조건이 참이면, 픽처는 CRA 픽처로서 참조될 수도 있다: 랜덤 액세스가 picR 에서 수행될 경우, 동일한 CVS 에 있고 출력 순서에서 picR 을 뒤따르는 모든 픽처들이 정확히 디코딩될 수 있다. 조건이 비-IDR RAP 픽처 picR 에 대하여 참이 아니라면, 픽처는 점진적인 디코딩 리프레시 (GDR) 픽처로서 참조될 수도 있다. 추가로, CRA 픽처에 대하여, 대응하는 RPS 는 CRA 픽처에 대한 임의의 참조 픽처를 포함하는 것이 아니라, 디코딩 순서에서 CRA 픽처를 뒤따르는 피처들에 대한 적어도 하나의 픽처를 통상적으로 포함할 수도 있다.
도 4 는 본 개시의 기술들과 부합하는, 비디오 데이터의 GOP들의 픽처들 중에서 참조 계층들의 일 예를 예시하는 개념 다이어그램이다. 특히, 도 4 는 4 개의 시간적 레벨들 및 "8" 의 GOP 사이즈를 갖는 계층적인 "B" 픽처 코딩을 예시한다. 도 4 에 도시된 것과 같이, "8" 과 동일한 POC 값을 갖는 픽처가 인트라로서 코딩될 경우 (즉, "I" 픽처), 그 픽처는 CRA 픽처일 수 있다. RPS 의 정의에 기초하여, RPS 는 "0" 과 동일한 POC 값을 갖는 픽처를, 디코딩 순서에서 이 픽처를 뒤따르는 픽처들에 대하여 포함한다.
리딩 픽처들 및 대응하는 RPS 들이 지금부터 설명될 것이다. 이전에 설명된 바와 같이, 디코딩 순서에서 RAP 픽처를 뒤따르지만 디스플레이 순서에서는 RAP 픽처를 선행하는 픽처들은 RAP 픽처의 대응하는 "리딩 픽처들" 이라고 지칭될 수도 있다. 도 4 의 예에서, CRA 픽처 (즉, "8" 의 POC 값을 갖는 픽처) 의 대응하는 리딩 픽처들의 RPS 들은 아래의 표 1 에 도시된 바와 같다.
Figure pct00001
픽처 출력 기술들이 지금부터 설명될 것이다. HEVC WD4 에서는, 각각의 픽처에 ouput_flag 가 할당될 수도 있다. 이 플래그가 거짓 또는 "0" 과 동일할 때, 각각의 픽처는 출력을 위해 이용되지 않으며, 이에 따라 디스플레이되지 않을 것이다.
CPB 의 예가 지금부터 설명될 것이다. CPB 는, 액세스 유닛들이 디코딩되기 전에, 코딩된 픽처 및 연관된 네트워크 추상화 계층 (NAL) 유닛들을 각각 포함하는 액세스 유닛들의 수신 및 버퍼링을 위한 비디오 디코더에 의해 필요하게 될 수도 있다. 예를 들어, HEVC WD4 에서는, CPB 동작들이 손실되어 있지만, H.264/AVC 에 특정된 바와 같은 CPB 동작들은 그럼에도 불구하고 적용될 수 있다. 하나의 예로서, H.264/AVC 에 따르면, 순응하는 비트스트림에 대하여, H.264/AVC 의 하위-절 C.3 에 특정된 바와 같은 조건들의 리스트가 전부 충족될 수도 있다. 비트스트림 순응 조건들 중 2 개는 다음과 같다:
(1) CPB 오버플로우는 CPB 에서의 비트들의 총 수가 CPB 사이즈보다 더 크다는 조건으로서 특정된다. CPB 는 결코 오버플로우하지 않을 수도 있다;
(2) CPB 언더플로우는 tr,n(n) 가 "taf(n)" 보다 더 작다는 조건으로 특정된다. low_delay_hrd_flag 가 "0" 과 동일할 때, CPB 는 결코 언더플로우하지 않을 수도 있다.
위에서 설명된 기술들에서의 일부 잠재적인 문제들이 지금부터 논의될 것이다. CRA 픽처에서 발생하는 랜덤 액세스에 관한, 위에서 설명된 다양한 접근법들은 몇몇 단점들을 가진다. 하나의 예로서, 리딩 픽처가 존재하지 않을 경우, 순응하는 디코더는 리딩 픽처가 송신 손실들로 인해, 또는 의도적인 픽처 드롭들 (예를 들어, 랜덤 액세스 동작을 위하여 스트리밍 서버에 의해 의도적으로) 로 인해 손실되어 있는지 여부를 알 수 없을 수도 있다. 또 다른 예로서, 리딩 픽처들은 정확하게 디코딩되지 않을 수도 있고, 그러므로, 디스플레이될 경우에 사용자 경험을 손상시킬 수도 있다. 또 다른 예로서, 일부 코딩된 픽처들이 의도적으로 드롭될 경우, CRA 픽처로부터 시작하는 결과적인 비트스트림은 하나 이상의 비트스트림 순응 조건들과 충돌할 수도 있고, 그러므로, 예측할 수 없는 디코딩 거동 및 제어할 수 없는 디코딩 결과들이 발생할 수도 있다. 예를 들어, 리딩 픽처들 전부가 드롭될 때, 디코딩 순서에서 CRA 픽처 이후의 다음 픽처는 디코딩 순서에서 최종 리딩 픽처 이후의 코딩된 픽처가 된다. 리딩 픽처들이 존재하는 경우와 비교하여, 이 다음 픽처는 CPB로 더 이전에 흐르고, 그 결과, 그 CPB 최종 도달 시간 taf(n) 은 더 이전이 된다. 연관된 픽처 타이밍 보충 강화 정보 (SEI) 메시지에서 신택스 엘리먼트 cpb_removal_delay 로부터 유도된 CPB 제거 시간은 변경되지 않을 수도 있다. 따라서, CPB 언더플로우는 발생하지 않을 것이다. 그러나, 디코딩 순서에서의 이 픽처 및 다음 픽처들의 비트들의 수가 드롭된 리딩 픽처들의 그것보다 상당히 더 클 경우에는, CPB 오버플로우가 발생할 수도 있다.
이 개시물은 일부의 경우들에 있어서, 위에서 설명된 단점들 중 일부를 감소시키거나 제거할 수도 있는 몇몇 기술들을 설명한다. 특히, 이 개시물의 기술들은, CRA 픽처와 연관된 리딩 픽처들이 존재하는지 여부에 관계없이, 최초 코딩된 픽처가 CRA 픽처인 비트스트림이 순응하고 있음을 보장하기 위하여 다양한 방법들을 채용함으로써, CRA 픽처들로부터의 랜덤 액세스와 관련된 위에서 설명된 문제들을 해결할 수도 있다. 개시된 기술들은 위에서 설명된 특징들을 구현하기 위해 이용될 수도 있는 적어도 다음의 양태들을 포함한다.
하나의 예로서, 랜덤 액세스의 발생의 검출을 위한 프로세스는 선택적으로 추가될 수도 있다. 각각의 픽처에 대한 그리고 각각의 리딩 픽처에 대한 랜덤 액세스의 발생의 검출은, 그것이 디코딩 및/또는 출력을 목표로 하고 있든지 간에, 랜덤 액세스로 인해 정확하게 수신 및 디코딩되지 않을 수도 있지만 정상적인 경우에는 정확하게 수신 및 디코딩될 픽처들을 포함하는 소멸 픽처 세트 (vanish picture set; VPS) 를 구성함으로써 수행될 수도 있다. VPS 가 비어 있지 않은 한, 검출이 필요하게 될 수도 있다.
또 다른 예로서, 리딩 픽처들의 출력 특성의 핸들링은, 연관된 CRA 픽처로부터 시작하는 랜덤 액세싱이 발생할 때에 리딩 픽처들이 출력을 위해 이용되지 않을 수도 있도록 수행될 수도 있다.
또 다른 예로서, 리딩 픽처에 대한 디코딩 프로세스들은, 리딩 픽처가 수신되는 경우, 하이 레벨 신택스의 파싱 및 연관된 디코딩 프로세스들의 호출, 예를 들어, 참조 픽처 세트 (RPS) 의 유도만이 수행될 수도 있고 이러한 픽처의 디코딩이 스킵될 수도 있도록 수정될 수도 있다.
또 다른 예로서, 디코더가 CRA 픽처를 디코딩하기 시작하고 CRA 픽처를 뒤따르는 리딩 픽처들이 전혀 없더라도, 가상 참조 디코더 (hypothetical reference decoder; HRD) 파라미터들, 픽처 버퍼링 주기 SEI 메시지들, 및 픽처 타이밍 SEI 메시지들을 포함하는 CPB 순응 관련 정보가 CPB 제약들을 충족시키기 위해 이용될 수도 있고, 그러므로 버퍼 오버플로우 또는 언더플로우가 전혀 발생하지 않을 수도 있도록, 비트스트림 한정이 추가될 수도 있다.
또 다른 예로서, 리딩 픽처들이 존재하지 않을 때에는, CPB 순응 제약들이 CPB 초기 지연 파라미터들의 추가적인 세트를 적용할 때에 충족될 수도 있도록, CRA 픽처와 연관된 SEI 메시지가 CPB 초기 지연 파라미터들의 추가적인 세트를 포함하기 위해 시그널링될 수도 있다. 더욱 구체적으로, 픽처 버퍼링 주기 SEI 메시지에서는, 현재의 픽처가 CRA 픽처인 경우에 CPB 초기 지연 파라미터들의 2 개의 세트들이 시그널링될 수도 있다.
다음의 예들은 이 개시물의 기술들의 상기 설명된 특징들을 설명한다. 다음의 예들을 설명하기 위하여, 다음의 용어들이 정의된다:
리딩 픽처: 디코딩 순서에서 CRA 픽처를 후행하고 출력 또는 디스플레이 순서에서 CRA 픽처를 선행하는, CRA 픽처와 연관된 픽처.
VPS: CRA 픽처의 디스플레이 순서보다 더 이전의 디스플레이 순서를 가지는, CRA 픽처와 연관된 참조 픽처들의 세트.
신택스의 예들, 그리고 특히, 버퍼링 주기 SEI 메시지 신택스의 예들이 지금부터 설명될 것이다.
Figure pct00002
추가적으로, 버퍼링 주기 SEI 메시지 시맨틱들의 예들이 아래에서 설명된다.
하나의 예로서, 참 또는 "1" 과 동일한 cra_para_present_flag 는, 현재의 연관된 픽처가 CRA 픽처일 때에 CPB 초기 지연들의 또 다른 세트가 시그널링된다는 것을 표시할 수도 있다. 거짓 또는 "0" 과 동일한 이 플래그는, CPB 초기 지연들의 추가적인 세트가 전혀 시그널링되지 않는다는 것을 표시할 수도 있다. 이 플래그는 연관된 픽처가 CRA 픽처가 아닐 때에 "0" 과 동일할 수도 있다.
또 다른 예로서, update_initial_cpb_removal_delay[SchedSelIdx] 는 HRD 초기화 후의 최초 버퍼링 주기에 대하여, 버퍼링 주기 SEI 메시지와 연관된 액세스 유닛과 연관된 코딩된 데이터의 최초 비트의 CPB 에서의 도달 시간과, 동일한 액세스 유닛과 연관된 코딩된 데이터의 CPB로부터의 제거 시간과의 사이에서 SchedSelIdx 번째 CPB에 대한 지연을 특정할 수도 있다. 신택스 엘리먼트는 initial_cpb_removal_delay_length_minus1 + 1 에 의해 주어진 비트들의 길이를 가질 수도 있다. 그것은 90 kHz 클록의 단위들일 수도 있다. 또한, update_initial_cpb_removal_delay[SchedSelIdx] 는 "0" 과 동일하지 않을 수도 있고, 90 kHz 클록 단위들에서 CPB 사이즈의 시간-등가적인 90000 * (CpbSize[SchedSelIdx] ÷ BitRate[SchedSelIdx]) 를 초과하지 않을 수도 있다.
또 다른 예로서, update_initial_cpb_removal_delay_offset[SchedSelIdx] 는 CPB 로의 코딩된 액세스 유닛들의 초기 전달 시간을 특정하기 위하여 cpb_removal_delay 와 조합하여 SchedSelIdx 번째 CPB에 대해 이용될 수도 있다. 예를 들어, update_initial_cpb_removal_delay_offset[SchedSelIdx] 는 90 kHz 클록의 단위들일 수도 있다. update_initial_cpb_removal_delay_offset[SchedSelIdx] 신택스 엘리먼트는 그 비트들의 길이가 initial_cpb_removal_delay_length_minus1 + 1 에 의해 주어지는 고정 길이 코드일 수도 있다. 이 신택스 엘리먼트는 디코더들에 의해 이용되지 않을 수도 있고, HEVC WD4 의 Annex C 에서 특정된 전달 스케줄러 (HSS) 에 대해서만 필요하게 될 수도 있다.
디코딩 프로세스들의 예들이 지금부터 설명될 것이다. 이 개시물의 기술들에 따르면, 다음의 디코딩 프로세스들은, 그 전체 내용이 참조를 위해 여기에 통합되는, 2012 년 9 월 19 일자로 출원된 미국 특허 출원 제 13/622,972 호에서 설명된 디코딩 프로세스들에 대하여 추가 및/또는 수정될 수도 있다.
하나의 예로서, VPS 생성 기술들이 지금부터 설명될 것이다. 일부 예들에서는, 현재의 픽처가 CRA 픽처일 때, VPS 생성이 RPS 에 대한 유도 프로세스의 호출 직후에 발생할 수도 있다. 예를 들어, 현재의 픽처가 CRA 픽처인 사례들에서는, RPS 에서의 임의의 픽처가 DPB 가 아닌 경우, VPS 는 현재의 RPS 로서 설정될 수도 있다. 그렇지 않을 경우에는, VPS 가 비어 있는 것으로 설정될 수도 있다.
또 다른 예로서, 리딩 픽처 식별 기술들이 지금부터 설명될 것이다. 일부 예들에서, VPS 가 비어 있지 않고, 픽처가 VPS 와 중첩하는 RPS 를 가지는 경우, 픽처는 리딩 픽처로서 식별될 수도 있다.
또 다른 예로서, 리딩 픽처 디코딩 기술들이 지금부터 설명될 것이다. 일부 예들에서, 리딩 픽처의 디코딩은 순응하는 디코더에 의해 스킵될 수도 있다.
또 다른 예로서, 리딩 픽처 출력 기술들이 지금부터 설명될 것이다. 일부 예들에서는, 각각의 리딩 픽처에 대하여, 슬라이스 헤더에서의 output_flag 의 값이 "0" 또는 "1" 과 동일한지 여부에 관계없이, output_flag 는 "거짓" 으로 설정될 수도 있다.
HRD 및 특히, CPB 의 동작이 지금부터 설명될 것이다. 예를 들어, 개시물의 이 부분에서의 사양들은 존재하는 CPB 파라미터들의 각각에 세트에, 그리고 유형 I 및 유형 II 순응의 둘 모두에 독립적으로 적용될 수도 있다.
하나의 예로서, 비트스트림 도달의 타이밍이 지금부터 설명될 것이다. HRD 는 버퍼링 주기 SEI 메시지들 중 임의의 하나에서 초기화될 수도 있다. 초기화전에, CPB 는 비어 있을 수도 있다. 이 예에서는, 초기화 후에, HRD 는 후속 버퍼링 주기 SEI 메시지들에 의해 다시 초기화되지 않을 수도 있다. 또한, 이 예에서는, 제 1 액세스 유닛이 CRA 액세스 유닛이고, 리딩 픽처들이 존재하지 않으며 cra_para_present_flag 가 "1" 과 동일할 경우에는, useUpdatePara 가 "1" 로 설정될 수도 있다. 그렇지 않을 경우에는, useUpdatePara 가 "0" 으로 설정될 수도 있다.
예를 들어, useUpdatePara 가 "0" 과 동일할 경우에는, InitialCpbRemovalDelay[SchedSelIdx] 가 initial_cpb_removal_delay[SchedSelIdx] 로 설정될 수도 있고, InitialCpbRemovalDelayOffset[SchedSelIdx] 가 initial_cpb_removal_delay_offset[SchedSelIdx] 로 설정될 수도 있다. 그렇지 않을 경우에는, InitialCpbRemovalDelay[SchedSelIdx] 가 update_initial_cpb_removal_delay[SchedSelIdx] 로 설정될 수도 있고, InitialCpbRemovalDelayOffset[SchedSelIdx] 가 update_initial_cpb_removal_delay_offset[SchedSelIdx] 로 설정될 수도 있으며, 여기서, initial_cpb_removal_delay[SchedSelIdx], initial_cpb_removal_delay_offset[SchedSelIdx], update_initial_cpb_removal_delay[SchedSelIdx], 및 update_initial_cpb_removal_offset[SchedSelIdx] 는 CRA 액세스 유닛과 연관된 버퍼링 주기 SEI 메시지에서 특정될 수도 있다.
또한, CPB 를 초기화하는 버퍼링 주기 SEI 메시지와 연관되어 있는 액세스 유닛은 액세스 유닛 "0" 이라고 지칭될 수도 있다. 모든 다른 액세스 유닛들은 액세스 유닛 "n" 이라고 지칭되고, "n" 은 디코딩 순서에서 다음 액세스 유닛에 대하여 1 만큼 증분된다. 이 예에서, 액세스 유닛의 최초 비트 n 이 CPB 에 진입하기 시작하는 시간은 초기 도달 시간 tai(n) 이라고 지칭될 수도 있다.
하나의 예에서, 액세스 유닛들의 초기 도달 시간은 다음과 같이 유도될 수도 있다:
(1) 액세스 유닛이 액세스 유닛 0 인 경우, tai(0) = 0 이다.
(2) 그렇지 않을 경우에는 (액세스 유닛이 n > 0 인 액세스 유닛 n 임), 다음이 적용될 수도 있다:
(a) cbr_flag[SchedSelIdx] 이 "1" 과 동일할 경우, 액세스 유닛 n 에 대한 초기 도달 시간은 액세스 유닛 n - 1 의 최종 도달 시간 (아래로부터 유도됨) 과 동일할 수도 있고, 즉,
tai(n) = taf(n - 1) 식 1
(b) 그렇지 않고, cbr_flag[SchedSelIdx] 이 "0" 과 동일하고, 액세스 유닛 n 이 후속 버퍼링 주기의 최초 액세스 유닛이 아닐 경우에는, 액세스 유닛 n 에 대한 초기 도달 시간이 다음 식에 의해 유도될 수도 있다:
tai(n) = Max(taf(n - 1), tai , earliest(n)) 식 2
여기서, tai , earliest(n) 는 다음과 같이 주어진다:
tai , earliest(n) = tr ,n(n) - (InitialCpbRemovalDelay[SchedSelIdx] + InitialCpbRemovalDelayOffset[SchedSelIdx]) ÷ 90000 식 3
일부 예들에서, tr ,n(n) 은 HEVC WD4 의 하위-절 C.1.2 에서 특정된 바와 같이 CPB 로부터의 액세스 유닛 n 의 공칭 제거 시간이다;
(c) 그렇지 않을 경우 (cbr_flag[SchedSelIdx] 가 "0" 과 동일하고, 후속 액세스 유닛 n 이 후속 버퍼링 주기의 제 1 액세스 유닛인 경우) 에는, 액세스 유닛 n 에 대한 초기 도달 시간이 다음 식에 의해 유도될 수도 있다:
tai(n) = tr ,n(n) - (InitialCpbRemovalDelay[SchedSelIdx] ÷ 90000) 식 4
일부 예들에서, InitialCpbRemovalDelay[SchedSelIdx] 은 액세스 유닛 n 과 연관된 버퍼링 주기 SEI 메시지에서 특정된다.
이 예에서, 액세스 유닛 n 에 대한 최종 도달 시간은 다음 식에 의해 유도될 수도 있다:
taf(n) = tai(n) + b(n) ÷ BitRate[SchedSelIdx] 식 5
여기서 b(n) 은 액세스 유닛 n 의 비트들의 사이즈일 수도 있고, 유형 I 순응을 위한 유형 I 비트스트림의 비트들, 또는 유형 II 순응을 위한 유형 II 비트스트림의 비트들을 카운트한다.
일부 예들에서, SchedSelIdx, BitRate[SchedSelIdx], 및 CpbSize[SchedSelIdx] 의 값들은 다음과 같이 제약될 수도 있다:
(1) 액세스 유닛 n 및 액세스 유닛 n-1 이 상이한 CVS 들의 부분이고, 2 개의 CVS 들의 활성 SPS 들의 내용이 상이한 경우, HSS 는, 액세스 유닛 n - 1 을 포함하는 CVS 에 대해 이용되었던 SchedSelIdx 의 값 SchedSelIdx0 에 대한 BitRate[SchedSelIdx0] 또는 CpbSize[SchedSelIdx0] 의 값과는 상이한, 2 개의 CVS 들 (액세스 유닛 n - 1 을 포함함) 중 두 번째에 대한 BitRate[SchedSelIdx1] 또는 CpbSize[SchedSelIdx1] 로 귀착되는 액세스 유닛 n 을 포함하는 CVS 에 대해 제공된 SchedSelIdx 의 값들 중으로부터 SchedSelIdx 의 값 SchedSelIdx1 을 선택할 수도 있다;
(2) 그렇지 않을 경우에는, HSS 가 SchedSelIdx, BitRate[SchedSelIdx], 및 CpbSize[SchedSelIdx] 의 이전 값들로 동작하는 것을 계속할 수도 있다.
다른 예들에서는, HSS 가 이전의 액세스 유닛의 그러한 것들과는 상이한 BitRate[SchedSelIdx] 또는 CpbSize[SchedSelIdx] 의 값들을 선택할 때, 다음이 적용될 수도 있다:
(1) 변수 BitRate[SchedSelIdx] 는 시간 tai(n) 에서 효력을 발생할 수도 있다;
(2) 변수 CpbSize[SchedSelIdx] 는 다음과 같이 효력을 발생할 수도 있다:
(a) CpbSize[SchedSelIdx] 의 새로운 값이 이전 CPB 사이즈를 초과할 경우, 그것은 시간 tai(n) 에서 효력을 발생할 수도 있다;
(b) 그렇지 않을 경우에는, CpbSize[SchedSelIdx] 의 새로운 값이 시간 tr(n) 에서 효력을 발생할 수도 있다.
또 다른 예로서, 코딩된 픽처 제거의 타이밍이 지금부터 설명될 것이다. 예를 들어, 액세스 유닛 0 에 대하여, CPB 로부터의 액세스 유닛의 공칭 제거 시간은 다음 식에 의해 특정될 수도 있다:
tr ,n(0) = InitialCpbRemovalDelay[SchedSelIdx] ÷ 90000 식 6
또한, HRD 를 초기화하지 않는 버퍼링 주기의 최초 액세스 유닛에 대하여, CPB 로부터의 액세스 유닛의 공칭 제거 시간은 다음 식에 의해 특정될 수도 있다:
tr ,n(n) = tr ,n (nb) + tc * cpb_removal_delay(n) 식 7
여기서, tr,n(nb) 은 이전 버퍼링 주기의 최초 픽처의 공칭 제거 시간일 수도 있고, cpb_removal_delay(n) 은 액세스 유닛 n 과 연관된 픽처 타이밍 SEI 메시지에서 특정될 수도 있다.
추가적으로, 액세스 유닛 n 이 버퍼링 주기의 최초 액세스 유닛일 때, nb 는 액세스 유닛 n 의 제거 시간에서 n 과 동일하게 설정될 수도 있다.
또한, 버퍼링 주기의 최초 액세스 유닛이 아닌 액세스 유닛 n 의 공칭 제거 시간 tr ,n(n) 은 다음 식에 의해 주어질 수도 있다:
tr ,n(n) = tr ,n(nb) + tc * cpb_removal_delay(n) 식 8
추가적으로, 액세스 유닛 n 의 제거 시간은 다음과 같이 특정될 수도 있다:
(1) low_delay_hrd_flag 가 "0" 과 동일하거나 tr,n(n) >= taf(n) 인 경우, 액세스 유닛 n 의 제거 시간은 다음 식에 의해 특정될 수도 있다:
tr(n) = tr ,n(n) 식 9
(2) 그렇지 않을 경우 (low_delay_hrd_flag 가 1 과 동일하고 tr,n(n) < taf(n) 일 경우) 에는, 액세스 유닛 n 의 제거 시간이 다음 식에 의해 특정될 수도 있다:
tr(n) = tr ,n(n) + tc * Ceil((taf(n) - tr ,n(n)) ÷ tc) 식 10
이 예에서, 후자의 경우는 액세스 유닛 n 의 사이즈 b(n) 가 매우 커서 공칭 제거 시간에 제거를 방지한다는 것을 표시한다.
또 다른 예로서, 비트스트림 순응이 지금부터 설명될 것이다. H.264/AVC 의 하위-절 C.3 의 개시물은 아래에서 설명된 기술들에 적용될 수도 있고, 다음의 변경들이 포함된다: 순응하는 비트스트림의 디코딩 순서에서의 제 1 코딩된 픽처는 IDR 픽처 또는 CRA 픽처일 수도 있다. CRA 픽처로 시작하는 순응하는 비트스트림에 대하여, 시작 CRA 픽처와 연관된 모든 리딩 픽처들을 포함하는 액세스 유닛들을 드롭함으로써 발생된 비트스트림 서브세트는 여전히 순응하는 비트스트림일 수도 있다.
다음의 설명은 위에서 설명된 이 개시물의 기술들의 대안적인 예들을 포함한다. 예를 들어, 이 개시물의 어떤 양태들의 다양한 대안적인 구현들이 가능하고, 일부는 다음과 같이 설명된다. 다음의 대안적인 구현들은 개시물의 기술들의 상이한 양태들을 참조하여 설명된다. 그러나, 상이한 양태들에 대한 구현들의 임의의 조합은 이 개시물의 교시사항들과 일치하는 구현들을 또한 형성할 수도 있다.
다음의 대안적인 예들은 VPS 의 수정에 관련된다.
하나의 예로서, VPS 정의는 다음과 같이 제공된다: 현재의 RPS 내에 있으며 디코딩 순서에서 픽처를 선행하는 최근접 CRA 픽처로부터의 랜덤 액세스가 발생할 때에 정확하게 디코딩되지 않을 수도 있는 모든 참조 픽처들로 구성되는, 픽처와 연관된 참조 픽처들의 세트.
다음은 VPS 수정의 하나의 대안적인 예이다. 이 예에서는, VPS 가 비어 있지 않을 경우에, 다음이 적용될 수도 있다:
(1) 현재의 픽처가 디코딩되기 전에, VPS 내의 각각의 픽처는 검사될 수도 있다;
(a) 픽처가 RPS 내에 있을 경우, 그것은 VPS 에서 유지될 수도 있다;
(b) 그렇지 않을 경우에는, 그것은 VPS 로부터 제거될 수도 있다;
(2) 현재의 픽처의 VPS 및 현재의 픽처의 RPS 가 중첩하였을 경우에는, 현재의 픽처가 디코딩된 후에 그것이 참조 픽처이면, 현재의 픽처가 VPS 내로 삽입될 수도 있다.
일부의 예들에서는, 픽처가 CRA 픽처가 아니고 VPS 가 비어 있지 않는 경우, 현재의 RPS 내의 각각의 픽처는 VPS 또는 DPB 중 어느 하나에 있을 수도 있다.
다음은 VPS 수정의 또 다른 대안적인 예이다. 이 예에서는, VPS 가 비어 있지 않을 경우에, 다음이 적용될 수도 있다:
(1) 픽처가 디코딩되기 전에, VPS 내의 각각의 픽처가 검사될 수도 있다;
(a) 픽처가 RPS 내에 있고 서브세트들 RefPicSetStCurr0, RefPicSetStCurr1 및 RefPicSetLtCurr 중 하나에 속하는 경우, 그것은 VPS 에서 유지될 수도 있다;
(b) 그렇지 않을 경우에는, 그것은 VPS 로부터 제거될 수도 있다;
(2) 현재의 픽처의 VPS 및 현재의 픽처의 RPS 가 중첩하였을 경우에는, 현재의 픽처가 디코딩된 후에 그것이 참조 픽처이면, 현재의 픽처가 VPS 내로 삽입될 수도 있다.
다음은 VPS 수정의 또 다른 대안적인 예이다. 이 예에서는, 픽처가 CRA 픽처보다 더 큰 디스플레이 순서를 가지고 VPS 가 비어 있지 않을 경우에는, 다음이 적용될 수도 있다:
(1) RPS 내의 적어도 하나의 픽처가 VPS 에 속할 경우에는, VPS 가 변경되지 않은 상태로 유지될 수도 있다;
(2) RPS 내의 픽처가 VPS 에 전혀 속하지 않을 경우에는, VPS 가 비어 있는 것으로 설정될 수도 있다.
이 예에서, VPS 는 각각의 랜덤 액세스 동안에 두 번 변경하기만 할 수도 있다. 첫 번째에는, 그것은 리딩 픽처들이 의존할 수도 있는 픽처들로 채워질 수도 있다. 두 번째에는, 그것은 비어 있는 것으로 설정될 수도 있다.
도 4 의 예에서는, 픽처 "8" 이 랜덤 액세스를 위해 이용될 경우, VPS 는 {8} 일 수도 있다. 이 예에서는, 픽처 "16" 의 RPS 가 생성된 후에만, VPS 가 비어 있는 것으로 설정될 수도 있다. 이 예에서는, VPS 가 비어 있지 않기만 하면, CRA 픽처의 디스플레이 순서보다 작은 디스플레이 순서를 갖는 픽처들이 디코딩 및 출력을 위해 스킵될 수도 있다. 이것은 "리딩 픽처 식별" 을 위한 상이한 또는 대안적인 접근법으로서 설명될 수도 있다.
소멸 픽처를 생성하는 대안적인 예가 지금부터 설명될 것이다. 이 예에서는, 픽처가 소멸 픽처로서 검출될 경우에는, 그것은 소멸 픽처로의 최근접 디스플레이 순서 (POC 거리) 를 가지는 DPB 내의 픽처의 복사본 (copy) 으로서 생성될 수도 있다. 2 개의 픽처들이 동일한 POC 거리를 가질 경우, 더 작은 POC 를 갖는 하나의 픽처가 이용될 수도 있다.
리딩 픽처 디코딩의 대안적인 예가 지금부터 설명될 것이다. 하나의 예로서, RefPicSetStCurr0, RefPicSetStCurr1 또는 RefPicSetLtCurr 내의 픽처들 중 어느 것도 VPS 에 속하지 않는 경우에, 리딩 픽처가 디코딩될 수도 있다. 또 다른 예로서, 특히, 각각의 소멸 픽처가 드리프트 (drift) 를 가지지만 DPB 에서 이용가능할 때에는, 리딩 픽처가 항상 디코딩될 수도 있다.
리딩 픽처 출력의 대안적인 예가 지금부터 설명될 것이다. 하나의 예로서, 리딩 픽처가 정확하게 디코딩될 때에는, output_flag 가 "1" 로 설정될 수도 있다. 그렇지 않을 경우에는, output_flag 가 "0" 으로 설정될 수도 있다. 또 다른 예로서, 출력 순서에서 CRA 픽처 직전의 오직 연속적인 리딩 픽처들은, 이들이 모두 정확하게 디코딩될 경우에, "1" 로 설정된 output_flag 값들을 가질 수도 있고, 다른 리딩 픽처들은 "0" 으로 설정된 output_flag 값들을 가질 수도 있다.
제거 시간 오프셋, 그리고 특히, 버퍼링 주기 SEI 메시지 신택스의 대안적인 예가 지금부터 설명될 것이다.
Figure pct00003
대안적으로, 다른 예들에서는, 신택스가 아래에서 제공되는, CRA (또는 비-IDR 랜덤 액세스) 픽처와 연관되기만 하는 상이한 SEI 메시지에서 오프셋이 시그널링될 수도 있다.
CPB 제거 지연 오프셋 SEI 메시지 신택스의 예가 지금부터 설명될 것이다.
Figure pct00004
추가적으로, 버퍼링 주기 SEI 메시지 시맨틱들이 아래에서 설명된다.
하나의 예로서, "1" 과 동일한 cra_para_present_flag 는 random_access_removal_delay_offset[SchedSelIdx] 신택스 엘리먼트의 존재를 표시할 수도 있다. "0" 과 동일한 이 플래그는 random_access_removal_delay_offset[SchedSelIdx] 신택스 엘리먼트의 부재를 표시할 수도 있다.
또 다른 예로서, random_access_removal_delay_offset[SchedSelIdx] 는 SchedSelIdx 번째 CPB 에 대하여 CPB 제거 시간 오프셋을 특정할 수도 있다. 예를 들어, 그것은 90 kHz 클록의 단위들일 수도 있다. 추가적으로, random_access_removal_delay_offset[SchedSelIdx] 는 initial_cpb_removal_delay[SchedSelIdx] + initial_cpb_removal_delay_offset[SchedSelIdx] 를 초과하지 않을 수도 있다. 일부 예들에서는, 존재하지 않을 때, 값이 "0" 과 동일한 것으로 추론될 수도 있다.
CPB 제거 지연 오프셋 SEI 메시지 시맨틱들의 예가 지금부터 설명될 것이다. 일부 예들에서, 이러한 SEI 메시지는 CRA 픽처에 대해 존재하기만 할 수도 있고, CRA 가 랜덤 액세스를 위해 이용되고 그 대응하는 리딩 픽처들이 비트-스트림에서 존재하지 않을 때에 효력을 발생하기만 할 수도 있다. 하나의 예로서, random_access_removal_delay_offset[SchedSelIdx] 는 SchedSelIdx 번째 CPB 에 대하여 CPB 제거 시간 오프셋을 특정할 수도 있다. 예를 들어, 그것은 90 kHz 클록의 단위들일 수도 있다. 추가적으로, random_access_removal_delay_offset[SchedSelIdx] 는 initial_cpb_removal_delay[ SchedSelIdx ] + initial_cpb_removal_delay_offset[SchedSelIdx] 를 초과하지 않을 수도 있다. 일부 예들에서는, 존재하지 않을 때, 값이 "0" 과 동일한 것으로 추론될 수도 있다.
CPB 의 동작의 예가 지금부터 설명될 것이다. 개시물의 이 부분에서의 사양들은 존재하고 있는 CPB 파라미터들의 각각의 세트와, 유형 I 및 유형 II 순응의 둘 모두에 독립적으로 적용될 수도 있다.
하나의 예로서, 비트스트림 도달의 타이밍이 지금부터 설명될 것이다. 예를 들어, HRD 는 버퍼링 주기 SEI 메시지들 중 임의의 하나에서 초기화될 수도 있다. 초기화 이전에, CPB 는 비어 있을 수도 있다. 이 예에서는, 초기화 후에, HRD 가 후속 버퍼링 주기 SEI 메시지들에 의해 다시 초기화되지 않을 수도 있다. 또한, 이 예에서는, CPB 를 초기화하는 버퍼링 주기 SEI 메시지와 연관되어 있는 액세스 유닛이 액세스 유닛 0 이라고 지칭될 수도 있다. 모든 다른 액세스 유닛들은 액세스 유닛 n 이라고 지칭되고, n 은 디코딩 순서에서 다음 액세스 유닛에 대하여 1 만큼 증분된다.
이 예에서는, 최초 액세스 유닛이 CRA 액세스 유닛이고, 리딩 픽처들이 존재하지 않으며 cra_para_present_flag 가 "1" 과 동일할 경우, useUpdatePara 는 "1" 로 설정될 수도 있다. 그렇지 않을 경우에는, useUpdatePara 가 "0" 으로 설정될 수도 있다. 또한, useUpdatePara 가 "1" 과 동일할 경우, DelayOffset[SchedSelIdx] 가 random_access_removal_delay_offset[SchedSelIdx] 로 설정될 수도 있다. 그렇지 않을 경우에는, DelayOffset[SchedSelIdx] 가 "0" 으로 설정될 수도 있다. 추가적으로, 액세스 유닛 n 의 최초 비트가 CPB 에 진입하기 시작하는 시간은 초기 도달 시간 tai(n) 이라고 지칭될 수도 있다. 일부 예들에서는, 액세스 유닛들의 초기 도달 시간이 다음과 같이 유도될 수도 있다:
(1) 액세스 유닛이 액세스 유닛 0 인 경우, tai(0) = 0 이다.
(2) 그렇지 않을 경우 (액세스 유닛 n > 0인 액세스 유닛 n 인 경우) 에는, 다음이 적용될 수도 있다:
(a) cbr_flag[ SchedSelIdx] 가 "1" 과 동일할 경우, 액세스 유닛 n 에 대한 초기 도달 시간은 액세스 유닛 n - 1 의 최종 도달 시간 (아래에서 유도됨) 과 동일할 수도 있다, 즉,
tai(n) = taf(n - 1) 식 11
(b) 그렇지 않고, cbr_flag[SchedSelIdx] 가 "0" 과 동일하고, 액세스 유닛 n 이 후속 버퍼링 주기의 최초 액세스 유닛이 아닐 경우에는, 액세스 유닛에 대한 초기 도달 시간이 아래 식에 의해 유도될 수도 있다:
tai(n) = Max(taf(n - 1), tai , earliest(n)) 식 12
여기서, tai,earliest(n) 는 다음과 같이 주어질 수도 있다:
tai , earliest(n) = tr ,n(n) - (initial_cpb_removal_delay[SchedSelIdx] + initial_cpb_removal_delay_offset[SchedSelIdx]) ÷ 90000 식 13
tr,n(n) 는 HEVC WD4 의 하위-절 C.1.2 에서 특정된 바와 같이 CPB 로부터의 액세스 유닛 n 의 공칭 제거 시간이고, initial_cpb_removal_delay[SchedSelIdx] 및 initial_cpb_removal_delay_offset[SchedSelIdx] 은 이전 버퍼링 주기 SEI 메시지에서 특정되어 있다.
(c) 그렇지 않을 경우 (cbr_flag[SchedSelIdx] 가 "0" 과 동일하고, 후속 액세스 유닛 n 이 후속 버퍼링 주기의 최초 액세스 유닛일 경우) 에는, 액세스 유닛 n 에 대한 초기 도달 시간이 아래 식에 의해 유도될 수도 있다:
tai(n) = tr ,n(n) - (initial_cpb_removal_delay[SchedSelIdx] ÷ 90000) 식 14
initial_cpb_removal_delay[SchedSelIdx] 는 액세스 유닛 n 과 연관된 버퍼링 주기 SEI 메시지에서 특정되어 있다. 이 예에서는, 액세스 유닛 n 에 대한 최종 도달 시간이 아래 식에 의해 유도될 수도 있다:
taf(n) = tai(n) + b(n) ÷ BitRate[SchedSelIdx] 식 15
b(n) 은 액세스 유닛 n 의 비트들의 사이즈일 수도 있고, 유형 I 순응을 위한 유형 I 비트스트림의 비트들, 또는 유형 II 순응을 위한 유형 II 비트스트림의 비트들을 카운트한다.
또한, SchedSelIdx, BitRate[SchedSelIdx], 및 CpbSize[SchedSelIdx] 의 값들은 다음과 같이 제약될 수도 있다:
(1) 액세스 유닛 n 및 액세스 유닛 "n - 1" 이 상이한 CVS 들의 부분이고, 2 개의 CVS 들의 활성 SPS 들의 내용이 상이한 경우, HSS 는 액세스 유닛 n - 1 을 포함하는 CVS 에 대해 이용되었던 SchedSelIdx 의 값 SchedSelIdx0 에 대한 BitRate[SchedSelIdx0] 또는 "CpbSize[SchedSelIdx0]" 의 값과는 상이한, 2 개의 CVS 들 (액세스 유닛 n - 1 을 포함함) 중 두 번째에 대한 BitRate[SchedSelIdx1] 또는 CpbSize[SchedSelIdx1] 로 귀착되는, 액세스 유닛 n 을 포함하는 CVS 에 대해 제공된 SchedSelIdx 의 값들 중으로부터 SchedSelIdx 의 값 SchedSelIdx1 을 선택할 수도 있다.
(2) 그렇지 않을 경우에는, HSS 는 SchedSelIdx, BitRate[SchedSelIdx] 및 CpbSize[SchedSelIdx] 의 이전 값들로 동작하는 것을 계속할 수도 있다.
추가적으로, HSS 가 이전의 액세스 유닛의 그러한 것들과는 상이한 BitRate[SchedSelIdx] 또는 CpbSize[SchedSelIdx] 의 값들을 선택할 때, 다음이 적용될 수도 있다:
(1) 변수 BitRate[SchedSelIdx] 는 시간 tai(n) 에서 효력을 발생할 수도 있다;
(2) 변수 CpbSize[SchedSelIdx] 는 다음과 같이 효력을 발생할 수도 있다:
(a) CpbSize[SchedSelIdx] 의 새로운 값이 이전 CPB 사이즈를 초과할 경우, 그것은 시간 tai(n) 에서 효력을 발생할 수도 있다;
(b) 그렇지 않을 경우에는, CpbSize[SchedSelIdx] 의 새로운 값이 시간 tr(n) 에서 효력을 발생할 수도 있다.
또 다른 예로서, 코딩된 픽처 제거의 타이밍이 지금부터 설명될 것이다. 일부 예들에서는, 코딩된 픽처의 공칭 CPB 제거 시간 및 CPB 제거 시간은, 이전의 코딩된 픽처가 CPB 로부터 제거된 직후에, 또는 액세스 유닛 0 에 대하여, HRD 가 초기화될 때에 계산된다고 가정될 수도 있다.
예를 들어, 액세스 유닛 0 에 대하여, CPB 로부터의 액세스 유닛의 공칭 제거 시간은 아래 식에 의해 특정될 수도 있다:
tr ,n(0) = initial_cpb_removal_delay[SchedSelIdx] ÷ 90000 식 16
액세스 유닛 0 의 제거 시간에서는, 변수 nb 이 "0" 과 동일하게 설정될 수도 있다. CPB 로부터의 액세스 유닛 0 의 제거 직후에는, tr,n (0)이 tr,n(0) - (DelayOffset[SchedSelIdx] ÷ 90000) 과 동일하게 설정될 수도 있다.
이 예에서는, 액세스 유닛 0 의 유효 CPB 제거 시간은 시프트되지 않을 수도 있지만, 디코딩 순서에서 액세스 유닛 0 이후의 모든 픽처들에 대해서는, 유효 CPB 제거 시간이 (DelayOffset[SchedSelIdx] ÷ 90000) 만큼 더 이전으로 시프트될 수도 있다.
또한, HRD 를 초기화하지 않는 버퍼링 주기의 최초 액세스 유닛에 대하여, CPB 로부터의 액세스 유닛의 공칭 제거 시간은 아래 식에 의해 특정될 수도 있다:
tr ,n(n) = tr ,n (nb) + tc * cpb_removal_delay(n) 식 17
여기서, tr,n(nb) 는 이전 버퍼링 주기의 최초 픽처의 공칭 제거 시간일 수도 있고, cpb_removal_delay(n) 는 액세스 유닛 n 과 연관된 픽처 타이밍 SEI 메시지에서 특정될 수도 있다.
추가적으로, 액세스 유닛 n 이 HRD 를 초기화하지 않는 버퍼링 주기의 최초 액세스 유닛일 때, nb 는 액세스 유닛 n 의 제거 시간에서의 "n" 과 동일할 수도 있다. 또한, 버퍼링 주기의 최초 액세스 유닛이 아닌 액세스 유닛 n 의 공칭 제거 시간 tr ,n(n) 은 아래의 식에 의해 주어질 수도 있다:
tr ,n(n) = tr ,n(nb) + tc * cpb_removal_delay(n) 식 18
예를 들어, 액세스 유닛 n 의 제거 시간은 다음과 같이 특정될 수도 있다:
(1) low_delay_hrd_flag 가 "0" 과 동일하거나, 또는 tr,n(n) >= taf(n) 일 경우, 액세스 유닛 n 의 제거 시간은 아래 식에 의해 특정될 수도 있다:
tr(n) = tr ,n(n) 식 19
(2) 그렇지 않을 경우 (low_delay_hrd_flag 가 "1" 과 동일하고, tr ,n(n) < taf(n) 일 경우) 에는, 액세스 유닛 n 의 제거 시간은 아래 식에 의해 특정될 수도 있다:
tr( n ) = tr ,n( n ) + tc * Ceil((taf(n) - tr ,n(n)) ÷ tc) 식 20
이 예에서, 후자의 경우는 액세스 유닛 n 의 사이즈 b(n) 가 매우 커서 공칭 제거 시간에 제거를 방지한다는 것을 표시한다.
이 개시물의 기술들의 또 다른 예는 손실된 참조 픽처들을 가지는 리딩 픽처들에 대한 디코딩 프로세스들을 특정한다. 이 예에서는, 리딩 픽처들이 비트스트림에서 존재하는 CRA 픽처로 시작하는 비트스트림만이 순응하는 비트스트림으로서 특정된다. 특히, 이 예는 HEVC WD5에서 설명된 기술들의 일부에 대응하고, 아래에서 상세하게 설명되는 바와 같이, HEVC WD5의 이 기술들에 대한 다음의 변경들을 포함한다.
이 예에서는, 비트스트림에서의 제 1 코딩된 픽처가 IDR 픽처 또는 CRA 픽처일 수도 있다. 이전에 설명된 바와 같이, 이 개시물에서 이용되는 바와 같은 용어 "리딩 픽처" 는 다음과 같이 정의될 수도 있다: 디코딩 순서에서 CRA 픽처를 뒤따르고 출력 순서에서는 CRA 픽처를 선행하는 CRA 픽처와 연관된 코딩된 픽처. 예를 들어, 비트스트림에서의 제 1 코딩된 픽처가 CRA 픽처이고, 현재의 또는 현재 코딩되는 픽처는 비트스트림에서의 제 1 코딩된 픽처의 리딩 픽처인 경우, 현재 코딩되는 픽처의 output_flag 는 (예를 들어, 코딩된 픽처의 비디오 코딩 계층 (VCL) NAL 유닛들의 NAL 유닛 헤더에서의 output_flag 의 값에 관계없이) 거짓 또는 "0" 과 동일하게 설정될 수도 있다. 이 예에서는, (아래에서 도시된 바와 같은) 손실된 참조 픽처들을 발생하기 위한 디코딩 프로세스가 호출될 수도 있다(예를 들어, 이 프로세스는 픽처의 하나의 슬라이스에 대해 호출될 필요가 있기만 할 수도 있음).
또한, RPS 에서는 포함되지만, DPB 에서는 존재하지 않는 하나 이상의 참조 픽처들이 있을 수도 있다. 비트스트림에서의 제 1 코딩된 픽처가 IDR 픽처인 경우, 또는 비트스트림에서의 제 1 코딩된 픽처가 CRA 픽처이며 현재 코딩되는 픽처가 비트스트림에서의 제 1 코딩된 픽처의 리딩 픽처가 아닐 경우에는, "참조 픽처 없음" 과 동일한 RefPicSetStFoll 또는 RefPicSetLtFoll 내의 엔트리들은 무시될 수도 있다. 예를 들어, 의도적이지 않은 픽처 손실은 "참조 픽처 없음" 과 동일한 RefPicSetStCurr0, RefPicSetStCurr1, 및 RefPicSetLtCurr 내의 각각의 엔트리에 대해 추론될 수도 있다.
추가적으로, 비트스트림에서의 제 1 코딩된 픽처가 IDR 픽처인 경우, 또는 비트스트림에서의 제 1 코딩된 픽처가 CRA 픽처이며 현재 코딩되는 픽처가 비트스트림에서의 제 1 코딩된 픽처의 리딩 픽처가 아닐 경우에는, "참조 픽처 없음" 과 동일한 RefPicSetStCurr0, RefPicSetStCurr1, 또는 RefPicSetLtCurr 내에 엔트리가 전혀 없을 수도 있다.
손실된 참조 픽처들을 발생하기 위한 디코딩 프로세스는 다음과 같이 특정될 수도 있다. 이 프로세스는 (예를 들어, HEVC WD5 내의 하위-절 8.2,2 내의, 문서 "JCTVC-G1103" 내의, 예를 들어, 문서의 버전 "d9" 에 특정된 바와 같이) RPS 에 대한 디코딩 프로세스의 호출 후에, 코딩된 픽처당 한번 호출될 수도 있다. 비트스트림에서의 제 1 코딩된 픽처가 CRA 픽처이고, 현재 코딩되는 픽처가 비트스트림에서의 제 1 코딩된 픽처의 리딩 픽처일 때, 다음이 적용될 수도 있다:
1) "참조 픽처 없음" 과 동일한, "i" 가 "0" 내지 NumPocStCurr0 - 1 까지의 범위인 각각의 RefPicSetStCurr0[i] 에 대하여, 참조 픽처는 아래에서 특정되는 바와 같이, 손실된 참조 픽처를 발생하기 위한 디코딩 프로세스의 호출에 의해 발생될 수도 있다. 추가적으로, 다음이 적용될 수도 있다:
A) 발생된 참조 픽처에 대한 PicOrderCntVal 의 값은 PocStCurr0[i] 로 설정될 수도 있다.
B) 발생된 참조 픽처에 대한 output_flag 의 값은 "0" 으로 설정될 수도 있다.
C) 발생된 참조 픽처는 "단기 참조를 위해 이용됨" 으로 표기될 수도 있다.
D) RefPicSetStCurr0[i] 은 발생된 참조 픽처인 것으로 설정될 수도 있다.
2) "참조 픽처 없음" 과 동일한, "i" 가 "0" 내지 NumPocStCurr1 - 1 까지의 범위인 각각의 RefPicSetStCurr1[i] 에 대하여, 참조 픽처는 아래에서 특정되는 바와 같이, 손실된 참조 픽처를 발생하기 위한 디코딩 프로세스의 호출에 의해 발생될 수도 있다. 추가적으로, 다음이 적용될 수도 있다:
A) 발생된 참조 픽처에 대한 PicOrderCntVal 의 값은 PocStCurr1[i] 로 설정될 수도 있다.
B) 발생된 참조 픽처에 대한 output_flag 의 값은 "0" 으로 설정될 수도 있다.
C) 발생된 참조 픽처는 "단기 참조를 위해 이용됨" 으로 표기될 수도 있다.
D) RefPicSetStCurr1[i] 은 발생된 참조 픽처인 것으로 설정될 수도 있다.
3) "참조 픽처 없음" 과 동일한, "i" 가 "0" 내지 NumPocLtCurr - 1 까지의 범위인 각각의 RefPicSetLtCurr[i] 에 대하여, 참조 픽처는 아래에서 특정되는 바와 같이, 손실된 참조 픽처를 발생하기 위한 디코딩 프로세스의 호출에 의해 발생될 수도 있다. 추가적으로, 다음이 적용될 수도 있다:
A) 발생된 참조 픽처에 대한 pic_order_cnt_lsb 의 값은 PocLtCurr[i] 로 설정될 수도 있다.
B) 발생된 참조 픽처에 대한 output_flag 의 값은 "0" 으로 설정될 수도 있다.
C) 발생된 참조 픽처는 "장기 참조를 위해 이용됨" 으로 표기될 수도 있다.
D) RefPicSetLtCurr[i] 은 발생된 참조 픽처인 것으로 설정될 수도 있다.
일부 예들에서는, 손실된 참조 픽처를 발생하기 위한 디코딩 프로세스가 다음과 같이 특정될 수도 있다:
1) 샘플 어레이 SL 에서의 각각의 엘리먼트의 값은 1<<(BitDepthY - 1) 로 설정될 수도 있다.
2) 샘플 어레이 SCb 및 SCr 에서의 각각의 엘리먼트의 값은 1<<(BitDepthC - 1) 로 설정될 수도 있다.
3) 각각의 최소 CU 에 대한 예측 모드 PredMode 는 MODE_INTRA 로 설정될 수도 있다.
대안적으로, 각각의 LCU 는 최소 CU 로 분할될 수도 있고, 최소 CU 는 MODE_INTRA 로 설정될 수도 있다.
대안적으로, 각각의 LCU 는 MODE_INTRA 로 설정될 수도 있다.
따라서, 이 개시물의 교시사항들과 일치하는 일부 예들에서는, 소스 디바이스 (12) 의 비디오 인코더 (20) 는 비디오 데이터의 하나 이상의 픽처들을 인코딩하도록 구성될 수도 있다. 이 예들에서, 목적지 디바이스 (14) 의 비디오 디코더 (30) 는 예를 들어, 비디오 인코더 (20) 에 의해 발생되며 비디오 디코더 (30) 에 의해 수신되는 인코딩된 비트스트림의 일부로서, 비디오 인코더 (20) 로부터 인코딩된 하나 이상의 픽처들을 수신하고 하나 이상의 픽처들을 디코딩하도록 구성될 수도 있다.
하나의 예로서, 비디오 디코더 (30) 는 CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하도록 구성될 수도 있다. 비디오 디코더 (30) 는 CVS 와 연관된 디코딩 순서에 따라 하나 이상의 픽처들의 제 1 픽처를 디코딩하도록 더 구성될 수도 있다. 이 예에서, 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처일 수도 있다. 비디오 디코더 (30) 는 디코딩된 제 1 픽처에 기초하여, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 디코딩하도록 또한 구성될 수도 있다.
또 다른 예로서, 비디오 인코더 (20) 는 CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하도록 구성될 수도 있다. 이 예에서, CVS 와 연관된 디코딩 순서에 따른 하나 이상의 픽처들 중 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처일 수도 있다. 또한, 이 예에서, 비트스트림을 생성하기 위하여, 비디오 인코더 (20) 는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 비트스트림에 포함시키는 것을 회피하도록 구성될 수도 있다. 예를 들어, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르고 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다. 이 예에서, 제 1 픽처는 예를 들어, 비디오 디코더 (30) 에 의해 디코딩 가능할 수도 있으며, 즉, 디코딩될 수도 있다. 또한, 이 예에서는, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처가 디코딩된 제 1 픽처에 기초하여 또한 디코딩 가능할 수도 있다. 예를 들어, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처는 제 1 픽처의 디코딩된 버전을 참조 픽처로서 이용하여 디코딩 가능할 수도 있다.
이러한 방식으로, 비디오 디코더 (30) 는 이 개시물의 기술들에 의해 특정된 바와 같이, 예측가능한 그리고 정의된 방식으로, 비디오 데이터의 하나 이상의 픽처들을 포함하며 비-IDR RAP 픽처로 시작하는, 예를 들어, 비디오 인코더 (20) 에 의해 발생된 비트스트림을 디코딩할 수도 있다. 그 결과, 개시된 기술들을 이용하면, 비디오 데이터의 하나 이상의 픽처들을 포함하는 비트스트림의 랜덤 액세스를 수행할 때에 사용자 경험에 있어서 상대적인 개선이 있을 수도 있다. 특히, 비디오 디코더 (30) 는 상대적으로 더 큰 입도 (granularity) 로 비트스트림을 디코딩할 수 있을 수도 있다. 다시 말해서, 비디오 디코더 (30) 는 다른 기술들 (IDR 픽처들로부터만 비트스트림의 랜덤 액세스를 허용하는 기술들) 에 비해, 비트스트림의 상대적으로 더 많은 지점들, 또는 픽처들 (즉, 비-IDR 픽처들) 에서 비트스트림을 랜덤으로 액세스할 수 있을 수도 있다. 추가적으로, 이 개시물의 기술들을 이용하면, 비트스트림에 포함된 CVS 및/또는 전체로서의 CVS 중 하나 이상의 픽처들의 시각적 품질에 있어서 상대적인 개선이 있을 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 적용가능하다면, 하나 이상의 마이크로프로세서들, DSP 들, ASIC 들, FPGA 들, 이산 로직 회로부, 소프트웨어, 하드웨어, 펌웨어, 또는 그 임의의 조합들과 같은 다양한 적당한 인코더 또는 디코더 회로부 중 임의의 것으로서 구현될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 의 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 그 중 어느 하나는 조합된 비디오 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있다. 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 를 포함하는 장치는 집적 회로 (IC), 마이크로프로세서, 및/또는 셀룰러 전화와 같은 무선 통신 디바이스를 포함할 수도 있다.
도 2 는 이 개시물의 기술들과 일치하는, 진보된 DPB 관리로 랜덤 액세스를 위한 기술들을 수행할 수도 있는 비디오 인코더의 예를 예시하는 블록도이다. 비디오 인코더 (20) 는 비디오 슬라이스들 내의 비디오 블록들의 인트라 코딩 및 인터 코딩을 수행할 수도 있다. 인트라 코딩은 주어진 비디오 프레임 또는 픽처 내의 비디오에 있어서 공간적 중복성을 감소시키거나 제거하기 위하여 공간적 예측에 의존한다. 인터 코딩은 비디오 시퀀스의 인접한 프레임들 또는 픽처들 내의 비디오에 있어서 시간적 중복성을 감소시키거나 제거하기 위하여 시간적 예측에 의존한다. 인트라-모드 (I 모드) 는 몇몇 공간 기반 압축 모드들 중 임의의 것을 지칭할 수도 있다. 단방향 예측 (P 모드) 또는 양예측 (B 모드) 과 같은 인터-모드들은 몇몇 시간-기반 압축 모드들 중 임의의 것을 지칭할 수도 있다.
도 2 의 예에서, 비디오 인코더 (20) 는 모드 선택 유닛 (40), 모션 추정 유닛 (42), 모션 보상 유닛 (44), 인트라 예측 프로세싱 유닛 (46), 참조 픽처 메모리 (66), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 유닛 (54), 및 엔트로피 인코딩 유닛 (56) 을 포함한다. 비디오 블록 재구성을 위하여, 비디오 인코더 (20) 는 역양자화 유닛 (58), 역변환 프로세싱 유닛 (60), 및 합산기 (62) 를 또한 포함한다. 재구성된 비디오로부터 블록화 아티팩트 (blockiness artifact) 들을 제거하기 위하여 블록 경계들을 필터링하기 위한 디블록킹 필터 (64) 가 또한 포함된다.
도 2 에 도시된 바와 같이, 비디오 인코더 (20) 는 인코딩될 비디오 슬라이스 내의 현재의 비디오 블록을 수신한다. 슬라이스는 다수의 비디오 블록들로 분할될 수도 있다. 모드 선택 유닛 (40) 은 에러 결과들에 기초하여 현재의 비디오 블록에 대한 코딩 모드들 중 하나, 인트라 또는 인터를 선택할 수도 있다. 인트라 또는 인터-모드들이 선택될 경우, 모드 선택 유닛 (40) 은 결과적인 인트라 또는 인터 코딩된 블록을, 잔여 블록 데이터를 발생하기 위하여 합산기 (50) 에, 그리고 참조 픽처로서 이용하기 위한 인코딩된 블록을 재구성하기 위하여 합산기 (62) 에 제공한다. 인트라 예측 프로세싱 유닛 (46) 은 공간적 압축을 제공하기 위하여 코딩될 현재의 블록과 동일한 프레임 또는 슬라이스에서 하나 이상의 인접한 블록들에 대하여 현재의 비디오 블록의 인트라 예측 코딩을 수행한다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 시간적 압축을 제공하기 위하여 하나 이상의 참조 픽처들에서 하나 이상의 예측 블록들에 대하여 현재의 비디오 블록의 인터 예측 코딩을 수행한다.
인터 코딩의 경우, 모션 추정 유닛 (42) 은 비디오 시퀀스의 미리 결정된 패턴에 따라 비디오 슬라이스에 대한 인터 예측 모드를 결정하도록 구성될 수도 있다. 미리 결정된 패턴은 시퀀스에서의 비디오 슬라이스들을 P 슬라이스들, B 슬라이스들 또는 GPB 슬라이스들로서 나타낼 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 통합될 수도 있지만, 개념적인 목적들을 위하여 별개로 예시되어 있다. 모션 추정 유닛 (42) 에 의해 수행되는 모션 추정은 비디오 블록들의 모션을 추정하는 모션 벡터들을 발생하는 프로세스이다. 예를 들어, 모션 벡터는 참조 픽처 내의 예측 블록에 대하여 현재의 비디오 프레임 또는 픽처 내의 비디오 블록의 PU 의 변위를 표시할 수도 있다.
예측 블록은, 절대차의 합 (sum of absolute difference; SAD), 제곱차의 합 (sum of square difference; SSD), 또는 다른 차이 메트릭들에 의해 결정될 수도 있는 픽셀 차이의 측면에서 코딩될 비디오 블록의 PU 를 근접하게 일치시키는 것으로 판명되는 블록이다. 일부 예들에서, 비디오 인코더 (20) 는 참조 픽처 메모리 (66) 에 저장된 참조 픽처들의 정수-미만 픽셀 위치들에 대한 값들을 계산할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 참조 픽처의 1/4 픽셀 위치들, 1/8 픽셀 위치들, 또는 다른 분수 픽셀 위치들의 값들을 계산할 수도 있다. 그러므로, 모션 추정 유닛 (42) 은 전체 픽셀 위치들 및 분수 픽셀 위치들에 대하여 모션 검색을 수행할 수도 있고, 분수 픽셀 정밀도를 갖는 모션 벡터를 출력할 수도 있다.
모션 추정 유닛 (42) 은 PU 의 위치를 참조 픽처의 예측 블록의 위치와 비교함으로써, 인터 코딩된 슬라이스에서 비디오 블록의 PU 에 대한 모션 벡터를 계산한다. 참조 픽처는, 그 각각이 참조 픽처 메모리 (66) 에 저장된 하나 이상의 참조 픽처들을 식별하는, 제 1 참조 픽처 리스트 (List 0) 또는 제 2 참조 픽처 리스트 (List 1) 로부터 선택될 수도 있다. 모션 추정 유닛 (42) 은 계산된 모션 벡터를 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (44) 으로 전송한다.
모션 보상 유닛 (44) 에 의해 수행되는 모션 보상은 모션 추정에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페치 (fetch) 하거나 발생하는 것을 포함할 수도 있다. 현재의 비디오 블록의 PU 에 대한 모션 벡터의 수신 시에, 모션 보상 유닛 (44) 은, 참조 픽처 리스트들 중 하나에서 모션 벡터가 지시하는 예측 블록을 위치결정할 수도 있다. 비디오 인코더 (20) 는, 코딩되고 있는 현재의 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 감산하여 픽셀 차이 값들을 형성함으로써 잔여 비디오 블록을 형성한다. 픽셀 차이 값들은 블록에 대한 잔여 데이터를 형성하고, 루마 및 크로마 차이 컴포넌트들을 둘 모두 포함할 수도 있다. 합산기 (50) 는 이 감산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 모션 보상 유닛 (44) 은 비디오 슬라이스의 비디오 블록들을 디코딩함에 있어서 비디오 디코더 (30) 에 의한 이용을 위하여 비디오 블록들 및 비디오 슬라이스와 연관된 신택스 엘리먼트들을 또한 발생할 수도 있다.
모션 보상 유닛 (44) 이 현재의 비디오 블록에 대한 예측 블록을 발생한 후, 비디오 인코더 (20) 는 현재의 비디오 블록으로부터 예측 블록을 감산함으로써 잔여 비디오 블록을 형성한다. 잔여 블록에서의 잔여 비디오 데이터는 하나 이상의 TU 들에 포함될 수도 있고 변환 프로세싱 유닛 (52) 에 적용될 수도 있다. 변환 프로세싱 유닛 (52) 은 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 이용하여 잔여 비디오 데이터를 잔여 변환 계수들로 변환한다. 변환 프로세싱 유닛 (52) 은 잔여 비디오 데이터를 픽셀 도메인으로부터 주파수 도메인과 같은 도메인으로 변환할 수도 있다.
변환 프로세싱 유닛 (52) 은 결과적인 변환 계수들을 양자화 유닛 (54) 으로 전송할 수도 있다. 양자화 유닛 (54) 은 비트 레이트를 더욱 감소시키기 위하여 변환 계수들을 양자화한다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 깊이를 감소시킬 수도 있다. 양자화 정도는 양자화 파라미터 (QP) 를 조절함으로써 수정될 수도 있다. 일부 예들에서는, 따라서, 양자화 유닛 (54) 이 양자화된 변환 계수들을 포함하는 행렬의 스캔 (scan) 을 수행할 수도 있다. 대안적으로, 엔트로피 인코딩 유닛 (56) 이 스캔을 수행할 수도 있다.
양자화 후에, 엔트로피 인코딩 유닛 (56) 은 양자화된 변환 계수들을 엔트로피 인코딩한다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 CAVLC, CABAC, 또는 또 다른 엔트로피 인코딩 기술을 수행할 수도 있다. 엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 인코딩 후에, 인코딩된 비트스트림은 비디오 디코더 (30) 로 송신될 수도 있거나, 또는 비디오 디코더 (30) 에 의한 나중의 송신 또는 취출을 위하여 보관될 수도 있다. 엔트로피 인코딩 유닛 (56) 은 코딩되고 있는 현재의 비디오 슬라이스에 대한 모션 벡터들 및 다른 신택스 엘리먼트들을 또한 엔트로피 인코딩할 수도 있다.
역양자화 유닛 (58) 및 역변환 프로세싱 유닛 (60) 은 참조 픽처의 참조 블록으로서의 나중의 이용을 위하여 픽셀 도메인에서 잔여 블록을 재구성하기 위하여 역양자화 및 역변환을 각각 적용한다. 모션 보상 유닛 (44) 은 잔여 블록을 참조 픽처 리스트들 중 하나의 참조 픽처 리스트 내의 참조 픽처들 중 하나의 참조 픽처의 예측 블록에 추가함으로써 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (44) 은 모션 추정에 있어서의 이용을 위한 정수-미만 픽셀 값들을 계산하기 위하여 하나 이상의 보간 필터들을 재구성된 잔여 블록에 또한 적용할 수도 있다. 합산기 (62) 는 참조 픽처 메모리 (66) 에서의 저장을 위한 참조 블록을 생성하기 위하여, 재구성된 잔여 블록을 모션 보상 유닛 (44) 에 의해 생성된 모션 보상된 예측 블록에 추가한다. 참조 블록은 후속 비디오 프레임 또는 픽처에서 블록을 인터 예측하기 위한 참조 블록으로서, 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 이용될 수도 있다.
하나의 예로서, 비디오 인코더 (20) 는 비디오 인코딩 프로세스 동안에 비디오 데이터의 하나 이상의 픽처들을 인코딩하도록 구성될 수도 있다. 예를 들어, 비디오 인코더 (20) 는 CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하도록 구성될 수도 있고, 여기서, CVS 와 연관된 디코딩 순서에 따른 하나 이상의 픽처들의 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처이다. 이 예에서는, 비트스트림을 생성하기 위하여, 비디오 인코더 (20) 는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 비트스트림에 포함시키는 것을 회피하도록 구성될 수도 있다. 예를 들어, 리딩 픽처는, 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다. 또한, 이 예에서는, 비디오 인코더 (20) 가 위에서 설명된 방식으로 비트스트림을 생성하는 결과, 제 1 픽처가 (예를 들어, 비디오 디코더 (30) 에 의해) 성공적으로 디코딩될 수도 있으며, 즉, 디코딩 가능할 수도 있다. 추가적으로, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처는 또한, 제 1 픽처에 기초하여 (예를 들어, 제 1 픽처가 위에서 설명된 바와 같이 디코딩된 후에, 제 1 픽처를 참조 픽처로서 이용함), (예를 들어, 비디오 디코더 (30) 에 의해) 성공적으로 디코딩될 수도 있거나, 또는 디코딩 가능할 수도 있다.
따라서, 위에서 설명된 바와 같이, 이 개시물의 기술들은 비디오 인코더 (20) 가 이 개시물의 기술들에 의해 특정된 바와 같이, 예측가능한 그리고 정의된 방식으로, 비디오 디코더, 예를 들어 비디오 디코더 (30) 에 의해 디코딩될 수도 있는 비트스트림을 생성하는 것을 가능하게 할 수도 있다. 특히, 비트스트림은 비디오 데이터의 CVS 의 하나 이상의 픽처들을 포함할 수도 있다. 비트스트림은, 비-IDR RAP 픽처로 비트스트림이 시작하도록 비디오 디코더에 의해 수신될 수도 있다. 이 개시물의 기술들을 이용하면, 비디오 디코더는 비트스트림을 성공적으로 디코딩할 수도 있다. 이와 같이, 개시된 기술들을 이용하면, 비트스트림의 랜덤 액세스를 수행할 때에 사용자 경험에 있어서 상대적인 개선이 있을 수도 있다. 하나의 예로서, 기술들은 비디오 디코더가 상대적으로 더 큰 입도로 비트스트림을 디코딩하는 것을 가능하게 할 수도 있다. 다시 말해서, 기술들은 다른 기술들 (예를 들어, IDR 픽처들로부터만 비트스트림의 랜덤 액세스를 허용하는 기술들) 에 비해, 비디오 디코더가 비트스트림의 상대적으로 더 많은 지점들, 또는 픽처들 (즉, 비-IDR 픽처들) 에서 비트스트림을 랜덤으로 액세스하는 것을 가능하게 할 수도 있다. 또 다른 예로서, 개시된 기술들을 이용하면, (예를 들어, 비트스트림으로부터 제 1 픽처와 연관된 리딩 픽처들을 생략하는 비디오 인코더 (20) 에 의해) 비트스트림에 포함된 CVS 및/또는 전체로서의 CVS 중 하나 이상의 픽처들의 시각적 품질에 있어서 상대적인 개선이 있을 수도 있다.
이러한 방식으로, 비디오 인코더 (20) 는 CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하도록 구성된 비디오 인코더의 일 예를 나타내고, 여기서, CVS 와 연관된 디코딩 순서에 따른 하나 이상의 픽처들의 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처이고, 여기서, 비트스트림을 생성하기 위하여, 비디오 인코더는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 비트스트림에 포함시키는 것을 회피하도록 구성되고, 여기서, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처이고, 여기서, 제 1 픽처는 디코딩 가능하고, 여기서, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처가 제 1 픽처에 기초하여 디코딩 가능하다.
도 3 은 이 개시물의 기술들과 일치하는, 진보된 DPB 관리로 랜덤 액세스를 위한 기술들을 수행할 수도 있는 비디오 디코더의 일 예를 예시하는 블록도이다. 도 3 의 예에서, 비디오 디코더 (30) 는 엔트로피 디코딩 유닛 (80), 예측 프로세싱 유닛 (82), 역양자화 유닛 (88), 역변환 프로세싱 유닛 (90), 합산기 (92), 디블록킹 필터 (94), 및 참조 픽처 메모리 (96) 를 포함한다. 예측 프로세싱 유닛 (82) 은 모션 보상 유닛 (84) 및 인트라 예측 프로세싱 유닛 (86) 을 포함한다. 일부 예들에서, 비디오 디코더 (30) 는 도 2 로부터 비디오 인코더 (20) 에 대하여 설명된 인코딩 패스 (pass) 와 대체로 상반되는 디코딩 패스를 수행할 수도 있다.
디코딩 프로세스 동안, 비디오 디코더 (30) 는 인코딩된 비디오 슬라이스의 비디오 블록들 및 연관된 신택스 엘리먼트들을 나타내는 인코딩된 비디오 비트스트림을 비디오 인코더 (20) 로부터 수신한다. 비트스트림에서 나타낸 비디오 블록들이 압축된 비디오 데이터를 포함할 때, 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (80) 은 양자화된 계수들, 모션 벡터들, 및 다른 신택스 엘리먼트들을 발생하기 위하여 비트스트림을 엔트로피 디코딩한다. 엔트로피 디코딩 유닛 (80) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 예측 프로세싱 유닛 (82) 으로 포워딩한다. 비디오 디코더 (30) 는 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨에서 신택스 엘리먼트들을 수신할 수도 있다.
비디오 슬라이스가 인트라 코딩된 (I) 슬라이스로서 코딩될 때, 예측 프로세싱 유닛 (82) 의 인트라 예측 프로세싱 유닛 (86) 은 시그널링된 인트라 예측 모드와, 현재의 프레임 또는 픽처의 이전에 디코딩된 블록들로부터의 데이터에 기초하여, 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 발생할 수도 있다. 비디오 프레임이 인터 코딩된 (즉, B, P 또는 GPB) 슬라이스로서 코딩될 때, 예측 프로세싱 유닛 (82) 의 모션 보상 유닛 (84) 은 엔트로피 디코딩 유닛 (80) 으로부터 수신된 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여, 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 생성한다. 예측 블록들은 참조 픽처 리스트들 중 하나의 참조 픽처 리스트 내의 참조 픽처들 중 하나로부터 생성될 수도 있다. 비디오 디코더 (30) 는 참조 픽처 메모리 (96) 에 저장된 참조 픽처들에 기초하여, 디폴트 구성 기술들을 이용하여 참조 프레임 리스트들, List 0 및 List 1 을 구성할 수도 있다.
모션 보상 유닛 (84) 은 모션 벡터들 및 다른 신택스 엘리먼트들을 파싱함으로써 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 디코딩되고 있는 현재의 비디오 블록에 대한 예측 블록들을 생성하기 위하여 예측 정보를 이용한다. 예를 들어, 모션 보상 유닛 (84) 은 비디오 슬라이스의 비디오 블록들을 코딩하기 위해 이용되는 예측 모드 (예를 들어, 인트라 또는 인터 예측) 를 결정하기 위한 수신된 신택스 엘리먼트들, 인터 예측 슬라이스 유형 (예를 들어, B 슬라이스, P 슬라이스, 또는 GPB 슬라이스), 슬라이스에 대한 참조 픽처 리스트들 중 하나 이상의 참조 픽처 리스트에 대한 구성 정보, 슬라이스의 각각의 인터-인코딩된 비디오 블록에 대한 모션 벡터들, 슬라이스의 각각의 인터 코딩된 비디오 블록에 대한 인터 예측 상태, 및 현재의 비디오 슬라이스에서 비디오 블록들을 디코딩하기 위한 다른 정보 중 일부를 이용한다.
모션 보상 유닛 (84) 은 보간 필터들에 기초하여 보간을 또한 수행할 수도 있다. 모션 보상 유닛 (84) 은 참조 블록들의 정수-미만 픽셀들에 대한 보간된 값들을 계산하기 위하여, 비디오 블록들의 인코딩 동안에 비디오 인코더 (20) 에 의해 이용되는 바와 같이 보간 필터들을 이용할 수도 있다. 모션 보상 유닛 (84) 은 수신된 신택스 엘리먼트들로부터 비디오 인코더 (20) 에 의해 이용되는 보간 필터들을 결정할 수도 있고, 예측 블록들을 생성하기 위하여 보간 필터들을 이용할 수도 있다.
역양자화 유닛 (88) 은 비트스트림에서 제공되며 엔트로피 디코딩 유닛 (80) 에 의해 디코딩되는 양자화된 변환 계수들을 역양자화 (inverse quantize), 즉, 탈양자화 (de-quantize) 한다. 역양자화 프로세스는 적용되어야 할 양자화의 정도와, 마찬가지로, 역양자화의 정도를 결정하기 위하여, 비디오 슬라이스에서의 각각의 비디오 블록에 대하여 비디오 인코더 (20) 에 의해 계산된 양자화 파라미터 (QP) 의 이용을 포함할 수도 있다. 역변환 프로세싱 유닛 (90) 은 픽셀 도메인에서 잔여 블록들을 생성하기 위하여, 역변환, 예를 들어, 역 DCT, 역 정수 변환, 또는 개념적으로 유사한 역변환 프로세스를 변환 계수들에 적용한다.
모션 보상 유닛 (84) 이 모션 벡터들 및 다른 신택스 엘리먼트들에 기초하여 현재의 비디오 블록에 대한 예측 블록을 발생한 후, 비디오 디코더 (30) 는 역변환 프로세싱 유닛 (90) 으로부터의 잔여 블록들을, 모션 보상 유닛 (84) 에 의해 발생된 대응하는 예측 블록들과 합산함으로써, 디코딩된 비디오 블록을 형성한다. 합산기 (92) 는 이 합산 동작을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 블록화 아티팩트들을 제거하기 위하여, 디코딩된 블록들을 필터링하기 위한 디블록킹 필터 (94) 가 적용된다. 다음으로, 주어진 프레임 또는 픽처에서의 디코딩된 비디오 블록들은, 후속 모션 보상을 위해 이용되는 참조 픽처들을 저장하는 참조 픽처 메모리 (96) 에 저장된다. 참조 픽처 메모리 (96) 는 도 1 의 디스플레이 디바이스 (28) 와 같은 디스플레이 디바이스 상에서의 나중의 프리젠테이션을 위하여 디코딩된 비디오를 또한 저장한다.
하나의 예로서, 비디오 디코더 (30) 는 비디오 디코딩 프로세스 동안에 비디오 데이터의 하나 이상의 픽처들을 디코딩하도록 구성될 수도 있다. 예를 들어, 비디오 디코더 (30) 는 CVS 의 하나 이상의 픽처들을 포함하는, 예를 들어, 비디오 인코더 (20) 에 의해 발생된 비트스트림을 수신하도록 구성될 수도 있다. 비디오 디코더 (30) 는 CVS 와 연관된 디코딩 순서에 따라 하나 이상의 픽처들 중 제 1 픽처를 디코딩하도록 더 구성될 수도 있다. 이 예에서, 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처일 수도 있다. 비디오 디코더 (30) 는 디코딩된 제 1 픽처에 기초하여, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 디코딩하도록 또한 구성될 수도 있다.
일부 예들에서, 비디오 디코더 (30) 는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 결정 (또는 식별) 하도록 더 구성될 수도 있다. 다시 말해서, 비디오 디코더 (30) 는 하나 이상의 픽처들 사이에서 제 1 픽처와 연관되어 있는 적어도 하나의 리딩 픽처를 식별하도록 구성될 수도 있다. 이 예들에서, 리딩 픽처는 다시 한번, 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다. 예를 들어, 비디오 디코더 (30) 는 하나 이상의 픽처들 중 적어도 하나의 픽처를 디코딩하도록 구성될 수도 있다. 하나 이상의 픽처들 중 적어도 하나의 픽처의 각각을 디코딩하기 위하여, 비디오 디코더 (30) 는 각각의 픽처를 인코딩하기 위해 이용되는 하나 이상의 참조 픽처들을 결정하거나 식별하고, 디코딩되도록 이용 불가능한 것으로 결정되는, 결정되거나 식별된 하나 이상의 참조 픽처들의 각각에 대하여, 결정되거나 식별된 하나 이상의 참조 픽처들 중 임의의 것이 디코딩되도록 이용 불가능한지 여부를 결정하고, 가상 참조 픽처를 발생하고, 대응하는 하나 이상의 발생된 가상 참조 픽처들에 기초하여 각각의 픽처를 디코딩하도록 구성될 수도 있다.
상기 설명된 예들에서, 가상 참조 픽처를 발생하기 위하여, 비디오 디코더 (30) 는 CVS 와 연관된 픽셀 값들의 범위의 중간에 각각 대응하는 하나 이상의 픽셀 값들을 포함하는 픽처를 발생하도록 구성될 수도 있다. 예를 들어, 비디오 디코더 (30) 는, 픽처가 "127" 의 "루마" 또는 "크로마" 값들을 각각 갖는 하나 이상의 픽셀 값들을 포함하도록 하는 픽처를 발생하도록 구성될 수도 있다. 이 예에서, 각각의 이러한 픽셀은 "0" 의 픽셀 강도 값으로부터 "255" 의 픽셀 강도 값까지로 정의된 루마 또는 크로마 픽셀 강도 값들의 범위의 중간에 대응할 수도 있다. 예를 들어, 루마 또는 크로마 픽셀 강도 값들의 각각은 데이터의 7 비트들을 이용하여 나타낼 수도 있고, 이것은 값들의 상기 설명된 범위로 귀착될 수도 있다. 그러나, 다른 예들에서는, 루마 또는 크로마 픽셀 강도 범위와, 범위의 대응하는 중간 또는 중간 값들이 상이한 방식으로 정의될 수도 있다.
일부 예들에서, 비디오 디코더 (30) 는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 결정하거나 식별하도록 더 구성될 수도 있다. 이 예들에서는 다시 한번, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다. 또한, 이 예들에서, 비디오 디코더 (30) 는, 각각의 픽처가 출력되어야 함을 출력 플래그 (예를 들어, 위에서 설명된 신택스 엘리먼트 output_flag) 가 표시하는, 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상 (즉, 제 1 픽처와 연관된 이전에 결정되거나 식별된 리딩 픽처들 중 하나 이상) 을 출력하지 않도록 또는 출력하는 것을 회피하도록 구성될 수도 있다.
다른 예들에서, 비디오 디코더 (30) 는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 결정하거나 식별하도록 더 구성될 수도 있다. 이 예들에서는 다시 한번, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다. 또한, 이 예들에서, 비디오 디코더 (30) 는, 디코딩 순서에 따라 그리고 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 디코딩하기 위한 참조 픽처로서, 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상 (즉, 제 1 픽처와 연관된 이전에 결정되거나 식별된 리딩 픽처들 중 하나 이상) 을 이용하지 않도록 또는 이용하는 것을 회피하도록 구성될 수도 있다.
일부 예들에서는, 제 1 픽처가 CRA 픽처일 수도 있다. 이 예들에서, CRA 픽처는 임의의 다른 픽처들을 참조하지 않으면서, 인트라 예측 코딩을 이용하여 코딩되며 디코딩될 수 있는, 즉, 디코딩 가능한 픽처일 수도 있다. 이 예들에서는, CRA 픽처에 대하여, CVS 와 연관된 디코딩 순서에 따라 CRA 픽처를 뒤따르는, CRA 픽처와 함께 CVS 내에 포함된 하나 이상의 픽처들은, 디코딩 순서에 따라 CRA 픽처를 선행하는 하나 이상의 픽처들을 참조하여 디코딩될 수도 있다. 예를 들어, 도 1 을 참조하여 위에서 설명된 바와 같이, CRA 픽처는 "개방형 GOP" 인트라 코딩된 픽처라고 지칭될 수도 있다. 위에서 또한 설명된 바와 같이, CRA 픽처는 특히, 비디오 데이터의 하나 이상의 GOP 들 중 하나 이상의 픽처들을 포함하는 비트스트림의 랜덤 액세스를 가능하게 하는 것에 대하여, "폐쇄형 GOP" 설정의 IDR 픽처와 유사한 목적을 제공할 수도 있다.
다른 예들에서, IDR 픽처는 임의의 다른 픽처들을 참조하지 않으면서, 인트라 예측 코딩을 이용하여 코딩되며 디코딩될 수 있는, 즉, 디코딩 가능한 픽처일 수도 있다. 이 예들에서, IDR 픽처에 대하여, CVS 와 연관된 디코딩 순서에 따라 IDR 픽처를 뒤따르는, IDR 픽처와 함께 CVS 내에 포함된 모든 다른 픽처들은 디코딩 순서에 따라 IDR 픽처를 선행하는 임의의 픽처들을 참조하지 않으면서 디코딩될 수도 있다.
또 다른 예들에서, 예를 들어, 비디오 디코더 (30) 에 의해 수신된 비트스트림이 제 1 픽처와 연관된 임의의 리딩 픽처들을 포함하지 않는 사례들에서는 (예를 들어, 비디오 인코더 (20) 가 비트스트림으로부터 제 1 픽처의 리딩 픽처들을 제외함으로써 비트스트림을 생성한 경우들에는), 아래의 예들에 의해 예시되는 바와 같이, 비디오 디코더 (30) 가 특정한 방식으로 비트스트림을 디코딩하도록 구성될 수도 있다.
하나의 예로서, 비디오 디코더 (30) 는 코딩된 픽처 버퍼 (CPB) 초기 지연 파라미터들의 제 1 세트를 디코딩하고, 하나 이상의 픽처들이 제 1 픽처와 연관된 적어도 하나의 리딩 픽처를 포함하지 않을 때에는, CPB 초기 지연 파라미터들의 제 2 세트 중 하나를 디코딩하도록 더 구성될 수도 있고, 여기서, 제 2 세트는 제 1 세트, 및 CPB 지연 오프셋 파라미터들의 세트와는 상이하다. 이 예에서 다시 한번, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다.
상기 설명된 예에서, CPB 초기 지연 파라미터들의 제 1 및 제 2 세트들과, CPB 지연 오프셋 파라미터들의 세트 중 하나 이상은 제 1 픽처와 연관된, 보충 강화 정보 (SEI) 메시지, 픽처 버퍼링 주기 SEI 메시지, 및 슬라이스 헤더 중 하나에 포함될 수도 있다.
또한, 상기 설명된 예에서는, 디코딩 순서에서 제 1 픽처를 뒤따르는 각각의 픽처의 CPB 제거 시간이 CPB 초기 지연 파라미터들의 제 1 및 제 2 세트들과, CPB 지연 오프셋 파라미터들의 세트 중 하나 이상에 의해 표시된 바와 같이 더 이전으로 시프트될 수도 있다.
따라서, 위에서 설명된 바와 같이, 이 개시물의 기술들은 비디오 인코더 (30) 가 이 개시물의 기술들에 의해 특정된 바와 같이, 예측가능한 그리고 정의된 방식으로, 예를 들어, 비디오 인코더 (20) 에 의해 인코딩된 비트스트림을 디코딩하는 것을 가능하게 할 수도 있다. 특히, 비트스트림은 비디오 데이터의 CVS 의 하나 이상의 픽처들을 포함할 수도 있다. 비트스트림은 비-IDR RAP 픽처로 비트스트림이 시작하도록 비디오 디코더 (30) 에 의해 수신될 수도 있다. 이 개시물의 기술들을 이용하면, 비디오 디코더 (30) 는 비트스트림을 성공적으로 디코딩할 수도 있다. 이와 같이, 개시된 기술들을 이용하면, 비트스트림의 랜덤 액세스를 수행할 때에 사용자 경험에 있어서 상대적인 개선이 있을 수도 있다. 하나의 예로서, 기술들은 비디오 디코더 (30) 가 상대적으로 더 큰 입도로 비트스트림을 디코딩하는 것을 가능하게 할 수도 있다. 바꾸어 말하면, 기술들은 다른 기술들 (예를 들어, IDR 픽처들로부터만 비트스트림의 랜덤 액세스를 허용하는 기술들) 에 비해, 비디오 디코더 (30) 가 비트스트림의 상대적으로 더 많은 지점들, 또는 픽처들 (즉, 비-IDR 픽처들) 에서 비트스트림을 랜덤으로 액세스하는 것을 가능하게 할 수도 있다. 또 다른 예로서, 개시된 기술들을 이용하면, (예를 들어, 제 1 픽처와 연관된 리딩 픽처들을 참조 픽처들로서 출력 및 이용하는 것을 회피하는 비디오 디코더 (30) 에 의해) 비트스트림에 포함된 CVS 및/또는 전체로서의 CVS 중 하나 이상의 픽처들의 시각적 품질에 있어서 상대적인 개선이 있을 수도 있다.
이러한 방식으로, 비디오 디코더 (30) 는, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하고, CVS 와 연관된 디코딩 순서에 따라 하나 이상의 픽처들 중 제 1 픽처를 디코딩하고, 여기서, 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처이고, 그리고 디코딩된 제 1 픽처에 기초하여, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 디코딩하도록 구성된 비디오 디코더의 예를 나타낸다.
도 5 및 도 6 은 이 개시물의 기술들과 일치하는, 진보된 DPB 관리로 랜덤 액세스를 위한 기술들을 수행하는 일 예의 방법들을 예시하는 흐름도들이다. 특히, 도 5 의 예는 비디오 디코더, 예를 들어, 도 1 및 도 3 의 비디오 디코더 (30) 의 관점으로부터 기술들을 수행하는 것을 예시한다. 추가적으로, 도 6 의 예는 비디오 인코더, 예를 들어, 도 1 및 도 2 의 비디오 인코더 (20) 의 관점으로부터 기술들을 수행하는 것을 예시한다.
도 5 및 도 6 의 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 그 조합으로 구현되든지 간에, 임의의 프로세싱 유닛 또는 프로세서에 의해 대체로 수행될 수도 있고, 소프트웨어 또는 펌웨어로 구현될 때에는, 대응하는 하드웨어가 소프트웨어 또는 펌웨어를 위한 명령들을 실행하도록 제공될 수도 있다. 예시의 목적들을 위하여, 도 5 및 도 6 의 기술들은 비디오 인코더 (20; 도 2) 및/또는 비디오 디코더 (30; 도 3) 의 다양한 컴포넌트들에 대하여 설명되지만, 다른 디바이스들이 유사한 기술들을 수행하도록 구성될 수도 있다는 것을 이해해야 한다. 또한, 이 개시물의 기술들로부터 이탈하지 않으면서, 도 5 및 도 6 에 예시된 단계들은 상이한 순서로 또는 병렬로 수행될 수도 있고, 추가적인 단계들이 추가될 수도 있고 어떤 단계들은 생략될 수도 있다. 추가적으로, 이 개시물의 기술들과 일치하도록, 도 5 및 도 6 의 일 예의 방법들의 기술들은 개별적으로 또는 서로 조합하여 수행될 수도 있다.
도 5 는 이 개시물의 기술들과 일치하는, 비디오 디코더, 예를 들어, 도 1 및 도 3 의 비디오 디코더 (30) 에 의해 비디오 데이터의 하나 이상의 픽처들을 포함하는 비트스트림의 랜덤 액세스를 수행하는 일 예의 방법을 예시하는 흐름도이다. 특히, 도 5 의 일 예의 방법의 기술들은 비트스트림의 제 1 픽처가 비-IDR RAP 픽처인 사례들에서 비트스트림의 랜덤 액세스를 아래에서 설명되는 바와 같이, 특정한 방식으로 수행하는 것을 포함한다.
하나의 예로서, 비디오 디코더 (30) 는 CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신할 수도 있다 (500). 비디오 디코더 (30) 는 CVS 와 연관된 디코딩 순서에 따라 하나 이상의 픽처들의 제 1 픽처를 더욱 디코딩할 수도 있고, 여기서, 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처이다 (502). 비디오 디코더 (30) 는 디코딩된 제 1 픽처에 기초하여, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 또한 디코딩할 수도 있다 (504).
일부 예들에서, 비디오 디코더 (30) 는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 더욱 결정하거나 식별할 수도 있다. 이 예들에서는, 다시 한번, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다. 비디오 디코더 (30) 는 하나 이상의 픽처들 중 적어도 하나의 픽처를 더욱 디코딩할 수도 있다. 이 예들에서는, 하나 이상의 픽처들 중 적어도 하나의 픽처의 각각을 디코딩하기 위하여, 비디오 디코더 (30) 가 다음의 단계들을 수행할 수도 있다: (1) 각각의 픽처를 인코딩하기 위해 이용되는 하나 이상의 참조 픽처들을 결정하거나 식별하는 단계; (2) 결정되거나 식별된 하나 이상의 참조 픽처들 중 임의의 것이 디코딩되도록 이용 불가능한지 여부를 결정하는 단계; (3) 디코딩되도록 이용 불가능한 것으로 결정되는, 결정되거나 식별된 하나 이상의 참조 픽처들의 각각에 대하여, 가상 참조 픽처를 발생하는 단계; 및 (4) 대응하는 하나 이상의 발생된 가상 참조 픽처들에 기초하여 각각의 픽처를 디코딩하는 단계.
상기 설명된 예들에서, 가상 참조 픽처를 발생하기 위하여, 비디오 디코더 (30) 는 도 3 을 참조하여 위에서 설명된 바와 같이, 각각이 CVS 와 연관된 픽셀 값들의 범위의 중간에 대응하는 하나 이상의 픽셀 값들 (예를 들어, "0" 내지 "255" 의 범위 내에서 "127" 의 하나 이상의 루마 또는 크로마 픽셀 값들) 을 포함하는 픽처를 발생할 수도 있다.
일부 예들에서, 비디오 디코더 (30) 는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 더욱 결정하거나 식별할 수도 있다. 이 예들에서는, 다시 한번, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다. 또한, 이 예들에서, 비디오 디코더 (30) 는, 각각의 픽처가 출력되어야 함을 출력 플래그 (예를 들어, 신택스 엘리먼트 output_flag) 가 표시하는, 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상 (즉, 제 1 픽처와 연관된 이전에 결정되거나 식별된 리딩 픽처들 중 하나 이상) 을 출력하는 것을 더욱 회피할 수도 있다.
다른 예들에서, 비디오 디코더 (30) 는 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 더욱 결정하거나 식별할 수도 있다. 이 예들에서는, 다시 한번, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다. 또한, 이 예들에서, 비디오 디코더 (30) 는, 디코딩 순서에 따라 그리고 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 디코딩하기 위한 참조 픽처로서, 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상 (즉, 제 1 픽처와 연관된 이전에 결정되거나 식별된 리딩 픽처들 중 하나 이상) 을 이용하는 것을 더욱 회피할 수도 있다.
상기 설명된 예들에서, 제 1 픽처는 CRA 픽처일 수도 있다. 이 예들에서, CRA 픽처는 임의의 다른 픽처들을 참조하지 않으면서, 인트라 예측 코딩을 이용하여 코딩되며 디코딩될 수 있는, 즉 디코딩 가능한 픽처일 수도 있다. 이 예들에서는, CRA 픽처에 대하여, CVS 와 연관된 디코딩 순서에 따라 CRA 픽처를 뒤따르는, CRA 픽처와 함께 CVS 내에 포함된 하나 이상의 픽처들은 디코딩 순서에 따라 CRA 픽처를 선행하는 하나 이상의 픽처들을 참조하여 디코딩될 수도 있다. 예를 들어, 위에서 설명된 바와 같이, CRA 픽처는 도 1 을 참조하여 위에서 설명된 바와 같이 "개방형 GOP" 인트라 코딩된 픽처라고 지칭될 수도 있다. 또한, 위에서 설명된 바와 같이, CRA 픽처는 특히, 비디오 데이터의 하나 이상의 GOP 들 중 하나 이상의 픽처들을 포함하는 비트스트림의 랜덤 액세스를 가능하게 하는 것에 대하여, "폐쇄형 GOP" 설정의 IDR 픽처와 유사한 목적을 제공할 수도 있다.
또한, 상기 설명된 예들에서, IDR 픽처는 임의의 다른 픽처들을 참조하지 않으면서, 인트라 예측 코딩을 이용하여 코딩되며 디코딩될 수 있는, 즉, 디코딩 가능한 픽처일 수도 있다. 또한, IDR 픽처는, CVS 와 연관된 디코딩 순서에 따라 IDR 픽처를 뒤따르는, IDR 픽처와 함께 CVS 내에 포함된 모든 다른 픽처들이 디코딩 순서에 따라 IDR 픽처를 선행하는 임의의 픽처들을 참조하지 않으면서 디코딩되는 픽처일 수도 있다.
또 다른 예들에서, 예를 들어, 비디오 디코더 (30) 에 의해 수신된 비트스트림이 제 1 픽처와 연관된 임의의 리딩 픽처들을 포함하지 않는 사례들에서는 (예를 들어, 비디오 인코더 (20) 가 비트스트림으로부터 제 1 픽처의 리딩 픽처들을 제외함으로써 비트스트림을 생성한 경우들에는), 아래의 예들에 의해 예시되는 바와 같이, 비디오 디코더 (30) 가 특정한 방식으로 비트스트림을 디코딩할 수도 있다.
하나의 예로서, 비디오 디코더 (30) 는 CPB 초기 지연 파라미터들의 제 1 세트를 디코딩하고, 하나 이상의 픽처들이 제 1 픽처와 연관된 적어도 하나의 리딩 픽처를 포함하지 않을 때에는, CPB 초기 지연 파라미터들의 제 2 세트 중 하나를 더욱 디코딩할 수도 있고, 여기서, 제 2 세트는 제 1 세트, 및 CPB 지연 오프셋 파라미터들의 세트와는 상이하다. 이 예에서 다시 한번, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다.
상기 설명된 예에서, CPB 초기 지연 파라미터들의 제 1 및 제 2 세트들과, CPB 지연 오프셋 파라미터들의 세트 중 하나 이상은 제 1 픽처와 연관된, SEI 메시지, 픽처 버퍼링 주기 SEI 메시지, 및 슬라이스 헤더 중 하나에 포함될 수도 있다.
또한, 상기 설명된 예에서는, 디코딩 순서에서 제 1 픽처를 뒤따르는 각각의 픽처의 CPB 제거 시간이 CPB 초기 지연 파라미터들의 제 1 및 제 2 세트들과, CPB 지연 오프셋 파라미터들의 세트 중 하나 이상에 의해 표시된 바와 같이 더 이전으로 시프트될 수도 있다.
이러한 방식으로, 도 5 의 방법은, CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하고, CVS 와 연관된 디코딩 순서에 따라 하나 이상의 픽처들 중 제 1 픽처를 디코딩하고, 여기서, 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처이고, 그리고 디코딩된 제 1 픽처에 기초하여, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 디코딩하는 방법의 예를 나타낸다.
도 6 은 이 개시물의 기술들과 일치하는, 비디오 인코더, 예를 들어, 도 1 및 도 2 의 비디오 인코더 (20) 에 의해 비디오 데이터의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하는 일 예의 방법을 예시하는 흐름도이다. 특히, 도 6 의 일 예의 방법의 기술들은, 비디오 디코더, 예를 들어, 비디오 디코더 (30) 가 특정한 방식으로 비트스트림을 성공적으로 디코딩할 수도 있도록 비트스트림을 생성하는 것을 포함한다. 예를 들어, 아래에서 설명되는 바와 같이, 비디오 디코더는 비트스트림의 제 1 픽처가 비-IDR RAP 픽처인 사례들에서 비트스트림을 디코딩할 수도 있다.
하나의 예로서, 비디오 인코더 (20) 는 CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성할 수도 있다. 이 예에서, CVS 와 연관된 디코딩 순서에 따른 하나 이상의 픽처들 중 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처일 수도 있다 (600). 비디오 인코더 (20) 는 비트스트림에서 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 포함하는 것을 더욱 회피할 수도 있다. 이 예에서, 다시 한번, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처일 수도 있다 (602).
다음으로, 이 예에서는, 비디오 디코더, 예를 들어, 비디오 디코더 (30) 가 비디오 인코더 (20) 에 의해 발생된 비트스트림을 수신할 수도 있고 비트스트림을 디코딩할 수도 있다. 예를 들어, 비디오 디코더는 제 1 픽처를 디코딩할 수도 있다. 비디오 디코더는 제 1 픽처에 기초하여 (예를 들어, 제 1 픽처의 디코딩된 버전에 기초하여), 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 더욱 디코딩할 수도 있다.
이러한 방식으로, 도 6 의 방법은 CVS 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하는 방법의 예를 나타내고, CVS 와 연관된 디코딩 순서에 따른 하나 이상의 픽처들 중 제 1 픽처는 IDR 픽처가 아닌 RAP 픽처이고, 비트스트림을 생성하는 것은 제 1 픽처와 연관된 리딩 픽처에 대응하는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처를 비트스트림에 포함시키는 것을 회피하는 것을 포함하고, 리딩 픽처는 디코딩 순서에 따라 제 1 픽처를 뒤따르며 CVS 와 연관된 디스플레이 순서에 따라 제 1 픽처를 선행하는 픽처를 포함하고, 제 1 픽처는 디코딩 가능하고, 디코딩 순서에 따라 제 1 픽처를 뒤따르는, 하나 이상의 픽처들 중 제 1 픽처가 아닌 적어도 하나의 픽처는 제 1 픽처에 기초하여 디코딩 가능하다.
하나 이상의 예들에서는, 여기에서 설명된 기능들이 하드웨어, 소프트웨어, 펌웨어, 또는 그 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현될 경우, 기능들은 하나 이상의 명령들 또는 코드로서, 컴퓨터-판독가능 매체 상에 저장되거나 컴퓨터-판독가능 매체를 통해 송신될 수도 있고, 하드웨어-기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터-판독가능 매체들은 데이터 저장 매체들과 같은 실재적인 또는 비-일시적인 매체들에 대응할 수도 있는 컴퓨터-판독가능 저장 매체들, 또는 예를 들어, 통신 프로토콜에 따라 하나의 장소로부터 또 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체들을 포함할 수도 있다. 이러한 방식으로, 컴퓨터-판독가능 매체들은 일반적으로 (1) 비-일시적인 실재적인 컴퓨터-판독가능 저장 매체들, 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체들은 이 개시물에서 설명된 기술들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독가능 매체를 포함할 수도 있다.
제한이 아닌 예로서, 이러한 컴퓨터-판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자기 디스크 저장, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령들 또는 데이터 구조들의 형태로 희망하는 프로그램 코드를 저장하기 위해 이용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속은 컴퓨터-판독가능 매체라고 적절하게 칭해진다. 예를 들어, 동축 케이블, 광섬유 케이블, 트위스트 페어, 디지털 가입자 회선 (DSL), 또는 적외선, 라디오 (radio), 및 마이크로파 (microwave) 와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 명령들이 송신되는 경우, 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 그러나, 컴퓨터-판독가능 저장 매체들 및 데이터 저장 매체들은 접속들, 반송파들, 신호들, 또는 다른 일시적인 매체들을 포함하는 것이 아니라, 그 대신에, 비-일시적인 또는 비-일시성의, 실재적인 저장 매체들에 관한 것이라는 것을 이해해야 한다. 여기에서 이용된 바와 같은 디스크 (disk) 및 디스크 (disc) 는 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하고, 여기서 디스크 (disk) 들은 통상 데이터를 자기적으로 재생하는 반면, 디스크 (disc) 들은 데이터를 레이저들로 광학적으로 재생한다. 상기의 조합들은 컴퓨터-판독가능 매체들의 범위 내에 또한 포함되어야 한다.
명령들은 하나 이상의 범용 마이크로프세서들, DSP 들, ASIC 들, FPGA 들, 또는 다른 등가의 통합된 또는 별개의 로직 회로부와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 여기에서 이용된 바와 같은 용어 "프로세서" 는 상기한 구조 중의 임의의 것 또는 이 개시물에서 설명된 기술들의 구현을 위한 적당한 임의의 다른 구조를 지칭할 수도 있다. 또한, 일부 양태들에서는, 여기에서 설명된 기능성이 인코딩 및 디코딩을 위해 구성되거나 조합된 코덱 내에 통합되는 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들 내에서 완전히 구현될 수 있다.
이 개시물의 기술들은 무선 핸드셋, IC 또는 IC 들의 세트 (예를 들어, 칩셋) 를 포함하는 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위하여 이 개시물에서 설명되지만, 상이한 하드웨어 컴포넌트들, 모듈들, 또는 유닛들에 의한 실현을 반드시 요구하지는 않는다. 오히려, 위에서 설명된 바와 같이, 다양한 유닛들은 코덱 하드웨어 유닛 내에 조합될 수도 있거나, 적당한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명된 바와 같은 하나 이상의 프로세서들을 포함하는 상호동작 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이러한 그리고 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (44)

  1. 비디오 데이터를 디코딩하는 방법으로서,
    코딩된 비디오 시퀀스 (CVS) 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하는 단계;
    상기 CVS 와 연관된 디코딩 순서에 따라 상기 하나 이상의 픽처들 중 제 1 픽처를 디코딩하는 단계로서, 상기 제 1 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 상기 제 1 픽처를 디코딩하는 단계; 및
    디코딩된 상기 제 1 픽처에 기초하여 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하는 단계로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하는 단계; 및
    상기 하나 이상의 픽처들 중 상기 적어도 하나의 픽처를 디코딩하는 단계를 더 포함하며,
    상기 하나 이상의 픽처들 중 상기 적어도 하나의 픽처의 각각을 디코딩하는 단계는,
    개별 픽처를 인코딩하는데 사용된 하나 이상의 참조 픽처들을 식별하는 단계,
    식별된 상기 하나 이상의 참조 픽처들 중 임의의 것이 디코딩되도록 사용 불가능한지 여부를 결정하는 단계,
    디코딩되도록 사용 불가능한 것으로 결정된 상기 식별된 하나 이상의 참조 픽처들의 각각에 대하여, 가상 참조 픽처를 생성하는 단계, 및
    상기 개별 픽처를, 대응하는 하나 이상의 생성된 상기 가상 참조 픽처들에 기초하여 디코딩하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  3. 제 2 항에 있어서,
    상기 가상 참조 픽처를 생성하는 단계는, 상기 CVS 와 연관된 픽셀 값들의 범위의 중간에 각각 대응하는 하나 이상의 픽셀 값들을 포함하는 픽처를 생성하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하는 단계로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하는 단계; 및
    출력 플래그가 상기 개별 픽처가 출력될 것임을 표시하는 상기 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상을 출력하는 것을 회피하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  5. 제 1 항에 있어서,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하는 단계로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하는 단계; 및
    상기 디코딩 순서에 따라 그리고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하기 위해 상기 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상을 참조 픽처로서 사용하는 것을 회피하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  6. 제 1 항에 있어서,
    상기 제 1 픽처는 클린 랜덤 액세스 (CRA) 픽처를 포함하고, 상기 CRA 픽처는 인트라 예측 코딩을 사용하여 코딩되고 임의의 다른 픽처들에 대한 참조 없이 디코딩 가능한 픽처를 포함하며, 그 픽처에 대하여, 상기 CVS 와 연관된 디코딩 순서에 따라 상기 CRA 픽처를 뒤따르는, 상기 CRA 픽처와 함께 CVS 내에 포함된 하나 이상의 픽처들은, 상기 디코딩 순서에 따라 상기 CRA 픽처를 선행하는 하나 이상의 픽처들을 참조하여 디코딩될 수 있는, 비디오 데이터를 디코딩하는 방법.
  7. 제 1 항에 있어서,
    상기 IDR 픽처는 인트라 예측 코딩을 사용하여 코딩되고 임의의 다른 픽처들에 대한 참조 없이 디코딩 가능한 픽처를 포함하며, 그 픽처에 대하여, 상기 CVS 와 연관된 디코딩 순서에 따라 상기 IDR 픽처를 뒤따르는, 상기 IDR 픽처와 함께 CVS 내에 포함된 모든 다른 픽처들은, 상기 디코딩 순서에 따라 상기 IDR 픽처를 선행하는 임의의 픽처들에 대한 참조 없이 디코딩되는, 비디오 데이터를 디코딩하는 방법.
  8. 제 1 항에 있어서,
    코딩된 픽처 버퍼 (CPB) 초기 지연 파라미터들의 제 1 세트를 디코딩하고, 상기 하나 이상의 픽처들이 상기 제 1 픽처와 연관된 적어도 하나의 리딩 픽처를 포함하지 않을 경우, CPB 초기 지연 파라미터들의 제 2 세트 중 하나를 디코딩하는 단계를 더 포함하며,
    상기 제 2 세트는 상기 제 1 세트 및 CPB 지연 오프셋 파라미터들의 세트와 상이하고,
    상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 비디오 데이터를 디코딩하는 방법.
  9. 제 8 항에 있어서,
    상기 CPB 초기 지연 파라미터들의 제 1 세트 및 제 2 세트와 상기 CPB 지연 오프셋 파라미터들의 세트 중 하나 이상은, 상기 제 1 픽처와 연관된, SEI (supplemental enhancement information) 메세지, 픽처 버퍼링 주기 SEI 메세지, 및 슬라이스 헤더 중 하나에 포함되는, 비디오 데이터를 디코딩하는 방법.
  10. 제 8 항에 있어서,
    상기 디코딩 순서에서 상기 제 1 픽처를 뒤따르는 각각의 픽처의 CPB 제거 시간은, 상기 CPB 초기 지연 파라미터들의 제 1 세트 및 제 2 세트와 상기 CPB 지연 오프셋 파라미터들의 세트 중 하나 이상에 의해 표시되는 것과 같이 더 일찍 쉬프트되는, 비디오 데이터를 디코딩하는 방법.
  11. 비디오 데이터를 인코딩하는 방법으로서,
    코딩된 비디오 시퀀스 (CVS) 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하는 단계를 포함하며,
    상기 CVS 와 연관된 디코딩 순서에 따른 상기 하나 이상의 픽처들 중 제 1 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처이고,
    상기 비트스트림을 생성하는 단계는 상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 포함시키는 것을 회피하는 단계를 포함하며, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하며, 그리고
    상기 제 1 픽처는 디코딩가능하고, 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처는 상기 제 1 픽처에 기초하여 디코딩 가능한, 비디오 데이터를 인코딩하는 방법.
  12. 비디오 데이터를 디코딩하도록 구성된 장치로서,
    비디오 디코더를 포함하며,
    상기 비디오 디코더는,
    코딩된 비디오 시퀀스 (CVS) 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하고;
    상기 CVS 와 연관된 디코딩 순서에 따라 상기 하나 이상의 픽처들 중 제 1 픽처를 디코딩하는 것으로서, 상기 제 1 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 상기 제 1 픽처를 디코딩하고; 그리고
    디코딩된 상기 제 1 픽처에 기초하여 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하도록
    구성되는, 비디오 데이터를 디코딩하도록 구성된 장치.
  13. 제 12 항에 있어서,
    상기 비디오 디코더는 추가로,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하는 것으로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하고, 그리고
    상기 하나 이상의 픽처들 중 상기 적어도 하나의 픽처를 디코딩하도록 구성되며,
    상기 하나 이상의 픽처들 중 상기 적어도 하나의 픽처의 각각을 디코딩하기 위해, 상기 비디오 디코더는,
    개별 픽처를 인코딩하는데 사용된 하나 이상의 참조 픽처들을 식별하고,
    식별된 상기 하나 이상의 참조 픽처들 중 임의의 것이 디코딩되도록 사용 불가능한지 여부를 결정하고,
    디코딩되도록 사용 불가능한 것으로 결정된 상기 식별된 하나 이상의 참조 픽처들의 각각에 대하여, 가상 참조 픽처를 생성하고, 그리고
    상기 개별 픽처를, 대응하는 하나 이상의 생성된 상기 가상 참조 픽처들에 기초하여 디코딩하도록
    구성되는, 비디오 데이터를 디코딩하도록 구성된 장치.
  14. 제 13 항에 있어서,
    상기 가상 참조 픽처를 생성하기 위해, 상기 비디오 코더는, 상기 CVS 와 연관된 픽셀 값들의 범위의 중간에 각각 대응하는 하나 이상의 픽셀 값들을 포함하는 픽처를 생성하도록 구성되는, 비디오 데이터를 디코딩하도록 구성된 장치.
  15. 제 12 항에 있어서,
    상기 비디오 디코더는 추가로,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하는 것으로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하고, 그리고
    출력 플래그가 상기 개별 픽처가 출력될 것임을 표시하는 상기 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상을 출력하는 것을 회피하도록
    구성되는, 비디오 데이터를 디코딩하도록 구성된 장치.
  16. 제 12 항에 있어서,
    상기 비디오 디코더는 추가로,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하는 것으로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하고, 그리고
    상기 디코딩 순서에 따라 그리고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하기 위해 상기 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상을 참조 픽처로서 사용하는 것을 회피하도록
    구성되는, 비디오 데이터를 디코딩하도록 구성된 장치.
  17. 제 12 항에 있어서,
    상기 제 1 픽처는 클린 랜덤 액세스 (CRA) 픽처를 포함하고,
    상기 CRA 픽처는 인트라 예측 코딩을 사용하여 코딩되고 임의의 다른 픽처들에 대한 참조 없이 디코딩 가능한 픽처를 포함하며, 그 픽처에 대하여, 상기 CVS 와 연관된 디코딩 순서에 따라 상기 CRA 픽처를 뒤따르는, 상기 CRA 픽처와 함께 CVS 내에 포함된 하나 이상의 픽처들은, 상기 디코딩 순서에 따라 상기 CRA 픽처를 선행하는 하나 이상의 픽처들을 참조하여 디코딩될 수 있는, 비디오 데이터를 디코딩하도록 구성된 장치.
  18. 제 12 항에 있어서,
    상기 IDR 픽처는 인트라 예측 코딩을 사용하여 코딩되고 임의의 다른 픽처들에 대한 참조 없이 디코딩 가능한 픽처를 포함하며, 그 픽처에 대하여, 상기 CVS 와 연관된 디코딩 순서에 따라 상기 IDR 픽처를 뒤따르는, 상기 IDR 픽처와 함께 CVS 내에 포함된 모든 다른 픽처들은, 상기 디코딩 순서에 따라 상기 IDR 픽처를 선행하는 임의의 픽처들에 대한 참조 없이 디코딩되는, 비디오 데이터를 디코딩하도록 구성된 장치.
  19. 제 12 항에 있어서,
    상기 비디오 디코더는 추가로,
    코딩된 픽처 버퍼 (CPB) 초기 지연 파라미터들의 제 1 세트를 디코딩하고, 상기 하나 이상의 픽처들이 상기 제 1 픽처와 연관된 적어도 하나의 리딩 픽처를 포함하지 않을 경우, CPB 초기 지연 파라미터들의 제 2 세트 중 하나를 디코딩하도록
    구성되며,
    상기 제 2 세트는 상기 제 1 세트 및 CPB 지연 오프셋 파라미터들의 세트와 상이하고,
    상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 비디오 데이터를 디코딩하도록 구성된 장치.
  20. 제 19 항에 있어서,
    상기 CPB 초기 지연 파라미터들의 제 1 세트 및 제 2 세트와 상기 CPB 지연 오프셋 파라미터들의 세트 중 하나 이상은, 상기 제 1 픽처와 연관된, SEI (supplemental enhancement information) 메세지, 픽처 버퍼링 주기 SEI 메세지, 및 슬라이스 헤더 중 하나에 포함되는, 비디오 데이터를 디코딩하도록 구성된 장치.
  21. 제 19 항에 있어서,
    상기 디코딩 순서에서 상기 제 1 픽처를 뒤따르는 각각의 픽처의 CPB 제거 시간은, 상기 CPB 초기 지연 파라미터들의 제 1 세트 및 제 2 세트와 상기 CPB 지연 오프셋 파라미터들의 세트 중 하나 이상에 의해 표시되는 것과 같이 더 일찍 쉬프트되는, 비디오 데이터를 디코딩하도록 구성된 장치.
  22. 제 12 항에 있어서,
    상기 비디오 데이터를 디코딩하도록 구성된 장치는,
    집적 회로;
    마이크로프로세서; 및
    상기 비디오 디코더를 포함하는 무선 통신 디바이스
    중 적어도 하나를 포함하는, 비디오 데이터를 디코딩하도록 구성된 장치.
  23. 비디오 데이터를 인코딩하도록 구성된 장치로서,
    비디오 인코더를 포함하며,
    상기 비디오 인코더는 코딩된 비디오 시퀀스 (CVS) 의 하나 이상의 픽처들을 포함하는 비트스트림을 생성하도록 구성되며,
    상기 CVS 와 연관된 디코딩 순서에 따른 상기 하나 이상의 픽처들 중 제 1 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처이고,
    상기 비트스트림을 생성하기 위해, 상기 비디오 인코더는 상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 포함시키는 것을 회피하도록 구성되며, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하며, 그리고
    상기 제 1 픽처는 디코딩 가능하고, 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처는 상기 제 1 픽처에 기초하여 디코딩 가능한, 비디오 데이터를 인코딩하도록 구성된 장치.
  24. 제 23 항에 있어서,
    상기 비디오 데이터를 인코딩하도록 구성된 장치는,
    집적 회로;
    마이크로프로세서; 및
    상기 비디오 인코더를 포함하는 무선 통신 디바이스
    중 적어도 하나를 포함하는, 비디오 데이터를 인코딩하도록 구성된 장치.
  25. 비디오 데이터를 디코딩하는 디바이스로서,
    코딩된 비디오 시퀀스 (CVS) 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하는 수단;
    상기 CVS 와 연관된 디코딩 순서에 따라 상기 하나 이상의 픽처들 중 제 1 픽처를 디코딩하는 수단으로서, 상기 제 1 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 상기 제 1 픽처를 디코딩하는 수단; 및
    디코딩된 상기 제 1 픽처에 기초하여 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하는 수단을 포함하는, 비디오 데이터를 디코딩하는 디바이스.
  26. 제 25 항에 있어서,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하는 수단으로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하는 수단; 및
    상기 하나 이상의 픽처들 중 상기 적어도 하나의 픽처를 디코딩하는 수단을 더 포함하며,
    상기 하나 이상의 픽처들 중 상기 적어도 하나의 픽처의 각각을 디코딩하는 수단은,
    개별 픽처를 인코딩하는데 사용된 하나 이상의 참조 픽처들을 식별하는 수단,
    식별된 상기 하나 이상의 참조 픽처들 중 임의의 것이 디코딩되도록 사용 불가능한지 여부를 결정하는 수단,
    디코딩되도록 사용 불가능한 것으로 결정된 상기 식별된 하나 이상의 참조 픽처들의 각각에 대하여, 가상 참조 픽처를 생성하는 수단, 및
    상기 개별 픽처를, 대응하는 하나 이상의 생성된 상기 가상 참조 픽처들에 기초하여 디코딩하는 수단을 포함하는, 비디오 데이터를 디코딩하는 디바이스.
  27. 제 26 항에 있어서,
    상기 가상 참조 픽처를 생성하는 수단은, 상기 CVS 와 연관된 픽셀 값들의 범위의 중간에 각각 대응하는 하나 이상의 픽셀 값들을 포함하는 픽처를 생성하는 수단을 포함하는, 비디오 데이터를 디코딩하는 디바이스.
  28. 제 25 항에 있어서,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하는 수단으로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하는 수단; 및
    출력 플래그가 상기 개별 픽처가 출력될 것임을 표시하는 상기 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상을 출력하는 것을 회피하는 수단을 더 포함하는, 비디오 데이터를 디코딩하는 디바이스.
  29. 제 25 항에 있어서,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하는 수단으로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하는 수단; 및
    상기 디코딩 순서에 따라 그리고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하기 위해 상기 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상을 참조 픽처로서 사용하는 것을 회피하는 수단을 더 포함하는, 비디오 데이터를 디코딩하는 디바이스.
  30. 제 25 항에 있어서,
    상기 제 1 픽처는 클린 랜덤 액세스 (CRA) 픽처를 포함하고, 상기 CRA 픽처는 인트라 예측 코딩을 사용하여 코딩되고 임의의 다른 픽처들에 대한 참조 없이 디코딩 가능한 픽처를 포함하며, 그 픽처에 대하여, 상기 CVS 와 연관된 디코딩 순서에 따라 상기 CRA 픽처를 뒤따르는, 상기 CRA 픽처와 함께 CVS 내에 포함된 하나 이상의 픽처들은, 상기 디코딩 순서에 따라 상기 CRA 픽처를 선행하는 하나 이상의 픽처들을 참조하여 디코딩될 수 있는, 비디오 데이터를 디코딩하는 디바이스.
  31. 제 25 항에 있어서,
    상기 IDR 픽처는 인트라 예측 코딩을 사용하여 코딩되고 임의의 다른 픽처들에 대한 참조 없이 디코딩 가능한 픽처를 포함하며, 그 픽처에 대하여, 상기 CVS 와 연관된 디코딩 순서에 따라 상기 IDR 픽처를 뒤따르는, 상기 IDR 픽처와 함께 CVS 내에 포함된 모든 다른 픽처들은, 상기 디코딩 순서에 따라 상기 IDR 픽처를 선행하는 임의의 픽처들에 대한 참조 없이 디코딩되는, 비디오 데이터를 디코딩하는 디바이스.
  32. 제 25 항에 있어서,
    코딩된 픽처 버퍼 (CPB) 초기 지연 파라미터들의 제 1 세트를 디코딩하고, 상기 하나 이상의 픽처들이 상기 제 1 픽처와 연관된 적어도 하나의 리딩 픽처를 포함하지 않을 경우, CPB 초기 지연 파라미터들의 제 2 세트 중 하나를 디코딩하는 수단을 더 포함하며,
    상기 제 2 세트는 상기 제 1 세트 및 CPB 지연 오프셋 파라미터들의 세트와 상이하고,
    상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 비디오 데이터를 디코딩하는 디바이스.
  33. 제 32 항에 있어서,
    상기 CPB 초기 지연 파라미터들의 제 1 세트 및 제 2 세트와 상기 CPB 지연 오프셋 파라미터들의 세트 중 하나 이상은, 상기 제 1 픽처와 연관된, SEI (supplemental enhancement information) 메세지, 픽처 버퍼링 주기 SEI 메세지, 및 슬라이스 헤더 중 하나에 포함되는, 비디오 데이터를 디코딩하는 디바이스.
  34. 제 32 항에 있어서,
    상기 디코딩 순서에서 상기 제 1 픽처를 뒤따르는 각각의 픽처의 CPB 제거 시간은, 상기 CPB 초기 지연 파라미터들의 제 1 세트 및 제 2 세트와 상기 CPB 지연 오프셋 파라미터들의 세트 중 하나 이상에 의해 표시되는 것과 같이 더 일찍 쉬프트되는, 비디오 데이터를 디코딩하는 디바이스.
  35. 실행될 경우, 하나 이상의 프로세서들로 하여금 비디오 데이터를 디코딩하게 하는 명령들을 저장한 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 상기 하나 이상의 프로세서들로 하여금,
    코딩된 비디오 시퀀스 (CVS) 의 하나 이상의 픽처들을 포함하는 비트스트림을 수신하게 하고;
    상기 CVS 와 연관된 디코딩 순서에 따라 상기 하나 이상의 픽처들 중 제 1 픽처를 디코딩하게 하는 것으로서, 상기 제 1 픽처는 순간적인 디코딩 리프레시 (IDR) 픽처가 아닌 랜덤 액세스 포인트 (RAP) 픽처인, 상기 제 1 픽처를 디코딩하게 하고; 그리고
    디코딩된 상기 제 1 픽처에 기초하여 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하게 하는, 컴퓨터 판독가능 저장 매체.
  36. 제 35 항에 있어서,
    상기 하나 이상의 프로세서들로 하여금,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 식별하게 하는 것으로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 식별하게 하고, 그리고
    상기 하나 이상의 픽처들 중 상기 적어도 하나의 픽처를 디코딩하게 하는
    명령들을 더 포함하며,
    상기 하나 이상의 프로세서들로 하여금, 상기 하나 이상의 픽처들 중 상기 적어도 하나의 픽처의 각각을 디코딩하게 하는 명령들은, 상기 하나 이상의 프로세서들로 하여금,
    개별 픽처를 인코딩하는데 사용된 하나 이상의 참조 픽처들을 식별하게 하고,
    식별된 상기 하나 이상의 참조 픽처들 중 임의의 것이 디코딩되도록 사용 불가능한지 여부를 결정하게 하고,
    디코딩되도록 사용 불가능한 것으로 결정된 상기 식별된 하나 이상의 참조 픽처들의 각각에 대하여, 가상 참조 픽처를 생성하게 하고, 그리고
    상기 개별 픽처를, 대응하는 하나 이상의 생성된 상기 가상 참조 픽처들에 기초하여 디코딩하게 하는
    명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
  37. 제 36 항에 있어서,
    상기 하나 이상의 프로세서들로 하여금, 상기 가상 참조 픽처를 생성하게 하는 명령들은, 상기 하나 이상의 프로세서들로 하여금, 상기 CVS 와 연관된 픽셀 값들의 범위의 중간에 각각 대응하는 하나 이상의 픽셀 값들을 포함하는 픽처를 생성하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체.
  38. 제 35 항에 있어서,
    상기 하나 이상의 프로세서들로 하여금,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 결정하게 하는 것으로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 결정하게 하고, 그리고
    출력 플래그가 상기 개별 픽처가 출력될 것임을 표시하는 상기 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상을 출력하는 것을 회피하게 하는
    명령들을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  39. 제 35 항에 있어서,
    상기 하나 이상의 프로세서들로 하여금,
    상기 제 1 픽처와 연관된 리딩 픽처에 대응하는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 결정하게 하는 것으로서, 상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 상기 적어도 하나의 픽처를 결정하게 하고, 그리고
    상기 디코딩 순서에 따라 그리고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 뒤따르는, 상기 하나 이상의 픽처들 중 상기 제 1 픽처가 아닌, 적어도 하나의 픽처를 디코딩하기 위해 상기 하나 이상의 픽처들 중 적어도 하나의 픽처의 하나 이상을 참조 픽처로서 사용하는 것을 회피하게 하는
    명령들을 더 포함하는, 컴퓨터 판독가능 저장 매체.
  40. 제 35 항에 있어서,
    상기 제 1 픽처는 클린 랜덤 액세스 (CRA) 픽처를 포함하고,
    상기 CRA 픽처는 인트라 예측 코딩을 사용하여 코딩되고 임의의 다른 픽처들에 대한 참조 없이 디코딩 가능한 픽처를 포함하며, 그 픽처에 대하여, 상기 CVS 와 연관된 디코딩 순서에 따라 상기 CRA 픽처를 뒤따르는, 상기 CRA 픽처와 함께 CVS 내에 포함된 하나 이상의 픽처들은, 상기 디코딩 순서에 따라 상기 CRA 픽처를 선행하는 하나 이상의 픽처들을 참조하여 디코딩될 수 있는, 컴퓨터 판독가능 저장 매체.
  41. 제 35 항에 있어서,
    상기 IDR 픽처는 인트라 예측 코딩을 사용하여 코딩되고 임의의 다른 픽처들에 대한 참조 없이 디코딩 가능한 픽처를 포함하며, 그 픽처에 대하여, 상기 CVS 와 연관된 디코딩 순서에 따라 상기 IDR 픽처를 뒤따르는, 상기 IDR 픽처와 함께 CVS 내에 포함된 모든 다른 픽처들은, 상기 디코딩 순서에 따라 상기 IDR 픽처를 선행하는 임의의 픽처들에 대한 참조 없이 디코딩되는, 컴퓨터 판독가능 저장 매체.
  42. 제 35 항에 있어서,
    상기 하나 이상의 프로세서들로 하여금,
    코딩된 픽처 버퍼 (CPB) 초기 지연 파라미터들의 제 1 세트를 디코딩하게 하고, 상기 하나 이상의 픽처들이 상기 제 1 픽처와 연관된 적어도 하나의 리딩 픽처를 포함하지 않을 경우, CPB 초기 지연 파라미터들의 제 2 세트 중 하나를 디코딩하게 하는
    명령들을 더 포함하며,
    상기 제 2 세트는 상기 제 1 세트 및 CPB 지연 오프셋 파라미터들의 세트와 상이하고,
    상기 리딩 픽처는 상기 디코딩 순서에 따라 상기 제 1 픽처를 뒤따르고 상기 CVS 와 연관된 디스플레이 순서에 따라 상기 제 1 픽처를 선행하는 픽처를 포함하는, 컴퓨터 판독가능 저장 매체.
  43. 제 42 항에 있어서,
    상기 CPB 초기 지연 파라미터들의 제 1 세트 및 제 2 세트와 상기 CPB 지연 오프셋 파라미터들의 세트 중 하나 이상은, 상기 제 1 픽처와 연관된, SEI (supplemental enhancement information) 메세지, 픽처 버퍼링 주기 SEI 메세지, 및 슬라이스 헤더 중 하나에 포함되는, 컴퓨터 판독가능 저장 매체.
  44. 제 42 항에 있어서,
    상기 디코딩 순서에서 상기 제 1 픽처를 뒤따르는 각각의 픽처의 CPB 제거 시간은, 상기 CPB 초기 지연 파라미터들의 제 1 세트 및 제 2 세트와 상기 CPB 지연 오프셋 파라미터들의 세트 중 하나 이상에 의해 표시되는 것과 같이 더 일찍 쉬프트되는, 컴퓨터 판독가능 저장 매체.
KR1020147014592A 2011-10-31 2012-10-31 비디오 코딩에서 어드밴스드 디코딩 픽처 버퍼 (dpb) 관리를 사용하는 랜덤 액세스 KR101597927B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161553802P 2011-10-31 2011-10-31
US61/553,802 2011-10-31
US201261595605P 2012-02-06 2012-02-06
US61/595,605 2012-02-06
US13/664,279 2012-10-30
US13/664,279 US9264717B2 (en) 2011-10-31 2012-10-30 Random access with advanced decoded picture buffer (DPB) management in video coding
PCT/US2012/062830 WO2013067033A1 (en) 2011-10-31 2012-10-31 Random access with advanced decoded picture buffer (dpb) management in video coding

Publications (2)

Publication Number Publication Date
KR20140088592A true KR20140088592A (ko) 2014-07-10
KR101597927B1 KR101597927B1 (ko) 2016-02-25

Family

ID=48172426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147014592A KR101597927B1 (ko) 2011-10-31 2012-10-31 비디오 코딩에서 어드밴스드 디코딩 픽처 버퍼 (dpb) 관리를 사용하는 랜덤 액세스

Country Status (21)

Country Link
US (2) US9264717B2 (ko)
EP (1) EP2774365B1 (ko)
JP (1) JP5837216B2 (ko)
KR (1) KR101597927B1 (ko)
CN (1) CN103947210B (ko)
AU (2) AU2012332567A1 (ko)
BR (1) BR112014010418B1 (ko)
CA (1) CA2852959C (ko)
DK (1) DK2774365T3 (ko)
ES (1) ES2698554T3 (ko)
HU (1) HUE039675T2 (ko)
IL (1) IL232069A (ko)
IN (1) IN2014CN03181A (ko)
MY (1) MY167629A (ko)
PL (1) PL2774365T3 (ko)
PT (1) PT2774365T (ko)
RU (1) RU2584491C2 (ko)
SG (1) SG11201401440XA (ko)
SI (1) SI2774365T1 (ko)
WO (1) WO2013067033A1 (ko)
ZA (1) ZA201403984B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016200043A1 (ko) * 2015-06-10 2016-12-15 엘지전자 주식회사 비디오 코딩 시스템에서 가상 참조 픽처 기반 인터 예측 방법 및 장치

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9420307B2 (en) 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
JP2013187905A (ja) * 2012-03-08 2013-09-19 Panasonic Corp 映像を符号化および復号する方法および装置
US9351016B2 (en) 2012-04-13 2016-05-24 Sharp Kabushiki Kaisha Devices for identifying a leading picture
US9532055B2 (en) * 2012-04-16 2016-12-27 Microsoft Technology Licensing, Llc Constraints and unit types to simplify video random access
KR102420153B1 (ko) 2012-04-23 2022-07-12 엘지전자 주식회사 비디오 인코딩 방법, 비디오 디코딩 방법 및 이를 이용하는 장치
MX341068B (es) * 2012-04-23 2016-08-05 Panasonic Ip Corp America Método de codificacion de imágenes, método de decodificacion de imágenes, aparato de codificacion de imágenes, aparato de decodificacion de imágenes y aparato de codificacion y decoficación de imágenes.
HRP20230430T1 (hr) 2012-06-25 2023-07-07 Huawei Technologies Co., Ltd. Postupni pristup vremenskom sloju slika u videokompresiji
JP5891975B2 (ja) * 2012-07-02 2016-03-23 富士通株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法および動画像復号方法
US20140003520A1 (en) * 2012-07-02 2014-01-02 Cisco Technology, Inc. Differentiating Decodable and Non-Decodable Pictures After RAP Pictures
CN108235034B (zh) * 2012-07-03 2020-10-16 三星电子株式会社 视频编码方法和设备以及视频解码方法和设备
US9584804B2 (en) 2012-07-10 2017-02-28 Qualcomm Incorporated Coding SEI NAL units for video coding
WO2014042460A1 (ko) * 2012-09-13 2014-03-20 엘지전자 주식회사 영상 부호화/복호화 방법 및 장치
US9402076B2 (en) * 2013-01-07 2016-07-26 Qualcomm Incorporated Video buffering operations for random access in video coding
JP6361866B2 (ja) * 2013-05-09 2018-07-25 サン パテント トラスト 画像処理方法および画像処理装置
JP6605789B2 (ja) * 2013-06-18 2019-11-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 送信方法、受信方法、送信装置、および、受信装置
WO2015053157A1 (ja) 2013-10-11 2015-04-16 ソニー株式会社 送信装置、送信方法および受信装置
CN104754358B (zh) * 2013-12-27 2019-02-19 中兴通讯股份有限公司 码流的生成和处理方法、装置及系统
CN103957471B (zh) 2014-05-05 2017-07-14 华为技术有限公司 网络视频播放的方法和装置
US9886665B2 (en) * 2014-12-08 2018-02-06 International Business Machines Corporation Event detection using roles and relationships of entities
US10116576B2 (en) 2015-10-19 2018-10-30 Samsung Electronics Co., Ltd. Methods and apparatus for random access of HEVC bitstream for MMT
EP3371974B1 (en) * 2015-11-06 2024-05-01 Microsoft Technology Licensing, LLC Flexible reference picture management for video encoding
JP6119891B2 (ja) * 2016-02-25 2017-04-26 富士通株式会社 動画像符号化方法
JP6237830B2 (ja) * 2016-06-23 2017-11-29 富士通株式会社 動画像復号方法
JP6237829B2 (ja) * 2016-06-23 2017-11-29 富士通株式会社 動画像符号化用コンピュータプログラム
JP6237831B2 (ja) * 2016-06-23 2017-11-29 富士通株式会社 動画像復号用コンピュータプログラム
JP7018447B2 (ja) * 2017-01-05 2022-02-10 シャープ株式会社 仮想現実アプリケーション用の、動き制約タイルセットのシグナリングのためのシステム及び方法
EP4002248A1 (en) 2017-06-16 2022-05-25 Nokia Technologies Oy Autonomous refuelling system based on blockchain
CN107295334B (zh) * 2017-08-15 2019-12-03 电子科技大学 自适应的参考图像抉择方法
KR102609949B1 (ko) 2018-08-17 2023-12-04 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서의 참조 영상 관리
US11196988B2 (en) * 2018-12-17 2021-12-07 Apple Inc. Reference picture management and list construction
EP3939305A4 (en) * 2019-03-11 2022-12-21 Telefonaktiebolaget Lm Ericsson (Publ) PROCEDURE FOR RECOVERY POINT PROCESS FOR VIDEO ENCODER AND ASSOCIATED DEVICE
CN113615175A (zh) 2019-03-11 2021-11-05 华为技术有限公司 视频译码中的逐步解码刷新
WO2020184999A1 (ko) * 2019-03-12 2020-09-17 현대자동차주식회사 영상 부호화 및 복호화 방법 및 장치
US20220312009A1 (en) * 2019-06-20 2022-09-29 Electronics And Telecommunications Research Institute Method and apparatus for image encoding and image decoding using area segmentation
US11190781B2 (en) 2019-06-24 2021-11-30 Alibaba Group Holding Limited Adaptive resolution change in video processing
KR20220114557A (ko) 2019-12-26 2022-08-17 바이트댄스 아이엔씨 코딩된 픽처 내에서 디코딩 순서를 구현하기 위한 기술들
CN115917978A (zh) * 2020-06-08 2023-04-04 字节跳动有限公司 对解码图片缓冲器的约束
US11503323B2 (en) 2020-09-24 2022-11-15 Tencent America LLC Method and apparatus for inter-picture prediction with virtual reference picture for video coding
US11770498B2 (en) 2020-09-29 2023-09-26 Lemon Inc. Supplemental enhancement information for multi-layer video streams
WO2022104609A1 (en) * 2020-11-18 2022-05-27 Alibaba Group Holding Limited Methods and systems of generating virtual reference picture for video processing
US11695965B1 (en) * 2022-10-13 2023-07-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video coding using a coded picture buffer

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008085935A1 (en) * 2007-01-08 2008-07-17 Thomson Licensing Methods and apparatus for video stream splicing
US20090080533A1 (en) * 2007-09-20 2009-03-26 Microsoft Corporation Video decoding using created reference pictures
US20110013889A1 (en) * 2009-07-17 2011-01-20 Microsoft Corporation Implementing channel start and file seek for decoder

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1014709A3 (en) * 1998-12-24 2000-12-13 Fuji Photo Film Co., Ltd. Radiation image read-out method and apparatus
GB2381403B (en) 2000-05-10 2004-12-01 Picturetel Corp Video coding using multiple buffers
KR100334159B1 (ko) * 2000-05-29 2002-04-25 유현식 난연성 폴리프로필렌 수지조성물
FI120125B (fi) * 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
US20040148503A1 (en) * 2002-01-25 2004-07-29 David Sidman Apparatus, method, and system for accessing digital rights management information
US20080006201A1 (en) * 2001-09-19 2008-01-10 Sumitomo Electric Industries, Ltd. Method of growing gallium nitride crystal
CN1618235A (zh) 2002-01-22 2005-05-18 微软公司 用于防止起始码模仿和数据填充的方法和系统
US7149247B2 (en) 2002-01-22 2006-12-12 Microsoft Corporation Methods and systems for encoding and decoding video data to enable random access and splicing
KR100959573B1 (ko) * 2002-01-23 2010-05-27 노키아 코포레이션 비디오 코딩시 이미지 프레임들의 그루핑
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
DK1742479T3 (da) 2002-07-11 2009-12-14 Panasonic Corp Multihypotese B-billede virtuel displaybuffer med lån af plads i H.264 post-dekoder bufferen
CN1312927C (zh) 2002-07-15 2007-04-25 株式会社日立制作所 动态图像编码方法及解码方法
US7492387B2 (en) 2002-08-05 2009-02-17 Chih-Lung Yang Implementation of MPCP MCU technology for the H.264 video standard
FR2849332A1 (fr) 2002-12-20 2004-06-25 St Microelectronics Sa Procede et dispositif et decodage et d'affichage en marche arriere d'images mpeg, circuit pilote video et boitier decodeur incorporant un tel dispositif
US8194751B2 (en) 2003-02-19 2012-06-05 Panasonic Corporation Moving picture coding method and moving picture decoding method
JP4405272B2 (ja) 2003-02-19 2010-01-27 パナソニック株式会社 動画像復号化方法、動画像復号化装置及びプログラム
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7724818B2 (en) 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
US8175154B2 (en) 2003-06-03 2012-05-08 General Instrument Corporation Method for restructuring a group of pictures to provide for random access into the group of pictures
FI115589B (fi) 2003-10-14 2005-05-31 Nokia Corp Redundanttien kuvien koodaaminen ja dekoodaaminen
US7434690B2 (en) * 2004-04-30 2008-10-14 Cutispharma, Inc. Container and method for the preparation, storage and dispensing of compounded suppositories
TWI268715B (en) 2004-08-16 2006-12-11 Nippon Telegraph & Telephone Picture encoding method, picture decoding method, picture encoding apparatus, and picture decoding apparatus
US20060083298A1 (en) 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
KR100786132B1 (ko) 2004-11-01 2007-12-21 한국전자통신연구원 적응적으로 세분화된 gop 구조를 이용한 계층적b픽쳐-기반 동영상 부호화 및 복호화 방법
WO2006073207A2 (en) * 2005-01-10 2006-07-13 Matsushita Electric Industrial Co., Ltd. Picture coding apparatus and picture decoding apparatus
KR100775143B1 (ko) 2005-01-11 2007-11-12 엘지전자 주식회사 영상정보 디코딩 방법
JP4769717B2 (ja) 2005-01-17 2011-09-07 パナソニック株式会社 画像復号化方法
US8208564B2 (en) 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
KR20070038396A (ko) 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
EP1949701A1 (en) 2005-10-11 2008-07-30 Nokia Corporation Efficient decoded picture buffer management for scalable video coding
CA2633819C (en) 2005-12-08 2016-12-06 Vidyo, Inc. Systems and methods for error resilience and random access in video communication systems
JP2007184791A (ja) 2006-01-06 2007-07-19 Victor Co Of Japan Ltd 動画像符号化データ再生装置
EP1806930A1 (en) 2006-01-10 2007-07-11 Thomson Licensing Method and apparatus for constructing reference picture lists for scalable video
US7673116B2 (en) 2006-01-17 2010-03-02 Advanced Micro Devices, Inc. Input/output memory management unit that implements memory attributes based on translation data
WO2007085335A1 (de) * 2006-01-25 2007-08-02 Voith Patent Gmbh Maschine zur herstellung einer faserstoffbahn
KR100959538B1 (ko) 2006-03-30 2010-05-27 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
KR100877680B1 (ko) 2006-04-04 2009-01-09 삼성전자주식회사 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
US8270492B2 (en) 2006-05-12 2012-09-18 Panasonic Corporation Moving picture decoding device
BRPI0714022A2 (pt) 2006-07-06 2012-12-04 Thomson Licensing método e aparelho para separar o número do quadro e /ou a contagem de ordem de imagem (poc) para codificação e decodificação de vìdeo multi-visão
CN101491099B (zh) * 2006-07-11 2011-09-21 汤姆森特许公司 使用虚拟参考画面的方法及装置
EP2052546A4 (en) 2006-07-12 2010-03-03 Lg Electronics Inc METHOD AND DEVICE FOR SIGNAL PROCESSING
US7801223B2 (en) 2006-07-27 2010-09-21 Lsi Corporation Method for video decoder memory reduction
US8532178B2 (en) 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US20080165860A1 (en) 2006-08-31 2008-07-10 Zohair Sahraoui H.264 Data processing
WO2008030068A1 (en) 2006-09-07 2008-03-13 Lg Electronics Inc. Method and apparatus for decoding/encoding of a video signal
US7456760B2 (en) * 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
BRPI0716957A2 (pt) 2006-10-13 2013-10-29 Thomson Licensing Sintaxe de gerenciamento de lista de imagens de referência para codificação de vídeo de múltiplas vistas
ES2702704T3 (es) 2006-10-16 2019-03-05 Nokia Technologies Oy Sistema y procedimiento para implementar una administración eficiente de memoria intermedia decodificada en codificación de video de vistas múltiples
MY149409A (en) 2006-10-20 2013-08-30 Nokia Corp Virtual decoded reference picture marking and reference picture list
CA2783599C (en) * 2006-11-14 2013-06-25 Qualcomm Incorporated Systems and methods for channel switching
JP5023739B2 (ja) 2007-02-28 2012-09-12 ソニー株式会社 画像情報符号化装置及び符号化方法
US20100266042A1 (en) 2007-03-02 2010-10-21 Han Suh Koo Method and an apparatus for decoding/encoding a video signal
WO2008123917A2 (en) 2007-04-04 2008-10-16 Thomson Licensing Reference picture list management
US20080301742A1 (en) 2007-06-04 2008-12-04 Nokia Corporation Time-interleaved simulcast for tune-in reduction
US8477852B2 (en) 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8194741B2 (en) 2007-10-12 2012-06-05 Broadcom Corporation Method and system for processing B pictures with missing or invalid forward reference pictures
US7865675B2 (en) 2007-12-06 2011-01-04 Arm Limited Controlling cleaning of data values within a hardware accelerator
US8107742B2 (en) * 2008-01-30 2012-01-31 Himax Technologies Limited Encoder and decoder for encoding and decoding pixel data with low amount of transmitting data, encoding method, and decoding method thereof
KR20090099720A (ko) * 2008-03-18 2009-09-23 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP2009260736A (ja) 2008-03-24 2009-11-05 Fujitsu Ltd エンコーディング装置、デコーディング装置、動画像処理方法、動画像処理システム、エンコーディングプログラムおよびデコーディングプログラム
WO2009130561A1 (en) 2008-04-21 2009-10-29 Nokia Corporation Method and device for video coding and decoding
US7782903B2 (en) 2008-05-14 2010-08-24 Newport Media, Inc. Hardware accelerated protocol stack
JP2009290389A (ja) 2008-05-28 2009-12-10 Hitachi Ltd 画像処理装置
KR101377527B1 (ko) 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
US8462849B2 (en) 2008-12-23 2013-06-11 General Instrument Corporation Reference picture selection for sub-pixel motion estimation
WO2010086500A1 (en) 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
EP2392138A4 (en) 2009-01-28 2012-08-29 Nokia Corp METHOD AND APPARATUS FOR VIDEO ENCODING AND DECODING
JP5332773B2 (ja) 2009-03-18 2013-11-06 ソニー株式会社 画像処理装置および方法
JP5072893B2 (ja) * 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
US8693539B2 (en) 2009-03-26 2014-04-08 Panasonic Corporation Coding method, error detecting method, decoding method, coding apparatus, error detecting apparatus, and decoding apparatus
US20100262711A1 (en) 2009-04-09 2010-10-14 Nokia Corporation Systems, methods, and apparatuses for media file streaming
KR20110139304A (ko) 2009-04-22 2011-12-28 엘지전자 주식회사 다시점 영상의 참조 픽쳐 리스트 변경 방법
US8948241B2 (en) 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
TW201123795A (en) 2009-09-29 2011-07-01 Nokia Corp System, method and apparatus for dynamic media file streaming
JP2011082683A (ja) 2009-10-05 2011-04-21 Sony Corp 画像処理装置、画像処理方法、及び、プログラム
CN102045557B (zh) 2009-10-20 2012-09-19 鸿富锦精密工业(深圳)有限公司 视频编解码方法及使用其的视频编码、解码装置
TW201121331A (en) 2009-12-10 2011-06-16 Novatek Microelectronics Corp Picture decoder
US20110176611A1 (en) * 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
US9992456B2 (en) * 2010-02-24 2018-06-05 Thomson Licensing Dtv Method and apparatus for hypothetical reference decoder conformance error detection
EP2563764B1 (en) * 2010-04-26 2015-02-25 Merck Sharp & Dohme Corp. Novel spiropiperidine prolylcarboxypeptidase inhibitors
TW201210325A (en) 2010-07-21 2012-03-01 Nokia Corp Method and apparatus for indicating switching points in a streaming session
EP2630799A4 (en) * 2010-10-20 2014-07-02 Nokia Corp METHOD AND DEVICE FOR VIDEO CODING AND DECODING
US20120230409A1 (en) 2011-03-07 2012-09-13 Qualcomm Incorporated Decoded picture buffer management
US9516379B2 (en) 2011-03-08 2016-12-06 Qualcomm Incorporated Buffer management in video codecs
US9706227B2 (en) 2011-03-10 2017-07-11 Qualcomm Incorporated Video coding techniques for coding dependent pictures after random access
US9866859B2 (en) 2011-06-14 2018-01-09 Texas Instruments Incorporated Inter-prediction candidate index coding independent of inter-prediction candidate list construction in video coding
KR101578308B1 (ko) 2011-06-30 2015-12-16 텔레폰악티에볼라겟엘엠에릭슨(펍) 레퍼러스 픽처 시그널링
MX2014000048A (es) * 2011-07-02 2014-04-30 Samsung Electronics Co Ltd Metodo y aparato para multiplexar y desmultiplexar datos de video para identificar el estado de reproduccion de los datos de video.
US20130170561A1 (en) * 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
WO2013030458A1 (en) * 2011-08-31 2013-03-07 Nokia Corporation Multiview video coding and decoding
KR101835625B1 (ko) * 2011-10-26 2018-04-19 인텔렉추얼디스커버리 주식회사 움직임 후보 리스트 생성 방법 및 그를 이용한 부호화 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008085935A1 (en) * 2007-01-08 2008-07-17 Thomson Licensing Methods and apparatus for video stream splicing
US20090080533A1 (en) * 2007-09-20 2009-03-26 Microsoft Corporation Video decoding using created reference pictures
US20110013889A1 (en) * 2009-07-17 2011-01-20 Microsoft Corporation Implementing channel start and file seek for decoder

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 6th Meeting: Torino, IT, 14-22 July, 2011, F381, ‘Clean decoding refresh definition and decoding process’* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016200043A1 (ko) * 2015-06-10 2016-12-15 엘지전자 주식회사 비디오 코딩 시스템에서 가상 참조 픽처 기반 인터 예측 방법 및 장치
US10554968B2 (en) 2015-06-10 2020-02-04 Lg Electronics Inc. Method and apparatus for inter prediction on basis of virtual reference picture in video coding system

Also Published As

Publication number Publication date
ZA201403984B (en) 2017-06-28
CN103947210B (zh) 2017-10-31
US20130107953A1 (en) 2013-05-02
PL2774365T3 (pl) 2019-02-28
SI2774365T1 (sl) 2018-11-30
IN2014CN03181A (ko) 2015-07-03
IL232069A (en) 2015-07-30
IL232069A0 (en) 2014-05-28
CN103947210A (zh) 2014-07-23
CA2852959A1 (en) 2013-05-10
BR112014010418B1 (pt) 2022-05-24
AU2016201877A1 (en) 2016-04-21
MY167629A (en) 2018-09-21
JP5837216B2 (ja) 2015-12-24
RU2014122182A (ru) 2015-12-10
KR101597927B1 (ko) 2016-02-25
WO2013067033A1 (en) 2013-05-10
BR112014010418A2 (pt) 2017-04-25
RU2584491C2 (ru) 2016-05-20
US9264717B2 (en) 2016-02-16
AU2012332567A1 (en) 2014-05-22
SG11201401440XA (en) 2014-06-27
ES2698554T3 (es) 2019-02-05
JP2014535219A (ja) 2014-12-25
CA2852959C (en) 2017-12-05
DK2774365T3 (en) 2018-12-10
US20160165237A1 (en) 2016-06-09
AU2016201877B2 (en) 2018-05-17
HUE039675T2 (hu) 2019-01-28
EP2774365B1 (en) 2018-08-22
EP2774365A1 (en) 2014-09-10
PT2774365T (pt) 2018-11-28

Similar Documents

Publication Publication Date Title
KR101597927B1 (ko) 비디오 코딩에서 어드밴스드 디코딩 픽처 버퍼 (dpb) 관리를 사용하는 랜덤 액세스
KR101553788B1 (ko) 참조 화상 시그널링 및 디코딩된 화상 버퍼 관리
KR101773268B1 (ko) 비디오 코딩에서의 액세스 유닛 독립적 코딩된 픽처 버퍼 제거 시간들
KR101788427B1 (ko) 비디오 코딩에서 비디오 타이밍을 위한 타이밍 정보 관계들로의 픽처 순서 카운트의 시그널링
KR101732294B1 (ko) 비디오 코딩에 있어서의 저지연 버퍼링 모델
KR101724223B1 (ko) 비디오 코딩에서 랜덤 액세스를 위한 비디오 버퍼링 동작들
WO2014008136A1 (en) Signaling of long-term reference pictures for video coding
PH12015500517B1 (en) Video coding with improved random access point picture behaviors

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 4