KR20150052248A - 스케일러블 비디오 코딩에서 다운샘플링 위상 정보의 시그널링 - Google Patents

스케일러블 비디오 코딩에서 다운샘플링 위상 정보의 시그널링 Download PDF

Info

Publication number
KR20150052248A
KR20150052248A KR1020157008572A KR20157008572A KR20150052248A KR 20150052248 A KR20150052248 A KR 20150052248A KR 1020157008572 A KR1020157008572 A KR 1020157008572A KR 20157008572 A KR20157008572 A KR 20157008572A KR 20150052248 A KR20150052248 A KR 20150052248A
Authority
KR
South Korea
Prior art keywords
phase shift
phase
coefficients
video
layer
Prior art date
Application number
KR1020157008572A
Other languages
English (en)
Inventor
지안레 천
리웨이 궈
샹 리
마르타 카르체비츠
웨이 푸
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20150052248A publication Critical patent/KR20150052248A/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/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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/187Methods 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 scalable video layer
    • 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
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain

Landscapes

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

Abstract

비디오 이미지 코딩을 위한 방법들 및 시스템들이 제공된다. 필터들의 세트들이 선택되고, 비디오 정보의 제 1 계층과 제 2 계층 간의 위상 변위 정보에 적어도 부분적으로 기초하여 비디오 정보에 적용될 수도 있다. 예를 들어, 위상 변위 정보는 제 1 계층에서의 픽셀의 포지션이고 제 2 계층에서의 픽셀의 대응하는 포지션 간의 차이에 대응할 수도 있다. 선택된 필터 세트는 업샘플링 필터 또는 다운샘플링 필터일 수 있다. 위상 변위 정보는 비디오 비트스트림에 삽입된 시택스 엘리먼트로서 인코딩될 수도 있다.

Description

