KR20140024482A - 비디오 코딩에서 픽처 사이즈를 시그널링 - Google Patents

비디오 코딩에서 픽처 사이즈를 시그널링 Download PDF

Info

Publication number
KR20140024482A
KR20140024482A KR1020147004055A KR20147004055A KR20140024482A KR 20140024482 A KR20140024482 A KR 20140024482A KR 1020147004055 A KR1020147004055 A KR 1020147004055A KR 20147004055 A KR20147004055 A KR 20147004055A KR 20140024482 A KR20140024482 A KR 20140024482A
Authority
KR
South Korea
Prior art keywords
coding unit
size
picture
unit size
pixels
Prior art date
Application number
KR1020147004055A
Other languages
English (en)
Other versions
KR101497882B1 (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 KR20140024482A publication Critical patent/KR20140024482A/ko
Application granted granted Critical
Publication of KR101497882B1 publication Critical patent/KR101497882B1/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

비디오 인코더는 비디오 시퀀스에 포함된 하나 이상의 픽처들에 대한 픽처 사이즈를 결정하도록 구성된다. 비디오 시퀀스와 연관된 픽처 사이즈는 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈의 배수일 수도 있다. 일 예에서, 비디오 비디오 시퀀스에 한 정렬된 코딩 유닛 사이즈는 최소 코딩 유닛 사이즈를 포함할 수도 있고, 여기서 최소 코딩 유닛 사이즈는 비디오 시퀀스에서 상이한 픽처들에 대응하는 복수의 최소 코딩 유닛 사이즈들로부터 선택된다. 비디오 코더는 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈 및 픽처 사이즈를 결정하기 위해 구문 엘리먼트들을 획득하도록 구성된다. 비디오 디코더는 픽처 사이즈로 비디오 시퀀스에 포함된 픽처들을 디코딩하고, 디코딩된 픽처들을 디코딩된 픽처 버퍼에 저장한다.

Description

비디오 코딩에서 픽처 사이즈를 시그널링{SIGNALING PICTURE SIZE IN VIDEO CODING}
본 출원은 2011년 7월 17일자로 출원된 미국 가출원 제 61/508,659 호; 2011년 9월 2일자로 출원된 미국 가출원 제 61/530,819 호; 및 2011년 10월 20일자로 출원된 미국 가출원 제 61/549,480 호의 이점을 청구하며, 이들 각각은 그 전체가 참조에 의해 본원에 통합된다.
기술 분야
본 개시물은 비디오 코딩 분야에 관한 것이다.
디지털 비디오 성능들은, 디지털 텔레비전들, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대정보 단말기 (PDA) 들, 랩탑 또는 데스크탑 컴퓨터들, 태블릿 컴퓨터들, e-북 리더기들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, "스마트폰들" 이라 불리는 셀룰러 또는 위성 무선 전화기들, 비디오 원격회의 디바이스들, 비디오 스트리밍 디바이스들을 포함하는 광범위의 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은, 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 차원 벡터를 생성하기 위해 스캐닝될 수도 있고, 엔트로피 코딩은 더 많은 압축을 달성하기 위해 적용될 수도 있다.
일반적으로, 본 개시물은 비디오 시퀀스의 픽처들 또는 프레임들에 포함된 비디오 데이터를 코딩하기 위한 기술들을 설명한다. 특히, 본 개시물은 비디오 시퀀스에서의 픽처들의 그룹에 대한 픽처 사이즈가 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈에 기초하여 코딩될 수도 있는 기술들을 설명한다. 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈는 비디오 코딩 방식에 의해 지원된 몇몇 가능한 코딩 유닛 사이즈들로부터 선택될 수도 있다. 본 개시물의 기술들은 비디오 시퀀스에서 하나 이상의 픽처들에 대하여 정렬된 코딩 유닛 사이즈를 시그널링하고, 하나 이상의 픽처들에 대한 사이즈를 최소 코딩 유닛의 배수로 코딩하는 것을 포함한다.
본 개시물의 일 실시예에서, 비디오 데이터를 인코딩하는 방법은, 비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대해 최소 코딩 유닛 사이즈를 결정하는 단계로서, 상기 최소 코딩 유닛 사이즈는 최대 가능한 코딩 유닛 사이즈를 포함하는 복수의 가능한 코딩 유닛 사이즈들로부터 선택되는, 상기 최소 코딩 유닛 사이즈를 결정하는 단계; 상기 복수의 가능한 코딩 유닛 사이즈들에 기초하여 상기 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈를 결정하는 단계; 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 단계로서, 상기 비디오 시퀀스와 연관된 상기 픽처 사이즈는 상기 정렬된 코딩 유닛 사이즈의 배수인, 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 단계; 및 시퀀스 레벨 구문 정보에서 정렬된 코딩 유닛 사이즈 값을 시그널링하는 단계를 포함한다.
다른 예에서, 비디오 데이터를 디코딩하는 방법은, 제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처 및 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득하는 단계; 디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득하는 단계로서, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈, 상기 제 2 코딩 유닛 사이즈, 또는 최대 코딩 유닛 사이즈 중 하나의 배수인, 상기 디코딩된 픽처의 픽처 사이즈를 획득하는 단계; 및 상기 디코딩된 픽처를 디코딩된 픽처 버퍼에 저장하는 단계를 포함한다.
다른 예에서, 비디오 데이터를 인코딩하는 장치는, 비디오 인코딩 디바이스를 포함하며, 비디오 인코딩 디바이스는, 비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대해 최소 코딩 유닛 사이즈를 결정하는 것으로서, 상기 최소 코딩 유닛 사이즈는 최대 가능한 코딩 유닛 사이즈를 포함하는 복수의 가능한 코딩 유닛 사이즈들로부터 선택되는, 상기 최소 코딩 유닛 사이즈를 결정하고; 상기 복수의 가능한 코딩 유닛 사이즈들에 기초하여 상기 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈를 결정하고; 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 것으로서, 상기 비디오 시퀀스와 연관된 상기 픽처 사이즈는 상기 정렬된 코딩 유닛 사이즈의 배수인, 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하며; 그리고 시퀀스 레벨 구문 정보에서 정렬된 코딩 유닛 사이즈 값을 시그널링하도록 구성된다.
다른 예에서, 비디오 데이터를 디코딩하는 장치는, 비디오 디코딩 디바이스를 포함하며, 비디오 디코딩 디바이스는, 제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처 및 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득하고; 디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득하는 것으로서, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈, 상기 제 2 코딩 유닛 사이즈, 또는 최대 코딩 유닛 사이즈 중 하나의 배수인, 상기 디코딩된 픽처의 픽처 사이즈를 획득하며; 그리고 상기 디코딩된 픽처를 디코딩된 픽처 버퍼에 저장하도록 구성된다.
다른 예에서, 비디오 데이터를 인코딩하도록 구성된 디바이스는, 비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대해 최소 코딩 유닛 사이즈를 결정하는 수단으로서, 상기 최소 코딩 유닛 사이즈는 최대 가능한 코딩 유닛 사이즈를 포함하는 복수의 가능한 코딩 유닛 사이즈들로부터 선택되는, 상기 최소 코딩 유닛 사이즈를 결정하는 수단; 상기 복수의 가능한 코딩 유닛 사이즈들에 기초하여 상기 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈를 결정하는 수단; 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 수단으로서, 상기 비디오 시퀀스와 연관된 상기 픽처 사이즈는 상기 정렬된 코딩 유닛 사이즈의 배수인, 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 수단; 및 시퀀스 레벨 구문 정보에서 정렬된 코딩 유닛 사이즈 값을 시그널링하는 수단을 포함한다.
다른 예에서, 비디오 데이터를 디코딩하도록 구성된 디바이스는, 제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처 및 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득하는 수단; 디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득하는 수단으로서, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈, 상기 제 2 코딩 유닛 사이즈, 또는 최대 코딩 유닛 사이즈 중 하나의 배수인, 상기 디코딩된 픽처의 픽처 사이즈를 획득하는 수단; 및 상기 디코딩된 픽처를 디코딩된 픽처 버퍼에 저장하는 수단을 포함한다.
다른 예에서, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체로서, 상기 저장된 명령들은, 실행될 경우, 프로세서로 하여금, 비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대해 최소 코딩 유닛 사이즈를 결정하게 하는 것으로서, 상기 최소 코딩 유닛 사이즈는 최대 가능한 코딩 유닛 사이즈를 포함하는 복수의 가능한 코딩 유닛 사이즈들로부터 선택되는, 상기 최소 코딩 유닛 사이즈를 결정하게 하고; 상기 복수의 가능한 코딩 유닛 사이즈들에 기초하여 상기 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈를 결정하게 하고; 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하게 하는 것으로서, 상기 비디오 시퀀스와 연관된 상기 픽처 사이즈는 상기 정렬된 코딩 유닛 사이즈의 배수인, 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하게 하며; 그리고 시퀀스 레벨 구문 정보에서 정렬된 코딩 유닛 사이즈 값을 시그널링하게 한다.
다른 예에서, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체는, 상기 저장된 명령들은, 실행될 경우, 프로세서로 하여금, 제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처 및 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득하게 하고; 디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득하게 하는 것으로서, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈, 상기 제 2 코딩 유닛 사이즈, 또는 최대 코딩 유닛 사이즈 중 하나의 배수인, 상기 디코딩된 픽처의 픽처 사이즈를 획득하게 하며; 그리고 상기 디코딩된 픽처를 디코딩된 픽처 버퍼에 저장하게 한다.
하나 이상의 실시예들의 상세들은 첨부된 도면들과 하기의 설명으로부터 설명된다. 다른 특징들, 목적들, 및 이점들은 설명, 도면들, 및 특허청구범위로부터 명확해질 것이다.
도 1 은 예시적인 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다.
도 2 는 본 개시물에 설명된 기술들을 구현할 수도 있는 예시적인 비디오 인코더를 예시하는 블록도이다.
도 3 은 본 개시물의 기술들에 따라 비디오 데이터를 인코딩하기 위한 예시적인 기술을 예시하는 흐름도이다.
도 4 는 본 개시물에 설명된 기술들을 구현할 수도 있는 예시적인 비디오 디코더를 예시하는 블록도이다.
도 5 는 본 개시물의 기술들에 따라 비디오 데이터를 디코딩하기 위한 예시적인 기술을 예시하는 흐름도이다.
비디오 시퀀스는 픽처들의 그룹을 포함할 수도 있다. 픽처들의 그룹에서 각 픽처는 최소 코딩 유닛 사이즈를 가질 수도 있다. 일 예로서, 최소 코딩 유닛 사이즈는 다음의 픽셀 또는 샘플 크기들 : 4 개 픽셀들, 8 개 픽셀들, 16 개 픽셀들, 32 개 픽셀들, 및 64 개 픽셀들 중 하나를 가지는 직사각형 또는 정사각형일 수도 있다. 비디오 시퀀스의 코딩 효율을 증가시키기 위해, 비디오 시퀀스에 대한 최소 코딩 유닛 사이즈를 결정하고, 픽처들의 그룹에 대하여 규정하는 것이 유용할 수도 있으며, 여기서 픽처 사이즈는 비디오 시퀀스에 대한 최소 코딩 유닛 사이즈의 최소치의 배수이다.
도 1 은 본 개시물의 기술들을 구현할 수도 있는 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 의 일 예를 예시하는 블록도이다. 도 1 에 도시된 바와 같이, 시스템 (10) 은 인코딩된 비디오를 통신 채널 (15) 을 통해 목적지 디바이스 (16) 로 송신하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 임의의 광범위의 디바이스들을 포함할 수도 있다. 일부 경우들에서, 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 무선 통신 디바이스 핸드셋들, 예컨대 소위 셀룰러 또는 위성 무선 전화기들을 포함할 수도 있다. 그러나, 일반적으로 인코딩 및 디코딩에 적용하는 본 개시물의 기술들은, 비디오 인코딩 및/또는 디코딩 성능들을 포함하는 비-무선 디바이스들에 적용될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 본원에서 설명된 기술들을 지원할 수 있는 코딩 디바이스들의 예들에 불과하다.
도 1의 예에서, 소스 디바이스 (12) 는 비디오 소스 (20), 비디오 인코더 (22), 변조기/복조기 (모뎀; 23) 및 송신기 (24) 를 포함할 수도 있다. 목적지 디바이스 (16) 는 수신기 (26), 모뎀 (27), 비디오 디코더 (28), 및 디스플레이 디바이스 (30) 를 포함할 수도 있다.
비디오 소스 (20) 는 비디오 캡쳐 디바이스, 예컨대 비디오 카메라, 이전에 캡쳐된 비디오를 포함하는 비디오 아카이브, 비디오의 다른 소스 또는 비디오 컨텐츠 공급자로부터의 비디오 피드 (video feed) 를 포함할 수도 있다. 추가의 대안으로서, 비디오 소스 (20) 는 소스 비디오로서 컴퓨터 그래픽 기반의 데이터, 또는 라이브 비디오, 아카이브화된 비디오, 및 컴퓨터에 의해 생성된 비디오의 조합을 생성할 수도 있다. 일부 경우들에서, 비디오 소스 (20) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (16) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 각각의 경우에서, 캡쳐된, 프리캡쳐된, 또는 컴퓨터 생성된 비디오는 비디오 인코더 (22) 에 의해 인코딩될 수도 있다.
일부 예들에서 (그러나, 모든 경우는 아님), 비디오 데이터가 비디오 인코더 (22) 에 의해 인코딩되면, 인코딩된 비디오 정보는 통신 표준, 예를 들면, 코드 분할 다중 액세스 (CDMA), 직교 주파수 분할 멀티플렉싱 (OFDM) 또는 임의의 다른 통신 표준 또는 기술에 따라 모뎀 (23) 에 의해 변조될 수도 있다. 그 후에, 인코딩되고 변조된 데이터는 송신기 (24) 를 통해 목적지 디바이스 (16) 로 송신될 수 있다. 모뎀 (23) 은 여러 가지의 믹서들, 필터들, 증폭기들 또는 신호 변조를 위해 설계된 다른 컴포넌트들을 포함할 수도 있다. 송신기 (24) 는, 증폭기들, 필터들 및 하나 이상의 안테나들을 포함하는, 데이터를 송신하기 위해 설계된 회로들을 포함할 수도 있다. 목적지 디바이스 (16) 의 수신기 (26) 는 채널 (15) 을 통해 정보를 수신하고, 모뎀 (27) 은 그 정보를 복조한다. 비디오 디코더 (28) 에 의해 수행되는 비디오 디코딩 프로세스는 비디오 인코더 (22) 에 의해 수행된 인코딩 기술들에 대하여 상호적인 (reciprocal) 기술들을 포함할 수도 있다.
통신 채널 (15) 은 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체, 또는 무선 및 유선 매체들의 임의의 조합을 포함할 수도 있다. 통신 채널 (15) 은 패킷 기반의 네트워크, 예컨대 근거리 통신망, 원거리 통신망, 또는 인터넷과 같은 글로벌 네트워크의 일부를 형성할 수도 있다. 통신 채널 (15) 은 일반적으로, 소스 디바이스 (12) 로부터 목적지 디바이스 (16) 로 비디오 데이터를 송신하기 위한, 임의의 적절한 통신 매체, 또는 상이한 통신 매체의 집합체 (collection) 를 나타낸다. 다시, 도 1 은 단지 예일 뿐이며 본 개시물의 기술들은 인코딩 및 디코딩 디바이스들 사이의 임의의 데이터 통신을 필수적으로는 포함하지 않는 비디오 코딩 설정들 (예를 들면, 비디오 인코딩 또는 비디오 디코딩) 에 적용될 수도 있다. 다른 예들에서, 데이터는 로컬 메모리로부터 취출되거나, 네트워크를 통해 스트리밍되는 등등을 할 수 있다. 인코딩 디바이스는 데이터를 인코딩하여 메모리에 저장할 수도 있고, 및/또는 디코딩 디바이스는 메모리로부터 데이터를 취출하여 디코딩할 수도 있다. 다수의 경우에, 인코딩 및 디코딩은, 서로 통신하는 것이 아니라, 데이터를 메모리로 간단히 인코딩하고 및/또는 메모리로부터 데이터를 취출 및 디코딩하는, 관련 없는 디바이스들에 의해 수행된다. 예를 들어, 비디오 데이터가 인코딩된 후에, 비디오 데이터는 송신 또는 저장을 위해 패킷화될 수도 있다. 비디오 데이터는 ISO (International Organization for Standardization) 기반 미디어 파일 포맷 및 그 확장물들, 예컨대 AVC 와 같은 임의의 다양한 표준들을 따르는 비디오 파일로 어셈블링될 수도 있다.
일부 경우들에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 신흥 HEVC 표준과 같은 비디오 압축 표준에 따라 실질적으로 동작할 수도 있다. 그러나, 본 개시물의 기술들은, 몇몇 이전 표준들, 또는 새로운 또는 신흥 표준들을 포함하는 다양한 다른 비디오 코딩 표준들의 상황에서도 또한 적용될 수도 있다. 도 1 에 도시되지 않았지만, 일부 경우들에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 각각은 오디오 인코더 및 디코더와 통합될 수도 있고, 공통 데이터 스트림 또는 개별적인 데이터 스트림들에서 오디오 및 비디오 양자의 인코딩을 핸들링하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용 가능하다면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 유저 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜을 따를 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 각각은, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 반도체들 (ASIC들), 필드 프로그램가능 게이트 어레이들 (FPGA들), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 조합들로서 구현될 수도 있다. 비디오 인코더 (22) 및 비디오 디코더 (28) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 것이라도 결합된 인코더/디코더 (CODEC) 의 일부로서 각각의 모바일 디바이스, 가입자 디바이스, 브로드캐스트 디바이스, 서버, 등등에 통합될 수도 있다. 본 개시물에서, 용어, 코더는 인코더, 디코더, 또는 CODEC을 지칭하며, 용어들, 코더, 인코더, 디코더 및 CODEC 모두는 본 개시물에 따른 비디오 데이터의 코딩 (인코딩 및/또는 디코딩) 을 위해 설계된 특정 머신들을 지칭한다. 본 개시물에서, 용어 "코딩" 은 인코딩 및/또는 디코딩 중 하나 또는 양자를 지칭할 수도 있다.
일부 경우들에서, 소스 디바이스 (12) 와 목적지 디바이스 (16) 는 실질적으로 대칭적 방식으로 동작할 수도 있다. 예를 들면, 소스 디바이스 (12) 와 목적지 디바이스 (16) 각각은 비디오 인코딩 및 디코딩 컴포넌트들을 포함할 수도 있다. 그러므로, 시스템 (10) 은, 예를 들면, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 또는 화상 전화를 위해, 소스 디바이스 (12) 와 목적지 디바이스 (16) 사이의 일방향 또는 양방향 비디오 송신을 지원할 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 는 코딩되는 비디오 블록이 예측 블록을 식별하기 위해 하나 이상의 예측 후보들과 비교되는 예측 코딩을 수행할 수도 있다. 비디오 블록들은 개별 비디오 프레임들 또는 픽처들 (또는 슬라이스들과 같은, 비디오의 다른 독립적으로 정의된 유닛들) 내에 존재할 수도 있다. 프레임들, 슬라이스들, 프레임들의 부분들, 픽처들의 그룹들, 또는 다른 데이터 구조들은 비디오 블록들을 포함하는 비디오 정보의 유닛들로서 정의될 수도 있다. 예측 코딩의 프로세스는, 인트라 (이 경우, 예측 데이터가 동일한 비디오 프레임 또는 슬라이스 내의 이웃하는 인트라 데이터에 기초하여 생성됨) 일 수도 있거나, 인터 (이 경우, 예측 데이터는 이전 또는 이후 프레임들 또는 슬라이스들에서의 비디오 데이터에 기초하여 생성됨) 일 수도 있다. 비디오 인코더 (22) 및 비디오 디코더 (28) 는 몇몇 상이한 예측 코딩 모드들을 지원할 수도 있다. 비디오 인코더 (22) 는 바람직한 비디오 코딩 모드를 선택할 수도 있다. 예측 코딩에서, 예측 블록이 식별된 후에, 코딩되고 있는 현재 비디오 블록과 예측 블록 간의 차이들은 잔여 블록으로서 코딩되며, (인터 코딩의 경우에 모션 벡터 또는 인트라 코딩의 경우에 예측 모드와 같은) 예측 신택스가 예측 블록을 식별하는데 이용된다. 일부 경우들에서, 잔여 블록은 변환되고 양자화될 수도 있다. 변환 기술들은 DCT 프로세스 또는 개념적으로 유사한 프로세스, 정수 변환들, 웨이블릿 변환들, 또는 다른 타입의 변환들을 포함할 수도 있다. DCT 프로세스, 일 예로서, 변환 프로세스는 픽셀 값들 (예를 들면, 잔여 픽셀 값들) 의 세트를 변환 계수들로 변환하는데, 이것은 주파수 도메인에서 픽셀 값들의 에너지를 나타낼 수도 있다. 비디오 인코더 (22) 및 비디오 디코더 (28) 는 양자화를 변환 계수들을 적용할 수도 있다. 양자화는 일반적으로, 임의의 주어진 변환 계수와 연관된 비트들의 수를 제한하는 프로세스를 수반한다.
변환 및 양자화에 후속하여, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 양자화되고 변환된 잔여 비디오 블록들에 엔트로피 코딩을 수행할 수도 있다. 비디오 인코더 (22) 는 디코딩 프로세스에서 비디오 디코더 (28) 에 의해 이용될 인코딩 프로세스의 부분으로서 구문 엘리먼트들을 생성할 수도 있다. 비디오 인코더 (22) 는 또한, 구문 엘리먼트들을 엔트로피 인코딩하고, 구문 엘리먼트들을 인코딩된 비트스트림에 포함시킬 수도 있다. 일반적으로, 엔트로피 코딩은, 다른 구문 정보 및/또는 양자화된 변환 계수들의 시퀀스를 총체적으로 압축하는 하나 이상의 프로세스들을 포함한다. 비디오 인코더 (22) 및 비디오 디코더 (28) 는 2차원 비디오 블록들로부터 계수들의 하나 이상의 직렬화된 1차원 벡터들을 정의하기 위해, 양자화된 변환 계수들에 스캐닝 기술들을 수행할 수도 있다. 그 후에, 스캐닝된 계수들은, 예를 들면, 컨텐츠 적응형 가변 길이 코딩 (CAVLC), 컨텍스트 적응형 이진 산술 코딩 (CABAC), 또는 다른 엔트로피 코딩 프로세스를 통해, 임의의 구문 정보와 함께 엔트로피 코딩될 수도 있다.
일부 예들에서, 인코딩 프로세스의 부분으로서, 비디오 인코더 (22) 는 후속하는 비디오 블록들의 후속하는 예측 기반의 코딩을 위해 이용되는 비디오 데이터를 생성하기 위해, 인코딩된 비디오 블록들을 디코딩할 수도 있다. 이것은 종종 인코딩 프로세스의 디코딩 루프로 지칭되며, 일반적으로 디코더 디바이스에 의해 수행되는 디코딩을 모방한다. 디코더 또는 인코더의 디코딩 루프에서, 비디오 품질을 개선하고, 예를 들면, 픽셀 경계들을 평활화하고, 가능하면 디코딩된 비디오에서 아티팩트들을 제거하기 위해, 필터링 기술들이 이용될 수도 있다. 이 필터링은 인 루프 (in-loop) 일 수도 있고 포스트 루프 (post-loop) 일 수도 있다. 인 루프 필터링에 의하면, 재구성된 비디오 데이터의 필터링은 코딩 루프에서 발생하는데, 이것은 후속 이미지 데이터의 예측시 후속 이용을 위해, 필터링된 데이터가 인코더 또는 디코더에 의해 저장되는 것을 의미한다. 대조적으로, 포스트 루프 필터링에 의하면, 재구성된 비디오 데이터의 필터링은 코딩 루프 밖에서 발생하는데, 이것은 후속 이미지 데이터의 예측시 후속 이용을 위해, 데이터의 필터링되지 않은 버전들이 인코더 또는 디코더에 의해 저장되는 것을 의미한다. 루프 필터링은 개별적인 디블록 필터링 프로세스에 종종 후속하는데, 이것은 비디오 블록 경계들에서 명백한 블록화 아티팩트들 (blockiness artifacts) 을 제거하기 위해 인접한 비디오 블록들의 경계들 상에 있는 또는 경계들 근처에 있는 픽셀들에 필터링을 통상 적용한다.
현재 고효율 비디오 코딩 (HEVC) 으로 지칭되는 새로운 비디오 코딩 표준을 개발하기 위한 노력들이 현재 진행중이다. 다음 표준은 또한, H.265 로 지칭된다. "HEVC Working Draft 3" 또는 "WD3" 으로 지칭되는 HEVC 표준의 최신 드래프트는, 문서 JCTVC-E603, Wiegand 등의 "High efficiency video coding (HEVC) text specification draft 3", ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 의 Joint Collaborative Team on Video Coding (JCT-VC), 5th Meeting: Geneva, CH, 16-23 March, 2011 에서 설명되며, 이는 그 전체가 본원에 참조로서 통합된다. 표준화 노력들은 HEVC 테스트 모델 (HM) 로서 지칭되는 비디오 코딩 디바이스의 모델에 기초한다. HM 은 ITU-T H.264/AVC 에 따라 비디오 데이터를 코딩하도록 구성된 디바이스들에 대하여 비동 코딩 디바이스들의 몇몇 능력들을 추정한다. 예를 들어, H.264 가 9 개의 인트라 예측 인코딩 모드들을 제공하는 반면, HM 은 34 개보다 많은 인트라 예측 인코딩 모드들을 제공한다. 비디오 인코더 (22) 는 HEVC 표준 및 HEVC 테스트 모델과 일치하는 비디오 데이터의 블록들에 동작할 수도 있다.
HEVC 표준은 비디오 데이터의 블록들에 대한 블록 사이즈들 및 특정 용어들을 포함한다. 특히, HEVC 는 용어들, 최대 코딩 유닛 (LCU), 코딩 유닛 (CU), 예측 유닛 (PU), 및 변환 유닛 (TU) 을 포함한다. LCU들, CU들, PU들 및 TU들은 모두 본 개시물의 의미 내에서 비디오 블록들이다. 본 개시물은 또한 임의의 LCU, CU, PU 또는 TU 를 지칭하기 위해 용어 블록을 사용한다. HEVC 에서, 구문 엘리먼트들은 LCU 레벨, CU 레벨, PU 레벨 및 TU 레벨에서 정의될 수도 있다. HEVC 에서, LCU 는 주어진 상황에서 지원되는 픽셀들의 수와 관련하여 최대 코딩 유닛인, 최대 크기의 코딩 유닛을 지칭한다. 일반적으로, HEVC 에서 CU 는, CU 가 사이즈 구분을 가지지 않는다는 점을 제외하면, H.264 의 매크로블록에 유사한 목적을 갖는다. 따라서, CU 는 서브-CU들로 분할될 수도 있고, LCU 는 더 작은 CU들로 파티셔닝될 수도 있다. 추가로, CU들은 예측의 목적을 위해 예측 유닛들 (PU들) 로 파티셔닝될 수도 있다. PU 는 대응하는 CU 의 전부 또는 일부분을 나타낼 수도 있고, PU 에 대한 참조 샘플을 취출하기 위한 데이터를 포함할 수도 있다. PU들은 정사각형 또는 직사각형 형상들을 가질 수도 있다. TU들은 양자화될 수도 있는, 변환 계수들을 생성하기 위해 변환될 수도 있는 픽셀 차이 값들 또는 픽셀 잔여치들의 세트를 나타낸다. 변환들은 HEVC 표준에서 고정되는 것이 아니라, 소정의 CU 와 동일한 사이즈일 수도 있거나, 가능하면 더 작을 수도 있는 변환 유닛 (TU) 사이즈들에 따라 정의된다.
HEVC 에서, LCU 는 쿼드트리 데이터 구조와 연관될 수도 있다. 또한, 일부 예들에서, CU 에 대응하는 잔여 샘플들은 "잔여 쿼드 트리" (RQT) 로 공지된 쿼드트리 구조를 포함하는 쿼드트리 파티셔닝 방식을 이용하여 더 작은 유닛들로 세분화될 수도 있다. 일반적으로, 쿼드트리 데이터 구조는 CU 마다 하나의 노드를 포함하며, 여기서 루트 노드는 LCU 에 대응할 수도 있다. 예를 들어, CU0 는 LCU 를 지칭할 수도 있고, CU1 내지 CU4 는 LCU 의 서브-CU들을 포함할 수도 있다. 만약 CU 가 4 개의 서브-CU들로 분할된다면, CU 에 대응하는 노드는, 그 각각이 서브-CU들 중 하나에 대응하는 4 개의 리프 노드들을 포함한다. 쿼드트리 데이터 구조의 각각의 노드는 대응하는 CU 에 대한 구분 데이터를 제공할 수도 있다. 예를 들어, 쿼드트리에서의 노드는 그 노드에 대응하는 CU 가 서브-CU들로 분할되는지 여부를 나타내기 위해 CU-레벨 구문에서 분할 플래그를 포함할 수도 있다. CU 에 대한 구문 엘리먼트들은 재귀적으로 정의될 수도 있고, CU가 서브-CU들로 분할되는지 여부에 의존할 수도 있다. CU 가 추가로 분할되지 않는다면, 리프-CU 로 지칭된다. 본 개시물에서, 리프-CU 의 4 개의 서브-CU들은 또한 원래의 리프-CU의 명확한 분할이 발생하지 않을 경우에도 리프-CU들로 지칭된다. 예를 들어, 16×16 사이즈에서 CU 가 추가로 분할되지 않는다면, 4 개의 8×8 서브-CU들은 또한, 16×16 CU 가 결코 분할되지 않았더라도 리프-CU들로 지칭될 것이다.
RQT 의 리프-CU들의 리프 노드들은 TU들에 대응할 수도 있다. 즉, 리프-CU는, 리프-CU가 TU들로 파티셔닝되는 방식을 나타내는 쿼드트리를 포함할 수도 있다. 리프-CU 는 하나 이상의 변환 유닛들 (TU들) 을 포함할 수도 있다. 본 개시물은 LCU 가 CU 쿼드트리로 파티셔닝되는 방식을 나타내는 쿼드트리 및 리프-CU 가 TU 쿼드트리로서 TU들로 파티셔닝되는 방식을 나타내는 쿼드트리를 참조한다. TU 쿼드트리의 루트 노드는 리프-CU 에 대응하는 반면, CU 쿼드트리의 루트 노드는 일반적으로 LCU 에 대응한다. 분할되지 않는 TU 쿼드트리의 TU들은, 리프-TU들로 지칭된다. 분할 플래그는 리프-CU가 4 개의 변환 유닛들로 분할되는지 여부를 나타낼 수도 있다. 그 후에, 각각의 변환 유닛은 4 개의 서브 TU들로 추가로 분할될 수도 있다. TU 가 추가로 분할되지 않을 경우, 리프-TU로 지칭될 수도 있다.
추가로, 리프-CU들의 리프 노드들은 하나 이상의 예측 유닛들 (PU들) 을 포함할 수도 있다. 예를 들어, PU 가 인터-모드 인코딩될 경우, PU 는 PU 에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. 모션 벡터를 정의하는 데이터는, 예컨대, 모션 벡터의 수평 성분, 모션 벡터의 수직 성분, 모션 벡터의 분해능 (예컨대, 1/4 픽셀 정확도 또는 1/8 픽셀 정확도), 모션 벡터가 가리키는 참조 프레임, 및/또는 모션 벡터에 대한 참조 리스트 (예컨대, 리스트 0 또는 리스트 1) 를 설명할 수도 있다. PU(들) 을 정의하는 리프-CU 에 대한 데이터는 또한, 예컨대 CU 를 하나 이상의 PU들로 파티셔닝하는 것을 설명할 수도 있다. 파티셔닝 모드들은 CU 가 언코딩되는지, 인트라-예측 모드 인코딩되는지, 또는 인터 예측 모드 인코딩되는지 여부에 의존하여 달라질 수도 있다. 인트라 코딩을 위해, PU 는 이하 설명되는 리프 변환 유닛과 동일하게 취급될 수도 있다.
일반적으로, HEVC 에서의 인트라 코딩을 위해, 리프-CU 에 속하는 모든 리프-TU들은 동일한 인트라 예측 모드를 공유한다. 즉, 동일한 인트라-예측 모드는 일반적으로, 리프-CU 의 모든 TU들에 대한 예측된 값들을 계산하도록 적용된다. 인트라 코딩을 위해, 비디오 인코더 (22) 는 TU 에 대응하는 예측 값들의 부분과 원래의 블록 간의 차이로서, 인트라 예측 모드를 이용하여 각각의 리프-TU 에 대한 잔여 값을 계산할 수도 있다. 잔여 값은 변환되고, 양자화되고, 스캔될 수도 있다. HEVC 에서의 인터 코딩을 위해, 비디오 인코더 (22) 는 PU 레벨에서 예측을 수행할 수도 있고, 각각의 PU 에 대한 잔여치를 계산할 수도 있다. 리프-CU 에 대응하는 잔여 값들은 변환되고, 양자화되고, 스캔될 수도 있다. 인터 코딩을 위해, 리프-TU 는 PU 보다 크거나 작을 수도 있다. 인트라 코딩을 위해, PU 는 대응하는 리프-TU 와 함께 위치될 수도 있다. 일부 예들에서, 리프-TU 의 최대 사이즈는 대응하는 리프-CU 의 사이즈일 수도 있다.
전술된 것과 같이, HEVC 표준은 상이한 CU 들에 대하여 상이할 수도 있는 변환 유닛들 (TU들) 에 따른 변환들을 허용한다. TU들은 통상적으로 파티셔닝된 LCU 에 대하여 정의된 소정 CU 내의 PU들의 사이즈에 기초하여 사이징되지만, 이는 항상 그러한 것은 아닐 수도 있다. TU들은 통상적으로 PU들과 동일한 사이즈이거나 더 작다. TU들과 연관된 픽셀 차이 값들은 양자화될 수도 있는 변환 계수들을 생성하도록 변환될 수도 있다. 추가로, 양자화는 LCU 레벨에서 정의된 양자화 파라미터 (QP) 에 적용될 수도 있다. 따라서, 동일한 레벨의 양자화가 LCU 내의 CU들의 상이한 PU들과 연관된 TU들에서의 모든 변환 계수들에 적용될 수도 있다. 그러나, QP 자체를 시그널링하는 것보다, QP 의 변경 또는 차이 (델타) 가 이전의 LCU 에 대한 QP 의 변경을 나타내도록, LCU 로 시그널링될 수도 잇다.
비디오 인코더 (22) 는 HEVC 표준에 따라 정의된 LCU들, CU들, PU들 및 TU들을 비디오 코딩 정보의 유닛들로서 이용함으로써, 픽처들, 프레임들, 슬라이스들, 프레임들의 부분들, 픽처들의 그룹들, 또는 다른 비디오 데이터의 비디오 인코딩을 수행할 수도 있다.
예를 들어, 비디어 인코더 (22) 는 최대 코딩 유닛들 (LCU들) 을 포함하는 비디오 데이터의 하나 이상의 픽처들을 인코딩할 수도 있으며, 여기서 LCU들은 쿼드트리 파티셔닝 방식에 따라 블록-사이즈의 코딩된 유닛들 (CU들) 의 세트로 파티셔닝된다 비디오 인코더 (22) 및 비디오 디코더 (28) 는 HEVC 표준과 일치하는 다양한 사이즈들을 가지는 CU들을 이용할 수도 있다. 예를 들어, 비디오 인코더 (22) 는 64×64, 32×32, 16×16, 8×8 및 4×4 픽셀들의 가능한 CU 사이즈들을 이용할 수도 있다. 소정의 비디오 시퀀스에 대하여, 비디오 인코더 (22) 는 비디오 시퀀스에서의 모든 픽처들에 대하여 64×64 픽셀들의 최대 CU 사이즈를 이용할 수도 있는 반면, 비디오 시퀀스에서의 일부 픽처들은 4×4 픽셀들의 최소 가능한 CU 사이즈를 이용하여 인코딩될 수도 있고, 비디오 시퀀스에서의 다른 픽처들은 8×8 픽셀들의 최소 CU 사이즈를 이용하여 인코딩될 수도 있다.
전술된 것과 같이, 본 개시물에서 CU 에 대한 참조들은 LCU 의 서브-CU 또는 픽처의 최대 코딩 유닛을 지칭한다. 비디오 인코더 (22) 는 LCU 를 서브-CU들로 분할할 수도 있고, 각각의 서브-CU 는 추가로 서브-CU들로 분할될 수도 있다. 비디오 인코더 (22) 는 LCU 가 분할되는 최대 횟수를 나타내도록 정의된 비트스트림에 대한 구문 데이터를 포함할 수도 있다. LCU 가 분할되는 횟수는 CU 깊이로 지칭될 수도 있다.
추가로, 비디오 인코더 (22) 는 또한 비디오 시퀀스에서의 각 픽처에 대한 최소 코딩 유닛 (SCU) 을 정의할 수도 있다. SCU 는 몇몇 가능한 CU 사이즈들이 사용가능한 경우, 일 픽처를 코딩하는데 이용되는 최소 코딩 유닛 사이즈를 지칭할 수도 있다. 예를 들어, 비디오 인코더 (22) 는 비디오 시퀀스에서의 픽처들을 인코딩하기 위해 가능한 CU 사이즈들 64×64, 32×32, 16×16, 8×8 및 4×4 픽셀들 중 하나를 이용하도록 구성될 수도 있다. 일 예에서, 비디오 시퀀스에서의 모든 픽처들은 동일한 SCU 사이즈, 예컨대 4×4 픽셀들 또는 8×8 픽셀들을 이용하여 인코딩될 수도 있다. 다른 예들에서, 비디오 시퀀스에서의 일부 픽처들은 4×4 픽셀들의 SCU 사이즈를 이용하여 인코딩될 수도 있는 반면, 비디오 시퀀스에서의 다른 픽처들은 8×8 픽셀들의 SCU 사이즈를 이용하여 인코딩될 수도 있다. 따라서, 이 예에서, 비디오 시퀀스에서의 픽처들은 4×4 픽셀들 및 8×8 픽셀들의 개별 SCU들을 가질 수도 있고, 즉 SCU 사이즈는 프레임들 중에서 변화할 수도 있다. 비디오 인코더 (22) 는 비디오 시퀀스에 대하여 최소 SCU 또는 최대 SCU 를 결정할 수도 있다. 이러한 예에서, 최소 SCU 는 4×4 일 것이지만, 최대 SCU 는 8×8 일 것이다.
비디오 인코더 (22) 는 LCU들, CU들, PU들, TU들 및 SCU들의 사이즈들을 정의하는 비트스트림 내의 구문 데이터의 다양한 레벨들을 포함할 수도 있다. 예를 들어, 비디오 인코더 (22) 는 시퀀스 레벨 구문을 이용하여 LCU 의 사이즈를 시그널링할 수도 있다.
비디오 시퀀스에서의 픽처를 인코딩하는데 이용되는 CU들의 사이즈를 시그널링하는데 부가하여, 비디오 인코더 (22) 는 비디오 시퀀스에서의 픽처의 사이즈를 시그널링하기 위해 다양한 기술들을 이용할 수도 있다. 비디오 시퀀스와 연관된 픽처의 사이즈는 디코딩된 픽처 버퍼 (DPB) 에 저장된 디코딩된 픽처의 픽처 사이즈와 동일할 수도 있다. 픽처들은 선택된 높이와 폭의 블록과 같은 유닛 사이즈를 가질 수도 있다. 픽처 사이즈는 HEVC 또는 다른 비디오 표준에 의해 지원되는 픽처 사이즈들일 수도 있고, 예컨대 픽처 사이즈들은 320×240, 1920×1080, 및 7680×4320 을 포함할 수도 있다. 추가로, 비디오 인코더 (22) 는 슬라이스 헤더에서 텍스처 뷰 컴포넌트들을 코딩하기 위해 구문 엘리먼트들을 시그널링할 수도 있다. 따라서, 비디오 인코더 (22) 는 다양한 구문 엘리먼트들을 이용하여, 비디오 시퀀스와 연관된 픽처의 사이즈 및/또는 비디오 시퀀스와 연관된 최소의 최소 코딩 유닛 사이즈를 시그널링할 수도 있다. 유사하게, 비디오 디코더 (28) 는 코딩된 비디오 시퀀스와 연관된 픽처의 사이즈 및/또는 코딩된 비디오 시퀀스와 연관된 최소의 최소 코딩 유닛 사이즈를 나타내는 다양한 구문 엘리먼트들을 획득하고, 그러한 구문 엘리먼트들을 코딩된 비디오 시퀀스를 디코딩할 때 이용할 수도 있다. 일 예에서, 비디오 인코더 (22) 는 시퀀스 레벨 구문 정보에서 비디오 시퀀스와 연관된 픽처의 사이즈 및 최소의 최소 코딩 유닛 사이즈를 시그널링할 수도 있고, 여기서 픽처 사이즈는 최소의 최소 코딩 유닛 사이즈의 배수이다. 일 예에서, 비디오 디코더 (28) 는 시퀀스 레벨 구문 정보에서 비디오 시퀀스에 대한 최소의 최소 코딩 유닛 사이즈 및 하나 이상의 코딩된 비디오 시퀀스를 획득할 수도 있다. 비디오 디코더 (28) 는 코딩된 비디오 시퀀스에서의 코딩된 픽처들을 디코딩하고, 최소의 최소 코딩 유닛 사이즈의 배수와 동일한 픽처 사이즈를 갖는 디코딩된 픽처 버퍼에 디코딩된 픽처들을 저장할 수도 있다.
고정 사이즈의 매크로블록들 (예컨대, 16×16) 을 활용하는 일부 비디오 압축 기술들에서, 픽처의 사이즈는 매크로블록들의 유닛에서 시그널링될 수도 있다. 그 폭과 높이가 고정 사이즈의 매크로블록의 배수와 동일하지 않을 경우, 크롭핑 윈도우가 이용될 수도 있다. 예를 들어, 1920×1080 픽처는 비트스트림에서 1920×1088 로 코딩될 수 있지만, 크롭핑 윈도우는 픽처가 1920×1080 으로 디스플레이되도록 하기 위해 실제 윈도우를 시그널링한다. 다른 기술들에서, 픽처의 사이즈는 픽셀의 유닛으로 시그널링될 수도 있다. 픽셀의 유닛으로 픽처의 사이즈를 시그널링하는 일 예는 HEVC 표준에 의해 제공된다.
일 예에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 비디오 데이터를 코딩할 수도 있고, 여기서 픽처 시퀀스에서 코딩된 픽처의 사이즈는 특정 타입의 코딩된 유닛 (CU) 과 관련하여 정의된다. 특정 타입의 코딩된 블록들은, 전술된 것과 같이, 픽처들의 시퀀스에서 각 픽처의 LCU, SCU, 최소의 최소 CU 또는 최대의 최소 CU 일 수도 있다. 더욱 구체적으로, 비디오 인코더 (22) 는 일 픽처의 코딩 유닛 (CU) 의 사이즈에 대하여 그 픽처의 사이즈를 시그널링하는데 이용되는 유닛을 표시할 수도 있다. 일 예에서, 그 유닛은 코딩된 비디오 시퀀스에서 허용되는 최소 CU 사이즈의 사이즈와 동일할 수도 있다. 일부 경우에, 최소 CU 사이즈는 비디오 시퀀스에서의 모든 픽처들에 대하여 동일하다. 다른 경우에, 비디오 시퀀스에서의 각각의 픽처의 최소 CU 사이즈는 상이할 수도 있다. 그 경우에, 비디오 시퀀스에서의 각 픽처에 대한 최소 CU 사이즈는 비디오 시퀀스에 대한 최소 가능한 CU 사이즈보다 작지 않을 수도 있다. 다른 예에서, 비디오 인코더 (22) 에 의해 표시된 유닛은 픽처들의 그룹에 대한 최대 코딩 유닛 (LCU) 의 사이즈와 동일할 수도 있다. 일부 예들에서, 크롭핑 윈도우는 픽처의 사이즈를 감소시키기 위해 비디오 인코더 (22) 또는 비디오 디코더 (28) 에 의해 픽처에 적용될 수도 있다. 크롭핑 윈도우는 예컨대, 일 픽처의 우측 또는 저측 중 적어도 하나를 크롭핑할 수도 있다.
다른 예에서, 비디오 인코더 (22) 는 정렬된 CU (ACU) 사이즈에 대한 필처 사이즈를 시그널링할 수도 있다. 정렬된 CU 사이즈는 디코딩된 픽처 버퍼 (DPB) 에 저장된 디코딩된 픽처의 픽처 사이즈를 규정하는데 이용된 CU 사이즈일 수도 있다. 그러한 픽처 사이즈는 정렬된 CU 사이즈의 폭과 높이의 곱셈들로서 폭과 높이 양자를 가질 수도 있다. 유사하게, 픽처 높이는 정렬된 CU 의 높이의 곱셈일 수도 있다. 정렬된 CU 의 사이즈 (폭 및 높이) 는 다른 대안들에서와 동일한 방식으로 시그널링될 수 있다. 예를 들어, 비디오 인코더 (22) 는 다양한 레벨의 구문으로 정렬된 CU들을 시그널링할 수도 있다.
ACU 사이즈는 다음 예들에 따라 정의될 수도 있다:비디오 시퀀스에서의 모든 픽처들이 동일한 SCU 사이즈를 가질 경우, ACU 는 SCU 사이즈로서 정의될 수도 있다. 다른 한편으로, 비디오 시퀀스에서의 픽처들이 상이한 SCU 사이즈들을 가질 경우, ACU 는 모든 픽처들 중에서 최대 또는 최소 SCU 사이즈로서 정의될 수도 있다. ACU 가 정의되는 방식과 관계없이, ACU 사이즈는 비디오 시퀀스와 연관된 시퀀스 파라미터 세트 (SPS) 또는 픽처 파라미터 세트 (PPS) 에서 비디오 인코더 (22) 에 의해 명확히 시그널링될 수도 있다. 일부 경우들에서, ACU 사이즈는 비디오 시퀀스에 대하여 LCU 사이즈와 동일하거나 그 미만이 되고 SCU 사이즈와 동일하거나 그보다 크게 되도록 제한될 수도 있다.
추가로, 일부 예들에서, 비디오 인코더 (22) 는 LCU 의 유닛 또는 SCU 의 유닛으로 픽처 사이즈를 시그널링할 수도 있다. 일부 예들에서, 코딩된 픽처의 사이즈를 시그널링하는데 이용된 유닛은 SPS 에서 시그널링될 수도 있다. 이러한 유닛은 코딩된 비디오 시퀀스에 대하여 허용된 최소 CU 사이즈의 사이즈와 동일할 수도 있다. PPS 에서, 이러한 PPS 를 참조하는 픽처들에 대한 최대 CU 사이즈의 상대적인 사이즈는 비디오 인코더 (22) 에 의해 시그널링될 수도 있다. 비디오 시퀀스에서의 모든 픽처들이 동일한 SCU 사이즈를 가지는 경우, 최소 CU 의 상대적인 사이즈의 추가 시그널링은 PPS 에서 필요하지 않을 수도 있다. 최소 CU 사이즈가 비디오 시퀀스에서의 피처들 사이에서 변화하는 경우, 비디오 시퀀스에서의 픽처들의 일부분에 대한 상대적인 최소 CU 사이즈는 PPS 에서 시그널링될 수도 있으며, 여기서 상대적인 최소 CU 사이즈는 비디오 시퀀스에 대한 최소의 최소 CU 보다 크다. 상대적인 최소 CU 사이즈는 PPS 에서 픽처들의 부분에 대한 상대적인 최소 CU 사이즈와 비디오 시퀀스에 대한 최소의 최소 CU 사이즈 간의 차이로서 시그널링될 수도 있다.
대안적으로, 픽처 사이즈는 SPS 에서 LCU 의 유닛으로 비디오 인코더 (22) 에 의해 시그널링될 수 있다. 그러나, 크롭핑 윈도우는 비디오 인코더 (22) 에 의해 추가로 시그널링될 수 있기 때문에, ACU 사이즈가 공지되어있다면, 크롭핑 윈도우는 비디오 디코더가 픽처 사이즈를 식별하는 것을 도울 수도 있다.
대안적으로, SCU 사이즈가 비디오 시퀀스에서의 픽처들에 대하여 변화할 경우, 유닛은 코딩된 비디오 시퀀스에서의 픽쳐들에 허용된 최대의 최소 CU 사이즈의 사이즈와 동일할 수도 있다. 최대 CU 사이즈가 64×64 픽셀들이고, 일부 픽처들이 4×4 픽셀들의 CU 사이즈를 가지지만, 다른 것들은 8×8 픽셀들의 최소 CU 사이즈를 갖는 일 예에서, 픽처 사이즈의 유닛은 8×8 픽셀들일 수도 있다. 이러한 예에서, 픽처가 64×65 픽셀 사이즈를 갖는다면, 픽처 사이즈는 비디오 인코더 (22) 에 의해 (8×8) 픽셀들 × (9×8) 픽셀들로서 시그널링될 것이다. 64×65 픽셀 사이즈를 초과한 일 픽처에서의 픽셀들은 프레임 크롭핑 구문 엘리먼트들을 이용하여 크롭핑될 수도 있다.
일부 예들에서, 최대 CU 사이즈는 64×64 픽셀들이고, 일부 픽처들은 4×4 픽셀의 최소 가능한 CU 사이즈를 가지는 반면 다른 픽처들은 8×8 의 최소 CU 사이즈를 갖는다. 이러한 예에서, 특정 타입의 CU 가 최소의 가능한 최소 CU 라면, 픽처 사이즈에 대한 유닛은 4×4 픽셀들로 이루어진다. 그 예에서 계속하여, 특정 타입의 CU 가 최대 가능한 최소 CU 라면, 픽처 사이즈에 대한 유닛은 8×8 픽셀들로 이루어진다.
이하 표 1 내지 표 7 은 본 명세서에 설명된 기술들을 수행하기 위해 비디오 인코더 (22) 와 비디오 디코더 (28) 에 의해 구현될 수도 있는 예시적인 구문을 제공한다. 예시적인 구문은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임으의 조합을 이용하여 비디오 인코더 (22) 와 비디오 디코더 (28) 에 의해 구현될 수도 있다.
전술된 것과 같이, 비디오 인코더 (22) 는 SPS (시퀀스 파라미터 세트) 에서 코딩된 픽처들의 사이즈를 시그널링하는데 이용된 유닛을 시그널링할 수도 있다. 일 예에서, 이러한 유닛은 코딩된 비디오 시퀀스에서 허용된 최소 CU 사이즈의 사이즈와 동일할 수도 있다. 이러한 예에서, 최소 CU 사이즈가 픽처들의 그룹에서의 픽처들 사이에 코딩된 비트스트림에서 변화할 수도 있다면, 최소 CU 사이즈는 이러한 유닛의 사이즈보다 작지 않을 것이다. 다음 표 1 은 비디오 시퀀스에서 코딩된 픽처에 대한 최소의 최소 CU 사이즈를 시그널링하는데 이용된 SPS 로우 바이트 시퀀스 페이로드 (RBSP) 구문의 일 예를 제공한다. 픽처 파라미터 세트 (PPS) 에서, 이러한 PPS 를 참조하는 픽처들에 대한 최소 CU 사이즈의 상대적인 사이즈는 시그널링될 수도 있다.
Figure pct00001
표 1: 시퀀스 파라미터 세트 RBSP 구문
표 1 에서, 구문 엘리먼트 log2 _ max _ coding _ block _ size _ minus3 는 코딩 블록의 최대 사이즈를 규정할 수도 있다. 변수 Log2MaxCUSize 다음과 동일하게 세팅될 수도 있다:
log2_max_coding_block_size_minus3 + 3.
표 1 에서, 구문 엘리먼트 log2_diff_max_pic_alligned_min_coding_block_size 는 전체 코딩된 비디오 시퀀스에서 최소 사이즈의 코딩 블록과 최대 사이즈의 코딩 블록 간의 차이를 명시할 수도 있다. 일부 경우들에서, 픽처들의 그룹은 픽처들의 그룹에서의 일 픽처가 차이 값들보다 작은 최소 코딩 CU 사이즈를 가지지 않도록 정의될 수도 있다.
변수 Log2SeqMinCUSize 는 다음과 동일하게 세팅될 수도 있다:
log2_minmax_coding_block_size_minus3 + 3-
log2_diff_max_pic_alligned_min_coding_block_size.
이러한 값은 0 부터 log2_max_coding_block_size_minus3 까지의 범위를 가질 수도 있다. 변수들 Log2MaxCUSize 및 Log2SeqMinCUSize 은 비디오 인코더 (22) 및 비디오 디코더 (28) 에 의해 비디오 코딩을 처리하는데 이용될 수도 있다.
표 1 은 구문 엘리먼트들 pic _ width _ in _ luma _ samples, pic_height_in_luma_samples log2 _ min _ coding _ block _ size _ minus3 을 포함하며, 이들은 표 1 에서 선지움 (strikethrough) 되는 것에 유의하여야 한다. 이들 구문 엘리먼트들은 픽처의 사이즈가 비디오 인코더 (22) 에 의해 픽셀들의 유닛으로 시그널링될 수도 있는 대안적인 예를 나타낸다. 일 예에서, 픽처 사이즈가 ACU 사이즈의 폭 및 높이의 곱셈들로서 폭 및 높이 양자를 가지고, 여기서 ACU 사이즈가 전술된 것과 같이 비디오 시퀀스의 최소 SCU 와 동일할 경우, 비디오 디코더 (28) 는 pic _ width _ in _ luma _ samples, pic _ height _ in _ luma _ samples 의 값이 log2_min_coding_block_size_minus3 의 정수 배수들인지 여부에 기초하여, 비트 스트림이 따르고 있는지 여부를 결정할 수도 있다.
다음 표 2 는 비디오 인코더 (22) 와 비디오 디코더 (28) 에 의해 수행될 수도 있는 기술들에 따라, SPS RBSP 구문의 다른 예를 제공한다.
Figure pct00002
표 2: 시퀀스 파라미터 세트 RBSP 구문
표 2 에 따르면, 픽처의 폭과 높이는 정렬된 CU 의 폭과 높이와 관련하여 비디오 인코더 (22) 에 의해 표시될 수도 있다. 전술된 것과 같이, 정렬된 CU 는 비디오 인코더 (22) 및 비디오 디코더 (28) 에 의해 픽처 사이즈를 규정하는데 이용된 CU 일 수도 있다. 즉, 픽처 폭은 정렬된 CU 의 폭의 배수일 수도 있다. 전술된 것과 같이, 정렬된 CU 사이즈는 디코딩된 픽처 버퍼 (DPB) 에 저장된 디코딩된 픽처의 픽처 사이즈를 규정하는데 이용된 사이즈일 수도 있다. 일부 예들에서, 픽처는 하나 이상의 완전한 정렬된 CU들을 포함할 수도 있다. 일부 예들에서, 정렬된 CU 는 정렬된 최소 CU (SCU) 이다.
표 2 는 픽처의 높이를 pic _ height _ in _ alligned _ scu 로, 픽처의 폭을 pic_width_in_alligned_scu 로 규정한다. pic _ width _ in _ alligned _ cu 는 정렬된 CU들의 유닛에서 코딩된 비디오 시퀀스에서의 픽처들의 폭을 규정한다. pic_height_in_alligned_cu 는 정렬된 CU들의 유닛에서 코딩된 비디오 시퀀스에서의 픽처들의 높이를 규정할 수도 있다.
log2 _ max _ coding _ block _ size _ minus3 는 최대 사이즈의 코딩 블록을 규정할 수도 있다. 변수 Log2MaxCUSize 는 log2_max_coding_block_size_minus3 +3 고 동일하게 세팅될 수도 있다.
log2 _ diff _ max _ pic _ alligned _ min _ coding _ block _ size 는 전체 코딩된 비디오 시퀀스에서 최소 사이즈의 코딩 블록과 최대 사이즈의 코딩 블록 간의 차이를 규정할 수도 있다. 일부 예들에서, 임의의 픽처는 그보다 작은 최소 코딩 CU 사이즈를 가지지 않을 수도 있다.
다음 표 3 은 표 1 또는 표 2 에 제공된 SPS RBSP 와 관련하여 비디오 인코더 (22) 및 비디오 디코더 (28) 에 의해 구현될 수도 있는 PPS RBSP 에 대한 추가 구문 엘리먼트들을 제공한다.
Figure pct00003
표 3: 픽처 파라미터 세트 RBSP 구문
표 3 에서, pic _ scu _ size _ delta 는 이러한 픽처 파라미터 세트를 참조하는 픽처들의 코딩 유닛의 최소 사이즈를 규정할 수도 있다. 이러한 값은 0 부터 log2_diff_max_pic_alligned_min_coding_block_size 의 범위를 가질 수도 있다.
변수 Log2MinCUSizeLog2SeqMinCUSize + pic _ scu _ size _ delta 와 동일하게 세팅될 수도 있다. 대안적으로, 정렬된 CU 의 사이즈가 모든 픽처들의 최소 CU 사이즈들의 최대치라면, 변수 Log2MinCUSizeLog2SeqMinCUSize - pic_scu_size_delta 와 동일하게 세팅될 수도 있다. 대안적으로, 정렬된 CU 사이즈가 임의의 가능한 CU 사이즈로 이루어질 수도 있다면, 이 경우 pic_scu_size_delta 는 부호 값 (se(v)) 일 수 있고, 변수 Log2MinCUSizeLog2SeqMinCUSize - pic _ scu _ size _ delta 와 동일하게 세팅될 수도 있다.
전술된 예들 이외에, 일 예에서, 비디오 시퀀스에 대한 LCU 사이즈는 N×N 으로 정의될 수도 있고, 전술된 예들 중 하나에 따라 선택된 ACU 사이즈는 M×M 으로 정의될 수도 있다. 이 경우, LCU 사이즈의 유닛에서 비디오 인코더 (22) 에 의해 시그널링될 수도 있는 픽처 사이즈는 WL×HL 로 정의될 수도 있다. 따라서, 정렬된 CU 사이즈에 대한 픽처 사이즈는 다음 식에 따라 비디오 인코더 (28) 에 의해 유도될 수도 있다:
(WL*N-crop_right_offset+M-1)/M*M × (HL*N- crop_bottom_offset+M-1)/M*M, 여기서 crop_right_offset 및 crop_bottom_offset 은 크롭핑 윈도우에서 비디오 인코더 (22) 에 의해 시그널링되고, 각각 우측 및 저부 경계로부터 크롭된 픽셀들의 개수들이다. 이하 표 5 에서, WL 은 pic_width_in_LCU 의 값일 수도 있고, WH 는 pic_height_in_LCU 의 값인 것에 유의하여야 한다. 또한, 앞의 식에서 연산들 (예컨대, 나눗셈들) 은 정수 계산일 수도 있음에 유의하여야 한다.
이하 표 4 는 seq_parameter_set_rbsp( ) 에 대한 추가의 구문 엘리먼트들의 다른 예를 제공한다. 이러한 예에서, 하나 이상의 픽처들의 사이즈들은 최대 코딩 유닛 (LCU) 의 사이즈와 관련되어 비디오 인코더 (22) 에 의해 시그널링될 수도 있다. 하나 이상의 픽처들의 사이즈들은 예컨대, 시퀀스 파라미터 세트에서 비디오 인코더 (22) 에 의해 시그널링될 수도 있다.
픽처 사이즈는 또한, 비디오 인코더 (22) 에 의해 num_right_offset_ACU 및 num_bottom_offset_ACU 와 함께 시그널링될 수도 있으며, 따라서 픽처 사이즈는 (WL*N - M*num_right_offset_ACU) × (HL*N - M* num_bottom_offset_ACU) 이다. 이러한 2 개의 파라미터들은 SPS 또는 PPS 에서 시그널링될 수 있다. 디코딩된 픽처는 (WL*N- num_crop_acu_right*M) × (HL*N- num_crop_acu_right*M) 인 정렬된 CU 에 대하여 일 픽처와 함께 디코딩된 픽처 버퍼에 저장될 것이다.
일부 예들에서, 크롭핑 윈도우는 비디오 인코더 (22) 에 의해 추가로 시그널링될 수도 있다. 크롭핑 윈도우는 일 픽처의 적어도 우측 또는 저측 또는 다른 부분이 크롭핑되는 것을 정의할 수도 있다. 그러나, 크롭핑 윈도우가 추가로 시그널링될 수 있기 때문에, 크롭핑 윈도우는 정렬된 CU 사이즈가 공지될 경우 픽처 사이즈를 식별하는데 이용될 수도 있다.
Figure pct00004
표 4: 시퀀스 파라미터 세트 RBSP 구문
표 4 에 도시된 예에서, 폭 및 높이와 관련된 일 픽처의 사이즈는 최대 코딩 유닛 (LCU) 과 관련하여 주어진다. 즉, pic _ width _ in _ LCU 는 LCU 와 관련된 하나 이상의 픽처들의 픽셀들의 사이즈를 규정할 수도 있다. 유사하게, pic_height_in_LCU 는 LCU 에 대한 하나 이상의 픽처들의 픽셀들의 사이즈를 규정할 수도 있다. 구문 엘리먼트 num _ crop _ acu _ right 는 크롭핑 윈도우에서 시그널링되고, 일 픽처의 우측 또는 다른 비디오 블록에서 크롭핑될 픽셀들의 개수를 정의할 수도 있다. 유사하게, 구문 엘리먼트 num _ crop _ acu _ bottom 는 크롭핑 윈도우에서 시그널링되고, 일 픽처의 저측 또는 다른 비디오 블록에서 크롭핑될 픽셀들의 개수를 정의할 수도 있다. 다른 예들에서, 크롭핑 윈도우들의 다른 측면들이 시그널링된다.
오직 예시의 목적들을 위해 일 예가 제공된다. 이러한 예에서, LCU 사이즈는 N×N 이고, 정렬된 CU 사이즈는 M×M 이다. 픽처 사이즈는 LCU 사이즈의 유닛과 관련하여 시그널링되며, WL×HL 로 주어진다. 이 예에서, WL 은 pic_width_in_LCU 의 값이고, HL 은 pic _ height _ in _ LCU 의 값이다. Crop_right_offset 은 우측상에서 크롭핑할 픽셀들의 개수를 정의할 수도 있고, num_crop_acu_right 와 동일할 수도 있다. Crop _ bottom _ offset 은 저측에서 크롭핑할 픽셀들의 개수를 정의할 수도 있고, num _ crop _ acu _ bottom 와 동일할 수도 있다.
LCU 사이즈 및 정렬된 CU 사이즈에 대한 픽처 사이즈로부터, 정렬된 CU (ACU) 사이즈에 대한 픽처 사이즈는 다음 식들로부터 결정될 수도 있다:
Figure pct00005
식 1 및 식 2 의 연산들은 정수 계산들일 수도 있음에 유의하여야 한다.
표 5 는 pic_parameter_set_rbsp( ) 에 대한 추가의 구문 엘리먼트들의 다른 예를 제공한다. 이 예에서, num _ right _ offset _ ACUnum _ bottom _ offset _ ACU 중 적어도 하나가 시그널링될 수도 있다. 표 6 은 num _ right _ offset _ ACUnum_bottom_offset_ACU 이 SPS 에서 시그널링되는 것을 도시하지만, 이들 값들은 다른 곳에서 시그널링될 수도 있다. 예를 들어, num _ right _ offset _ ACUnum_bottom_offset_ACU 은 PPS 에서 시그널링될 수도 있다.
Figure pct00006
표 5: 시퀀스 파라미터 세트 RBSP 구문
표 5 의 값 num _ crop _ acu _ right 은 LCU 정렬된 픽처에서 우측으로부터 크롭핑될 정렬된 CU 사이즈들의 개수를 규정할 수도 있다. 크롭핑된 픽처는 DPB 에 저장될 수도 있다. 값 num _ crop _ acu _ bottom 은 DPB 에 저장될 픽처를 획득하기 위해, LCU 정렬된 픽처에서 저부로부터 크롭핑될 정렬된 CU 사이즈들의 개수를 규정할 수도 있다.
표 5 에 대응하는 일 예에서, 픽처 사이즈는 또한 num _ right _ offset _ ACUnum_bottom_offset_ACU 로 시그널링될 수 있다. 픽처 사이즈는 다음과 같이 결정될 수도 있다:
Figure pct00007
정렬된 CU 에 대한 픽처 사이즈와 함께 디코딩된 픽처 버퍼에 저장될 수도 있는 디코딩된 픽처는 다음과 같이 주어질 수도 있다:
Figure pct00008
따라서, 정렬된 CU 의 사이즈 (픽셀들의 높이와 폭) 는 픽처 사이즈에 대하여 전술된 예들에서와 동일한 방식으로 시그널링될 수도 있다. 예를 들어, 모든 픽처들이 동일한 최소 CU (SCU) 사이즈를 갖는다면, 정렬된 CU 의 사이즈는 SCU 사이즈일 수도 있다. 다른 예로서, 픽처들이 상이한 SC 사이즈들을 갖는다면, 정렬된 CU 사이즈는 모든 픽처들 사이에서 최대 또는 최소 SCU 사이즈일 수도 있다. 정렬된 CU 사이즈는 SPS 중 적어도 하나에서 또는 PPS 에서 명확히 시그널링될 수도 있다. 정렬된 CU 사이즈는 LCU 의 사이즈와 동일하거나 그 미만이고, SCU 의 사이즈와 동일하거나 그보다 클 수도 있다.
표 6 은 전술된 예시적인 실시형태들 중 임의의 실시형태와 함께 이용될 수도 있는 프레임 크롭핑 구문의 일 예를 제공한다. 일 예에서, 크롭핑 윈도우는 시퀀스 파라미터 세트에 있을 수도 있고, (H.264/AVC 에서와) 동일한 시맨틱들을 따를 수도 있다.
Figure pct00009
표 6: 프레임 크롭핑 구문
도 2 는 본 개시물에 설명된 기술들을 수행하도록 구성될 수도 있는 예시적인 비디오 인코더를 예시하는 블록도이다. 비디오 인코더 (50) 는 비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정하도록 구성될 수도 있으며, 여기서 최소 코딩 유닛 사이즈는 복수의 가능한 코딩 유닛 사이즈들로부터 선택된다. 추가로, 비디오 인코더 (50) 는 비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대하여 결정된 최소 코딩 유닛에 기초하여, 비디오 시퀀스에 대한 최소 코딩 유닛 사이즈를 결정하도록 구성될 수도 있다. 추가로, 비디오 인코더 (50) 는 비디오 시퀀스와 연관된 픽처 사이즈를 결정하도록 구성될 수도 있고, 여기서 비디오 시퀀스와 연관된 픽처 사이즈는 최소 코딩 유닛 사이즈 값의 배수이다. 추가로, 비디오 인코더 (50) 는 시퀀스 레벨 구문 정보에서 최소 코딩 유닛 사이즈를 시그널링하도록 구성될 수도 있다.
비디오 인코더 (50) 는 디바이스 (20) 의 비디오 인코더 (22), 또는 상이한 디바이스의 비디오 인코더에 대응할 수도 있다. 도 2 에 도시된 바와 같이, 비디오 인코더 (50) 는 예측 인코딩 모듈 (32), 쿼드트리 파티션 유닛 (31), 가산기들 (48 및 51), 및 메모리 (34) 를 포함한다. 비디오 인코더 (50) 는 변환 유닛 (38) 및 양자화 유닛 (40) 을 또한 포함하고, 또한 역양자화 유닛 (42) 및 역변환 유닛 (44) 도 포함한다. 비디오 인코더 (50) 는 엔트로피 코딩 유닛 (46), 및 필터 유닛 (47) 을 또한 포함하고, 필터 유닛 (47) 은 디블록 필터들 및 포스트 루프 및/또는 인 루프 필터들을 포함할 수도 있다. 인코딩된 비디오 데이터와 인코딩의 방식을 정의하는 구문 정보는 엔트로피 인코딩 유닛 (46) 에 통신될 수도 있고, 엔트로피 인코딩 유닛 (46) 은 비트스트림에 엔트로피 인코딩을 수행한다.
도 2 에 도시된 바와 같이, 예측 인코딩 모듈 (32) 은 비디오 블록들의 인코딩에서 복수의 상이한 코딩 모드들 (35) 을 지원할 수도 있다. 예측 인코딩 모듈 (32) 은 또한 모션 추정 (ME) 모듈 (36) 및 모션 보상 (MC) 모듈 (37) 을 포함할 수도 있다.
인코딩 프로세스 동안, 비디오 인코더 (50) 는 입력 비디오 데이터를 수신한다. 쿼드트리 파티션 유닛 (31) 은 비디오 데이터의 유닛들을 더 작은 유닛들로 파티셔닝할 수도 있다. 예를 들어, 쿼드트리 파티션 모듈 (31) 은 전술된 HEVC 파티셔닝에 따라 LCU 를 더 작은 CU들 및 PU들로 분해할 수도 있다. 예측 인코딩 모듈 (32) 은 예측 코딩 기술들을 비디오 블록들 (예컨대, CU들 및 PU들) 에 수행한다. 인터 코딩에 대해, 예측 인코딩 모듈 (32) 은, 예측 블록을 정의하기 위해, CU들 또는 PU들을 하나 이상의 비디오 기준 프레임들 또는 슬라이스들 (예를 들면, 기준 데이터의 하나 이상의 "리스트") 에서의 여러 가지 예측 후보들에 비교한다. 인트라 코딩에 대해, 예측 인코딩 모듈 (32) 은 동일한 비디오 프레임 또는 슬라이스 내의 이웃 데이터에 기초하여 예측 블록을 생성한다. 예측 인코딩 모듈 (32) 은 예측 블록을 출력하고, 가산기 (48) 는 잔여 블록을 생성하기 위해, 코딩되고 있는 CU 또는 PU에서 예측 블록을 감산한다. 적어도 몇몇의 비디오 블록들은 HEVC 에서 설명된 어드밴스드 모션 벡터 예측 (AMVP) 을 이용하여 코딩될 수도 있다.
일부 경우들에서, 예측 인코딩 모듈은 상이한 모드들에서 비디오 블록들 (예컨대, CU들 또는 PU들) 의 코딩 결과들을 비교하는 레이트-왜곡 (R-D) 모듈을 포함할 수도 있다. 이 경우, 예측 인코딩 모듈 (32) 은 또한 비디오 블록들에 대한 모드 선택들을 실행하기 위해, 코딩 레이트 (블록에 대하여 요구되는 코딩 비트들) 및 왜곡 (예컨대, 원래의 블록에 대하여 코딩된 블록의 비디오 품질을 나타냄) 과 관련하여 코딩 결과들을 분석하는 모드 선택 모듈을 포함할 수도 있다. 이러한 방식으로, R-D 모듈은 모드 선택 모듈이 상이한 비디오 블록들에 대하여 요구되는 모드를 선택하도록 사이한 모드들의 결과들에 대한 분석을 제공할 수도 있다.
다시 도 2 를 참조하면, 예측 인코딩 모듈 (32) 이 예측 블록을 출력한 이후, 그리고 잔여 픽셀 값들의 잔여 블록을 생성하기 위해, 가산기 (48) 가 코딩되고 있는 비디오 블록에서 예측 블록을 감산한 이후, 변환 모듈 (38) 은 잔여 블록에 변환을 적용한다. 변환은 이산 코사인 변환 (DCT), 또는 ITU H.264 표준 또는 HEVC 표준에 의해 정의된 것과 같은 개념적으로 유사한 변환을 포함할 수도 있다. 변환들을 수행하기 위해 소위 "버터플라이" 구조들이 정의될 수도 있고, 또는 매트릭스 기반의 곱셈이 또한 이용될 수 있다. 몇몇 예들에서, HEVC 표준에 따라, 변환의 사이즈는, 예를 들면, 주어진 LUC에 대해 발생하는 파티셔닝의 레벨에 의존하여, 상이한 CU들에 대해 변화할 수도 있다. 변환 모듈 (38) 에 의해 적용되는 변환 사이즈를 설정하기 위해, 변환 유닛들 (TU들) 이 정의될 수도 있다. 웨이브릿 변환들, 정수 변환들, 서브밴드 변환들 또는 다른 타입들의 변환들이 또한 이용될 수 있을 것이다. 어떠한 경우에도, 변환 모듈 (38) 은 잔여 블록에 변환을 적용하여, 잔여 변환 계수들의 블록을 생성한다. 일반적으로, 변환은 잔여 정보를 픽셀 도메인에서 주파수 도메인으로 컨버팅할 수도 있다.
그 후에, 양자화 유닛 (40) 이 잔여 변환 계수들을 양자화하여 비트 레이트를 더 감소시킬 수도 있다. 양자화 유닛 (40) 은, 예를 들면, 계수들의 각각을 코딩하기 위해 이용되는 비트들의 수를 제한할 수도 있다. 특히, 양자화 유닛 (40) 은 (델타 QP를 이전의 LCU의 QP 또는 몇몇 다른 공지된 QP와 결합하는 것과 같이) 적용할 양자화의 레벨을 정의하기 위해 LCU에 대해 정의된 델타 QP를 적용할 수도 있다. 잔여 샘플들에 대해 양자화가 수행된 이후, 엔트로피 코딩 유닛 (46) 은 데이터를 스캐닝하고 엔트로피 인코딩할 수도 있다.
CAVLC는 ITU H.264 표준 및 신흥 HEVC 표준에 의해 지원되는 엔트로피 코딩 기술의 한 타입인데, 이것은 엔트로피 코딩 유닛 (46) 에 의해 벡터화 기반으로 적용될 수도 있다. CAVLC는 계수들 및/또는 구문 엘리먼트들의 직렬화된 "런들"을 효율적으로 압축하는 방식으로 가변 길이 코딩 (VLC) 테이블들을 이용한다. CABAC는 ITU H.264 표준 또는 HEVC 표준에 의해 지원되는 엔트로피 코딩 기술의 다른 타입인데, 이것은 엔트로피 코딩 유닛 (46) 에 의해 벡터화 기반으로 적용될 수도 있다. CABAC는 이진화 (binarization), 컨텍스트 모델 선택, 및 이진 산술 코딩을 포함하는 여러 스테이지들을 내포할 수도 있다. 이 경우, 엔트로피 코딩 유닛 (46) 은 CABAC에 따라 계수들 및 구문 엘리먼트들을 코딩한다. 많은 다른 타입들의 엔트로피 코딩 기술들이 또한 존재하며, 새로운 엔트로피 코딩 기술들이 미래에 출현할 것이다. 본 개시물은 임의의 특정한 엔트로피 코딩 기술에 제한되지 않는다.
엔트로피 인코딩 모듈 (46) 에 의한 엔트로피 코딩에 후속하여, 인코딩된 비디오는 다른 디바이스로 송신되거나 또는 나중의 송신 또는 취출을 위해 아카이브될 수도 있다. 인코딩된 비디오는 엔트로피 코딩된 벡터들과 여러 구문 정보를 포함할 수도 있다. 이러한 정보는 디코딩 프로세스를 적절히 구성하기 위해 디코더에 의해 이용될 수 있다. 역양자화 모듈 (42) 및 역변환 모듈 (44) 은, 픽셀 도메인에서 잔여 블록을 재구성하기 위해, 역양자화 및 역변환을 각각 적용한다. 합산기 (51) 는 재구성된 잔여 블록을 예측 인코딩 모듈 (32) 에 의해 생성된 예측 블록에 더하여, 메모리 (34) 에 저장하기 위한 재구성된 비디오 블록을 생성한다. 메모리 (34) 는 디코딩된 픽처 버퍼를 포함할 수도 있고, 재구성된 비디오 블록들은 디코딩된 픽처를 형성할 수도 있다. 그러나, 이러한 저장 이전에, 비디오 품질을 향상시키기 위해 필터 모듈 (47) 이 비디오 블록에 필터링을 적용할 수도 있다. 필터 모듈 (47) 에 의해 적용된 필터링은 아티팩트들을 감소시키고 픽셀 경계들을 평활하게 할 수도 있다. 또한, 필터링은 코딩되고 있는 비디오 블록들에 대한 밀접한 매치들을 포함하는 예측 비디오 블록들을 생성함으로써 압축을 향상시킬 수도 있다.
도 3 은 비디오 인코더 (22) 또는 비디오 인코더 (50) 에 의해 수행될 수도 있는 비디오 데이터를 인코딩하는 예시적인 기술을 예시하는 흐름도이다. 비디오 인코더 (20) 또는 비디오 인코더 (50) 는 비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정할 수도 있다 (302). 일부 경우, 최소 코딩 유닛 사이즈는 복수의 가능한 코딩 유닛 사이즈들로부터 선택될 수도 있다. 예를 들어, 최소 코딩 유닛 사이즈는 4×4, 8×8, 16×16, 32×32 또는 64×64 중 하나일 수도 있고, 여기서 64×64 는 최대 가능한 코딩 유닛 사이즈이다. 비디오 인코더 (20) 또는 비디오 인코더 (50) 는 결정된 최소 코딩 유닛들로부터 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈를 결정할 수도 있다 (304). 비디오 인코더 (50) 의 비디오 인코더 (20) 는 전술된 기술들에 기초하여 정렬된 코딩 사이즈를 결정할 수도 있다. 비디오 인코더 (20) 또는 비디오 인코더 (50) 는 비디오 시퀀스와 연관된 픽처 사이즈를 결정하며, 여기서 비디오 시퀀스와 연관된 픽처 사이즈는 정렬된 코딩 유닛 사이즈 값의 배수이다 (306). 일부 경우들에서, 비디오 시퀀스와 연관된 픽처 사이즈는 디코딩된 픽처 버퍼에 저장된 디코딩된 픽처의 픽처 사이즈일 수도 있다. 비디오 인코더 (20) 또는 비디오 인코더 (50) 는 시퀀스 레벨 구문 정보에서 정렬된 코딩 유닛 사이즈 값을 시그널링할 수도 있다 (308).
도 4 는 비디오 디코더 (60) 의 일 예를 예시하는 블록도인데, 비디오 디코더 (60) 는 본 명세서에 설명된 방식으로 인코딩된 비디오 시퀀스를 디코딩한다. 본 개시물의 기술들은 몇몇 예들에서 비디오 디코더 (60) 에 의해 수행될 수도 있다. 비디오 디코더 (60) 는 제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처 및 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득하도록 구성될 수도 있다. 또한, 비디오 디코더 (60) 는 디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득하도록 구성될 수도 있고, 여기서 픽처 사이즈는 제 1 코딩 유닛 사이즈와 제 2 코딩 유닛 사이즈의 배수이다. 추가로, 비디오 디코더 (60) 는 디코딩된 픽처 버퍼에 디코딩된 픽처를 저장하도록 구성될 수도 있다.
비디오 디코더 (60) 는 엔트로피 디코딩 모듈 (52) 을 포함하며, 엔트로피 디코딩 모듈 (52) 은 도 2 의 엔트로피 인코딩 모듈 (46) 에 의해 수행된 인코딩의 상호적인 (reciprocal) 디코딩 함수를 수행한다. 특히, 엔트로피 디코딩 모듈 (52) 은 CAVLC 또는 CABAC 디코딩, 또는 비디오 인코더 (50) 에 의해 이용된 임의의 다른 타입의 엔트로피 디코딩을 수행할 수도 있다. 비디오 디코더 (60) 는 예측 디코딩 모듈 (54), 역양자화 유닛 (56), 역변환 유닛 (58), 메모리 (62), 및 합산기 (64) 를 또한 포함한다. 특히, 비디오 인코더 (50) 처럼, 비디오 디코더 (60) 는 예측 디코딩 모듈 (54) 및 필터 모듈 (57) 을 포함한다. 비디오 디코더 (60) 의 예측 디코딩 모듈 (54) 은 모션 보상 모듈 (86) 을 포함할 수도 있으며, 이것은 인터 코딩된 블록들을 디코딩하고 가능하게는 모션 보상 프로세스에서의 서브픽셀 보간을 위한 하나 이상의 보간 필터들을 포함한다. 예측 디코딩 모듈 (54) 은 인트라 모드들을 디코딩하기 위한 인트라 예측 모듈을 또한 포함할 수도 있다. 예측 디코딩 모듈 (54) 은 복수의 모드들 (35) 을 지원할 수도 있다. 필터 모듈 (57) 은 합산기 (64) 의 출력을 필터링할 수도 있고, 루프 필터링에서 적용되는 필터 계수들을 정의하기 위해, 엔트로피 디코딩된 필터 정보를 수신할 수도 있다.
인코딩된 비디오 데이터를 수신하면, 엔트로피 디코딩 모듈 (52) 은 (도 2 의 인코더 (50) 의) 엔트로피 인코딩 유닛 (46) 에 의해 수행된 인코딩과 상호적인 디코딩을 수행한다. 디코더에서, LCU들 및 LCU들과 연관된 대응하는 파티셔닝을 결정하기 위해, 엔트로피 디코딩 모듈 (52) 은 비트스트림을 파싱한다. 일부 실시형태들에서, LCU 또는 LCU의 CU들은 이용되었던 코딩 모드들을 정의할 수도 있고, 이들 코딩 모드들은 양예측 머지 모드를 포함할 수도 있다. 따라서, 엔트로피 디코딩 모듈 (52) 은 양예측 머지 모드를 식별하는 예측 유닛으로 구문 정보를 포워딩할 수도 있다. 메모리 (62) 는 디코딩된 픽처 버퍼를 포함할 수도 있다. 디코딩된 픽처 버퍼는 디코딩된 픽처를 저장할 수도 있다. 디코딩된 픽처는 디코더 픽처가 예측 디코딩 동안 참조되도록 비디오 시퀀스들과 연관될 수도 있다. 구문 정보는 비디오 디코더 (60) 에 의해, 본 명세서에 설명된 기술들에 따라 디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 사이즈를 결정하는데 이용될 수도 있다.
도 5 는 비디오 디코더 (28) 또는 비디오 디코더 (60) 에 의해 수행될 수도 있는 비디오 데이터를 디코딩하는 예시적인 기술을 예시하는 흐름도이다. 비디오 디코더 (28) 또는 비디오 디코더 (60) 는 제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처와 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득할 수도 있다 (502). 일 예에서, 제 1 픽처는 4×4 의 최소 코딩 유닛 사이즈를 이용하여 코딩될 수도 있고, 제 2 픽처는 8×8 의 최소 코딩 유닛 사이즈를 이용하여 코딩될 수도 있다. 비디오 디코더 (28) 또는 비디오 디코더 (60) 는 디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득할 수도 있고, 여기서 픽처 사이즈는 제 1 코딩 유닛 사이즈, 제 2 코딩 유닛 사이즈 또는 최대 코딩 유닛 사이즈 중 하나의 배수이다 (504). 일 예에서, 픽처 사이즈는 1920×1080 일 수도 있다. 비디오 디코더 (28) 또는 비디오 디코더 (60) 는 디코딩된 픽처를 디코딩된 픽처 버퍼에 저장할 수도 있다 (506). 추가로, 비디오 디코더 (28) 또는 비디오 디코더 (60) 는 획득된 픽처 사이즈가 정렬된 코딩 유닛 사이즈의 배수인지 여부에 기초하여, 비디오 시퀀스를 포함하는 비트스트림이 순응하는 (conforming) 비트스트림인지 여부를 결정할 수도 있다.
하나 이상의 실시예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 그것들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드를 통해 컴퓨터 판독가능 매체 상에 저장되거나 전송될 수도 있고, 하드웨어-기반의 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는 데이터 저장 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체, 또는 예컨대 통신 프로토콜에 따라 한 장소에서 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비-일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시에 설명된 기술들의 구현을 위해 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 사용가능한 매체일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
제한이 아닌 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 스토리지, 자기 디스크 스토리지, 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 사용될 수도 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수도 있다. 또한, 어떤 관련된 것이라도 적절히 컴퓨터 판독가능 매체라고 지칭된다. 예를 들어, 명령들이 웹사이트, 서버, 또는 다른 원격 소스로부터, 동축 케이블, 광섬유 케이블, 꼬임 쌍 (twisted pair), 디지털 가입자 회선 (DSL), 또는 무선 기술들 이를테면 적외선, 라디오, 및/또는 마이크로파를 이용하여 전송된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술들은 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 접속들, 반송파들, 신호들 또는 다른 일시적인 매체를 포함하는 것이 아니라, 그 대신 비-일시적인 유형의 저장 매체와 관련되는 것이 이해되어야 한다. 디스크 (disk 및 disc) 는 여기서 사용되는 바와 같이, 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, 디지털 다용도 디스크 (DVD), 플로피 디스크 및 블루레이 디스크를 포함하는데, 디스크 (disk) 들은 보통 데이터를 자기적으로 재생하지만, 디스크 (disc) 들은 레이저들로 광학적으로 데이터를 재생한다. 상기한 것들의 조합들도 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 프로세서들, 예컨대 하나 이상의 디지털 신호 프로세서들 (DSPs), 범용 마이크로프로세서들, 애플리케이션용 집적 회로들 (ASICs), 필드 프로그래머블 로직 어레이들 (FPGAs) 또는 다른 등가의 집적 또는 이산 로직 회로에 의해 실행될 수도 있다. 따라서, 용어 "프로세서" 는 본 명세서에서 이용되는 것과 같이, 전술된 구조 중 임의의 것 또는 본 명세서에 설명된 기술들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 추가로, 일부 양태들에서, 본 명세서에 설명된 기능은 인코딩 및 디코딩을 위해 구성되거나 결합된 코덱에 통합된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시물의 기술들은 무선 핸드셋, 집적 회로 (IC) 또는 IC 세트 (예컨대, 칩 세트) 를 포함하는 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은 본 개시물에서 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적인 양태들을 강조하기 위해 설명되지만, 상이한 하드웨어 유닛들에 의한 구현을 반드시 필요로 하지는 않는다. 오히려, 전술된 것과 같이, 다양한 유닛들은 코덱 하드웨어 유닛에서 결합되거나 상호동작하는 하드웨어 유닛들의 집합에 의해 제공되며, 전술된 것과 같은 하나 이상의 프로세스들과 결합하여 적절한 소프트웨어 및/또는 펌웨어를 포함한다.
본 개시물의 다양한 양태들이 설명되었다. 이들 및 다른 양태들은 이하 청구항들의 범위 내에 있다.

Claims (40)

  1. 비디오 데이터를 인코딩하는 방법으로서,
    비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대해 최소 코딩 유닛 사이즈를 결정하는 단계로서, 상기 최소 코딩 유닛 사이즈는 최대 가능한 코딩 유닛 사이즈를 포함하는 복수의 가능한 코딩 유닛 사이즈들로부터 선택되는, 상기 최소 코딩 유닛 사이즈를 결정하는 단계;
    상기 복수의 가능한 코딩 유닛 사이즈들에 기초하여 상기 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈를 결정하는 단계;
    상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 단계로서, 상기 비디오 시퀀스와 연관된 상기 픽처 사이즈는 상기 정렬된 코딩 유닛 사이즈의 배수인, 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 단계; 및
    시퀀스 레벨 구문 정보에서 정렬된 코딩 유닛 사이즈 값을 시그널링하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 정렬된 코딩 유닛 사이즈는 상기 최대 가능한 코딩 유닛 사이즈인, 비디오 데이터를 인코딩하는 방법.
  3. 제 2 항에 있어서,
    상기 복수의 가능한 코딩 유닛 사이즈들은 64×64 픽셀들의 최대 코딩 유닛 사이즈를 포함하는, 비디오 데이터를 인코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정하는 단계는, 제 1 픽처에 대하여 4×4 픽셀들의 제 1 최소 코딩 유닛 사이즈를 결정하는 단계 및 제 2 픽처에 대하여 8×8 픽셀들의 제 2 최소 코딩 유닛 사이즈를 결정하는 단계를 포함하며,
    상기 비디오 시퀀스에 대한 상기 정렬된 코딩 유닛 사이즈는 4×4 픽셀들인, 비디오 데이터를 인코딩하는 방법.
  5. 제 1 항에 있어서,
    상기 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정하는 단계는, 제 1 픽처에 대하여 4×4 픽셀들의 제 1 최소 코딩 유닛 사이즈를 결정하는 단계 및 제 2 픽처에 대하여 8×8 픽셀들의 제 2 최소 코딩 유닛 사이즈를 결정하는 단계를 포함하며,
    상기 비디오 시퀀스에 대한 상기 정렬된 코딩 유닛 사이즈는 8×8 픽셀들인, 비디오 데이터를 인코딩하는 방법.
  6. 제 1 항에 있어서,
    상기 픽처 사이즈는 디코딩된 픽처 버퍼에 저장된 디코딩된 픽처의 픽처 사이즈를 규정하는, 비디오 데이터를 인코딩하는 방법.
  7. 비디오 데이터를 인코딩하도록 구성된 디바이스로서,
    비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대해 최소 코딩 유닛 사이즈를 결정하는 수단으로서, 상기 최소 코딩 유닛 사이즈는 최대 가능한 코딩 유닛 사이즈를 포함하는 복수의 가능한 코딩 유닛 사이즈들로부터 선택되는, 상기 최소 코딩 유닛 사이즈를 결정하는 수단;
    상기 복수의 가능한 코딩 유닛 사이즈들에 기초하여 상기 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈를 결정하는 수단;
    상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 수단으로서, 상기 비디오 시퀀스와 연관된 상기 픽처 사이즈는 상기 정렬된 코딩 유닛 사이즈의 배수인, 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 수단; 및
    시퀀스 레벨 구문 정보에서 정렬된 코딩 유닛 사이즈 값을 시그널링하는 수단을 포함하는, 비디오 데이터를 인코딩하도록 구성된 디바이스.
  8. 제 7 항에 있어서,
    상기 정렬된 코딩 유닛 사이즈는 상기 최대 가능한 코딩 유닛 사이즈인, 비디오 데이터를 인코딩하도록 구성된 디바이스.
  9. 제 7 항에 있어서,
    상기 복수의 가능한 코딩 유닛 사이즈들은 64×64 픽셀들의 최대 코딩 유닛 사이즈를 포함하는, 비디오 데이터를 인코딩하도록 구성된 디바이스.
  10. 제 7 항에 있어서,
    상기 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정하는 것은, 제 1 픽처에 대하여 4×4 픽셀들의 제 1 최소 코딩 유닛 사이즈를 결정하는 것 및 제 2 픽처에 대하여 8×8 픽셀들의 제 2 최소 코딩 유닛 사이즈를 결정하는 것을 포함하며,
    상기 비디오 시퀀스에 대한 상기 정렬된 코딩 유닛 사이즈는 4×4 픽셀들인, 비디오 데이터를 인코딩하도록 구성된 디바이스.
  11. 제 7 항에 있어서,
    상기 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정하는 것은, 제 1 픽처에 대하여 4×4 픽셀들의 제 1 최소 코딩 유닛 사이즈를 결정하는 것 및 제 2 픽처에 대하여 8×8 픽셀들의 제 2 최소 코딩 유닛 사이즈를 결정하는 것을 포함하며,
    상기 비디오 시퀀스에 대한 상기 정렬된 코딩 유닛 사이즈는 8×8 픽셀들인, 비디오 데이터를 인코딩하도록 구성된 디바이스.
  12. 제 7 항에 있어서,
    상기 픽처 사이즈는 디코딩된 픽처 버퍼에 저장된 디코딩된 픽처의 픽처 사이즈를 규정하는, 비디오 데이터를 인코딩하도록 구성된 디바이스.
  13. 비디오 인코더를 포함하는 디바이스로서,
    상기 비디오 인코더는,
    비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대해 최소 코딩 유닛 사이즈를 결정하는 것으로서, 상기 최소 코딩 유닛 사이즈는 최대 가능한 코딩 유닛 사이즈를 포함하는 복수의 가능한 코딩 유닛 사이즈들로부터 선택되는, 상기 최소 코딩 유닛 사이즈를 결정하고;
    상기 복수의 가능한 코딩 유닛 사이즈들에 기초하여 상기 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈를 결정하고;
    상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하는 것으로서, 상기 비디오 시퀀스와 연관된 상기 픽처 사이즈는 상기 정렬된 코딩 유닛 사이즈의 배수인, 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하며; 그리고
    시퀀스 레벨 구문 정보에서 정렬된 코딩 유닛 사이즈 값을 시그널링하도록
    구성되는, 비디오 인코더를 포함하는 디바이스.
  14. 제 13 항에 있어서,
    상기 정렬된 코딩 유닛 사이즈는 상기 최대 가능한 코딩 유닛 사이즈인, 비디오 인코더를 포함하는 디바이스.
  15. 제 14 항에 있어서,
    상기 복수의 가능한 코딩 유닛 사이즈들은 64×64 픽셀들의 최대 코딩 유닛 사이즈를 포함하는, 비디오 인코더를 포함하는 디바이스.
  16. 제 13 항에 있어서,
    상기 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정하는 것은, 제 1 픽처에 대하여 4×4 픽셀들의 제 1 최소 코딩 유닛 사이즈를 결정하는 것 및 제 2 픽처에 대하여 8×8 픽셀들의 제 2 최소 코딩 유닛 사이즈를 결정하는 것을 포함하며,
    상기 비디오 시퀀스에 대한 상기 정렬된 코딩 유닛 사이즈는 4×4 픽셀들인, 비디오 인코더를 포함하는 디바이스.
  17. 제 13 항에 있어서,
    상기 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정하는 것은, 제 1 픽처에 대하여 4×4 픽셀들의 제 1 최소 코딩 유닛 사이즈를 결정하는 것 및 제 2 픽처에 대하여 8×8 픽셀들의 제 2 최소 코딩 유닛 사이즈를 결정하는 것을 포함하며,
    상기 비디오 시퀀스에 대한 상기 정렬된 코딩 유닛 사이즈는 8×8 픽셀들인, 비디오 인코더를 포함하는 디바이스.
  18. 제 13 항에 있어서,
    상기 픽처 사이즈는 디코딩된 픽처 버퍼에 저장된 디코딩된 픽처의 픽처 사이즈를 규정하는, 비디오 인코더를 포함하는 디바이스.
  19. 저장된 명령들을 포함하는 컴퓨터 판독가능 매체로서,
    상기 저장된 명령들은, 실행될 경우, 프로세서로 하여금,
    비디오 시퀀스를 정의하는 복수의 픽처들의 각각에 대해 최소 코딩 유닛 사이즈를 결정하게 하는 것으로서, 상기 최소 코딩 유닛 사이즈는 최대 가능한 코딩 유닛 사이즈를 포함하는 복수의 가능한 코딩 유닛 사이즈들로부터 선택되는, 상기 최소 코딩 유닛 사이즈를 결정하게 하고;
    상기 복수의 가능한 코딩 유닛 사이즈들에 기초하여 상기 비디오 시퀀스에 대한 정렬된 코딩 유닛 사이즈를 결정하게 하고;
    상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하게 하는 것으로서, 상기 비디오 시퀀스와 연관된 상기 픽처 사이즈는 상기 정렬된 코딩 유닛 사이즈의 배수인, 상기 비디오 시퀀스와 연관된 픽처 사이즈를 결정하게 하며; 그리고
    시퀀스 레벨 구문 정보에서 정렬된 코딩 유닛 사이즈 값을 시그널링하게 하는, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
  20. 제 19 항에 있어서,
    상기 정렬된 코딩 유닛 사이즈는 상기 최대 가능한 코딩 유닛 사이즈인, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
  21. 제 20 항에 있어서,
    상기 복수의 가능한 코딩 유닛 사이즈들은 64×64 픽셀들의 최대 코딩 유닛 사이즈를 포함하는, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
  22. 제 19 항에 있어서,
    상기 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정하는 것은, 제 1 픽처에 대하여 4×4 픽셀들의 제 1 최소 코딩 유닛 사이즈를 결정하는 것 및 제 2 픽처에 대하여 8×8 픽셀들의 제 2 최소 코딩 유닛 사이즈를 결정하는 것을 포함하며,
    상기 비디오 시퀀스에 대한 상기 최소 코딩 유닛 사이즈는 4×4 픽셀들인, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
  23. 제 19 항에 있어서,
    상기 복수의 픽처들의 각각에 대하여 최소 코딩 유닛 사이즈를 결정하는 것은, 제 1 픽처에 대하여 4×4 픽셀들의 제 1 최소 코딩 유닛 사이즈를 결정하는 것 및 제 2 픽처에 대하여 8×8 픽셀들의 제 2 최소 코딩 유닛 사이즈를 결정하는 것을 포함하며,
    상기 비디오 시퀀스에 대한 상기 최소 코딩 유닛 사이즈는 8×8 픽셀들인, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
  24. 제 19 항에 있어서,
    상기 픽처 사이즈는 디코딩된 픽처 버퍼에 저장된 디코딩된 픽처의 픽처 사이즈를 규정하는, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
  25. 비디오 데이터를 디코딩하는 방법으로서,
    제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처 및 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득하는 단계;
    디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득하는 단계로서, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈, 상기 제 2 코딩 유닛 사이즈, 또는 최대 코딩 유닛 사이즈 중 하나의 배수인, 상기 디코딩된 픽처의 픽처 사이즈를 획득하는 단계; 및
    상기 디코딩된 픽처를 디코딩된 픽처 버퍼에 저장하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  26. 제 25 항에 있어서,
    상기 제 1 최소 코딩 유닛 사이즈는 4×4 픽셀들이고, 상기 제 2 코딩 유닛 사이즈는 8×8 픽셀들이며, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈의 배수인, 비디오 데이터를 디코딩하는 방법.
  27. 제 25 항에 있어서,
    상기 제 1 최소 코딩 유닛 사이즈는 4×4 픽셀들이고, 상기 제 2 코딩 유닛 사이즈는 8×8 픽셀들이며, 상기 픽처 사이즈는 상기 제 2 코딩 유닛 사이즈의 배수인, 비디오 데이터를 디코딩하는 방법.
  28. 제 25 항에 있어서,
    상기 최대 코딩 유닛 사이즈는 64×64 픽셀들이고, 상기 픽처 사이즈는 상기 최대 코딩 유닛 사이즈의 배수인, 비디오 데이터를 디코딩하는 방법.
  29. 비디오 데이터를 디코딩하도록 구성된 디바이스로서,
    제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처 및 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득하는 수단;
    디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득하는 수단으로서, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈, 상기 제 2 코딩 유닛 사이즈, 또는 최대 코딩 유닛 사이즈 중 하나의 배수인, 상기 디코딩된 픽처의 픽처 사이즈를 획득하는 수단; 및
    상기 디코딩된 픽처를 디코딩된 픽처 버퍼에 저장하는 수단을 포함하는, 비디오 데이터를 디코딩하도록 구성된 디바이스.
  30. 제 29 항에 있어서,
    상기 제 1 최소 코딩 유닛 사이즈는 4×4 픽셀들이고, 상기 제 2 코딩 유닛 사이즈는 8×8 픽셀들이며, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈의 배수인, 비디오 데이터를 디코딩하도록 구성된 디바이스.
  31. 제 29 항에 있어서,
    상기 제 1 최소 코딩 유닛 사이즈는 4×4 픽셀들이고, 상기 제 2 코딩 유닛 사이즈는 8×8 픽셀들이며, 상기 픽처 사이즈는 상기 제 2 코딩 유닛 사이즈의 배수인, 비디오 데이터를 디코딩하도록 구성된 디바이스.
  32. 제 29 항에 있어서,
    상기 최대 코딩 유닛 사이즈는 64×64 픽셀들이고, 상기 픽처 사이즈는 상기 최대 코딩 유닛 사이즈의 배수인, 비디오 데이터를 디코딩하도록 구성된 디바이스.
  33. 비디오 디코더를 포함하는 디바이스로서,
    상기 비디오 디코더는,
    제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처 및 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득하고;
    디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득하는 것으로서, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈, 상기 제 2 코딩 유닛 사이즈, 또는 최대 코딩 유닛 사이즈 중 하나의 배수인, 상기 디코딩된 픽처의 픽처 사이즈를 획득하며; 그리고
    상기 디코딩된 픽처를 디코딩된 픽처 버퍼에 저장하도록
    구성되는, 비디오 디코더를 포함하는 디바이스.
  34. 제 33 항에 있어서,
    상기 제 1 최소 코딩 유닛 사이즈는 4×4 픽셀들이고, 상기 제 2 코딩 유닛 사이즈는 8×8 픽셀들이며, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈의 배수인, 비디오 디코더를 포함하는 디바이스.
  35. 제 33 항에 있어서,
    상기 제 1 최소 코딩 유닛 사이즈는 4×4 픽셀들이고, 상기 제 2 코딩 유닛 사이즈는 8×8 픽셀들이며, 상기 픽처 사이즈는 상기 제 2 코딩 유닛 사이즈의 배수인, 비디오 디코더를 포함하는 디바이스.
  36. 제 33 항에 있어서,
    상기 최대 코딩 유닛 사이즈는 64×64 픽셀들이고, 상기 픽처 사이즈는 상기 최대 코딩 유닛 사이즈의 배수인, 비디오 디코더를 포함하는 디바이스.
  37. 저장된 명령들을 포함하는 컴퓨터 판독가능 매체로서,
    상기 저장된 명령들은, 실행될 경우, 프로세서로 하여금,
    제 1 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 1 픽처 및 제 2 최소 코딩 유닛 사이즈를 이용하여 코딩된 제 2 픽처를 포함하는 코딩된 비디오 시퀀스를 획득하게 하고;
    디코딩된 픽처 버퍼에 저장될 디코딩된 픽처의 픽처 사이즈를 획득하게 하는 것으로서, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈, 상기 제 2 코딩 유닛 사이즈, 또는 최대 코딩 유닛 사이즈 중 하나의 배수인, 상기 디코딩된 픽처의 픽처 사이즈를 획득하게 하며; 그리고
    상기 디코딩된 픽처를 디코딩된 픽처 버퍼에 저장하게 하는, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
  38. 제 37 항에 있어서,
    상기 제 1 최소 코딩 유닛 사이즈는 4×4 픽셀들이고, 상기 제 2 코딩 유닛 사이즈는 8×8 픽셀들이며, 상기 픽처 사이즈는 상기 제 1 코딩 유닛 사이즈의 배수인, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
  39. 제 37 항에 있어서,
    상기 제 1 최소 코딩 유닛 사이즈는 4×4 픽셀들이고, 상기 제 2 코딩 유닛 사이즈는 8×8 픽셀들이며, 상기 픽처 사이즈는 상기 제 2 코딩 유닛 사이즈의 배수인, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
  40. 제 37 항에 있어서,
    상기 최대 코딩 유닛 사이즈는 64×64 픽셀들이고, 상기 픽처 사이즈는 상기 최대 코딩 유닛 사이즈의 배수인, 저장된 명령들을 포함하는 컴퓨터 판독가능 매체.
KR1020147004055A 2011-07-17 2012-07-17 비디오 코딩에서 픽처 사이즈를 시그널링 KR101497882B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161508659P 2011-07-17 2011-07-17
US61/508,659 2011-07-17
US201161530819P 2011-09-02 2011-09-02
US61/530,819 2011-09-02
US201161549480P 2011-10-20 2011-10-20
US61/549,480 2011-10-20
US13/550,384 2012-07-16
US13/550,384 US20130016769A1 (en) 2011-07-17 2012-07-16 Signaling picture size in video coding
PCT/US2012/047066 WO2013012864A1 (en) 2011-07-17 2012-07-17 Signaling picture size in video coding

Publications (2)

Publication Number Publication Date
KR20140024482A true KR20140024482A (ko) 2014-02-28
KR101497882B1 KR101497882B1 (ko) 2015-03-02

Family

ID=47518908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147004055A KR101497882B1 (ko) 2011-07-17 2012-07-17 비디오 코딩에서 픽처 사이즈를 시그널링

Country Status (20)

Country Link
US (3) US20130016769A1 (ko)
EP (1) EP2732629B1 (ko)
JP (1) JP5792388B2 (ko)
KR (1) KR101497882B1 (ko)
CN (1) CN103718551B (ko)
AU (1) AU2012284120B2 (ko)
BR (1) BR112014000941B1 (ko)
CA (1) CA2841953C (ko)
DK (1) DK2732629T3 (ko)
ES (1) ES2639030T3 (ko)
HU (1) HUE030661T2 (ko)
IL (1) IL230248A (ko)
MX (1) MX2014000720A (ko)
MY (1) MY165045A (ko)
PL (1) PL2732629T3 (ko)
PT (1) PT2732629T (ko)
RU (1) RU2586027C2 (ko)
SI (1) SI2732629T1 (ko)
TW (1) TWI502967B (ko)
WO (1) WO2013012864A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106954067B (zh) * 2011-06-30 2020-08-18 三菱电机株式会社 图像编码装置及方法、图像解码装置及方法
US20130016769A1 (en) 2011-07-17 2013-01-17 Qualcomm Incorporated Signaling picture size in video coding
JP2013085096A (ja) * 2011-10-07 2013-05-09 Sony Corp 画像処理装置および方法
CN113810688B (zh) * 2015-05-12 2023-07-18 三星电子株式会社 视频编码方法、视频解码方法以及计算机可读介质
WO2016205999A1 (en) * 2015-06-23 2016-12-29 Mediatek Singapore Pte. Ltd. Adaptive coding group for image/video coding
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
CN107820077B (zh) * 2016-09-14 2019-06-28 北京金山云网络技术有限公司 一种最大可用编码单元尺寸确定方法及装置
KR102435881B1 (ko) * 2017-05-26 2022-08-24 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN117201820A (zh) 2017-05-26 2023-12-08 Sk电信有限公司 对视频数据进行编码或解码的方法和发送比特流的方法
WO2018221368A1 (ja) * 2017-05-31 2018-12-06 シャープ株式会社 動画像復号装置、及び動画像符号化装置
KR102336987B1 (ko) 2017-07-04 2021-12-08 엘지전자 주식회사 360도 비디오의 영역 기반 처리 방법 및 장치
WO2019172202A1 (ja) * 2018-03-05 2019-09-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置及び符号化方法
US11290734B2 (en) 2019-01-02 2022-03-29 Tencent America LLC Adaptive picture resolution rescaling for inter-prediction and display
AU2020206246B2 (en) * 2019-01-09 2024-01-04 Huawei Technologies Co., Ltd. Sub-picture layout signaling in video coding
US11159795B2 (en) * 2019-03-04 2021-10-26 Tencent America LLC Max transform size control
US11012710B2 (en) 2019-03-06 2021-05-18 Tencent America LLC Techniques for intra prediction for 360 image and video coding
US20200314423A1 (en) * 2019-03-25 2020-10-01 Qualcomm Incorporated Fixed filters with non-linear adaptive loop filter in video coding
US11438611B2 (en) 2019-12-11 2022-09-06 Hfi Innovation Inc. Method and apparatus of scaling window constraint for worst case bandwidth consideration for reference picture resampling in video coding
US11445176B2 (en) 2020-01-14 2022-09-13 Hfi Innovation Inc. Method and apparatus of scaling window constraint for worst case bandwidth consideration for reference picture resampling in video coding
US11575941B2 (en) * 2021-03-23 2023-02-07 Tencent America LLC Parallel processing in video coding

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3844844B2 (ja) 1997-06-06 2006-11-15 富士通株式会社 動画像符号化装置及び動画像符号化方法
WO2003053066A1 (en) 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
US7170937B2 (en) 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
EP1512115B1 (en) 2002-06-11 2013-12-18 Nokia Corporation Spatial prediction based intra coding
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
BRPI0408087A (pt) 2003-03-03 2006-02-14 Agency Science Tech & Res método de intrapredição de codificação de vìdeo avançada (avc) para codificar vìdeo digital, aparelho que utiliza essa intrapredição e produto de programa de computador
US7852919B2 (en) 2003-09-07 2010-12-14 Microsoft Corporation Field start code for entry point frames with predicted first field
US7822123B2 (en) * 2004-10-06 2010-10-26 Microsoft Corporation Efficient repeat padding for hybrid video sequence with arbitrary video resolution
EP1558039A1 (en) 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
JP4501631B2 (ja) 2004-10-26 2010-07-14 日本電気株式会社 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
US20080095228A1 (en) 2006-10-20 2008-04-24 Nokia Corporation System and method for providing picture output indications in video coding
FR2908007A1 (fr) 2006-10-31 2008-05-02 Thomson Licensing Sas Procede de codage d'une sequence d'images
FR2916931A1 (fr) 2007-05-29 2008-12-05 Thomson Licensing Sas Procede de selection d'une donnee de codage et dispositif de codage implementant ledit procede
JP4523625B2 (ja) 2007-08-07 2010-08-11 パナソニック株式会社 画像符号化装置および方法
TW200910971A (en) 2007-08-22 2009-03-01 Univ Nat Cheng Kung Direction detection algorithms for H.264 intra prediction
DE102007049351A1 (de) 2007-10-15 2009-04-16 Siemens Ag Verfahren und Vorrichtung zum Erstellen eines kodierten Ausgangsvideostroms aus mindestens zwei kodierten Eingangsvideoströmen, sowie Verwendung der Vorrichtung und kodierter Eingangsvideostrom
US8121197B2 (en) 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
KR101306834B1 (ko) 2008-09-22 2013-09-10 에스케이텔레콤 주식회사 인트라 예측 모드의 예측 가능성을 이용한 영상 부호화/복호화 장치 및 방법
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US20100098156A1 (en) 2008-10-16 2010-04-22 Qualcomm Incorporated Weighted prediction based on vectorized entropy coding
JP5169978B2 (ja) 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
JP5746182B2 (ja) 2009-09-14 2015-07-08 トムソン ライセンシングThomson Licensing イントラ予測モードの効率的なビデオ符号化及び復号化方法及び装置
KR101457894B1 (ko) 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
EP2536151A4 (en) 2010-02-10 2014-03-19 Lg Electronics Inc METHOD AND DEVICE FOR PROCESSING A VIDEO SIGNAL
US20110194613A1 (en) * 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
CN105472387B (zh) 2010-04-09 2018-11-02 Lg电子株式会社 处理视频数据的方法和装置
US8902978B2 (en) 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
US8654860B2 (en) * 2010-11-01 2014-02-18 Mediatek Inc. Apparatus and method for high efficiency video coding using flexible slice structure
WO2012070857A2 (ko) 2010-11-25 2012-05-31 엘지전자 주식회사 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법
KR20120070479A (ko) 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
EP2661880A4 (en) 2011-01-07 2016-06-29 Mediatek Singapore Pte Ltd METHOD AND DEVICE FOR IMPROVED CODING OF INTRA-LUMA PREDICTION MODE
WO2012092761A1 (en) 2011-01-07 2012-07-12 Mediatek Singapore Pte. Ltd. Method and apparatus for improved intra prediction mode coding
JP5781313B2 (ja) 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
JP2012147332A (ja) 2011-01-13 2012-08-02 Sony Corp 符号化装置および符号化方法、並びに復号装置および復号方法
CN102595121A (zh) 2011-01-15 2012-07-18 华为技术有限公司 帧内预测模式二进制化的方法、解码方法、装置和系统
CN102685474B (zh) 2011-03-10 2014-11-05 华为技术有限公司 预测模式的编解码方法、编解码设备及网络系统
AU2011201336B2 (en) 2011-03-23 2013-09-05 Canon Kabushiki Kaisha Modulo embedding of video parameters
JP5763210B2 (ja) 2011-04-21 2015-08-12 メディアテック インコーポレイテッド 改良されたループ型フィルタリング処理のための方法と装置
KR101383775B1 (ko) 2011-05-20 2014-04-14 주식회사 케이티 화면 내 예측 방법 및 장치
WO2012164902A1 (ja) 2011-05-30 2012-12-06 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
EP2533537A1 (en) 2011-06-10 2012-12-12 Panasonic Corporation Transmission of picture size for image or video coding
US20130016769A1 (en) 2011-07-17 2013-01-17 Qualcomm Incorporated Signaling picture size in video coding

Also Published As

Publication number Publication date
CA2841953A1 (en) 2013-01-24
HUE030661T2 (en) 2017-05-29
PL2732629T3 (pl) 2017-07-31
IL230248A (en) 2016-12-29
MX2014000720A (es) 2014-02-27
US11700384B2 (en) 2023-07-11
EP2732629B1 (en) 2016-10-05
WO2013012864A1 (en) 2013-01-24
BR112014000941A2 (pt) 2017-02-14
EP2732629A1 (en) 2014-05-21
CA2841953C (en) 2017-01-03
ES2639030T3 (es) 2017-10-25
SI2732629T1 (sl) 2016-12-30
AU2012284120B2 (en) 2016-03-03
DK2732629T3 (da) 2017-01-02
BR112014000941B1 (pt) 2022-06-07
TWI502967B (zh) 2015-10-01
CN103718551B (zh) 2017-06-30
AU2012284120A1 (en) 2014-02-13
CN103718551A (zh) 2014-04-09
MY165045A (en) 2018-02-28
TW201313027A (zh) 2013-03-16
JP2014521281A (ja) 2014-08-25
JP5792388B2 (ja) 2015-10-14
RU2014105655A (ru) 2015-08-27
KR101497882B1 (ko) 2015-03-02
PT2732629T (pt) 2017-01-13
US20140341275A1 (en) 2014-11-20
US20130016769A1 (en) 2013-01-17
RU2586027C2 (ru) 2016-06-10
US20220295076A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US11700384B2 (en) Signaling picture size in video coding
CN108965872B (zh) 用于视频译码中的4:2:2样本格式的经译码块旗标(cbf)译码
KR101607788B1 (ko) 비디오 코딩에서 슬라이스 경계들 또는 타일 경계들 주위의 루프 필터링
KR101619004B1 (ko) 인트라 예측 코딩에 있어서의 최빈 변환
KR101726484B1 (ko) 크로마 슬라이스-레벨 qp 오프셋 및 디블록킹
CN107211139B (zh) 用于译码视频数据的方法、装置和计算机可读存储媒体
US8942282B2 (en) Variable length coding of coded block pattern (CBP) in video compression
KR101807913B1 (ko) 비디오 코딩에서 코드북을 사용한 루프 필터 파라미터들의 코딩
KR101663397B1 (ko) 가중 예측 파라미터 코딩
EP2984827B1 (en) Sample adaptive offset scaling based on bit-depth
KR20130135362A (ko) 비디오 코딩에서 단예측 인접자들에 기초한 양예측 머지 모드
WO2013039908A2 (en) Non-square transform units and prediction units in video coding
KR20150008412A (ko) 비디오 코딩에서 양자화 매트릭스를 위한 균일한 입도

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20171228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 5