KR20150140732A - 비-정렬된 irap 픽처들을 포함할 수도 있는 멀티-계층 비트스트림들에 대한 교차-계층 poc 정렬 - Google Patents

비-정렬된 irap 픽처들을 포함할 수도 있는 멀티-계층 비트스트림들에 대한 교차-계층 poc 정렬 Download PDF

Info

Publication number
KR20150140732A
KR20150140732A KR1020157031622A KR20157031622A KR20150140732A KR 20150140732 A KR20150140732 A KR 20150140732A KR 1020157031622 A KR1020157031622 A KR 1020157031622A KR 20157031622 A KR20157031622 A KR 20157031622A KR 20150140732 A KR20150140732 A KR 20150140732A
Authority
KR
South Korea
Prior art keywords
picture
value
poc value
poc
reset
Prior art date
Application number
KR1020157031622A
Other languages
English (en)
Other versions
KR101818831B1 (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 KR20150140732A publication Critical patent/KR20150140732A/ko
Application granted granted Critical
Publication of KR101818831B1 publication Critical patent/KR101818831B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/68Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

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

Abstract

일 예에서, 비디오 코더는 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 코딩하고, POC 값의 일부가 제로의 값으로 리셋되어야 한다고 구문 엘리먼트에 대한 값이 표시할 때, POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하고, 그리고 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하도록 구성된다. 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하는 것은 그 픽처에 대한 후속 픽처의 블록을 인터-예측하는 것을 포함할 수도 있으며, 여기서, 블록은 리셋된 POC 값을 이용하여 픽처를 식별하는 모션 파라미터를 포함할 수도 있다. 블록은 시간 인터-예측 또는 인터-계층 예측을 이용하여 코딩될 수도 있다.

Description

비-정렬된 IRAP 픽처들을 포함할 수도 있는 멀티-계층 비트스트림들에 대한 교차-계층 POC 정렬{CROSS-LAYER POC ALIGNMENT FOR MULTI-LAYER BITSTREAMS THAT MAY INCLUDE NON-ALIGNED IRAP PICTURES}
본 출원은 2013년 4월 8일자에 출원된 미국 가출원번호 제 61/809,855호, 및 2013년 7월 15일자에 출원된 미국 가출원번호 제 61/846,532호의 이익을 주장하며, 이들 각각은 그 각각 전체적으로 참고로 포함된다.
기술 분야
본 개시물은 비디오 코딩에 관한 것이다.
디지털 비디오 능력들은, 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대정보 단말기들 (PDA들), 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, e-북 리더들, 디지털 카메라들, 디지털 리코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 소위 "스마트폰들", 원격 화상회의 디바이스들, 비디오 스트리밍 디바이스들 등을 포함한, 광범위한 디바이스들에 포함될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, 파트 10, AVC (Advanced Video Coding), 현재 개발중인 HEVC (High Efficiency Video Coding) 표준, 및 이러한 표준들의 확장판들에 의해 정의된 표준들에서 설명되는 비디오 코딩 기법들과 같은, 비디오 코딩 기법들을 구현한다. 비디오 디바이스들은 이러한 비디오 코딩 기법들을 구현함으로써, 디지털 비디오 정보를 좀더 효율적으로 송신하거나, 수신하거나, 인코딩하거나, 디코딩하거나, 및/또는 저장할 수도 있다.
비디오 코딩 기법들은 비디오 시퀀스들에 고유한 리던던시를 감소시키거나 또는 제거하기 위해, 공간 (인트라-픽처) 예측 및/또는 시간 (인터-픽처) 예측을 포함한다. 블록-기반 비디오 코딩에 있어, 비디오 슬라이스 (예컨대, 비디오 프레임 또는 비디오 프레임의 부분) 은 비디오 블록들로 파티셔닝될 수도 있으며, 이 비디오 블록들은 또한 트리블록들, 코딩 유닛들 (CU들) 및/또는 코딩 노드들로서 지칭될 수도 있다. 픽처의 인트라-코딩된 (I) 슬라이스에서 비디오 블록들은 동일한 픽처에서 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측을 이용하여 인코딩된다. 픽처의 인터-코딩된 (P 또는 B) 슬라이스에서 비디오 블록들은 동일한 픽처에서 이웃하는 블록들에서의 참조 샘플들에 대한 공간 예측, 또는 다른 참조 픽처들에서의 참조 샘플들에 대한 시간 예측을 이용할 수도 있다. 픽처들은 프레임들로 지칭될 수 있으며, 참조 픽처들은 참조 프레임들로서 지칭될 수도 있다.
공간 또는 시간 예측은 코딩되는 블록에 대한 예측 블록을 초래한다. 잔차 데이터는 코딩되는 원래 블록과 예측 블록 사이의 픽셀 차이들을 나타낸다. 인터-코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 사이의 차이를 나타내는 잔차 데이터에 따라서 인코딩된다. 인트라-코딩된 블록은 인트라-코딩 모드 및 잔차 데이터에 따라서 인코딩된다. 추가적인 압축을 위해, 잔차 데이터는 픽셀 도메인으로부터 변환 도메인으로 변환되어, 잔차 변환 계수들을 초래할 수도 있으며, 이 잔차 변환 계수는 그후 양자화될 수도 있다. 처음에 2차원 어레이로 배열된, 양자화된 변환 계수들은 변환 계수들의 1차원 벡터를 발생하기 위해 스캐닝될 수도 있으며, 엔트로피 코딩이 더욱 더 많은 압축을 달성하기 위해 적용될 수도 있다.
일반적으로, 본 개시물은 픽처에 대한 픽처 순서 카운트 (POC) 값이 리셋되어야 하는지 여부를 나타내는, 픽처에 대한 구문 엘리먼트를 코딩하는 기법들을 설명한다. 특히, (비디오 인코더 또는 비디오 디코더와 같은) 비디오 코더는 비-IRAP 픽처가 IRAP 픽처를 가진 액세스 유닛에, 예컨대, 상이한 비디오 코딩 계층들에 포함될 때 비-인트라 랜덤 액세스 포인트 (IRAP) 픽처에 대한 POC 값이 리셋되어야 한다는 것을 나타내는 값을 코딩할 수도 있다. 이러한 방법으로, 본 개시물의 기법들은 상이한 비디오 코딩 계층들을 교차하여 IRAP 픽처들의 비-정렬을 지원할 수도 있으면서도, 또한 POC 값들이 상이한 비디오 코딩 계층들의 픽처들 간에 정렬되는 것을 보장할 수도 있다.
일 예에서, 비디오 데이터를 디코딩하는 방법은, 구문 엘리먼트에 대한 값이 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 한다고 표시하는지 여부를 결정하는 단계; POC 값의 일부가 제로의 값으로 리셋되어야 한다고 구문 엘리먼트에 대한 값이 표시할 때, POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하는 단계; 및 리셋된 POC 값을 이용하여 비디오 데이터를 디코딩하는 단계를 포함한다.
또 다른 예에서, 비디오 데이터를 인코딩하는 방법은, 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부를 제로의 값으로 리셋할지 여부를 결정하는 단계; POC 값의 적어도 일부를 리셋하기로 결정하는 것에 응답하여, POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하고, 그리고 POC 값의 적어도 일부가 제로의 값으로 리셋되어야 한다고 표시하는 구문 엘리먼트에 대한 값을 인코딩하는 단계; 및 리셋된 POC 값을 이용하여 비디오 데이터를 인코딩하는 단계를 포함한다.
또 다른 예에서, 비디오 데이터를 코딩하는 디바이스는, 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 코딩하고; POC 값의 일부가 제로의 값으로 리셋되어야 한다고 구문 엘리먼트에 대한 값이 표시할 때, POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하고; 그리고 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하도록 구성된 비디오 코더를 포함한다.
또 다른 예에서, 비디오 데이터를 코딩하는 디바이스는, 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 코딩하는 수단; POC 값의 일부가 제로의 값으로 리셋되어야 한다고 구문 엘리먼트에 대한 값이 표시할 때, POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하는 수단; 및 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하는 수단을 포함한다.
또 다른 예에서, 컴퓨터-판독가능 저장 매체는, 실행될 때, 프로그래밍가능 프로세서로 하여금, 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 코딩하게 하고; POC 값의 일부가 제로의 값으로 리셋되어야 한다고 구문 엘리먼트에 대한 값이 표시할 때, POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하게 하고; 그리고 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하게 하는 명령들을 저장하고 있다.
하나 이상의 예들의 세부 사항들이 첨부도면 및 아래의 상세한 설명에서 개시된다. 다른 특성들, 목적들, 및 이점들은 설명 및 도면들로부터, 그리고 청구항들로부터 명백히 알 수 있을 것이다.
도 1 은 본 개시물에서 설명하는 하나 이상의 예들에 따른 예시적인 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다.
도 2 는 본 개시물에서 설명하는 기법들을 구현할 수도 있는 예시적인 비디오 인코더를 예시하는 블록도이다.
도 3 은 본 개시물에서 설명하는 기법들을 구현할 수도 있는 예시적인 비디오 디코더를 예시하는 블록도이다.
도 4 는 코딩된 비디오 픽처들의 시퀀스를 예시하는 개념도이다.
도 5 는 본 개시물의 기법들에 따른, 비디오 데이터를 인코딩하는 예시적인 방법을 예시하는 플로우차트이다.
도 6 은 본 개시물의 기법들에 따른, 비디오 데이터를 디코딩하는 예시적인 방법을 예시하는 플로우차트이다.
본 개시물은 동일한 픽처 순서 카운트 (POC) 값들이 교차-계층 정렬되게 보장되도록 새로운 코딩된 비디오 시퀀스를 시작할 수도 있는 비-정렬된 인트라 랜덤 액세스 포인트 (IRAP) 픽처들을 지원하는 기법들을 설명한다. 이 기법들은 멀티-계층 코딩에 적용될 수도 있다. 일부 개시된 방법들은 또한 단일-계층 비디오 코딩에 적용될 수 있다.
특히, 비-정렬된 IRAP 픽처들은 액세스 유닛이 IRAP 픽처 및 상이한 비디오 코딩 계층들에서의 비-IRAP 픽처 양쪽을 포함하는 상황들에서 발생한다. 코딩된 비디오 시퀀스 (CVS) 에서의 픽처들은 그 CVS 에서의 각각의 픽처들을 고유하게 식별하는 POC 값들을 갖는다. 픽처들의 POC 값들은 일반적으로 동일한 CVS 에서의 다른 픽처들에 대한 픽처들의 출력 순서들을 나타낸다. IRAP 픽처들은 0 의 POC 값들을 갖는다. 따라서, 비-정렬된 IRAP 픽처들은 상이한 POC 값들을 갖는 픽처들을 포함하는 액세스 유닛들을 초래한다.
그러나, POC 값들은 인터-계층 참조 픽처들을 식별하기 위해 사용된다. 즉, 픽처가 인터-계층 예측 (예컨대, 인터-뷰 예측) 을 이용하여 코딩될 때, 비디오 디코더가 참조 픽처를 식별할 수 있도록 참조 픽처의 POC 값이 시그널링된다. POC 값들이 정렬되는 경우, 현재의 픽처가 인터-계층 예측된다고, 즉, 참조 픽처의 POC 값이 현재의 픽처의 POC 값과 동일할 때를 결정하는 것이 간단하다. 비디오 코딩 계층들 사이의 픽처들의 오정렬된 POC 값들은 참조 픽처들의 식별을 더 어렵게 만든다. 더욱이, 액세스 유닛 경계들이 검출하기 어려워져서, 에러들을 일으키기 쉬울 수 있다.
따라서, 본 개시물은 비-정렬된 IRAP 픽처들을 허용하면서도 또한 공통 액세스 유닛에서의 픽처들에 대한 POC 값들이 교차-정렬되는 것을 보장하는 기법들을 기술한다. 특히, 구문 엘리먼트는 픽처에 대한 POC 값의 적어도 일부가 리셋되어야 한다 (즉, 제로의 값으로 설정되어야 한다) 는 것을 표시할 수도 있다. 예를 들어, 비디오 인코더는 액세스 유닛이 하나의 계층에서의 IRAP 픽처, 및 또 다른, 상이한 계층에서 비-IRAP 픽처를 포함한다고 결정할 수도 있다. 비디오 인코더는 따라서 비-IRAP 픽처에 대한 POC 값이 리셋되어야 한다고 시그널링할 수도 있다. 비디오 디코더는 비-IRAP 픽처에 대한 POC 값을 리셋할 수도 있으며, 또한 비-IRAP 픽처와 동일한 비디오 코딩 계층에서의 다른 픽처들의 POC 값들을 수정할 수도 있다. 즉, 비디오 디코더는 비-IRAP 픽처의 POC 값을 리셋한 후에 비-IRAP 픽처와, 동일한 계층 및 동일한 CVS 에서의 다른 픽처들의 POC 값 사이의 차이가 일정하게 유지하도록, 이들 다른 픽처들의 POC 값들을 수정할 수도 있다.
이와 같이 POC 값들을 조정함으로써, 공통 액세스 유닛에서의 모든 픽처들은 동일한 POC 값을 갖도록 보장될 수도 있으며, 그렇지만 IRAP 픽처들은 정렬될 필요가 없다. 따라서, 액세스 유닛 경계 검출이 단순화되어 더 에러 회복력있게 할 수 있으며, 인터-계층 참조 픽처들의 식별이 또한 단순화될 수 있다.
비디오 코딩 표준들은 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 및 그의 스케일러블 비디오 코딩 (SVC) 및 멀티뷰 비디오 코딩 (MVC) 확장판들을 포함한, (또한, ISO/IEC MPEG-4 AVC 로서 알려진) ITU-T H.264 를 포함한다.
최근, 새로운 비디오 코딩 표준, 즉 고효율 비디오 코딩 (HEVC) 의 설계가 ITU-T 비디오 코딩 전문가 그룹 (VCEG) 와 ISO/IEC 동화상 전문가 그룹 (MPEG) 의 비디오 코딩에 관한 합동 연구팀 (JCT-VC) 에 의해 종료되었다. 이하에서 HEVC WD10 으로 지칭되는, 최신 HEVC 초안 사양은, http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip 로부터 입수가능하다.
HEVC 에 대한 멀티뷰 확장판, 즉 MV-HEVC 가 또한 JCT-3V 에 의해 개발되고 있다. 이하에서 MV-HEVC WD3 으로서 지칭되는, MV-HEVC 의 최신 작업 초안 (WD) 는 http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/3_Geneva/wg11/JCT3V-C1004-v4.zip 로부터 입수가능하다.
SHVC 로 불리는, HEVC 에 대한 스케일러블 확장판이 또한 JCT-VC 에 의해 개발되고 있다. 이하에서 SHVC WD1 로서 지칭되는, SHVC 의 최신 작업 초안 (WD) 는 http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1008-v1.zip 로부터 입수가능하다.
이 문서는 (코딩된) 픽처, 액세스 유닛 (AU), IRAP AU, 코딩된 비디오 시퀀스 (CVS), 및 비트스트림의 다음 컨셉들을 가정하며, 이들 가정들 중 일부가 변경되더라도 그 방법들이 또한 적용된다:
- (코딩된) 픽처: 현재의 (코딩된) 픽처 정의와 유사하게, 여기서, 코딩된 픽처는 SVC 에서의 계층 표현, MVC 에서의 뷰 성분 및 MVC+D 에서의 텍스쳐 또는 심도 뷰 성분과 동등하다.
- 액세스 유닛: SVC 및 MVC 에서와 유사하게, AU 는 동일한 출력 시간과 연관되는 모든 코딩된 픽처들 및 그들의 연관된 비-VCL NAL 유닛들로 이루어진다.
- IRAP 액세스 유닛: 모든 코딩된 픽처들이 IRAP 픽처들인 액세스 유닛.
- 코딩된 비디오 시퀀스 (CVS): 디코딩 순서에서, 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 액세스 유닛과, 뒤이어서, 모든 후속 액세스 유닛들을 최대로 포함하지만 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 액세스 유닛인 임의의 후속 액세스 유닛을 포함하지 않는, 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 액세스 유닛들이 아닌 제로 또는 그 이상의 액세스 유닛들로 이루어지는 액세스 유닛들의 시퀀스.
○ 표현법 (wording) 이 HEVC WD10 에서와 동일하다는 점에 유의한다.
- 비트스트림: 하나 이상의 CVSs 의 표현을 형성하는, NAL 유닛 스트림 또는 바이트 스트림의 유형인, 비트들의 시퀀스.
○ 비트스트림에서의 제 1 AU 는 (위에서 정의된 바와 같이) IRAP AU 이어야 한다.
순간 디코더 리프레시 (IDR) 픽처들, 클린 랜덤 액세스 (CRA) 픽처들, 및 파손된 링크 액세스 (BLA) 픽처들은 일괄하여 IRAP 픽처들로서 지칭된다. IRAP 픽처들에 대해 교차-계층 정렬을 요구하는 것은 일부 유리한 사용 시나리오들을 이용불가능하게 할 것이다. 예를 들어, 2-계층 비트스트림에서, 향상 계층보다 기초 계층에서 더 많은 IRAP 픽처들이 있을 때, 브로드캐스트 및 멀티캐스트 애플리케이션들에서, 낮은-지연 동조와 동시에 높은 코딩 효율이 달성될 수 있다. 따라서, 비-정렬된 IRAP 픽처들에 대해 이용가능한 것이 바람직하다.
그러나, 하나의 픽처 (picA) 가 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처이고 동일한 액세스 유닛에서의 또 다른 픽처 (picB) 가 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처가 아닐 때, picA 를 포함하는 계층에서의 픽처 (picC) 의 POC 값은 picB 를 포함하는 계층에서의 픽처 (picD) 의 POC 값과 상이할 수도 있으며, 여기서, picC 및 picD 는 동일한 액세스 유닛에 있으며, picC 는 picA 이거나 또는 아닐 수도 있다 (그 결과, picD 는 picB 이거나 또는 아닐 수도 있다). 이것은, 1 과 동일한 NoRaslOutputFlag 를 가진 각각의 IRAP 픽처가 POC 값을 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처에 대해 시그널링되거나 또는 유도되는 POC 최하위 비트들 (LSB) 와 동일하게 리셋하기 때문이다.
이것은 POC 값들이 교차-정렬될 때에 비해, 인터-계층 예측에 의한 멀티-계층 비디오 코딩에서의 참조 픽처들의 식별을 더 어렵게 만든다. 예를 들어, MV-HEVC WD3 에서, POC 는 인터-계층 참조 픽처를 식별하는데 2개의 치수 (dimension) 식별들 중 하나로서 사용된다.
더욱이, 이것은 액세스 유닛 (AU) 경계 검출을 더 어렵게 만들고 에러 회복력있게 만들지 않는다. 예를 들어, AU1 이 각각 기초 계층 및 향상 계층에서의 picA 및 picB 로 이루어지고 AU2 가 각각 기초 계층 및 향상 계층에서의 picC 및 picD 로 이루어지고 그리고 AU1 이 디코딩 순서에서 AU2 보다 선행한다고 가정한다. 그 후, picB 및 picC 양쪽이 손실되면, 수신된 picA 및 picD 가 2개의 상이한 AU들에 속한다는 것을 디코더가 코딩된 픽처들에 기초하여 파악하는 어떤 방법도 존재하지 않는다. 동일한 예에서, AU2 가 향상 계층에서의 단지 picD 만으로 이루어지는 동시에 picC 가 존재하지 않으면, 설령 오직 하나의 픽처, 즉, picB 가 손실되더라도 동일한 문제가 발생할 것이다.
본 개시물은 1 과 동일한 NoRaslOutputFlag 를 갖는 IRAP 픽처들의 비-교차-정렬을 가능하게 하면서도, 모든 AU들에 대해 POC 값들의 교차-정렬을 동시에 제공하는 기법들을 설명한다.
도 1 은 본 개시물에서 설명하는 하나 이상의 예들에 따른 예시적인 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다. 예를 들어, 시스템 (10) 은 소스 디바이스 (12) 및 목적지 디바이스 (14) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 본 개시물에서 설명하는 기법들을 구현하도록 구성된다. 일부 예들에서, 시스템 (10) 은 예컨대, WD10 에 설명된 바와 같은 HEVC 표준, 및 예를 들어, MV-HEVC WD3, SHVC WD1, 또는 기타 등등에 설명된 확장판들과 같은 그의 확장판들에 따라서 인코딩되는 비디오 데이터와 같은, 인코딩된 비디오 데이터의 인코딩, 송신, 스토리지, 디코딩, 및/또는 프리젠테이션을 지원하도록 구성될 수도 있다. 그러나, 본 개시물에서 설명하는 기법들은 다른 비디오 코딩 표준들 또는 다른 확장판들에 적용가능할 수도 있다.
도 1 에 나타낸 바와 같이, 시스템 (10) 은 목적지 디바이스 (14) 에 의해 추후 디코딩될 인코딩된 비디오 데이터를 발생하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 데스크탑 컴퓨터들, 노트북 (즉, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋-탑 박스들, 소위 "스마트" 폰들과 같은 전화기 핸드셋들, 소위 "스마트" 패드들, 텔레비전, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 비디오 스트리밍 디바이스 등을 포함한, 광범위한 디바이스들 중 임의의 디바이스를 포함할 수도 있다. 일부의 경우, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신용으로 탑재될 수도 있다.
목적지 디바이스 (14) 는 디코딩될 인코딩된 비디오 데이터를 링크 (16) 을 통해서 수신할 수도 있다. 링크 (16) 은 인코딩된 비디오 데이터를 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 이동시킬 수 있는 임의 종류의 매체 또는 디바이스를 포함할 수도 있다. 일 예에서, 링크 (16) 은 소스 디바이스 (12) 로 하여금 인코딩된 비디오 데이터를 직접 목적지 디바이스 (14) 로 실시간으로 송신할 수 있게 하는 통신 매체를 포함할 수도 있다. 인코딩된 비디오 데이터는 무선 통신 프로토콜과 같은 통신 표준에 따라서 변조되어 목적지 디바이스 (14) 로 송신될 수도 있다. 통신 매체는 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적인 송신 라인들과 같은, 임의의 무선 또는 유선 통신 매체를 포함할 수도 있다. 통신 매체는 근거리 네트워크, 광역 네트워크, 또는 글로벌 네트워크, 예컨대 인터넷과 같은 패킷-기반 네트워크의 일부를 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 통신을 용이하게 하는데 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
이의 대안으로, 인코딩된 데이터는 출력 인터페이스 (22) 로부터 저장 디바이스 (34) 로 출력될 수도 있다. 이와 유사하게, 인코딩된 데이터는 입력 인터페이스에 의해 저장 디바이스 (34) 로부터 불러내어질 수도 있다. 저장 디바이스 (34) 는 하드 드라이브, Blu-ray 디스크들, DVDs, CD-ROMs, 플래시 메모리, 휘발성 또는 비-휘발성 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 다른 적합한 디지털 저장 매체들과 같은 다양한 분산된 또는 로컬 액세스되는 데이터 저장 매체들 중 임의의 데이터 저장 매체를 포함할 수도 있다. 추가 예에서, 저장 디바이스 (34) 는 소스 디바이스 (12) 에 의해 발생된 인코딩된 비디오를 유지할 수도 있는 파일 서버 또는 또 다른 중간 저장 디바이스에 대응할 수도 있다. 목적지 디바이스 (14) 는 저장된 비디오 데이터에 저장 디바이스 (34) 로부터 스트리밍 또는 다운로드를 통해서 액세스할 수도 있다. 파일 서버는 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신하는 것이 가능한 임의 종류의 서버일 수도 있다. 예시적인 파일 서버들은 웹 서버 (예컨대, 웹사이트용), FTP 서버, NAS (network attached storage) 디바이스들, 또는 로칼 디스크 드라이브를 포함한다. 목적지 디바이스 (14) 는 인터넷 접속을 포함한, 임의의 표준 데이터 접속을 통해서, 인코딩된 비디오 데이터에 액세스할 수도 있다. 이것은 파일 서버 상에 저장된 인코딩된 비디오 데이터에 액세스하는데 적합한, 무선 채널 (예컨대, Wi-Fi 접속), 유선 접속 (예컨대, DSL, 케이블 모뎀 등), 또는 양쪽의 조합을 포함할 수도 있다. 저장 디바이스 (34) 로부터의 인코딩된 비디오 데이터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이 양쪽의 조합일 수도 있다.
본 개시물의 기법들은 무선 애플리케이션들 또는 설정들에 한정되지 않는다. 이 기법들은 오버-디-에어 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예컨대, 인터넷을 통한 스트리밍 비디오 송신들, 데이터 저장 매체 상에의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩, 또는 다른 애플리케이션들과 같은, 다양한 멀티미디어 애플리케이션들 중 임의의 애플리케이션의 지원 하에 비디오 코딩에 적용될 수도 있다. 일부 예들에서, 시스템 (10) 은 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 및/또는 비디오 전화 통신과 같은, 지원 애플리케이션들로의 단방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20) 및 출력 인터페이스 (22) 를 포함한다. 일부의 경우, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 포함할 수도 있다. 소스 디바이스 (12) 에서, 비디오 소스 (18) 은 비디오 캡쳐 디바이스, 예컨대, 비디오 카메라, 이전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 비디오 콘텐츠 제공자로부터 비디오를 수신하는 비디오 공급 인터페이스, 및/또는 컴퓨터 그래픽스 데이터를 소스 비디오로서 발생하는 컴퓨터 그래픽스 시스템과 같은 소스, 또는 이런 소스들의 조합을 포함할 수도 있다. 일 예로서, 비디오 소스 (18) 이 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 그러나, 본 개시물에서 설명하는 기법들은 비디오 코딩에 일반적으로 적용가능할 수도 있으며, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다.
캡쳐되거나, 사전-캡쳐되거나, 또는 컴퓨터-발생된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 인코딩된 비디오 데이터는 소스 디바이스 (12) 의 출력 인터페이스 (22) 를 통해서 목적지 디바이스 (14) 로 바로 송신될 수도 있다. 인코딩된 비디오 데이터는 또한 (또는, 대안적으로) 디코딩 및/또는 플레이백을 위한, 목적지 디바이스 (14) 또는 다른 디바이스들에 의한 추후 액세스를 위해, 저장 디바이스 (34) 상에 저장될 수도 있다.
목적지 디바이스 (14) 는 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 일부의 경우, 입력 인터페이스 (28) 은 수신기 및/또는 모뎀을 포함할 수도 있다. 목적지 디바이스 (14) 의 입력 인터페이스 (28) 은 인코딩된 비디오 데이터를 링크 (16) 을 통해서 수신한다. 링크 (16) 을 통해서 통신되거나, 또는 저장 디바이스 (34) 상에 제공되는 인코딩된 비디오 데이터는, 비디오 데이터를 디코딩할 때에, 비디오 디코더 (30) 과 같은 비디오 디코더에 의해 사용하기 위한, 비디오 인코더 (20) 에 의해 발생되는 다양한 구문 엘리먼트들을 포함할 수도 있다. 이런 구문 엘리먼트들은 통신 매체 상으로 송신되거나, 저장 매체 상에 저장되거나, 또는 파일 서버에 저장된 인코딩된 비디오 데이터와 함께 포함될 수도 있다.
디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합되거나 또는 그 외부에 있을 수도 있다. 일부 예들에서, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함하며, 또한 외부 디스플레이 디바이스와 인터페이스하도록 구성될 수도 있다. 다른 예들에서, 목적지 디바이스 (14) 는 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (32) 는 그 디코딩된 비디오 데이터를 사용자에게 디스플레이하며, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 또 다른 유형의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 디바이스를 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 은 MPEG 4, 파트 10, AVC (Advanced Video Coding) 로서 대안적으로 지칭되는 ITU-T H.264 표준, 또는 이런 표준들의 확장판들과 같은 비디오 압축 표준에 따라서 동작할 수도 있다. 대안적으로, 비디오 인코더 (20) 및 비디오 디코더 (30) 은 현재 개발중인 HEVC (High Efficiency Video Coding) 표준 뿐만 아니라, HEVC 표준의 확장판들과 같은, 다른 독점 또는 산업 표준들에 따라서 동작할 수도 있다. 본 개시물의 기법들은, 그러나, 임의의 특정의 코딩 표준에 한정되지 않는다. 비디오 압축 표준들의 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다.
도 1 에 나타내지는 않지만, 일부 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 은 오디오 인코더 및 디코더와 각각 통합될 수도 있으며, 오디오 및 비디오 양쪽의 인코딩을 공통 데이터 스트림 또는 별개의 데이터 스트림들로 처리하기에 적합한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능한 경우, 일부 예들에서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 다른 프로토콜들, 예컨대, 사용자 데이터그램 프로토콜 (UDP) 를 따를 수도 있다.
본 개시물의 기법들에 따르면, 비디오 인코더 (20) 및 비디오 디코더 (30) 은 픽처들의 픽처 순서 카운트 (POC) 값들이 부분적으로 또는 완전히 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트들의 값들을 코딩하도록 구성될 수도 있다. 부분 리셋은 POC 값의 일부, 예컨대, 단지 최상위 비트들 (MSB들) 을, 제로와 동일하게 설정하는 것에 대응할 수도 있다. 풀 (full) 리셋은 POC 값의 모든 비트들을 제로와 동일하게 설정하는 것에 대응할 수도 있다. 따라서, 픽처의 POC 값이 부분적으로 또는 완전히 리셋되어야 한다고 구문 엘리먼트가 나타낼 때, 비디오 디코더 (30) 은 POC 값의 대응하는 비트들을 제로로 리셋할 수도 있다.
게다가, 비디오 디코더 (30) 은 또한 이들 다른 픽처들의 POC 값들 사이의 차이들이 그 리셋에 이후에 리셋 전과 동일하게 유지하도록, POC 값이 리셋된 픽처와 동일한 계층에서의 다른 픽처들의 POC 값들의 비트들을 설정할 수도 있다. 예를 들어, N 개의 다른 픽처들 각각에 대해, 비디오 디코더 (30) 은 차이 Di 를 결정할 수도 있으며, 여기서, i 는 0 과 N-1 사이이고 이들 다른 픽처들 중 하나를 나타낸다. 이 예에서, 비디오 디코더 (30) 은 Di = POCbase - POCi 를 계산할 수도 있으며, 여기서, "base" 는 POC 값이 리셋된 픽처를 지칭한다. 비디오 디코더 (30) 은 그후 POCi_decremented + Di = POCbase_reset 로 감분될 수도 있으며, 여기서, POCi_decremented 는 픽처 i 의 감분된 POC 값을 나타내고 POCbase_reset 는 POCbase 의 리셋 값을 나타낸다. 리셋될 픽처의 POC 값이 제로로 설정되는 예들에서, 비디오 디코더 (30) 은 동일한 CVS 및 동일한 비디오 코딩 계층에서의 다른 픽처들의 POC 값들을 픽처의 초기 (즉, 리셋하기 전) POC 값 만큼 감분할 수도 있다. 대안적으로, 비디오 디코더 (30) 은 동일한 CVS 및 동일한 비디오 코딩 계층에서의 다른 픽처들의 POC 값들을, POC 값이 리셋되어야 하는 픽처의 초기 POC 값과 다른 픽처의 POC 값 사이의 차이와 동일하게 (즉, Di 와 동일하게) 설정할 수도 있다.
하나의 예들의 세트에서, 제 1 플래그가 POC 값들이 POC 최하위 비트들 (LSB들) 와 동일하게 리셋되어야 하는지, 즉, POC 최상위 비트들 (MSB들) 이 0 과 동일하게 리셋되어야 하는지 여부를 규정하기 위해 슬라이스 헤더에 추가되며, 만약 그렇다면, 현재의 픽처와, 동일한 계층에서의 그리고 DPB 에서의 임의의 픽처의 POC 값들 사이의 차이가 제 1 플래그가 달리 나타내는 경우와 동일하게 유지하도록, 현재의 픽처와 동일한 계층에서의 그리고 디코딩 픽처 버퍼 (DPB) 에서의 모든 픽처들의 POC 값들이 감분된다.
이 예들의 세트에서, POC LSBs 가 0 과 동일하게 리셋되어야 하는지 여부를 규정하기 위해 제 2 플래그가 슬라이스 헤더에 추가될 수도 있다. 제 1 플래그와 함께 사용될 때, 제 2 플래그는 인코더들로 하여금, 상이한 계층들에서의 픽처들에 POC LSBs 의 상이한 값들을 자유롭게 할당가능하게 한다. 이 예들의 세트는 1 과 동일한 NoRaslOutputFlag 를 갖는 IRAP 픽처들의 비-교차-정렬을 가능하게 하는 동시에, 모든 AU들에 대해 POC 값들의 교차-정렬을 동시에 보장하며, 여기서, 1 과 동일한 NoRaslOutputFlag 를 갖는 IRAP 픽처들은 IRAP 픽처들, 즉, IDR, CRA 및 BLA 픽처들의 3개의 유형들 중 임의의 유형일 수도 있다.
또 다른 예들의 세트에서, IDR 픽처들이 액세스 유닛에서 정렬되지 않을 때, 그 AU 에서의 적어도 하나의 픽처가 IDR 픽처이면, 하나의 액세스 유닛에서의 모든 픽처들의 POC 값들은 IDR 픽처와 유사하게, 0 으로 설정된다고 제안된다. 이것은 1 과 동일한 NoRaslOutputFlag 를 갖는 IRAP 픽처들의 비-교차-정렬을 가능하게 하는 동시에, 모든 AU들에 대한 POC 값들의 교차-정렬을 동시에 보장할 것이며, 여기서, 1 과 동일한 NoRaslOutputFlag 를 갖는 IRAP 픽처들은 IDR 픽처들이다. 좀더 구체적으로, 다음이 이 예들의 세트에 적용된다:
1. 플래그, 즉 idr_au_present_flag 가 슬라이스 헤더로 시그널링되며, 예컨대, 비트들의 일부가 slice_reserved_flag[ i ] 로 슬라이스 헤더의 시작부에서 시그널링된다.
a. 0 보다 큰 nuh_layer_id 를 가진 픽처에 대해, 1 과 동일한 플래그는 POC 값이 0 으로 리셋된다는 것을 나타내며, IDR 픽처에 대해 이루어지는 것과 같이, 0 과 동일한 플래그는 POC 값이 리셋되지 않는다는 것을 나타낸다.
2. IDR 픽처에 대해, 이 플래그는 다른 목적들에 대해 사용될 수도 있거나, 또는 1 로 예약될 수도 있거나, 또는 부재하지만 1 과 동일하게 추론될 수도 있다.
양쪽 예들의 세트들에 대해, 0 과 동일한 nuh_layer_id 를 가진 픽처에 대해, 플래그는 디코더가 플래그(들) 을 무시하는 것처럼, (HEVC WD10 에 기초한 단일-계층 2D 디코더인) HEVC 버전 1 디코더에 대해 어떤 효과도 취하지 않는다.
이들 예시적인 기법들의 상세한 구현예들의 여러 예들이 아래에 설명된다. 표준에 대한 제안된 변화들은 아래에서 하이라이트되며, 여기서, 표준의 이전 버전에 대하여, 이탤릭체 텍스트는 추가부분들을 나타내며 그리고 [removed: ""] 는 삭제부분들을 나타낸다. 일반적으로, 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 은 본 개시물의 기법들을 수행하도록 구성될 수도 있다. 본 개시물은 "비디오 코더" 가 이들 기법들을 수행하는 것으로 설명한다. 용어 "비디오 코더" 는 비디오 인코더 (20) 과 같은 비디오 인코더, 또는 비디오 디코더 (30) 과 같은 비디오 디코더를 지칭할 수도 있는 것으로 이해되어야 한다. 이와 유사하게, 용어 비디오 코딩은 비디오 인코딩 및/또는 비디오 디코딩을 지칭할 수도 있다. 비디오 인코더 (20) 또는 비디오 디코더 (30) 과 같은, 비디오 코더는 본 개시물에서 설명되는 기법들 중 임의의 기법 또는 모두를 수행하도록 구성될 수도 있다. 어떤 기법들이 비디오 디코더의 관점으로부터 설명되는 경우, 비디오 인코더는 동일한 또는 유사한 (예컨대, 반대인) 기법들을 수행할 수도 있다. 이와 유사하게, 어떤 기법들이 비디오 인코더의 관점으로부터 설명되는 경우, 비디오 디코더는 동일한 또는 유사한 (예컨대, 반대인) 기법들을 수행할 수도 있다.
본 개시물의 기법들에 따른 제 1 예가 아래에 설명된다. 이 예는 아래에서 예 1 로서 지칭된다. 아래의 구문 및 의미들은, 일반적으로, HEVC WD10 에서의 대응하는 섹션들을 지칭한다. 위에서 언급한 바와 같이, 하이라이팅은 제안된 추가부분들을 나타내며 삭제선 (strikethrough) 는 제안된 삭제부분들을 나타낸다.
예 1
일반적인 슬라이스 세그먼트 헤더 구문 및 의미들이 먼저 아래에서 설명된다.
일반적인 슬라이스 세그먼트 헤더 구문
Figure pct00001
일반적인 슬라이스 세그먼트 헤더 의미들이 아래에 설명된다. 위에서 언급한 바와 같이, 이탤릭체 텍스트는 제안된 추가부분들을 나타내며 [removed: ""] 는 제안된 삭제부분들을 나타낸다. 미변경된 구문 엘리먼트들에 대한 의미들은 표준의 이전 버전에서 설명되는 의미들과 동일하게 유지할 수도 있다.
1 과 동일한 poc_msb_reset_flag 는 현재의 픽처에 대한 유도된 픽처 순서 카운트가 slice_pic_order_cnt_lsb 와 동일하다는 것을 규정한다. 0 과 동일한 poc_msb_reset_flag 는 현재의 픽처에 대한 유도된 픽처 순서 카운트가 slice_pic_order_cnt_lsb 와 동일하거나 동일하지 않을 수도 있다는 것을 규정한다.
존재할 때, poc_msb_reset_flag 의 값은, 현재의 픽처가 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처가 아니고 현재의 액세스 유닛에서의 적어도 하나의 픽처가 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처일 때 1 과 동일하여야 한다.
존재하지 않을 때, poc_msb_reset_flag 의 값은 0 과 동일한 것으로 추론된다.
1 과 동일한 poc_lsb_reset_flag 는 현재의 픽처에 대한 유도된 픽처 순서 카운트가 0 과 동일하다는 것을 규정한다. 0 과 동일한 poc_lsb_reset_flag 는 현재의 픽처에 대한 유도된 픽처 순서 카운트가 0 과 동일하거나 동일하지 않을 수도 있다는 것을 규정한다.
존재할 때, poc_lsb_reset_flag 의 값은, 현재의 픽처가 IDR 픽처가 아니고 현재의 액세스 유닛에서의 적어도 하나의 픽처가 IDR 픽처일 때, 1 과 동일해야 한다.
존재하지 않을 때, poc_lsb_reset_flag 의 값은 0 과 동일한 것으로 추론된다.
따라서, 비디오 인코더 (20) 은 poc_msb_reset_flag 를, IRAP 픽처가 아니고 그리고 IRAP 픽처를 포함하는 액세스 유닛에 있는, 예컨대, 상이한 비디오 코딩 계층에 있는 픽처에 대해 1 의 값을 갖도록 설정할 수도 있다. 이와 유사하게, 비디오 디코더 (30) 은, IRAP 픽처가 아닌 픽처에 대해 1 의 값을 수신하자 마자, 그 픽처에 대한 POC 값의 MSBs 의 값을 리셋하고, 필요에 따라서 동일한 계층 및 동일한 코딩된 비디오 시퀀스에서의 다른 픽처들의 POC 값들을 조정할 수도 있다.
일반적인 디코딩 프로세스 의미들이 아래에 설명된다. 비디오 디코더 (30) 은 아래에서 설명되는 바와 같이 비디오 데이터를 디코딩하도록 구성될 수도 있다. 비디오 인코더 (20) 은 아래에서 설명되는 프로세스와 반대 프로세스에 따라서 비디오 데이터를 인코딩하도록 구성될 수도 있다. 위에서 언급한 바와 같이, 아래의 변화들은 HEVC WD10 의 대응하는 부분들을 참조하여 이루어질 수도 있다. 이탤릭체 텍스트는 제안된 추가부분들을 나타내며 [removed: ""] 는 제안된 삭제부분들을 나타낸다.
일반적인 디코딩 프로세스
이 프로세스에의 입력은 비트스트림이다. 이 프로세스의 출력은 디코딩된 픽처들의 리스트이다.
디코딩될 NAL 유닛들의 nuh_layer_id 값들의 리스트를, nuh_layer_id 값들의 증가하는 순서로 규정하는 계층 식별자 리스트 TargetDecLayerIdList 가 다음과 같이 규정된다:
- 본 명세서에서 규정되지 않는 일부 외부 수단이 TargetDecLayerIdList 를 설정하는데 이용가능하면, TargetDecLayerIdList는 외부 수단에 의해 설정된다.
- 그렇지 않으면, 디코딩 프로세스가 하위 조항 C.1 에서 규정된 바와 같이 비트스트림 순응성 테스트에서 호출되면, TargetDecLayerIdList는 하위 조항 C.1 에서 규정된 바와 같이 설정된다.
- 그렇지 않으면, TargetDecLayerIdList 는 0 과 동일한 오직 하나의 nuh_layer_id 값만을 포함한다.
디코딩될 최고 시간 서브-계층을 식별하는 변수 HighestTid 는 다음과 같이 규정된다:
- 본 명세서에서 규정되지 않는 일부 외부 수단이 HighestTid 를 설정하는데 이용가능하면, HighestTid 는 외부 수단에 의해 설정된다.
- 그렇지 않으면, 디코딩 프로세스가 하위 조항 C.1 에 규정된 바와 같이 비트스트림 순응성 테스트에서 호출되면, HighestTid는 하위 조항 C.1 에 규정된 바와 같이 설정된다.
- 그렇지 않으면, HighestTid는 sps_max_sub_layers_minus1 과 동일하게 설정된다.
조항 10 에서 규정된 바와 같은 서브-비트스트림 추출 프로세스가 비트스트림, 즉, HighestTid, 및 TargetDecLayerIdList 에 의해 입력들로서 적용되며, 출력이 BitstreamToDecode 로서 지칭되는 비트스트림에 할당된다.
이 하위 조항의 나머지에 규정된 디코딩 프로세스들은 현재의 픽처로서 지칭되며 변수 CurrPic 로 표시되는 각각의 코딩된 픽처에, BitstreamToDecode 로 적용한다.
chroma_format_idc 의 값에 따라서, 현재의 픽처의 샘플 어레이들의 개수는 다음과 같다:
- chroma_format_idc 가 0 과 동일하면, 현재의 픽처는 1 개의 샘플 어레이 SL 로 이루어진다.
- 그렇지 않으면 (chroma_format_idc가 0 과 동일하지 않으면), 현재의 픽처는 3 개의 샘플 어레이들 SL, SCb, SCr 로 이루어진다.
현재의 픽처에 대한 디코딩 프로세스는 조항 7 로부터 구문 엘리먼트들 및 대문자 (upper-case) 변수들을 입력들로서 취한다. 각각의 NAL 유닛에서의 각각의 구문 엘리먼트의 의미들을 해석할 때, 용어 "비트스트림" (또는, 그의 일부, 예컨대, 비트스트림의 CVS) 는 BitstreamToDecode (또는, 그의 일부) 를 지칭한다.
디코딩 프로세스는 모든 디코더들이 수치적으로 동일한 크롭된 디코딩된 픽처들을 발생하도록 규정된다. 본원에서 설명되는 프로세스에 의해 (규정된 바와 같이, 올바른 출력 순서 또는 출력 타이밍으로) 발생되는 크롭된 디코딩된 픽처들과 동일한 크롭된 디코딩된 픽처들을 발생하는 임의의 디코딩 프로세스는 본 명세서의 디코딩 프로세스 요구사항들을 따른다.
현재의 픽처가 IRAP 픽처일 때, 다음이 적용된다:
- 현재의 픽처가 IDR 픽처 또는 BLA 픽처이면, 변수 NoRaslOutputFlag 는 1 과 동일하게 설정된다.
- 그렇지 않으면 (현재의 픽처가 CRA 픽처이면), 다음이 적용된다:
- 현재의 픽처가 디코딩 순서에서 비트스트림에서의 제 1 픽처 또는 디코딩 순서에서 시퀀스 NAL 유닛의 끝에 뒤따르는 제 1 픽처이면, 동일한 액세스 유닛에서의 모든 픽처들은 CRA 픽처들일 것이며, 변수 NoRaslOutputFlag 는 1 과 동일하게 설정된다.
- 그렇지 않으면, 본 명세서에 규정되지 않은 일부 외부 수단이 변수 HandleCraAsBlaFlag 를 현재의 픽처에 대한 값으로 설정하는데 이용가능하면, 변수 HandleCraAsBlaFlag 는 외부 수단에 의해 제공되는 값과 동일하게 설정되며 변수 NoRaslOutputFlag 는 HandleCraAsBlaFlag 와 동일하게 설정된다. 이 경우, 현재의 픽처에 대한 HandleCraAsBlaFlag 의 값은, 현재의 액세스 유닛에 하나의 비-CRA 픽처가 존재할 때, 1 과 동일하지 않을 것이다.
- 그렇지 않으면, 변수 HandleCraAsBlaFlag 는 0 과 동일하게 설정되며 변수 NoRaslOutputFlag 는 0 과 동일하게 설정된다.
현재의 픽처가 0 과 동일한 nuh_layer_id 를 가질 때, 하위 조항 8.1.1 에 규정된, 0 과 동일한 nuh_layer_id 를 가진 코딩된 픽처에 대한 디코딩 프로세스가 호출된다.
0 과 동일한 nuh_layer_id 를 가진 코딩된 픽처에 대한 디코딩 프로세스에 대한 의미들 (semantics) 이 아래에서 설명된다. 비디오 디코더 (30) 은 아래에서 설명되는 바와 같이 비디오 데이터를 디코딩하도록 구성될 수도 있다. 비디오 인코더 (20) 은 아래에서 설명되는 프로세스와 반대 프로세스에 따라서 비디오 데이터를 인코딩하도록 구성될 수도 있다.
0 과 동일한 nuh_layer_id 를 가진 코딩된 픽처에 대한 디코딩 프로세스
현재의 픽처가 BLA_W_LP 와 동일한 nal_unit_type 를 가지는 BLA 픽처이거나 또는 CRA 픽처일 때, 다음이 적용된다:
- 본 명세서에서 규정되지 않은 일부 외부 수단이 변수 UseAltCpbParamsFlag 를 값으로 설정하는데 이용가능하면, UseAltCpbParamsFlag 는 외부 수단에 의해 제공되는 값과 동일하게 설정된다.
- 그렇지 않으면, UseAltCpbParamsFlag 의 값은 0 과 동일하게 설정된다.
[removed: "현재의 픽처가 IRAP 픽처일 때, 다음이 적용된다:
- 특정의 nuh_layer_id 를 가진 현재의 픽처가 IDR 픽처, BLA 픽처, 디코딩 순서에서 비트스트림에서의 특정의 nuh_layer_id 를 가진 제 1 픽처, 또는 디코딩 순서에서 시퀀스 NAL 유닛의 끝에 뒤따르는 특정의 nuh_layer_id 를 가진 제 1 픽처이면, 변수 NoRaslOutputFlag 는 1 과 동일하게 설정된다.
- 그렇지 않고, 본 명세서에서 규정되지 않은 일부 외부 수단이 변수 HandleCraAsBlaFlag 를 현재의 픽처에 대한 값으로 설정하는데 이용가능하면, 변수 HandleCraAsBlaFlag 는 외부 수단에 의해 제공되는 값과 동일하게 설정되며 변수 NoRaslOutputFlag 는 HandleCraAsBlaFlag 와 동일하게 설정된다.
- 그렇지 않으면, 변수 HandleCraAsBlaFlag 는 0 과 동일하게 설정되며 변수 NoRaslOutputFlag 는 0 과 동일하게 설정된다".]
separate_colour_plane_flag 의 값에 따라서, 디코딩 프로세스는 다음과 같이 구조화된다:
- separate_colour_plane_flag 가 0 과 동일하면, 디코딩 프로세스는 출력되는 현재의 픽처에 대해 한번 호출된다.
- 그렇지 않으면 (separate_colour_plane_flag 가 1 과 동일하면), 디코딩 프로세스는 3번 호출된다. 디코딩 프로세스에의 입력들은 colour_plane_id 의 동일한 값을 가진 코딩된 픽처의 모든 NAL 유닛들이다. colour_plane_id 의 특정의 값을 가진 NAL 유닛들의 디코딩 프로세스는 마치 단지 colour_plane_id 의 그 특정한 값을 가진 단색 칼라 포맷을 갖는 CVS 만이 비트스트림에 존재하는 것처럼, 규정된다. 3개의 디코딩 프로세스들의 각각의 출력이 현재의 픽처의 3 개의 샘플 어레이들 중 하나에 할당되며, 동시에 0, 1, 및 2 와 동일한 colour_plane_id 를 가진 NAL 유닛들은 SL, SCb, 및 SCr 에 각각 할당된다.
주 - 변수 ChromaArrayType 은, separate_colour_plane_flag 가 1 과 동일하고 chroma_format_idc 가 3 과 동일할 때, 0 과 동일한 것처럼 유도된다. 디코딩 프로세스에서, 이 변수의 값은 (chroma_format_idc 가 0 과 동일할 때) 단색 픽처들의 동작과 동일한 동작들을 초래한다고 평가된다.
디코딩 프로세스는 현재의 픽처 CurrPic 에 대해 다음과 같이 동작한다:
1. NAL 유닛들의 디코딩은 하위 조항 8.2 에 규정된다.
2. 하위 조항 8.3 에서의 프로세스들은 슬라이스 세그먼트 계층 및 상부에서의 구문 엘리먼트들을 이용하여 다음 디코딩 프로세스들을 규정한다:
- 픽처 순서 카운트에 관한 변수들 및 함수들은 하위 조항 8.3.1 에서 유도된다. 이것은 단지 픽처의 제 1 슬라이스 세그먼트에 대해서만 호출되어야만 한다.
- 하위 조항 8.3.2 에서의 RPS 에 대한 디코딩 프로세스가 호출되며, 여기서, 참조 픽처들은 "참조용으로 미사용됨" 또는 "장기 참조용으로 사용됨" 으로 표시될 수도 있다. 이것은 단지 픽처의 제 1 슬라이스 세그먼트에 대해서만 호출되어야만 한다.
- 현재의 픽처가 BLA 픽처이거나 또는 1 과 동일한 NoRaslOutputFlag 를 가진 CRA 픽처일 때, 하위 조항 8.3.3 에 규정된, 이용불가능한 참조 픽처들을 발생시키는 디코딩 프로세스가 호출되며, 단지 픽처의 제 1 슬라이스 세그먼트에 대해서만 호출되어야만 한다.
- PicOutputFlag 는 다음과 같이 설정된다:
- 현재의 픽처가 RASL 픽처이고 연관된 IRAP 픽처의 NoRaslOutputFlag 가 1 과 동일하면, PicOutputFlag 는 0 과 동일하게 설정된다.
- 그렇지 않으면, PicOutputFlag 는 pic_output_flag 와 동일하게 설정된다.
- 각각의 P 또는 B 슬라이스에 대한 디코딩 프로세스의 시작 시에, 하위 조항 8.3.4 에 규정된, 참조 픽처 리스트들 구성을 위한 디코딩 프로세스가 참조 픽처 리스트 0 (RefPicList0) 및, B 슬라이스를 디코딩할 때는, 참조 픽처 리스트 1 (RefPicList1) 의 유도를 위해 호출된다.
3. 하위 조항들 8.4, 8.5, 8.6, 및 8.7 에서의 프로세스들은 모든 구문 구조 계층들에서의 구문 엘리먼트들을 이용하여 디코딩 프로세스들을 규정한다. 픽처의 코딩된 슬라이스들이 슬라이스들로의 픽처의 분할, 슬라이스 세그먼트들로의 슬라이스들의 분할, 및 코딩 트리 유닛들로의 이것은 슬라이스 세그먼트들의 분할이 픽처의 파티셔닝을 각각 형성하도록, 픽처의 모든 코딩 트리 유닛에 대한 슬라이스 세그먼트 데이터를 포함해야 한다는 비트스트림 순응성의 요구사항이다.
4. 현재의 픽처의 모든 슬라이스들이 디코딩되어진 후, 디코딩된 픽처는 "단기 참조용으로 사용됨" 으로서 표시된다.
픽처 순서 카운트에 대한 디코딩 프로세스에 대한 의미들이 아래에 설명된다.
픽처 순서 카운트에 대한 디코딩 프로세스
이 프로세스의 출력은 PicOrderCntVal, 즉, 현재의 픽처의 픽처 순서 카운트이다.
픽처 순서 카운트들은 병합 모드 및 모션 벡터 예측에서의 모션 파라미터들을 유도하기 위해 그리고 디코더 순응성 체킹을 위해 픽처들을 식별하는데 이용된다 (하위 조항 C.5 참조).
각각의 코딩된 픽처는 PicOrderCntVal 로서 표시되는, 픽처 순서 카운트 변수와 연관된다.
현재의 픽처가 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처가 아닐 때, 변수들 prevPicOrderCntLsb 및 prevPicOrderCntMsb 는 다음과 같이 유도된다:
- prevTid0Pic 가 0 과 동일한 TemporalId 및 현재의 픽처의 nuh_layer_id 와 동일한 nuh_layer_id 를 가지며 그리고 RASL 픽처, RADL 픽처, 또는 서브-계층 비-참조 픽처가 아닌 디코딩 순서에서의 이전 픽처라 하고 prevPicOrderCnt 가 prevTid0Pic 의 PicOrderCntVal 과 동일하다고 하자.
- 변수 prevPicOrderCntLsb 는 prevPicOrderCnt & ( MaxPicOrderCntLsb - 1 ) 과 동일하게 설정된다 [removed: "prevTid0Pic 의 slice_pic_order_cnt_lsb"].
- 변수 prevPicOrderCntMsb 는 prevPicOrderCnt - prevPicOrderCntLsb 와 동일하게 설정된다 [removed: "prevTid0Pic 의 PicOrderCntMsb"].
현재의 픽처의 변수 PicOrderCntMsb 는 다음과 같이 유도된다:
- 현재의 픽처가 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처이면, PicOrderCntMsb 는 0 과 동일하게 설정된다.
- 그렇지 않으면, PicOrderCntMsb 는 다음과 같이 유도된다:
Figure pct00002

PicOrderCntVal 는 다음과 같이 유도된다:
Figure pct00003
주 1 - 모든 IDR 픽처들은, slice_pic_order_cnt_lsb 가 IDR 픽처들에 대해 0 으로 추론되고 prevPicOrderCntLsb 및 prevPicOrderCntMsb 양쪽 다 0 과 동일하게 설정되므로, 0 과 동일한 PicOrderCntVal 을 가질 것이다.
poc_msb_reset_flag 가 1 과 동일할 때, DPB 내에 있고 현재의 픽처와 동일한 계층에 속하는 각각의 픽처의 PicOrderCntVal 은 PicOrderCntMsb 만큼 감분된다.
poc_lsb_reset_flag 가 1 과 동일할 때, DPB 내에 있고 현재의 픽처와 동일한 계층에 속하는 각각의 픽처의 PicOrderCntVal 은 slice_pic_order_cnt_lsb 만큼 감분된다.
PicOrderCntVal 의 값은 -231 내지 231 - 1 의 범위 이내여야 한다. 하나의 CVS 에서, 동일한 계층에서의 임의의 2개의 코딩된 픽처들에 대한 PicOrderCntVal 값들은 동일하지 않아야 한다.
함수 PicOrderCnt( picX ) 는 다음과 같이 규정된다:
PicOrderCnt( picX ) = 픽처 picX 의 PicOrderCntVal (8-3)
함수 DiffPicOrderCnt( picA, picB ) 는 다음과 같이 규정된다:
DiffPicOrderCnt( picA, picB ) = PicOrderCnt( picA ) - PicOrderCnt( picB ) (8-4)
비트스트림은 -215 내지 215 - 1 의 범위 내에 있지 않는, 디코딩 프로세스에서 사용되는 DiffPicOrderCnt( picA, picB ) 의 값들을 초래하는 데이터를 포함하지 않아야 한다.
주 2 - X 가 현재의 픽처라 하고 Y 및 Z 가 동일한 시퀀스에서의 2개의 다른 픽처들이라 하고, Y 및 Z 는 DiffPicOrderCnt( X, Y ) 및 DiffPicOrderCnt( X, Z ) 양쪽이 양이거나 또는 양쪽이 음일 때 X 로부터 동일한 출력 순서 방향인 것으로 간주된다.
참조 픽처 세트에 대한 디코딩 프로세스
이 프로세스는 하위 조항 8.3.3 에 규정된 바와 같이, 슬라이스 헤더의 디코딩 이후 그러나 임의의 코딩 유닛의 디코딩 이전에 그리고 슬라이스에 대한 참조 픽처 리스트 구성을 위한 디코딩 프로세스 이전에 픽처 당 한번 호출된다. 이 프로세스는 "참조용으로 미사용됨" 또는 "장기 참조용으로 사용됨" 으로서 표시되는, DPB 내 하나 이상의 참조 픽처들을 초래할 수도 있다.
주 1 - RPS 는 현재 그리고 미래에 코딩되는 픽처들의 디코딩 프로세스에 사용되는 참조 픽처들의 완벽한 설명이다. RPS 시그널링은 RPS 에 포함되는 모든 참조 픽처들이 명시적으로 리스트된다는 점에서 명시적이다.
DPB 에서의 디코딩된 픽처는 "참조용으로 미사용됨", "단기 참조용으로 사용됨", 또는 "장기 참조용으로 사용됨" 으로 표시되지만, 디코딩 프로세스의 동작 동안 임의의 주어진 순간에 이들 3개의 중 오직 하나만 표시될 수 있다. 이들 표시들 중 하나를 픽처에 암시적으로 (implicitly) 할당하는 것은 적용가능한 경우, 이들 표시들 중 또 다른 표시를 제거한다. 픽처가 "참조용으로 사용됨" 으로 표시되는 것으로 지칭될 때, 이것은 일괄하여 "단기 참조용으로 사용됨" 또는 "장기 참조용으로 사용됨" 으로 (그러나, 양쪽 다는 아닌 것으로) 표시되는 픽처를 지칭한다.
현재의 픽처가 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처일 때, 현재 DPB 에서의 모든 참조 픽처들 (있다면) 은 "참조용으로 미사용됨" 으로 표시된다.
단기 참조 픽처들은 그들의 PicOrderCntVal 값들에 의해 식별된다. 장기 참조 픽처들은 그들의 PicOrderCntVal 값들 또는 그들의 slice_pic_order_cnt_lsb 값들에 의해 식별된다.
픽처 순서 카운트 값들의 5개의 리스트들은 RPS 를 유도하기 위해 구성된다. 이들 5개의 리스트들은 엘리먼트들의NumPocStCurrBefore, NumPocStCurrAfter, NumPocStFoll, NumPocLtCurr, 및 NumPocLtFoll 수를 각각 갖는, PocStCurrBefore, PocStCurrAfter, PocStFoll, PocLtCurr, 및 PocLtFoll 이다. 5개의 리스트들 및 5개의 변수들은 다음과 같이 유도된다:
- 현재의 픽처가 IDR 픽처이면, PocStCurrBefore, PocStCurrAfter, PocStFoll, PocLtCurr, 및 PocLtFoll 은 모두 공백인 것으로 설정되며, NumPocStCurrBefore, NumPocStCurrAfter, NumPocStFoll, NumPocLtCurr, 및 NumPocLtFoll 은 모두 0 과 동일하게 설정된다.
- 그렇지 않으면, 다음이 적용된다:
Figure pct00004
Figure pct00005

여기서, PicOrderCntVal 은 하위 조항 8.3.1 에 규정된 바와 같이 현재의 픽처의 픽처 순서 카운트이다.
주 2 - 0내지 num_short_term_ref_pic_sets - 1 의 범위에서 CurrRpsIdx 의 값은 활성 SPS 로부터의 후보 단기 RPS 가 사용되고 있다는 것을 나타내며, 여기서, CurrRpsIdx 는 활성 SPS 로 시그널링되는 후보 단기 RPSs 의 리스트로의 후보 단기 RPS 의 인덱스이다. num_short_term_ref_pic_sets 와 동일한 CurrRpsIdx 는 현재의 픽처의 단기 RPS 가 슬라이스 헤더로 직접 시그널링된다는 것을 나타낸다.
0내지 NumPocLtCurr - 1 의 범위에서 각각의 i 에 대해, CurrDeltaPocMsbPresentFlag[ i ] 가 1 과 동일할 때, 다음 조건들이 적용되는 비트스트림 순응성의 요구사항이 존재한다:
예 2
다음 설명은 본 개시물에 따른 제 2 예를 지칭한다. 아래의 구문 및 의미들은, 일반적으로, HEVC WD10 에서의 대응하는 섹션들을 지칭한다. 위에서 언급한 바와 같이, 이탤릭체 텍스트는 제안된 추가부분들을 나타내며 [removed: ""] 는 제안된 삭제부분들을 나타낸다.
일반적인 슬라이스 세그먼트 헤더 구문 및 의미들이 먼저 아래에서 설명된다.
일반적인 슬라이스 세그먼트 헤더 구문
Figure pct00006
대안적으로, 구문은 다음과 같을 수도 있다:
Figure pct00007
일반적인 슬라이스 세그먼트 헤더 의미들이 아래에 설명된다.
일반적인 슬라이스 세그먼트 헤더 의미들
1 과 동일한 poc_reset_flag 는 현재의 픽처에 대한 유도된 픽처 순서 카운트가 0 과 동일하다는 것을 규정한다. 0 과 동일한 poc_reset_flag 는 현재의 픽처에 대한 유도된 픽처 순서 카운트가 0 과 동일하거나 또는 동일하지 않을 수도 있다는 것을 규정한다.
존재할 때, poc_reset_flag 의 값은, 현재의 픽처가 IDR 픽처가 아니고 현재의 액세스 유닛에서의 적어도 하나의 픽처가 IDR 픽처일 때, 1 과 동일해야 한다.
존재하지 않을 때, poc_reset_flag 의 값은 0 과 동일한 것으로 추론된다.
따라서, 비디오 인코더 (20) 은 poc_reset_flag 를, IRAP 픽처가 아니고 그리고 IRAP 픽처를 포함하는 액세스 유닛에 있는, 예컨대, 상이한 비디오 코딩 계층에 있는 픽처에 대해 1 의 값을 갖도록 설정한다. 이와 유사하게, 비디오 디코더 (30) 은, IRAP 픽처가 아닌 픽처에 대해 1 의 값을 수신하자 마자, 픽처의 POC 값을 리셋하고, 필요에 따라서 동일한 계층 및 동일한 코딩된 비디오 시퀀스에서의 다른 픽처들의 POC 값들을 조정할 수도 있다.
이 제 2 예에 따른 제안된 디코딩 프로세스 변화들이 아래에 설명된다.
디코딩 프로세스 변화들
슬라이스 디코딩 프로세스
8.3.1 픽처 순서 카운트에 대한 디코딩 프로세스
이 프로세스의 출력은 PicOrderCntVal, 즉, 현재의 픽처의 픽처 순서 카운트이다.
픽처 순서 카운트들은 병합 모드 및 모션 벡터 예측에서의 모션 파라미터들을 유도하기 위해 그리고 디코더 순응성 체킹을 위해 픽처들을 식별하는데 이용된다 (하위 조항 C.5 참조).
각각의 코딩된 픽처는 PicOrderCntVal 로서 표시되는, 픽처 순서 카운트 변수와 연관된다.
현재의 픽처가 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처가 아닐 때, 변수들 prevPicOrderCntLsb 및 prevPicOrderCntMsb 는 다음과 같이 유도된다:
- prevTid0Pic 가 0 과 동일한 TemporalId 및 현재의 픽처의 nuh_layer_id 와 동일한 nuh_layer_id 를 가지며 그리고 RASL 픽처, RADL 픽처, 또는 서브-계층 비-참조 픽처가 아닌 디코딩 순서에서의 이전 픽처라 하고 prevPicOrderCnt 가 prevTid0Pic 의 PicOrderCntVal 과 동일하다고 하자.
- 변수 prevPicOrderCntLsb 는 prevPicOrderCnt & ( MaxPicOrderCntLsb - 1 ) 과 동일하게 설정된다 [removed: "prevTid0Pic 의 slice_pic_order_cnt_lsb"].
- 변수 prevPicOrderCntMsb 는 prevPicOrderCnt - prevPicOrderCntLsb 와 동일하게 설정된다 [removed: "prevTid0Pic 의 PicOrderCntMsb"].
현재의 픽처의 변수 PicOrderCntMsb 는 다음과 같이 유도된다:
- 현재의 픽처가 1 과 동일한 NoRaslOutputFlag 를 가진 IRAP 픽처이면, PicOrderCntMsb 는 0 과 동일하게 설정된다.
- 그렇지 않으면, PicOrderCntMsb 는 다음과 같이 유도된다:
Figure pct00008
PicOrderCntVal 는 다음과 같이 유도된다:
PicOrderCntVal = PicOrderCntMsb + slice_pic_order_cnt_lsb (8-2)
주 1 - 모든 IDR 픽처들은, slice_pic_order_cnt_lsb 가 IDR 픽처들에 대해 0 으로 추론되고 prevPicOrderCntLsb 및 prevPicOrderCntMsb 양쪽 다 0 과 동일하게 설정되므로, 0 과 동일한 PicOrderCntVal 을 가질 것이다.
poc_reset_flag 가 1 과 동일할 때, 다음이 순서대로 적용된다:
- DPB 내에 있고 현재의 픽처와 동일한 계층에 속하는 각각의 픽처의 PicOrderCntVal 은 PicOrderCntVal 만큼 감분된다.
- PicOrderCntVal 은 0 으로 설정된다.
PicOrderCntVal 의 값은 -231 내지 231 - 1 의 범위 이내여야 한다. 하나의 CVS 에서, 동일한 계층에서의 임의의 2개의 코딩된 픽처들에 대한 PicOrderCntVal 값들은 동일하지 않아야 한다.
함수 PicOrderCnt( picX ) 는 다음과 같이 규정된다:
PicOrderCnt( picX ) = 픽처 picX 의 PicOrderCntVal (8-3)
함수 DiffPicOrderCnt( picA, picB ) 는 다음과 같이 규정된다:
DiffPicOrderCnt( picA, picB ) = PicOrderCnt( picA ) - PicOrderCnt( picB ) (8-4)
비트스트림은 -215 내지 215 - 1 의 범위 내에 있지 않는, 디코딩 프로세스에서 사용되는 DiffPicOrderCnt( picA, picB ) 의 값들을 초래하는 데이터를 포함하지 않아야 한다.
주 2 - X 가 현재의 픽처라 하고 Y 및 Z 가 동일한 시퀀스에서의 2개의 다른 픽처들이라 하고, Y 및 Z 는 DiffPicOrderCnt( X, Y ) 및 DiffPicOrderCnt( X, Z ) 양쪽이 양이거나 또는 양쪽이 음일 때 X 로부터 동일한 출력 순서 방향인 것으로 간주된다.
이 예에서 참조 픽처 세트에 대한 디코딩 프로세스는 예 1 에 대해 설명된 것과 동일할 수도 있다.
이러한 방법으로, 비디오 인코더 (20) 은 픽처에 대한 POC 값의 적어도 일부가 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값 (예컨대, poc_msb_reset_flag 또는 poc_reset_flag) 를 설정하도록 구성될 수도 있다. 위에서 설명한 바와 같이, 비디오 인코더 (20) 은 픽처가 적어도 하나의 IRAP 픽처를 포함하는 액세스 유닛에 포함될 때 POC 값이 리셋되어야 한다는 것을 나타내기 위해 구문 엘리먼트에 대한 값을 설정하도록 구성될 수도 있다. 비디오 디코더 (30) 는, 이와 유사하게, 그 픽처의 POC 값의 적어도 일부 (또는, 전체 POC 값) 을 리셋할지 여부를 구문 엘리먼트의 값으로부터 결정할 수도 있다. 예를 들어, 구문 엘리먼트가 poc_msb_reset_flag 인 경우, 비디오 디코더 (30) 은 픽처의 POC 값의 MSBs 를 리셋할 수도 있다. 구문 엘리먼트가 poc_reset_flag 일 때, 비디오 디코더 (30) 은 픽처의 전체 POC 값을 리셋할 수도 있다.
게다가, 비디오 인코더 (20) 및 비디오 디코더 (30) 은 조정될 POC 값에 대한 POC 값들 사이의 차이들이 리셋 전후에 일정하게 유지하도록, 동일한 계층에서의 그리고 동일한 코딩된 비디오 시퀀스 (CVS) 에서의 다른 픽처들의 POC 값들을 조정할 수도 있다. 이러한 방법으로, 비디오 인코더 (20) 이 인터-계층 예측을 이용하여 픽처의 블록을 인코딩할 때, 그 블록은 N 의 POC 값을 이용하여 참조 픽처를 식별할 수 있으며, 여기서, (위에서 설명한 POC 조정 후) 픽처는 N 의 POC 값을 갖는다. 즉, 그 조정에 뒤이어서, 액세스 유닛에서의 각각의 픽처는 동일한 POC 값을 가질 것이다.
더욱이, 비디오 디코더 (30) 은 액세스 유닛들의 경계들을 검출하도록 구성될 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 임의의 이들의 조합들과 같은, 다양한 적합한 인코더 회로 중 임의의 회로로 구현될 수도 있다. 이 기법들이 소프트웨어로 부분적으로 구현되는 경우, 디바이스는 본 개시물의 기법들을 수행하기 위해 소프트웨어용 명령들을 적합한 비일시성 컴퓨터-판독가능 매체에 저장하고, 그 명령들을 하드웨어에서 하나 이상의 프로세서들을 이용하여 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있으며, 이들 중 어느 쪽이든 각각 디바이스에서 결합된 인코더/디코더 (CODEC) 의 부분으로서 통합될 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 일반적으로, 위에서 설명한 바와 같은, HEVC WD10, MV-HEVC WD3, 및/또는 SHVC WD1 에 순응하여, 또는 본 개시물에서 설명하는 기법들이 유용할 수도 있는 다른 유사한 표준들 또는 확장판들에 순응하여, 동작할 수도 있다. HEVC 표준은 예컨대, ITU-T H.264/AVC 에 따른 기존 디바이스들에 관련된 비디오 코딩 디바이스들의 여러 추가적인 능력들을 규정한다. 예를 들어, H.264 는 9개의 인트라-예측 인코딩 모드들을 제공하는 반면, HEVC 표준은 33개 만큼이나 많은 인트라-예측 인코딩 모드들을 제공할 수도 있다.
일반적으로, 비디오 프레임 또는 픽처가 루마 샘플 및 크로마 샘플들 양쪽을 포함하는 트리블록들 또는 최대 코딩 유닛들 (LCU) 의 시퀀스로 분할될 수도 있다. HEVC 코딩 프로세서에서의 트리블록은 H.264 표준의 매크로블록과 유사한 목적을 갖는다. 슬라이스는 코딩 순서에서 다수의 연속되는 트리블록들을 포함한다. 비디오 프레임 또는 픽처는 하나 이상의 슬라이스들로 파티셔닝될 수도 있다. 각각의 트리블록은 쿼드트리에 따라 코딩 유닛들 (CU들) 로 분할될 수도 있다. 예를 들어, 트리블록은, 쿼드트리의 루트 노드 처럼, 4개의 자식 노드들로 분할될 수도 있으며, 각각의 자식 노드는 결국 부모 노드일 수도 있으며 또 다른 4개의 자식 노드들로 분할될 수도 있다. 쿼드트리의 리프 노드와 같은, 최종, 미분할된 자식 노드는 코딩 노드, 즉, 코딩된 비디오 블록을 포함한다. 코딩된 비트스트림과 연관되는 구문 데이터는 최대 횟수를 정의할 수도 있으며 트리블록이 분할될 수도 있으며, 또한 코딩 노드들의 최소 사이즈를 정의할 수도 있다.
CU 는 코딩 노드, 및 이 코딩 노드와 연관되는 변환 유닛들 (TU들) 및 예측 유닛들 (PU들) 를 포함한다. CU 의 사이즈는 코딩 노드의 사이즈에 대응하며 정사각형 형태이어야 한다. CU 의 사이즈는 8x8 픽셀들로부터 64x64 픽셀들 이상의 최대치를 갖는 트리블록의 사이즈까지 이를 수도 있다. 각각의 CU 는 하나 이상의 PUs 및 하나 이상의 TUs 를 포함할 수도 있다. CU 와 연관되는 구문 데이터는 예를 들어, 하나 이상의 PUs 로의 CU 의 파티셔닝을 기술할 수도 있다. 파티셔닝 모드들은 CU 가 스킵되는지 또는 직접 모드 인코딩될지, 인트라-예측 모드 인코딩될지, 또는 인터-예측 모드 인코딩될지 여부의 사이에 상이할 수도 있다. PUs 는 비-정사각형의 형태로 파티셔닝될 수도 있다. CU 와 연관되는 구문 데이터는 또한 예를 들어, 쿼드트리에 따른 하나 이상의 TUs 로의 CU 의 파티셔닝을 기술할 수도 있다. TU 는 정사각형 또는 비-정사각형의 형태일 수 있다.
HEVC 표준은 TUs 에 따라서 변환들을 허용하며, 이 TUs 는 상이한 CUs 에 대해 상이할 수도 있다. TUs 는 일반적으로 파티셔닝된 LCU 에 대해 정의된 주어진 CU 내 PUs 의 사이즈에 기초하여 사이징되지만, 이것이 항상 그런 것은 아니다. TUs 는 일반적으로 PUs 와 동일한 사이즈이거나 또는 그보다 작다. 일부 예들에서, CU 에 대응하는 잔차 샘플들은 "잔차 쿼드 트리" (RQT) 로서 알려진 쿼드트리 구조를 이용하여 더 작은 유닛들로 세분될 수도 있다. RQT 의 리프 노드들은 변환 유닛들 (TU들) 로서 지칭될 수도 있다. TUs 와 연관되는 픽셀 차이 값들은 변환 계수들을 발생하기 위해 변환될 수도 있으며, 그 변환 계수들은 양자화될 수도 있다.
일반적으로, PU 는 예측 프로세스에 관련되는 데이터를 포함한다. 예를 들어, PU 가 인트라-모드 인코딩될 때, PU 는 그 PU 에 대한 인트라-예측 모드를 기술하는 데이터를 포함할 수도 있다. 또 다른 예로서, PU 가 인터-모드 인코딩될 때, PU 는 그 PU 에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. PU 에 대한 모션 벡터를 정의하는 데이터는 예를 들어, 모션 벡터의 수평 성분, 모션 벡터의 수직 성분, 모션 벡터에 대한 해상도 (예컨대, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가리키는 참조 픽처, 및/또는 모션 벡터에 대한 참조 픽처 리스트 (예컨대, 리스트 0, 또는 리스트 1) 을 기술할 수도 있다.
일반적으로, TU 는 변환 및 양자화 프로세스들에 사용된다. 하나 이상의 PUs 를 갖는 주어진 CU 는 또한 하나 이상의 변환 유닛들 (TU들) 를 포함할 수도 있다. 예측 이후, 비디오 인코더 (20) 은 PU 에 대응하는 잔차 값들을 계산할 수도 있다. 잔차 값들은 엔트로피 코딩을 위한 직렬화된 변환 계수들을 발생하기 위해 변환 계수들로 변환되고, 양자화되고, 그리고 TUs 를 이용하여 스캐닝될 수도 있는 픽셀 차이 값들을 포함한다. 본 개시물은 일반적으로 CU 의 코딩 노드를 지칭하기 위해 용어 "비디오 블록" 을 사용한다. 일부 특정의 경우들에서, 본 개시물은 또한 트리블록, 즉, LCU, 또는 코딩 노드 및 PUs 및 TUs 를 포함하는 CU 를 지칭하기 위해 용어 "비디오 블록" 을 이용할 수도 있다.
예를 들어, HEVC 표준에 따른 비디오 코딩에 대해, 비디오 프레임은 코딩 유닛들 (CU들), 예측 유닛들 (PU들), 및 변환 유닛들 (TU들) 로 파티셔닝될 수도 있다. CU 는 일반적으로 여러 코딩 툴들이 비디오 압축을 위해 제공되는 기본적인 유닛으로서 역할을 하는 이미지 영역을 지칭한다. CU 는 정사각형 기하학적 구조를 일반적으로 가지며, 예를 들어, ITU-T H.264 와 같은, 다른 비디오 코딩 표준들 하에서의 소위 "매크로블록" 과 유사한 것으로 간주될 수도 있다.
더 나은 코딩 효율을 얻기 위해, CU 는 포함하는 비디오 데이터에 따라서, 변하는 사이즈를 가질 수도 있다. 즉, CU 는 더 작은 블록들, 또는 서브-CUs 로 파티셔닝되거나 또는 "분할될" 수도 있으며, 그 서브-CUs 의 각각은 또한 CU 로서 지칭될 수도 있다. 게다가, 서브-CUs 로 분할되지 않는 각각의 CU 는 CU 의 예측 및 변환의 목적들을 위해 하나 이상의 PUs 및 TUs 로 각각 추가로 파티셔닝될 수도 있다.
PUs 는 H.264 와 같은, 다른 비디오 코딩 표준들 하에서의 소위 블록의 파티션들과 유사한 것으로 간주될 수도 있다. PUs 는 "잔차" 계수들을 발생하기 위해 블록에 대해 어느 예측이 수행되는지에 기초한다. CU 의 잔차 계수들은 CU 의 비디오 데이터와 CU 의 하나 이상의 PUs 를 이용하여 결정되는 CU 에 대한 예측된 데이터 사이의 차이를 나타낸다. 구체적으로 설명하면, 하나 이상의 PUs 는 어떻게 CU 가 예측의 목적을 위해 파티셔닝되는지, 그리고 어느 예측 모드가 CU 의 각각의 파티션 내에 포함되는 비디오 데이터를 예측하는데 사용되는지를 규정한다.
CU 의 하나 이상의 TUs 는 CU 에 대한 잔차 변환 계수들의 블록을 발생하기 위해 어느 변환이 블록에 적용되는지에 기초하여, CU 의 잔차 계수들의 블록의 파티션들을 규정한다. 하나 이상의 TUs 는 또한 적용되는 변환의 유형과 연관될 수도 있다. 변환은 잔차 계수들을 픽셀, 또는 공간 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 변환한다. 게다가, 하나 이상의 TUs 는 양자화된 잔차 변환 계수들의 블록을 발생하기 위해 어느 양자화가 잔차 변환 계수들의 최종 블록에 적용되는지에 기초하여 파라미터들을 규정할 수도 있다. 잔차 변환 계수들은 계수들을 나타내는데 사용되는 데이터의 양을 가능한한 감소시키기 위해 양자화될 수도 있다.
CU 는 일반적으로 Y 로 표시되는 하나의 휘도 성분, 및 U 및 V 로 표시되는 2개의 색차 성분들을 포함한다. 다시 말해서, 서브-CUs 로 추가로 분할되지 않는 주어진 CU 는 앞에서 설명한 바와 같이, CU 의 예측 및 변환의 목적들을 위해 하나 이상의 PUs 및 TUs 로 추가로 각각 파티셔닝될 수도 있는, Y, U, 및 V 성분들을 포함할 수도 있다. 예를 들어, 비디오 샘플링 포맷에 따라서, 다수의 샘플들의 관점에서, U 및 V 성분들의 사이즈는 Y 성분의 사이즈와 동일하거나 또는 상이할 수도 있다. 이와 같이, 예측, 변환, 및 양자화에 대해 위에서 설명된 기법들은 주어진 CU 의 Y, U, 및 V 성분들의 각각에 대해 수행될 수도 있다.
CU 를 인코딩하기 위해, CU 에 대한 하나 이상의 예측자들이 CU 의 하나 이상의 PUs 에 기초하여 먼저 유도된다. 예측자는 CU 에 대한 예측된 데이터를 포함하는 참조 블록이며, 앞에서 설명한 바와 같이, CU 에 대한 대응하는 PU 에 기초하여 유도된다. 예를 들어, PU 는 예측된 데이터가 결정되어야 하는 CU 의 파티션, 및 예측된 데이터를 결정하는데 사용되는 예측 모드를 나타낸다. 예측자는 인트라- (I) 예측 (즉, 공간 예측) 또는 인터- (P 또는 B) 예측 (즉, 시간 예측) 모드들을 통해서 유도될 수 있다. 그러므로, 일부 CUs 는 동일한 프레임에서의, 이웃하는 참조 블록들, 또는 CUs 에 대해 공간 예측을 이용하여 인트라- (I) 코딩될 수도 있으며, 반면 다른 CUs 는 다른 프레임들에서의, 참조 블록들, 또는 CUs 에 대해 인터-(P 또는 B) 코딩될 수도 있다.
CU 의 하나 이상의 PUs 에 기초한 하나 이상의 예측자들의 식별 시, 하나 이상의 PUs 에 대응하는 CU 의 원래 비디오 데이터와 하나 이상의 예측자들에 포함되는 CU 에 대한 예측된 데이터 사이의 차이가 계산된다. 예측 잔차로서 또한 지칭되는, 이 차이는, 잔차 계수들을 포함하며, 앞에서 설명한 바와 같이, 하나 이상의 PUs 및 하나 이상의 예측자들에 의해 규정되는 CU 의 부분들 사이의 픽셀 차이들을 지칭한다. 잔차 계수들은 일반적으로 CU 의 하나 이상의 PUs 에 대응하는 2차원 (2-D) 어레이로 배열된다.
추가적인 압축을 달성하기 위해, 예측 잔차는 예컨대, 이산 코사인 변환 (DCT), 정수 변환, Karhunen-Loeve (K-L) 변환, 또는 또 다른 변환을 이용하여 일반적으로 변환된다. 변환은 앞에서 또한 설명된 바와 같이, 공간 도메인에서의 예측 잔차, 즉, 잔차 계수들을, 변환 도메인, 예컨대, 주파수 도메인에서의 잔차 변환 계수들로 변환한다. 변환 계수들은 또한 일반적으로 CU 의 하나 이상의 TUs 에 대응하는 2-D 어레이로 배열된다. 추가적인 압축을 위해, 잔차 변환 계수들은 앞에서 또한 설명된 바와 같이, 계수들을 나타내는데 사용되는 데이터의 양을 가능한한 감소시키기 위해 양자화될 수도 있다.
더욱 추가적인 압축을 달성하기 위해, 엔트로피 코더는 그 후 컨텍스트 적응 2진 산술 코딩 (CABAC), 컨텍스트 적응 가변 길이 코딩 (CAVLC), 확률 간격 파티셔닝 엔트로피 코딩 (PIPE), 또는 또 다른 엔트로피 코딩 방법론을 이용하여, 최종 잔차 변환 계수들을 인코딩한다. 엔트로피 코딩은 다른 CUs 에 대한, 계수들로 표현되는, 그 CU 의 비디오 데이터에 고유한 통계적 리던던시를 감소시키거나 또는 제거함으로써, 이 추가적인 압축을 달성할 수도 있다.
비디오 시퀀스는 일반적으로 비디오 프레임들 또는 픽처들의 시리즈를 포함한다. 픽처들의 그룹 (GOP) 는 일반적으로 비디오 픽처들의 하나 이상의 시리즈를 포함한다. GOP 는 GOP 의 헤더, 픽처들의 하나 이상의 헤더, 또는 다른 곳에, GOP 에 포함된 다수의 픽처들을 기술하는 구문 데이터를 포함할 수도 있다. 픽처의 각각의 슬라이스는 각각의 슬라이스에 대한 인코딩 모드를 기술하는 슬라이스 구문 데이터를 포함할 수도 있다. 비디오 인코더 (20) 은 일반적으로 비디오 데이터를 인코딩하기 위해 개개의 비디오 슬라이스들 내 비디오 블록들에 대해 동작한다. 비디오 블록은 CU 내 코딩 노드에 대응할 수도 있다. 비디오 블록들은 고정 또는 가변 사이즈들을 가질 수도 있으며, 규정된 코딩 표준에 따라서 사이즈가 상이할 수도 있다.
일 예로서, HEVC 는 여러 PU 사이즈들에서 예측을 지원한다. 특정의 CU 의 사이즈가 2Nx2N 이라고 가정하면, HEVC 는 2Nx2N 또는 NxN 의 PU 사이즈들에서는 인트라-예측을, 그리고 2Nx2N, 2NxN, Nx2N, 또는 NxN 의 대칭적인 PU 사이즈들에서는 인터-예측을 지원한다. HEVC 는 또한 2NxnU, 2NxnD, nLx2N, 및 nRx2N 의 PU 사이즈들에서 인터-예측에 대해 비대칭적인 파티셔닝을 지원한다. 비대칭적인 파티셔닝에서, CU 의 하나의 방향은 파티셔닝되지 않지만, 다른 방향은 25% 및 75% 로 파티셔닝된다. 25% 파티션에 대응하는 CU 의 부분은 "상부 (Up)", "하부 (Down)", "좌측 (Left)", 또는 "우측 (Right)" 의 표시가 뒤따르는 "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 의 PUs 를 이용한 인트라-예측 또는 인터-예측 코딩 이후, 비디오 인코더 (20) 은 CU 의 TUs 에 대한 잔차 데이터를 계산할 수도 있다. PUs 는 공간 도메인 (또한, 픽셀 도메인으로 지칭됨) 에서 픽셀 데이터를 포함할 수도 있으며, TUs 는 이산 코사인 변환 (DCT), 정수 변환, 웨이블릿 변환, 또는 잔차 비디오 데이터에 개념적으로 유사한 변환과 같은 변환의 적용 이후 변환 도메인에서 계수들을 포함할 수도 있다. 잔차 데이터는 미인코딩된 픽처의 픽셀들과 PUs 에 대응하는 예측 값들 사이의 픽셀 차이들에 대응할 수도 있다. 비디오 인코더 (20) 은 CU 에 대한 잔차 데이터를 포함하는 TUs 를 형성하고, 그후 그 TUs 를 변환하여, 그 CU 에 대한 변환 계수들을 발생할 수도 있다.
변환 계수들을 발생하는 임의의 변환들 이후, 비디오 인코더 (20) 은 변환 계수들의 양자화를 수행할 수도 있다. 양자화는 일반적으로 계수들을 나타내는데 사용되는 데이터의 양을 가능한 한 감축하기 위해 변환 계수들이 양자화되는 프로세스를 지칭하며, 추가적인 압축을 제공한다. 양자화 프로세스는 그 계수들의 일부 또는 모두와 연관되는 비트 심도를 감소시킬 수도 있다. 예를 들어, n-비트 값은 양자화 동안 m-비트 값까지 절사될 수도 있으며, 여기서, n 은 m 보다 더 크다.
일부 예들에서, 비디오 인코더 (20) 은 엔트로피 인코딩될 수 있는 직렬화된 벡터를 발생하기 위해, 미리 정의된 스캐닝 순서를 이용하여, 양자화된 변환 계수들을 스캐닝할 수도 있다. 다른 예들에서, 비디오 인코더 (20) 은 적응적 스캐닝을 수행할 수도 있다. 양자화된 변환 계수들을 스캐닝하여 1차원 벡터를 형성한 후, 비디오 인코더 (20) 은 1차원 벡터를, 예컨대, 컨텍스트 적응 가변 길이 코딩 (CAVLC), 컨텍스트 적응 2진 산술 코딩 (CABAC), 구문-기반 컨텍스트-적응 2진 산술 코딩 (SBAC), 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩 또는 또 다른 엔트로피 인코딩 방법론에 따라서, 엔트로피 인코딩할 수도 있다. 비디오 인코더 (20) 은 또한 비디오 데이터를 디코딩할 때에 비디오 디코더 (30) 에 의해 사용하기 위한 인코딩된 비디오 데이터와 연관되는 구문 엘리먼트들을 엔트로피 인코딩할 수도 있다.
CABAC 를 수행하기 위해, 비디오 인코더 (20) 은 컨텍스트 모델 내 컨텍스트를 송신되는 심볼에 할당할 수도 있다. 컨텍스트는 예를 들어, 심볼의 이웃하는 값들이 비-제로인지 여부에 관련될 수도 있다. CAVLC 를 수행하기 위해, 비디오 인코더 (20) 은 송신되는 심볼에 대해 가변 길이 코드를 선택할 수도 있다. VLC 에서의 코드워드들은 상대적으로 더 짧은 코드들이 더 가능성 있는 심볼들에 대응하지만, 더 긴 코드들이 덜 가능성 있는 심볼들에 대응하도록, 구성될 수도 있다. 이와 같이, VLC 의 사용은 예를 들어, 송신되는 각각의 심볼에 대해 동일-길이 코드워드들을 사용하는 것을 넘어서 비트 절감을 달성할 수도 있다. 확률 결정은 그 심볼에 할당된 컨텍스트에 기초할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 은 본 개시물의 예시적인 기법들을 구현하도록 구성될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 은 비디오 코더로서 일반적으로 지칭될 수도 있다.
예를 들어, 비디오 디코더 (30) 은 현재의 픽처의 픽처 순서 카운트 (POC) 값이 현재의 픽처의 POC 값의 최하위 비트들 (LSB들) 의 세트와 동일하게 리셋되는지 여부를 규정하는 제 1 구문 엘리먼트를 수신하고; 현재의 픽처의 POC 값이 현재의 픽처의 POC 값의 LSB들 의 세트와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 현재의 픽처의 POC 값과 동일한 계층에서의 픽처들 중 임의의 픽처의 POC 값 사이의 차이가 현재의 픽처의 POC 값이 리셋되기 전과 동일하게 유지하도록 현재의 픽처와 동일한 코딩 계층에서의 다른 픽처들의 POC 값들을 감분하고; 그리고 그 감분된 POC 값들을 이용하여 현재의 픽처 및 다른 픽처들 중 적어도 일부를 디코딩하도록 구성될 수도 있다. 다른 픽처들은 단기 참조 픽처들 및 장기 참조 픽처들을 포함할 수도 있으며, 비디오 디코더 (30) 은 단기 참조 픽처들에 대해 그리고 장기 참조 픽처들에 대해 POC 값들을 감분할 수도 있다.
현재의 픽처의 POC 값이 POC 값 LSB들의 세트와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 비디오 디코더 (30) 은 현재의 픽처의 POC 값과 DPB 내 픽처들 중 임의의 픽처의 POC 값 사이의 차이가 현재의 픽처의 POC 값이 리셋되기 전과 동일하게 유지하도록, 디코딩 픽처 버퍼 (DPB) 에서의 다른 픽처들의 POC 값들을 감분할 수도 있다.
현재의 픽처의 POC 값이 현재의 픽처의 POC 값의 LSB들의 세트와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 현재의 픽처의 POC 값의 최상위 비트들 (MSB's) 는 제로로 리셋된다. 일 예에서, 현재의 픽처의 POC 값의 LSB들와 MSB들은 상호간에 배타적이다.
일부 예들에서, 비디오 디코더 (30) 은 현재의 픽처의 POC 값의 LSB들이 제로로 설정되는지 여부를 규정하는 제 2 구문 엘리먼트를 수신할 수도 있다. 제 1 및/또는 제 2 구문 엘리먼트는 각각 플래그일 수도 있으며, 구문 엘리먼트들 중 하나 또는 양자는 슬라이스 헤더로 수신될 수도 있다. 현재의 픽처는 IDR, CRA 또는 BLA 픽처 중 하나를 포함할 수도 있다.
또 다른 예에서, 비디오 디코더 (30) 은 현재의 픽처의 픽처 순서 카운트 (POC) 값이 제로와 동일하게 리셋되는지 여부를 규정하는 제 1 구문 엘리먼트를 수신하고, 현재의 픽처의 POC 값이 제로와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 현재의 픽처가 계층 0 보다 큰 계층에 있으면, 현재의 픽처를 제로와 동일하게 리셋하고, 그리고 리셋된 POC 값을 이용하여 현재의 픽처를 디코딩하도록 구성될 수도 있다.
일 예에서, 현재의 픽처는 비-IDR 픽처이다. 구문 엘리먼트는 idr_au_present_flag 와 같은, 플래그를 포함할 수도 있다. 구문 엘리먼트는 슬라이스 헤더로 수신될 수도 있다. 현재의 픽처가 IDR 픽처일 때, 구문 엘리먼트는 현재의 픽처의 POC 값이 제로와 동일하게 리셋된다고 항상 규정한다.
비디오 인코더 (20) 은 또한 본 개시물의 예들에 따른 방법들을 수행하도록 구성될 수도 있다. 예를 들어, 비디오 인코더 (20) 은 현재의 픽처의 픽처 순서 카운트 (POC) 값이 현재의 픽처의 POC 값의 최하위 비트들 (LSB들) 의 세트와 동일하게 리셋되는지 여부를 규정하는 제 1 구문 엘리먼트를 발생시키고, 현재의 픽처의 POC 값이 현재의 픽처의 POC 값의 LSB들의 세트와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 현재의 픽처의 POC 값과 동일한 계층에서의 픽처들 중 임의의 픽처의 POC 값 사이의 차이가 현재의 픽처의 POC 값이 리셋되기 전과 동일하게 유지하도록 현재의 픽처와 동일한 코딩 계층에서의 다른 픽처들의 POC 값들을 감분하고, 그리고 감분된 POC 값들을 이용하여 현재의 픽처 및 다른 픽처들 중 적어도 일부를 인코딩하도록 구성될 수도 있다.
현재의 픽처의 POC 값이 POC 값 LSB들의 세트와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 비디오 인코더 (20) 은 현재의 픽처의 POC 값과 DPB 내 픽처들 중 임의의 픽처의 POC 값 사이의 차이가 현재의 픽처의 POC 값이 리셋되기 전과 동일하게 유지하도록, 디코딩 픽처 버퍼 (DPB) 에서의 다른 픽처들의 POC 값들을 감분할 수도 있다.
현재의 픽처의 POC 값이 현재의 픽처의 POC 값의 LSB들의 세트와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 현재의 픽처의 POC 값의 최상위 비트들 (MSB들) 은 제로로 리셋된다. 일 예에서, 현재의 픽처의 POC 값의 LSB들와 MSB들은 상호간에 배타적이다.
비디오 인코더 (20) 은 현재의 픽처의 POC 값의 LSB들이 제로로 설정되는지 여부를 규정하는 제 2 구문 엘리먼트를 발생시킬 수도 있다. 제 1 및/또는 제 2 구문 엘리먼트는 각각 플래그일 수도 있으며, 구문 엘리먼트들 중 하나 또는 양자는 슬라이스 헤더로 수신될 수도 있다. 현재의 픽처는 IDR, CRA 또는 BLA 픽처 중 하나를 포함할 수도 있다.
또 다른 예에서, 비디오 인코더 (20) 은 현재의 픽처의 픽처 순서 카운트 (POC) 값이 제로와 동일하게 리셋되는지 여부를 규정하는 제 1 구문 엘리먼트를 발생시키고, 현재의 픽처의 POC 값이 제로와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 현재의 픽처가 계층 0 보다 큰 계층에 있으면, 현재의 픽처를 제로와 동일하게 리셋하고, 그리고 리셋된 POC 값을 이용하여 현재의 픽처를 인코딩하도록 구성될 수도 있다. 현재의 픽처는 비-IDR 픽처일 수도 있다. 구문 엘리먼트는 idr_au_present_flag 와 같은 플래그를 포함할 수도 있으며, 그 플래그는 슬라이스 헤더로 시그널링될 수도 있다. 픽처가 IDR 픽처일 때, 구문 엘리먼트는 현재의 픽처의 POC 값이 제로와 동일하게 리셋된다고 항상 규정한다.
도 2 는 본 개시물에서 설명하는 기법들을 구현할 수도 있는 예시적인 비디오 인코더 (20) 을 예시하는 블록도이다. 비디오 인코더 (20) 은 비디오 슬라이스들 내 비디오 블록들의 인트라-코딩 및 인터-코딩을 수행할 수도 있다. 인트라 코딩은 주어진 비디오 프레임 또는 픽처 내 비디오에서 공간 리던던시를 감소시키거나 또는 제거하기 위해, 공간 예측에 의존한다. 인터-코딩은 비디오 시퀀스의 인접 프레임들 또는 픽처들 내 비디오에서 시간 리던던시를 감소시키거나 또는 제거하기 위해, 시간 예측에 의존한다. 인트라-모드 (I 모드) 는 여러 공간 기반의 압축 모드들 중 임의의 압축 모드를 지칭할 수도 있다. 단방향 예측 (P 모드) 또는 양방향-예측 (B 모드) 과 같은 인터-모드들은 여러 시간-기반의 압축 모드들 중 임의의 모드를 지칭할 수도 있다.
도 2 의 예에서, 비디오 인코더 (20) 은 파티셔닝 유닛 (40), 예측 프로세싱 유닛 (42), 참조 픽처 메모리 (64), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 프로세싱 유닛 (54), 및 엔트로피 인코딩 유닛 (56) 을 포함한다. 예측 프로세싱 유닛 (42) 는 모션 추정 유닛 (44), 모션 보상 유닛 (46), 및 인트라 예측 프로세싱 유닛 (48) 을 포함한다. 비디오 블록 재구성을 위해, 비디오 인코더 (20) 은 또한 역양자화 프로세싱 유닛 (58), 역변환 프로세싱 유닛 (60), 및 합산기 (62) 를 포함한다. 디블록킹 필터 (도 2 에 미도시) 가 또한 블록 경계들을 필터링하여 재구성된 비디오로부터 블록킹 현상 아티팩트들을 제거하기 위해 포함될 수도 있다. 원할 경우, 디블록킹 필터는 일반적으로 합산기 (62) 의 출력을 필터링할 것이다. 추가적인 루프 필터들 (인 루프 또는 사후 루프) 이 또한 디블록킹 필터에 추가하여 사용될 수도 있다.
여러 예들에서, 비디오 인코더 (20) 의 유닛은 본 개시물의 기법들을 수행하는 일을 부과받을 수도 있다. 또한, 일부 예들에서, 본 개시물의 기법들은 비디오 인코더 (20) 의 유닛들 중 하나 이상의 사이에 분할될 수도 있다.
도 2 에 나타낸 바와 같이, 비디오 인코더 (20) 은 비디오 데이터를 수신하고, 파티셔닝 유닛 (40) 은 데이터를 비디오 블록들로 파티셔닝한다. 이 파티셔닝은 또한 슬라이스들, 타일들, 또는 다른 더 큰 유닛들 뿐만 아니라, 예컨대, LCUs 및 CUs 의 쿼드트리 구조에 따라서 파티셔닝하는 비디오 블록으로 파티셔닝하는 것을 포함할 수도 있다. 비디오 인코더 (20) 은 인코딩되는 비디오 슬라이스 내 비디오 블록들을 인코딩하는 구성요소들을 일반적으로 예시한다. 슬라이스는 다수의 비디오 블록들로 (그리고, 아마도, 타일들로서 지칭되는 비디오 블록들의 세트들로) 분할될 수도 있다. 예측 프로세싱 유닛 (42) 는 에러 결과들 (예컨대, 코딩 레이트 및 왜곡의 레벨) 에 기초하여, 현재의 비디오 블록에 대해, 복수의 인트라 코딩 모드들 중 하나 또는 복수의 인터 코딩 모드들 중 하나와 같은, 복수의 가능한 코딩 모드들 중 하나를 선택할 수도 있다. 예측 프로세싱 유닛 (42) 는 최종 인트라- 또는 인터-코딩된 블록을, 합산기 (50) 에 제공하여 잔차 블록 데이터를 발생하고, 그리고 합산기 (62) 에 제공하여, 참조 픽처로서 사용하기 위한 인코딩된 블록을 재구성할 수도 있다.
예측 프로세싱 유닛 (42) 내의 인트라 예측 유닛 (48) 은 코딩되는 현재의 블록과 동일한 픽처 또는 슬라이스에서의 하나 이상의 이웃하는 블록들에 대해, 현재의 비디오 블록의 인트라-예측 코딩을 수행하여, 공간 압축을 제공할 수도 있다. 예측 프로세싱 유닛 (42) 내 모션 추정 유닛 (44) 및 모션 보상 유닛 (46) 은 하나 이상의 참조 픽처들에서의 하나 이상의 예측 블록들에 대해, 현재의 비디오 블록의 인터-예측 코딩을 수행하여, 시간 압축을 제공한다.
모션 추정 유닛 (44) 는 비디오 시퀀스에 대한 미리 결정된 패턴에 따라서 비디오 슬라이스에 대한 인터-예측 모드를 결정하도록 구성될 수도 있다. 모션 추정 유닛 (44) 및 모션 보상 유닛 (46) 은 고도로 통합될 수도 있지만, 개념적인 목적들을 위해 별개로 예시된다. 모션 추정 유닛 (44) 에 의해 수행되는 모션 추정은 모션 벡터들을 발생하는 프로세스이며, 이 프로세스는 비디오 블록들에 대한 모션을 추정한다. 모션 벡터는, 예를 들어, 참조 픽처 내 예측 블록에 대한, 현재의 비디오 프레임 또는 픽처 내 비디오 블록의 PU 의 변위를 나타낼 수도 있다.
예측 블록은 픽셀 차이의 관점에서 코딩되는 비디오 블록의 PU 에 가깝게 매칭하는 것으로 발견되는 블록이며, SAD, SSD, 또는 다른 차이 메트릭들에 의해 결정될 수도 있다. 일부 예들에서, 비디오 인코더 (20) 은 참조 픽처 메모리 (64) 에 저장된 참조 픽처들의 서브-정수 픽셀 위치들에 대한 값들을 계산할 수도 있다. 예를 들어, 비디오 인코더 (20) 은 참조 픽처의 1/4 픽셀 위치들, 1/8 픽셀 위치들, 또는 다른 분수 픽셀 위치들의 값들을 내삽할 수도 있다. 따라서, 모션 추정 유닛 (44) 는 풀 픽셀 위치들 및 분수 픽셀 위치들에 대해, 모션 탐색을 수행하고, 분수 픽셀 정밀도를 가진 모션 벡터를 출력할 수도 있다.
모션 추정 유닛 (44) 는 PU 의 위치를 참조 픽처의 예측 블록의 위치와 비교함으로써 인터-코딩된 슬라이스에서의 비디오 블록의 PU 에 대한 모션 벡터를 계산한다. 참조 픽처는 제 1 참조 픽처 리스트 (리스트 0) 또는 제 2 참조 픽처 리스트 (리스트 1) 로부터 선택될 수도 있으며, 이 리스트 각각은 하나 이상의 참조 픽처 메모리 (64) 에 저장된 참조 픽처들을 식별한다. 모션 추정 유닛 (44) 는 그 계산된 모션 벡터를 엔트로피 인코딩 유닛 (56) 및 모션 보상 유닛 (46) 으로 전송한다.
모션 보상 유닛 (46) 에 의해 수행되는 모션 보상은 가능한 한, 서브-픽셀 정밀도까지 내삽들을 수행함으로써, 모션 추정에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페칭하거나 또는 발생시키는 것을 수반할 수도 있다. 현재의 비디오 블록의 PU 에 대한 모션 벡터를 수신하자 마자, 모션 보상 유닛 (46) 은 모션 벡터가 참조 픽처 리스트들 중 하나에서 가리키는 예측 블록을 로케이트할 수도 있다. 비디오 인코더 (20) 은 코딩중인 현재의 비디오 블록의 픽셀 값들로부터 예측 블록의 픽셀 값들을 감산하여 픽셀 차이 값들을 형성함으로써 잔차 비디오 블록을 형성한다. 픽셀 차이 값들은 블록에 대한 잔차 데이터를 형성하며, 루마 및 크로마 차이 성분들 양쪽을 포함할 수도 있다. 합산기 (50) 은 이 감산 연산을 수행하는 구성요소 또는 구성요소들을 나타낸다. 모션 보상 유닛 (46) 은 또한 비디오 슬라이스의 비디오 블록들을 디코딩할 때에 비디오 디코더 (30) 에 의한 사용을 위해 비디오 블록들 및 비디오 슬라이스와 연관되는 구문 엘리먼트들을 발생할 수도 있다.
더욱이, 일부의 경우, 예측 프로세싱 유닛 (42) 는 인터-계층 예측을 이용하여 픽처의 블록을 예측하기로 결정할 수도 있다. 예를 들어, 멀티-뷰 비디오 데이터에 대해, 예측 프로세싱 유닛 (42) 는 인터-뷰 예측을 이용하여 또 다른 뷰의 픽처로부터 하나의 뷰의 픽처의 블록을 예측하기로 결정할 수도 있다. 인터-뷰 예측의 경우, 모션 추정 유닛 (44) 는 블록에 대한 디스패리티 모션 벡터를 계산할 수도 있으며, 여기서, 디스패리티 모션 벡터는 일반적으로 참조 뷰의 픽처에서의 참조 블록의 위치를 식별한다. 또 다른 예로서, 스케일러블 비디오 코딩에 대해, 예측 프로세싱 유닛 (42) 는 인터-계층 예측을 이용하여 또 다른 계층의 픽처로부터 하나의 계층의 픽처의 블록을 예측하기로 결정할 수도 있다.
(뷰들이 계층의 한 유형으로 간주될 수도 있다는 점에서, 인터-뷰 예측을 포함하는) 인터-계층 예측은 동일한 계층에 있지만 상이한 시간 인스턴스들의 픽처들에 있는 블록들 대신, 상이한 계층들에서의 참조 블록들을 가리키는 모션 벡터들의 사용을 수반할 수도 있다. 일반적으로, 인터-계층 예측은 인터-계층 예측을 이용하여 예측될 블록을 포함하는 픽처와 동일한 액세스 유닛의 픽처들을 이용하여 수행된다. 인터-예측된 블록에 대한 모션 파라미터들은 따라서, 예컨대, 픽처 순서 카운트 (POC) 값을 이용하여 참조 픽처를 식별할 수도 있다.
일반적으로, 인터-계층 코딩 확장판들 (예컨대, HEVC 에 대한 멀티뷰 및 스케일러블 확장판들) 의 기법들은 POC 값들이 정렬된다는, 즉, 동일한 액세스 유닛에서의 모든 픽처들이 동일한 POC 값을 갖는다는 가정에 기초하고 있다. 이것을 달성하기 위해서, 종래의 기법들은 또한 인트라 랜덤 액세스 포인트 (IRAP) 픽처들을 정렬하였다. 그러나, 위에서 언급한 바와 같이, IRAP 픽처들의 정렬을 강제하는 것은 어떤 유리한 사용 시나리오들을 방해한다.
따라서, 본 개시물의 기법들에 따르면, 예측 프로세싱 유닛 (42) 는 상이한 계층들 사이의 모든 IRAP 픽처들을 반드시 정렬하지는 않는다. 즉, 예측 프로세싱 유닛 (42) 는 비-IRAP 픽처로서 IRAP 픽처를 포함하는 액세스 유닛의 적어도 하나의 픽처를 코딩하기로 결정할 수도 있다. 그러나, 예측 프로세싱 유닛 (42) 는 IRAP 픽처들의 비-정렬을 달성하면서 상이한 계층들의 픽처들 사이에 POC 값들을 정렬하는 것을 유지하기 위해 본 개시물의 기법들을 이용할 수도 있다. 이러한 방법으로, 예측 프로세싱 유닛 (42) 는 픽처들의 인터-계층 예측된 블록들이 IRAP 픽처들을 정렬함이 없이, 상이한 계층들에서의 참조 픽처들을 적절히 참조할 수 있도록 보장할 수도 있으며, 여기서, 참조 픽처들은 인터-계층 예측된 블록들을 포함하는 픽처들과 동일한 POC 값들을 갖는다.
특히, 본 개시물의 기법들에 따르면, 예측 프로세싱 유닛 (42) 는 IRAP 픽처를 포함하는 액세스 유닛에 대한 인코딩될 픽처를 수신할 수도 있다. 즉, 비디오 인코더 (20) 은 IRAP 픽처를 포함하는 기초 계층 (또는, 다른 계층) 을 사전에 인코딩하고, 그리고 IRAP 픽처를 IRAP 픽처, 예컨대, IDR, CRA, 또는 BLA 픽처로서 인코딩하기로 결정하였을 수도 있다. 그러나, 비디오 인코더 (20) 은 그후 또 다른 계층에서의 동일 위치에 배치된 픽처 (즉, 동일한 액세스 유닛에서의 픽처) 를 비-IRAP 픽처로서 인코딩하기로 결정할 수도 있다.
픽처를 IRAP 픽처와 동일한 액세스 유닛에 있는 비-IRAP 픽처로서 인코딩하기로 결정한 후, 비디오 인코더 (20) 은 비-IRAP 픽처에 대한 POC 값의 적어도 일부가 제로의 값으로 리셋되어야 한다는 것을 표시하는 구문 엘리먼트에 대한 값을 설정할 수도 있다. POC 값의 적어도 일부는 단지 POC 값의 최상위 비트들 (MSB들), 또는 전체 POC 값 (즉, POC 값의 모든 비트들) 을 포함할 수도 있다. 구문 엘리먼트는 예를 들어, 상기 예 1 의 poc_msb_reset_flag 또는 상기 예 2 의 poc_reset_flag 를 포함할 수도 있다.
비디오 인코더 (20) 은 또한 그 픽처를 비-IRAP 픽처로서 인코딩하기로 결정한 후 그 픽처에 대한 POC 값을 리셋할 수도 있다. 더욱이, 비디오 인코더 (20) 은 그 픽처와 동일한 계층에, 그리고 그 픽처와 동일한 코딩된 비디오 시퀀스에 있는, 참조 픽처 메모리 (64) 내 픽처들의 POC 값들을 리셋할 수도 있다. 특히, 이들 픽처들의 POC 값들을 리셋하는 것은 현재의 픽처에 대한 POC 값과 이들 다른 픽처들에 대한 POC 값들 사이의 차이가 리셋 전후에 동일하도록 보장하는 것을 포함할 수도 있다. 따라서, 참조 픽처 메모리 (64) 에서의 픽처가 N 의 현재의 픽처의 POC 값에 대한 POC 값 차이를 가지면, 비디오 인코더 (20) 은 POC 값이 현재의 픽처의 리셋된 POC 값 마이너스 N 과 동일하도록 참조 픽처 메모리 (64) 내 픽처의 POC 값을 리셋할 수도 있다.
이러한 방법으로, 후속 픽처들 (예컨대, 동일한 계층 또는 그 후에 인코딩된 계층들의 픽처들) 을 인터-계층 예측을 이용하여 인코딩할 때, 비디오 인코더 (20) 은 참조 픽처를 참조하는 인터-계층 예측된 블록을 포함하는 픽처에 대한 POC 값과 동일한 참조 픽처에 대한 POC 값을 이용하여, 참조 픽처를 식별하는 구문 데이터를 인코딩할 수도 있다.
인트라 예측 유닛 (48) 은 위에서 설명한 바와 같이, 모션 추정 유닛 (44) 및 모션 보상 유닛 (46) 에 의해 수행되는 인터-예측에 대한 대안으로서, 현재의 블록을 인트라-예측할 수도 있다. 특히, 인트라 예측 유닛 (48) 은 현재의 블록을 인코딩하는데 사용할 인트라-예측 모드를 결정할 수도 있다. 일부 예들에서, 인트라 예측 유닛 (48) 은 예컨대, 별개의 인코딩 과정들 동안 여러 인트라-예측 모드들을 이용하여 현재의 블록을 인코딩할 수도 있으며, 인트라 예측 유닛 (48) 은 테스트된 모드들로부터 사용할 적합한 인트라-예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측 유닛 (48) 은 여러 테스트된 인트라-예측 모드들에 대한 레이트-왜곡 분석을 이용하여 레이트-왜곡 값들을 계산하고, 그 테스트된 모드들 중에서 최상의 레이트-왜곡 특성들을 갖는 인트라-예측 모드를 선택할 수도 있다. 레이트-왜곡 분석은 일반적으로 인코딩된 블록과 그 인코딩된 블록을 발생하기 위해 인코딩되었던 원래의 미인코딩된 블록 사이의 왜곡의 양 (또는, 에러) 뿐만 아니라, 그 인코딩된 블록을 발생하는데 사용되는 비트 레이트 (즉, 비트들의 수) 를 결정한다. 인트라 예측 유닛 (48) 은 여러 인코딩된 블록들에 대한 왜곡들 및 레이트들로부터 비율들 (비들) 을 계산하여, 어느 인트라-예측 모드가 그 블록에 대해 최상의 레이트-왜곡 값을 나타내는 지를 결정할 수도 있다.
어쨌든, 블록에 대한 인트라-예측 모드를 선택한 후, 인트라 예측 유닛 (48) 은 블록에 대한 그 선택된 인트라-예측 모드를 나타내는 정보를 엔트로피 인코딩 유닛 (56) 에 제공할 수도 있다. 엔트로피 인코딩 유닛 (56) 은 본 개시물의 기법에 따라서 그 선택된 인트라-예측 모드를 나타내는 정보를 인코딩할 수도 있다. 비디오 인코더 (20) 은 복수의 인트라-예측 모드 인덱스 테이블들 및 복수의 수정된 인트라-예측 모드 인덱스 테이블들 (또한, 코드워드 맵핑 테이블들로서 지칭됨) 을 포함할 수도 있는 그 송신되는 비트스트림 구성 데이터에, 여러 블록들에 대한 인코딩 컨텍스트들의 정의들, 및 가장 가능성있는 인트라-예측 모드, 인트라-예측 모드 인덱스 테이블 및 컨텍스트들의 각각에 사용할 수정된 인트라-예측 모드 인덱스 테이블의 표시들을 포함시킬 수도 있다.
예측 프로세싱 유닛 (42) 가 현재의 비디오 블록에 대한 예측 블록을 인터-예측 또는 인트라-예측을 통해서 발생시킨 후, 비디오 인코더 (20) 은 현재의 비디오 블록으로부터 예측 블록을 감산함으로써 잔차 비디오 블록을 형성한다. 잔차 블록에서의 잔차 비디오 데이터는 하나 이상의 TUs 에 포함되어, 변환 프로세싱 유닛 (52) 에 적용될 수도 있다. 변환 프로세싱 유닛 (52) 는 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 이용하여 잔차 비디오 데이터를 잔차 변환 계수들로 변환한다. 변환 프로세싱 유닛 (52) 는 잔차 비디오 데이터를 픽셀 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 변환할 수도 있다.
변환 프로세싱 유닛 (52) 는 최종 변환 계수들을 양자화 프로세싱 유닛 (54) 로 전송할 수도 있다. 양자화 프로세싱 유닛 (54) 는 비트 레이트를 추가로 감소시키기 위해 변환 계수들을 양자화한다. 양자화 프로세스는 그 계수들의 일부 또는 모두와 연관되는 비트 심도를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 변경될 수도 있다. 일부 예들에서, 양자화 프로세싱 유닛 (54) 는 그후 양자화된 변환 계수들을 포함하는 매트릭스의 스캐닝을 수행할 수도 있다. 이의 대안으로, 엔트로피 인코딩 유닛 (56) 은 그 스캐닝을 수행할 수도 있다.
양자화 이후, 엔트로피 인코딩 유닛 (56) 은 양자화된 변환 계수들을 엔트로피 인코딩한다. 예를 들어, 엔트로피 인코딩 유닛 (56) 은 컨텍스트 적응 가변 길이 코딩 (CAVLC), 컨텍스트 적응 2진 산술 코딩 (CABAC), 구문-기반 컨텍스트-적응 2진 산술 코딩 (SBAC), 확률 간격 파티셔닝 엔트로피 (PIPE) 코딩 또는 또 다른 엔트로피 인코딩 방법론 또는 기법을 수행할 수도 있다. 엔트로피 인코딩 유닛 (56) 에 의한 엔트로피 인코딩에 이어서, 인코딩된 비트스트림은 비디오 디코더 (30) 으로 송신되거나, 또는 비디오 디코더 (30) 에 의한 추후 송신 또는 취출을 위해 아카이브될 수도 있다. 엔트로피 인코딩 유닛 (56) 은 또한 코딩중인 현재의 비디오 슬라이스에 대한 모션 벡터들 및 다른 구문 엘리먼트들을 엔트로피 인코딩할 수도 있다.
역양자화 프로세싱 유닛 (58) 및 역변환 프로세싱 유닛 (60) 은 역양자화 및 역변환을 각각 적용하여, 참조 픽처의 참조 블록으로 추후 사용을 위해 픽셀 도메인에서 잔차 블록을 재구성한다. 모션 보상 유닛 (46) 은 잔차 블록을 참조 픽처 리스트들 중 하나 내 참조 픽처들 중 하나의 예측 블록에 가산함으로써 참조 블록을 계산할 수도 있다. 모션 보상 유닛 (46) 은 또한 하나 이상의 내삽 필터들을 그 재구성된 잔차 블록에 적용하여, 모션 추정에 사용하기 위한 서브-정수 픽셀 값들을 계산할 수도 있다. 합산기 (62) 는 재구성된 잔차 블록을 모션 보상 유닛 (46) 에 의해 발생되는 모션 보상된 예측 블록에 가산하여, 참조 픽처 메모리 (64) 에의 저장을 위한 참조 블록을 발생한다. 참조 블록은 후속 비디오 프레임 또는 픽처에서 블록을 인터-예측하기 위해 모션 추정 유닛 (44) 및 모션 보상 유닛 (46) 에 의해 참조 블록으로서 사용될 수도 있다.
이러한 방법으로, 비디오 인코더 (20) 은 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 코딩하고, POC 값의 일부가 제로의 값으로 리셋되어야 한다고 구문 엘리먼트에 대한 값이 표시할 때, POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하고, 그리고 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하도록 구성된 비디오 코더의 일 예를 나타낸다.
도 3 은 본 개시물에서 설명하는 기법들을 구현할 수도 있는 예시적인 비디오 디코더 (30) 을 예시하는 블록도이다. 도 3 의 예에서, 비디오 디코더 (30) 은 엔트로피 디코딩 유닛 (70), 예측 프로세싱 유닛 (71), 역양자화 프로세싱 유닛 (76), 역변환 유닛 (78), 합산기 (80), 및 참조 픽처 메모리 (82) 를 포함한다. 예측 프로세싱 유닛 (71) 은 모션 보상 유닛 (72) 및 인트라 예측 유닛 (74) 를 포함한다. 비디오 디코더 (30) 은 일부 예들에서, 도 2 로부터의 비디오 인코더 (20) 에 대해 설명된 인코딩 과정과는 일반적으로 반대인 디코딩 과정을 수행할 수도 있다.
여러 예들에서, 비디오 디코더 (30) 의 유닛은 본 개시물의 기법들을 수행을 수행하는 일을 부여받을 수도 있다. 또한, 일부 예들에서, 본 개시물의 기법들은 비디오 디코더 (30) 의 유닛들 중 하나 이상의 사이에 분할될 수도 있다.
디코딩 프로세스 동안, 비디오 디코더 (30) 은 인코딩된 비디오 슬라이스의 비디오 블록들 및 연관되는 구문 엘리먼트들을 나타내는 인코딩된 비디오 비트스트림을 비디오 인코더 (20) 으로부터 수신한다. 비디오 디코더 (30) 의 엔트로피 디코딩 유닛 (70) 은 비트스트림을 엔트로피 디코딩하여, 양자화된 계수들, 모션 벡터들, 및 다른 구문 엘리먼트들을 발생한다. 엔트로피 디코딩 유닛 (70) 은 모션 벡터들 및 다른 구문 엘리먼트들을 예측 프로세싱 유닛 (71) 로 포워딩한다. 비디오 디코더 (30) 은 구문 엘리먼트들을 비디오 슬라이스 레벨 및/또는 비디오 블록 레벨에서 수신할 수도 있다.
비디오 슬라이스가 인트라-코딩된 (I) 슬라이스로서 코딩될 때, 예측 프로세싱 유닛 (71) 의 인트라 예측 유닛 (74) 는 시그널링된 인트라 예측 모드 및 현재의 프레임 또는 픽처의 이전에 디코딩된 블록들로부터의 데이터에 기초하여, 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 데이터를 발생할 수도 있다. 비디오 픽처가 인터-코딩된 (즉, B 또는 P) 슬라이스로서 코딩될 때, 예측 프로세싱 유닛 (71) 의 모션 보상 유닛 (72) 는 엔트로피 디코딩 유닛 (70) 으로부터 수신된 모션 벡터들 및 다른 구문 엘리먼트들에 기초하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 블록들을 발생한다. 예측 블록들은 참조 픽처 리스트들 중 하나 내 참조 픽처들 중 하나로부터 발생될 수도 있다. 비디오 디코더 (30) 은 참조 픽처 메모리 (82) 에 저장된 참조 픽처들에 기초하여, 디폴트 구성 기법들 또는 임의의 다른 기법들을 이용하여, 참조 픽처 리스트들, 리스트 0 및 리스트 1 을 구성할 수도 있다.
모션 보상 유닛 (72) 는 모션 벡터들 및 다른 구문 엘리먼트들을 파싱하여 현재의 비디오 슬라이스의 비디오 블록에 대한 예측 정보를 결정하고, 그리고, 그 예측 정보를 이용하여, 디코딩중인 현재의 비디오 블록에 대한 예측 블록들을 발생한다. 예를 들어, 모션 보상 유닛 (72) 는 그 수신된 구문 엘리먼트들 중 일부를 이용하여, 비디오 슬라이스의 비디오 블록들을 코딩하는 사용되는 예측 모드 (예컨대, 인트라- 또는 인터-예측), 인터-예측 슬라이스 유형 (예컨대, B 슬라이스 또는 P 슬라이스), 슬라이스에 대한 참조 픽처 리스트들 중 하나 이상에 대한 구성 정보, 슬라이스의 각각의 인터-인코딩된 비디오 블록에 대한 모션 벡터들, 슬라이스의 각각의 인터-코딩된 비디오 블록에 대한 인터-예측 상태, 및 다른 정보를 결정하여, 현재의 비디오 슬라이스에서의 비디오 블록들을 디코딩한다.
모션 보상 유닛 (72) 는 또한 내삽 필터들에 기초하여 내삽을 수행할 수도 있다. 모션 보상 유닛 (72) 는 비디오 블록들의 인코딩 동안 비디오 인코더 (20) 에 의해 사용되는 것과 같은 내삽 필터들을 이용하여, 참조 블록들의 서브-정수 픽셀들에 대해 내삽된 값들을 계산할 수도 있다. 이 경우, 모션 보상 유닛 (72) 는 수신된 구문 엘리먼트들로부터 비디오 인코더 (20) 에 의해 사용되는 내삽 필터들을 결정하고 그 내삽 필터들을 이용하여 예측 블록들을 발생할 수도 있다.
본 개시물의 기법들에 따르면, 엔트로피 디코딩 유닛 (70) 은 픽처의 제 1 픽처 순서 카운트 (POC) 값 중 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 디코딩할 수도 있다. 구문 엘리먼트는 예를 들어, 위에서 설명한 바와 같은 예 1 의 poc_msb_reset_flag 또는 위에서 설명한 바와 같은 예 2 의 poc_reset_flag 를 포함할 수도 있다. 비디오 디코더 (30) 은 그후 POC 값이 리셋되어야 한다는 것을 나타내는 값을 구문 엘리먼트가 가질 때 POC 값의 적어도 일부를 리셋할 수도 있다. 예를 들어, 비디오 디코더 (30) 은 제로와 동일한 POC 값의 적어도 일부에 대한 비트들 (예컨대, poc_msb_reset_flag 에 대한 최상위 비트들 또는 poc_reset_flag 에 대한 모든 비트들) 을 리셋할 수도 있다.
더욱이, 비디오 디코더 (30) 은 참조 픽처 메모리 (82) 내 다른 픽처들 (즉, 동일한 비디오 코딩 계층 및 동일한 코딩된 비디오 시퀀스에 있는 그들 픽처들) 의 POC 값들을 또한 조정할 수도 있다. 예를 들어, 비디오 디코더 (30) 은 POC 값들과 리셋이 시그널링된 POC 값 사이의 차이들이 리셋 전과 동일하게 유지하도록 다른 픽처들의 POC 값들을 감분할 수도 있다. 따라서, 참조 픽처 메모리 (82) 에서의 픽처가 N 의 현재의 픽처의 POC 값에 대한 POC 값 차이를 가지면, 비디오 디코더 (30) 은 POC 값이 현재의 픽처의 리셋된 POC 값 마이너스 N 과 동일하도록 참조 픽처 메모리 (82) 에서의 픽처의 POC 값을 리셋할 수도 있다.
일반적으로, 인터-예측되는 비디오 블록들은 인터-예측이 시간-계층이든 또는 인터-계층 (예컨대, 인터-뷰) 이든, 참조 블록들을 식별하는 구문 엘리먼트들을 포함할 수도 있다. 본 개시물의 기법들에 따르면, 인터-예측되는 블록들에 대한 구문 엘리먼트들은 위에서 설명한 바와 같이, 리셋에 뒤이은 참조 픽처의 POC 값을 이용하여 참조 픽처를 식별할 수도 있다. 따라서, 비디오 디코더 (30) 은 인터-예측의 목적들을 위해 모션 정보로서 시그널링되었을 때 참조 픽처들을 식별하는 POC 값들을 조정할 필요가 없다.
역양자화 프로세싱 유닛 (76) 은 비트스트림으로 제공되어 엔트로피 디코딩 유닛 (70) 에 의해 디코딩되는 양자화된 변환 계수들을 역양자화한다, 즉 양자화 해제한다. 역양자화 프로세스는 양자화의 정도와, 마찬가지로, 적용되어야 하는 역양자화의 정도를 결정하기 위해, 비디오 슬라이스에서의 각각의 비디오 블록에 대해 비디오 인코더 (20) 에 의해 계산된 양자화 파라미터의 사용을 포함할 수도 있다. 역변환 프로세싱 유닛 (78) 은 역 DCT, 역 정수 변환, 또는 개념적으로 유사한 역변환 프로세스와 같은 역변환을 변환 계수들에 적용하여, 픽셀 도메인에서 잔차 블록들을 발생한다.
모션 보상 유닛 (72) 가 모션 벡터들 및 다른 구문 엘리먼트들에 기초하여 현재의 비디오 블록에 대한 예측 블록을 발생한 후, 비디오 디코더 (30) 은 역변환 프로세싱 유닛 (78) 으로부터의 잔차 블록들을 모션 보상 유닛 (72) 에 의해 발생된 대응하는 예측 블록들과 합산함으로써, 디코딩된 비디오 블록을 형성한다. 합산기 (80) 은 이 합산 동작을 수행하는 구성요소 또는 구성요소들을 나타낸다. 원할 경우, 블록킹 현상 아티팩트들 (blockiness artifacts) 를 제거하기 위해 디블록킹 필터가 또한 그 디코딩된 블록들을 필터링하는데 적용될 수도 있다. (코딩 루프 중에 또는 코딩 루프 이후에) 다른 루프 필터들이 또한 픽셀 전환들 (pixel transitions) 를 평활화하거나 또는 아니면 비디오 품질을 향상시키기 위해 사용될 수도 있다. 주어진 프레임 또는 픽처에서 디코딩된 비디오 블록들은 그후 참조 픽처 메모리 (82) 에 저장되며, 이 메모리는 후속 모션 보상을 위해 사용되는 참조 픽처들을 저장한다. 참조 픽처 메모리 (82) 는 또한 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상에의 추후 프리젠테이션을 위해, 디코딩된 비디오를 저장한다.
일부 예들에서, 본 개시물에서 설명하는 기법들의 하나 이상의 양태들은 미디어 인지 네트워크 엘리먼트 (MANE) 와 같은 중간 네트워크 디바이스, 스트림 적응 프로세서, 슬라이싱 (splicing) 프로세서, 또는 편집 프로세서에 의해 수행될 수도 있다. 예를 들어, 이러한 중간 디바이스는 본 개시물에서 설명되는 바와 같은 변종 시그널링 중 임의의 시그널링을 발생시키도록 구성될 수도 있다. 예를 들어, 이러한 중간 디바이스는 현재의 픽처의 픽처 순서 카운트 (POC) 값이 현재의 픽처의 POC 값의 최하위 비트들 (LSB들) 의 세트와 동일하게 리셋되는지 여부를 규정하는 제 1 구문 엘리먼트를 수신하고, 현재의 픽처의 POC 값이 현재의 픽처의 POC 값의 LSB들의 세트와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 현재의 픽처의 POC 값과 동일한 계층에서의 픽처들 중 임의의 픽처의 POC 값 사이의 차이가 현재의 픽처의 POC 값이 리셋되기 전과 동일하게 유지하도록 현재의 픽처와 동일한 코딩 계층에서의 다른 픽처들의 POC 값들을 감분하고, 그리고 그 감분된 POC 값들을 이용하여 현재의 픽처 및 다른 픽처들 중 적어도 일부를 디코딩하도록 구성될 수도 있다.
또 다른 예에서, 이러한 중간 디바이스는 현재의 픽처의 픽처 순서 카운트 (POC) 값이 제로와 동일하게 리셋되는지 여부를 규정하는 제 1 구문 엘리먼트를 수신하고, 현재의 픽처의 POC 값이 제로와 동일하게 리셋된다고 제 1 구문 엘리먼트가 규정할 때, 현재의 픽처가 계층 0 보다 큰 계층에 있으면, 현재의 픽처를 제로와 동일하게 리셋하고, 그리고 리셋된 POC 값을 이용하여 현재의 픽처를 디코딩하도록 구성될 수도 있다.
이러한 방법으로, 비디오 디코더 (30) 은 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 코딩하고, POC 값의 일부가 제로의 값으로 리셋되어야 한다고 구문 엘리먼트에 대한 값이 표시할 때, POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하고, 그리고 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하도록 구성된 비디오 코더의 일 예를 나타낸다.
도 4 는 코딩된 비디오 픽처들 (100-132) 의 시퀀스를 예시하는 개념도이다. 픽처들은 계층적 예측 구조 내에서 위치들을 표시하기 위해 상이하게 음영처리된다. 예를 들어, 픽처들 (100, 116, 및 132) 은, 픽처들 (100, 116, 132) 가 계층적 예측 구조의 상부에 있는 것을 표현하기 위해, 검은색으로 음영처리된다. 픽처들 (100, 116, 132) 는 예를 들어, 다른 픽처들로부터 단일 방향으로 예측되는 인트라-코딩된 픽처들 또는 인터-코딩된 픽처들 (예컨대, P-픽처들) 을 포함할 수도 있다. 인트라-코딩될 때, 픽처들 (100, 116, 132) 는 동일한 픽처 내 데이터로부터 오직 예측된다. 인터-코딩될 때, 픽처 (116) 는, 예를 들어, 픽처 (116) 로부터 픽처 (100) 까지의 점선 화살표로 나타낸 바와 같이, 픽처 (100) 의 데이터에 대해서 코딩될 수도 있다. 픽처들 (116, 132) 은 픽처들의 그룹들 (GOP들) 의 키 픽처들 (key pictures) (134, 136) 을 각각 형성한다.
픽처들 (108, 124) 는 그들이 픽처들 (100, 116, 및 132) 에 뒤따르는 인코딩 계층에서 다음에 있다는 것을 표시하기 위해 어둡게 음영처리된다. 픽처들 (108, 124) 는 양방향의, 인터-모드 예측 인코딩된 픽처들을 포함할 수도 있다. 예를 들어, 픽처 (108) 는 픽처들 (100 및 116) 의 데이터로부터 예측될 수도 있으며, 반면 픽처 (124) 는 픽처들 (116 및 132) 로부터 예측될 수도 있다. 픽처들 (104, 112, 120, 및 128) 은 그들이 픽처들 (108 및 124) 에 뒤따르는 인코딩 계층에서 다음에 있다는 것을 표시하기 위해 밝게 음영처리된다. 픽처들 (104, 112, 120, 및 128) 은 또한 양방향의, 인터-모드 예측 인코딩된 픽처들을 포함할 수도 있다. 예를 들어, 픽처 (104) 는 픽처들 (100 및 108) 로부터 예측될 수도 있으며, 픽처 (112) 는 픽처들 (108 및 116) 으로부터 예측될 수도 있으며, 픽처 (120) 는 픽처 (116 및 124) 로부터 예측될 수도 있으며, 픽처 (128) 는 픽처 (124 및 132) 로부터 예측될 수도 있다.
마지막으로, 픽처들 (102, 106, 110, 114, 118, 122, 126, 및 130) 은 이들 픽처들이 인코딩 계층에서 마지막인 것을 표시하기 위해 백색으로 음영처리된다. 픽처들 (102, 106, 110, 114, 118, 122, 126, 및 130) 은 양방향의, 인터-모드 예측 인코딩된 픽처들일 수도 있다. 픽처 (102) 는 픽처들 (100 및 104) 로부터 예측될 수도 있으며, 픽처 (106) 는 픽처들 (104 및 108) 로부터 예측될 수도 있으며, 픽처 (110) 는 픽처들 (108 및 112) 로부터 예측될 수도 있으며, 픽처 (114) 는 픽처들 (112 및 116) 으로부터 예측될 수도 있으며, 픽처 (118) 는 픽처 (116 및 120) 으로부터 예측될 수도 있으며, 픽처 (122) 는 픽처들 (120 및 124) 로부터 예측될 수도 있으며, 픽처 (126) 는 픽처들 (124 및 128) 로부터 예측될 수도 있으며, 픽처 (130) 는 픽처들 (128 및 132) 로부터 예측될 수도 있다.
픽처들 (100-132) 은 디스플레이 순서로 예시된다. 즉, 디코딩 이후, 픽처 (100) 가 픽처 (102) 이전에 디스플레이되며, 픽처 (102) 가 픽처 (104) 이전에 디스플레이되는, 등등으로 디스플레이된다. 그러나, 인코딩 계층으로 인해, 픽처들 (100-132) 은 상이한 순서로 디코딩될 수도 있다. 더욱이, 인코딩되어진 후, 픽처들 (100-132) 은 픽처들 (100-132) 에 대한 인코딩된 데이터를 포함하는 비트스트림으로 디코딩 순서로 배열될 수도 있다. 예를 들어, 픽처 (116) 는 GOP (134) 의 픽처들 중에서 마지막으로 디스플레이될 수도 있다. 그러나, 인코딩 계층으로 인해, 픽처 (116) 는 GOP (134) 중 첫번째로 디코딩될 수도 있다. 즉, 픽처 (108) 를 적절히 디코딩하기 위해, 예를 들어, 픽처 (116) 는 픽처 (108) 에 대한 참조 픽처로서 역할을 하도록, 첫번째로 디코딩되어야 할 수도 있다. 이와 유사하게, 픽처 (108) 는 픽처들 (104, 106, 110, 및 112) 에 대한 참조 픽처로서 역할을 할 수도 있으며, 따라서, 픽처들 (104, 106, 110, 및 112) 이전에 디코딩되어야 할 수도 있다.
픽처가 디스플레이되는 시간은 프리젠테이션 시간으로서 지칭될 수도 있으며, 한편 픽처가 디코딩되는 시간은 디코딩 시간으로서 지칭될 수도 있다. 디코딩 시간들 및 프리젠테이션 시간들은 일반적으로 동일한 시퀀스의 다른 픽처들에 대한 시간 순서정렬의 표시들을 제공한다. 픽처의 디코딩 시간과 픽처의 프리젠테이션 시간 사이의 차이는 그 픽처에 대한 픽처 재순서정렬 지연으로서 지칭될 수도 있다.
본 개시물의 기법들에 따르면, 비디오 코더 (예컨대, 비디오 인코더 (20) 및/또는 비디오 디코더 (30)) 은 픽처들 중 하나가 (상이한 비디오 코딩 계층의) IRAP 픽처를 또한 포함하는 액세스 유닛에 포함되는 비-IRAP 픽처일 때 비디오 코딩 계층에서의 픽처들에 대한 POC 값들을 조정할 수도 있다. 예를 들어, 픽처 (132) 가 P-픽처이고, IRAP 픽처인 또 다른 비디오 코딩 계층의 픽처와 동일 위치에 배치된다고 (즉, IRAP 픽처인 또 다른 비디오 코딩 계층의 픽처와 동일한 액세스 유닛에 포함된다고) 가정한다. 이 예에서, 픽처 (132) 는 (인터-코딩되기 때문에) IRAP 픽처와 동일한 액세스 유닛에 포함되는 비-IRAP 픽처일 것이다.
그 결과, 위에서 제시된 예에 이어서, 비디오 코더는 픽처 (132) 에 대한 POC 값이 리셋되어야 한다는 것을 나타내는 구문 엘리먼트에 대한 값을 코딩할 것이다. 즉, 구문 엘리먼트는 픽처 (132) 에 대한 POC 값의 적어도 일부가 (제로의 값으로) 리셋되어야 한다는 것을 나타낼 것이다. 따라서, 비디오 코더는 픽처 (132) 의 POC 값을 조정할 수도 있다. 예를 들어, 구문 엘리먼트가 poc_msb_reset_flag 인, 위에서 설명된 예 1 에 따라서, 비디오 코더는 픽처 (132) 의 POC 값의 최상위 비트들 (MSB들) 을 제로와 동일하게 설정할 것이다. 또 다른 예로서, 구문 엘리먼트가 poc_reset_flag 인, 위에서 설명한 예 2 에 따라서, 비디오 코더는 픽처 (132) 의 전체 POC 값을 제로와 동일하게 설정할 것이다.
비디오 코더는 또한 다른 픽처들의 POC 값들을 조정할 수도 있다. 예를 들어, 픽처들 (100 및 116) 이 이전에 코딩되었다고 가정하면, 비디오 코더는 픽처 (132) 에 대한 리셋된 POC 값에 기초하여 픽처들 (100 및 116) 의 POC 값들을 조정할 수도 있다. 도 4 의 예에서, 픽처 (132) 의 POC 값은 픽처 (116) 의 POC 값보다 8 이 더 크며, 픽처 (100) 의 POC 값보다 16 이 더 크다. 전체 POC 값이 리셋되는 예 2 에서, 비디오 코더는 픽처 (100) 의 POC 값을 -16 (음의 16) 과 동일하게, 그리고, 픽처 (116) 의 POC 값을 -8 (음의 8) 과 동일하게 조정할 수도 있다. 이러한 방법으로, 픽처 (132) 와 픽처들 (100 및 116) 의 POC 값들 사이의 차이들은 POC 값 리셋 전에 비해, POC 값 리셋 후에 일정하게 유지할 수도 있다.
상기 예는 이들 픽처들이 픽처 (132) 를 코딩할 때 디코딩 픽처 버퍼 (DPB) 에 이미 존재할 것이라는 가정에 기초하여 픽처들 (100 및 116) 의 POC 값들을 수정하는 것을 설명하였다. 일부의 경우, 픽처들 (102-114) 은 또한 DPB 에 존재할 수도 있으며, 이 경우, 비디오 코더는 유사하게, 픽처들 (102-114) 의 POC 값들을 조정할 수도 있다. 그러나, 픽처들 (118-130) 이 픽처 (132) 로부터 의존할 수도 있기 때문에, 픽처들 (118-130) 이 픽처 (132) 가 리셋되어야 할 때 DPB 에 존재하지 않을 것으로 예상된다. 즉, 픽처들 (118-130) 은 픽처 (132) 의 디코딩 순서보다 늦은 디코딩 순서를 갖는다. 따라서, 비디오 코더는 픽처들 (118-130) 에 대한 POC 값들을 조정할 필요가 없다. 일부 예들에서, 픽처들 (102-114) 는 또한 픽처 (132) 의 디코딩 순서보다 늦은 디코딩 순서를 가질 수도 있다.
도 5 는 본 개시물의 기법들에 따른, 비디오 데이터를 인코딩하는 예시적인 방법을 예시하는 플로우차트이다. 비디오 인코더 (20) 은 도 5 의 방법을 수행하는 것으로 설명된다. 그러나, 다른 코딩 디바이스들이 본 방법 또는 유사한 방법을 수행하도록 구성될 수도 있는 것으로 이해되어야 한다. 더욱이, 본 방법의 단계들은 상이한 순서로, 또는 병렬로 수행될 수도 있으며, 어떤 단계들은 추가되거나 생략될 수도 있다.
도 5 의 예에서, 비디오 인코더 (20) 이 먼저 제 1 비디오 코딩 계층의 픽처들을 인코딩한다 (150). 위에서 설명한 바와 같이, 계층은 스케일러블 비디오 코딩 계층 또는 멀티뷰 비디오 코딩을 위한 뷰에 대응할 수도 있다. 이 컨텍스트에서 용어 "제 1" 의 사용은 서수보다는 공칭인 것으로 의도되며; 일부 예들에서, 비디오 인코더 (20) 은 도 5 를 참조하여 설명한 제 1 계층 이전에 하나 이상의 추가적인 비디오 코딩 계층들을 인코딩하였을 수도 있다. 제 1 비디오 코딩 계층의 픽처들을 인코딩하는 것은 일반적으로 제 1 계층의 어떤 픽처들을 인트라 랜덤 액세스 포인트 (IRAP) 픽처들로서, 그리고 다른 픽처들을 비-IRAP 픽처들, 예컨대, (시간-계층이든 또는 인터-계층이든) 인터-예측된 픽처들로서 인코딩하는 것을 수반한다.
비디오 인코더 (20) 은 그후 제 1 비디오 코딩 계층의 IRAP 픽처와 동일 위치에 배치된 제 2 비디오 코딩 계층의 픽처를 결정할 수도 있다 (152). 그러나, 비디오 인코더 (20) 은 제 2 비디오 코딩 계층의 이 픽처를 비-IRAP 픽처로서 인코딩하기로 결정할 수도 있다 (154). 예를 들어, 비디오 인코더 (20) 은 시간 인터-예측 및/또는 인터-계층 (예컨대, 인터-뷰) 예측을 이용하여 픽처를 인코딩하기로 결정할 수도 있다.
픽처가 비-IRAP 픽처이지만 IRAP 픽처와 동일 위치에 배치되는 (예컨대, IRAP 픽처와 동일한 액세스 유닛에 포함되는) 결과로, 비디오 인코더 (20) 은 픽처에 대한 POC 값의 적어도 일부가 리셋되어야 한다는 것을 나타내는 구문 엘리먼트에 대한 값을 인코딩할 수도 있다 (156). 예를 들어, 구문 엘리먼트는 위에서 설명한 예 1 의 poc_msb_reset_flag, 또는 위에서 설명한 예 2 의 poc_reset_flag 를 포함할 수도 있다. 더욱이, 비디오 인코더 (20) 은 그 픽처와, 동일한 계층에서의 그리고 동일한 코딩된 비디오 시퀀스에서의 이전에 인코딩된 픽처들의 POC 값들을 조정할 수도 있다 (158). 특히, 비디오 인코더 (20) 은 현재의 픽처와 다른 픽처들의 POC 값들 사이의 차이가 현재의 픽처에 대한 POC 값을 리셋한 후 그 리셋 전과 동일하게 유지하도록 다른 픽처들의 POC 값들을 조정할 수도 있다.
비디오 인코더 (20) 은 픽처를 추가로 인코딩할 수도 있다 (160). 즉, 픽처의 각각의 블록에 대해, 비디오 인코더 (20) 은 그 블록을 (시간 또는 인터-계층 예측을 이용하여) 인트라-예측할지 또는 인터-예측할지 여부를 결정할 수도 있다. 비디오 인코더 (20) 은 그후 픽처를 디코딩하고 (162) 그리고 그 디코딩된 픽처를 디코딩 픽처 버퍼 (DPB), 예컨대, 참조 픽처 메모리 (64) 에 저장할 수도 있다. 비디오 인코더 (20) 은 그후 그 디코딩된 픽처에 대한, 후속 픽처 (예컨대, 더 늦은 코딩 순서를 갖는 동일한 계층에서의 픽처 또는 상이한 계층의 동일한 액세스 유닛에서의 픽처) 의 일부를 인코딩할 수도 있다 (166). 디코딩된 픽처를 식별하기 위해, 비디오 인코더 (20) 은 디코딩된 픽처에 대한 리셋된 POC 값을 후속 픽처의 블록의 모션 정보로서 인코딩할 수도 있다 (168).
이러한 방법으로, 도 5 의 방법은 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부를 제로의 값으로 리셋할지 여부를 결정하는 단계; POC 값의 적어도 일부를 리셋하기로 결정하는 것에 응답하여, 제 1 POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하고, 그리고 POC 값의 적어도 일부가 제로의 값으로 리셋되어야 한다고 표시하는 구문 엘리먼트에 대한 값을 인코딩하는 단계; 및 리셋된 POC 값을 이용하여 비디오 데이터를 인코딩하는 단계를 포함하는 방법의 일 예를 나타낸다.
도 6 은 본 개시물의 기법들에 따른, 비디오 데이터를 디코딩하는 예시적인 방법을 예시하는 플로우차트이다. 비디오 디코더 (30) 은 도 6 의 방법을 수행하는 것으로 설명된다. 그러나, 다른 코딩 디바이스들이 본 방법 또는 유사한 방법을 수행하도록 구성될 수도 있는 것으로 이해되어야 한다. 더욱이, 본 방법의 단계들은 상이한 순서로, 또는 병렬로 수행될 수도 있으며, 어떤 단계들은 추가되거나 또는 생략될 수도 있다.
도 6 의 예에서, 비디오 디코더 (30) 은 먼저 제 1 비디오 코딩 계층의 픽처들을 디코딩한다 (180). 위에서 설명한 바와 같이, 계층은 스케일러블 비디오 코딩 계층 또는 멀티뷰 비디오 코딩을 위한 뷰에 대응할 수도 있다. 이 컨텍스트에서 용어 "제 1" 의 사용은 서수보다는 공칭인 것으로 의도되며; 일부 예들에서, 비디오 디코더 (30) 은 도 6 을 참조하여 설명한 제 1 계층 이전에 하나 이상의 추가적인 비디오 코딩 계층들을 디코딩하였을 수도 있다. 제 1 비디오 코딩 계층의 픽처들을 디코딩하는 것은 일반적으로 제 1 계층의 어떤 픽처들을 인트라 랜덤 액세스 포인트 (IRAP) 픽처들로서, 그리고 다른 픽처들을 비-IRAP 픽처들, 예컨대, (시간-계층이든 또는 인터-계층이든) 인터-예측된 픽처들로서 디코딩하는 것을 수반한다.
비디오 디코더 (30) 은 그 후, 제 1 비디오 코딩 계층의 IRAP 픽처와 동일 위치에 배치되는 (즉, 제 1 비디오 코딩 계층의 IRAP 픽처와 동일한 액세스 유닛에서의) 제 2 비디오 코딩 계층의 픽처에 대하여, 그 픽처에 대한 POC 값의 적어도 일부가 리셋되어야 한다는 것을 나타내는 구문 엘리먼트를 디코딩할 수도 있다 (182). 예를 들어, 구문 엘리먼트는 위에서 설명한 예 1 의 poc_msb_reset_flag, 또는 위에서 설명한 예 2 의 poc_reset_flag 를 포함할 수도 있다. 이 구문 엘리먼트의 값에 기초하여, 비디오 디코더 (30) 은 그 픽처, 및 동일한 계층에서의 그리고 동일한 코딩된 비디오 시퀀스에서의 이전에 디코딩된 픽처들의 POC 값들을 조정할 수도 있다 (184). 특히, 비디오 디코더 (30) 은 현재의 픽처와 다른 픽처들의 POC 값들 사이의 차이들이 현재의 픽처에 대한 POC 값을 리셋한 후 그 리셋 전과 동일하게 유지하도록 다른 픽처들의 POC 값들을 조정할 수도 있다.
비디오 디코더 (30) 은 또한 픽처를 디코딩하고 (186) 그리고 그 디코딩된 픽처를 디코딩 픽처 버퍼 (DPB), 예컨대, 참조 픽처 메모리 (82) 에 저장할 수도 있다 (188). 픽처를 디코딩하는 것은 인트라 예측, 시간 인터-예측, 및/또는 인터-계층 예측을 이용하여 픽처의 블록들을 디코딩하는 것을 포함할 수도 있다. 인터-계층 예측을 수행할 때, 비디오 디코더 (30) 은 현재의 픽처에 대한 리셋된 POC 값과 동일한 또 다른 계층에서의 참조 픽처 (예컨대, 제 1 계층에서의 IRAP 픽처) 에 대한 POC 값을 디코딩할 수도 있다. 시간 인터-예측을 수행할 때, 비디오 디코더 (30) 은 DPB 내 참조 픽처에 대한 POC 값을 디코딩할 수도 있으며, 여기서, 디코딩된 POC 값은 DPB 내 이전에 디코딩된 픽처들 중 하나에 대한 조정된 POC 값들 중 하나에 대응할 수도 있다.
더욱이, 비디오 디코더 (30) 은 그 디코딩된 픽처를 후속하여 디코딩되어야 하는 픽처에 대한 참조 픽처로서 이용할 수도 있다. 즉, 비디오 디코더 (30) 은 디코딩된 픽처의 리셋된 POC 값을 후속 픽처의 블록에 대한 모션 정보 (예컨대, 모션 파라미터) 로서 디코딩할 수도 있다 (190). 후속 픽처는 제 2 계층에서의 후속 픽처 또는 상이한 계층에서의 픽처 (예컨대, 디코딩된 픽처와 동일한 액세스 유닛에서의 픽처) 일 수도 있다. 어느 경우에나, 디코딩된 모션 정보는 디코딩된 픽처에 대한 리셋된 POC 값에 대응하는 (즉, 리셋 이전 그 픽처에 대한 POC 값에 대응하지 않는) 디코딩된 픽처의 POC 값에 대한 참조를 포함할 수도 있다. 후속 픽처의 블록에 대한 모션 정보로서의 이 디코딩된 POC 값에 기초하여, 비디오 디코더 (30) 은 디코딩된 픽처에 대한 후속 픽처의 블록을 디코딩할 수도 있다 (192).
이러한 방법으로, 도 6 의 방법은 구문 엘리먼트에 대한 값이 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 한다고 표시하는지 여부를 결정하는 단계, POC 값의 일부가 제로의 값으로 리셋되어야 한다고 구문 엘리먼트에 대한 값이 표시할 때, POC 값의 일부가 제로와 동일하도록 POC 값의 적어도 일부를 리셋하는 단계, 및 리셋된 POC 값을 이용하여 비디오 데이터를 디코딩하는 단계를 포함하는 방법의 일 예를 나타낸다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되는 경우, 그 기능들은 하나 이상의 명령들 또는 코드로서, 컴퓨터-판독가능 매체 상에 저장되거나 또는 컴퓨터-판독가능 매체를 통해서 송신될 수도 있으며, 하드웨어-기반의 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터-판독가능 매체는 컴퓨터-판독가능 저장 매체들을 포함할 수도 있으며, 이 컴퓨터-판독가능 저장 매체들은 데이터 저장 매체와 같은 유형의 매체, 또는 예컨대, 통신 프로토콜에 따라서 한 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함한 통신 매체들에 대응한다. 이런 방법으로, 컴퓨터-판독가능 매체들은 일반적으로 (1) 비일시성 유형의 컴퓨터-판독가능 저장 매체, 또는 (2) 신호 또는 캐리어 파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시물에서 설명하는 기법들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독가능 매체를 포함할 수도 있다.
일 예로서, 이에 한정하지 않고, 이런 컴퓨터-판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광디스크 스토리지, 자기디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 무선 기술들, 예컨대 적외선, 라디오, 및 마이크로파를 이용하여 명령들이 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되는 경우, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 무선 기술들, 예컨대 적외선, 라디오, 및 마이크로파가 그 매체의 정의에 포함된다. 그러나, 컴퓨터-판독가능 저장 매체 및 데이터 저장 매체는 접속부들, 캐리어 파들, 신호들, 또는 다른 일시성 매체를 포함하지 않고, 그 대신, 비-일시성 유형의 저장 매체로 송신되는 것으로 해석되어야 한다. 디스크 (disk) 및 디스크 (disc) 는, 본원에서 사용할 때, 컴팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크 및 Blu-ray 디스크를 포함하며, 디스크들 (disk들) 은 데이터를 자기적으로 보통 재생하지만, 디스크들 (disc들) 은 레이저로 데이터를 광학적으로 재생한다. 앞에서 언급한 것들의 결합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 게이트 어레이들 (FPGA들), 또는 다른 등가의 집적 또는 이산 로직 회로와 같은, 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 용어 "프로세서" 는, 본원에서 사용될 때 전술한 구조 중 임의의 구조 또는 본원에서 설명하는 기법들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 게다가, 일부 양태들에서, 본원에서 설명하는 기능은 인코딩 및 디코딩을 위해 구성되는 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공되거나, 또는 결합된 코덱에 포함될 수도 있다. 또한, 이 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들로 전적으로 구현될 수 있다.
본 개시물의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예컨대, 칩 세트) 를 포함한, 매우 다양한 디바이스들 또는 장치들로 구현될 수도 있다. 개시한 기법들을 수행하도록 구성되는 디바이스들의 기능적 양태들을 강조하기 위해서 여러 구성요소들, 모듈들, 또는 유닛들이 본 개시물에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 필요로 하지는 않는다. 대신, 위에서 설명한 바와 같이, 여러 유닛들이 코덱 하드웨어 유닛에 결합되거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 위에서 설명한 바와 같은 하나 이상의 프로세서들을 포함한, 상호작용하는 하드웨어 유닛들의 컬렉션으로 제공될 수도 있다.
여러 예들이 설명되었다. 이들 및 다른 예들은 다음 청구항들의 범위 이내이다.

Claims (43)

  1. 비디오 데이터를 디코딩하는 방법으로서,
    구문 엘리먼트에 대한 값이 픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 한다고 표시하는지 여부를 결정하는 단계;
    상기 구문 엘리먼트에 대한 값이 상기 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 상기 POC 값의 일부가 제로와 동일하도록 상기 POC 값의 적어도 일부를 리셋하는 단계; 및
    리셋된 상기 POC 값을 이용하여 비디오 데이터를 디코딩하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 구문 엘리먼트에 대한 값은 상기 POC 값의 상기 일부를 포함한 모든 비트들이 상기 제로의 값으로 리셋되어야 하는지 여부를 나타내며,
    상기 비디오 데이터를 디코딩하는 방법은 상기 구문 엘리먼트에 대한 값이 상기 POC 값의 모든 비트들이 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 상기 POC 값의 모든 비트들이 제로와 동일하도록 상기 POC 값을 리셋하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하며,
    상기 비디오 데이터를 디코딩하는 방법은 제 1 비디오 코딩 계층에서 상기 제 1 픽처 및 제 2 비디오 코딩 계층에서 제 2 픽처를 포함하는 액세스 유닛을 수신하는 단계를 더 포함하며,
    상기 제 2 비디오 코딩 계층은 상기 제 1 비디오 코딩 계층과는 상이하며, 상기 POC 값을 리셋하기 전에, 상기 제 1 픽처에 대한 상기 POC 값은 상기 제 2 픽처에 대한 제 2 POC 값과 상이한, 비디오 데이터를 디코딩하는 방법.
  4. 제 3 항에 있어서,
    상기 제 1 픽처에 대한 상기 POC 값을 리셋하는 것은, 상기 리셋 후, 상기 제 1 픽처에 대한 상기 POC 값이 상기 제 2 픽처에 대한 상기 POC 값과 동일하도록 상기 제 1 픽처에 대한 상기 POC 값을 리셋하는 것을 포함하는, 비디오 데이터를 디코딩하는 방법.
  5. 제 3 항에 있어서,
    상기 제 2 픽처는 1 과 동일한 NoRaslOutputFlag 구문 엘리먼트를 가진 인트라 랜덤 액세스 포인트 (IRAP) 픽처를 포함하며, 상기 제 1 픽처는 비-IRAP 픽처를 포함하는, 비디오 데이터를 디코딩하는 방법.
  6. 제 5 항에 있어서,
    상기 IRAP 픽처는 순간 디코더 리프레시 (IDR) 픽처, 클린 랜덤 액세스 (CRA) 픽처, 또는 파손된 링크 액세스 (BLA) 픽처 중 하나를 포함하는, 비디오 데이터를 디코딩하는 방법.
  7. 제 3 항에 있어서,
    상기 액세스 유닛은 상기 제 1 비디오 코딩 계층 및 상기 제 2 비디오 코딩 계층과는 상이한 제 3 비디오 코딩 계층에서 제 3 픽처를 더 포함하며,
    상기 리셋된 POC 값을 이용하여 비디오 데이터를 디코딩하는 단계는 상기 제 1 픽처에 대한 인터-계층 예측을 이용하여 상기 제 3 픽처의 블록을, 상기 블록이 상기 리셋된 POC 값에 대한 참조를 포함할 때, 디코딩하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  8. 제 1 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하고, 상기 POC 값은 제 1 POC 값을 포함하며,
    상기 비디오 데이터를 디코딩하는 방법은, 상기 구문 엘리먼트가 상기 제 1 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때,
    제 2 픽처의 제 2 POC 값을 결정하는 단계로서, 상기 제 1 픽처 및 상기 제 2 픽처는 공통 비디오 코딩 계층 및 공통 코딩된 비디오 시퀀스에 있는, 상기 제 2 POC 값을 결정하는 단계;
    상기 제 1 POC 값과 상기 제 2 POC 값 사이의 제 1 차이를 결정하는 단계; 및
    감분된 제 2 POC 값과 리셋된 제 1 POC 값 사이의 제 2 차이가 상기 제 1 차이와 동일하도록 상기 제 2 POC 값을 감분하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  9. 제 1 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하고, 상기 POC 값은 제 1 POC 값을 포함하며,
    상기 비디오 데이터를 디코딩하는 방법은, 상기 구문 엘리먼트가 상기 제 1 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때,
    상기 픽처를 가진 공통 비디오 코딩 계층에서 복수의 다른 픽처들에 대한 POC 값들을 결정하는 단계;
    상기 제 1 POC 값과, 다른 픽처들에 대한 POC 값들 사이의 차이들을 결정하는 단계; 및
    감분된 POC 값들과 리셋된 제 1 POC 값 사이의 각각의 차이들이 상기 제 1 POC 값과, 다른 픽처들에 대한 POC 값들 사이의 각각의 결정된 상기 차이들과 동일하도록 다른 픽처들에 대한 POC 값들을 감분하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  10. 제 9 항에 있어서,
    참조 픽처 세트에 대한 데이터는 다른 픽처들이 단기 참조 픽처들인지 또는 장기 참조 픽처들인지 여부를 나타내며,
    상기 POC 값들을 감분하는 단계는,
    상기 단기 참조 픽처들에 대한 상기 POC 값들을 감분하는 단계; 및
    상기 장기 참조 픽처들에 대한 상기 POC 값들을 감분하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  11. 제 1 항에 있어서,
    상기 구문 엘리먼트는 POC 리셋 플래그를 포함하는, 비디오 데이터를 디코딩하는 방법.
  12. 제 1 항에 있어서,
    상기 구문 엘리먼트를 포함하는 슬라이스 헤더를 디코딩하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  13. 제 1 항에 있어서,
    상기 일부는 상기 POC 값의 최상위 비트들 (MSB들) 을 포함하는, 비디오 데이터를 디코딩하는 방법.
  14. 비디오 데이터를 인코딩하는 방법으로서,
    픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부를 제로의 값으로 리셋할지 여부를 결정하는 단계;
    상기 POC 값의 적어도 일부를 리셋하기로 결정하는 것에 응답하여, 상기 POC 값의 일부가 제로와 동일하도록 상기 POC 값의 적어도 일부를 리셋하고, 그리고, 상기 POC 값의 적어도 일부가 상기 제로의 값으로 리셋되어야 한다고 표시하는 구문 엘리먼트에 대한 값을 인코딩하는 단계; 및
    리셋된 상기 POC 값을 이용하여 비디오 데이터를 인코딩하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  15. 제 14 항에 있어서,
    상기 구문 엘리먼트에 대한 값은 상기 POC 값의 상기 일부를 포함한 모든 비트들이 상기 제로의 값으로 리셋되어야 하는지 여부를 표시하며,
    상기 비디오 데이터를 인코딩하는 방법은, 상기 구문 엘리먼트에 대한 값이 상기 POC 값의 모든 비트들이 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 상기 POC 값의 모든 비트들이 제로와 동일하도록 상기 POC 값을 리셋하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법.
  16. 제 14 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하며,
    상기 비디오 데이터를 인코딩하는 방법은 제 1 비디오 코딩 계층에서 상기 제 1 픽처 및 제 2 비디오 코딩 계층에서 제 2 픽처를 포함하는 액세스 유닛을 형성하는 단계를 더 포함하며,
    상기 제 2 비디오 코딩 계층은 상기 제 1 비디오 코딩 계층과는 상이하며, 상기 POC 값을 리셋하기 전에, 상기 제 1 픽처에 대한 상기 POC 값은 상기 제 2 픽처에 대한 제 2 POC 값과 상이한, 비디오 데이터를 인코딩하는 방법.
  17. 제 16 항에 있어서,
    상기 리셋할지 여부를 결정하는 단계는 상기 제 2 픽처가 1 과 동일한 NoRaslOutputFlag 구문 엘리먼트를 가진 인트라 랜덤 액세스 포인트 (IRAP) 픽처를 포함할 때, 그리고 상기 제 1 픽처가 비-IRAP 픽처를 포함할 때, 상기 POC 값을 리셋하기로 결정하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  18. 제 16 항에 있어서,
    상기 액세스 유닛을 형성하는 단계는 상기 제 1 비디오 코딩 계층 및 상기 제 2 비디오 코딩 계층과는 상이한 제 3 비디오 코딩 계층에서 제 3 픽처를 포함하도록 상기 액세스 유닛을 형성하는 단계를 더 포함하며,
    상기 리셋된 POC 값을 이용하여 비디오 데이터를 인코딩하는 단계는,
    상기 제 1 픽처에 대한 인터-계층 예측을 이용하여 상기 제 3 픽처의 블록을 인코딩하는 단계; 및
    상기 리셋된 POC 값을 참조하기 위해 상기 블록의 구문 엘리먼트를 인코딩하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  19. 제 14 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하고, 상기 POC 값은 제 1 POC 값을 포함하며,
    상기 비디오 데이터를 인코딩하는 방법은, 상기 구문 엘리먼트가 상기 제 1 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때,
    제 2 픽처의 제 2 POC 값을 결정하는 단계로서, 상기 제 1 픽처 및 상기 제 2 픽처는 공통 비디오 코딩 계층 및 공통 코딩된 비디오 시퀀스에 있는, 상기 제 2 POC 값을 결정하는 단계;
    상기 제 1 POC 값과 상기 제 2 POC 값 사이의 제 1 차이를 결정하는 단계; 및
    감분된 제 2 POC 값과 리셋된 제 1 POC 값 사이의 제 2 차이가 상기 제 1 차이와 동일하도록 상기 제 2 POC 값을 감분하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법.
  20. 비디오 데이터를 코딩하는 디바이스로서,
    픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 코딩하고, 상기 구문 엘리먼트에 대한 값이 상기 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 상기 POC 값의 일부가 제로와 동일하도록 상기 POC 값의 적어도 일부를 리셋하고, 그리고 리셋된 상기 POC 값을 이용하여 비디오 데이터를 코딩하도록 구성된 비디오 코더를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  21. 제 20 항에 있어서,
    상기 구문 엘리먼트에 대한 값은 상기 POC 값의 상기 일부를 포함한 모든 비트들이 상기 제로의 값으로 리셋되어야 하는지 여부를 표시하며,
    상기 비디오 코더는 상기 구문 엘리먼트에 대한 값이 상기 POC 값의 모든 비트들이 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 상기 POC 값의 모든 비트들이 제로와 동일하도록 상기 POC 값을 리셋하도록 추가로 구성되는, 비디오 데이터를 코딩하는 디바이스.
  22. 제 20 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하며,
    상기 비디오 코더는 제 1 비디오 코딩 계층에서 상기 제 1 픽처 및 제 2 비디오 코딩 계층에서 제 2 픽처를 포함하는 액세스 유닛을 코딩하도록 구성되며,
    상기 제 2 비디오 코딩 계층은 상기 제 1 비디오 코딩 계층과는 상이하며, 상기 POC 값을 리셋하기 전에, 상기 제 1 픽처에 대한 상기 POC 값은 상기 제 2 픽처에 대한 제 2 POC 값과 상이한, 비디오 데이터를 코딩하는 디바이스.
  23. 제 22 항에 있어서,
    상기 제 2 픽처는 1 과 동일한 NoRaslOutputFlag 구문 엘리먼트를 가진 인트라 랜덤 액세스 포인트 (IRAP) 픽처를 포함하며, 상기 제 1 픽처는 순간 디코더 리프레시 (IDR) 픽처, 클린 랜덤 액세스 (CRA) 픽처, 또는 파손된 링크 액세스 (BLA) 픽처 중 하나를 포함하는 비-IRAP 픽처를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  24. 제 22 항에 있어서,
    상기 액세스 유닛은 상기 제 1 비디오 코딩 계층 및 상기 제 2 비디오 코딩 계층과는 상이한 제 3 비디오 코딩 계층에서 제 3 픽처를 더 포함하며,
    상기 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하기 위해, 상기 비디오 코더는 상기 제 1 픽처에 대한 인터-계층 예측을 이용하여 상기 제 3 픽처의 블록을, 상기 블록이 리셋된 상기 POC 값에 대한 참조를 포함할 때, 코딩하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  25. 제 20 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하며, 상기 POC 값은 제 1 POC 값을 포함하며,
    상기 비디오 코더는, 상기 구문 엘리먼트가 상기 제 1 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 제 2 픽처의 제 2 POC 값을 결정하는 것으로서, 상기 제 1 픽처 및 상기 제 2 픽처는 공통 비디오 코딩 계층 및 공통 코딩된 비디오 시퀀스에 있는, 상기 제 2 POC 값을 결정하고, 상기 제 1 POC 값과 상기 제 2 POC 값 사이의 제 1 차이를 결정하고, 그리고, 감분된 제 2 POC 값과 리셋된 제 1 POC 값 사이의 제 2 차이가 상기 제 1 차이와 동일하도록 상기 제 2 POC 값을 감분하도록 구성되는, 비디오 데이터를 코딩하는 디바이스.
  26. 제 20 항에 있어서,
    상기 구문 엘리먼트는 POC 리셋 플래그를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  27. 제 20 항에 있어서,
    상기 비디오 데이터를 코딩하는 디바이스는 상기 리셋된 POC 값을 이용하여 비디오 데이터를 디코딩하도록 구성된 비디오 디코더를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  28. 제 20 항에 있어서,
    상기 비디오 데이터를 코딩하는 디바이스는 상기 리셋된 POC 값을 이용하여 비디오 데이터를 인코딩하도록 구성된 비디오 인코더를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  29. 제 20 항에 있어서,
    상기 비디오 데이터를 코딩하는 디바이스는,
    집적 회로;
    마이크로프로세서; 및
    무선 통신 디바이스 중 적어도 하나를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  30. 비디오 데이터를 코딩하는 디바이스로서,
    픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 코딩하는 수단;
    상기 구문 엘리먼트에 대한 값이 상기 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 상기 POC 값의 일부가 제로와 동일하도록 상기 POC 값의 적어도 일부를 리셋하는 수단; 및
    리셋된 상기 POC 값을 이용하여 비디오 데이터를 코딩하는 수단을 포함하는, 비디오 데이터를 코딩하는 디바이스.
  31. 제 30 항에 있어서,
    상기 구문 엘리먼트에 대한 값은 상기 POC 값의 상기 일부를 포함한 모든 비트들이 상기 제로의 값으로 리셋되어야 하는지 여부를 표시하며,
    상기 리셋하는 수단은 상기 구문 엘리먼트에 대한 값이 상기 POC 값의 모든 비트들이 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 상기 POC 값의 모든 비트들이 제로와 동일하도록 상기 POC 값을 리셋하는 수단을 포함하는, 비디오 데이터를 코딩하는 디바이스.
  32. 제 30 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하며,
    제 1 비디오 코딩 계층에서 상기 제 1 픽처 및 제 2 비디오 코딩 계층에서 제 2 픽처를 포함하는 액세스 유닛을 코딩하는 수단을 더 포함하며,
    상기 제 2 비디오 코딩 계층은 상기 제 1 비디오 코딩 계층과는 상이하며,
    상기 POC 값을 리셋하기 전에, 상기 제 1 픽처에 대한 상기 POC 값은 상기 제 2 픽처에 대한 제 2 POC 값과 상이한, 비디오 데이터를 코딩하는 디바이스.
  33. 제 32 항에 있어서,
    상기 제 2 픽처는 1 과 동일한 NoRaslOutputFlag 구문 엘리먼트를 가진 인트라 랜덤 액세스 포인트 (IRAP) 픽처를 포함하며, 상기 제 1 픽처는 순간 디코더 리프레시 (IDR) 픽처, 클린 랜덤 액세스 (CRA) 픽처, 또는 파손된 링크 액세스 (BLA) 픽처 중 하나를 포함하는 비-IRAP 픽처를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  34. 제 32 항에 있어서,
    상기 액세스 유닛은 상기 제 1 비디오 코딩 계층 및 상기 제 2 비디오 코딩 계층과는 상이한 제 3 비디오 코딩 계층에서 제 3 픽처를 더 포함하며,
    상기 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하는 수단은, 상기 제 1 픽처에 대한 인터-계층 예측을 이용하여 상기 제 3 픽처의 블록을, 상기 블록이 상기 리셋된 POC 값에 대한 참조를 포함할 때, 코딩하는 수단을 포함하는, 비디오 데이터를 코딩하는 디바이스.
  35. 제 30 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하고, 상기 POC 값은 제 1 POC 값을 포함하며,
    상기 구문 엘리먼트가 상기 제 1 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때,
    제 2 픽처의 제 2 POC 값을 결정하는 수단으로서, 상기 제 1 픽처 및 상기 제 2 픽처는 공통 비디오 코딩 계층 및 공통 코딩된 비디오 시퀀스에 있는, 상기 제 2 POC 값을 결정하는 수단;
    상기 제 1 POC 값과 상기 제 2 POC 값 사이의 제 1 차이를 결정하는 수단; 및
    감분된 제 2 POC 값과 리셋된 제 1 POC 값 사이의 제 2 차이가 상기 제 1 차이와 동일하도록 상기 제 2 POC 값을 감분하는 수단을 더 포함하는, 비디오 데이터를 코딩하는 디바이스.
  36. 제 30 항에 있어서,
    상기 구문 엘리먼트는 POC 리셋 플래그를 포함하는, 비디오 데이터를 코딩하는 디바이스.
  37. 명령들을 저장하는 컴퓨터-판독가능 저장 매체로서,
    상기 명령들은, 실행될 때, 비디오 데이터를 코딩하는 디바이스의 프로세서로 하여금,
    픽처의 픽처 순서 카운트 (POC) 값의 적어도 일부가 제로의 값으로 리셋되어야 하는지 여부를 나타내는 구문 엘리먼트에 대한 값을 코딩하게 하고;
    상기 구문 엘리먼트에 대한 값이 상기 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 상기 POC 값의 일부가 제로와 동일하도록 상기 POC 값의 적어도 일부를 리셋하게 하고; 그리고
    리셋된 상기 POC 값을 이용하여 비디오 데이터를 코딩하게 하는, 컴퓨터-판독가능 저장 매체.
  38. 제 37 항에 있어서,
    상기 구문 엘리먼트에 대한 값은 상기 POC 값의 상기 일부를 포함한 모든 비트들이 상기 제로의 값으로 리셋되어야 하는지 여부를 표시하며,
    상기 프로세서로 하여금, 상기 구문 엘리먼트에 대한 값이 상기 POC 값의 모든 비트들이 상기 제로의 값으로 리셋되어야 한다고 표시할 때, 상기 POC 값의 모든 비트들이 제로와 동일하도록 상기 POC 값을 리셋하게 하는 명령들을 더 포함하는, 컴퓨터-판독가능 저장 매체.
  39. 제 37 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하며,
    상기 프로세서로 하여금, 제 1 비디오 코딩 계층에서 상기 제 1 픽처 및 제 2 비디오 코딩 계층에서 제 2 픽처를 포함하는 액세스 유닛을 코딩하게 하는 명령들을 더 포함하며,
    상기 제 2 비디오 코딩 계층은 상기 제 1 비디오 코딩 계층과는 상이하며,
    상기 POC 값을 리셋하기 전에, 상기 제 1 픽처에 대한 상기 POC 값은 상기 제 2 픽처에 대한 제 2 POC 값과 상이한, 컴퓨터-판독가능 저장 매체.
  40. 제 39 항에 있어서,
    상기 제 2 픽처는 1 과 동일한 NoRaslOutputFlag 구문 엘리먼트를 가진 인트라 랜덤 액세스 포인트 (IRAP) 픽처를 포함하며, 상기 제 1 픽처는 순간 디코더 리프레시 (IDR) 픽처, 클린 랜덤 액세스 (CRA) 픽처, 또는 파손된 링크 액세스 (BLA) 픽처 중 하나를 포함하는 비-IRAP 픽처를 포함하는, 컴퓨터-판독가능 저장 매체.
  41. 제 39 항에 있어서,
    상기 액세스 유닛은 상기 제 1 비디오 코딩 계층 및 상기 제 2 비디오 코딩 계층과는 상이한 제 3 비디오 코딩 계층에서 제 3 픽처를 더 포함하며,
    상기 프로세서로 하여금, 상기 리셋된 POC 값을 이용하여 비디오 데이터를 코딩하게 하는 명령들은, 상기 프로세서로 하여금, 상기 제 1 픽처에 대한 인터-계층 예측을 이용하여 상기 제 3 픽처의 블록을, 상기 블록이 상기 리셋된 POC 값에 대한 참조를 포함할 때, 코딩하게 하는 명령들을 포함하는, 컴퓨터-판독가능 저장 매체.
  42. 제 37 항에 있어서,
    상기 픽처는 제 1 픽처를 포함하며, 상기 POC 값은 제 1 POC 값을 포함하며,
    상기 프로세서로 하여금, 상기 구문 엘리먼트가 상기 제 1 POC 값의 일부가 상기 제로의 값으로 리셋되어야 한다고 표시할 때,
    제 2 픽처의 제 2 POC 값을 결정하게 하는 것으로서, 상기 제 1 픽처 및 상기 제 2 픽처는 공통 비디오 코딩 계층 및 공통 코딩된 비디오 시퀀스에 있는, 상기 제 2 POC 값을 결정하게 하고;
    상기 제 1 POC 값과 상기 제 2 POC 값 사이의 제 1 차이를 결정하게 하고; 그리고
    감분된 제 2 POC 값과 리셋된 제 1 POC 값 사이의 제 2 차이가 상기 제 1 차이와 동일하도록 상기 제 2 POC 값을 감분하게 하는 명령들을 더 포함하는, 컴퓨터-판독가능 저장 매체.
  43. 제 37 항에 있어서,
    상기 구문 엘리먼트는 POC 리셋 플래그를 포함하는, 컴퓨터-판독가능 저장 매체.
KR1020157031622A 2013-04-08 2014-04-07 비-정렬된 irap 픽처들을 포함할 수도 있는 멀티-계층 비트스트림들에 대한 교차-계층 poc 정렬 KR101818831B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361809855P 2013-04-08 2013-04-08
US61/809,855 2013-04-08
US201361846532P 2013-07-15 2013-07-15
US61/846,532 2013-07-15
US14/245,115 2014-04-04
US14/245,115 US9532052B2 (en) 2013-04-08 2014-04-04 Cross-layer POC alignment for multi-layer bitstreams that may include non-aligned IRAP pictures
PCT/US2014/033172 WO2014168872A1 (en) 2013-04-08 2014-04-07 Cross-layer poc alignment for multi-layer bitstreams that may include non-aligned irap pictures

Publications (2)

Publication Number Publication Date
KR20150140732A true KR20150140732A (ko) 2015-12-16
KR101818831B1 KR101818831B1 (ko) 2018-01-15

Family

ID=51654433

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157031622A KR101818831B1 (ko) 2013-04-08 2014-04-07 비-정렬된 irap 픽처들을 포함할 수도 있는 멀티-계층 비트스트림들에 대한 교차-계층 poc 정렬

Country Status (9)

Country Link
US (1) US9532052B2 (ko)
EP (1) EP2984844B1 (ko)
JP (1) JP6158422B2 (ko)
KR (1) KR101818831B1 (ko)
CN (1) CN105122814B (ko)
BR (1) BR112015025639B1 (ko)
ES (1) ES2773276T3 (ko)
HU (1) HUE047299T2 (ko)
WO (1) WO2014168872A1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SI4017006T1 (sl) 2011-09-22 2023-12-29 Lg Electronics, Inc. Postopek in naprava za signaliziranje informacij o sliki ter postopek za dekodiranje in naprava, ki le-tega uporablja
KR102290421B1 (ko) * 2013-04-05 2021-08-17 삼성전자주식회사 랜덤 엑세스를 위한 멀티 레이어 비디오 부호화 방법 및 그 장치, 랜덤 엑세스를 위한 멀티 레이어 비디오 복호화 방법 및 그 장치
US9525883B2 (en) * 2013-07-15 2016-12-20 Qualcomm Incorporated Cross-layer alignment of intra random access point pictures
KR20150043222A (ko) * 2013-10-12 2015-04-22 삼성전자주식회사 멀티 레이어 비디오 부호화 방법 및 그 장치, 멀티 레이어 비디오 복호화 방법 및 그 장치
US9900605B2 (en) 2013-10-14 2018-02-20 Qualcomm Incorporated Device and method for scalable coding of video information
WO2015057124A1 (en) 2013-10-14 2015-04-23 Telefonaktiebolaget L M Ericsson (Publ) Picture order count alignment in scalble video
US9628820B2 (en) 2013-11-19 2017-04-18 Qualcomm Incorporated POC value design for multi-layer video coding
US9674544B2 (en) 2013-11-25 2017-06-06 Qualcomm Incorporated POC value design for multi-layer video coding
US9942546B2 (en) 2013-12-12 2018-04-10 Qualcomm Incorporated POC value design for multi-layer video coding
CN104754347B (zh) * 2013-12-26 2019-05-17 中兴通讯股份有限公司 视频图像序号的编码、解码方法及装置、电子设备
CN104754358B (zh) * 2013-12-27 2019-02-19 中兴通讯股份有限公司 码流的生成和处理方法、装置及系统
KR102266902B1 (ko) * 2014-01-13 2021-06-18 삼성전자주식회사 멀티 레이어 비디오 부호화 방법 및 장치, 멀티 레이어 비디오 복호화 방법 및 장치
US9794595B2 (en) * 2014-03-18 2017-10-17 Qualcomm Incorporated Derivation of end of sequence NAL unit information for multi-layer bitstreams
CN112118454B (zh) * 2019-06-20 2023-02-24 腾讯美国有限责任公司 视频解码方法、设备和计算机可读存储介质
US11166038B2 (en) * 2019-06-20 2021-11-02 Tencent America LLC Method for support of scalability with adaptive picture resolution
WO2021061025A1 (en) * 2019-09-24 2021-04-01 Huawei Technologies Co., Ltd. An encoder, a decoder with picture order counter derivation
US11962936B2 (en) 2020-09-29 2024-04-16 Lemon Inc. Syntax for dependent random access point indication in video bitstreams

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10674171B2 (en) * 2011-09-27 2020-06-02 Telefonaktiebolaget Lm Ericsson (Publ) Decoders and methods thereof for managing pictures in video decoding process
KR20130037161A (ko) * 2011-10-05 2013-04-15 한국전자통신연구원 스케일러블 비디오 코딩을 위한 향상된 계층간 움직임 정보 예측 방법 및 그 장치
KR102094503B1 (ko) * 2012-04-15 2020-03-30 삼성전자주식회사 다계층 비디오 부호화 방법 및 장치, 다계층 비디오 복호화 방법 및 장치
US9807421B2 (en) * 2013-04-05 2017-10-31 Sharp Kabushiki Kaisha NAL unit type restrictions
US9591321B2 (en) * 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets

Also Published As

Publication number Publication date
EP2984844A1 (en) 2016-02-17
BR112015025639A2 (pt) 2017-07-18
US9532052B2 (en) 2016-12-27
BR112015025639A8 (pt) 2020-06-23
BR112015025639B1 (pt) 2023-03-28
HUE047299T2 (hu) 2020-04-28
US20140301439A1 (en) 2014-10-09
CN105122814A (zh) 2015-12-02
KR101818831B1 (ko) 2018-01-15
EP2984844B1 (en) 2019-11-13
JP2016518776A (ja) 2016-06-23
CN105122814B (zh) 2018-10-26
ES2773276T3 (es) 2020-07-10
JP6158422B2 (ja) 2017-07-05
WO2014168872A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
KR101818831B1 (ko) 비-정렬된 irap 픽처들을 포함할 수도 있는 멀티-계층 비트스트림들에 대한 교차-계층 poc 정렬
KR102250638B1 (ko) 비디오 정보의 스케일러블 코딩을 위한 디바이스 및 방법
KR101810302B1 (ko) 비디오 코딩에서 장기 참조 화상들의 랜덤 액세스 및 시그널링
KR101672152B1 (ko) 비디오 코딩에서의 시간 스케일러빌리티 지원에 의한 점진적 개선
KR101676938B1 (ko) 비디오 코딩을 위한 장기 참조 화상들에 대한 데이터 시그널링
AU2013280659B2 (en) Signaling long-term reference pictures for video coding
EP2982129A1 (en) Irap access units and bitstream switching and splicing
KR20140085460A (ko) 참조 화상 시그널링 및 디코딩된 화상 버퍼 관리
KR102221569B1 (ko) 멀티-계층 비디오 코딩에서의 크로스 계층 픽처 타입 정렬의 표시
JP2014511653A (ja) 復号ピクチャバッファ管理
KR20150104146A (ko) 비디오 코딩에서 비디오 타이밍을 위한 타이밍 정보 관계들로의 픽처 순서 카운트의 시그널링
KR102002207B1 (ko) 다중 계층 비디오 코딩을 위한 poc 값 설계
WO2014008136A1 (en) Signaling of long-term reference pictures for video coding
KR20160096144A (ko) 멀티-계층 비디오 코딩을 위한 poc 값 설계
PH12015500517B1 (en) Video coding with improved random access point picture behaviors
US20190141320A1 (en) Enhanced reference picture management in video coding
KR20160034321A (ko) 인트라 랜덤 액세스 포인트 픽처들의 개선된 교차-계층 정렬
KR101962523B1 (ko) 멀티-계층 비디오 코딩을 위한 poc 값 설계
KR20220003619A (ko) 비디오 코딩에서 새로운 코딩된 비디오 시퀀스를 시작하는 픽처에 대한 이전 픽처의 출력

Legal Events

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