스케일러블 비디오 코딩에서 다운샘플링 위상 정보의 시그널링{SIGNALING OF DOWN-SAMPLING PHASE INFORMATION IN SCALABLE VIDEO CODING}
본 개시물은 비디오 콘텐츠의 인코딩과 디코딩을 포함하는 비디오 코딩에 관한 것이며, 특히 인트라 예측 및 인터 예측에 관한 것이다.
디지털 비디오 성능들은, 디지털 텔레비전, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, PDA들(personal digital assistants), 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게임용 디바이스들, 비디오 게임 콘솔, 셀룰러 또는 무선 라디오 텔레폰들, 픽처 원격회의 디바이스들 등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은 MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, 파트 10, 어드밴스드 비디오 코딩 (AVC), 현재 개발 중에 있는 고효율 비디오 코딩 (HEVC) 표준에 의해 규정된 표준들 및 이러한 표준들의 확장안들에 기재된 것들과 같은 비디오 압축 기술들을 구현하여, 디지털 비디오 정보를 더 효율적으로 송신, 수신 및 저장한다.
비디오 코딩 기술들은 비디오 시퀀스들에 내재한 리던던시를 감소 또는 제거하기 위해 공간 (인트라-픽처) 예측 및/또는 시간 (인터-픽처) 예측을 포함한다. 블록 기반 비디오 코딩에 있어서, 비디오 슬라이스 (예를 들어, 비디오 프레임, 또는 비디오 프레임의 부분) 는 비디오 블록들로 파티셔닝될 수도 있으며, 비디오 블록들은 또한 트리블록들, 코딩 유닛 (CU) 들 및/또는 코딩 노드들로 지칭될 수도 있다. 고효율 비디오 코딩 (HEVC) 은 3 개의 블록 개념들: 코딩 유닛 (CU), 예측 유닛 (PU), 및 변환 유닛 (TU) 을 포함하는 정보의 유닛 표현을 포함한다. 픽처의 인트라 코딩된 (I) 슬라이스 내의 비디오 블록들은 동일한 픽처 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간 예측을 이용하여 인코딩된다. 픽처의 인터 코딩된 (P 또는 B) 슬라이스 내의 비디오 블록들은 동일한 픽처 내의 이웃하는 블록들 내의 참조 샘플들에 대한 공간 예측, 또는 다른 참조 픽처들 내의 참조 샘플들에 대한 시간 예측을 이용할 수도 있다. 픽처들은 프레임들로서 지칭될 수도 있고, 참조 픽처들은 참조 프레임들로서 지칭될 수도 있다.
공간 또는 시간 예측은 코딩될 블록에 대한 예측 블록을 발생한다. 잔차 (residual) 데이터는 코딩될 원래의 블록과 예측 블록 간에 픽셀 차이들을 나타낸다. 인터 코딩된 블록은 예측 블록을 형성하는 참조 샘플들의 블록을 가리키는 모션 벡터, 및 코딩된 블록과 예측 블록 간의 차이를 나타내는 잔차 데이터에 따라 인코딩된다. 인트라 코딩된 블록은 인트라 코딩 모드와 잔차 데이터에 따라 인코딩된다. 추가의 압축을 위해, 잔차 데이터는 픽셀 도메인에서 변환 도메인으로 변환될 수도 있고, 그 결과 이 후 양자화될 수도 있는 잔차 변환 계수들을 발생한다. 초기에 2차원 어레이로 배열된 양자화된 변환 계수들은 변환 계수들의 1차원 벡터를 생성하기 위해 스캔될 수도 있고, 더 많은 압축을 달성하기 위해 엔트로피 코딩이 적용될 수도 있다.
본 개시물을 요약할 목적으로, 본 발명들의 소정의 양태들, 이점들, 및 신규한 특징들이 본원에 설명되었다. 반드시 모든 이러한 이점들이 본원에 개시된 임의의 특정 실시형태에 따라 달성될 필요가 없을 수 있음이 이해될 것이다. 따라서, 본원에 개시된 특징들은 반드시 본원에 교시되거나 제시된 다른 장점들을 달성하지 않으면서도 본원에 교시된 일 장점 또는 일 그룹의 장점들을 달성하거나 최적화하는 방식으로 구현되거나 실행될 수 있다.
일부 실시형태들에 따르면, 비디오 정보를 코딩하는 디바이스는 프로세서 및 메모리를 포함한다. 메모리는 비디오 데이터를 저장하도록 구성될 수 있고, 비디오 데이터는 비디오 정보의 제 1 계층을 포함할 수 있다. 프로세서는: 제 1 계층에 대하여 비디오 정보의 제 2 계층의 위상 변위 정보를 결정하고; 위상 변위 정보에 적어도 부분적으로 기초하여 이미지 필터 세트를 선택하고; 그리고 제 1 계층 및 식별된 이미지 필터 세트를 사용하여 제 1 층의 수정된 버전을 생성하도록 구성될 수 있다.
이전 단락의 비디오 정보를 코딩하는 디바이스는 다음 특징들 중 하나 이상을 포함할 수 있다: 제 1 계층은 기본 계층을 포함할 수 있다; 제 2 계층은 향상 계층을 포함할 수 있다; 선택된 이미지 필터 세트는 업샘플링 이미지 필터를 포함할 수 있다; 그리고 프로세서는 추가로 위상 변위 정보를 시그널링하는 인코딩된 비디오 비트스트림으로부터 추출된 신택스 엘리먼트를 수신하도록 구성될 수 있다. 대안적으로, 제 1 계층은 향상 계층을 포함할 수 있다; 제 2 계층은 기본 계층을 포함할 수 있다; 선택된 이미지 필터 세트는 다운샘플링 이미지 필터를 포함할 수 있다; 그리고 프로세서는 추가로 위상 변위 정보를 시그널링하기 위해 인코딩된 비디오 비트스트림에 대한 신택스 엘리먼트를 생성하도록 구성될 수 있다.
위상 변위 정보는 제 1 계층에서 픽셀의 일부분과 제 2 계층에서 픽셀의 대응하는 부분 간의 차이를 포함할 수 있다. 위상 변위 정보는 제 1 계층과 제 2 계층 간에 제로-위상 관계 또는 대칭적-위상 관계 중 하나를 표시하는 이진 값을 포함할 수 있다. 위상 변위 정보는 수평 위상 변위 정보를 표시하기 위한 제 1 신택스 엘리먼트 및 수직 위상 변위 정보를 표시하기 위한 제 2 신택스 엘리먼트를 포함할 수 있다. 추가로, 제 1 신택스 엘리먼트와 제 2 신택스 엘리먼트 중 적어도 하나는 비-이진 값을 포함할 수 있다. 프로세서는 추가로: 위상 변위 정보가 비트스트림에서 시그널링되지 않을 경우, 디폴트 이미지 필터 세트를 선택하고; 그리고 위상 변위 정보가 비트스트림에서 시그널링될 경우, 위상 변위 정보에 기초하여 이미지 필터 세트를 선택하도록 구성될 수 있다. 디폴트 이미지 필터 세트는 제 1 계층과 제 2 계층 간의 대칭적-위상 관계에 적어도 부분적으로 기초할 수 있다. 디폴트 이미지 필터 세트는 제 1 계층과 제 2 계층 간의 제로-위상 관계에 적어도 부분적으로 기초할 수 있다. 위상 변위 정보는 정렬 정보를 포함할 수 있다. 예를 들면, 정렬 정보는 x 픽셀 좌표들 및 y 픽셀 좌표들을 위상 오프셋들로 맵핑하는 함수로서 모델링될 수 있다. 위상 변위 정보는 크로마 위상 변위 정보를 표시하는 비디오 파라미터 세트 (VPS) 신택스 엘리먼트를 포함할 수 있다. 선택된 이미지 필터 세트는 비트스트림의 부분으로서 시그널링되는 계수들을 포함할 수 있다. 디바이스는 메모리와 프로세서를 포함하는, 데스크탑 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 전화기 핸드셋, 텔레비전, 카메라, 디스플레이 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 콘솔, 및 비디오 스트리밍 디바이스 중 적어도 하나를 더 포함할 수 있다.
선택된 이미지 필터 세트는 0 의 위상 쉬프트에 대하여 계수들 {0, 0, 0, 64, 0, 0, 0, 0}, 1 의 위상 쉬프트에 대하여 계수들 {0, 1, -3, 63, 4, -2, 1, 0}, 2 의 위상 쉬프트에 대하여 계수들 {0, 2, -6, 61, 9, -3, 1, 0}, 3 의 위상 쉬프트에 대하여 계수들 {-1, 3, -8, 60, 13, -4, 1, 0}, 4 의 위상 쉬프트에 대하여 계수들 {-1, 4, -10, 58, 17, -5, 1, 0}, 5 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 53, 25, -8, 3, -1}, 6 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 50, 29, -9, 3, -1}, 7 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 45, 34, -10, 4, -1}, 8 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 40, 40, -11, 4, -1}, 9 의 위상 쉬프트에 대하여 계수들 {-1, 4, -10, 34, 45, -11, 4, -1}, 10 의 위상 쉬프트에 대하여 계수들 {-1, 3, -9, 29, 50, -11, 4, -1}, 11 의 위상 쉬프트에 대하여 계수들 {-1, 3, -8, 25, 53, -11, 4, -1}, 12 의 위상 쉬프트에 대하여 계수들 {0, 1, -5, 17, 58, -10, 4, -1}, 13 의 위상 쉬프트에 대하여 계수들 {0, 1, -4, 13, 60, -8, 3, -1}, 14 의 위상 쉬프트에 대하여 계수들 {0, 1, -3, 8, 62, -6, 2, 0}, 및 15 의 위상 쉬프트에 대하여 계수들 {0, 1, -2, 4, 63, -3, 1, 0} 을 포함할 수 있다. 선택된 이미지 필터 세트는 0 의 위상 쉬프트에 대하여 계수들 {0, 64, 0, 0}, 1 의 위상 쉬프트에 대하여 계수들 {-2, 62, 4, 0}, 2 의 위상 쉬프트에 대하여 계수들 {-2, 58, 10, -2}, 3 의 위상 쉬프트에 대하여 계수들 {-4, 56, 14, -2}, 4 의 위상 쉬프트에 대하여 계수들 {-4, 54, 16, -2}, 5 의 위상 쉬프트에 대하여 계수들 {-6, 52, 20, -2}, 6 의 위상 쉬프트에 대하여 계수들 {-6, 48, 26, -4}, 7 의 위상 쉬프트에 대하여 계수들 {-4, 42, 30, -4}, 8 의 위상 쉬프트에 대하여 계수들 {-4, 36, 36, -4}, 9 의 위상 쉬프트에 대하여 계수들 {-4, 30, 42, -4}, 10 의 위상 쉬프트에 대하여 계수들 {-4, 26, 48, -6}, 11 의 위상 쉬프트에 대하여 계수들 {-2, 20, 52, -6}, 12 의 위상 쉬프트에 대하여 계수들 {-2, 16, 54, -4}, 13 의 위상 쉬프트에 대하여 계수들 {-2, 14, 56, -4}, 14 의 위상 쉬프트에 대하여 계수들 {-2, 10, 58, -2}, 및 15 의 위상 쉬프트에 대하여 계수들 {0, 4, 62, -2} 을 포함할 수 있다.
일부 실시형태들에 따라, 비디오 정보를 디코딩하는 방법은: 비디오 정보의 기본 계층을 획득하는 단계; 인코딩된 비디오 비트스트림으로부터 추출된 신택스 엘리먼트를 수신하는 단계로서, 상기 신택스 엘리먼트는 향상 계층에 대하여 비디오 정보의 기본 계층의 위상 변위 정보를 포함하는, 상기 신택스 엘리먼트를 수신하는 단계; 위상 변위 정보에 적어도 부분적으로 기초하여 이미지 필터 세트를 선택하는 단계; 및 기본 계층 및 식별된 이미지 필터 세트를 사용하여 향상 계층의 업샘플링된 버전을 생성하는 단계를 포함할 수 있다.
일부 실시형태들에 따라, 비디오 정보를 인코딩하는 방법은: 비디오 정보의 향상 계층을 획득하는 단계; 다운샘플링 이미지 필터 세트를 선택하는 단계; 향상 계층 및 선택된 이미지 필터 세트를 사용하여 기본 계층을 생성하는 단계; 및 향상 계층에 대하여 기본 계층의 위상 변위 정보를 포함하는 신택스 엘리먼트를 생성하는 단계를 포함할 수 있다.
일부 실시형태들에 따라, 비디오 비트스트림을 코딩하는 장치는: 비디오 정보의 향상 계층을 획득하는 수단; 향상 계층에 대하여 비디오 정보의 기본 계층의 위상 변위 정보를 포함하는 신택스 엘리먼트를 생성하는 수단; 위상 변위 정보에 적어도 부분적으로 기초하여 이미지 필터 세트를 선택하는 수단; 향상 계층 및 식별된 이미지 필터 세트를 사용하여 향상 계층의 다운샘플링된 버전을 생성하는 수단; 및 향상 계층의 다운샘플링된 버전을 저장하는 수단을 포함할 수 있다.
일부 실시형태들에 따라, 비-일시적 컴퓨터 판독가능 매체는, 프로세서에 의해 실행될 경우, 프로세서로 하여금: 비디오 정보의 기본 계층을 획득하게 하고; 인코딩된 비디오 비트스트림으로부터 추출된 신택스 엘리먼트를 수신하게 하는 것으로서, 상기 신택스 엘리먼트는 향상 계층에 대하여 비디오 정보의 기본 계층의 위상 변위 정보를 포함하는, 상기 신택스 엘리먼트를 수신하게 하고; 위상 변위 정보에 적어도 부분적으로 기초하여 이미지 필터 세트를 선택하게 하고; 그리고 향상 계층 및 식별된 이미지 필터 세트를 사용하여 향상 계층의 업샘플링된 버전을 생성하게 하는, 명령들을 저장할 수 있다.
도 1 은 본 개시물의 기술들을 활용할 수도 있는 예시적인 비디오 코딩 시스템을 도시한 블록 다이어그램이다.
도 2 는 본 개시물의 기술들을 구현하도록 구성될 수도 있는 예시적인 비디오 인코더를 도시한 블록 다이어그램이다.
도 3 은 본 개시물의 기술들을 구현하도록 구성될 수도 있는 예시적인 비디오 디코더를 도시한 블록 다이어그램이다.
도 4 는 3 개의 상이한 차원들에서의 스케일러빌리티들을 도시한 그래프이다.
도 5 는 SVC 비트스트림의 예시적인 구조의 개략도를 도시한다.
도 6a 는 비트스트림에서 SVC 액세스 유닛들의 일 예의 개략도를 도시한다.
도 6b 는 인트라-BL 모드 예측의 개략도를 도시한다.
도 6c 는 원래의 및 2x 다운샘플링된 비디오의 상대적인 루마 샘플링 그리드들을 도시한다.
도 6d 는 원래의 및 1.5x 다운샘플링된 비디오의 상대적인 루마 샘플링 그리드들을 도시한다.
도 7 은 비디오 정보를 코딩하기 위한 프로세스 (700) 의 일 실시형태를 도시하는 플로우차트이다.
도 8a 는 픽셀 정보의 오정렬의 일 예의 개략도를 도시한다.
도 8b 는 픽셀 정보의 오정렬의 일 예의 다른 개략도를 도시한다.
도 9 는 크로마 샘플 포지션들의 일 예의 개략도를 도시한다.
스케일러블 비디오 코딩 (SVC) 은, 때때로 참조 계층이라 불리는 기본 계층 및 하나 이상의 스케일러블 향상 계층들이 사용되는, 비디오 코딩을 지칭한다. SVC 를 위해, 기본 계층은 기본 레벨의 품질을 갖는 비디오 데이터를 운반할 수 있다. 하나 이상의 향상 계층들은 더 높은 공간, 시간, 및/또는 신호대 잡음 (SNR) 레벨들을 지원하도록 추가의 비디오 데이터를 운반할 수 있다. 향상 계층들은 이전에 인코딩된 계층에 대하여 정의될 수도 있다.
기본 계층 및 향상 계층들은 상이한 분해능들을 가질 수 있다. 예를 들어, 때때로 리샘플 필터링이라 지칭되는 업샘플 필터링은 향상 계층의 공간 애스팩트비에 매칭하기 위해 기본 계층에 적용될 수도 있다. 이러한 프로세스는 공간 스케일러빌리티라 불릴 수도 있다. 업샘플링 필터 세트는 기본 계층에 적용될 수 있고, 하나의 필터는 (때때로 부분 픽셀 쉬프트라 지칭되는) 위상 (phase) 에 기초한 세트로부터 선택될 수 있다. 위상은 기본 계층과 향상 계층 픽처들 간의 공간 애스팩트비에 기초하여 계산될 수도 있다.
일부 시스템들에서, 단일 고정된 업샘플링 필터 세트는 계층간 예측을 위한 스케일링된 콘텐츠를 생성하기 위해 기본 계층에 적용된다. 고정된 업샘플링은 모든 계층간 예측 타입들에 대하여 충분하지 않을 수도 있다. 예를 들어, 일부 시스템들에서, 업샘플링 필터에서 사용된 위상 및 참조 픽셀들은 오직 공간 스케일러블 비율에 의해서만 결정되고, 다운샘플링 프로세스에서 생성된 기본 계층이 항상 동일한 위상으로 이루어진다고 가정한다. 그러한 시스템들은 불행하게도 기본 계층을 업샘플링할 경우 유연성의 결핍을 경험한다. 추가로, 일부 시스템들에서, 다운샘플링 필터의 위상 (예컨대, 다운샘플링 포지션들) 은 비트스트림에서 시그널링되지 않는다. 그러한 시스템들에서, 다운샘플링은 정확한 위상 (예컨대, 업샘플링 위상들과 매칭하는 위상) 으로 수행된 것으로 가정된다. 업샘플링과 다운샘플링 간에 위상 매치가 발생한다면, 20% 이상의 코딩 효율 손실이 발생할 수도 있다.
본 개시물의 일부 실시형태들에서, 본 개시물의 기술들은 업샘플링 및 다운샘플링 비디오 데이터에서의 유연성 및 성능을 증가시킨다. 업샘플링 및 다운샘플링 프로세스들은 유리하게, 예컨대 향상 계층과 같은 제 1 계층에 대한 다운샘플링된 기본 계층과 같은 비디오 정보의 제 2 계층의 위상 변위 정보에 적어도 부분적으로 기초하여, 비디오 데이터를 코딩하는데 사용된 필터들을 제어 또는 변경시킴으로써 적응적 방식으로 수행될 수 있다. 위상 변위 정보는 신택스 엘리먼트로서 비디오 비트스트림에 삽입될 수도 있다. 따라서, 본원에 설명된 실시형태들은 다운샘플링 필터에 대한 위상 정보를 효율적으로 통신할 수 있고, 따라서 부정확한 위상을 가진 다운샘플링 필터가 선택될 경우 발생할 수 있는 어떤 코딩 효율 손실도 제거할 수 있다.
본원에 설명된 특정 실시형태들은 HEVC (High Efficiency Video Coding) 와 같은 어드밴스드 비디오 코덱들의 문맥에서 스케일러블 비디오 코딩을 위한 계층간 예측과 관련된다. 더욱 상세하게는, 본 개시물은 HEVC 의 스케일러블 비디오 코딩 (SVC) 확장물에서 계층간 예측의 개선된 성능을 위한 시스템들 및 방법들에 관련된다. 이하 설명에서, 특정 실시형태들과 관련된 H.264/AVC 기술들이 설명되며; HEVC 표준 및 관련 기술들이 또한 논의된다. 특정 실시형태들에 본원에서 HEVC 및/또는 H.264 표준들의 문맥에서 설명되지만, 본원에 개시된 시스템들 및 방법들은 어떤 적당한 비디오 코딩 표준들에도 적용가능할 수도 있음을 당업자는 인식할 수도 있다. 예를 들어, 본원에 개시된 실시형태들은 다음 표준들: ITU-T H.261, 즉 ISO/IEC MPEG-1 Visual, ITU-T H.262 또는 ISO/IEC MPEG-2 Visual, ITU-T H.263, 즉 ISO/IEC MPEG-4 Visual, 및 (또한 ISO/IEC MPEG-4 AVC 로 알려진) ITU-T H.264 중 하나 이상에 적용가능할 수도 있고, 이들 표준들은 SVC (Scalable Video Coding) 및 MVC (Multiview Video Coding) 확장물들을 포함한다.
SVC 확장물은 비디오 정보의 다중 계층들을 포함할 수도 있다. 예를 들어, 최하부 계층은 기본 계층 (BL) 으로서 기능할 수도 있고, 최상부 계층은 향상된 계층 (EL) 으로서 기능할 수도 있다. 용어 "향상된 계층" 은 본원에서 그 넓은 일반적인 의미에 따라 사용되고, 용어 "향상 계층" 과 상호교환가능하게 사용될 수도 있다. 중간 계층들은 EL들 또는 참조 계층들 (RL들), 또는 이들 양자로서 기능할 수도 있다. 예를 들어, 중간에서의 계층은 기본 계층 또는 임의의 개재하는 향상 계층들과 같이 그 밑의 계층들에 대해서는 EL 일 수도 있고, 동시에 그 위의 하나 이상의 향상 계층들에 대해서는 RL 로서 기능할 수도 있다.
오직 예시의 목적으로, 본원에 개시된 특정 실시형태들은 오직 2 개의 계층들 (예컨대, 기본 계층과 같은 하위 레벨 계층 및 향상된 계층과 같은 상위 레벨 계층) 을 포함하는 예들과 함께 설명된다. 그러한 예들은 다수의 기본 및/또는 향상 계층들을 포함하는 구성들에 적용가능할 수도 있음이 이해되어야 한다. 추가로, 설명의 용이함을 위해, 이하 개시물은 특정 심시형태들을 참조하여 용어 "프레임들" 또는 "블록들" 을 포함한다. 그러나, 이들 용어들은 제한하는 것으로 의미되지 않는다. 예를 들어, 이하 설명되는 기술들은 블록들 (예컨대, CU, PU, TU, 매크로블록들, 등), 슬라이스들, 프레임들, 등과 같은 임의의 적합한 비디오 유닛들과 함께 사용될 수 있다.
HEVC 는 일반적으로 다수의 여러 면에서 이전의 비디오 코딩 표준들의 프레임 워크를 따른다. HEVC 에서의 예측의 유닛은 특정의 이전 비디오 코딩 표준들에서의 예측의 유닛 (예컨대, 매크로블록) 과 상이하다. 사실, 매크로블록의 개념은 특정의 이전 비디오 코딩 표준들에서 이해되는 것과 같이 HEVC 에서 존재하지 않는다. 매크로블록은 다른 가능한 장점들 중에서 높은 유연성을 제공할 수도 있는 쿼드트리 방식에 기초하여 계층적 구조로 대체된다. 예를 들어, HEVC 방식 내에서, 3 개 타입의 블록들, 예컨대 코딩 유닛 (CU), 예측 유닛 (PU), 및 변환 유닛 (TU) 이 정의된다. CU 는 영역 분할의 기본 유닛을 지칭할 수도 있다. CU 는 매크로블록의 개념과 유사한 것으로 고려되지만 최대 사이즈를 제한하지 않으며, 콘텐츠 적응성을 개선하기 위해 4 개의 동일한 사이즈의 CU들로의 반복적인 분할을 허용할 수도 있다. PU 는 인터/인트라 예측의 기본 유닛으로 고려될 수도 있고, 불규칙적인 이미지 패턴들을 효율적으로 코딩하기 위해 단일 PU 에 다수의 임의의 형상의 파티션들을 포함시킬 수도 있다. TU 는 변환의 기본 유닛으로 고려될 수도 있다. TU 는 PU 와 독립적으로 정의될 수 있지만; 그 사이즈는 TU 가 속하는 CU 에 제한될 수도 있다. 블록 구조의 3 개의 상이한 개념들로의 이러한 분리는, 각각이 그 역할에 따라 최적화되게 할 수도 있으며, 이는 개선된 코딩 효율을 발생할 수도 있다.
도 1 은 본 개시물의 기술들을 활용할 수도 있는 예시적인 비디오 코딩 시스템 (10) 을 도시한 블록 다이어그램이다. 본원에서 설명되어 사용되는 바와 같이, 용어 "비디오 코더" 는 일반적으로 비디오 인코더들 및 비디오 디코더들 양자를 지칭한다. 본 개시물에 있어서, 용어들 "비디오 코딩" 또는 "코딩" 은 일반적으로 비디오 인코딩 또는 비디오 디코딩을 지칭할 수도 있다.
도 1 에 도시된 바와 같이, 비디오 코딩 시스템 (10) 은 소스 디바이스 (12) 및 목적지 디바이스 (14) 를 포함한다. 소스 디바이스 (12) 는 인코딩된 비디오 데이터를 생성한다. 이에 따라, 소스 디바이스 (12) 는 비디오 인코딩 디바이스로 지칭될 수도 있다. 목적지 디바이스 (14) 는 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오 데이터를 디코딩할 수도 있다. 이에 따라, 목적지 디바이스 (14) 는 비디오 디코딩 디바이스로 지칭될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 비디오 코딩 디바이스들의 예들일 수도 있다.
소스 디바이스 (12) 및 목적지 디바이스 (14) 는 데스크탑 컴퓨터들, 모바일 컴퓨팅 디바이스들, 노트북 (예를 들어, 랩탑) 컴퓨터들, 태블릿 컴퓨터들, 셋탑 박스들, 소위 "스마트" 폰들과 같은 전화기 핸드셋들, 텔레비전들, 카메라들, 디스플레이 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 콘솔들, 차량내 컴퓨터들 등을 포함하여 광범위한 디바이스들을 포함할 수도 있다. 몇몇 예들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신을 위해 구비될 수도 있다.
목적지 디바이스 (14) 는 소스 디바이스 (12) 로부터의 인코딩된 비디오 데이터를 채널 (16) 을 통해 수신할 수도 있다. 채널 (16) 은 인코딩된 비디오 데이터를 소스 디바이스 (12) 에서 목적지 디바이스 (14) 로 이동시킬 수 있는 일 타입의 매체 또는 디바이스를 포함할 수도 있다. 일 예에서, 링크 (16) 는 소스 디바이스 (12) 가 인코딩된 비디오 데이터를 목적지 디바이스 (14) 에 실시간으로 직접 송신할 수 있게 하는 통신 매체를 포함할 수도 있다. 이 예에 있어서, 소스 디바이스 (12) 는 인코딩된 비디오 데이터를 무선 통신 프로토콜과 같은 통신 표준에 따라 변조할 수도 있고, 변조된 비디오 데이터를 목적지 디바이스 (14) 로 송신할 수도 있다. 통신 매체는 무선 또는 유선 통신 매체, 예컨대 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들을 포함할 수도 있다. 통신 매체는 패킷 기반의 네트워크, 예컨대 근거리 네트워크, 원거리 네트워크, 또는 인터넷과 같은 글로벌 네트워크의 부분을 형성할 수도 있다. 통신 매체는 라우터들, 스위치들, 기지국들, 또는 소스 디바이스 (12) 에서 목적지 디바이스 (14) 로의 통신을 용이하게 하는 다른 장비를 포함할 수도 있다.
다른 예에 있어서, 채널 (16) 은, 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오 데이터를 저장하는 저장 매체에 대응할 수도 있다. 이 예에 있어서, 목적지 디바이스 (14) 는 디스크 액세스 또는 카드 액세스를 통해 저장 매체에 액세스할 수도 있다. 저장 매체는 블루-레이 디스크들, DVD들, CD-ROM들, 플래시 메모리, 또는 인코딩된 비디오 데이터를 저장하기 위한 임의의 적합한 디지털 저장 매체들과 같은 다양한 국부적으로 액세스된 데이터 저장 매체들을 포함할 수도 있다. 추가의 예에 있어서, 채널 (16) 은, 소스 디바이스 (12) 에 의해 생성된 인코딩된 비디오를 저장하는 파일 서버 또는 다른 중간 저장 디바이스를 포함할 수도 있다. 이 예에 있어서, 목적지 디바이스 (14) 는 파일 서버 또는 다른 중간 저장 디바이스에 저장된 인코딩된 비디오 데이터에 스트리밍 또는 다운로드를 통해 액세스할 수도 있다. 파일 서버는, 인코딩된 비디오 데이터를 저장하고 그 인코딩된 비디오 데이터를 목적지 디바이스 (14) 로 송신하는 것이 가능한 일 타입의 서버일 수도 있다. 예시적인 파일 서버들은 웹 서버들 (예를 들어, 웹 사이트용), 파일 전송 프로토콜 (FTP) 서버들, NAS (network attached storage) 디바이스들, 및 로컬 디스크 드라이브들을 포함한다. 목적지 디바이스 (14) 는 인코딩된 비디오 데이터에 인터넷 접속과 같은 표준 데이터 접속을 통해 액세스할 수도 있다. 예시적인 타입들의 데이터 접속들은 파일 서버 상에 저장되는 인코딩된 비디오 데이터에 액세스하기에 적합한 무선 채널들 (예를 들어, Wi-Fi 접속들), 유선 접속들 (예를 들어, DSL, 케이블 모뎀 등), 또는 이들 양자의 조합들을 포함할 수도 있다. 인코딩된 비디오 데이터의 파일 서버로부터의 송신은 스트리밍 송신, 다운로드 송신, 또는 이들 양자의 조합일 수도 있다.
본 개시물의 기술들은 무선 어플리케이션들 또는 설정들에 한정되지 않는다. 기술들은 임의의 다양한 멀티미디어 애플리케이션들, 예컨대 공중 경유 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 예를 들면 인터넷을 통한 스트리밍 비디오 송신들, 데이터 저장 매체 상의 저장을 위한 디지털 비디오의 인코딩, 데이터 저장 매체 상에 저장된 디지털 비디오의 디코딩 또는 다른 애플리케이션들을 지원하여 비디오 코딩에 적용될 수도 있다. 일부 예들에 있어서, 비디오 코딩 시스템 (10) 은 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅, 및/또는 비디오 전화와 같은 어플리케이션들을 지원하기 위해 일방향 또는 양방향 비디오 송신을 지원하도록 구성될 수도 있다.
도 1 의 실시예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20) 및 출력 인터페이스 (22) 를 포함한다. 몇몇 경우들에서, 출력 인터페이스 (22) 는 변조기/복조기 (모뎀) 및/또는 송신기를 포함할 수도 있다. 소스 디바이스 (12) 에서, 비디오 소스 (18) 는 비디오 캡처 디바이스, 예컨대 비디오 카메라, 이전에 캡처된 비디오 데이터를 포함하는 비디오 아카이브, 비디오 콘텐츠 제공자로부터 비디오 데이터를 수신하는 비디오 공급 인터페이스, 및/또는 비디오 데이터를 생성하는 컴퓨터 그래픽 시스템, 또는 이러한 소스들의 조합과 같은 소스를 포함할 수도 있다.
비디오 인코더 (20) 는 캡처된, 프리캡처된, 또는 컴퓨터 생성된 비디오 데이터를 인코딩할 수도 있다. 인코딩된 비디오 데이터는 소스 디바이스 (12) 의 출력 인터페이스 (22) 를 통해 목적지 디바이스 (14) 에 직접 송신될 수도 있다. 인코딩된 비디오 데이터는 또한, 디코딩 및/또는 플레이백을 위한 목적지 디바이스 (14) 에 의한 추후 액세스를 위해 저장 매체 또는 파일 서버 상에 저장될 수도 있다.
도 1 의 예에 있어서, 목적지 디바이스 (14) 는 입력 인터페이스 (28), 비디오 디코더 (30), 및 디스플레이 디바이스 (32) 를 포함한다. 몇몇 경우들에서, 입력 인터페이스 (28) 는 수신기 및/또는 모뎀을 포함할 수도 있다. 목적지 디바이스 (14) 의 입력 인터페이스 (28) 는 채널 (16) 을 통해 인코딩된 비디오 데이터를 수신한다. 인코딩된 비디오 데이터는 비디오 데이터를 표현하는 비디오 인코더 (20) 에 의해 생성된 다양한 신택스 엘리먼트들을 포함할 수도 있다. 이러한 신택스 엘리먼트들은 통신 매체 상에서 송신되거나, 저장 매체 상에 저장되거나, 또는 파일 서버 상에 저장된 인코딩된 비디오 데이터와 함께 포함될 수도 있다.
디스플레이 디바이스 (32) 는 목적지 디바이스 (14) 와 통합될 수도 있거나 또는 그 외부에 있을 수도 있다. 일부 예들에서, 목적지 디바이스 (14) 는 통합형 디스플레이 디바이스를 포함할 수도 있고, 또한 외부 디스플레이 디바이스와 인터페이싱하도록 구성될 수도 있다. 다른 예들에서, 목적지 디바이스 (14) 는 디스플레이 디바이스일 수도 있다. 일반적으로, 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 디스플레이한다. 디스플레이 디바이스 (32) 는 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 어느 것도 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 현재 개발 중인 고 효율 비디오 코딩 (HEVC) 표준과 같은 비디오 압축 표준에 따라 동작할 수도 있고, HEVC 테스트 모델 (HM) 에 부합할 수도 있다.
대안적으로, 비디오 인코더 (20) 및 비디오 디코더 (30) 는, 다르게는 MPEG-4, 파트 10, AVC (Advanced Video Coding) 으로도 지칭되는 ITU-T H.264 표준과 같은 다른 독점 또는 산업 표준들, 또는 그런 표준들의 확장물들에 따라 동작할 수도 있다. 하지만, 본 개시물의 기술들은 임의의 특정 코딩 표준 또는 기술에 한정되지 않는다. 비디오 압축 표준들 및 기술들의 다른 예들은 MPEG-2, ITU-T H.263 및 VP8 및 관련 포맷들과 같은 소유 또는 오픈 소스 압축 포맷들을 포함한다.
도 1 의 예에 도시되지 않았지만, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 오디오 인코더 및 디코더와 통합될 수도 있고, 공통 데이터 스트림 또는 개별적인 데이터 스트림들에서 오디오 및 비디오 양자의 인코딩을 핸들링하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능하다면, 몇몇 예들에서, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 유저 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜에 순응할 수도 있다.
다시, 도 1 은 단지 예일 뿐이고, 본 개시물의 기술들은, 인코딩 디바이스와 디코딩 디바이스 간의 임의의 데이터 통신을 반드시 포함하지는 않는 비디오 코딩 설정들 (예를 들어, 비디오 인코딩 또는 비디오 디코딩) 에 적용할 수도 있다. 다른 예들에 있어서, 데이터는 로컬 메모리로부터 취출되거나, 네트워크 상으로 스트리밍되는 등등일 수 있다. 인코딩 디바이스는 데이터를 인코딩하고 메모리에 저장할 수도 있고, 및/또는 비디오 디코딩 디바이스는 데이터를 메모리로부터 취출하고 디코딩할 수도 있다. 다수의 예들에 있어서, 인코딩 및 디코딩은, 서로 통신하지 않지만 단순히 데이터를 메모리로 인코딩하고 및/또는 데이터를 메모리로부터 추출하고 디코딩하는 디바이스들에 의해 수행된다.
비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들 (DSP들), 주문형 집적회로들 (ASIC들), 필드 프로그램가능 게이트 어레이들 (FPGA들), 이산 로직, 하드웨어, 또는 이들의 임의의 조합들과 같은 다양한 적합한 회로 중 임의의 회로로서 구현될 수도 있다. 기술들이 부분적으로 소프트웨어로 구현될 경우, 디바이스는 적절한 비-일시적인 컴퓨터 판독가능 저장 매체에 소프트웨어에 대한 명령들을 저장할 수도 있으며, 본 개시물의 기술들을 수행하기 위해 하나 이상의 프로세서들을 사용하여 하드웨어로 명령들을 실행할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있고, 이들 중 어느 것도 결합된 인코더/디코더 (CODEC) 의 일부로서 각각의 디바이스에 통합될 수도 있다.
상기에 간략히 언급된 바와 같이, 비디오 인코더 (20) 는 비디오 데이터를 인코딩한다. 비디오 데이터는 하나 이상의 픽처들을 포함할 수도 있다. 픽처들 각각은 비디오의 부분을 형성하는 스틸 이미지이다. 일부 경우들에서, 픽처는 비디오 "프레임" 으로 지칭될 수도 있다. 비디오 인코더 (20) 가 비디오 데이터를 인코딩할 경우, 비디오 인코더 (20) 는 비트스트림을 생성할 수도 있다. 비트스트림은, 비디오 데이터의 코딩된 표현을 형성하는 비트들의 시퀀스를 포함할 수도 있다. 비트스트림은 코딩된 픽처들 및 관련 데이터를 포함할 수도 있다. 코딩된 픽처는 픽처의 코딩된 표현이다.
비트스트림을 생성하기 위해, 비디오 인코더 (20) 는 비디오 데이터에서 각각의 픽처에 인코딩 동작들을 수행할 수도 있다. 비디오 인코더 (20) 가 픽처들에 인코딩 동작들을 수행할 경우, 비디오 인코더 (20) 는 코딩된 픽처들 및 연관된 데이터의 시리즈를 생성할 수도 있다. 연관된 데이터는 시퀀스 파라미터 세트들, 픽처 파라미터 세트들, 적응형 파라미터 세트들, 및 다른 신택스 구조들을 포함할 수도 있다. 시퀀스 파라미터 세트 (SPS) 는 픽처들의 제로 이상의 시퀀스들에 적용가능한 파라미터들을 포함할 수도 있다. 픽처 파라미터 세트 (PPS) 는 제로 이상의 픽처들에 적용가능한 파라미터들을 포함할 수도 있다. 적응형 파라미터 세트 (APS) 는 제로 이상의 픽처들에 적용가능한 파라미터들을 포함할 수도 있다. APS 에서의 파라미터들은 PPS 에서의 파라미터들보다 더 변경하기 쉬운 파라미터들일 수도 있다.
코딩된 픽처를 생성하기 위해, 비디오 인코더 (20) 는 픽처를 동일한-사이즈의 비디오 블록들로 분할할 수도 있다. 비디오 블록은 샘플들의 2 차원 어레이일 수도 있다. 비디오 블록들의 각각은 트리블록과 연관된다. 일부 경우들에서, 트리 블록은 최대 코딩 유닛 (LCU) 으로 지칭될 수도 있다. HEVC 의 트리블록들은 H.264/AVC 와 같은 이전 표준들의 매크로블록들과 대략적으로 유사할 수도 있다. 하지만, 트리블록은 반드시 특정 사이즈에 한정되지는 않으며, 하나 이상의 코딩 유닛들 (CU들) 을 포함할 수도 있다. 비디오 인코더 (20) 는 트리블록들의 비디오 블록들을 CU들과 연관된 비디오 블록들, 따라서 그 명칭이 "트리블록들" 로 분할하기 위해 쿼드트리 파티셔닝을 사용할 수도 있다.
일부 예들에서, 비디오 인코더 (20) 는 픽처를 복수의 슬라이스들로 분할할 수도 있다. 슬라이스들 각각은 정수 개수의 CU들을 포함할 수도 있다. 일부 경우들에서, 슬라이스는 정수 개수의 트리블록들을 포함한다. 다른 경우들에서, 슬라이스의 경계는 트리블록 내에 있을 수도 있다.
픽처에 인코딩 동작을 수행하는 것의 부분으로서, 비디오 인코더 (20) 는 픽처의 각 슬라이스에 인코딩 동작들을 수행할 수도 있다. 비디오 인코더 (20) 가 슬라이스에 인코딩 동작을 수행할 경우, 비디오 인코더 (20) 는 슬라이스와 연관된 인코딩 데이터를 생성할 수도 있다. 슬라이스와 연관된 인코딩된 데이터는 "코딩된 슬라이스" 로서 지칭될 수도 있다.
코딩된 슬라이스를 생성하기 위해, 비디오 인코더 (20) 는 슬라이스에서의 각 트리블록에 인코딩 동작들을 수행할 수도 있다. 비디오 인코더 (20) 가 트리블록에 인코딩 동작을 수행할 경우, 비디오 인코더 (20) 는 코딩된 트리블록을 생성할 수도 있다. 코딩된 트리블록은 그 트리블록의 인코딩된 버전을 표현하는 데이터를 포함할 수도 있다.
비디오 인코더 (20) 가 코딩된 슬라이스를 생성할 경우, 비디오 인코더 (20) 는 래스터 스캔 순서에 따라 슬라이스에서의 트리블록들에 인코딩 동작들을 수행할 (예컨대, 인코딩할) 수도 있다. 다시 말해서, 비디오 인코더 (20) 는 비디오 인코더 (20) 가 슬라이스에서 트리블록들의 각각을 인코딩할 때까지, 슬라이스에서 트리블록들의 최상부 로우를 가로질러 좌측에서 우측으로 진행하는 순서로 슬라이스의 트리블록들을 인코딩할 수도 있고, 그 후 트리블록들의 다음 하위 로우를 가로질러 좌측에서 우측으로 진행하는 등을 수행한다.
래스터 스캔 순서에 따라 트리블록들을 인코딩하는 결과로서, 소정 트리블록의 상부 및 좌측의 트리블록들이 인코딩될 수도 있지만, 소정 트리블록의 하부 및 우측의 트리블록들은 아직 인코딩되지 않았다. 결과적으로, 비디오 인코더 (20) 는 소정 트리블록을 인코딩할 경우 소정 트리블록의 상부 및 좌측의 트리블록들을 인코딩함으로써 생성된 정보를 액세스할 수도 있다. 그러나, 비디오 인코더 (20) 는 소정 트리블록을 인코딩할 경우, 소정 트리블록의 하부 및 우측의 트리블록들을 인코딩함으로써 생성된 정보를 액세스할 수 없을 수도 있다.
코딩된 트리블록을 생성하기 위해, 비디오 인코더 (20) 는 트리블록의 비디오 블록에 쿼드트리 파티셔닝을 반복적으로 수행하여 비디오 블록을 점진적으로 더 작은 비디오 블록들로 분할할 수도 있다. 더 작은 비디오 블록들 각각은 상이한 CU 와 연관될 수도 있다. 예를 들어, 비디오 인코더 (20) 는 트리블록의 비디오 블록을 4개의 동일한 사이즈의 서브블록들로 파티셔닝할 수도 있고, 그 서브블록들 중 하나 이상을 4 개의 동일한 사이즈의 서브-서브블록들로 파티셔닝할 수도 있는 등등을 수행할 수도 있다. 파티셔닝된 CU 는, 그 비디오 블록이 다른 CU들과 연관된 비디오 블록들로 파티셔닝되는 CU 일 수도 있다. 비-파티셔닝된 CU 는, 그 비디오 블록이 다른 CU들과 연관된 비디오 블록들로 파티셔닝되지 않는 CU 일 수도 있다.
비트스트림에서 하나 이상의 신택스 엘리먼트들은 비디오 인코더 (20) 가 트리블록의 비디오 블록을 파티셔닝할 수도 있는 최대 회수를 표시할 수도 있다. CU 의 비디오 블록은 형상이 사각형일 수도 있다. CU 의 비디오 블록의 사이즈는 8x8 픽셀들에서 최대 64x64 픽셀들 이상의 픽셀들을 갖는 트리블록의 비디오 블록의 사이즈 (예컨대, 트리블록의 사이즈) 까지의 범위일 수도 있다.
비디오 인코더 (20) 는 z-스캔 순서에 따라 트리블록의 각 CU 에 인코딩 동작들을 수행할 (예컨대, 인코딩할) 수도 있다. 다시 말해서, 비디오 인코더 (20) 는 상기 순서로 좌상부 CU, 우상부 CU, 좌하부 CU, 및 그 후에 우하부 CU 을 인코딩할 수도 있다. 비디오 인코더 (20) 가 파티셔닝된 CU 에 인코딩 동작을 수행할 경우, 비디오 인코더 (20) 는 z-스캔 순서에 따라 파티셔닝된 CU 의 비디오 블록의 서브-블록들과 연관된 CU들을 인코딩할 수도 있다. 다시 말해서, 비디오 인코더 (20) 는 좌상부 서브-블록과 연관된 CU, 우상부 서브-블록과 연관된 CU, 좌하부 서브-블록과 연관된 CU, 및 그 후에 우하부 서브-블록과 연관된 CU 를 상기 순서로 인코딩할 수도 있다.
z-스캔 순서에 따라 트리블록의 CU들을 인코딩하는 결과로서, 소정 CU 의 상부, 상부 좌측으로, 상부 우측으로, 좌측, 및 하부 좌측으로의 CU들이 인코딩될 수도 있다. 소정 CU 의 하부 우측으로의 CU들은 아직 인코딩되지 않았다. 결과적으로, 비디오 인코더 (20) 는 소정 CU 를 인코딩할 경우, 소정 CU 에 이웃하는 일부 CU들을 인코딩함으로써 생성된 정보에 액세스할 수 있을 수도 있다. 그러나, 비디오 인코더 (20) 는 소정 CU 를 인코딩할 경우, 소정 CU 에 이웃하는 다른 CU들을 인코딩함으로써 생성된 정보에 액세스할 수 없을 수도 있다.
비디오 인코더 (20) 가 비-파티셔닝된 CU 를 인코딩할 경우, 비디오 인코더 (20) 는 CU 에 대하여 하나 이상의 예측 유닛들 (PU들) 을 생성할 수도 있다. CU 의 PU들 각각은 CU 의 비디오 블록 내의 상이한 비디오 블록과 연관될 수도 있다. 비디오 인코더 (20) 는 CU 의 각각의 PU 에 대한 예측 비디오 블록을 생성할 수도 있다. PU 의 예측 비디오 블록은 샘플들의 블록일 수도 있다. 비디오 인코더 (20) 는 인트라 예측 또는 인터 예측을 이용하여 PU 의 예측 비디오 블록을 생성할 수도 있다.
비디오 인코더 (20) 가 인트라 예측을 이용하여 PU 의 예측 비디오 블록을 생성하면, 비디오 인코더 (20) 는 PU 와 연관된 픽처의 디코딩된 샘플들에 기초하여 PU 의 예측 비디오 블록을 생성할 수도 있다. 비디오 인코더 (20) 가 인트라 예측을 이용하여 CU 의 PU들의 예측 비디오 블록들을 생성한다면, CU 는 인트라 예측된 CU 이다. 비디오 인코더 (20) 가 인터 예측을 이용하여 PU 의 예측 비디오 블록을 생성할 경우, 비디오 인코더 (20) 는 PU 와 연관된 픽처 이외의 하나 이상의 픽처들의 디코딩된 샘플들에 기초하여 PU 의 예측 비디오 블록을 생성할 수도 있다. 비디오 인코더 (20) 가 인터 예측을 이용하여 CU 의 PU들의 예측 비디오 블록들을 생성한다면, CU 는 인터 예측된 CU 이다.
추가로, 비디오 인코더 (20) 가 인터 예측을 이용하여 PU 의 예측 비디오 블록을 생성할 경우, 비디오 인코더 (20) 는 PU 에 대한 모션 정보를 생성할 수도 있다. PU 에 대한 모션 정보는 PU 의 하나 이상의 참조 블록들을 표시할 수도 있다. PU 의 각각의 참조 블록은 참조 픽처 내의 비디오 블록일 수도 있다. 참조 픽처는 PU 와 연관된 픽처 이외의 픽처일 수도 있다. 일부 경우들에서, PU 의 참조 블록은 또한 PU 의 "참조 샘플" 로 지칭될 수도 있다. 비디오 인코더 (20) 는 PU 의 참조 블록들에 기초하여 PU 에 대한 예측 비디오 블록을 생성할 수도 있다.
비디오 인코더 (20) 가 CU 의 하나 이상의 PU들에 대한 예측된 비디오 블록들을 생성한 후, 비디오 인코더 (20) 는 CU 의 PU들에 대한 예측된 비디오 블록들에 기초하여 CU 의 잔차 데이터를 생성할 수도 있다. CU 에 대한 잔차 데이터는 CU 의 PU들에 대한 예측된 비디오 블록들에서의 샘플들과 CU 의 원래의 픽셀 블록 간의 차이를 표시할 수도 있다.
더욱이, 비-파티셔닝된 CU 에 인코딩 동작을 수행하는 것의 부분으로서, 비디오 인코더 (20) 는 CU 의 잔차 데이터에 반복적인 쿼드트리 파티셔닝을 수행하여 CU 의 잔차 데이터를 CU 의 변환 유닛들 (TU들) 과 연관된 잔차 데이터의 하나 이상의 블록들 (예컨대, 잔차 비디오 블록들) 로 파티셔닝할 수도 있다. CU 의 각 TU 는 상이한 잔차 비디오 블록과 연관될 수도 있다.
비디오 코더 (20) 는 TU들과 연관된 잔차 비디오 블록들에 하나 이상의 변환들을 적용하여 TU들과 연관된 변환 계수 블록들 (예컨대, 변환 계수들의 블록들) 을 생성할 수도 있다. 개념상, 변환 계수 블록은 변환 계수들의 2 차원 (2D) 매트릭스일 수도 있다.
변환 계수 블록을 생성한 후, 비디오 인코더 (20) 는 변환 계수 블록에 양자화 프로세스를 수행할 수도 있다. 양자화는 일반적으로, 변환 계수들을 표현하기 위해 사용되는 데이터의 양을 가능하면 감소시키기 위해 변환 계수들이 양자화되어 추가적인 압축을 제공하는 프로세스를 지칭한다. 양자화 프로세스는 변환 계수들의 일부 또는 전부와 연관된 비트 깊이를 감소시킬 수도 있다. 예를 들어, n-비트 변환 계수는 양자화 동안 m-비트 변환 계수로 반내림될 수도 있으며, 여기서, n 은 m 보다 크다.
비디오 인코더 (20) 는 각각의 CU 를 양자화 파라미터 (QP) 값과 연관시킬 수도 있다. CU 와 연관된 QP 값은 어떻게 비디오 인코더 (20) 가 CU 와 연관된 변환 계수 블록들을 양자화하는지 결정할 수도 있다. 비디오 인코더 (20) 는 CU 와 연관된 QP 값을 조정함으로써 CU 와 연관된 변환 계수 블록들에 적용된 양자화 정도를 조정할 수도 있다.
비디오 인코더 (20) 가 변환 계수 블록을 양자화한 후에, 비디오 인코더 (20) 는 양자화된 변환 계수 블록에서 변환 계수들을 표현하는 신택스 엘리먼트들의 세트들을 생성할 수도 있다. 비디오 인코더 (20) 는 이들 신택스 엘리먼트들의 일부에 CABAC (Context Adaptive Binary Arithmetic Coding) 동작들과 같은 엔트로피 인코딩 동작들을 적용할 수도 있다. CAVLC (content adaptive variable length coding), PIPE (probability interval partitioning entropy) 코딩, 또는 다른 이진 산술 코딩과 같은 다른 엔트로피 코딩 기술들이 또한 사용될 수 있다.
비디오 인코더 (20) 에 의해 생성된 비트스트림은 NAL (Network Abstraction Layer) 유닛들의 시리즈를 포함할 수도 있다. NAL 유닛들의 각각은 NAL 유닛에서 데이터의 타입 및 그 데이터를 포함하는 바이트들의 표시를 포함하는 신택스 구조일 수도 있다. 예를 들어, NAL 유닛은 시퀀스 파라미터 세트, 픽처 파라미터 세트, 코딩된 슬라이스, SEI (supplemental enhancement information), 액세스 유닛 구분자, 필러 데이터 또는 다른 타입의 데이터를 표현하는 데이터를 포함할 수도 있다. NAL 유닛에서의 데이터는 다양한 신택스 구조들을 포함할 수도 있다.
비디오 디코더 (30) 는 비디오 인코더 (20) 에 의해 생성된 비트스트림을 수신할 수도 있다. 비트스트림은 비디오 인코더 (20) 에 의해 인코딩된 비디오 데이터의 코딩된 표현을 포함할 수도 있다. 비디오 디코더 (30) 가 비트스트림을 수신할 경우, 비디오 디코더 (30) 는 그 비트스트림에 파싱 동작을 수행할 수도 있다. 비디오 디코더 (30) 가 파싱 동작을 수행할 경우, 비디오 디코더 (30) 는 비트스트림으로부터 신택스 엘리먼트들을 추출할 수도 있다. 비디오 디코더 (30) 는 비트스트림으로부터 추출된 신택스 엘리먼트들에 기초하여 비디오 데이터의 픽처들을 재구성할 수도 있다. 신택스 엘리먼트들에 기초하여 비디오 데이터를 재구성하기 위한 프로세스는 일반적으로, 신택스 엘리먼트들을 생성하기 위해 비디오 인코더 (20) 에 의해 수행된 프로세스에 역일 수도 있다.
비디오 디코더 (30) 가 CU 와 연관된 신택스 엘리먼트들을 추출한 후에, 비디오 디코더 (30) 는 신택스 엘리먼트들에 기초하여 CU 의 PU들에 대한 예측된 비디오 블록들을 생성할 수도 있다. 부가적으로, 비디오 디코더 (30) 는 CU 의 TU들과 연관된 변환 계수 블록들을 역양자화할 수도 있다. 비디오 디코더 (30) 는 변환 계수 블록들에 역변환들을 수행하여 CU 의 TU들과 연관된 잔차 비디오 블록들을 재구성할 수도 있다. 예측된 비디오 블록들을 생성하고 잔차 비디오 블록들을 재구성한 후에, 비디오 디코더 (30) 는 예측된 비디오 블록들 및 잔차 비디오 블록들에 기초하여 CU 의 비디오 블록을 재구성할 수도 있다. 이러한 방식으로, 비디오 디코더 (30) 는 비트스트림에서의 신택스 엘리먼트들에 기초하여 CU들의 비디오 블록들을 재구성할 수도 있다.
본 개시물의 실시형태들에 따라, 비디오 인코더 (20) 는 적어도 하나의 기본 계층과 적어도 하나의 향상 계층을 정의하는 스케일러블 비디오 코딩 방식으로 비디오 데이터를 코딩 (예컨대, 인코딩) 하도록 구성될 수도 있는 업샘플링 모듈 (130) 을 포함할 수 있다. 업샘플링 모듈 (130) 은 인코딩 프로세스의 부분으로서 적어도 일부 비디오 데이터를 업샘플링할 수도 있고, 여기서 업샘플링은 예컨대 도 4 내지 도 7 에 대하여 하기에 설명되는 것과 같이, 제 1 계층에 대하여 비디오 정보의 제 2 계층의 위상 변위 정보에 적어도 부분적으로 기초하여 선택된 이미지 필터 세트를 사용함으로써 적응적 방식으로 수행된다.
도 2 는 본 개시물의 기술들을 구현하도록 구성될 수 있는 예시적인 비디오 인코더 (20) 를 도시한 블록 다이어그램이다. 도 2 는 설명의 목적들로 제공되며, 본 개시물에서 대략적으로 예시화되고 설명된 바와 같은 기술들의 한정으로서 고려되지 않아야 한다. 설명의 목적들로, 본 개시물은 HEVC 코딩의 맥락에서 비디오 인코더 (20) 를 설명한다. 하지만, 본 개시물의 기술들은 다른 코딩 표준들 또는 방법들에 적용가능할 수도 있다.
도 2 의 예에서, 비디오 인코더 (20) 는 복수의 기능적 컴포넌트들을 포함한다. 비디오 인코더 (20) 의 기능적 컴포넌트들은 예측 모듈 (100), 잔차 생성 모듈 (102), 변환 모듈 (104), 양자화 모듈 (106), 역양자화 모듈 (108), 역변환 모듈 (110), 재구성 모듈 (112), 필터 모듈 (113), 디코딩된 픽처 버퍼 (114), 및 엔트로피 인코딩 모듈 (116) 을 포함한다. 예측 모듈 (100) 은 인터 예측 모듈 (121), 모션 추정 모듈 (122), 모션 보상 모듈 (124), 및 인트라 예측 모듈 (126) 을 포함한다. 다른 예들에 있어서, 비디오 인코더 (20) 는 더 많거나, 더 적거나, 또는 상이한 기능적 컴포넌트들을 포함할 수도 있다. 추가로, 모션 추정 모듈 (122) 및 모션 보상 모듈 (124) 은 고도로 집적될 수도 있지만, 설명의 목적을 위해 도 2 의 예에서 분리되어 표현된다.
비디오 인코더 (20) 는 비디오 데이터를 수신할 수도 있다. 비디오 인코더 (20) 는 다양한 소스들로부터 비디오 데이터를 수신할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 비디오 소스 (18; 도 1) 또는 다른 소스로부터 비디오 데이터를 수신할 수도 있다. 비디오 데이터는 픽처들의 시리즈를 표현할 수도 있다. 비디오 데이터를 인코딩하기 위해, 비디오 인코더 (20) 는 픽처들 각각에 인코딩 동작을 수행할 수도 있다. 픽처에 인코딩 동작을 수행하는 것의 부분으로서, 비디오 인코더 (20) 는 픽처의 각 슬라이스에 인코딩 동작들을 수행할 수도 있다. 슬라이스에 인코딩 동작을 수행하는 것의 부분으로서, 비디오 인코더 (20) 는 슬라이스의 트리블록들에 인코딩 동작들을 수행할 수도 있다.
트리블록에 인코딩 동작을 수행하는 것의 부분으로서, 예측 모듈 (100) 은 트리블록의 비디오 블록에 쿼드트리 파티셔닝을 수행하여 비디오 블록을 점진적으로 더 작아지는 비디오 블록들로 분할할 수도 있다. 더 작은 비디오 블록들 각각은 상이한 CU 와 연관될 수도 있다. 예를 들어, 예측 모듈 (100) 은 트리블록의 비디오 블록을 4개의 동일한 사이즈의 서브블록들로 파티셔닝할 수도 있고, 그 서브블록들 중 하나 이상을 4 개의 동일한 사이즈의 서브-서브블록들로 파티셔닝할 수도 있는 등등을 수행할 수도 있다.
CU들과 연관된 비디오 블록들의 사이즈는 8x8 샘플들로부터 최대 64x64 샘플들 이상을 갖는 트리블록의 사이즈까지의 범위일 수도 있다. 본 개시물에서, "NxN" 및 "N 바이 N" 은 예컨대 16x16 샘플들 또는 16 바이 16 샘플들과 같이 수직 및 수평 치수들과 관련하여 비디오 블록의 샘플 치수들을 지칭하도록 상호 교환적으로 사용될 수도 있다. 일반적으로, 16x16 비디오 블록은 수직 방향 (y=16) 에서 16 개 샘플들 및 수평 방향 (x=16) 에서 16 개 샘플들을 갖는다. 마찬가지로, NxN 블록은 수직 방향에서 N 개 샘플들 및 수평 방향에서 N 개 샘플들을 구비하는데, 여기서 N 은 음이 아닌 정수 값을 나타낸다.
추가로, 트리블록에 인코딩 동작을 수행하는 것의 부분으로서, 예측 모듈 (100) 은 트리블록에 대한 계층적 쿼드트리 데이터 구조를 생성할 수도 있다. 예를 들어, 트리블록은 쿼드트리 데이터 구조의 루트 노드에 대응할 수도 있다. 예측 모듈 (100) 이 트리블록의 비디오 블록을 4 개의 서브-블록들로 분할한다면, 루트 노드는 쿼드트리 데이터 구조에서 4 개의 자식 노드들을 갖는다. 자식 노드들 각각은 서브-블록들 중 하나와 연관된 CU 에 대응한다. 예측 모듈 (100) 이 서브-블록들 중 하나를 4 개의 서브-서브-블록들로 파티셔닝한다면, 서브-블록들과 연관된 CU 에 대응하는 노드는 4 개의 자식 노드들을 가질 수도 있고, 자식 노드들 각각은 서브-서브-블록들 중 하나와 연관된 CU 에 대응한다.
쿼드트리 데이터 구조의 각각의 노드는 대응하는 트리블록 또는 CU에 대한 신택스 데이터 (예컨대, 신택스 엘리먼트들) 를 포함할 수도 있다. 예를 들어, 쿼드트리에서의 노드는, 그 노드에 대응하는 CU 의 비디오 블록이 4 개의 서브-블록들로 파티셔닝 (예컨대, 분할) 되는지 여부를 표시하는 분할 플래그를 포함할 수도 있다. CU에 대한 신택스 엘리먼트들은 재귀적으로 정의될 수도 있고, CU 의 비디오 블록이 서브-블록들로 분할되는지 여부에 의존할 수도 있다. 그 비디오 블록이 파티셔닝되지 않는 CU 는 쿼드트리 데이터 구조에서 리프 노드에 대응할 수도 있다. 코딩된 트리블록은 대응하는 트리블록에 대한 쿼드트리 데이터 구조에 기초한 데이터를 포함할 수도 있다.
비디오 인코더 (20) 는 트리블록의 각 비-파티셔닝된 CU 에 인코딩 동작들을 수행할 수도 있다. 비디오 인코더 (20) 가 비-파티셔닝된 CU 에 인코딩 동작을 수행할 경우, 비디오 인코더 (20) 는 비-파티셔닝된 CU 의 인코딩된 표현을 나타내는 데이터를 생성한다.
CU 에 인코딩 동작을 수행하는 것의 부분으로서, 예측 모듈 (100) 은 CU 의 하나 이상의 PU들 중에서 CU 의 비디오 블록을 파티셔닝할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 다양한 PU 사이즈들을 지원할 수도 있다. 특정 CU 의 사이즈가 2Nx2N 이라고 가정하면, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 2Nx2N 또는 NxN 의 PU 사이즈들을 지원하고, 2Nx2N, 2NxN, Nx2N, NxN, 2NxnU, nLx2N, nRx2N, 또는 그보다 작은 대칭적인 PU 사이즈들에서 인터 예측을 지원할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 또한, 2NxnU, 2NxnD, nLx2N, 및 nRx2N 의 PU 사이즈들에 대한 비대칭적인 파티셔닝을 지원할 수도 있다. 일부 예들에서, 예측 모듈 (100) 은 우측 각도들에서 CU 의 비디오 블록의 측면들을 만나지 않는 경계를 따라 CU 의 PU들 중에서 CU 의 비디오 블록을 파티셔닝하기 위해 지오메트릭 파티셔닝을 수행할 수도 있다.
인터 예측 모듈 (121) 은 CU 의 각각의 PU 에 인터 예측을 수행할 수도 있다. 인터 예측은 시간 압축을 제공할 수도 있다. PU 에 인터 예측을 수행하기 위해, 모션 추정 모듈 (122) 은 PU 에 대한 모션 정보를 생성할 수도 있다. 모션 보상 모듈 (124) 은 모션 정보 및 CU 와 연관된 픽처 (예컨대, 참조 픽처들) 이외의 픽처들의 디코딩된 샘플들에 기초하여 PU 에 대한 예측된 비디오 블록을 생성할 수도 있다. 본 개시물에서, 모션 보상 모듈 (124) 에 의해 생성된 예측된 비디오 블록은 인터 예측된 비디오 블록으로 지칭될 수도 있다.
슬라이스들은 I 슬라이스들, P 슬라이스들, 또는 B 슬라이스들일 수도 있다. 모션 추정 모듈 (122) 및 모션 보상 모듈 (124) 은 PU 가 I 슬라이스, P 슬라이스, 또는 B 슬라이스에 있는지 여부에 의존하여 CU 의 PU 에 대해 상이한 동작들을 수행할 수도 있다. I 슬라이스에서, 모든 PU들은 인트라 예측된다. 따라서, PU 가 I 슬라이스에 있으면, 모션 추정 모듈 (122) 및 모션 보상 모듈 (124) 은 PU 에 인터 예측을 수행하지 않는다.
PU 가 P 슬라이스에 있다면, PU 를 포함하는 픽처는 "리스트 0" 로 지칭되는 참조 픽처들의 리스트와 연관된다. 리스트 0 에서 참조 픽처들의 각각은 다른 픽처들의 인터 예측을 위해 사용될 수도 있는 샘플들을 포함한다. 모션 추정 모듈 (122) 이 P 슬라이스에서의 PU 에 대해 모션 추정 동작을 수행할 경우, 모션 추정 모듈 (122) 은 PU 에 대한 참조 블록에 대한 리스트 0 에서 참조 픽처들을 탐색할 수도 있다. PU 의 참조 블록은 PU 의 비디오 블록에서의 샘플들에 매우 근접하게 대응하는 샘플들의 세트, 예컨대 샘플들의 블록일 수도 있다. 모션 추정 모듈 (122) 은 참조 픽처에서 샘플들의 세트가 PU 의 비디오 블록에서의 샘플들과 얼마나 근접하게 대응하는지 결정하기 위해 다양한 메트릭들을 사용할 수도 있다. 예를 들어, 모션 추정 모듈 (122) 은 절대 차이의 합 (SAD), 제곱 차이의 합 (SSD), 또는 다른 차이 메트릭들에 의해, 참조 픽처에서 샘플들의 세트가 PU 의 비디오 블록에서의 샘플들과 얼마나 근접하게 대응하는지 결정할 수도 있다.
P 슬라이스에서 PU 의 참조 블록을 식별한 후에, 모션 추정 모듈 (122) 은 참조 블록을 포함하는 리스트 0 에 있어서 참조 픽처를 표시하는 참조 인덱스, 및 PU 와 참조 블록 간의 공간 변위를 표시하는 모션 벡터를 생성할 수도 있다. 다양한 예들에서, 모션 추정 모듈 (122) 은 다양한 정확도들로 모션 벡터들을 생성할 수도 있다. 예를 들어, 모션 추정 모듈 (122) 은 1/4 샘플 정확도, 1/8 샘플 정확도, 또는 다른 분수 샘플 정확도에서 모션 벡터들을 생성할 수도 있다. 분수 샘플 정확도의 경우에, 참조 블록 값들은 참조 픽처에서 정수-포지션 샘플 값들로부터 보간될 수도 있다. 모션 추정 모듈 (122) 은 PU 의 모션 정보로서 참조 인덱스 및 모션 벡터를 출력할 수도 있다. 모션 보상 모듈 (124) 은 PU 의 모션 정보에 의해 식별된 참조 블록에 기초하여 PU 의 예측된 비디오 블록을 생성할 수도 있다.
PU 가 B 슬라이스에 있다면, PU 를 포함하는 픽처는 "리스트 0" 및 "리스트 1" 로 지칭되는 참조 픽처들의 2개 리스트들과 연관될 수도 있다. 일부 예들에서, B 슬라이스를 포함하는 픽처는 리스트 0 과 리스트 1 의 조합인 리스트 조합과 연관될 수도 있다.
추가로, PU 가 B 슬라이스에 있으면, 모션 추정 모듈 (122) 은 PU 에 대해 단방향 예측 또는 양방향 예측을 수행할 수도 있다. 모션 추정 모듈 (122) 이 PU 에 대해 단방향 예측을 수행할 경우, 모션 추정 모듈 (122) 은 PU 에 대한 참조 블록에 대한 리스트 0 또는 리스트 1 의 참조 픽처들을 탐색할 수도 있다. 그 후에, 모션 추정 모듈 (122) 은 참조 블록을 포함하는 리스트 0 또는 리스트 1 에 있어서 참조 픽처를 표시하는 참조 인덱스 및 PU 와 참조 블록 간의 공간 변위를 표시하는 모션 벡터를 생성할 수도 있다. 모션 추정 모듈 (122) 은 PU 의 모션 정보로서 참조 인덱스, 예측 방향 표시자, 및 모션 벡터를 출력할 수도 있다. 예측 방향 표시자는 참조 인덱스가 리스트 0 에서의 참조 픽처를 표시하는지 리스트 1 에서의 참조 픽처를 표시하는지를 나타낼 수도 있다. 모션 보상 모듈 (124) 은 PU 의 모션 정보에 의해 표시된 참조 블록에 기초하여 PU 의 예측된 비디오 블록을 생성할 수도 있다.
모션 추정 모듈 (122) 이 PU 에 대해 양방향 인터 예측을 수행할 경우, 모션 추정 모듈 (122) 은 PU 에 대한 참조 블록을 위해 리스트 0 에서의 참조 픽처들을 탐색할 수도 있고, 또한 PU 에 대한 다른 참조 블록을 위해 리스트 1 에 있어서의 참조 픽처들을 탐색할 수도 있다. 그 후, 모션 추정 모듈 (122) 은 참조 블록들을 포함하는 리스트 0 과 리스트 1 에서의 참조 픽처들을 표시하는 참조 인덱스들 및 참조 블록들과 PU 간의 포지션 변위들을 나타내는 모션 벡터들을 생성할 수도 있다. 모션 추정 모듈 (122) 은 PU 의 모션 정보로서 PU 의 참조 인덱스들 및 모션 벡터들을 출력할 수도 있다. 모션 보상 모듈 (124) 은 PU 의 모션 정보에 의해 표시된 참조 블록들에 기초하여 PU 의 예측된 비디오 블록을 생성할 수도 있다.
일부 경우들에서, 모션 추정 모듈 (122) 은 PU 에 대한 모션 정보의 풀 세트를 엔트로피 인코딩 모듈 (116) 에 출력하지 않는다. 오히려, 모션 추정 모듈 (122) 은 다른 PU 의 모션 정보를 참조하여 PU 의 모션 정보를 시그널링할 수도 있다. 예를 들어, 모션 추정 모듈 (122) 은 PU 의 모션 정보가 이웃하는 PU 의 모션 정보와 충분히 유사한 것으로 결정할 수도 있다. 이러한 예에서, 모션 추정 모듈 (122) 은 PU 와 연관된 신택스 구조에서, PU 가 이웃하는 PU 와 동일한 모션 정보를 가지는 것을 비디오 디코더 (30) 에 표시하는 값을 나타낼 수도 있다. 다른 예에서, 모션 추정 모듈 (122) 은 PU 와 연관된 신택스 구조에서, 이웃하는 PU 와 모션 벡터 차이 (MVD) 를 식별할 수도 있다. 모션 벡터 차이는 PU 의 모션 벡터와 표시된 이웃 PU 의 모션 벡터 간에 차이를 나타낸다. 비디오 디코더 (30) 는 PU 의 모션 벡터를 결정하기 위해, 표시된 이웃하는 PU 의 모션 벡터 및 모션 벡터 차이를 사용한다. 제 2 PU 의 모션 정보를 시그널링할 때 제 1 PU 의 모션 정보를 참조함으로써, 비디오 인코더 (20) 는 더 적은 비트들을 사용하여 제 2 PU 의 모션 정보를 시그널링할 수도 있다.
CU 에 인코딩 동작을 수행하는 것의 부분으로서, 인트라 예측 모듈 (126) 은 CU 의 PU들에 인트라 예측을 수행할 수도 있다. 인트라 예측은 공간 압축을 제공할 수도 있다. 인트라 예측 모듈 (126) 이 PU 에 인트라 예측을 수행할 경우, 인트라 예측 모듈 (126) 은 동일한 픽처의 다른 PU들의 디코딩된 샘플들에 기초하여 PU 에 대한 예측 데이터를 생성할 수도 있다. PU 에 대한 예측 데이터는, 예측된 비디오 블록 및 다양한 신택스 엘리먼트들을 포함할 수도 있다. 인트라 예측 모듈 (126) 은 I 슬라이스들, P 슬라이스들, 및 B 슬라이스들에서의 PU들에 인트라 예측을 수행할 수도 있다.
PU 에 인트라 예측을 수행하기 위해, 인트라 예측 모듈 (126) 은 다중의 인트라 예측 모드들을 이용하여, PU 에 대한 예측 데이터의 다중의 세트들을 생성할 수도 있다. 인트라 예측 모듈 (126) 이 PU 에 대한 예측 데이터의 세트를 생성하기 위해 인트라 예측 모드를 사용할 경우, 인트라 예측 모듈 (126) 은 인트라 예측 모드와 연관된 방향 및/또는 경사도에서 PU 의 비디오 블록을 경유하여 이웃하는 PU들의 비디오 블록들로부터 샘플들을 연장시킬 수도 있다. 이웃하는 PU들은, PU들, CU들, 및 트리블록들에 대하여 좌측-우측으로, 상부-하부로의 인코딩 순서를 가정할 때, PU 의 상위, 상위 우측으로, 상위 좌측으로, 또는 좌측으로 있을 수도 있다. 인트라 예측 모듈 (126) 은 PU 의 사이즈에 의존하여, 다양한 수의 인트라 예측 모드들, 예컨대 33 개 방향의 인트라 예측 모드들을 사용할 수도 있다.
예측 모듈 (100) 은 PU 에 대한 모션 보상 모듈 (124) 에 의해 생성된 예측 데이터 또는 PU 에 대한 인트라 예측 모듈 (126) 에 의해 생성된 예측 데이터 중에서부터 PU 에 대한 예측 데이터를 선택할 수도 있다. 일부 예들에서, 예측 모듈 (100) 은 예측 데이터의 세트들의 레이트/왜곡 메트릭들에 기초하여 PU 에 대한 예측 데이터를 선택한다.
예측 모듈 (100) 이 인트라 예측 모듈 (126) 에 의해 생성된 예측 데이터를 선택한다면, 예측 모듈 (100) 은 PU들에 대한 예측 데이터를 생성하는데 사용되었던 인트라 예측 모드 예컨대, 선택된 인트라 예측 모드를 시그널링할 수도 있다. 예측 모듈 (100) 은 선택된 인트라 예측 모드를 다양한 방식들로 시그널링할 수도 있다. 예를 들어, 선택된 인트라 예측 모드는 이웃하는 PU 의 인트라 예측 모드와 동일할 것이다. 다시 말해서, 이웃하는 PU 의 인트라 예측 모드는 현재 PU 에 대한 가장 가능성 있는 모드일 수도 있다. 따라서, 예측 모듈 (100) 은 선택된 인트라 예측 모드가 이웃하는 PU 의 인트라 예측 모드와 동일한 것을 표시하도록 신택스 엘리먼트를 생성할 수도 있다.
예측 모듈 (100) 이 CU 의 PU들에 대한 예측 데이터를 선택한 후에, 잔차 생성 모듈 (102) 은 CU 의 비디오 블록으로부터 CU 의 PU들의 예측된 비디오 블록들을 감산함으로써 CU 에 대한 잔차 데이터를 생성할 수도 있다. CU 의 잔차 데이터는 CU 의 비디오 블록에서 샘플들의 상이한 샘플 컴포넌트들에 대응하는 2D 잔차 비디오 블록들을 포함할 수도 있다. 예를 들어, 잔차 데이터는 CU 의 PU들의 예측된 비디오 블록들에서 샘플들의 루미넌스 컴포넌트들과 CU 의 원래의 비디오 블록에서 샘플들의 루미넌스 컴포넌트들 간의 차이들에 대응하는 잔차 비디오 블록을 포함할 수도 있다. 추가로, CU 에 대한 잔차 데이터는 CU 의 PU 들의 예측된 비디오 블록들에서 샘플들의 크로미넌스 컴포넌트들 및 CU 의 원래의 비디오 블록에서 샘플들의 크로미넌스 컴포넌트들 간의 차이들에 대응하는 잔차 비디오 블록들을 포함할 수도 있다.
예측 모듈 (100) 은 쿼드트리 파티셔닝을 수행하여 CU 의 잔차 비디오 블록들을 서브-블록들로 파티셔닝할 수도 있다. 각각의 분할되지 않은 잔차 비디오 블록은 CU 의 상이한 TU 와 연관될 수도 있다. CU 의 TU들과 연관된 잔차 비디오 블록들의 사이즈들 및 포지션들은 CU 의 PU들과 연관된 비디오 블록들의 사이즈들 및 포지션들에 기초하거나 기초하지 않을 수도 있다. "잔차 쿼드 트리" (RQT) 로서 공지된 쿼드 트리 구조는 잔차 비디오 블록들 각각과 연관된 노드들을 포함할 수도 있다. CU 의 TU들은 RQT 의 리프 노드들에 대응할 수도 있다.
변환 모듈 (104) 은 TU 와 연관된 잔차 비디오 블록들에 하나 이상의 변환들을 적용함으로써 CU 의 각각의 TU 에 대한 하나 이상의 변환 계수 블록들을 생성할 수도 있다. 변환 계수 블록들 각각은 변환 계수들의 2D 매트릭스일 수도 있다. 변환 모듈 (104) 은 TU 와 연관된 잔차 비디오 블록에 다양한 변환들을 적용할 수도 있다. 예를 들어, 변환 모듈 (104) 은 이산 코사인 변환 (DCT), 지향성 변환, 또는 개념적으로 유사한 변환을, TU 와 연관된 잔차 샘플 블록에 적용할 수도 있다.
변환 모듈 (104) 이 TU 와 연관된 변환 계수 블록을 생성한 후에, 양자화 모듈 (106) 은 변환 계수 블록에서 변환 계수들을 양자화할 수도 있다. 양자화 모듈 (106) 은 CU 와 연관된 QP 값에 기초하여 CU 의 TU 와 연관된 변환 계수 블록을 양자화할 수도 있다.
비디오 인코더 (20) 는 다양한 방식들로 QP 값을 CU 와 연관시킬 수도 있다. 예를 들어, 비디오 인코더 (20) 는 CU 와 연관된 트리블록에 레이트-왜곡 분석을 수행할 수도 있다. 레이트-왜곡 분석에서, 비디오 인코더 (20) 는 인코딩 동작을 트리블록에 다수회 수행함으로써 트리블록의 다중 코딩된 표현들을 생성할 수도 있다. 비디오 인코더 (20) 는 비디오 인코더 (20) 가 트리블록의 상이한 인코딩된 표현들을 생성할 경우, 상이한 QP 값들을 CU 와 연관시킬 수도 있다. 비디오 인코더 (20) 는 소정의 QP 값이 최저 비트레이트 및 왜곡 메트릭을 갖는 트리블록의 코딩된 표현에서의 CU 와 연관될 경우, CU 와 연관되는 것을 시그널링할 수도 있다.
역양자화 모듈 (108) 및 역변환 모듈 (110) 은, 각각, 변환 계수 블록에 역양자화 및 역변환을 적용하여, 그 변환 계수 블록으로부터 잔차 비디오 블록을 재구성할 수도 있다. 재구성 모듈 (112) 은 재구성된 잔차 비디오 블록을, 예측 모듈 (100) 에 의해 생성된 하나 이상의 예측 비디오 블록들로부터의 대응하는 샘플들에 가산하여, TU 와 연관된 재구성된 비디오 블록을 생성할 수도 있다. 이러한 방식으로 CU 의 각각의 TU 에 대한 비디오 블록들을 재구성함으로써, 비디오 인코더 (20) 는 CU 의 비디오 블록을 재구성할 수도 있다.
재구성 모듈 (112) 이 CU 의 비디오 블록을 재구성한 이후에, 필터 모듈 (113) 은 디블록킹 (deblocking) 동작을 수행하여, CU 와 연관된 비디오 블록에서의 블록킹 아티팩트들을 감소시킬 수도 있다. 하나 이상의 디블록킹 동작들을 수행한 후에, 필터 모듈 (113) 은 디코딩된 픽처 버퍼 (114) 에 CU 의 재구성된 비디오 블록을 저장할 수도 있다. 모션 추정 모듈 (122) 및 모션 보상 모듈 (124) 은 후속하는 픽처들의 PU들에 인터 예측을 수행하기 위해 재구성된 비디오 블록을 포함하는 참조 픽처를 사용할 수도 있다. 부가적으로, 인트라 예측 모듈 (126) 은 CU 와 동일한 픽처에 있어서의 다른 PU들에 대해 인트라 예측을 수행하기 위해 디코딩된 픽처 버퍼 (114) 에서 재구성된 비디오 블록들을 사용할 수도 있다.
엔트로피 인코딩 모듈 (116) 은 비디오 인코더 (20) 의 다른 기능적 컴포넌트들로부터 데이터를 수신할 수도 있다. 예를 들어, 엔트로피 인코딩 모듈 (116) 은 양자화 모듈 (106) 으로부터 변환 계수 블록들을 수신할 수도 있고, 예측 모듈 (100) 로부터 신택스 엘리먼트들을 수신할 수도 있다. 엔트로피 인코딩 모듈 (116) 이 데이터를 수신할 경우, 엔트로피 인코딩 모듈 (116) 은 하나 이상의 엔트로피 인코딩 동작들을 수행하여 엔트로피 인코딩된 데이터를 생성할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 CAVLC (context adaptive variable length coding) 동작, CABAC 동작, V2V (variable-to-variable) 길이 코딩 동작, SBAC (syntax-based context-adaptive binary arithmetic coding) 동작, PIPE (Probability Interval Partitioning Entropy) 코딩 동작, 또는 다른 타입의 엔트로피 인코딩 동작을 데이터에 수행할 수도 있다. 엔트로피 인코딩 모듈 (116) 은 엔트로피 인코딩된 데이터를 포함하는 비트스트림을 출력할 수도 있다.
엔트로피 인코딩 동작을 데이터에 수행하는 것의 부분으로서, 엔트로피 인코딩 모듈 (116) 은 콘텍스트 모델을 선택할 수도 있다. 엔트로피 인코딩 모듈 (116) 이 CABAC 동작을 수행하는 중이라면, 콘텍스트 모델은 특정 빈들이 특정 값들을 가질 확률들의 추정치들을 표시할 수도 있다. CABAC 의 맥락에서, 용어 "빈" 은 신택스 엘리먼트의 이진화된 버전의 비트를 지칭하도록 사용된다.
도 3 은 본 개시물의 기술들을 구현하도록 구성될 수 있는 예시적인 비디오 디코더 (30) 를 도시한 블록 다이어그램이다. 도 3 은 설명의 목적들로 제공되며, 본 개시물에 대략적으로 예시화되고 설명된 바와 같은 기술들의 한정으로서 고려되지 않아야 한다. 설명의 목적들로, 본 개시물은 HEVC 코딩의 맥락에서 비디오 디코더 (30) 를 설명한다. 하지만, 본 개시물의 기술들은 다른 코딩 표준들 또는 방법들에 적용가능할 수도 있다.
본 개시물의 실시형태들에 따라, 비디오 디코더 (30) 는 적어도 하나의 기본 계층과 적어도 하나의 향상 계층을 정의하는 스케일러블 비디오 코딩 방식으로 비디오 데이터를 코딩 (예컨대, 디코딩) 하도록 구성될 수도 있는 다운샘플링 모듈 (170) 을 포함할 수 있다. 다운샘플링 모듈 (170) 은 디코딩 프로세스의 부분으로서 적어도 몇몇 비디오 데이터를 다운샘플링할 수도 있고, 여기서 다운샘플링은 예컨대, 도 4 내지 도 7 에 대하여 하기에 설명되는 것과 같이, 비디오 데이터와 연관된 위상 변위 정보에 적어도 부분적으로 기초하여 선택된 이미지 필터 세트를 사용함으로써, 적응적 방식으로 수행된다.
도 3 의 예에서, 비디오 디코더 (30) 는 복수의 기능적 컴포넌트들을 포함한다. 비디오 디코더 (30) 의 기능적 컴포넌트들은 엔트로피 디코딩 모듈 (150), 예측 모듈 (152), 역양자화 모듈 (154), 역변환 모듈 (156), 재구성 모듈 (158), 필터 모듈 (159), 및 디코딩된 픽처 버퍼 (160) 를 포함한다. 예측 모듈 (152) 은 모션 보상 모듈 (162) 및 인트라 예측 모듈 (164) 을 포함한다. 일부 예들에서, 비디오 디코더 (30) 는 도 2 의 비디오 인코더 (20) 에 대하여 설명된 인코딩 패스와 일반적으로 역인 디코딩 패스를 수행할 수도 있다. 다른 예들에 있어서, 비디오 디코더 (30) 는 더 많거나, 더 적거나, 또는 상이한 기능적 컴포넌트들을 포함할 수도 있다.
비디오 디코더 (30) 는 인코딩된 비디오 데이터를 포함하는 비트스트림을 수신할 수도 있다. 비트스트림은 복수의 신택스 엘리먼트들을 포함할 수도 있다. 비디오 디코더 (30) 가 비트스트림을 수신할 경우, 엔트로피 디코딩 모듈 (150) 은 그 비트스트림에 파싱 동작을 수행할 수도 있다. 비트스트림에 파싱 동작을 수행하는 결과로서, 엔트로피 디코딩 모듈 (150) 은 비트스트림으로부터 신택스 엘리먼트들을 추출할 수도 있다. 파싱 동작을 수행하는 것의 부분으로서, 엔트로피 디코딩 유닛 (150) 은 비트스트림에 있어서의 엔트로피 인코딩된 신택스 엘리먼트들을 엔트로피 디코딩할 수도 있다. 예측 모듈 (152), 역양자화 모듈 (154), 역변환 모듈 (156), 재구성 모듈 (158), 및 필터 모듈 (159) 은 비스스트림으로부터 추출된 신택스 엘리먼트들에 기초하여 디코딩된 비디오 데이터를 생성하는 재구성 동작을 수행할 수도 있다.
앞서 논의된 것과 같이, 비트스트림은 NAL 유닛들의 시리즈를 포함할 수도 있다. 비트스트림의 NAL 유닛들은 시퀀스 파라미터 세트 NAL 유닛들, 픽처 파라미터 세트 NAL 유닛들, SEI NAL 유닛들 등을 포함할 수도 있다. 비트스트림에 파싱 동작을 수행하는 것의 부분으로서, 엔트로피 디코딩 모듈 (150) 은 시퀀스 파라미터 세트 NAL 유닛들로부터 시퀀스 파라미터 세트들, 픽처 파라미터 세트 NAL 유닛들로부터 픽처 파라미터 세트들, SEI NAL 유닛들로부터 SEI 데이터 등을 추출하여 엔트로피 디코딩하는 파싱 동작들을 수행할 수도 있다.
추가로, 비트스트림의 NAL 유닛들은 코딩된 슬라이스 NAL 유닛들을 포함할 수도 있다. 비트스트림에 파싱 동작을 수행하는 것의 부분으로서, 엔트로피 디코딩 모듈 (150) 은 코딩된 슬라이스 NAL 유닛들로부터 코딩된 슬라이스들을 추출하여 엔트로피 디코딩하는 파싱 동작들을 수행할 수도 있다. 코딩된 슬라이스들 각각은 슬라이스 헤더 및 슬라이스 데이터를 포함할 수도 있다. 슬라이스 헤더는 슬라이스에 관련된 신택스 엘리먼트들을 포함할 수도 있다. 슬라이스 헤더에 있어서의 신택스 엘리먼트들은, 슬라이스를 포함하는 픽처와 연관된 픽처 파라미터 세트를 식별하는 신택스 엘리먼트를 포함할 수도 있다. 엔트로피 디코딩 모듈 (150) 은 슬라이스 헤더를 복원하기 위해 코딩된 슬라이스 헤더에서의 신택스 엘리먼트들에 CABAC 디코딩 동작들과 같은 엔트로피 디코딩 동작들을 수행할 수도 있다.
코딩된 슬라이스 NAL 유닛들로부터 슬라이스 데이터를 추출하는 것의 부분으로서, 엔트로피 디코딩 모듈 (150) 은 슬라이스 데이터에서 코딩된 CU들로부터 신택스 엘리먼트들을 추출하는 파싱 동작들을 수행할 수도 있다. 추출된 신택스 엘리먼트들은 변환 계수 블록들과 연관된 신택스 엘리먼트들을 포함할 수도 있다. 그 후, 엔트로피 디코딩 모듈 (150) 은 신택스 엘리먼트들 중 일부에 CABAC 디코딩 동작들을 수행할 수도 있다.
엔트로피 디코딩 모듈 (150) 이 비-파티셔닝된 CU 에 파싱 동작을 수행한 후에, 비디오 디코더 (30) 는 비-파티셔닝된 CU 에 재구성 동작을 수행할 수도 있다. 비-파티셔닝된 CU 에 재구성 동작을 수행하기 위해, 비디오 디코더 (30) 는 CU 의 각각의 TU 에 재구성 동작을 수행할 수도 있다. CU 의 각각의 TU 에 재구성 동작을 수행함으로써, 비디오 디코더 (30) 는 CU 와 연관된 잔차 비디오 블록을 재구성할 수도 있다.
TU 에 재구성 동작을 수행하는 것을 부분으로서, 역양자화 모듈 (154) 은 TU 와 연관된 변환 계수 블록들을 역양자화, 예컨대, 탈양자화할 수도 있다. 역양자화 모듈 (154) 은 HEVC 를 위해 제안되거나 H.264 디코딩 표준에 의해 정의된 역양자화 프로세스들과 유사한 방식으로 변환 계수 블록을 역양자화할 수도 있다. 역양자화 모듈 (154) 은 변환 계수 블록의 CU 에 대하여 비디오 인코더 (20) 에 의해 계산된 양자화 파라미터 QP 를 이용하여, 양자화도 및 유사하게, 적용할 역양자화 모듈 (154) 에 대한 역양자화도를 결정할 수도 있다.
역양자화 모듈 (154) 이 변환 계수 블록을 역양자화한 후에, 역변환 모듈 (156) 은 변환 계수 블록과 연관된 TU 에 대한 잔차 비디오 블록을 생성할 수도 있다. 역변환 모듈 (156) 은 TU 에 대한 잔차 비디오 블록을 생성하기 위해 변환 계수 블록에 역변환을 적용할 수도 있다. 예를 들어, 역변환 모듈 (156) 은 역 DCT, 역 정수 변환, 역 KLT (Karhunen-Loeve transform), 역 회전 변환, 역 지향성 변환, 또는 다른 역변환을 변환 계수 블록에 적용할 수도 있다. 일부 예들에서, 역변환 모듈 (156) 은 비디오 인코더 (20) 로부터의 시그널링에 기초하여 변환 계수 블록에 적용하기 위한 역변환을 결정할 수도 있다. 그러한 예들에서, 역변환 모듈 (156) 은 변환 계수 블록과 연관된 트리블록에 대한 쿼드트리의 루트 노드에서 시그널링 변환에 기초하여 역변환을 결정할 수도 있다. 다른 예들에서, 역변환 모듈 (156) 은 블록 사이즈, 코딩 모드, 등과 같은 하나 이상의 코딩 특성들로부터 역변환을 추론할 수도 있다. 일부 예들에서, 역변환 모듈 (156) 은 캐스케이드 역변환을 적용할 수도 있다.
일부 예들에서, 모션 보상 모듈 (162) 은 보간 필터들에 기초하여 보간을 수행함으로써 PU 의 예측된 비디오 블록을 리파이닝할 수도 있다. 서브-샘플 정확도로 모션 보상을 위해 사용될 보간 필터들에 대한 식별자들은 신택스 엘리먼트들에 포함될 수도 있다. 모션 보상 모듈 (162) 은 참조 블록의 서브-정수 샘플들에 대한 보간된 값들을 계산하기 위해 PU 의 예측된 비디오 블록의 생성 동안 비디오 인코더 (20) 에 의해 사용된 동일한 보간 필터들을 사용할 수도 있다. 모션 보상 모듈 (162) 은 수신된 신택스 정보에 따라 비디오 인코더 (20) 에 의해 사용된 보간 필터들을 결정하고, 그 보간 필터들을 사용하여 예측된 비디오 블록을 생성할 수도 있다.
PU 가 인트라 예측을 이용하여 인코딩된다면, 인트라 예측 모듈 (164) 은 인트라 예측을 수행하여 PU 에 대한 예측 비디오 블록을 생성할 수도 있다. 예를 들어, 인트라 예측 모듈 (164) 은 비트스트림에서의 신택스 엘리먼트들에 기초하여 PU 에 대한 인트라 예측 모드를 결정할 수도 있다. 비트스트림은 인트라 예측 모듈 (164) 이 PU 의 인트라 예측 모드를 결정하기 위해 사용할 수도 있는 신택스 엘리먼트들을 포함할 수도 있다.
일부 경우들에서, 신택스 엘리먼트들은 인트라 예측 모듈 (164) 은 현재 PU 의 인트라 예측 모드를 결정하기 위해 다른 PU 의 인트라 예측 모드를 사용할 것을 나타낼 수도 있다. 예를 들어, 현재 PU 의 인트라 예측 모드는 이웃하는 PU 의 인트라 예측 모드와 동일한 것이 가능할 수도 있다. 다시 말해서, 이웃하는 PU 의 인트라 예측 모드는 현재 PU 에 대한 가장 가능성 있는 모드일 수도 있다. 따라서, 이러한 예에서, 비트스트림은 PU 의 인트라 예측 모드가 이웃하는 PU 의 인트라 예측 모드와 동일한 것을 나타내는 소형 신택스 엘리먼트를 포함할 수도 있다. 그 후에, 인트라 예측 모듈 (164) 은 공간적으로 이웃하는 PU들의 비디오 블록들에 기초하여 PU 에 대한 예측 데이터 (예컨대, 예측된 샘플들) 을 생성하기 위해 인트라 예측 모드를 사용할 수도 있다.
재구성 모듈 (158) 은 CU 의 TU들과 연관된 잔차 비디오 블록들 및 CU 의 PU들의 예측 비디오 블록들, 예컨대, 적용가능하다면 인트라 예측 데이터 또는 인터 예측 데이터 중 어느 하나를 이용하여, CU 의 비디오 블록을 재구성할 수도 있다. 따라서, 비디오 디코더 (30) 는 비트스트림에서의 신택스 엘리먼트들에 기초하여 예측된 비디오 블록 및 잔차 비디오 블록을 생성할 수도 있고, 예측된 비디오 블록 및 잔차 비디오 블록에 기초하여 비디오 블록을 생성할 수도 있다.
재구성 모듈 (158) 이 CU 의 비디오 블록을 재구성한 이후에, 필터 모듈 (159) 은 디블록킹 (deblocking) 동작을 수행하여, CU 와 연관된 비디오 블록에서의 블록킹 아티팩트들을 감소시킬 수도 있다. 필터 모듈 (159) 이 디블록킹 동작을 수행하여 CU 와 연관된 블록킹 아티팩트들을 감소시킨 후에, 비디오 디코더 (30) 는 CU 의 비디오 블록을 디코딩된 픽처 버퍼 (160) 에 저장할 수도 있다. 디코딩된 픽처 버퍼 (160) 는 후속 모션 보상, 인트라 예측, 및 도 1 의 디스플레이 디바이스 (32) 와 같은 디스플레이 디바이스 상에서의 프리젠테이션을 위한 참조 픽처들을 제공할 수도 있다. 예를 들어, 비디오 디코더 (30) 는, 디코딩된 픽처 버퍼 (160) 에서의 비디오 블록들에 기초하여, 다른 CU들의 PU들에 인트라 예측 또는 인터 예측 동작들을 수행할 수도 있다.
HEVC 의 모션 보상 루프는 H.264/AVC 에서의 모션 보상 루프와 유사하고, 예컨대 현재 프레임
Figure pct00001
의 재구성은 탈양자화된 계수들 r 과 시간 예측 P 과의 합과 동일할 수도 있다:
Figure pct00002
여기서 P 는 P 프레임들에 대하여 단방향 예측 또는 B 프레임들에 대하여 양방향 예측을 나타낸다.
HEVC 에서 대략 35 개의 인트라 예측 모드들이 존재한다. 특정 실시형태들에서, 현재 프레임
Figure pct00003
의 재구성은 또한 식 (1) 에 의해 표현될 수도 있으며, 여기서 P 는 인트라 예측을 나타낸다. 도 4 는 상이한 차원들로의 스케일러빌리티들의 일 실시형태를 도시한 다이어그램을 제공한다. 도면에 도시된 것과 같이, 스케일러빌리티들은 3 차원에서 가능할 수도 있다. 예를 들어, 시간에 대하여, 7.5 Hz, 15 Hz 또는 30 Hz 를 갖는 프레임 레이트들이 시간 스케일러빌리티 (T) 에 의해 지원될 수도 있다. 공간 스케일러빌리티 (S) 에 대하여, QCIF, CIF 및 4CIF 와 같은 상이한 분해능들이 가능할 수도 있다. 각각의 특정 공간 분해능 및 프레임 레이트에 대하여, SNR(Q) 계층들이 가산되어 픽처 품질을 개선할 수도 있다. 비디오 콘텐츠가 스케일러블한 방식으로 인코딩되면, 추출기 툴이 애플리케이션 요건들에 따라 전달된 콘텐츠를 적응시키는데 사용될 수도 있으며, 애플리케이션 요건들은 예컨대, 송신 채널, 및/또는 다른 파라미터들에 의존할 수도 있다. 도 4 에 도시된 실시형태에서, 각각의 정육면체 오브젝트는 실질적으로 동일한 프레임 레이트 (시간 레벨), 공간 분해능 및 SNR 계층들을 갖는 픽처들을 포함할 수도 있다. 특정 실시형태들에서, 개선된 표현은 하나 이상의 차원들에서 큐브들 (픽처들) 을 부가함으로써 달성될 수 있다. 추가로, 결합된 스케일러빌리티는 2, 3, 또는 그 이상의 스케일러빌리티들이 가능할 경우 지원될 수도 있다.
HEVC SVC 명세에 따르면, 최저 공간 및 품질 계층을 갖는 픽처들은 H.264/AVC 와 호환가능할 수도 있지만, 최저 시간 레벨에서의 픽처들은 시간 기본 계층을 형성할 수도 있고, 시간 기본 계층은 더 높은 시간 레벨들에서의 픽처들로 향상될 수도 있다. H.264/AVC 호환가능 계층에 부가하여, 몇몇 공간 및/또는 SNR 향상 계층들이 부가되어 공간 및/또는 품질 스케일러빌리티들을 제공할 수도 있다. 본 명세서에서 사용되는 것과 같이, SNR 스케일러빌리티는 또한 품질 스케일러빌리티로 참조될 수도 있다. 각각의 공간 또는 SNR 향상 계층 자체는 H.264/AVC 호환가능 계층과 동일한 시간 스케일러빌리티 구조로 시간적으로 스케일러블할 수도 있다. 하나의 공간 또는 SNR 향상 계층에 대하여, 그것이 의존하는 더 낮은 계층이 또한, 그러한 공간 또는 SNR 향상 계층의 기본 계층으로서 지칭될 수도 있다.
도 5 는 SVC 코딩 구조의 일 실시형태를 도시한다. 최저 공간 및 품질 계층을 갖는 픽처들 (QCIF 분해능을 갖는 계층 0 과 계층 1 에서의 픽처들) 은 H.264/AVC 와 호환가능할 수도 있다. 그중에서, 최저 시간 레벨의 픽처들은 도 5 의 계층 0 에 도시된 것과 같은 시간 기본 계층을 형성할 수도 있다. 이러한 시간 기본 계층 (계층 0) 은 더 높은 시간 레벨들 (예컨대, 계층 1) 의 픽처들로 향상될 수 있다. H.264/AVC 호환가능 계층에 부가하여, 몇몇 공간 및/또는 SNR 향상 계층들이 부가되어 공간 및/또는 품질 스케일러빌리티들을 제공할 수도 있다. 예를 들어, 향상 계층은 계층 2 와 실질적으로 동일한 분해능을 갖는 CIF 표현일 수도 있다. 도시된 실시형태에서, 계층 3 은 SNR 향상 계층이다. 도시된 것과 같이, 공간 또는 SNR 향상 계층들 자체는 H.264/AVC 호환가능 계층과 동일한 시간 스케일러빌리티 구조로 시간적으로 스케일러블할 수도 있다. 추가로, 향상 계층은 공간 분해능과 프레임 레이트 양자를 향상시킬 수도 있다. 예를 들면, 계층 4 는 프레임 레이트를 15 Hz 부터 30 Hz 로 추가로 증가시키는 4CIF 향상 계층을 제공할 수도 있다.
도 6a 에 도시된 것과 같이, 단일의 동일한 시간 인스턴스에서 코딩된 슬라이스들은 비트스트림 순서로 연속적일 수도 있고 SVC 의 콘텍스트에서 하나의 액세스 유닛을 형성할 수도 있다. 그 후에, 그들의 SVC 액세스 유닛들은 디코딩 순서를 따를 수도 있고, 디코딩 순서는 디스플레이 순서와 상이할 수도 있고, 예컨대, 시간 예측 관계에 의해 결정될 수도 있다.
SVC 의 일부 기능성들은 H.264/AVC 으로부터 전승된다. 이전의 스케일러블 표준들과 비교할 때, HEVC SVC 의 특정 장점들, 즉 계층간 예측 및 단일 루프 디코딩은 이하에서 더 상세히 논의된다.
단일 루프 디코딩
낮은 복잡도 디코더를 유지하기 위해, SVC 에서 단일 루프 디코딩이 의무적이다. 단일 루프 디코딩으로, 각각의 지원된 계층은 단일 모션 보상 루프로 디코딩될 수도 있다. 이를 달성하기 위해, 계층간 인트라 예측의 사용은 오직 향상 계층 매크로블록들을 위해 허용되며, 이 매크로블록들을 위해 공동-위치된 참조 계층 신호가 인트라 코딩된다. 더 높은 계층들을 계층간 예측하는데 사용된 모든 계층들은 제한된 인트라 예측을 사용하여 코딩된다.
계층간 예측
SVC 는 텍스처, 레지듀 (residue) 및 모션에 기초하여 공간 및/또는 SNR 스케일러빌리티들에 대한 계층간 예측을 제공한다. SVC 에서의 공간 스케일러빌리티는 2 개의 계층들 간의 임의의 분해능 비율에 관련될 수도 있다. 특정 실시형태들에서, SNR 스케일러빌리티는 CGS (Coarse Granularity Scalability) 또는 MGS (Medium Granularity Scalability) 에 의해 실현된다. SVC 에서, 상이한 공간 또는 CGS 계층들은 (예컨대, NAL 유닛 헤더에서 dependency_id 로 표시된) 상이한 의존도 계층들에 속할 수도 있는 반면, 상이한 MGS 계층들은 동일한 의존도 계층에 있을 수도 있다. 단일 의존도 계층은 품질 향상 계층들에 대응하는, 0 부터 더 높은 값들까지 quality_id 와 연관된 품질 계층들을 포함할 수도 있다. SVC 에서, 계층간 예측 방법들은 계층간 리던던시를 감소시키는데 활용될 수도 있다. 다양한 계층간 예측 방법들은 이하 더 상세히 설명된다.
계층간 인트라 예측
SVC 에서, 계층간 인트라 예측을 사용하는 코딩 모드는 SVC 에서 "IntraBL" 모드로 불릴 수도 있다. 단일 루프 디코딩을 가능하게 하기 위해, 계층간 인트라 예측은 오직 MB들에 대해서만 사용가능할 수도 있고, MB들은 제한된 인트라 모드들로서 코딩된 기본 계층에서 공동-위치된 MB 들을 갖는다. 제한된 인트라 모드 MB 는 이웃하는 인터-코딩된 MB들로부터의 샘플들을 참조하지 않고 인트라-코딩된다. 다중-루프 디코딩이 사용가능한 실시형태들에서, 공동-위치된 기본 계층 블록이 코딩되는 방식에 대하여 그러한 제약이 존재하지 않을 수도 있다. 특정 실시형태들에서, 공동-위치된 MB들은 공간 분해능 비율에 따라 업샘플링될 수도 있다.
도 6b 는 인트라-BL 모드 예측의 일 예 (400) 의 개략도를 도시한다. 특히, 향상 계층 (420) 은 기본 계층 (410) 과 공동-위치된다. 기본 계층 (410) 에서의 블록 (412) 은 향상 계층에서의 블록 (422) 에 대응할 수도 있다. 인트라-BL 모드에서, 블록 (422) 에서의 텍스처는 대응하는 기본 계층 블록 (412) 의 텍스처를 사용하여 예측될 수 있다. 기본 계층 블록 (412) 은 향상 이미지가 기본 계층 이미지보다 더 큰 사이즈를 갖는다면 업샘플링을 요구할 수도 있다. (레지듀라 불리는) 예측 에러가 변환되고, 양자화되고, 엔트로피 인코딩될 수도 있다.
계층간 잔차 예측
MB 가 잔차 예측을 사용하는 것으로 표시되는 실시형태들에서, 계층간 예측을 위해 공동-위치된 기본 계층 MB들은 다양한 제약들을 가질 수도 있다. 예를 들어, 그러한 MB 는 인터 MB 인 것으로 요구될 수도 있고; 추가로 관련 공간 분해능 비율에 따라 MB 의 레지듀를 업샘플링하는 것이 필수적이거나 바람직할 수도 있다. 향상 계층과 기본 계층간의 레지듀 차이는 예측의 목적들을 위해 코딩되고 사용될 수도 있다. 예를 들어, 향상 계층의 현재 프레임
Figure pct00004
의 재구성은, 이하 식 (2) 에서 제공된 것과 같이 향상 계층의 탈양자화된 계수들
Figure pct00005
, 향상 계층으로부터의 시간 예측
Figure pct00006
, 및 기본 계층의 양자화 정규화된 잔차 계수들
Figure pct00007
의 합과 동일할 수도 있다.
Figure pct00008

기본 계층 픽처에 대한 업샘플링 프로세스
공간 스케일러빌리티에 대하여, 기본 계층 및 향상 계층들은 상이한 공간 분해능들을 가질 수도 있다. 그러므로, 향상 계층의 공간 애스팩트 비에 매칭하도록 기본 계층에 대하여 업샘플링 필터링을 활용하는 것이 필수적이거나 바람직할 수도 있다. 예를 들어, 업샘플링 필터 세트는 기본 계층을 위해 사용될 수도 있고, 여기서 필터는 분수 픽셀 쉬프트 (예컨대, 위상) 에 따라 그 세트로부터 선택된다. 특정 실시형태들에서, 위상은 공간 애스팩트 비 및 기본 계층과 향상 계층 픽처들 간의 상대적인 픽셀 그리드 포지션에 기초하여 계산될 수 있다.
도 6c(b) 는 이원 공간 스케일러빌리티에 대한 H.264/SVC 업샘플링 절차에서 기본 계층과 향상 계층의 상대적인 루마 샘플링 그리드의 일 실시형태를 도시한다. 특정 실시형태들에서, 향상 계층과 기본 계층 픽처 간의 분수 픽셀 쉬프트는 도시된 것과 같이 0.25 및 0.75 이다. H.264/SVC 표준에서, 위상은 필터 세트에서 16 개 필터들을 발생할 수도 있는 1/16 정확성으로 양자화될 수도 있다.
특정 실시형태들에서, 단일 업샘플링 필터는 계층간 예측을 위한 스케일링된 콘텐츠를 생성하기 위해 기본 계층 픽처들에 적용될 수도 있다. 단일 업샘플링 필터가 특정 환경에서 적당할 수도 있지만, 다중 계층간 예측 타입들에 대하여 적당하지 않거나, 또는 이상적일 수도 있다. 특정 실시형태들에서, 다중 업샘플링 필터들 또는 필터들의 세트들은 예컨대, 인트라BL, 차이 도메인 인트라 및 인터 예측, 및/또는 레지듀 예측을 포함하여 특정 계층간 예측 방법들의 코딩 성능을 추가로 개선시키도록 레버리징된다. 그러한 개념들이 이하 더 상세히 개시된다.
특정 실시형태들에서, 비디오 코딩 시스템은 공간 스케일러빌리티 목적들을 위해 다중 업샘플링 필터들뿐만 아니라 SNR 스케일러빌리티 목적들을 위해 다중 프리-프로세싱 필터들을 활용한다. 예를 들어, 공동-위치된 기본 계층 샘플들을 프로세싱하기 위한 전용 필터들은 사용되고 있는 계층간 예측의 타입에 적어도 부분적으로 기초하여 선택될 수도 있다. 특정 실시형태들에서, 필터 세트들은 오프라인으로 설계되고 시스템에서 하드 코딩될 수도 있다. 대안적으로, 필터 세트들은 코딩 콘텐츠에 따라 유도되고 비트스트림에서 전송될 수도 있다. 추가로, 다운샘플링 프로세스에서 사용된 위상 쉬프트는 비트스트림에서 시그널링될 수도 있다.
본원에 개시된 특정 실시형태들이 2-계층 스케일러블 비디오 코딩의 콘텍스트에서 제시되지만, 개시된 실시형태들이 단일 계층이 다수의 기본 및/또는 향상 계층들을 갖는 다중-계층 경우들로 확대될 수도 있음을 당업자는 인식할 수도 있다.
업샘플링 프로세스에서 샘플 포지션 맵핑
도 6c 및 도 6d 는 다운샘플링된 비디오들과 원래의 비디오들 간에 상이한 샘플 포지션 맵핑 방법들이 적용되는 2 개의 다운샘플링 방식들을 도시한다. 예를 들어, 정사각형들 (510, 512 및 514) 을 포함하는 정사각형들은 향상 계층 픽셀들의 로케이션들에 대응할 수 있다. 원들 (520 및 522) 을 포함하는 원들은 기본 계층 픽셀들의 로케이션들에 대응할 수 있다. 루마 다운샘플링을 위해, 2 개의 샘플링 로케이션들의 일 예가 도 6c(a) 및 6c(b) 에 도시된다. "제로-위상 다운샘플링" 으로 지칭되는 도 6c(a) 에서, 향상 계층 픽셀 (510) 과 기본 계층 픽셀 (520) 간의 공간 차이는 제로이다 ("위상" 은 일반적으로 향상 계층에서의 좌상부 샘플과 기본 계층에서의 대응하는 좌상부 샘플 간의 공간 거리를 지칭할 수 있다). "대칭적 다운샘플링" 으로 지칭되는 도 6c(b) 에서, 향상 계층에서 루마 샘플들의 4x4 어레이는 기본 계층에서 2x2 어레이로 다운샘플링되고, 2 개의 어레이들은 동일한 중심 로케이션을 갖는다.
스케일링되면, 기본 계층 픽처 및 향상 계층 픽처는 상이한 사이즈들을 가질 수도 있다. 예를 들어, 도 6c 에 도시된 것과 같은 2X 공간 스케일러빌리티에서, 기본 계층 픽처의 폭은 향상 계층 픽처의 폭의 1/2 이고, 기본 계층 픽처의 높이는 향상 계층 픽처의 높이의 1/2 이다. 일 예에서, 기본 계층 시퀀스는 향상 계층을 다운샘플링함으로써 생성될 수 있다. 계층간 텍스처 예측을 수행하기 위해, 업샘플링은 재구성된 기본 계층 픽처에 적용될 수 있다.
도 6c(a) 및 도 6d(a) 에 도시된 다운샘플링 방식은 HEVC-SVC 에서 기본 계층 콘텐츠 사용된 테스트 시퀀스들을 생성하기 위해 사용될 수도 있고, 여기서 다운샘플링된 픽처와 원래 픽처의 좌상부 픽셀 그리드는 정렬된다. 이러한 예에서, 다운샘플링된 픽처와 원래의 픽처 간의 좌상부 그리드의 위상 쉬프트는 제로이다. 향상 계층과 기본 계층 간에 제로-위상 관계가 존재한다.
도 6c(b) 와 도 6d(b) 에 도시된 다운샘플링 방식은 H.264-SVC 에서의 디폴트 다운샘플링 프로세싱이며, 여기서 다운샘플링된 픽처와 원래의 픽처간의 위상 쉬프트는 모든 픽셀 그리드들에서 동일하게 분배된다. 다운샘플링된 픽처와 원래의 픽처 간의 글로벌 위상 쉬프트는 제로이다. 도 6c(b) 에서, 향상 계층과 기본 계층 간에 대칭적-위상 관계가 존재한다.
일부 실시형태들에서, 도 6c(a) 및 도 6d(a) 에 의해 도시된 방식은 다운샘플링 필터링 프로세스에서 사용된다. 수평 좌표는 이하 식에 의해 계산될 수 있다:
Figure pct00009
여기서, x_enhance 는 프로세싱될 향상 픽처에서 샘플의 수평 좌표이고, x_base 는 기본 계층에서 대응하는 샘플의 수평 좌표이다. 전술된 것과 같이, x_base 는 1/16 의 정확성으로 양자화될 수 있다. 정수 포지션을 표현하는 값은 16 으로 나눈 양자화 값과 동일한 반면, 분수 포지션을 나타내는 위상은 16 을 모딩 (moding) 한 양자화 값과 동일하다.
일부 실시형태들에서, 도 6c(b) 및 도 6d(b) 에 의해 도시된 방식은 다운샘플링 필터링 프로세스에서 사용된다. 수평 좌표는 이하 식에 의해 계산될 수 있다:
Figure pct00010
실질적인 비디오 코덱 설계에서, 식 (1) 과 식 (2) 은 계산 복잡도를 감소시키기 위해 정수화 (예컨대, 정수들로 강제) 될 수도 있다.
식 (1) 에 의해 계산되는 xbase 과 식 (2) 에 의해 계산되는 xbase 간에 일정한 차이가 존재할 수도 있다. 일 실시형태에서, 업샘플링 프로세스에서 사용된 그리드 포지션 차이의 정보 (예컨대, 위상 정보) 는 비트스트림에서 시그널링될 수 있다. 이러한 정보는 SPS, PPS, APS, 또는 슬라이스 헤더 신택스 엘리먼트로서 시그널링될 수 있다.
일 실시형태에서, 식 (2) 과 관련된 절차는 디폴트 방법으로서 명시될 수 있다. 값 M 은 추가의 쉬프팅을 표현하기 위해 시그널링된 SPS, PPS 또는 슬라이스 헤더일 수 있다. 이하 식 (3) 또는 식 (4) 은 새로운 xbase 을 계산하기 위해 사용된다.
Figure pct00011
일 실시형태에서, 식 (3) 과 관련된 절차는 디폴트 방법으로서 명시될 수 있다. 값 M 은 추가의 위상 변경을 표현하기 위해 SPS, PPS 또는 슬라이스 헤더에서 시그널링될 수 있다.
다른 실시형태에서, SPS, PPS 또는 슬라이스 헤더에서 시그널링된 정보는 플래그이다. 플래그는 도 6c 및 도 6d 에 도시된 2 개의 다운샘플링 방식들 중 어느 하나가 다운샘플링된 기본 계층 픽처를 생성하도록 적용되는지를 표시하는데 사용될 수 있다. 대응하는 포지션 맵핑 방법은 업샘플링 프로세스에서 사용될 수 있다.
유사하게, 앞의 방법은 수직 방향 샘플 포지션 맵핑에 적용될 수 있다. 일 실시형태에서, SPS, PPS 및 슬라이스 헤더에서 시그널링된 앞의 포지션 맵핑 정보는 수평 및 수직 방향에 대하여 독립적으로 시그널링될 수 있다.
다른 실시형태에서, SPS, PPS 및 슬라이스 헤더에서 시그널링된 앞의 포지션 맵핑 정보는 오직 한번 시그널링되고 수평 및 수직 방향 양자를 위해 사용될 수 있다.
다운샘플링 포지션 (예컨대, 위상 정보) 는 업샘플링 프로세스에서 요구될 수도 있다. 예를 들어, 도 6c(a) 에 도시된 것과 같이 제로-위상 다운샘플링이 주어질 때, 향상 계층 픽셀들 (예컨대, 510 및 512) 은 기본 계층 픽셀들 (예컨대, 520 및 522) 로부터 업샘플링되어야만 한다. 510 및 520 이 (이 예에서) 동일한 로케이션에 있기 때문에, 510 을 생성하기 위한 업샘플링 필터의 위상은 0 이다. 그리고 512 는 520 과 522 의 중간 지점이고, 따라서 512 를 생성하기 위한 업샘플링 필터의 위상은 1/2 이다. 요약하면, 제로-위상 다운샘플링 필터로 2X 공간 스케일러빌리티를 위해, 업샘플링 필터의 위상은 0 및 1/2 이어야 한다. 유사한 분석을 사용하여, 도 6c(b) 에 도시된 것과 같은 대칭적 다운샘플링에서의 2X 공간 스케일러빌리티를 위해, 업샘플링 필터의 위상은 1/4 및 3/4 이어야 한다.
특정 실시형태들에서, 다운샘플링 로케이션 (예컨대, 위상) 정보를 샘플링하는 것이 수행되며, 따라서 코덱은 정확한 업샘플링 위상/로케이션들을 선택할 수 있다. 이는 특히 비디오 파라미터 세트 (VPS), 픽처 파라미터 세트 (PPS), 시퀀스 파라미터 세트 (SPS), 슬라이스 헤더와 같은 고 레벨 신택스를 사용하여 플래그를 시그널링함으로써 달성될 수도 있다. 이러한 플래그는 업샘플링의 위상의 계산을 위해 프로세스에서 통합될 것이다.
도 7 은 비디오 정보를 코딩하기 위한 프로세스 (700) 의 일 실시형태를 도시한다. 프로세스는 블록 (710) 에서 도시된 것과 같이, 비디오 정보의 제 1 계층을 획득하는 것을 포함할 수도 있다. 그 프로세스는 추가로, 블록 (720) 에 도시된 것과 같이, 제 1 계층에 대하여 비디오 정보의 제 2 계층의 위상 변위 정보를 결정하는 것을 포함할 수 있다. 프로세스 (700) 는 추가로, 위상 변위 정보에 적어도 부분적으로 기초하여 이미지 필터를 선택하는 것을 포함할 수 있다. 또한, 블록 (740) 에서, 프로세스 (700) 는 추가로 선택된 필터를 사용하여 제 1 계층의 수정된 버전을 생성하는 것을 포함할 수 있다. 예를 들어, 일부 실시형태들에서, 제 1 계층은 기본 계층이고, 제 1 계층의 수정된 버전은 제 1 계층의 업샘플링된 버전일 수도 있으며, 여기서 선택된 이미지 필터는 업샘플링 필터이다. 대안적으로, 일부 실시형태들에서, 제 1 계층은 향상 계층이고, 제 1 계층의 수정된 버전은 제 1 계층의 다운샘플링된 버전일 수도 있으며, 여기서 선택된 이미지 필터는 다운샘플링 필터이다.
일 실시형태에서, 위상 정보를 표시하는 플래그는 SPS 에서 시그널링된다. 다른 실시형태들에서, 플래그는 PSS 및 VPS 와 같은 다른 고 레벨 신택스를 사용하여 시그널링될 수 있다. 표 1 은 일 실시형태에 따라 플래그들의 예시적인 세트를 도시한다.
Figure pct00012
luma_phase_flag 는 현재 계층 픽처에서 루마 샘플들의 로케이션들과 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 루마 샘플들의 로케이션들이 대칭적인지 여부를 명시할 수도 있다. 예를 들어, 1 과 동일한 luma_phase_flag 세트는 현재 계층 픽처에서 루마 샘플들의 로케이션들과 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 루마 샘플들의 로케이션들이 (예컨대, 도 6c(b) 에 도시된 것과 같이) 대칭적인 것을 명시할 수 있다. 추가로, 0 과 동일한 luma_phase_flag 는 현재 계층 픽처에서 좌상부 루마 샘플들의 로케이션들과 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 좌상부 루마 샘플들의 로케이션들이 (예컨대, 도 6c(a) 에 도시된 것과 같이) 수직 방향과 수평 방향 양자에서 제로-위상 쉬프트를 가지는 것을 명시할 수 있다. luma_phase_flag 가 제시되지 않을 경우, 0 과 동일한 것으로 추론될 수 있다.
chroma_phase_x_flag 는 프레임 또는 계층 프레임의 1/2 루마 샘플들의 유닛들로 크로마 컴포넌트들의 수평 위상 쉬프트를 명시할 수 있다. chroma_phase_x_flag 가 제시되지 않을 경우, 0 과 동일한 것으로 추론될 수 있다. 위상 쉬프트는 좌상부 크로마 샘플과 좌상부 루마 샘플 간의 공간 변위를 지칭할 수도 있다.
chroma_phase_y 는 프레임 또는 계층 프레임의 1/2 루마 샘플들의 유닛들로 크로마 컴포넌트들의 수직 위상 쉬프트를 명시할 수 있다. chroma_phase_y 가 제시되지 않을 경우, 0 과 동일한 것으로 추론될 수 있다. chroma_phase_y 의 값은 0 부터 2 까지의 범위에 있을 수 있다. 위상 쉬프트는 좌상부 크로마 샘플과 좌상부 루마 샘플 간의 공간 변위를 지칭할 수도 있다.
ref_layer_chroma_phase_x _flag 는 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 1/2 루마 샘플들의 유닛들로 크로마 컴포넌트들의 수평 위상 쉬프트를 명시할 수 있다. ref_layer_chroma_phase_x _flag 가 제시되지 않을 경우, chroma_phase_x_flag 와 동일한 것으로 추론될 수 있다. 위상 쉬프트는 좌상부 크로마 샘플과 좌상부 루마 샘플 간의 공간 변위를 지칭할 수도 있다.
ref_layer_chroma_phase_y 는 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 1/2 루마 샘플들의 유닛들로 크로마 컴포넌트들의 수직 위상 쉬프트를 명시할 수 있다. ref_layer_chroma_phase_y 이 제시되지 않을 경우, chroma_phase_y 과 동일한 것으로 추론될 수 있다. ref_layer_chroma_phase_y 의 값은 0 부터 2 까지의 범위에 있을 수 있다. 위상 쉬프트는 좌상부 크로마 샘플과 좌상부 루마 샘플 간의 공간 변위를 지칭할 수도 있다.
일부 실시형태들에서, 변수들 refWL, refHL, scaledWL, 및 scaledHL 은 다음과 같이 정의될 수 있다:
refWL: 루마 샘플들과 관련하여 참조 계층 픽처의 폭
refHL: 루마 샘플들과 관련하여 참조 계층 픽처의 높이
scaledWL: 루마 샘플들과 관련하여 현재 계층 픽처의 폭
scaledHL: 루마 샘플들과 관련하여 현재 계층 픽처의 높이
일부 실시형태들에서, 변수들 refWC, refHC, scaledWC, 및 scaledHC 은 다음과 같이 정의될 수 있다:
refWC: 크로마 샘플들과 관련하여 참조 계층 픽처의 폭
refHC: 크로마 샘플들과 관련하여 참조 계층 픽처의 높이
scaledWC: 크로마 샘플들과 관련하여 현재 계층 픽처의 폭
scaledHC: 크로마 샘플들과 관련하여 현재 계층 픽처의 높이
일부 실시형태들에서, 변수들 PhaseXL, PhaseYL, refPhaseXC, refPhaseYC, phaseXC 및 phaseYC 은 다음에 의해 유도될 수 있다:
PhaseXL = 2* luma_phase_flag
PhaseYL = 2* luma_phase_flag
refPhaseXL = 2* luma_phase_flag
refPhaseYL = 2* luma_phase_flag
phaseXC = chroma_phase_x _flag + luma_phase_flag
phaseYC = chroma_phase_y + luma_phase_flag
refPhaseXC = ref_layer_chroma_phase_x_flag + luma_phase_flag
refPhaseYC = ref_layer_chroma_phase_y + luma_phase_flag
일부 실시형태들에서, 변수들 shiftX 및 shiftY 은 다음에 의해 유도될 수 있다:
shiftX = 16
shiftY = 16
일부 실시형태들에서, 변수들 refW, refH, phaseX, phaseY, scaledW, scaledH, refPhaseX 및 refPhaseY 은 refWL, refHL, phaseXL, phaseYL, scaledWL, scaledHL, refPhaseXL 및 refPhaseYL 이고 루마 샘플들을 위해 정의될 수 있으며, refWC, refHC, phaseXC, phaseYC, scaledWC, scaledHC, refPhaseXC 및 refPhaseYC 은 크로마 샘플들을 위해 정의될 수 있다.
예를 들어, 변수들 scaleX 및 scaleY 은 다음에 의해 유도될 수 있다:
scaleX = ( ( refW << shiftX ) + ( scaledW >> 1 ) ) / scaledW
scaleY = ( ( refH << shiftY ) + ( scaledH >> 1 ) ) / scaledH
추가로, 변수들 addX 및 deltaX 는 다음에 의해 유도될 수 있다:
addX = ( ( ( refW * phaseX ) << ( shiftX - 2 ) ) + ( scaledW >> 1 ) ) / scaledW + ( 1 << ( shiftX - 5 ) )
deltaX = 4 * refPhaseX
추가로, 변수들 addY 및 deltaY 은 다음에 의해 유도될 수 있다:
addY = ( ( ( refH * phaseY ) << ( shiftY - 2 ) ) + ( scaledH >> 1 ) ) / scaledH + ( 1 << ( shiftY - 5 ) )
deltaY = 4 * refPhaseY
또한, 현재 계층에서 로케이션 (x, y) 에 대하여, (1/16 샘플과 관련하여) 참조 계층 샘플 포지션 ( xRef16, yRef16 ) 는 다음에 의해 유도될 수 있다:
xRef16 = ( ( x * scaleX + addX ) >> ( shiftX - 4 ) ) deltaX
yRef16 = ( ( y * scaleY + addY ) >> ( shiftY - 4 ) ) deltaY
다른 실시형태에서, 루마 샘플들의 다운샘플링에서, 하나의 차원 (예컨대, 수평 차원) 은 비-제로 위상을 사용할 수 있고, 다른 차원 (예컨대, 수직 차원) 은 제로 위상을 사용할 수 있다. 예를 들어, 수평 및 수직 차원들에 대한 위상 정보는 별개로 시그널링될 수도 있다. 표 2 는 이러한 실시형태에 따라 플래그들의 예시적인 세트를 도시한다.
Figure pct00013
luma_phase_x_flag 는 현재 계층 픽처에서 루마 샘플들의 수평 로케이션들과 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 루마 샘플들의 수평 로케이션들이 대칭적인지 여부를 명시할 수 있다. 예를 들어, luma_phase_x_flag 는 현재 계층 픽처에서 루마 샘플들의 수평 로케이션들과 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 루마 샘플들의 수평 로케이션들이 대칭적인 것을 명시할 수 있다. 또한, 0 과 동일하게 설정된 luma_phase_x_flag 는 현재 계층 픽처에서 좌상부 루마 샘플들의 로케이션들과 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 좌상부 루마 샘플들의 로케이션들이 수평 방향에서 제로-위상 쉬프트를 가지는 것을 명시할 수 있다. luma_phase_x_flag 가 제시되지 않을 경우, 0 과 동일한 것으로 추론될 수 있다.
luma_phase_y_flag 는 현재 계층 픽처에서 루마 샘플들의 수직 로케이션들과 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 루마 샘플들의 수직 로케이션들이 대칭적인지 여부를 명시할 수 있다. 예를 들어, 1 과 동일하게 설정된 luma_phase_y_flag 는 현재 계층 픽처에서 루마 샘플들의 수직 로케이션들과 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 루마 샘플들의 수직 로케이션들이 대칭적인 것을 명시할 수 있다. 또한, 0 과 동일하게 설정된 luma_phase_y_flag 는 현재 계층 픽처에서 좌상부 루마 샘플들의 로케이션들과 계층간 예측을 위해 사용될 수도 있는 계층 픽처들에 대한 계층 프레임의 좌상부 루마 샘플들의 로케이션들이 수직 방향에서 제로-위상 쉬프트를 가지는 것을 명시할 수 있다. luma_phase_y_flag 가 제시되지 않을 경우, 0 과 동일한 것으로 추론될 수 있다.
이러한 실시형태에서, 변수들 PhaseXL, PhaseYL, refPhaseXC, refPhaseYC, phaseXC, 및 phaseYC 은 다음에 의해 유도될 수 있다:
PhaseXL = 2* luma_phase_x_flag
PhaseYL = 2* luma_phase_y_flag
refPhaseXL = 2* luma_phase_x_flag
refPhaseYL = 2* luma_phase_y_flag
phaseXC = chroma_phase_x_flag + luma_phase_ x_flag
phaseYC = chroma_phase_y + luma_phase_ y_flag
refPhaseXC = ref_layer_chroma_phase_x_flag + luma_phase_ x_flag
refPhaseYC = ref_layer_chroma_phase_y + luma_phase_y_flag
일부 실시형태들에서, 크로마 샘플링 로케이션 시그널링 변수들 chroma_phase_x_flag, ref_chroma_phase_x_flag, chroma_phase_y 및 ref_chroma_phase_y 에 대하여, 이진 값들이 x 차원 신택스를 위해 사용될 수 있는 반면, y 차원에 대한 신택스 값들은 더 많은 값들을 가질 수 있다. 다른 실시형태에서, 상이한 조합들이 존재할 수 있다. 예를 들어, 크로마 샘플링 로케이션 시그널링 변수들 chroma_phase_x_flag, ref_chroma_phase_x_flag, chroma_phase_y 및 ref_chroma_phase_y 의 각각은 이진 값들일 수 있다. 다른 예에서, 크로마 샘플링 로케이션 시그널링 변수들 chroma_phase_x_flag, ref_chroma_phase_x_flag, chroma_phase_y 및 ref_chroma_phase_y 의 각각은 비-이진의 멀티-레벨 값들을 가질 수 있다. 특히, 크로마 샘플링 로케이션 시그널링 변수들 chroma_phase_x_flag, ref_chroma_phase_x_flag, chroma_phase_y 및 ref_chroma_phase_y 의 각각은 이진 또는 비-이진의 멀티-레벨 값들을 가질 수 있다.
일부 시스템들에서, 각각의 광학 센서의 포지션 (예컨대, 픽셀) 은 작은 변위들을 가질 수도 있고, 중심 픽셀들에 대한 광 경로는 경계 픽셀들과 약간 상이할 수도 있다. 예를 들어, 도 8a 는 1-D 픽셀 어레이에서 픽셀들의 오정렬의 일 예를 도시한다. 픽셀 정보의 오정렬의 일 예의 개략도 특히, 기기 장애로 인해, 픽셀 2 및 픽셀 3 이 오정렬된다. 십진수-2 다운샘플링을 수행할 경우, 픽셀들 1, 3 및 5 가 획득되며, 이들은 상대적으로 정렬된다. 그러나, 기본 계층은 도 8b 에 도시된 것과 같이, 계층간 참조 픽처, 이원 위상 정렬 업샘플링, 오정렬 결과들을 위해 사용된다. 업샘플링된 픽셀들 24 은 이러한 예에서 픽셀들 2 및 4 의 원래 포지션과 오정렬된다. 따라서, 원래의 픽셀을 예측하기 위해 오정렬된 픽셀들을 사용하는 것은 향상 계층 코딩 효율에 부정적으로 영향을 줄 것이다.
일부 실시형태들에서, 각 라인 및 컬럼의 위상 오정렬이 예컨대, SPS 를 사용하여 시그널링될 수 있다. 향상 계층 디코더는 더 양호한 예측을 위해 시그널링된 정보를 사용하여 위상 차이들을 조정할 수 있다. 또한, 위상 정보는 오버헤드를 감소시키기 위해 압축될 수 있다.
일부 실시형태들에서, 위상 오정렬은 각 라인 및 각 컬럼 내에서 유사할 수도 있다. 그러나, 이미징 디바이스가 이종 위상 정렬을 가지는 것으로 나타난다면, 위상 정렬 정보는 x 픽셀 좌표들 및 y 픽셀 좌표들로부터 위상 오프셋들로의 함수 맵핑으로서 모델링될 수 있다. 이러한 함수의 형태는 매우 유연할 수 있고, 예컨대 다항식일 수 있다. 함수의 계수들은 오프라인으로 추정되고 SPS 와 함께 시그널링될 수 있다.
디코더 측에서, 디코더는 각 픽셀에 대한 위상 오프셋을 계산하거나, 이에 따라 업샘플링 절차를 변경시켜 더 양호한 예측 신호를 획득할 수 있다.
전술된 것과 같이, 일부 실시형태들에서, 크로마 샘플링 로케이션 정보에 대한 신택스 엘리먼트들이 존재한다: chroma_phase_x_flag, chroma_phase_y, ref_chroma_phase_x_flag, 및 ref_chroma_phase_y. 현재 계층과 그 참조 계층에 대한 크로마 샘플링 포지션 정보는 각 계층에 대하여 시그널링될 수 있다.
다른 실시형태들에서, 비디오 신호들은 다수의 컴포넌트들을 가질 수 있다. 예를 들어, 그 컴포넌트들은 Y, U 및 V 컴포넌트들일 수 있다. 또한, 컴포넌트들의 샘플링 밀도는 상이할 수 있다. 예를 들어, 4:2:0 포맷에서, U 또는 V 의 샘플링 비율은 수평 및 수직 방향들 양자에서 Y 의 1/2 이다. 다시 말해서, 2x2 Y 샘플들은 1U 샘플 및 1V 샘플에 대응한다. 2x2 Y 컴포넌트들 중 좌상부 컴포넌트에 대한 U 또는 V 의 샘플링 포지션들은 상이할 수 있다.
도 9 는 크로마 샘플 포지션들의 일부 예들을 도시한다. 예를 들어, 910 은 크로마 샘플 타입 2 의 일 예이고, 920 은 크로마 샘플 타입 3 의 일 예이고, 930 은 루마 샘플 최상부 필드의 일 예이고, 940 은 크로마 샘플 타입 0 의 일 예이고, 950 은 크로마 샘플 타입 1 의 일 예이고, 960 은 크로마 샘플 타입 4 의 일 예이고, 970 은 크로마 샘플 타입 5 의 일 예이고, 980 은 루마 샘플 최하부 필드의 일 예이다. 도시된 것과 같이, 회색으로 채워진 부분은 최하부 필드 샘플 타입을 나타낼 수도 있는 반면, 전혀 채워지지 않은 부분은 최상부 필드 샘플 타입을 나타낼 수도 있다.
일부 실시형태들에서, 모든 지원되는 계층들에 대하여, 크로마 샘플링 포지션 정보가 VPS 레벨에서 송신된다. 표 3 은 이러한 실시형태에 따라 플래그들의 예시적인 세트를 도시한다.
Figure pct00014
chroma_phase_x _flag[i] 는 CVS 에서 i 로서 계층 인덱스를 갖는 픽처 또는 계층 픽처의 1/2 루마 샘플들의 유닛들로 크로마 컴포넌트들의 수평 위상 쉬프트를 명시할 수 있다. chroma_phase_x_flag 가 제시되지 않을 경우, 0 과 동일한 것으로 추론될 수 있다. 위상 쉬프트는 좌상부 크로마 샘플과 좌상부 루마 샘플 간의 공간 변위를 지칭할 수도 있다.
chroma_phase_y[i] 는 CVS 에서 i 로서 계층 인덱스를 갖는 픽처 또는 계층 픽처의 1/2 루마 샘플들의 유닛들로 크로마 컴포넌트들의 수직 위상 쉬프트를 명시할 수 있다. chroma_phase_y 가 제시되지 않을 경우, 0 과 동일한 것으로 추론될 수 있다. chroma_phase_y 의 값은 0 부터 2 까지의 범위에 있을 수 있다. 위상 쉬프트는 좌상부 크로마 샘플과 좌상부 루마 샘플 간의 공간 변위를 지칭할 수 있다.
다른 실시형태에서, chroma_phase_x_flag 와 chroma_phase_y 의 단일 값들은 모든 계층들에 시그널링되고 적용될 수 있다 (예컨대, 모든 계층들은 동일한 크로마 샘플링 포지션을 가질 수도 있다). 표 4 는 이러한 실시형태에 따라 플래그들의 예시적인 세트를 도시한다.
Figure pct00015
chroma_phase_x _flag 는 CVS 에서 모든 픽처들의 1/2 루마 샘플들의 유닛들로 크로마 컴포넌트들의 수평 위상 쉬프트를 명시할 수 있다. chroma_phase_x_flag 가 제시되지 않을 경우, 0 과 동일한 것으로 추론될 수 있다. 위상 쉬프트는 좌상부 크로마 샘플과 좌상부 루마 샘플 간의 공간 변위를 지칭할 수도 있다.
chroma_phase_y 는 CVS 에서 모든 픽처들의 1/2 루마 샘플들의 유닛들로 크로마 컴포넌트들의 수직 위상 쉬프트를 명시할 수 있다. chroma_phase_y 가 제시되지 않을 경우, 0 과 동일한 것으로 추론될 수 있다. chroma_phase_y 의 값은 0 부터 2 까지의 범위에 있을 수 있다. 위상 쉬프트는 좌상부 크로마 샘플과 좌상부 루마 샘플 간의 공간 변위를 지칭할 수도 있다.
디폴트 적응형 업샘플 필터
표 5 와 표 6 에 리스트된 필터 세트들은 업샘플링 실시형태에서 필터 세트들의 일 예를 제공한다. 리스트된 1 차원 업샘플링 필터는 수평 방향, 수직 방향, 또는 이들 양자에서 사용될 수도 있다. 표 5 및 표 6 에 리스트된 필터 세트들은 예컨대, 어떤 위상 변위 정보도 비트스트림에서 시그널링되지 않는다면, 선택할 디폴트 필터 세트들로서 사용될 수 있다.
Figure pct00016
루마 업샘플링 필터 계수들의 예
Figure pct00017
루마 업샘플링 필터 계수들의 예
적응형 업샘플 필터들 (AUF)
일 실시형태에서, 업샘플링 프로세스에서 사용된 필터 계수들은 비트스트림에서 시그널링될 수 있다. 예를 들어, 필터는 SPS, PPS, 또는 슬라이스 헤더 레벨 신택스에서 시그널링될 수 있다. 필터가 SPS 레벨에서 시그널링될 경우, 시그널링된 필터는 전체 시퀀스에서 디폴트 필터를 대체하는데 사용될 수 있다. 필터가 PPS 또는 슬라이스 헤드 레벨에서 시그널링될 경우, 시그널링된 필터는 대응하는 픽처 또는 슬라이스에서 디폴트 필터를 대체하는데 사용될 수 있다.
업샘플링 필터링 프로세스에서, 필터 세트에서 오직 몇몇의 필터들이 특정 공간 스케일러블 애플리케이션을 위해 활용된다. 일 실시형태에서, 오직 이들 필터들의 계수들만이 시그널링된다. 전술된 샘플링 맵핑 방법은 업샘플링 프로세스에서 수반되는 이들 필터들의 위상을 유도하는데 사용될 수 있다.
일 실시형태에서, 간략화된 버전이 구현될 수 있다. 예를 들어, 오직 비율들 2.0 및 1.5 을 갖는 공간 스케일러빌리티들이 지원되는 것으로 가정한다면, 향상 계층과 기본 계층 간에 공간 비율을 표시하기 위해 인덱스가 SPS 에 시그널링될 수 있다. 신택스는 현재 향상 계층이 공간 스케일러빌리티 계층인지 SNR 스케일러빌리티 계층인지를 나타내기 위한 플래그일 수 있고, 다른 플래그는 공간 비율들 2.0 및 1.5 을 구분할 수 있다.
플래그는 적응형 업샘플링 필터가 인에이블되는지 아니면 대응하는 픽처 또는 슬라이스에 있지 않은지를 나타내기 위해 PPS 또는 슬라이스 헤드에 시그널링될 수 있다. 플래그가 사실일 경우, 관련된 위상의 필터 계수들이 시그널링되고, 그렇지 않으면 디폴트 필터들이 업샘플링 프로세스에서 사용될 수 있다. 대안적으로, 2 개의 플래그들은 적응형 업샘플링 필터가 인에이블 되는지 아니면 특정 방향에 있지 않은지를 나타내기 위해 수평 및 수직 방향들에 대하여 개별적으로 시그널링될 수 있다.
적응형 업샘플링 필터가 인에이블될 경우, 필터 길이 정보 (N) 는 업샘플링 프로세스에서 사용되는 필터 길이를 나타내도록 시그널링될 수 있다.
길이 N 를 갖는 필터에 대하여, 필터 계수들은 coeff[i] 로 표현될 수 있고, i = 0,...,N-1 이다. 일부 실시형태들에서, 오직 N-1 계수들만이 각각의 필터에 대하여 시그널링될 수 있고, 필터의 나머지 하나의 계수는 시그널링되지 않고 디코더 측에서 유도될 수 있다. 그 값은 시그널링될 수 있는 N-1 계수들의 합을 감산한 (1<<filter_norm) 과 동일하고; 여기서 (1<<filter_norm) 는 모든 필터 계수들의 합이고; 통산의 값은 32, 64 및 128 일 수 있다. 일 예로서, 시그널링되지 않도록 선택된 계수는 coeff[(N+1)/2-1+(phase+7)/16] 이고, 이러한 필터의 최대 계수인 것으로 추정된다.
필터 계수들은 특정 종류의 VLC 로 코딩될 수 있다. 일 예는 계수들의 절대값이 지수 골롬 코드 워드로 코딩되는 것이다. 계수가 0 이 아니면, 계수의 부호가 코딩된다. 추가로, 필터 계수들은 또한 디폴트 필터의 계수들로부터 예측될 수 있다. 코딩된 필터 계수들과 디폴트 계수들 간의 차이만이 VLC 코딩된다. 필터 계수들은 또한 이전의 코딩된 필터 코드 계수들로부터 예측될 수 있다. 예를 들어, 수평 방향에 대한 필터 계수들이 먼저 시그널링될 경우, 이들은 수직 방향에 대한 필터 계수들을 예측하는데 사용될 수 있다.
필터 계수들은 수평 및 수직 방향에 대하여 개별적으로 시그널링될 수 있다. 대안적으로, 하나의 필터 세트가 시그널링되고 수평 방향과 수직 방향 양자에 대하여 적용될 수 있다. 추가로, 플래그는 필터가 수평 방향과 수직 방향 간에 공유되는지 여부를 나타내도록 시그널링될 수 있다.
필터의 위상이 0 또는 8 일 경우 필터는 대칭적인 것으로 추정된다. 대칭적인 특징은, 필터 계수들의 오직 1/2 를 시그널링하는데 사용될 수 있고, 이는 길이 N 을 갖는 필터에 대하여 오직 (N+1)/2-1 계수들만이 시그널링되고 나머지 계수들은 유도되는 것을 의미한다. 또한, 필터가 대칭적인 경우, 위상 p1 에 대한 필터와 위상 (16-phase1) 을 갖는 필터는 동일한 계수들을 가질 수 있으며; 하나의 필터는 다른 하나의 필터를 플립 (flip) 함으로써 획득될 수 있다. 대칭적인 특징은, 필터 계수들의 오직 1/2 를 시그널링하는데 사용될 수 있고, 이는 위상 p1 을 갖는 필터와 위상 (16-phase1) 을 갖는 필터 양자가 업샘플링 프로세스에 수반될 경우, 계수들 중 하나만을 시그널링하는 것을 의미한다.
앞서 논의된 것과 같이, 업샘플링 프로세스의 샘플 포지션 맵핑은 특정 애플리케이션들에 대하여 최적이 아닐 수도 있다. 이 경우, 적응형 업샘플링 필터는 위상 변위를 수용하기 위해 사용될 수 있고, 따라서 대칭적 특징이 그러한 애플리케이션에 의해 유지되지 않는다. 본 개시물은 대칭적 특징이 적용되는지 적용되지 않는지 여부를 나타내기 위해 플래그를 시그널링할 것을 제안한다. 필터 계수들은 그에 대응하여 시그널링될 수 있다.
하나 이상의 예들에 있어서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현된다면, 그 기능들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독가능 매체 상으로 저장 또는 전송되고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는, 데이터 저장 매체와 같은 유형의 매체, 또는 예를 들어, 통신 프로토콜에 따라, 일 포지션에서 다른 포지션으로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체에 대응하는 컴퓨터 판독가능 저장 매체들일 포함할 수도 있다. 이러한 방식으로, 컴퓨터 판독 가능한 매체들은 일반적으로 (1) 비-일시적인 유형의 컴퓨터 판독가능 저장 매체들 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는 본 개시물에서 설명된 기술들의 구현을 위한 명령들, 코드 및/또는 데이터 구조들을 취출하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 가용 매체일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수도 있다.
한정이 아닌 예로서, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 원하는 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 저장하는데 이용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속은 컴퓨터 판독가능 매체로서 적절히 칭해진다. 예를 들면, 명령들이 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 이용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체들 및 데이터 저장 매체들은 접속들, 반송파들, 신호들, 또는 다른 일시적 매체들을 포함하는 것이 아니라, 대신에 비-일시적인, 유형의 저장 매체들과 관련되는 것이 이해되어야만 한다. 본원에서 이용된 디스크 (disk) 와 디스크 (disc) 는, 컴팩트 디스크 (CD), 레이저 디스크, 광학 디스크, 디지털 다기능 디스크 (DVD), 플로피 디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크 (disk) 들은 통상 자기적으로 데이터를 재생하는 반면, 디스크 (disc) 들은 레이저들을 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 디지털 신호 프로세서들 (DSP들), 범용 마이크로프로세서들, 주문형 집적회로들 (ASIC들), 필드 프로그래밍가능 로직 어레이들 (FPGA들), 또는 다른 등가의 집적된 또는 별도의 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 본 명세서에서 사용되는 바와 같은 용어 "프로세서" 는 본 명세서에서 설명된 기술들의 구현에 적절한 전술한 구조 또는 임의의 다른 구조 중 임의의 구조를 지칭할 수도 있다. 부가적으로, 일부 양태들에 있어서, 본 명세서에서 설명된 기능은 인코딩 및 디코딩을 위해 구성되고 결합된 코덱에서 통합된 전용 하드웨어 모듈 및/또는 소프트웨어 모듈들 내에 제공될 수도 있다. 또한, 그 기술들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시물의 기술들은 무선 핸드셋, 집적 회로 (IC) 또는 IC들의 세트 (예를 들어, 칩 세트) 를 포함하여 매우 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들이 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 본 개시물에서 설명되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요구하지는 않는다. 오히려, 상기 설명된 바와 같이, 다양한 유닛들은 적절한 소프트웨어 및/또는 펌웨어와 함께 상기 설명된 바와 같은 하나 이상의 프로세서들을 포함하여 코덱 하드웨어 유닛으로 결합되거나 상호작용하는 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 실시형태들이 설명되었다. 이들 및 다른 실시형태들은 하기의 특허청구범위 내에 있다.

Claims (47)

  1. 비디오 정보를 코딩하도록 구성된 디바이스로서,
    비디오 데이터를 저장하도록 구성된 메모리로서, 상기 비디오 데이터는 비디오 정보의 제 1 계층을 포함하는, 상기 메모리; 및
    상기 메모리와 통신하는 프로세서로서, 상기 프로세서는,
    상기 제 1 계층에 대하여 비디오 정보의 제 2 계층의 위상 변위 정보를 결정하고,
    상기 위상 변위 정보에 적어도 부분적으로 기초하여 이미지 필터 세트를 선택하고, 그리고
    상기 제 1 계층과 식별된 상기 이미지 필터 세트를 사용하여 상기 제 1 계층의 수정된 버전을 생성하도록
    구성되는, 상기 프로세서를 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  2. 제 1 항에 있어서,
    상기 제 1 계층은 기본 계층을 포함하고,
    상기 제 2 계층은 향상 계층을 포함하고,
    상기 선택된 이미지 필터 세트는 업샘플링 이미지 필터를 포함하며, 그리고
    상기 프로세서는 추가로, 상기 위상 변위 정보를 시그널링하는 인코딩된 비디오 비트스트림으로부터 추출된 신택스 엘리먼트를 수신하도록 구성되는, 비디오 정보를 코딩하도록 구성된 디바이스.
  3. 제 1 항에 있어서,
    상기 제 1 계층은 향상 계층을 포함하고,
    상기 제 2 계층은 기본 계층을 포함하고,
    상기 선택된 이미지 필터 세트는 다운샘플링 이미지 필터를 포함하며, 그리고
    상기 프로세서는 추가로, 상기 위상 변위 정보를 시그널링하기 위해 인코딩된 비디오 비트스트림에 대한 신택스 엘리먼트를 생성하도록 구성되는, 비디오 정보를 코딩하도록 구성된 디바이스.
  4. 제 1 항에 있어서,
    상기 위상 변위 정보는 상기 제 1 계층에서의 픽셀의 포지션과 상기 제 2 계층에서의 상기 픽셀의 대응하는 포지션 간의 차이를 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  5. 제 1 항에 있어서,
    상기 위상 변위 정보는 상기 제 1 계층과 상기 제 2 계층 간에 제로-위상 관계 또는 대칭적-위상 관계 중 하나를 표시하는 이진 값을 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  6. 제 1 항에 있어서,
    상기 위상 변위 정보는 수평 위상 변위 정보를 표시하기 위한 제 1 신택스 엘리먼트 및 수직 위상 변위 정보를 표시하기 위한 제 2 신택스 엘리먼트를 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  7. 제 6 항에 있어서,
    상기 제 1 신택스 엘리먼트와 상기 제 2 신택스 엘리먼트 중 적어도 하나는 비-이진 값을 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  8. 제 1 항에 있어서,
    상기 프로세서는 추가로,
    상기 위상 변위 정보가 비트스트림에서 시그널링되지 않을 경우, 디폴트 이미지 필터 세트를 선택하고, 그리고
    상기 위상 변위 정보가 비트스트림에서 시그널링될 경우, 상기 위상 변위 정보에 기초하여 이미지 필터 세트를 선택하도록
    구성되는, 비디오 정보를 코딩하도록 구성된 디바이스.
  9. 제 8 항에 있어서,
    상기 디폴트 이미지 필터 세트는 상기 제 1 계층과 상기 제 2 계층 간의 대칭적-위상 관계에 적어도 부분적으로 기초하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  10. 제 8 항에 있어서,
    상기 디폴트 이미지 필터 세트는 상기 제 1 계층과 상기 제 2 계층 간의 제로-위상 관계에 적어도 부분적으로 기초하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  11. 제 1 항에 있어서,
    상기 위상 변위 정보는 정렬 정보를 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  12. 제 11 항에 있어서,
    상기 정렬 정보는 x 픽셀 좌표들과 y 픽셀 좌표들을 위상 오프셋들로 맵핑하는 함수로서 모델링되는, 비디오 정보를 코딩하도록 구성된 디바이스.
  13. 제 1 항에 있어서,
    상기 선택된 이미지 필터 세트는 비트스트림의 부분으로서 시그널링되는 계수들을 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  14. 제 1 항에 있어서,
    상기 선택된 이미지 필터 세트는, 0 의 위상 쉬프트에 대하여 계수들 {0, 0, 0, 64, 0, 0, 0, 0}, 1 의 위상 쉬프트에 대하여 계수들 {0, 1, -3, 63, 4, -2, 1, 0}, 2 의 위상 쉬프트에 대하여 계수들 {0, 2, -6, 61, 9, -3, 1, 0}, 3 의 위상 쉬프트에 대하여 계수들 {-1, 3, -8, 60, 13, -4, 1, 0}, 4 의 위상 쉬프트에 대하여 계수들 {-1, 4, -10, 58, 17, -5, 1, 0}, 5 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 53, 25, -8, 3, -1}, 6 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 50, 29, -9, 3, -1}, 7 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 45, 34, -10, 4, -1}, 8 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 40, 40, -11, 4, -1}, 9 의 위상 쉬프트에 대하여 계수들 {-1, 4, -10, 34, 45, -11, 4, -1}, 10 의 위상 쉬프트에 대하여 계수들 {-1, 3, -9, 29, 50, -11, 4, -1}, 11 의 위상 쉬프트에 대하여 계수들 {-1, 3, -8, 25, 53, -11, 4, -1}, 12 의 위상 쉬프트에 대하여 계수들 {0, 1, -5, 17, 58, -10, 4, -1}, 13 의 위상 쉬프트에 대하여 계수들 {0, 1, -4, 13, 60, -8, 3, -1}, 14 의 위상 쉬프트에 대하여 계수들 {0, 1, -3, 8, 62, -6, 2, 0}, 및 15 의 위상 쉬프트에 대하여 계수들 {0, 1, -2, 4, 63, -3, 1, 0} 을 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  15. 제 1 항에 있어서,
    상기 선택된 이미지 필터 세트는, 0 의 위상 쉬프트에 대하여 계수들 {0, 64, 0, 0}, 1 의 위상 쉬프트에 대하여 계수들 {-2, 62, 4, 0}, 2 의 위상 쉬프트에 대하여 계수들 {-2, 58, 10, -2}, 3 의 위상 쉬프트에 대하여 계수들 {-4, 56, 14, -2}, 4 의 위상 쉬프트에 대하여 계수들 {-4, 54, 16, -2}, 5 의 위상 쉬프트에 대하여 계수들 {-6, 52, 20, -2}, 6 의 위상 쉬프트에 대하여 계수들 {-6, 48, 26, -4}, 7 의 위상 쉬프트에 대하여 계수들 {-4, 42, 30, -4}, 8 의 위상 쉬프트에 대하여 계수들 {-4, 36, 36, -4}, 9 의 위상 쉬프트에 대하여 계수들 {-4, 30, 42, -4}, 10 의 위상 쉬프트에 대하여 계수들 {-4, 26, 48, -6}, 11 의 위상 쉬프트에 대하여 계수들 {-2, 20, 52, -6}, 12 의 위상 쉬프트에 대하여 계수들 {-2, 16, 54, -4}, 13 의 위상 쉬프트에 대하여 계수들 {-2, 14, 56, -4}, 14 의 위상 쉬프트에 대하여 계수들 {-2, 10, 58, -2}, 및 15 의 위상 쉬프트에 대하여 계수들 {0, 4, 62, -2} 을 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  16. 제 1 항에 있어서,
    상기 비디오 정보를 코딩하도록 구성된 디바이스는, 상기 메모리와 상기 프로세서를 포함하는, 데스크탑 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 셋톱 박스, 전화기 핸드셋, 텔레비전, 카메라, 디스플레이 디바이스, 디지털 미디어 플레이어, 비디오 게이밍 콘솔, 및 비디오 스트리밍 디바이스 중 적어도 하나를 더 포함하는, 비디오 정보를 코딩하도록 구성된 디바이스.
  17. 비디오 정보를 디코딩하는 방법으로서,
    비디오 정보의 기본 계층을 획득하는 단계;
    인코딩된 비디오 비트스트림으로부터 추출된 신택스 엘리먼트를 수신하는 단계로서, 상기 신택스 엘리먼트는 향상 계층에 대하여 비디오 정보의 상기 기본 계층의 위상 변위 정보를 포함하는, 상기 신택스 정보를 수신하는 단계;
    상기 위상 변위 정보에 적어도 부분적으로 기초하여 이미지 필터 세트를 선택하는 단계; 및
    상기 기본 계층 및 식별된 상기 이미지 필터 세트를 사용하여 상기 향상 계층의 업샘플링된 버전을 생성하는 단계를 포함하는, 비디오 정보를 디코딩하는 방법.
  18. 제 17 항에 있어서,
    상기 위상 변위 정보는 상기 향상 계층에서의 픽셀의 포지션과 상기 기본 계층에서의 상기 픽셀의 대응하는 포지션 간의 차이를 포함하는, 비디오 정보를 디코딩하는 방법.
  19. 제 17 항에 있어서,
    상기 위상 변위 정보는 상기 향상 계층과 상기 기본 계층 간에 제로-위상 관계 또는 대칭적-위상 관계 중 하나를 표시하는 이진 값을 포함하는, 비디오 정보를 디코딩하는 방법.
  20. 제 17 항에 있어서,
    상기 수신된 신택스 엘리먼트는 수평 위상 변위 정보를 표시하는 제 1 신택스 엘리먼트 및 수직 위상 변위 정보를 표시하는 제 2 신택스 엘리먼트를 포함하는, 비디오 정보를 디코딩하는 방법.
  21. 제 20 항에 있어서,
    상기 제 1 신택스 엘리먼트와 상기 제 2 신택스 엘리먼트 중 적어도 하나는 비-이진 값을 포함하는, 비디오 정보를 디코딩하는 방법.
  22. 제 17 항에 있어서,
    상기 위상 변위 정보가 비트스트림에서 시그널링되지 않을 경우, 디폴트 이미지 필터 세트를 선택하는 단계; 및
    상기 위상 변위 정보가 비트스트림에서 시그널링될 경우, 상기 위상 변위 정보에 기초하여 이미지 필터 세트를 선택하는 단계를 더 포함하는, 비디오 정보를 디코딩하는 방법.
  23. 제 22 항에 있어서,
    상기 디폴트 이미지 필터 세트는 상기 향상 계층과 상기 기본 계층 간의 대칭적-위상 관계에 적어도 부분적으로 기초하는, 비디오 정보를 디코딩하는 방법.
  24. 제 22 항에 있어서,
    상기 디폴트 이미지 필터 세트는 상기 향상 계층과 상기 기본 계층 간의 제로-위상 관계에 적어도 부분적으로 기초하는, 비디오 정보를 디코딩하는 방법.
  25. 제 17 항에 있어서,
    상기 위상 변위 정보는 정렬 정보를 포함하는, 비디오 정보를 디코딩하는 방법.
  26. 제 17 항에 있어서,
    정렬 정보는 x 픽셀 좌표들과 y 픽셀 좌표들을 위상 오프셋들로 맵핑하는 함수로서 모델링되는, 비디오 정보를 디코딩하는 방법.
  27. 제 17 항에 있어서,
    상기 선택된 이미지 필터 세트는 비트스트림의 부분으로서 시그널링되는 계수들을 포함하는, 비디오 정보를 디코딩하는 방법.
  28. 제 17 항에 있어서,
    상기 선택된 이미지 필터 세트는, 0 의 위상 쉬프트에 대하여 계수들 {0, 0, 0, 64, 0, 0, 0, 0}, 1 의 위상 쉬프트에 대하여 계수들 {0, 1, -3, 63, 4, -2, 1, 0}, 2 의 위상 쉬프트에 대하여 계수들 {0, 2, -6, 61, 9, -3, 1, 0}, 3 의 위상 쉬프트에 대하여 계수들 {-1, 3, -8, 60, 13, -4, 1, 0}, 4 의 위상 쉬프트에 대하여 계수들 {-1, 4, -10, 58, 17, -5, 1, 0}, 5 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 53, 25, -8, 3, -1}, 6 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 50, 29, -9, 3, -1}, 7 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 45, 34, -10, 4, -1}, 8 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 40, 40, -11, 4, -1}, 9 의 위상 쉬프트에 대하여 계수들 {-1, 4, -10, 34, 45, -11, 4, -1}, 10 의 위상 쉬프트에 대하여 계수들 {-1, 3, -9, 29, 50, -11, 4, -1}, 11 의 위상 쉬프트에 대하여 계수들 {-1, 3, -8, 25, 53, -11, 4, -1}, 12 의 위상 쉬프트에 대하여 계수들 {0, 1, -5, 17, 58, -10, 4, -1}, 13 의 위상 쉬프트에 대하여 계수들 {0, 1, -4, 13, 60, -8, 3, -1}, 14 의 위상 쉬프트에 대하여 계수들 {0, 1, -3, 8, 62, -6, 2, 0}, 및 15 의 위상 쉬프트에 대하여 계수들 {0, 1, -2, 4, 63, -3, 1, 0} 을 포함하는, 비디오 정보를 디코딩하는 방법.
  29. 제 17 항에 있어서,
    상기 선택된 이미지 필터 세트는, 0 의 위상 쉬프트에 대하여 계수들 {0, 64, 0, 0}, 1 의 위상 쉬프트에 대하여 계수들 {-2, 62, 4, 0}, 2 의 위상 쉬프트에 대하여 계수들 {-2, 58, 10, -2}, 3 의 위상 쉬프트에 대하여 계수들 {-4, 56, 14, -2}, 4 의 위상 쉬프트에 대하여 계수들 {-4, 54, 16, -2}, 5 의 위상 쉬프트에 대하여 계수들 {-6, 52, 20, -2}, 6 의 위상 쉬프트에 대하여 계수들 {-6, 48, 26, -4}, 7 의 위상 쉬프트에 대하여 계수들 {-4, 42, 30, -4}, 8 의 위상 쉬프트에 대하여 계수들 {-4, 36, 36, -4}, 9 의 위상 쉬프트에 대하여 계수들 {-4, 30, 42, -4}, 10 의 위상 쉬프트에 대하여 계수들 {-4, 26, 48, -6}, 11 의 위상 쉬프트에 대하여 계수들 {-2, 20, 52, -6}, 12 의 위상 쉬프트에 대하여 계수들 {-2, 16, 54, -4}, 13 의 위상 쉬프트에 대하여 계수들 {-2, 14, 56, -4}, 14 의 위상 쉬프트에 대하여 계수들 {-2, 10, 58, -2}, 및 15 의 위상 쉬프트에 대하여 계수들 {0, 4, 62, -2} 을 포함하는, 비디오 정보를 디코딩하는 방법.
  30. 비디오 정보를 인코딩하는 방법으로서,
    비디오 정보의 향상 계층을 획득하는 단계;
    다운샘플링 이미지 필터 세트를 선택하는 단계;
    상기 향상 계층과 상기 선택된 이미지 필터 세트를 사용하여 기본 계층을 생성하는 단계; 및
    상기 향상 계층에 대하여 상기 기본 계층의 위상 변위 정보를 포함하는 신택스 엘리먼트를 생성하는 단계를 포함하는, 비디오 정보를 인코딩하는 방법.
  31. 제 30 항에 있어서,
    상기 위상 변위 정보는 상기 향상 계층에서의 픽셀의 포지션과 상기 기본 계층에서의 상기 픽셀의 대응하는 포지션 간의 차이를 포함하는, 비디오 정보를 인코딩하는 방법.
  32. 제 30 항에 있어서,
    상기 위상 변위 정보는 상기 향상 계층과 상기 기본 계층 간에 제로-위상 관계 또는 대칭적-위상 관계 중 하나를 표시하는 이진 값을 포함하는, 비디오 정보를 인코딩하는 방법.
  33. 제 30 항에 있어서,
    상기 생성된 신택스 엘리먼트는 수평 위상 변위 정보를 표시하는 제 1 신택스 엘리먼트 및 수직 위상 변위 정보를 표시하는 제 2 신택스 엘리먼트를 포함하는, 비디오 정보를 인코딩하는 방법.
  34. 제 33 항에 있어서,
    상기 제 1 신택스 엘리먼트와 상기 제 2 신택스 엘리먼트 중 적어도 하나는 비-이진 값을 포함하는, 비디오 정보를 인코딩하는 방법.
  35. 제 30 항에 있어서,
    상기 선택된 이미지 필터 세트는 상기 향상 계층과 상기 기본 계층 간의 대칭적-위상 관계에 적어도 부분적으로 기초하는 디폴트 이미지 필터 세트인, 비디오 정보를 인코딩하는 방법.
  36. 제 30 항에 있어서,
    상기 선택된 이미지 필터 세트는 상기 향상 계층과 상기 기본 계층 간의 제로-위상 관계에 적어도 부분적으로 기초하는 디폴트 이미지 필터 세트인, 비디오 정보를 인코딩하는 방법.
  37. 제 30 항에 있어서,
    상기 위상 변위 정보는 정렬 정보를 포함하는, 비디오 정보를 인코딩하는 방법.
  38. 제 30 항에 있어서,
    정렬 정보는 x 픽셀 좌표들과 y 픽셀 좌표들을 위상 오프셋들로 맵핑하는 함수로서 모델링되는, 비디오 정보를 인코딩하는 방법.
  39. 제 30 항에 있어서,
    상기 선택된 이미지 필터 세트는 비트스트림의 부분으로서 시그널링되는 계수들을 포함하는, 비디오 정보를 인코딩하는 방법.
  40. 제 30 항에 있어서,
    상기 선택된 이미지 필터 세트는, 0 의 위상 쉬프트에 대하여 계수들 {0, 0, 0, 64, 0, 0, 0, 0}, 1 의 위상 쉬프트에 대하여 계수들 {0, 1, -3, 63, 4, -2, 1, 0}, 2 의 위상 쉬프트에 대하여 계수들 {0, 2, -6, 61, 9, -3, 1, 0}, 3 의 위상 쉬프트에 대하여 계수들 {-1, 3, -8, 60, 13, -4, 1, 0}, 4 의 위상 쉬프트에 대하여 계수들 {-1, 4, -10, 58, 17, -5, 1, 0}, 5 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 53, 25, -8, 3, -1}, 6 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 50, 29, -9, 3, -1}, 7 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 45, 34, -10, 4, -1}, 8 의 위상 쉬프트에 대하여 계수들 {-1, 4, -11, 40, 40, -11, 4, -1}, 9 의 위상 쉬프트에 대하여 계수들 {-1, 4, -10, 34, 45, -11, 4, -1}, 10 의 위상 쉬프트에 대하여 계수들 {-1, 3, -9, 29, 50, -11, 4, -1}, 11 의 위상 쉬프트에 대하여 계수들 {-1, 3, -8, 25, 53, -11, 4, -1}, 12 의 위상 쉬프트에 대하여 계수들 {0, 1, -5, 17, 58, -10, 4, -1}, 13 의 위상 쉬프트에 대하여 계수들 {0, 1, -4, 13, 60, -8, 3, -1}, 14 의 위상 쉬프트에 대하여 계수들 {0, 1, -3, 8, 62, -6, 2, 0}, 및 15 의 위상 쉬프트에 대하여 계수들 {0, 1, -2, 4, 63, -3, 1, 0} 을 포함하는, 비디오 정보를 인코딩하는 방법.
  41. 제 30 항에 있어서,
    상기 선택된 이미지 필터 세트는, 0 의 위상 쉬프트에 대하여 계수들 {0, 64, 0, 0}, 1 의 위상 쉬프트에 대하여 계수들 {-2, 62, 4, 0}, 2 의 위상 쉬프트에 대하여 계수들 {-2, 58, 10, -2}, 3 의 위상 쉬프트에 대하여 계수들 {-4, 56, 14, -2}, 4 의 위상 쉬프트에 대하여 계수들 {-4, 54, 16, -2}, 5 의 위상 쉬프트에 대하여 계수들 {-6, 52, 20, -2}, 6 의 위상 쉬프트에 대하여 계수들 {-6, 48, 26, -4}, 7 의 위상 쉬프트에 대하여 계수들 {-4, 42, 30, -4}, 8 의 위상 쉬프트에 대하여 계수들 {-4, 36, 36, -4}, 9 의 위상 쉬프트에 대하여 계수들 {-4, 30, 42, -4}, 10 의 위상 쉬프트에 대하여 계수들 {-4, 26, 48, -6}, 11 의 위상 쉬프트에 대하여 계수들 {-2, 20, 52, -6}, 12 의 위상 쉬프트에 대하여 계수들 {-2, 16, 54, -4}, 13 의 위상 쉬프트에 대하여 계수들 {-2, 14, 56, -4}, 14 의 위상 쉬프트에 대하여 계수들 {-2, 10, 58, -2}, 및 15 의 위상 쉬프트에 대하여 계수들 {0, 4, 62, -2} 을 포함하는, 비디오 정보를 인코딩하는 방법.
  42. 비디오 비트스트림을 코딩하는 장치로서,
    비디오 정보의 향상 계층을 획득하는 수단;
    상기 향상 계층에 대하여 비디오 정보의 기본 계층의 위상 변위 정보를 포함하는 신택스 엘리먼트를 생성하는 수단;
    상기 위상 변위 정보에 적어도 부분적으로 기초하여 이미지 필터 세트를 선택하는 수단;
    상기 향상 계층과 식별된 상기 이미지 필터 세트를 사용하여 상기 향상 계층의 다운샘플링된 버전을 생성하는 수단; 및
    상기 향상 계층의 상기 다운샘플링된 버전을 저장하는 수단을 포함하는, 비디오 비트스트림을 코딩하는 장치.
  43. 제 42 항에 있어서,
    상기 위상 변위 정보는 상기 향상 계층에서의 픽셀의 포지션과 상기 기본 계층에서의 상기 픽셀의 대응하는 포지션 간의 차이를 포함하는, 비디오 비트스트림을 코딩하는 장치.
  44. 제 42 항에 있어서,
    상기 위상 변위 정보는 상기 향상 계층과 상기 기본 계층 간에 제로-위상 관계 또는 대칭적-위상 관계 중 하나를 표시하는 이진 값을 포함하는, 비디오 비트스트림을 코딩하는 장치.
  45. 명령들을 저장한 비-일시적 컴퓨터 판독가능 매체로서,
    상기 명령들은, 프로세서에 의해 실행될 경우, 상기 프로세서로 하여금,
    비디오 정보의 기본 계층을 획득하게 하고;
    인코딩된 비디오 비트스트림으로부터 추출된 신택스 엘리먼트를 수신하게 하는 것으로서, 상기 신택스 엘리먼트는 향상 계층에 대하여 비디오 정보의 상기 기본 계층의 위상 변위 정보를 포함하는, 상기 신택스 정보를 수신하게 하고;
    상기 위상 변위 정보에 적어도 부분적으로 기초하여 이미지 필터 세트를 선택하게 하며; 그리고
    상기 향상 계층 및 식별된 상기 이미지 필터 세트를 사용하여 상기 향상 계층의 업샘플링된 버전을 생성하게 하는, 비-일시적 컴퓨터 판독가능 매체.
  46. 제 45 항에 있어서,
    상기 위상 변위 정보는 상기 향상 계층에서의 픽셀의 포지션과 상기 기본 계층에서의 상기 픽셀의 대응하는 포지션 간의 차이를 포함하는, 비-일시적 컴퓨터 판독가능 매체.
  47. 제 45 항에 있어서,
    상기 위상 변위 정보는 상기 향상 계층과 상기 기본 계층 간에 제로-위상 관계 또는 대칭적-위상 관계 중 하나를 표시하는 이진 값을 포함하는, 비-일시적 컴퓨터 판독가능 매체.
KR1020157008572A 2012-09-04 2013-09-04 스케일러블 비디오 코딩에서 다운샘플링 위상 정보의 시그널링 KR20150052248A (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201261696722P 2012-09-04 2012-09-04
US61/696,722 2012-09-04
US201361808467P 2013-04-04 2013-04-04
US61/808,467 2013-04-04
US201361814243P 2013-04-20 2013-04-20
US61/814,243 2013-04-20
US14/017,169 US10448032B2 (en) 2012-09-04 2013-09-03 Signaling of down-sampling location information in scalable video coding
US14/017,169 2013-09-03
PCT/US2013/058050 WO2014039547A1 (en) 2012-09-04 2013-09-04 Signaling of down-sampling phase information in scalable video coding

Publications (1)

Publication Number Publication Date
KR20150052248A true KR20150052248A (ko) 2015-05-13

Family

ID=50187598

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157008572A KR20150052248A (ko) 2012-09-04 2013-09-04 스케일러블 비디오 코딩에서 다운샘플링 위상 정보의 시그널링

Country Status (5)

Country Link
US (1) US10448032B2 (ko)
JP (2) JP6342402B2 (ko)
KR (1) KR20150052248A (ko)
CN (1) CN104718752B (ko)
WO (1) WO2014039547A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021177735A1 (ko) * 2020-03-04 2021-09-10 인텔렉추얼디스커버리 주식회사 비디오 코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130000334A (ko) 2011-06-15 2013-01-02 광운대학교 산학협력단 스케일러블 비디오 코딩 및 디코딩 방법과 이를 이용한 장치
WO2014144559A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Adaptive sampling filter process for scalable video coding
US9503733B2 (en) 2013-04-10 2016-11-22 ARRIS Enterprises, LLC Re-sampling with phase offset adjustment for luma and chroma to signal adaptive filters in scalable video coding
US9510001B2 (en) 2013-07-09 2016-11-29 Electronics And Telecommunications Research Institute Video decoding method and apparatus using the same
MX360947B (es) 2014-01-03 2018-10-29 Arris Entpr Llc Sintaxis de extensión condicionalmente analizada para procesamiento de extensión hevc.
CN106464890A (zh) * 2014-03-14 2017-02-22 三星电子株式会社 可伸缩视频编码/解码方法和设备
US20150271495A1 (en) * 2014-03-18 2015-09-24 Arris Enterprises, Inc. Scalable Video Coding using Phase Offset Flag Signaling
EP3120562B1 (en) * 2014-03-18 2020-03-04 ARRIS Enterprises LLC Scalable video coding using reference and scaled reference layer offsets
CA2943121C (en) * 2014-03-18 2020-09-08 Arris Enterprises Llc Scalable video coding using reference and scaled reference layer offsets
WO2015168581A1 (en) 2014-05-01 2015-11-05 Arris Enterprises, Inc. Reference layer and scaled reference layer offsets for scalable video coding
MX368227B (es) 2014-05-30 2019-09-25 Arris Entpr Llc Parámetros de compensación de capa de referencia para predicción inter-capa en codificación de video escalable.
EP3371975B1 (en) * 2015-11-02 2021-01-06 Dolby Laboratories Licensing Corporation Piecewise-linear inter-layer predictor for high-dynamic range video coding
GB2552353B (en) * 2016-07-20 2022-04-20 V Nova Int Ltd Apparatuses, methods, computer programs and computer-readable media
US10063612B2 (en) * 2016-09-30 2018-08-28 Amazon Technologies, Inc. Request-based encoding for streaming content portions
CN109257605B (zh) * 2017-07-13 2021-11-19 华为技术有限公司 图像处理方法、设备及系统
JP2021005741A (ja) * 2017-09-14 2021-01-14 シャープ株式会社 画像符号化装置及び画像復号装置
US10701402B2 (en) * 2017-10-02 2020-06-30 Arris Enterprises Llc System and method for reducing blocking artifacts and providing improved coding efficiency
EP3579553B1 (en) * 2018-06-05 2020-05-20 Axis AB A method, controller, and system for encoding a sequence of video frames
US10972744B2 (en) * 2018-11-12 2021-04-06 Analog Devices International Unlimited Company Image scaling
WO2021051044A1 (en) 2019-09-14 2021-03-18 Bytedance Inc. Quantization parameter offset for chroma deblocking filtering
US11356707B2 (en) * 2019-09-23 2022-06-07 Qualcomm Incorporated Signaling filters for video processing
WO2021072177A1 (en) * 2019-10-09 2021-04-15 Bytedance Inc. Cross-component adaptive loop filtering in video coding
KR20220073746A (ko) 2019-10-14 2022-06-03 바이트댄스 아이엔씨 비디오 처리에서 크로마 양자화 파라미터 사용
JP2023504574A (ja) 2019-12-09 2023-02-03 バイトダンス インコーポレイテッド ビデオコーディングにおける量子化グループの使用
CN114902657A (zh) 2019-12-31 2022-08-12 字节跳动有限公司 视频编解码中的自适应颜色变换

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060105407A (ko) * 2005-04-01 2006-10-11 엘지전자 주식회사 영상 신호의 스케일러블 인코딩 및 디코딩 방법
KR100679011B1 (ko) 2004-07-15 2007-02-05 삼성전자주식회사 기초 계층을 이용하는 스케일러블 비디오 코딩 방법 및 장치
US7961963B2 (en) 2005-03-18 2011-06-14 Sharp Laboratories Of America, Inc. Methods and systems for extended spatial scalability with picture-level adaptation
US8175168B2 (en) 2005-03-18 2012-05-08 Sharp Laboratories Of America, Inc. Methods and systems for picture up-sampling
JP2008536414A (ja) * 2005-04-13 2008-09-04 ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー ビデオの拡張された符号化方法及び装置
WO2007080477A2 (en) 2006-01-10 2007-07-19 Nokia Corporation Switched filter up-sampling mechanism for scalable video coding
US8320460B2 (en) 2006-09-18 2012-11-27 Freescale, Semiconductor, Inc. Dyadic spatial re-sampling filters for inter-layer texture predictions in scalable image processing
EP2011341A4 (en) 2006-11-09 2010-01-13 Lg Electronics Inc METHOD AND DEVICE FOR DECODING / CODING A VIDEO SIGNAL
US8054886B2 (en) 2007-02-21 2011-11-08 Microsoft Corporation Signaling and use of chroma sample positioning information
EP2048886A1 (en) * 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
JP2008103774A (ja) 2008-01-18 2008-05-01 Opnext Japan Inc 高周波光伝送モジュールおよび光伝送器
KR101066117B1 (ko) 2009-11-12 2011-09-20 전자부품연구원 스케일러블 영상 코딩 방법 및 장치
CN101895748B (zh) 2010-06-21 2014-03-26 华为终端有限公司 一种编解码方法以及编解码装置
ES2703628T3 (es) 2012-02-29 2019-03-11 Lg Electronics Inc Método de predicción intercapa y aparato que hace uso del mismo
TWI674792B (zh) * 2012-08-06 2019-10-11 美商Vid衡器股份有限公司 在多層視訊編碼中空間層取樣格網資訊

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021177735A1 (ko) * 2020-03-04 2021-09-10 인텔렉추얼디스커버리 주식회사 비디오 코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체

Also Published As

Publication number Publication date
JP2018110412A (ja) 2018-07-12
US10448032B2 (en) 2019-10-15
CN104718752B (zh) 2018-08-28
CN104718752A (zh) 2015-06-17
US20140064386A1 (en) 2014-03-06
WO2014039547A1 (en) 2014-03-13
JP6342402B2 (ja) 2018-06-13
JP2015527028A (ja) 2015-09-10

Similar Documents

Publication Publication Date Title
US10448032B2 (en) Signaling of down-sampling location information in scalable video coding
US9344718B2 (en) Adaptive up-sampling filter for scalable video coding
KR101881239B1 (ko) 멀티-계층 비디오 코덱들에 대한 레벨 정의들
EP2859722B1 (en) Adaptive upsampling filters for video compression
KR101628582B1 (ko) 내부 뷰 모션 예측 (ivmp) 모드를 지원하는 mvc 기반 3dvc 코덱
KR101937522B1 (ko) Shvc 에서 리샘플링 프로세스의 조건적 호출
JP6333942B2 (ja) ビデオ情報のスケーラブルコード化のための装置及び方法
TWI527440B (zh) 在視訊寫碼中針對高效率視訊寫碼(hevc)延伸之多層之低複雜度支援
KR102188488B1 (ko) 스케일러블 비디오 코딩을 위한 예측 모드 정보 업샘플링
US20140198846A1 (en) Device and method for scalable coding of video information
KR20180063201A (ko) 비디오 코딩을 위한 위치-의존적인 예측 결합을 이용한 향상된 비디오 인트라-예측
KR20160022345A (ko) 인터-컴포넌트 필터링
ES2886344T3 (es) Predicción residual generalizada para codificación de vídeo escalable y codificación de vídeo 3D
KR20160026981A (ko) 멀티-레이어 비디오 코딩을 위한 레이어간 예측 시그널링에 대한 최적화들
JP2016506683A (ja) ビデオ情報のスケーラブル及びマルチビュー/3dコード化のための機器及び方法
KR20160145076A (ko) 멀티 계층 코딩에서의 컨포먼스 윈도우 정보
KR20150138308A (ko) Shvc 를 위한 다수의 기초 계층 참조 화상
KR20150140753A (ko) 비디오 정보의 스케일러블 코딩을 위한 디바이스 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2020101002693; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20201105

Effective date: 20210420