KR101632130B1 - 인트라 모드 코딩에서 레퍼런스 모드 선택 - Google Patents

인트라 모드 코딩에서 레퍼런스 모드 선택 Download PDF

Info

Publication number
KR101632130B1
KR101632130B1 KR1020147016425A KR20147016425A KR101632130B1 KR 101632130 B1 KR101632130 B1 KR 101632130B1 KR 1020147016425 A KR1020147016425 A KR 1020147016425A KR 20147016425 A KR20147016425 A KR 20147016425A KR 101632130 B1 KR101632130 B1 KR 101632130B1
Authority
KR
South Korea
Prior art keywords
intra prediction
prediction mode
highest probability
mode
video
Prior art date
Application number
KR1020147016425A
Other languages
English (en)
Other versions
KR20140092405A (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 KR20140092405A publication Critical patent/KR20140092405A/ko
Application granted granted Critical
Publication of KR101632130B1 publication Critical patent/KR101632130B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

비디오 코더는, 현재의 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하고, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드에 기초하여, 현재 비디오 블록을 코딩하는데 사용되는 실제 인트라 예측 모드의 추정을 결정할 수 있다. 상기 실제 인트라 예측 모드의 추정은, 상기 제 1 최고 확률 모드 및 상기 제 2 최고 확률 모드 양자 모두가 상이한 각도 예측 모드들인 것에 응답하여, 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 모드 및 상기 제 2 최고 확률 모드 중 하나를 선택하는 것에 의해 결정될 수 있다. 실제 인트라 예측 모드의 추정 뿐만 아니라 차이 정보도, 현재 비디오 블록을 코딩하는데 사용된 실제 인트라 예측 모드를 식별하는데 사용될 수 있다.

Description

인트라 모드 코딩에서 레퍼런스 모드 선택{REFERENCE MODE SELECTION IN INTRA MODE CODING}
본원은 2011년 11월 18일자로 출원된 U.S. 가출원 61/561,803 및 2011년 11월 18일자로 출원된 U.S. 가출원 61/561,819의 혜택을 주장하며, 각각의 전체 내용은 참조에 의해 본원에 포함된다.
기술 분야
본 개시는 비디오 코딩에 관한 것이고, 보다 상세하게는, 코딩된 비디오 데이터를 위한 인트라 예측 모드들의 시그널링에 관한 것이다.
디지털 비디오 능력들은 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, 개인 휴대정보 단말기 (PDA) 들, 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 리코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화기들, 원격 화상회의 디바이스들 등을 포함한, 광범위한 디바이스들에 포함될 수 있다. 디지털 비디오 디바이스들은, MPEG-2, MPEG-4, ITU-T H.263 또는 ITU-T H.264/MPEG-4, Part 10, AVC (Advanced Video Coding) 에 의해 정의되는 표준들, 그리고 그러한 표준들의 확장들에서 설명된 것들과 같은 비디오 압축 기법들을 구현하여, 디지털 비디오 정보를 더 효율적으로 송신 및 수신한다.
비디오 압축 기법들은 공간 예측 및/또는 시간 예측을 수행하여 비디오 시퀀스들에 내재하는 중복성 (redundancy) 을 감소 또는 제거한다. 블록 기반의 비디오 코딩에 있어, 비디오 프레임 또는 슬라이스는 비디오 블록들로 파티셔닝될 수도 있다. 각각의 비디오 블록은 더욱 파티셔닝될 수 있다. 인트라 코딩된 (I) 프레임 또는 슬라이스에서의 비디오 블록들은 이웃하는 비디오 블록들에 대한 공간 예측을 이용하여 인코딩된다. 인터 코딩된 (P 또는 B) 프레임 또는 슬라이스에서의 비디오 블록들은 동일한 프레임 또는 슬라이스에서의 이웃하는 매크로블록들 또는 코딩 유닛들에 대한 공간 예측 또는 다른 레퍼런스 프레임들에 대한 시간 예측을 이용할 수도 있다.
요약
일반적으로, 본 개시는, 코딩된 비디오 데이터에 대한 코딩 특성들을 시그널링하고 그 시그널링을 프로세싱하는 기법들을 기술하고, 보다 상세하게는, 본 개시는 비디오 데이터의 인코딩된 비트스트림에서 인트라 예측 모드들을 시그널링하고 그 시그널링을 프로세싱하는 기법들을 기술한다. 비디오 코딩에서, 현재 코딩되는 (인코딩되거나 또는 디코딩되는) 비디오 데이터의 블록은, 이전 코딩된 화상들의 비디오 블록들로부터 예측 (즉, 인터 예측) 될 수 있거나, 동일한 화상의 이미 코딩된 비디오 블록들로부터 예측 (즉, 인트라 예측) 될 수 있다. 비디오 블록이 인트라 예측될 때, 때때로 인트라 예측의 모드는, 명시적으로 시그널링되는 실제 인트라 예측 모드와 반대로, 추정된 실제 인트라 예측 모드와 실제 인트라 예측 모드 사이의 차이로서 시그널링된다. 실제 인트라 예측 모드가 보통, 추정된 인트라 예측 모드에 가깝다고 상정하면, VLC (variable length coding) 기법들을 사용하여, 실제 인트라 예측 모드는 상대적으로 적은 비트들을 사용하여 시그널링될 수 있다. 본 개시의 기법들은, 일부 경우들에서, 비디오 데이터의 블록을 인트라 코딩하는데 사용되는 인트라 예측 모드의 시그널링을 위한 효율을, 일부 코딩 시나리오들에서, 실제 인트라 예측 모드들에 더 가까운 추정된 인트라 예측 모드들을 결정함으로써, 향상시킬 수도 있다.
하나의 예에서, 비디오 데이터를 코딩하는 방법은 현재의 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하는 단계; 및 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드에 기초하여, 현재 비디오 블록을 코딩하는데 사용되는 실제 인트라 예측 모드의 추정 (estimate) 을 결정하는 단계를 포함한다. 실제 인트라 예측 모드의 추정을 결정하는 단계는, 제 1 최고 확률 모드가 각도 인트라 예측 모드 (angular intra prediction mode) 이고 제 2 최고 확률 모드가 비각도 인트라 예측 모드 (non-angular intra prediction mode) 임에 응답하여, 실제 인트라 예측 모드의 추정으로서 제 1 최고 확률 모드를 선택하는 단계; 및 제 1 최고 확률 모드 및 제 2 최고 확률 모드 양자 모두가 상이한 각도 예측 모드들임에 응답하여, 실제 인트라 예측의 추정으로서 제 1 최고 확률 모드 및 제 2 최고 확률 모드 중 하나를 선택하는 단계를 포함한다.
다른 예에서, 비디오 데이터를 코딩하기 위한 디바이스는 현재의 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하도록 구성된 비디오 코더 및 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드에 기초하여, 현재 비디오 블록을 코딩하는데 사용되는 실제 인트라 예측 모드의 추정을 결정하도록 구성된 비디오 코더를 포함한다. 비디오 코더는, 제 1 최고 확률 모드가 각도 인트라 예측 모드이고 제 2 최고 확률 모드가 비각도 인트라 예측 모드임에 응답하여 실제 인트라 예측 모드의 추정으로서 제 1 최고 확률 모드를 선택하는 것에 의해 실제 인트라 예측 모드의 추정을 결정하고; 및 제 1 최고 확률 모드 및 제 2 최고 확률 모드 양자 모두가 상이한 각도 예측 모드들임에 응답하여, 실제 인트라 예측의 추정으로 제 1 최고 확률 모드 및 제 2 최고 확률 모드 중 하나를 선택하도록 구성된다.
다른 예에서, 비디오 데이터를 코딩하기 위한 장치는 현재의 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하는 수단 및 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드에 기초하여, 현재 비디오 블록을 코딩하는데 사용되는 실제 인트라 예측 모드의 추정을 결정하는 수단을 포함한다. 실제 인트라 예측 모드의 추정을 결정하는 수단은, 제 1 최고 확률 모드가 각도 인트라 예측 모드이고 제 2 최고 확률 모드가 비각도 인트라 예측 모드임에 응답하여, 실제 인트라 예측 모드의 추정으로서 제 1 최고 확률 모드를 선택하는 수단; 및 제 1 최고 확률 모드 및 제 2 최고 확률 모드 양자 모두가 상이한 각도 예측 모드들임에 응답하여, 실제 인트라 예측의 추정으로서 제 1 최고 확률 모드 및 제 2 최고 확률 모드 중 하나를 선택하는 수단을 포함한다.
다른 예에서, 컴퓨터 판독가능 저장 매체는 하나 이상의 프로세서들로 하여금, 현재의 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하게 하고; 및 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드에 기초하여, 현재 비디오 블록을 코딩하는데 사용되는 실제 인트라 예측 모드의 추정을 결정하게 하도록 동작가능한 명령들을 저장한다. 그 명령들은 하나 이상의 프로세서들로 하여금, 제 1 최고 확률 모드가 각도 인트라 예측 모드이고 제 2 최고 확률 모드가 비각도 인트라 예측 모드임에 응답하여 실제 인트라 예측 모드의 추정으로서 제 1 최고 확률 모드를 선택하는 것에 의해 실제 인트라 예측 모드의 추정을 결정하고; 및 제 1 최고 확률 모드 및 제 2 최고 확률 모드 양자 모두가 상이한 각도 예측 모드들임에 응답하여, 제 1 최고 확률 모드 및 제 2 최고 확률 모드 중 하나를 실제 인트라 예측의 추정으로 선택하게 한다.
하나 이상의 예들의 상세는 첨부 도면 및 아래의 설명에 제시되어 있다. 다른 특징, 목적 및 이점들은 상세한 설명 및 도면, 그리고 청구항들로부터 분명해질 것이다.
도 1은 본 개시의 기법들을 이용할 수도 있는 일 예시적인 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다.
도 2는 인트라 예측 모드를 나타내는 정보를 코딩하기 위한 기법들을 구현할 수도 있는 비디오 인코더의 예를 예시하는 블록도이다.
도 3a는 인트라 예측 모드들의 예를 도시한다.
도 3b 및 도 3c는 최고 확률 인트라 예측 모드들 및 추정된 실제 인트라 예측 모드들의 예들을 도시한다.
도 4는 현재 블록에 대해 최고 확률 모드들을 결정하는데 사용될 수도 있는 현재 블록 및 이웃 블록들의 예를 도시한다.
도 5는 인트라 예측 모드를 나타내는 정보를 디코딩하기 위한 기법들을 구현할 수도 있는 비디오 디코더의 예를 예시하는 블록도이다.
도 6은 본 개시의 기법들에 따라 인트라 예측 모드들을 시그널링하는 예시적인 방법을 도시하는 플로우차트이다.
일반적으로, 본 개시는, 코딩된 비디오 데이터에 대한 코딩 특성들을 시그널링하고 그 시그널링을 프로세싱하는 기법들을 기술하고, 보다 상세하게는, 본 개시는 비디오 데이터의 인코딩된 비트스트림에서 인트라 예측 모드들을 시그널링하고 그 시그널링을 프로세싱하는 기법들을 기술한다. 비디오 코딩에서, 현재 코딩되는 (예를 들면, 인코딩되거나 또는 디코딩되는) 비디오 데이터의 블록은, 이전에 코딩된 화상들의 비디오 블록들로부터 예측 (즉, 인터 예측) 될 수 있거나, 동일한 화상의 이미 코딩된 비디오 블록들로부터 예측 (즉, 인트라 예측) 될 수 있다. 비디오 블록이 인트라 예측될 때, 때때로 인트라 예측의 모드는, 명시적으로 시그널링되는 실제 인트라 예측 모드와 반대로, 실제 인트라 예측 모드의 추정으로도 본 개시에서 지칭되는 레퍼런스 모드와 실제 인트라 예측 모드 사이의 차이로서 시그널링된다. 아래에서 더 자세히 설명되는 바처럼, 인트라 예측의 상이한 모드들은 일반적으로, 예측의 상이한 각도들에 대응하지만, 일정 모드들은 비각도인 것으로 고려된다.
실제 인트라 예측 모드가 보통, 추정된 인트라 예측 모드에 가깝다고 상정하면, VLC (variable length coding) 기법들을 사용하여, 실제 인트라 예측 모드는 상대적으로 적은 비트들을 사용하여 시그널링될 수 있다. 본 개시의 기법들은, 일부 경우들에서, 비디오 데이터의 블록을 인트라 코딩하는데 사용되는 인트라 예측 모드의 시그널링을 위한 효율을, 일부 코딩 시나리오들에서, 실제 인트라 예측 모드들에 더 가까운 추정된 인트라 예측 모드들을 결정함으로써, 향상시킬 수도 있다.
현재 블록에 대한 추정된 인트라 예측 모드는 블록에 대해 최고 확률 인트라 예측 모드들에 기초하여 결정될 수 있다. 이들 최고 확률 인트라 예측 모드들은 때때로 본 개시에서 최고 확률 모드들로서 간단히 지칭될 수도 있다. 아래에서 더 상세히 설명되는 바처럼, 현재 비디오 블록에 대한 최고 확률 모드들이, 이미 코딩된 이웃 블록들의 인트라 예측 모드들에 적어도 부분적으로 기초하여 선택될 수도 있다. 예를 들면, 현재 블록은, 현재 블록 위의 블록을 코딩하는데 사용되는 인트라 예측 모드에 그리고 현재 블록의 좌측 블록을 코딩하는데 사용되는 인트라 예측 모드에 대응하는 2개의 최고 확률 모드들을 가질 수도 있다. 비디오 블록들은 래스터 스캔 순서 (예를 들면, 좌에서 우측 그리고 위에서 아래) 로 코딩된다고 상정하면, 현재 블록 위의 그리고 현재 블록의 좌측 비디오 블록들은, 현재 블록 전에 코딩될 것이고, 따라서, 그러한 블록들의 인츠라 예측 모드들은 현재 블록을 코딩하기 전에 비디오 코더에 알려져 있다. 현재 블록은 또한, 이웃 블록들에 기초하여 또한 결정되거나 또는 일부 다른 방식으로 결정되는 추가 최고 확률 모드들 (예를 들면, 제 3 최고 확률 모드, 제 4 최고 확률 모드 등) 을 가질 수도 있다.
2개의 최고 확률 모드들을 상정하면, 최고 확률 인트라 예측 모드들 중 하나가 현재 블록에 대한 실제 인트라 예측 모드일 때, 실제 인트라 예측 모드는 최고 확률 모드들 중 하나를 사용하여 블록이 코딩되는 것을 나타내기 위하여 2 비트 코드워드를 사용하여 시그널링될 수도 있다. 코드워드 “00” 는, 예를 들면, 블록에 대해 실제 인트라 예측 모드가 제 1 최고 확률 모드인 것을 시그널링하는데 사용될 수도 있고, 코드워드 “01” 는 블록에 대해 실제 인트라 예측 모드가 제 2 최고 확률 모드인 것을 시그널링하는데 사용될 수도 있다. 2개보다 많은 최고 확률 모드들을 사용하는 경우에, 일부 경우들에서 추가 비트들이 어느 최고 확률 모드가 실제 모드인지를 시그널링하는데 사용될 수도 있다.
실제 모드 또는 선택된 모드로도 지칭되는, 사용을 위해 선택된 모드는, 최고 확률 모드들 중 하나와는 상이한 경우들에서, 실제 모드는 직접 시그널링될 수 있거나 또는 실제 모드와 실제 모드의 추정 사이의 차동 정보 (differential information) 를 사용하여 시그널링될 수 있다. 이들 경우들에서, 실제 인트라 예측 모드는, 최고 확률 모드들에 대한 코드워드들로부터 코드워드들을 구별하기 위하여 “1” 로 시작하는 코드워드를 사용하여 시그널링될 수 있다. 위의 예는, 최고 확률 모드들이 비디오 블록의 인트라 예측 모드를 시그널링하는데 사용될 수 있는 많은 코딩 구조들 중 하나이다. 본 개시의 기법들은, 최고 확률 모드들을 이용하기 위한 어느 하나의 특정 구조에 한정되지 않는다.
추정 모드와 실제 모드 사이의 차이로서 인트라 예측 모드들을 시그널링할 때, 차이 정보는 인코딩된 비트스트림에서 코드워드로서 비디오 인코더로부터 비디오 디코더로 시그널링될 수도 있다. 코드워드는, 예를 들면, 실제 모드의 추정과 실제 모드 사이의 순차 모드 순서의 차이에 대응하는 가변 길이 코드워드일 수도 있다. 가변 길이 코드워드들을 사용하는 경우, 더 짧은 코드워드들은, 예를 들면, 더 빈번하게 일어나는 차이들에 지정되는 반면, 더 긴 코드워드들은 덜 빈번하게 일어나는 차이들에 지정될 수도 있다. 더 빈번하게 일어나는 차이들은, 예를 들면, 더 짧은 차이들인 반면, 덜 빈번하게 일어나는 차이는 더 긴 거리들일 수도 있다. 따라서, 더 적은 비트들이 일반적으로, 실제 인트라 예측 모드의 추정이 실제 인트라 예측 모드로부터 먼 때보다 실제 인트라 예측 모드의 추정이 실제 예측에 가까울 때 차이 정보를 시그널링하는데 사용된다. 아래 예들에서 더 자세히 설명되는 바처럼, 2개 인트라 예측 모드들 사이의 거리는 일반적으로, 그들의 순차 모드 순서들에서의 차이의 절대값인 것으로 고려될 수 있다. 따라서, 3 및 15의 순차 모드 순서들을 갖는 모드들은, 8 및 6의 순차 모드 순서들을 갖는 모드들보다 더 멀리 떨어져 있는 것으로 고려될 수 있다.
현재 기법들에 따라, 최고 확률 모드 세트에서 2개의 모드들이 각도 (즉, 비각도의 반대) 일 때, 추정된 모드는 2개 최고 확률 모드들의 각도의 평균 (mean) 또는 중앙 (median) 으로서 결정된다. 하지만, 일부의 경우들에서, 이 추정된 모드는, 예를 들면, 현재 비디오 블록에 사용되는 실제 모드에, 순차 모드 순서에 관하여, 그다지 가깝지 않을 수도 있다. 따라서, 2개 최고 확률 모드들의 평균 또는 중앙을 사용하는 대신에 실제 모드의 추정으로서 최고 확률 모드들 중 하나를 사용하는 것이 보다 정확할 수도 있다. 예를 들면, 에지들이 이웃 블록에 존재하는 경우에, 최고 확률 모드들이 정보를 꽤 정확하게 전달할 수도 있다. 에지는, 최고 확률 모드들 중 하나로부터 하나 또는 2개 각도들 만큼 시프트될 수도 있지만, 에지는, 특히 2개 최고 확률 모드들의 각도들이 큰 양만큼 차이가 날 때, 2개 최고 확률 모드들의 중간 각도로 시프트할 것 같지 않을 수도 있다. 즉, 2개 최고 확률 모드들이 상대적으로 큰 각도 차이를 갖는 경우, 그러한 2개 최고 확률 모드들의 평균 또는 중앙에 기초한 추정은, 원하는 것보다 더 높은 빈도로, 더 짧은 코드워드를, 실제 모드일 가능성이 낮은 모드로 할당하는데, 이는 코딩 효율을 감소시킬 수 있다. 본 개시는 일반적으로, 2개 최고 확률 모드들 중 하나를 실제 인트라 예측 모드의 추정으로 선택함으로써 실제 인트라 예측 모드의 추정을 결정하기 위한 기법들을 설명한다.
실제 인트라 예측 모드의 추정은, 예를 들면, 비디오 데이터의 블록을 코딩하는데 사용된 실제 인트라 예측 모드를 식별하기 위하여 차이 정보와 함께, 사용될 수 있다. 따라서, 비디오 인코더 및 비디오 디코더가 양자 모두 실제 인트라 예측 모드에 대해 동일한 추정을 결정하도록 구성되면, 실제 인트라 예측 모드의 추정과 실제 인트라 예측 모드 사이의 차이만이, 비디오 디코더가 비디오 데이터의 블록을 코딩하는데 사용된 인트라 예측 모드를 결정하기 위하여, 인코딩된 비트스트림에서 전달될 필요가 있다.
도 1은 본 개시의 기법들에 따라 비디오 데이터의 블록들을 위한 인트라 예측 모드들을 나타내는 신택스 데이터 (syntax data) 를 코딩하기 위한 기법들을 이용할 수도 있는 일 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 예시하는 블록도이다. 도 1에 도시된 바처럼, 시스템 (10) 은 인코딩된 비디오를 목적지 디바이스 (14) 로 통신 채널 (16) 을 통해 송신하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 임의의 광 범위한 디바이스들을 포함할 수도 있다. 일부 경우들에서, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 무선 통신 디바이스들, 이를테면 무선 핸드셋, 소위 셀룰러 또는 위성 무선 전화기, 또는 통신 채널 (16) 을 통해 비디오 정보를 통신할 수 있는 임의의 무선 디바이스들을 포함하고, 그 경우 통신 채널 (16) 은 무선이다.
그러나, 비디오 데이터의 블록들에 대한 인트라 예측 모드들을 나타내는 신택스 데이터의 코딩에 관련한 본 개시물의 기법들은, 반드시 무선 애플리케이션들 또는 설정들에 한정되지는 않는다. 예를 들어, 이들 기법들은 오버-디-에어 (over-the-air) 텔레비전 브로드캐스트들, 케이블 텔레비전 송신들, 위성 텔레비전 송신들, 인터넷 비디오 송신들, 저장 매체 상으로 인코딩되는 인코딩된 디지털 비디오, 또는 다른 시나리오들에 적용될 수도 있다. 따라서, 통신 채널 (16) 은 인코딩된 비디오 데이터의 송신에 적합한 무선 또는 유선 매체들의 임의의 조합을 포함할 수도 있다. 더욱이, 통신 채널 (16) 은 비디오 인코딩 디바이스가 데이터를 비디오 디코딩 디바이스로 송신할 수도 있는 많은 방법들 중 하나만을 나타내는 것으로 의도된다. 예를 들어, 시스템 (10) 의 다른 구성들에서, 소스 디바이스 (12) 는 목적지 디바이스 (14) 에 의해 디코딩하기 위한 인코딩된 비디오를 생성하고, 그 인코딩된 비디오를 저장 매체 또는 파일 서버 상에 저장하여, 그 인코딩된 비디오가 원하는 바에 따라 목적지 디바이스 (14) 에 의해 액세스될 수도 있다.
도 1의 예에서, 소스 디바이스 (12) 는 비디오 소스 (18), 비디오 인코더 (20), 변조기/복조기 (모뎀) (22) 및 송신기 (24) 를 포함한다. 목적지 디바이스 (14) 는 수신기 (26), 모뎀 (28), 비디오 디코더 (30) 및 디스플레이 디바이스 (32) 를 포함한다. 다른 예들에서, 소스 디바이스 및 목적지 디바이스는 다른 컴포넌트들 또는 배열들을 포함할 수도 있다. 예를 들어, 소스 디바이스 (12) 는 외부 카메라와 같은 외부 비디오 소스 (18) 로부터 비디오 데이터를 수신할 수도 있다. 마찬가지로, 목적지 디바이스 (14) 는 통합된 디스플레이 디바이스를 포함하기 보다는, 외부 디스플레이 디바이스와 인터페이스할 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 는 본 개시의 기법들을 수행하도록 유사하게 구성될 수도 있다. 예를 들면, 비디오 인코더 (20) 및 비디오 디코더 (30) 는, 최고 확률 모드들 및 추정된 모드들이 인코딩된 비디오 비트스트림에서 명시적으로 시그널링될 필요가 없도록, 동일한 기법들을 사용하여 최고 확률 모드 (most probable mode) 들 및 추정 모드 (estimated mode) 들을 결정하도록 구성될 수 있다.
도 1의 예시된 시스템 (10) 은 하나의 예일 뿐이다. 비디오 데이터의 블록들에 대한 인트라 예측 모드들을 나타내는 신택스 데이터를 코딩하는 기법들은 임의의 디지털 비디오 인코딩 및/또는 디코딩 디바이스에 의해 수행될 수도 있다. 일반적으로 본 개시의 기법들은 비디오 인코딩 디바이스에 의해 수행되지만, 이 기법들은 또한 "코덱 (CODEC)" 으로서 통상적으로 지칭되는, 비디오 인코더/디코더에 의해 수행될 수도 있다. 더욱이, 본 개시의 기법들은 또한 비디오 프리프로세서에 의해 수행될 수도 있다. 소스 디바이스 (12) 및 목적지 디바이스 (14) 는, 소스 디바이스 (12) 가 목적지 디바이스 (14) 로의 송신을 위해 코딩된 비디오 데이터를 생성하는 그러한 코딩 디바이스들의 예들일 뿐이다. 일부 예들에서, 디바이스들 (12, 14) 은, 디바이스들 (12, 14) 의 각각이 비디오 인코딩 및 디코딩 컴포넌트들을 포함하도록 실질적으로 대칭적인 방식으로 동작할 수도 있다. 그러므로, 시스템 (10) 은 예를 들면, 비디오 스트리밍, 비디오 플레이백, 비디오 브로드캐스팅 또는 비디오폰 통화를 위해 비디오 디바이스들 (12, 14) 간의 1 방향 또는 2 방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (18) 는 비디오 카메라와 같은 비디오 캡쳐 디바이스, 이전에 캡처된 비디오를 포함하는 비디오 아카이브 (video archive), 및/또는 비디오 콘텐트 제공자로부터의 비디오 피드 (video feed) 를 포함할 수도 있다. 추가의 대안으로서, 비디오 소스 (18) 는 라이브 비디오, 보관된 비디오 및 컴퓨터 생성된 비디오의 조합, 또는 소스 비디오로서 컴퓨터 그래픽스 기반 데이터를 생성할 수도 있다. 일부 경우들에서, 비디오 소스 (18) 가 비디오 카메라이면, 소스 디바이스 (12) 및 목적지 디바이스 (14) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 하지만, 위에서 언급된 바처럼, 본 개시에 설명된 기법들은, 일반적으로 비디오 코딩에 적용가능할 수도 있고, 무선 및/또는 유선 애플리케이션들에 적용될 수도 있다. 각 경우에서, 캡처되거나, 미리 캡처되거나 또는 컴퓨터 생성된 비디오는 비디오 인코더 (20) 에 의해 인코딩될 수도 있다. 그 다음 인코딩된 비디오 정보는 통신 표준에 따라 모뎀 (22) 에 의해 변조되고, 송신기 (24) 를 통해 목적지 디바이스 (14) 로 송신될 수도 있다. 모뎀 (22) 은 다양한 믹서들, 필터들, 증폭기들 또는 신호 변조를 위해 설계된 다른 컴포넌트들을 포함할 수도 있다. 송신기 (24) 는 증폭기들, 필터들 및 하나 이상의 안테나들을 포함하는, 데이터를 송신하기 위해 설계된 회로들을 포함할 수도 있다.
목적지 디바이스 (14) 의 수신기 (26) 는 채널 (16) 을 통해 정보를 수신하고 모뎀 (28) 은 정보를 복조한다. 또, 비디오 인코딩 프로세스는 여기에 기술된 하나 이상의 기법들을 비디오 데이터의 블록들에 대한 인트라 예측 모드들을 나타내는 신택스 데이터를 코딩하는 것으로 구현할 수도 있다. 채널 (16) 을 통해서 통신된 정보는 비디오 인코더 (20) 에 의해 정의된 신택스 정보를 포함할 수도 있고, 이는 또한 비디오 디코더 (30) 에 의해 사용되고, 이는 매크로블록들 및 다른 코딩된 유닛들, 예컨대, GOP들의 프로세싱 및/또는 특성들을 기술하는 신택스 엘리먼트들을 포함한다. 디스플레이 디바이스 (32) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관 (CRT), 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 어느 것을 포함할 수도 있다.
도 1의 예에서, 통신 채널 (16) 은 임의의 무선 또는 유선 통신 매체, 이를테면 RF (radio frequency) 스펙트럼 또는 하나 이상의 물리적 송신 라인들, 또는 무선 및 유선 매체의 임의의 조합을 포함할 수도 있다. 통신 채널 (16) 은, 로컬 영역 네트워크, 와이드 영역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷 기반 네트워크의 부분을 형성할 수도 있다. 일반적으로 통신 채널 (16) 은, 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 비디오 데이터를 송신하기 위한, 임의의 적합한 통신 매체, 또는 상이한 통신 매체들의 집합 (collection) 을 나타내며, 유선 또는 무선 매체의 임의의 적합한 조합을 포함한다. 통신 채널 (16) 은 라우터, 스위치, 기지국, 또는 소스 디바이스 (12) 로부터 목적지 디바이스 (14) 로 통신을 용이하게 하기 위해 유용할 수도 있는 임의의 다른 장비를 포함할 수도 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는, 다르게는 MPEG 4, Part 10, AVC (Advanced Video Coding) 로서 지칭되는, ITU-T H.264 표준과 같은, 비디오 압축 표준에 따라 동작할 수도 있다. 하지만, 본 개시의 기법들은 임의의 특정 코딩 표준에 한정되지 않는다. 다른 예들은 MPEG-2 및 ITU-T H.263 을 포함한다. 비록 도 1에 도시되지는 않았지만, 일부 양태들에서, 비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 오디오 인코더 및 디코더와 통합될 수 있고, 적절한 MUX-DEMUX 유닛들 또는 다른 하드웨어 및 소프트웨어를 포함하여, 공통 데이터 스트림 또는 분리된 데이터 스트림들에서 오디오 및 비디오 양쪽 모두의 인코딩을 핸들링 (handling) 할 수도 있다. 적용가능하면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜 또는 다른 프로토콜들 이를테면 사용자 데이터그램 프로토콜 (UDP) 을 따를 수도 있다.
ITU-T H.264/MPEG-4 (AVC) 표준은, JVT (Joint Video Team) 로서 알려진 집합적인 파트너쉽의 결과물로서 ISO/IEC MPEG (Moving Picture Experts Group) 과 함께 ITU-T VCEG (Video Coding Experts Group) 에 의해 공식화되었다. 일부 양태들에서, 본 개시에 설명된 기법들은 일반적으로 H.264 표준을 따르는 디바이스들에 적용될 수도 있다. H.264 표준은 ITU-T 연구 그룹에 의한 2005년 3월자의, ITU-T Recommendation H.264, Advanced Video Coding for generic audiovisual services 에 기술되어 있는데, 이는 여기서 H.264 표준 또는 H.264 사양 (specification), 또는 H.264/AVC 표준 또는 사양으로 지칭될 수도 있다. JVT (Joint Video Team) 는 H.264/MPEG-4 AVC 으로의 확장에 대해 계속 작업하고 있다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 반도체 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA), 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합과 같은 임의의 다양한 적합한 인코더 회로로서 구현될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 의 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있는데, 이들 중 어느 한쪽은 각각의 카메라, 컴퓨터, 이동 디바이스, 가입자 디바이스, 브로드캐스트 디바이스, 셋톱 박스, 서버 등에서 결합된 인코더/디코더 (CODEC) 의 부분으로서 통합될 수도 있다.
비디오 시퀀스는 통상적으로 일련의 비디오 프레임들을 포함한다. 화상들의 그룹 (GOP) 은 일반적으로, 일련의 하나 이상의 비디오 프레임들을 포함한다. GOP 는 GOP 의 헤더, GOP 의 하나 이상의 프레임들의 헤더, 또는 다른 곳에서 신택스 데이터를 포함할 수도 있고, 이는 GOP 에 포함된 다수의 프레임들을 기술한다. 각 프레임은 각각의 프레임에 대한 인코딩 모드를 기술하는 프레임 신택스 데이터를 포함할 수도 있다. 비디오 인코더 (20) 는 통상적으로 비디오 데이터를 인코딩하기 위하여 개개의 비디오 프레임들 내에서 비디오 블록들에 대해 동작한다. 비디오 블록은 매크로블록 또는 매크로블록의 파티션에 대응할 수도 있다. 비디오 블록들은 고정 또는 변화하는 크기를 가질 수도 있고 특정 코딩 표준에 따라 크기가 다를 수도 있다. 각 비디오 프레임은 복수의 슬라이스들을 포함할 수도 있다. 각 슬라이스는 서브블록들로도 지칭되는, 파티션들로 배열될 수도 있는, 복수의 매크로블록들을 포함할 수도 있다.
일 예로서, ITU-T H.264 표준은, 루마 컴포넌트 (luma component) 들을 위해 16 바이 16, 8 바이 8, 또는 4 바이 4 그리고 크로마 컴포넌트 (chroma component) 들을 위해 8×8 와 같은 다양한 블록 크기들에서 인트라 예측을 지원하고, 루마 컴포넌트들을 위해 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8 및 4 × 4 그리고 크로마 컴포넌트들을 위해 대응하는 스케일링된 크기들과 같은 다양한 블록 크기들에서 인터 예측을 지원한다. 본 개시에서, “N×N” 그리고 “N 바이 N”, 수직 및 수평 치수들의 면에서 블록의 픽셀 치수들, 예를 들면, 16×16 픽셀들 또는 16 바이 16 픽셀들을 지칭하는데 상호교환가능하게 사용될 수도 있다. 일반적으로, 16×16 블록은, 수직 방향에서 16 픽셀들 (y = 16) 그리고 수평 방향에서 16 픽셀들 (x = 16) 을 가질 것이다. 마찬가지로, N×N 블록은 일반적으로 수직 방향에서 N 픽셀들 그리고 수평 방향에서 N 픽셀들을 갖고, 여기서 N은 음이 아닌 정수 값을 나타낸다. 블록에서 픽셀들은 열과 행으로 배열될 수도 있다. 더욱이, 블록들은 수직 방향에서와 수평 방향에서 동일한 수의 의 픽셀들을 반드시 가질 필요는 없다. 예를 들면, 블록들은 N×M 픽셀들을 포함할 수도 있고, 여기서 M은 N과 반드시 동일할 필요는 없다. 16×16 보다 작은 블록 크기들은, ITU-T H.264 에서 16×16 매크로블록들의 파티션들로 지칭될 수도 있다.
비디오 블록들은 예컨대, 코딩된 비디오 블록들과 예측 비디오 블록들 사이의 픽셀 차이들을 나타내는 잔여 비디오 블록 데이터로의, 이산 코사인 변환 (DCT), 정수 변환, 웨이블릿 변환, 또는 개념적으로 유사한 변환과 같은 변환의 적용 이후에, 픽셀 도메인에서의 픽셀 데이터의 블록들, 또는 그 변환 도메인에서의 변환 계수들의 블록들을 포함할 수도 있다. 일부의 경우, 비디오 블록은 변환 도메인에서 양자화된 변환 계수들의 블록들을 포함할 수도 있다.
더 작은 비디오 블록들은 더 양호한 해상도를 제공할 수 있고 높은 레벨의 디테일을 포함하는 비디오 프레임의 로케이션 (location) 들에 사용될 수도 있다. 일반적으로, 매크로블록들 및 서브블록들로 종종 지칭되는 여러 파티션들은 비디오 블록들로 고려될 수도 있다. 또한, 슬라이스는 매크로블록들 및/또는 서브블록들과 같은 복수의 비디오 블록들로 고려될 수도 있다. 각 슬라이스는 비디오 프레임의 독립적으로 디코딩가능한 유닛일 수도 있다. 다르게는, 프레임들 자체는 디코딩가능한 유닛들일 수도 있거나, 또는 프레임의 다른 부분들이 디코딩가능한 유닛들로서 정의될 수도 있다. 용어 "코딩된 유닛 (coded unit)" 은 비디오 프레임의 임의의 독립적으로 디코딩가능한 유닛 이를테면 전체 프레임, 프레임의 슬라이스, 시퀀스로도 지칭되는 화상들의 그룹 (GOP), 또는 적용가능한 코딩 기법들에 따라 정의된 다른 독립적으로 디코딩가능한 유닛을 지칭할 수도 있다.
HEVC (High Efficiency Video Coding) 로 현재 지칭되는 새로운 비디오 코딩 표준을 개발하려는 노력들이 현재 진행되고 있다. 최근 생겨난 HEVC 표준은 또한 H.265 로 지칭될 수도 있다. 이 표준화 노력들은 HEVC 테스트 모델 (HM) 로 지칭되는 비디오 코딩 디바이스의 모델에 기초한다. HM 은 예컨대, ITU-TH.264/AVC 에 따른 디바이스들을 넘어서는 비디오 코딩 디바이스들의 여러 능력들을 추정한다. 예를 들어, H.264 는 9개의 인트라 예측 모드들을 제공하는 반면, HM 은 예컨대, 인트라 예측 코딩되는 블록의 크기에 기초하여, 33개 만큼이나 많은 인트라 예측 모드들을 제공한다. “HEVC Working Draft 9” 또는 “WD9” 로 지칭되는, HEVC 표준의 최근 드래프트는 문헌 JCTVC-K1003, Bross 등의 “High efficiency video coding (HEVC) text specification draft 9” ITU-T SG16 WP3 및 ISO/IEC JTC1/SC29/WG11 의 JCT-VC (Joint Collaborative Team on Video Coding), 제11차 미팅: 중국, 상하이, 2012년 10월 10-19일에 기재되어 있고, 이는, 2012 년 11월 13일자로, 하기 링크로부터 다운로드가능하다: http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v7.zip.
HM 은 비디오 데이터의 블록을 코딩 유닛 (CU) 으로 지칭한다. 비트스트림 내의 신택스 데이터는 최대 코딩 유닛 (largest coding unit; LCU) 을 정의할 수도 있으며, 이는 픽셀들의 수의 면에서 가장 큰 코딩 유닛이다. 일반적으로, CU 가 크기 구별을 갖지 않는다는 점을 제외하면, CU 는 H.264 의 매크로블록과 유사한 목적을 갖는다. 따라서, CU 는 서브CU 들로 분할될 수도 있다. 일반적으로, 본 개시에서 CU 에 대한 언급들은 화상의 최대 코딩 유닛 또는 LCU 의 서브 CU 를 지칭할 수도 있다. LCU 는 서브CU 들로 분할될 수도 있고, 각 서브CU는 서브CU들로 분할될 수도 있다. 비트스트림에 대한 신택스 데이터는 LCU 가 분할될 수도 있는 최대 수를 정의할 수도 있으며, 이는 CU 깊이 (depth) 라고 칭해진다. 따라서, 비트스트림은 최소 코딩 유닛 (smallest coding unit; SCU) 을 또한 정의할 수도 있다. 본 개시는 또한, CU, 예측 유닛 (prediction unit; PU), 또는 변환 유닛 (TU) 중 어느 것을 지칭하는데 용어 "블록" 을 사용한다.
LCU 는 쿼드트리 (quadtree) 데이터 구조와 연관될 수도 있다. 일반적으로,쿼드트리 데이터 구조는 CU 당 하나의 노드를 포함하고, 여기서 루트 노드는 LCU 에 대응한다. CU 가 4 개의 서브 CU 들로 분할되는 경우, 그 CU 에 대응하는 노드는 4 개의 리프 노드 (leaf node) 들을 포함하고, 그들의 각각은 서브 CU 들의 하나에 대응한다. 쿼드트리 데이터 구조의 각각의 노드는, 대응하는 CU 에 대한 신택스 데이터를 제공할 수도 있다. 예를 들어, 쿼드트리에서의 노드는, 그 노드에 대응하는 CU 가 서브CU 들로 분할되는지의 여부를 나타내는 분할 플래그 (split flag) 를 포함할 수도 있다. CU 에 대한 신택스 요소들은 재귀적으로 정의될 수도 있고, CU 가 서브CU 들로 분할되는지 여부에 의존할 수도 있다.
분할되지 않는 CU 는 하나 이상의 예측 유닛 (PU) 들을 포함할 수도 있다. 일반적으로, PU 는, 대응하는 CU 의 전부 또는 일부를 나타내고, PU 에 대한 레퍼런스 샘플을 취출하기 위한 데이터를 포함한다. 예를 들어, PU 가 인트라 예측 모드 인코딩될 때, PU 는 PU 에 대한 인트라 예측 모드를 설명하는 데이터를 포함할 수도 있다. 다른 예로서, PU 가 인터 모드 인코딩될 때, PU 는 PU 에 대한 모션 벡터를 정의하는 데이터를 포함할 수도 있다. 모션 벡터를 정의하는 데이터는, 예를 들어, 모션 벡터의 수평 성분, 모션 벡터의 수직 성분, 모션 벡터에 대한 해상도 (예를 들어, 1/4 픽셀 정밀도 또는 1/8 픽셀 정밀도), 모션 벡터가 가리키는 레퍼런스 프레임, 및/또는 모션 벡터에 대한 레퍼런스 리스트 (예를 들어, 리스트 0 또는 리스트 1) 를 기술할 수도 있다. PU(들) 를 정의하는 CU 에 대한 데이터는, 예를 들어, CU 의 하나 이상의 PU 들로의 파티셔닝을 또한 기술할 수도 있다. 파티셔닝 모드들은 CU 가 비코드화되는지, 인트라 예측 모드 인코딩되는지, 또는 인터 예측 모드 인코딩되는지간에 달라질 수도 있다.
하나 이상의 PU 들을 갖는 CU 는 하나 이상의 변환 유닛 (TU) 들을 또한 포함할 수도 있다. PU 를 이용한 예측 다음에, 비디오 인코더는 PU 에 대응하는 CU 의 부분에 대한 잔여 값 (residual value) 을 산출할 수도 있다. 잔여 값들의 세트는 변환, 스캔, 및 양자화되어 변환 계수들의 세트를 정의할 수도 있다. TU 는 변환 계수들을 포함하는 데이터 구조를 정의한다. TU 는 반드시 PU 의 크기로 제한되는 것은 아니다. 따라서, TU 들은 동일한 CU 에 대한 대응하는 PU 들보다 크거나 작을 수도 있다. 일부 예들에서, TU 의 최대 크기는, 대응하는 CU 의 크기에 대응할 수도 있다.
본 개시의 기법들에 따르면, 비디오 인코더 (20) 는 인트라 예측 모드 인코딩을 사용하여 비디오 데이터의 특정 블록들을 인코딩할 수도 있고, 블록을 인코딩하는데 사용되는 선택된 (즉, 실제) 인트라 예측 모드를 나타내는 정보를 제공할 수도 있다. 비디오 인코더 (20) 는 인트라 예측 모드를 사용하여 임의의 타입의 프레임 또는 슬라이스, 예를 들어, P 프레임들 또는 P 슬라이스들, 및 B 프레임들 또는 B 슬라이스들에 더하여 I 프레임들 또는 I 슬라이스들의 블록들을 인트라 예측 인코딩할 수도 있다. 비디오 인코더 (20) 가 블록이 인트라 예측 모드 인코딩되어야 한다고 결정할 때, 비디오 인코더 (20) 는 레이트 왜곡 분석을 수행하여 가장 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 하나 이상의 인트라 예측 모드들에 대한 레이트 왜곡 값들을 산출하고, 수용가능한 레이트 왜곡 특성들을 갖는 모드들 중 하나를 선택할 수도 있다.
비디오 인코더 (20) 는 또한 블록에 대한 인코딩 콘텍스트를 결정하도록 구성될 수도 있다. 콘텍스트는, 예를 들어, 픽셀 치수들의 면에서 결정될 수도 있는 블록의 크기, HEVC 의 예에서 2N×2N, N×2N, 2N×N, N×N 와 같은 예측 유닛 (PU) 유형, 2N×N/2, N/2×2N, 2N×1, 1×2N 와 같은 단거리 인트라 예측 (SDIP) 유형들, H.264 의 예에서 매크로블록 유형, 블록에 대한 코딩 유닛 (CU) 깊이, 또는 비디오 데이터의 블록에 대한 크기의 다른 측정치들과 같은 블록의 다양한 특성들을 포함할 수도 있다. 일부 예들에서, 콘텍스트는, 상부-이웃하는 블록, 좌측-이웃하는 블록, 상부-좌측 이웃하는 블록, 상부-우측 이웃하는 블록, 또는 다른 이웃하는 블록들에 대한 코딩 모드와 같은 정보에 기초하여 결정될 수도 있다. 일부 예들에서, 콘텍스트는 인코딩되는 현재의 블록에 대한 크기 정보 뿐만 아니라 하나 이상의 블록들에 대한 인트라 예측 모드 양자 모두를 포함할 수도 있다.
어느 경우든, 비디오 인코더 (20) 는 블록에 대한 콘텍스트를 현재의 블록에 대한 여러 코딩 특성들에 맵핑하는 구성 데이터 (configuration data) 를 포함할 수도 있다. 예를 들어, 블록에 대한 콘텍스트에 기초하여, 구성 데이터는 하나 이상의 최고 확률 인트라 예측 모드들 및/또는 하나 이상의 가변 길이 코드 (VLC) 테이블들을 나타낼 수도 있다. 위에 도입된 바처럼, VLC 테이블들은 코드워드들을 차이 값들로 맵핑할 수도 있다. 차이 값들은, 예를 들면, 실제 모드와 추정 모드 사이의 순차 모드 순서에서의 차이들일 수도 있다.
비디오 인코더 (20) 는, 일부 예들에서, 콘텍스트에 기초하여, 최고 확률 모드로 인트라 예측 모드의 선택에 대한 분석을 시작하도록 구성될 수도 있다. 최고 확률 모드가 적합한 레이트 왜곡 특성들을 달성할 때, 일부 예들에서, 비디오 인코더 (20) 는 최고 확률 모드를 선택할 수도 있다. 다른 예들에서, 비디오 인코더 (20) 는 최고 확률 모드로 선택 프로세스를 시작할 필요가 없다.
예측 데이터 및 잔여 데이터를 생성하는 인트라 예측 또는 인터 예측 코딩 다음에, 그리고 변환 계수들을 생성하는 임의의 변환들 (이를테면, H.264/AVC 에서 이용되는 4×4 혹은 8×8 정수 변환, 또는 이산 코사인 변환 (DCT)) 다음에, 변환 계수들의 양자화가 수행될 수도 있다. 일반적으로 양자화는, 변환 계수들이 그 계수들을 나타내는데 사용된 데이터의 양을 감소시킬 수 있도록 양자화되는 프로세스를 지칭한다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 깊이를 감소시킬 수도 있다. 예를 들면, n 비트 값은 양자화 동안 m 비트 값으로 라운딩 다운될 수도 있고, 여기서 n은 m보다 더 크다.
양자화 다음에, 양자화된 데이터의 엔트로피 코딩 (entropy coding) 이 예를 들면 CAVLC (content adaptive variable length coding), CABAC (context adaptive binary arithmetic coding), 또는 다른 엔트로피 코딩 방법론에 따라 수행될 수도 있다. 엔트로피 코딩을 위해 구성된 프로세싱 유닛, 또는 다른 프로세싱 유닛이 다른 프로세싱 기능들, 예컨대, 양자화된 계수들의 제로 런 (run) 길이 코딩 및/또는, 코딩된 블록 패턴 (CBP) 값들, 매크로블록 유형, 코딩 모드, (프레임, 슬라이스, 매크로블록, 또는 시퀀스와 같은) 코딩된 유닛에 대한 최대 매크로블록 크기 등과 같은 신택스 정보의 생성을 수행할 수도 있다.
비디오 디코더 (30) 는 궁극적으로, 예를 들어, 모뎀 (28) 및 수신기 (26) 로부터, 파일 서버로부터, 저장 매체에 대해 또는 일부 다른 방식으로, 인코딩된 비디오 데이터를 수신한다. 본 개시의 기법들에 따르면, 비디오 디코더 (30) 는 비디오 데이터의 블록을 인코딩하는데 이용된 인트라 예측 모드를 식별하는 신택스 정보를 나타내는 코드워드를 수신할 수도 있다. 비디오 디코더 (30) 는 비디오 인코더 (20) 와 실질적으로 유사한 방식으로 블록에 대한 코딩 콘텍스트를 결정하도록 구성될 수도 있다. 또한, 비디오 디코더 (30) 는 비디오 인코더 (20) 와 유사한 구성 데이터, 예를 들어, 이웃 블록들의 모드들에 기초하여 최고 확률 모드를 결정하기 위한 정보를 포함할 수도 있다. 비디오 디코더 (30) 는 비디오 인코더 (20) 와 유사한 방식으로 실제 인트라 예측 모드를 위한 추정을 결정할 수 있다. 즉, 비디오 디코더 (30) 는, 비디오 인코더 (20) 에 의해 사용되는 프로세스와 유사하거나 동일한 프로세스를 적용하여, 최고 확률 모드와 실제 인트라 예측 모드의 추정을 결정하도록 구성될 수도 있다. 이런 식으로, 비디오 디코더 (30) 는, 비디오 인코더 (20) 와 동일한 최고 확률 모드들과 실제 인트라 예측 모드의 동일한 추정을 결정한다. 수신된 코드워드들에 기초하여, 다음으로, 비디오 디코더 (30) 는 추정된 인트라 예측 모드와 실제 인트라 예측 모드 사이의 차이를 결정할 수 있다. 따라서, 코드워드 및 추정된 인트라 예측 모드에 기초하여, 비디오 디코더 (30) 는 실제 인트라 예측 모드를 결정할 수 있다. 하나의 예에서, 비디오 디코더 (30) 는, 추정된 인트라 예측 모드에 의해 나타낸 값과 코드워드에 의해 나타낸 차이 값을 합산하여 디코딩될 현재 블록에 대한 실제 인트라 예측 모드를 나타내는 값을 생성한다.
비디오 인코더 (20) 및 비디오 디코더 (30) 는 각각 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP) 들, 주문형 반도체 (ASIC), 필드 프로그램 가능 게이트 어레이 (FPGA), 이산 로직 회로, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합과 같은 임의의 다양한 적합한 인코더 또는 디코더 회로로서 적용가능한 바에 따라 구현될 수도 있다. 비디오 인코더 (20) 및 비디오 디코더 (30) 의 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있는데, 이들 중 어느 한쪽은 결합된 비디오 인코더/디코더 (CODEC) 의 부분으로서 통합될 수도 있다. 비디오 인코더 (20) 및/또는 비디오 디코더 (30) 를 포함하는 장치는 집적 회로, 마이크로프로세서, 및/또는 무선 통신 디바이스, 이를테면 셀룰러 전화기를 포함할 수도 있다.
도 2는 인트라 예측 모드를 나타내는 정보를 코딩하기 위한 기법들을 구현할 수도 있는 비디오 인코더 (20) 의 예를 예시하는 블록도이다. 비디오 인코더 (20) 는, 비디오 프레임들 내의 비디오 블록들의 인트라 코딩 및 인터 코딩을 수행할 수도 있다. 인트라 코딩은 소정의 비디오 프레임 내의 비디오에서 공간적 중복성 (spatial redundancy) 을 감소 또는 제거하기 위하여 공간적 예측에 의존한다. 인터 코딩은 비디오 시퀀스의 인접하는 프레임들 내의 비디오에서 시간적 중복성을 감소 또는 제거하기 위하여 시간적 예측에 의존한다. 인트라 예측 모드 (I 모드) 는 여러 공간 기반 압축 모드들 중 임의의 것을 지칭할 수도 있고, 단방향 예측 (P 모드) 또는 양방향 예측 (B 모드) 과 같은 인터 예측 모드는 여러 시간 기반 압축 모드들 중 임의의 것을 지칭할 수도 있다.
도 2에 도시된 바처럼, 비디오 인코더 (20) 는 인코딩될 비디오 프레임 내의 현재 비디오 블록을 수신한다. 도 2 의 예에서, 비디오 인코더 (20) 는 모션 보상 유닛 (44), 모션 추정 유닛 (42), 메모리 (64), 합산기 (50), 변환 프로세싱 유닛 (52), 양자화 유닛 (54), 및 엔트로피 코딩 유닛 (56) 을 포함한다. 비디오 블록 재구성을 위해, 비디오 인코더 (20) 는 또한 역 양자화 유닛 (58), 역 변환 프로세싱 유닛 (60), 및 합산기 (62) 를 포함한다. 도 2 에 도시되지 않은, 하나 이상의 루프 필터들, 예컨대, 디블록킹 필터, 샘플 적응 오프셋 필터, 및/또는 적응 루프 필터가 또한 포함되어 재구성된 비디오 블록들을 필터링할 수도 있다. 원하는 경우, 하나 이상의 루프 필터들은 통상적으로 합산기 (62) 의 출력을 필터링할 것이다.
인코딩 프로세스 동안, 비디오 인코더 (20) 는 코딩될 비디오 프레임 또는 슬라이스를 수신한다. 프레임 또는 슬라이스는 다수의 비디오 블록들로 나누어질 수도 있다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 하나 이상의 레퍼런스 프레임들에서의 하나 이상의 블록들에 상대적으로 수신된 비디오 블록의 인터 예측 코딩을 수행해 시간적 압축을 제공한다. 인트라 예측 유닛 (46) 은 코딩될 블록과 동일한 프레임 또는 슬라이스에서의 하나 이상의 이웃 블록들에 상대적으로 수신된 비디오 블록의 인트라 예측 코딩을 수행하여 공간적 압축을 제공할 수도 있다.
모드 선택 유닛 (40) 은, 예를 들면, 오류 결과들에 기초하여 그리고 코딩되는 현재 블록을 포함하는 프레임 또는 슬라이스에 대한 프레임 또는 슬라이스 유형에 기초하여 코딩 모드들 중 하나, 인트라 또는 인터를 선택하고, 결과적인 인트라 또는 인터 코딩된 블록을 합산기 (50) 에 제공하여 잔여 블록 데이터를 생성하고 합산기 (62) 에 제공하여 레퍼런스 프레임 또는 레퍼런스 슬라이스에서 이용하기 위해 인코딩된 블록을 재구성한다. 일반적으로, 인트라 예측은 이웃하는, 이전에 코딩된 블록들에서 픽셀 샘플들에 상대적으로 현재 블록을 예측하는 것을 수반하는 한편, 인터 예측은 현재 블록을 시간적으로 예측하기 위한 모션 추정 및 모션 보상을 수반한다.
모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 비디오 인코더 (20) 의 인터 예측 요소들을 나타낸다. 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 고도로 통합될 수도 있지만, 개념적인 목적을 위해 따로 따로 예시되어 있다. 모션 추정은 비디오 블록들을 위한 모션을 추정하는 모션 벡터들을 생성하는 프로세스이다. 모션 벡터는, 예를 들어, 현재 프레임 내의 코딩되는 현재 블록 (또는 다른 코딩되는 유닛) 에 관하여 예측 레퍼런스 프레임 내의 예측 블록 (또는 다른 코딩되는 유닛) 의 변위를 나타낼 수 있다. 예측 블록은, 절대 차이의 합 (sum of absolute difference; SAD), 제곱 차이의 합 (sum of square difference; SSD), 또는 다른 차이 메트릭들에 의해 결정될 수도 있는, 픽셀 차이에 관하여, 코딩될 블록과 밀접하게 매치하는 것으로 찾아낸 블록이다. 모션 벡터는 매크로블록의 파티션의 변위를 또한 나타낼 수도 있다. 모션 보상은 모션 추정에 의해 결정된 모션 벡터에 기초한 예측 블록의 페칭 (fetching) 또는 생성을 수반할 수도 있다. 또, 일부 예들에서, 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 은 기능적으로 통합될 수도 있다.
모션 추정 유닛 (42) 은, 메모리 (64) 에서 레퍼런스 프레임의 비디오 블록들과 비디오 블록을 비교함으로써 인터 코딩된 프레임의 비디오 블록을 위한 모션 벡터를 산출한다. 모션 보상 유닛 (44) 은 또한, 레퍼런스 프레임, 예를 들어, I 프레임 또는 P 프레임의 서브정수 (sub integer) 픽셀들을 보간할 수도 있다. 예로서, ITU H.264 및 HEVC 표준은 2 개의 레퍼런스 화상 리스트들: 인코딩되고 있는 현재 프레임보다 더 이른 디스플레이 순서를 갖는 레퍼런스 프레임들을 포함하는 리스트 0, 및 인코딩되고 있는 현재 프레임보다 더 늦은 디스플레이 순서를 갖는 레퍼런스 프레임들을 포함하는 리스트 1의 사용을 설명한다. 따라서, 메모리 (64) 에 저장된 데이터는 이들 리스트들에 따라 조직화될 수도 있다.
모션 추정 유닛 (42) 은 메모리 (64) 로부터 하나 이상의 레퍼런스 프레임들의 블록들을, 현재 프레임, 예를 들어, P 프레임 또는 B 프레임의 인코딩될 블록과 비교한다. 메모리 (64) 에 있는 레퍼런스 프레임들이 서브정수 픽셀들에 대한 값들을 포함할 때, 모션 추정 유닛 (42) 에 의해 산출되는 모션 벡터는 레퍼런스 프레임의 서브정수 픽셀 로케이션을 지칭할 수도 있다. 모션 추정 유닛 (42) 및/또는 모션 보상 유닛 (44) 은 또한, 서브정수 픽셀 포지션들에 대한 값들이 메모리 (64) 에 저장되지 않은 경우, 메모리 (64) 에 저장된 레퍼런스 프레임들의 서브정수 픽셀 포지션들에 대한 값들을 산출하도록 구성될 수도 있다. 모션 추정 유닛 (42) 은 산출된 모션 벡터를 엔트로피 코딩 유닛 (56) 및 모션 보상 유닛 (44) 으로 전송한다. 모션 벡터에 의해 식별된 레퍼런스 프레임 블록은 예측 블록으로서 지칭될 수도 있다. 모션 보상 유닛 (44) 은 인터 예측 블록에 기초하여 예측 데이터를 산출할 수도 있다.
인트라 예측 유닛 (46) 은, 상술된 바와 같이, 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 수행되는 인터 예측에 대한 대안으로서, 현재 블록을 인트라 예측할 수도 있다. 특히, 인트라 예측 유닛 (46) 은 현재 블록을 인코딩하는데 이용할 인트라 예측 모드를 결정할 수도 있다. 일부 예들에서, 인트라 예측 유닛 (46) 은, 예를 들어, 별도의 인코딩 단계들 동안에, 다양한 인트라 예측 모드들을 이용하여 현재 블록을 인코딩할 수도 있고, 인트라 예측 유닛 (46) (또는, 일부 예들에서, 모드 선택 유닛 (40)) 은 테스트된 모드들로부터 이용할 적절한 인트라 예측 모드를 선택할 수도 있다. 예를 들어, 인트라 예측 유닛 (46) 은 다양한 테스트된 인트라 예측 모드들에 대한 레이트 왜곡 분석을 이용하여 레이트 왜곡 값들을 산출하고, 테스트된 모드들 중에서 최상의 레이트 왜곡 특성들을 갖는 인트라 예측 모드를 선택할 수도 있다. 레이트 왜곡 분석은 일반적으로, 인코딩된 블록과, 인코딩된 블록을 생성하기 위해 인코딩되었던 원래 인코딩되지 않은 블록 사이의 왜곡 (또는 오류) 의 양 뿐만 아니라 인코딩된 블록을 생성하는데 이용된 비트 레이트 (즉, 비트들의 수) 를 결정한다. 인트라 예측 유닛 (46) 은 그 왜곡들로부터 비 (ratio) 및 여러 인코딩된 블록들에 대한 레이트들을 산출하여 어느 인트라 예측 모드가 블록에 대한 최상의 또는 바람직한 레이트 왜곡 값을 나타내는지를 결정할 수도 있다.
본 개시의 기법들은 HEVC와 같은 인코딩 표준 및 기법들에 적용될 수도 있다. 일부 예들에서, HEVC에서와 같이, 가용 인트라 예측 모드들의 수는 코딩되는 블록 (예컨대, HEVC 에서 "코딩 유닛" 또는 "CU") 의 크기에 의존할 수도 있다. 각각의 인트라 예측 모드에 대해, 모드 인덱스가 할당될 수 있다. 도 3a 는 HEVC 와 함께 사용될 수도 있는 인트라 예측 모드들 및 대응하는 모드 인덱스들의 일 예를 나타낸다. 도 3a 의 화살표들은 예측 방향을 나타내고, 번호들은 모드 인덱스를 나타낸다. 도 3a 에 나타낸 모드 인덱스들은, 다른 도면들에 사용된 임의의 도면 부호들에 대응하는 것으로 생각되지 않아야 한다.
도 3b 및 도 3c의 예들에 나타낸 바처럼, 각 모드는 또한, 모드 인덱스와는 상이한 순차 모드 순서를 가질 수도 있다. 일반적으로, 하기 2개의 종류의 인트라 예측 모드들이 있다: (1) 인트라 예측이 일정 방향을 따라 수행되는 각도 모드 (angular mode), 및 (2) DC 및 평면 예측과 같은 비각도 모드 (non-angular mode). 최고 확률 모드 세트에서 양쪽 모두의 모드들이 각도에 관한 것일 때, 현재 알려진 기법들에 따라, 실제 모드의 추정은, 도 3b 및 도 3c의 예들에 나타낸 바처럼, 그 각도의 평균 또는 중앙일 수도 있다. 본 개시는, 실제 인트라 예측 모드의 추정을 결정하기 위한 새로운 기법들을 기술한다.
도 3b는 최고 확률 모드 세트에서 2개의 모드들의 예를 나타낸다. 도 3b의 모드들은 2개의 상이한 방식으로 라벨링된다. 원내에 있지 않은 숫자들은 인트라 예측 모드 인덱스들에 대응한다. 인트라 예측 모드 인덱스들은, 예를 들면, 얼마나 빈번하게 모드가 코딩에서 사용될 것으로 예상되는지에 대응할 수도 있지만, 임의의 그러한 상관들을 반드시 필요로 하는 것은 아니다. 원내에 있는 숫자들은 순차 모드 순서 (sequential mode order) 를 나타낸다. 순차 모드 순서는, 모드들의 예측 각도에 기초한 모드들의 순서에 대응한다. 순차 모드 순서에서, 예를 들면, 순차 모드 순서 6을 갖는 모드의 각도는 순차 모드 순서 5를 갖는 모드의 각도와 순차 모드 순서 7을 갖는 모드의 각도 사이에 있다. 도 3b의 예에서, 2개의 최고 확률 모드들은 모드 인덱스들 11 및 13을 갖는 인트라 예측 모드들이다. 이들 2개의 최고 확률 모드들은, 예를 들면, 2개의 이웃 블록들을 코딩하는데 사용된 모드들에 대응할 수도 있다.
종래 기술 기법들에 따르면, 그 2개의 최고 확률 모드들에 기초한 실제 인트라 예측 모드의 추정은 그 2개의 최고 확률 모드들의 순차 모드 순서들의 평균 또는 중앙일 수도 있다. 따라서, 도 3b의 예에서, 종래 기술 기법들에 따르면, 실제 인트라 예측 모드의 추정은 인트라 예측 모드 12 일 수도 있는데, 왜냐하면 순차 모드 순서 4 는 순차 모드 순서 6 및 순차 모드 순서 2 의 평균이기 때문이다. 하지만, 본 개시의 기법들에 따르면, 평균 또는 중앙보다는, 그 2개의 최고 확률 모드들 중 하나가 실제 인트라 예측 모드의 추정으로서 선택될 수도 있다. 따라서, 본 개시의 기법들에 따르면, 실제 인트라 예측 모드의 추정은 인트라 예측 모드 12 대신에 인트라 예측 모드 11 또는 인트라 예측 모드 13 중 어느 하나일 수도 있다. 인트라 예측 모드 11 및 인트라 예측 모드 13 중 어느 것이 실제 인트라 예측 모드에 대한 추정으로서 사용되는지 선택하기 위한 기법들은 아래에서 더 자세히 논의될 것이다.
도 3c는 최고 확률 모드 세트에서 2개의 최고 확률 모드들이 멀리 떨어질 때 (즉, 각도에서 큰 차이를 가질 때), 실제 인트라 예측 모드의 추정을 결정하는데 사용될 수도 있는 대안의 종래 기술 기법들의 예들을 나타낸다. 도 3c의 예에서, 2개의 최고 확률 모드들은 모드 인덱스들 13 및 16을 갖는 인트라 예측 모드들이다. 하나의 종래 기술 기법들에 따르면, 2개 최고 확률 모드들 사이의 각도가 클 때, 평균 또는 중앙이 2개 최고 확률 모드들에 대해 결정될 수 있고, 실제 인트라 예측 모드의 추정은 90 도 만큼 조정된 평균 또는 중앙 (예를 들면, 도 3c의 예에서, 모드 10으로부터 90도 회전된 모드 17) 일 수 있다. 대안적으로, 평균 또는 중앙은 하나의 최고 확률 모드와 다른 하나의 최고 확률 모드의 미러링된 방향 (mirrored direction) 사이에서 결정될 수 있다. 하지만, 본 개시의 기법들에 따르면, 실제 인트라 예측 모드의 추정은, 최고 확률 모드들이 멀리 떨어져 있을 때에도, 최고 확률 모드들 중 하나일 수도 있다. 따라서, 도 3c의 예에서, 실제 인트라 예측 모드의 추정은 인트라 예측 모드 17 대신에 인트라 예측 모드 16 또는 인트라 예측 모드 13 중 어느 하나일 수도 있다. 인트라 예측 모드 16 및 인트라 예측 모드 13 중 어느 것이 실제 인트라 예측 모드에 대한 추정으로서 사용되는지 선택하기 위한 기법들은 아래에서 더 자세히 논의될 것이다.
도 3b 및 도 3c에서 최고 확률 모드들은, 이미 코딩된 이웃 블록들의 모드들에 대응할 수도 있다. 도 3b 및 도 3c는 2개의 예들을 나타내도록 의도되고, 이들 예들에서 특정 최고 확률 모드들은 설명의 목적으로 랜덤으로 선택되었다. 도 3b 또는 도 3c에 나타낸 임의의 2개 모드들이 가능하게는, 본 개시의 기법들에 따른 최고 확률 모드들일 수 있다.
하기의 표 1 은 CU 크기와, 그 크기의 CU 들을 인코딩하는데 이용가능한 인트라 예측 모드들의 수 사이의 가능한 대응성 (correspondence) 의 하나의 예를 나타낸다. 표 1 의 예에서 볼 수 있는 바와 같이, 8×8, 16×16, 및 32×32 CU 들은 35 들은 도 3a 에 도시된 35 개의 인트라 예측 모드들을 이용할 수도 있는 반면, 4×4 및 64×64 CU 들은 보다 작은 세트의 인트라 예측 모드들을 이용할 수도 있다.
코딩 유닛 크기 인트라 예측 모드들의 수
4×4 18
8×8 35
16×16 35
32×32 35
64×64 4
어느 경우든, 블록에 대한 인트라 예측 모드를 선택한 후에, 인트라 예측 유닛 (46) 은 엔트로피 코딩 유닛 (56) 에 블록에 대한 선택된 인트라 예측 모드를 나타내는 정보를 제공할 수도 있다. 엔트로피 코딩 유닛 (56) 은 본 개시의 기법들에 따라 실제 인트라 예측 모드를 나타내는 정보를 인코딩할 수도 있다. 예를 들어, 비디오 인코더 (20) 는 현재 블록에 대한 실제 인트라 예측 모드와 실제 인트라 예측 모드의 추정 사이의 차이를 식별하는 차이 정보를 인코딩된 비트스트림에서 시그널링할 수도 있다. 위에서 설명된 바처럼, 실제 인트라 예측은, 레이트 왜곡 분석에 기초하여 결정될 수 있는 한편, 최고 확률 인트라 예측 모드들은, 콘텍스트 정보, 이를테면, 이미 코딩된 이웃 블록들을 코딩하는데 사용된 모드들에 기초하여 결정될 수 있다.
본 개시의 기법들에 따라, 인트라 예측 유닛 (46) 은 하나 이상의 상이한 기준에 따라, 최고 확률 모드들에 기초하여, 실제 모드의 추정을 결정할 수 있다. 최고 확률 모드들은, 이웃 블록들을 코딩하는데 사용된 모드들 및/또는 이웃 블록들의 크기들과 같은, 하나 이상의 이웃 블록들과 연관된 데이터로부터 도출된 콘텍스트에 기초하여 결정될 수 있다.
도 4는 현재 블록 및 그 현재 블록에 대해 최고 확률 모드들을 결정하는데 사용될 수도 있는 이웃 블록들의 예를 도시한다. 블록 (402) 는 현재 코딩되는 블록의 예를 나타낸다. 블록 (404) 는 상부 좌측 이웃 블록의 예를 나타낸다. 블록 (406) 는 상부 이웃 블록의 예를 나타낸다. 블록 (408) 은 상부 우측 이웃 블록의 예를 나타내고, 블록 (410) 은 좌측 이웃 블록의 예를 나타낸다. 블록들이 좌에서 우로 그리고 위에서 아래의 래스터 스캔 순서 (raster scan orde) 로 코딩되고 있다고 상정하면, 블록 (404), 블록 (406), 블록 (408) 및 블록 (410) 은, 블록 (402) 이 코딩되기 전에, 코딩된다. 그러므로, 이들 이웃 블록들의 코딩 모드들은 블록 (402) 이 코딩되기 전에 알려진다. 블록 (404), 블록 (406), 블록 (408) 및 블록 (410) 중 임의의 것과 도시되지 않은 다른 이미 코딩된 이웃 블록들이, 블록 (402) 에 대한 최고 확률 모드들을 결정하는데 사용될 수도 있다.
예시의 목적으로, 블록 (406) 및 블록 (410) 이 블록 (402) 에 대한 최고 확률 모드들을 결정하는데 사용된다고 상정한다. 또한, 블록 (402) 는 3개의 최고 확률 모드들을 갖는다고 상정한다. 블록 (406) 및 블록 (410) 이 동일한 각도 모드를 사용하여 코딩되는 경우들에서, 3개의 최고 확률 모드들은, 블록 (406) 및 블록 (410) 를 코딩하는데 사용된 각도 모드와 그 모드에 인접한 2개의 각도 모드들일 수도 있다. 블록 (406) 및 블록 (410) 이 상이한 각도 모드를 사용하여 코딩되는 경우들에서, 그러한 각도 모드들의 각각은 최고 확률 모드로서 사용될 수 있고, 제 3 최고 확률 모드는 비각도 모드들 (예를 들면, 평면 또는 DC) 중 하나로부터 선택될 수 있다. 블록 (406) 및 블록 (410) 중 하나가 각도 모드를 사용하여 코딩되고 다른 하나는 비각도 모드를 사용하여 코딩되는 경우들에서, 각도 모드 및 비각도 모드 양자 모두가 최고 확률 모드들로서 사용될 수 있고, 제 3 최고 확률 모드는, 최고 확률 모드로서 이미 사용되고 있는 비각도 모드와는 상이한 비각도 모드인 것으로 선택되거나 또는 어떤 다른 모드들인 것으로 선택될 수 있다. 이들 예들은, 비디오 인코더 (20) 및 비디오 디코더 (30) 가 최고 확률 모드들을 결정할 수 있는 다수의 방식들 중 몇개만을 나타낸다.
전술된 바처럼, 최고 확률 모드들이 결정된 후에, 인트라 예측 유닛 (46) 은, 코딩되는 블록에 대한 실제 인트라 예측 모드가 최고 확률 모드들 중 하나인지를 나타내는 하나 이상의 신택스 엘리먼트들을 생성할 수도 있다. 실제 인트라 예측 모드가 최고 확률 인트라 예측 모드들 중 하나가 아니면, 인트라 예측 모드 (46) 는, 최고 확률 모드들에 기초하여 실제 모드에 대한 추정을 결정하고, 실제 인트라 예측 모드와 실제 인트라 예측 모드에 대한 추정 사이의 차이를 나타내는 신택스 엘리먼트를 생성할 수도 있다. 비디오 인코더 (20) 가, 도 4를 참조하여 위에서 설명된 예에서 3개 최고 확률 모드들과 같은 2개 보다 많은 최고 확률 모드들을 결정하도록 구성되는 경우들에서, 비디오 인코더 (20) 는, 전부보다 적은 수의 최고 확률 모드들을 사용하여 실제 예측의 추정을 결정할 수도 있다. 하나의 예로서, 비디오 인코더 (20) 는, 2개의 이웃 블록들의 모드들에 대응하는 2개 최고 확률 모드들을 사용하여, 하지만 제 3 최고 확률 모드는 사용하지 않고서 실제 인트라 예측 모드의 추정을 결정할 수도 있다.
본 개시의 기법들에 따르면, 하나의 최고 확률 모드가 각도 예측 모드이고 다른 최고 확률 모드가 비각도 예측 모드일 때, 인트라 예측 유닛 (46) 은, 실제 인트라 예측 모드의 추정으로서 각도 최고 확률 모드를 사용하여 실제 인트라 예측 모드에 대한 추정을 결정할 수도 있다.
최고 확률 모드들 양자 모두가 각도 예측 모드들일 때, 실제 모드의 추정은 최고 확률 모드들 중 하나일 수 있다. 제 1 최고 확률 모드와 제 2 최고 확률 모드가 양자 모두 각도 모드들이지만 동일한 모드가 아닌 경우들에서, 인트라 예측 유닛 (46) 은, 실제 인트라 예측 모드의 추정으로서 2개의 최고 확률 모드들의 평균 또는 중앙을 사용하는 것과 반대로, 2개 최고 확률 모드들 중 하나를 실제 모드의 추정으로 선택할 수 있다. 이것은, 예를 들면, 2개의 이웃 블록들 양자 모두가 각도 모드들을 갖지만 상이한 각도 모드들을 가질 때 일어날 수도 있다. 이웃하는 블록들이 동일한 각도 모드를 갖는 경우들에서, 그 각도 모드는 최고 확률 모드들 중 하나일 수 있고, 실제 인트라 예측 모드가 블록을 코딩하는데 사용되지 않으면, 인트라 예측 유닛 (46) 은 그 각도 모드를 실제 인트라 예측 모드의 추정으로서 사용할 수 있다.
제 1 최고 확률 모드 및 제 2 최고 확률 모드가 상이한 각도 모드들인 경우들에서 실제 모드의 추정으로서 어느 최고 확률 모드를 사용할지를 선택하기 위하여, 다음 기술들 중 하나 이상이 사용될 수 있다. 하나의 예에서, 인트라 예측 유닛 (46) 은 실제 인트라 예측 모드의 추정으로서 수직 각도에 더 가까운 예측의 각도를 갖는 최고 확률 모드 (예를 들면, 도 3b 및 도 3c에서 인트라 예측 모드 0) 를 선택할 수 있다. 다른 예에서, 인트라 예측 유닛 (46) 은 실제 인트라 예측 모드의 추정으로서수직 각도 (예를 들면, 모드 0) 와 수평 각도 (예를 들면, 도 3b 및 도 3c에서 인트라 예측 모드 1) 사이에 있지 않은 최고 확률 모드를 선택할 수 있다. 즉, 2개 최고 확률 모드들 중 하나가 인트라 예측 모드 0 와 인트라 예측 모드 1 사이의 인트라 예측 모드이면, 인트라 예측 유닛 (46) 은, 인트라 예측 모드 0 와 인트라 예측 모드 1 사이에 있지 않은 최고 확률 인트라 예측 모드들 중 하나를 실제 인트라 예측 모드의 추정으로서 선택하도록 구성될 수 있다.
다른 예들에서, 인트라 예측 유닛 (46) 은 실제 인트라 예측 모드의 추정으로서 최고 확률 모드들 중 하나를 선택하고 그 선택을 시그널링할 수도 있다. 어느 최고 확률 모드가 실제 모드의 추정인지의 시그널링이, 예를 들면, 코드워드에 포함되어, 코드워드는 실제 모드의 추정, 및 실제 모드의 추정과 실제 모드 사이의 차이 양자 모두를 식별할 수 있다.
하나의 예에서, 인트라 예측 유닛 (46) 은 실제 인트라 예측 모드의 추정으로서 더 작은 인트라 모드 숫자를 갖는 최고 확률 모드를 선택할 수 있다. 예를 들어, 도 3b를 참조하면, 인트라 예측 모드 0 가 모드 1보다 더 바람직할 수도 있다. 대안적으로, 순차 모드 순서, 선호의 별개 순서, 또는 어떤 다른 순서가 사용될 수 있다.
하나의 예에서, 인트라 예측 유닛 (46) 은 실제 인트라 예측 모드의 추정으로서 이웃 블록의 정보에 기초하여 최고 확률 모드를 선택할 수 있다. 예를 들면, 인트라 예측 유닛 (46) 은, 상부 좌측 블록의 인트라 예측 모드를 체크한 다음, 상부 좌측 블록의 인트라 예측 모드에 더 가까운 최고 확률 모드를 실제 모드의 추정으로서 고를 수 있다. 예를 들어, 상부 이웃 블록 및 좌측 이웃 블록이 최고 확률 모드들을 결정하는데 사용되면, 상부 좌측 블록은 이 상황에서, 실제 모드의 추정으로서 어느 최고 확률 모드를 사용할지 선택하기 위해 사용될 수도 있다. 일 예로서 도 4를 사용하여, 블록 (406) 및 블록 (410) 의 모드들이 최고 확률 모드들로서 사용되면, 블록 (404) 의 인트라 예측 모드는, 블록 (406) 및 블록 (410) 중 어느 것이 실제 인트라 예측 모드의 추정으로서 사용될지를 결정하는데 사용될 수도 있다. 특히, 하나의 예에서, 순차 모드 순서에 기초하여, 블록 (404) 의 모드에 수치적으로 가장 가까운 블록 (406 또는 410) 의 모드가, 실제 인트라 예측 모드의 추정으로서 선택된다.
하나의 예에서, 인트라 예측 유닛 (46) 은 실제 인트라 예측 모드의 추정으로서 최고 확률 모드 블록 정보에 기초하여 최고 확률 모드를 선택할 수 있다. 예를 들어, 하나의 최고 확률 모드가 상부 이웃 블록으로부터 나오고 하나의 최고 확률 모드가 좌측 이웃 블록으로부터 나오면, 인트라 예측 유닛 (46) 은, 현재 블록의 유사한 크기를 갖는 블록에 속하는 최고 확률 모드를 실제 모드의 추정으로서 선택할 수도 있다. 이들 기준들에 추가적으로 또는 대안적으로, PU 깊이, 인터/인트라 모드, 또는 어떤 다른 타입의 블록 정보가 또한 사용될 수도 있다.
본 개시의 추가적인 기법들에 따르면, 비디오 인코더 (20) 는 추정된 실제 인트라 예측 모드들로서 최고 확률 모드들 양자 모두를 사용하여 추정된 실제 인트라 예측 모드를 결정할 수 있다. 예를 들면, 비디오 인코더 (20) 는, 최고 확률 모드들 중 하나에 대해, 순차 모드 순서에 의해 측정된 바처럼, 최단 거리를 사용함으로써 인트라 예측 모드에 대한 차이를 산출할 수 있다. 코드워드들은, 더 짧은 코드워드들이 더 작은 거리들에 일반적으로 사용되게, 소팅된 거리 (sorted distance) 에 기초하여 할당될 수 있다. 그러한 기법을 사용하여, 여러 모드들은 동일한 거리를 가질 수 있다. 그러므로, 본 개시는 같은 거리들을 갖는 모드들간에 구별을 위한 기법들을 설명한다. 기법들은, 예를 들면, 선호되는 최고 확률 모드, 선호되는 예측 방향 및/또는 이웃 블록 정보에 기초할 수도 있다. 이 맥락에서, "선호되는" 은, 인트라 예측 모드를 시그널링하기 위한 목적으로 특정 예측 방향 또는 특정 최고 확률 모드를 선택함에 있어서 비디오 인코더의 선호를 지칭하고, 최상의 코딩 성능을 제공하는 최고 확률 모드 또는 예측 방향과 반드시 일치될 필요는 없다.
일 예로서, 최고 확률 모드 0 이 최고 확률 모드 1에 상대적으로 선호되는 모드라고 상정하면, 최고 확률 모드들과 실제 모드들간의 거리들은 다음과 같이 소팅될 수도 있다: MPM0_+1, MPM0_-1, MPM1_+1, MPM1_-1, MPM0_+2, MPM0_-2, MPM1_+2, MPM1_-2, 기타 등등이며, 여기서 MPM0 는 제 1최고 확률 모드에 대응하고 MPM1는 제 2 최고 확률 모드에 대응한다. MPM0_+1는 제 1 최고 확률 모드로부터 (순차 모드 순서에 기초한) +1의 거리를 나타내고, MPM_-1는 제 1 최고 확률 모드로부터 -1 의 거리를 나타낸다. 다르게는, 소팅된 거리들은, MPM0_-1, MPM0_+1, MPM1_-1, MPM1_+1, MPM0_-2, MPM0_+2, MPM1_-2, MPM1_+2, 및 기타 등등일 수도 있다. 이들 소팅 순서들은, 많은 가능한 소팅 순서들 중 단지 2개만을 나타낸다. 이들 소팅 순서들은 일반적으로, 최소 코드워드로부터 최장 코드워드로의 각 거리에 할당된 코드워드의 길이에 대응한다. 따라서, 위에 나타낸 제 1 소팅 순서에 대해서, MPM0_+1 는 최단 코드워드를 갖는 반면, MPM1_-2 는 더 긴 코드워드를 가질 수도 있다. 위에 나타낸 제 2 소팅 순서에서, MPM0_1 는 최단 코드워드를 가질 수도 있다.
예를 들면, 인트라 예측 또는 인터 예측을 사용하여, 현재 블록을 예측한 후에, 비디오 인코더 (20) 는 코딩되는 원래 비디오 블록으로부터 모션 보상 유닛 (44) 또는 인트라 예측 유닛 (46) 에 의해 산출된 예측 데이터를 감산함으로써 잔여 비디오 블록을 형성할 수도 있다. 합산기 (50) 는 이 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 변환 프로세싱 유닛 (52) 은 변환, 이를테면 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환을 잔여 블록에 적용하며, 잔여 변환 블록 계수 값들을 포함하는 비디오 블록을 생성한다. 변환 프로세싱 유닛 (52) 은, DCT와 개념적으로 유사한 H.264 표준에 의해 정의된 것들과 같은 다른 변환들을 수행할 수도 있다. 웨이브릿 변환 (wavelet transform), 정수 변환, 서브밴드 변환 또는 다른 타입들의 변환들이 또한 사용될 수 있다. 어느 경우든, 변환 프로세싱 유닛 (52) 은 변환을 잔여 블록에 적용하며, 잔여 변환 계수들의 블록을 생성한다. 변환은 잔여 정보를 픽셀 값 도메인으로부터 주파수 도메인과 같은 변환 도메인으로 변환할 수도 있다. 양자화 유닛 (54) 은 잔여 변환 계수들을 양자화하여 비트 레이트를 더 감소시킨다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 깊이를 감소시킬 수도 있다. 양자화의 정도는 양자화 파라미터를 조정함으로써 변경될 수도 있다.
양자화 다음에, 엔트로피 코딩 유닛 (56) 은 양자화된 변환 계수를 엔트로피 코딩한다. 예를 들면, 엔트로피 코딩 유닛 (56) 은 CAVLC (content adaptive variable length coding), CABAC (context adaptive binary arithmetic coding), 또는 다른 엔트로피 코딩 기술을 수행할 수도 있다. 엔트로피 코딩 유닛 (56) 에 의한 엔트로피 코딩 다음에, 엔코딩된 비디오는 다른 디바이스로 송신되거나 또는 나중의 송신 또는 취출을 위해 보관될 수도 있다. 콘텍스트 적응적 2진 산술 코딩의 경우, 콘텍스트는 이웃 블록들 및/또는 블록 크기들에 기초할 수도 있다.
일부의 경우, 엔트로피 코딩 유닛 (56) 또는 비디오 인코더 (20) 의 다른 유닛은 위에서 설명한 바와 같은 인트라 예측 모드의 코딩 및 엔트로피 코딩에 더해서, 다른 코딩 기능들을 수행하도록 구성될 수도 있다. 예를 들어, 엔트로피 코딩 유닛 (56) 은 블록들 및 파티션들에 대한 코딩된 블록 패턴 (CBP) 값들을 결정하도록 구성될 수도 있다. 또한, 일부의 경우, 엔트로피 코딩 유닛 (56) 은 매크로블록 또는 그의 파티션에서 계수들의 런 길이 코딩 (run length coding) 을 수행할 수도 있다. 특히, 엔트로피 코딩 유닛 (56) 은 지그-재그 스캔 또는 다른 스캔 패턴을 적용하여, 매크로블록 또는 파티션에서 변환 계수들을 스캔하고, 추가적인 압축을 위해 제로들의 런들을 인코딩할 수도 있다. 엔트로피 코딩 유닛 (56) 은 또한 인코딩된 비디오 비트스트림에서의 송신에 적합한 신택스 엘리먼트들을 갖는 헤더 정보를 구성할 수도 있다.
역 양자화 유닛 (58) 및 역 변환 프로세싱 유닛 (60) 은 역 양자화 및 역 변환을 각각 적용하여 예를 들면 레퍼런스 블록으로서 나중에 사용하기 위해 픽셀 도메인에서 잔여 블록을 재구성한다. 모션 보상 유닛 (44) 은, 메모리 (64) 에서 프레임들 중 하나의 예측 블록에 잔여 블록을 가산함으로써 레퍼런스 블록을 산출할 수도 있다. 모션 보상 유닛 (44) 은 또한 하나 이상의 보간 필터들을 그 재구성된 잔여 블록에 적용하여, 모션 추정에 사용하기 위한 서브정수 픽셀 값들을 산출할 수도 있다. 합산기 (62) 는 재구성된 잔여 블록을 모션 보상 유닛 (44) 에 의해 생성되는 모션 보상된 예측 블록에 가산하여 재구성된 비디오 블록을 생성해 메모리 (64) 에 저장한다. 재구성된 비디오 블록은 모션 추정 유닛 (42) 및 모션 보상 유닛 (44) 에 의해 레퍼런스 블록으로서 사용되어 후속 비디오 프레임에서 블록을 인터 인코딩할 수도 있다.
이런 방식으로, 비디오 인코더 (20) 는, 현재의 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하고, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드에 기초하여, 현재 비디오 블록을 코딩하는데 사용되는 실제 인트라 예측 모드의 추정을 결정하도록 구성된 비디오 디코더의 하나의 예를 나타낸다. 비디오 인코더 (20) 는, 제 1 최고 확률 모드가 각도 인트라 예측 모드이고 제 2 최고 확률 모드가 비각도 인트라 예측 모드임에 응답하여, 실제 인트라 예측 모드의 추정으로서 제 1 최고 확률 모드를 선택하는 것에 의해, 그리고 제 1 최고 확률 모드 및 제 2 최고 확률 모드 양자 모두가 각도 예측 모드들임에 응답하여, 제 1 최고 확률 모드 및 제 2 최고 확률 모드 중 하나를 실제 인트라 예측의 추정으로 선택하는 것에 의해 실제 인트라 예측 모드의 추정을 결정할 수 있다.
도 5는 인코딩된 비디오 시퀀스를 디코딩하는 비디오 디코더 (30) 의 예를 예시하는 블록도이다. 도 5 의 예에서, 비디오 디코더 (30) 는, 엔트로피 디코딩 유닛 (70), 모션 보상 유닛 (72), 인트라 예측 유닛 (74), 역 양자화 유닛 (76), 역 변환 유닛 (78), 메모리 (82) 및 합산기 (80) 를 포함한다. 비디오 디코더 (30) 는, 일부 예들에서, 비디오 인코더 (20) (도 2) 에 대해 설명된 인코딩 단계에 일반적으로 상반되는 디코딩 단계를 수행할 수도 있다. 모션 보상 유닛 (72) 은 엔트로피 디코딩 유닛 (70) 으로부터 수신된 모션 벡터들에 기초하여 예측 데이터를 생성할 수도 있다. 모션 보상 유닛 (72) 은 비트스트림에서 수신된 모션 벡터들을 이용하여 메모리 (82) 에 있는 레퍼런스 프레임들에서 예측 블록을 식별할 수도 있다. 인트라 예측 유닛 (74) 은 비트스트림에서 수신된 인트라 예측 모드들을 이용하여 공간적으로 인접한 블록들로부터 예측 블록을 형성할 수도 있다.
본 개시에 있는 기법들의 예에서, 엔트로피 디코딩 유닛 (70) 은, 비디오 데이터의 인코딩된 블록을 디코딩하는데 이용할 인트라 예측 모드를 나타내는 코드워드를 수신한다. 코드워드는 차이 값으로 맵핑될 수도 있고, 차이 값은 추정된 실제 인트라 예측 모드와 실제 인트라 예측 모드 사이의 차이를 식별할 수도 있다. 인트라 예측 유닛 (74) 은, 예를 들면, 인코딩된 블록에 대한 크기 및/또는 인코딩된 블록에 대한 좌측 이웃 및 상부 이웃 블록에 대한 인트라 예측 모드들에 기초하여, 인코딩된 블록에 대한 콘텍스트를 결정할 수도 있다. 콘텍스트에 기초하여, 인트라 예측 유닛 (74) 은 블록을 디코딩하는데 이용할 하나 이상의 최고 확률 인트라 예측 모드들을 결정할 수도 있다. 최고 확률 모드들에 기초하여, 인트라 예측 유닛 (74) 은 인코딩된 블록을 위한 추정된 실제 인트라 예측 모드를 결정할 수도 있다. 추정된 실제 인트라 예측 모드 및 인코딩된 비트스트림에서 시그널링되는 차이 값에 기초하여, 인트라 예측 유닛 (74) 은 인코딩된 블록을 인코딩하는데 사용된 실제 인트라 예측 모드를 결정할 수도 있다.
인트라 예측 유닛 (74) 은, 예를 들면, 이웃하는 이전에 디코딩된 블록들의 픽셀들을 사용하여, 인코딩된 블록을 인트라 예측하기 위해 인트라 예측 모드의 표시 (indication) 를 사용할 수도 있다. 블록이 인터 예측 모드 인코딩되는 예들에서, 모션 보상 유닛 (72) 은 모션 벡터를 정의하는 정보와, 예측 방향 및 레퍼런스 화상 인덱스를 나타내는 정보를 수신하여, 인코딩된 블록을 위한 모션 보상된 예측 데이터를 취출할 수도 있다. 어느 경우든, 모션 보상 유닛 (72) 또는 인트라 예측 유닛 (74) 은 합산기 (80) 에 예측 블록을 정의하는 정보를 제공할 수도 있다.
인트라 예측 유닛 (74) 은 일반적으로, 도 2의 인트라 예측 유닛 (46) 을 참조하여 위에서 설명된 바처럼 최고 확률 모드들 및 추정된 실제 인트라 예측 모드들을 결정하기 위한 동일한 기법들을 구현할 수도 있다. 예를 들면, 전술된 것과 유사한 방식으로, 인트라 예측 유닛 (74) 은, 이미 디코딩된 이웃 블록들에 기초하여 디코딩된 비디오 블록에 대한 최고 확률 모드들을 결정할 수 있다. 최고 확률 모드들이 결정된 후에, 인트라 예측 유닛 (74) 은, 코딩되는 블록에 대한 실제 인트라 예측 모드가 최고 확률 모드들 중 하나인지를 나타내는 신택스 엘리먼트들을 파싱 (parsing) 할 수 있다. 실제 인트라 예측 모드가 최고 확률 인트라 예측 모드들 중 하나가 아니면, 인트라 예측 모드 (74) 는, 최고 확률 모드들에 기초하여 실제 모드에 대한 추정을 결정하고, 실제 인트라 예측 모드와 실제 인트라 예측 모드에 대한 추정 사이의 차이를 나타내는 신택스를 파싱할 수도 있다. 비디오 디코더 (30) 는 예를 들어, 인코딩된 비디오 비트스트림에서 차이 정보를 수신하고 그 차이 정보에 기초하여 현재 비디오 블록에 대한 실제 인트라 예측 모드 및 실제 인트라 예측 모드의 추정을 결정할 수도 있다.
본 개시의 기법들에 따르면, 하나의 최고 확률 모드가 각도 예측 모드이고 다른 최고 확률 모드가 비각도 예측 모드일 때, 인트라 예측 유닛 (74) 은, 실제 인트라 예측 모드의 추정으로서 각도 최고 확률 모드를 사용하여, 실제 인트라 예측 모드에 대한 추정을 결정할 수 있다.
최고 확률 모드들 양자 모두가 각도 예측 모드들일 때, 실제 모드의 추정은 최고 확률 모드들 중 하나일 수 있다. 제 1 최고 확률 모드 및 제 2 최고 확률 모드가 동일한 인트라 예측 모드인 경우들에서, 인트라 예측 유닛 (72) 은 그 인트라 예측 모드를 그 실제 인트라 예측 모드의 추정으로서 사용할 수 있다. 제 1 최고 확률 모드와 제 2 최고 확률 모드가 양자 모두 각도 모드들이지만 동일한 모드가 아닌 경우들에서, 인트라 예측 유닛 (72) 은, 실제 인트라 예측 모드의 추정으로서 2개의 최고 확률 모드들의 평균 또는 중앙을 사용하는 것과 반대로, 2개 최고 확률 모드들 중 하나를 실제 모드의 추정으로 선택할 수 있다.
제 1 최고 확률 모드 및 제 2 최고 확률 모드가 상이한 각도 모드들인 경우들에서 실제 인트라 예측 모드의 추정으로서 어느 최고 확률 모드를 사용할지를 선택하기 위하여, 다음 기술들 중 하나 이상이 사용될 수 있다. 하나의 예에서, 인트라 예측 유닛 (72) 은 실제 인트라 예측 모드의 추정으로서 수직 각도에 더 가까운 예측의 각도를 갖는 최고 확률 모드 (예를 들면, 도 3b 및 도 3c에서 인트라 예측 모드 0) 를 선택할 수 있다. 다른 예에서, 인트라 예측 유닛 (72) 은 실제 인트라 예측 모드의 추정으로서 수직 각도와 수평 각도 (예를 들면, 도 3b 및 도 3c에서 인트라 예측 모드 1) 사이에 있지 않은 최고 확률 모드를 선택할 수 있다. 즉, 2개 최고 확률 모드들 중 하나가 인트라 예측 모드 0 와 인트라 예측 모드 1 사이의 인트라 예측 모드이면, 인트라 예측 유닛 (72) 은, 인트라 예측 모드 0 와 인트라 예측 모드 1 사이에 있지 않은 최고 확률 인트라 예측 모드들 중 하나를 실제 인트라 예측 모드의 추정으로서 선택하도록 구성될 수 있다.
다른 예들에서, 인트라 예측 유닛 (72) 은 실제 인트라 예측 모드의 추정으로서 최고 확률 모드들 중 하나를 선택하고 그 선택을 시그널링할 수도 있다. 어느 최고 확률 모드가 실제 모드의 추정인지의 시그널링이, 예를 들면, 코드워드에 포함되어, 코드워드는 실제 모드의 추정, 및 실제 모드의 추정과 실제 모드 사이의 차이 양자 모두를 식별할 수 있다.
하나의 예에서, 인트라 예측 유닛 (72) 은 실제 인트라 예측 모드의 추정으로서 더 작은 인트라 모드 숫자를 갖는 최고 확률 모드를 선택할 수 있다. 예를 들어, 도 3b를 참조하면, 인트라 예측 모드 0 이 모드 1보다 더 바람직할 수도 있다. 대안적으로, 순차 모드 순서, 선호의 별개 순서, 또는 어떤 다른 순서가 사용될 수 있다.
하나의 예에서, 인트라 예측 유닛 (72) 은 실제 인트라 예측 모드의 추정으로서 이웃 블록의 정보에 기초하여 최고 확률 모드를 선택할 수 있다. 예를 들면, 인트라 예측 유닛 (72) 은, 상부 좌측 블록의 인트라 예측 모드를 체크한 다음, 상부 좌측 블록의 인트라 예측 모드에 더 가까운 최고 확률 모드를 실제 모드의 추정으로서 고를 수 있다. 예를 들어, 상부 이웃 블록 및 좌측 이웃 블록이 최고 확률 모드들을 결정하는데 사용되면, 상부 좌측 블록은 이 상황에서, 실제 모드의 추정으로서 어느 최고 확률 모드를 사용할지 선택하기 위해 사용될 수도 있다. 일 예로서 도 4를 사용하여, 블록 (406) 및 블록 (410) 의 모드들이 최고 확률 모드들로서 사용되면, 블록 (404) 의 인트라 예측은, 블록 (406) 및 블록 (410) 중 어느 것이 실제 인트라 예측 모드의 추정으로서 사용될지를 결정하는데 사용될 수도 있다.
하나의 예에서, 인트라 예측 유닛 (72) 은 실제 인트라 예측 모드의 추정으로서 최고 확률 모드 블록 정보에 기초하여 최고 확률 모드를 선택할 수 있다. 예를 들어, 하나의 최고 확률 모드가 상부 이웃 블록으로부터 나오고 하나의 최고 확률 모드가 좌측 이웃 블록으로부터 나오면, 인트라 예측 유닛 (72) 은, 현재 블록의 크기와 동일하거나 유사한 크기를 갖는 블록에 속하는 최고 확률 모드를 실제 모드의 추정으로서 선택할 수도 있다. 예를 들어, 현재 코딩되는 블록이 16×16 블록이고 2개의 이웃 블록들이 각각 4×4 및 8×8이면, 8×8 블록의 모드가 실제 인트라 예측 모드의 추정으로서 선택될 수도 있는데, 왜냐하면 8×8 블록이 그 코딩되는 블록에 크기가 더 가깝기 때문이다. 이들 기준들에 추가적으로 또는 대안적으로, PU 깊이, 인터/인트라 모드, 또는 어떤 다른 타입의 블록 정보가 또한 사용될 수도 있다. 예를 들어, 2개의 최고 확률 모드들 사이에서 선택시, 코딩되는 블록에 동일하거나 가장 가까운 PU 깊이를 갖는 블록과 연관된 최고 확률 모드가 실제 인트라 예측 모드의 추정으로서 선택될 수도 있다.
본 개시의 추가적인 기법들에 따르면, 인트라 예측 유닛 (72) 은 추정된 실제 인트라 예측 모드들로서 최고 확률 모드들 양자 모두를 사용하여 추정된 실제 인트라 예측 모드를 결정할 수 있다. 예를 들면, 인트라 예측 유닛 (72) 은 최고 확률 모드들에 대한 최단 거리를 사용함으로써 인트라 예측 모드에 대한 차이를 산출할 수 있다. 코드워드들은, 더 짧은 코드워드들이 더 작은 거리에 일반적으로 사용되게, 소팅된 거리에 기초하여 할당될 수 있다. 그러한 기법을 사용하여, 여러 모드들은 동일한 거리를 가질 수 있다. 그러므로, 본 개시는 같은 거리들을 갖는 모드들간에 구별을 위한 기법들을 설명한다. 기법들은, 예를 들면, 선호되는 최고 확률 모드, 선호되는 예측 방향 및/또는 이웃 블록 정보에 기초할 수도 있다.
역 양자화 유닛 (76) 은 비트스트림에서 제공되고 엔트로피 디코딩 유닛 (70) 에 의해 디코딩된 양자화된 블록 계수들을 역 양자화, 즉 탈 양자화한다. 역 양자화 프로세스는, 예를 들어, H.264 디코딩 표준에 의해 정의된 바와 같은, 또는 HEVC 테스트 모델에 의해 수행되는 바와 같은 종래의 프로세스를 포함할 수도 있다. 역 양자화 프로세스는 또한, 양자화의 정도, 및, 마찬가지로, 적용되어야 하는 역 양자화의 정도를 결정하기 위해, 각각의 매크로블록에 대해 인코더 (20) 에 의해 산출된 양자화 파라미터 QPY 의 이용을 포함할 수도 있다.
역 변환 프로세싱 유닛 (58) 은, 픽셀 도메인에서 잔여 블록들을 생성하기 위해 변환 계수들에, 역 변환, 예를 들어, 역 DCT, 역 정수 변환, 또는 개념적으로 유사한 역 변환 프로세스를 적용한다. 모션 보상 유닛 (72) 은 모션 보상된 블록들을 생성하며, 가능하게는 보간 필터들에 기초하여 보간을 수행한다. 서브픽셀 정밀도를 갖는 모션 추정에 이용될 보간 필터들을 위한 식별자들이 신택스 요소들에 포함될 수도 있다. 모션 보상 유닛 (72) 은 비디오 블록의 인코딩 동안 비디오 인코더 (20) 에 의해 이용되는 바와 같이 보간 필터들을 이용하여 레퍼런스 블록의 서브정수 픽셀들에 대한 보간된 값들을 산출할 수도 있다. 모션 보상 유닛 (72) 은 수신된 신택스 정보에 따라 비디오 인코더 (20) 에 의해 이용된 보간 필터들을 결정하고, 보간 필터들을 이용하여 예측 블록들을 생성할 수도 있다.
모션 보상 유닛 (72) 은 인코딩된 비디오 시퀀스의 프레임(들) 을 인코딩하기 위해 이용된 블록들의 크기들을 결정하기 위한 신택스 정보, 인코딩된 비디오 시퀀스의 프레임 또는 슬라이스의 각각의 블록이 어떻게 파티션되는지를 설명하는 파티션 정보, 각각의 파티션이 어떻게 인코딩되는지를 나타내는 모드들, 각각의 인터 인코딩된 블록 또는 파티션에 대한 하나 이상의 레퍼런스 프레임들 (및 레퍼런스 프레임 리스트들), 그리고 인코딩된 비디오 시퀀스를 디코딩하기 위한 다른 정보 중 일부를 이용한다.
합산기 (80) 는 잔여 블록들을 모션 보상 유닛 (72) 또는 인트라 예측 유닛 (74) 에 의해 발생된 대응하는 예측 블록들과 합산하여 디코딩된 블록들을 형성한다. 원하는 경우, 블로키니스 아티팩트 (blockiness artifact) 들을 제거하기 위하여 디코딩된 블록들을 필터링하도록 디블록킹 필터가 또한 적용될 수도 있다. 그 다음 디코딩된 비디오 블록들은 메모리 (82) 에 저장되고, 메모리는 후속 모션 보상을 위해 레퍼런스 블록들을 제공하고, 또한 디스플레이 디바이스 (예컨대, 도 1 의 디스플레이 디바이스 (32)) 상에서의 표시를 위한 디코딩된 비디오를 생성한다.
이런 방식으로, 비디오 디코더 (30) 는, 현재의 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하고, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드에 기초하여, 현재 비디오 블록을 코딩하는데 사용되는 실제 인트라 예측 모드의 추정을 결정하도록 구성된 비디오 디코더의 하나의 예를 나타낸다. 비디오 디코더 (30) 는, 제 1 최고 확률 모드가 각도 인트라 예측 모드이고 제 2 최고 확률 모드가 비각도 인트라 예측 모드임에 응답하여, 실제 인트라 예측 모드의 추정으로서 제 1 최고 확률 모드를 선택하는 것에 의해, 그리고 제 1 최고 확률 모드 및 제 2 최고 확률 모드 양자 모두가 각도 예측 모드들임에 응답하여, 제 1 최고 확률 모드 및 제 2 최고 확률 모드 중 하나를 실제 인트라 예측의 추정으로 선택하는 것에 의해 실제 인트라 예측 모드의 추정을 결정할 수 있다.
도 6은 본 개시의 기법들에 따라 인트라 예측 모드들을 시그널링하는 예시적인 방법을 도시하는 플로우차트이다. 도 6의 기법들은, 일반 비디오 코더 (generic video coder) 를 참조하여 설명될 것이고, 이는 비디오 인코더 (20) 및 비디오 디코더 (30) 와 같은 비디오 인코더 또는 비디오 디코더 중 어느 하나일 수도 있다.
비디오 코더가 현재 비디오 블록에 대한 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정할 수 있다 (602). 제 1 및 제 2 최고 확률 인트라 예측 모드들은, 예를 들면, 코딩될 현재 블록에 인접한 상부 이웃 블록에 할당된 인트라 예측 모드들 그리고 코딩될 현재 블록에 인접한 좌측 이웃 블록에 할당된 모드로서, 선택될 수도 있다. 제 1 최고 확률 모드 및 제 2 최고 확률 모드 중 하나가 각도이고 하나가 비각도이면 (604, 예), 비디오 코더는, 현재 비디오 블록의 실제 인트라 예측 모드의 추정으로서 각도인 최고 확률 모드를 선택할 수 있다 (606). 제 1 최고 확률 모드 및 제 2 최고 확률 모드가 양쪽 모두 각도 모드이고 (604, 아니오), 동일하면 (608, 예), 비디오 코더는, 실제 인트라 예측 모드의 추정으로서 그 모드를 선택할 수 있다 (610). 제 1 최고 확률 모드와 제 2 최고 확률 모드가 양자 모두 각도 모드들이지만 (604, 아니오), 동일하지 않으면 (608, 아니오), 비디오 코더는 실제 인트라 예측의 추정으로서 제 1 최고 확률 모드 및 제 2 최고 확률 모드 중 하나를 선택할 수 있다 (612). 이 경우에, 비디오 코더는, 전술된 기법들 중 하나 이상을 사용하여 실제 인트라 예측 모드의 추정으로서 제 1 최고 확률 모드와 제 2 최고 확률 모드 중 어느 것을 사용할지를 선택할 수 있다.
도 6의 비디오 코더가 비디오 인코더인 경우들에서, 비디오 코더는 실제 인트라 예측 모드의 결정된 추정과 비디오 데이터의 블록을 코딩하는데 사용된 실제 인트라 예측 모드 사이의 차이를 결정하고 인코딩된 비디오 데이터의 비트스트림에서 차이의 표시를 포함할 수도 있다. 도 6의 비디오 코더가 비디오 디코더인 경우들에서, 비디오 코더는 실제 인트라 예측 모드의 추정과 인코딩된 비디오 데이터의 비트스트림에서 실제 인트라 예측 모드 사이의 차이의 표시를 수신하고, 그 차이 정보 및 실제 인트라 예측 모드의 결정된 추정을 사용하여, 비디오 데이터의 볼록을 코딩하는데 사용된 실제 인트라 예측 모드를 결정할 수도 있다.
도 6을 참조하여 설명된 비디오 코더가 또한, 2개 보다 많은 최고 확률 인트라 예측 모드들을 결정할 수도 있지만, 이 예의 목적에서는, 실제 인트라 예측 모드의 추정은, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드 중 하나로 선택될 수 있다.
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수도 있다. 소프트웨어로 구현되면, 그 기능들은 컴퓨터 판독가능 매체 상의 하나 이상의 명령 또는 코드로서 저장되거나 송신될 수도 있고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수도 있다. 컴퓨터 판독가능 매체는, 예를 들면, 통신 프로토콜에 따라, 일 장소로부터 다른 장소로의 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 또는 데이터 저장 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체를 포함할 수도 있다. 이런 방식으로, 컴퓨터 판독가능 매체는 일반적으로, (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 캐리어 파와 같은 통신 매체에 대응할 수도 있다. 데이터 저장 매체는, 본 개시에서 설명된 기술들의 구현을 위해 명령들, 코드 및/또는 데이터 구조들을 취출하기 위하여 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수도 있다. 컴퓨터 프로그램 제품은 컴퓨터 판독가능 매체를 포함할 수 있다.
비한정적 예로서, 이러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장, 자성 디스크 저장 또는 다른 자성 저장 디바이스들, 플래시 메모리, 또는 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 명칭된다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 연선 (twisted pair), 디지털 가입자 라인 (DSL), 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 그 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오, 및 마이크로파와 같은 무선 기술은 매체의 정의 내에 포함된다. 하지만, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 접속, 캐리어 파, 신호 또는 다른 일시적 매체를 포함하는 것이 아니라, 대신에 비일시적, 유형의 저장 매체를 포함한다는 것이 이해되야 한다. 여기에 사용된 바와 같이, 디스크 (disk) 및 디스크 (disc) 는 콤팩트 디스크 (CD), 레이저 디스크, 광 디스크, DVD (digital versatile disc), 플로피 디스크 및 블루레이 디스크를 포함하며, 여기서, 디스크 (disk) 는 보통 데이터를 자기적으로 재생하지만, 디스크 (disc) 는 레이저를 이용하여 광학적으로 데이터를 재생한다. 또한, 상기의 조합은 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
명령들은 하나 이상의 프로세서, 이를테면 하나 이상의 DSP (digital signal processor), 범용 마이크로프로세서, ASIC (application specific integrated circuit), FPGA (field programmable logic array), 또는 다른 동등한 집적 또는 이산 로직 회로에 의해 실행될 수도 있다. 따라서, 본원에 사용된 용어 "프로세서" 는 이전 구조 중 임의의 것 또는 본원에 설명된 기술들의 구현에 적합한 임의의 다른 구조를 지칭할 수도 있다. 추가로, 일부 양태들에서, 여기서 설명된 기능은 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 모듈 및/또는 소프트웨어 모듈 내에 제공되거나 또는 결합된 코덱에 포함될 수도 있다. 또한, 그 기법들은 하나 이상의 회로 또는 로직 엘리먼트들에서 완전히 구현될 수 있다.
본 개시의 기법들은 무선 핸드셋, 집적 회로 (IC) 또는 IC 들의 세트 (예를 들면, 칩 세트) 를 포함하여, 폭넓게 다양한 디바이스들 또는 장치들에서 구현될 수도 있다. 다양한 컴포넌트들, 모듈들 또는 유닛들이, 개시된 기술들을 수행하도록 구성된 디바이스들의 기능적인 양태들을 강조하기 위하여 본 개시에 설명되었지만, 다른 하드웨어 유닛들에 의한 실현을 반드시 필요로 하는 것은 아니다. 오히려, 전술된 바처럼, 다양한 유닛들이 코덱 하드웨어 유닛으로 결합될 수도 있거나 또는 적합한 소프트웨어 및/또는 펌웨어와 함께, 전술된 하나 이상의 프로세서들을 포함하는 연동적인 (interoperative) 하드웨어 유닛들의 집합에 의해 제공될 수도 있다.
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 있다.

Claims (32)

  1. 비디오 데이터를 디코딩하는 방법으로서,
    현재 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하는 단계;
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드에 기초하여, 상기 현재 비디오 블록을 코딩하는데 사용된 실제 인트라 예측 모드의 추정을 결정하는 단계로서, 상기 실제 인트라 예측 모드의 추정을 결정하는 단계는,
    제 1 최고 확률 인트라 예측 모드가 각도 인트라 예측 모드이고 제 2 최고 확률 인트라 예측 모드가 비각도 인트라 예측 모드인 것에 응답하여, 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드를 선택하는 단계;
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 양자 모두가 상이한 각도 예측 모드들인 것에 응답하여, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 더 작은 인트라 모드 숫자를 갖고 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 상기 현재 비디오 블록에 크기가 더 가까운 비디오 데이터의 블록과 연관되는지 중 적어도 하나에 기초하여, 상기 실제 인트라 예측의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 또는 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 단계를 포함하는, 상기 실제 인트라 예측 모드의 추정을 결정하는 단계;
    차이 정보를 수신하는 단계;
    상기 실제 인트라 예측 모드의 추정 및 상기 차이 정보에 기초하여 상기 현재 비디오 블록에 대한 실제 인트라 예측 모드를 결정하는 단계; 및
    상기 실제 인트라 예측 모드를 사용하여 재구성된 비디오 블록을 생성하는 단계를 포함하는, 비디오 데이터를 디코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 단계는,
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 수직 각도에 더 가까운 각도를 갖는 최고 확률 인트라 예측 모드인지를 결정하는 단계; 및
    상기 수직 각도에 더 가까운 각도를 갖는 최고 확률 인트라 예측 모드를 상기 실제 인트라 예측 모드의 추정으로서 선택하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  3. 제 1 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 단계는, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 수직 각도와 수평 각도 사이에 있지 않은지를 선택하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  4. 제 1 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 단계는, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 상기 실제 인트라 예측 모드의 추정으로서 시그널링하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  5. 제 1 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 단계는, 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 더 작은 인트라 모드 숫자를 갖는지를 선택하는 단계를 더 포함하는, 비디오 데이터를 디코딩하는 방법.
  6. 제 1 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 단계는 하나 이상의 이웃 블록들의 정보에 적어도 부분적으로 기초하는, 비디오 데이터를 디코딩하는 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 비디오 데이터를 코딩하기 위한 디바이스로서,
    상기 디바이스는,
    비디오 데이터를 저장하기 위한 메모리; 및
    하나 이상의 프로세서들을 포함하는 비디오 코더를 포함하고,
    상기 비디오 코더는:
    상기 비디오 데이터의 현재 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하고;
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드에 기초하여, 상기 현재 비디오 블록을 코딩하는데 사용된 실제 인트라 예측 모드의 추정을 결정하는 것으로서, 상기 실제 인트라 예측 모드의 추정을 결정하는 것은,
    제 1 최고 확률 인트라 예측 모드가 각도 인트라 예측 모드이고 제 2 최고 확률 인트라 예측 모드가 비각도 인트라 예측 모드인 것에 응답하여, 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드를 선택하고;
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 양자 모두가 상이한 각도 예측 모드들인 것에 응답하여, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 더 작은 인트라 모드 숫자를 갖고 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 상기 현재 비디오 블록에 크기가 더 가까운 비디오 데이터의 블록과 연관되는지 중 적어도 하나에 기초하여, 상기 실제 인트라 예측의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 또는 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 것을 포함하는, 상기 실제 인트라 예측 모드의 추정을 결정하는 것; 및
    차이 정보를 코딩하도록 구성되되, 상기 차이 정보는 상기 실제 인트라 예측 모드의 추정 및 상기 실제 인트라 예측 모드 간의 차이를 포함하는, 비디오 데이터를 코딩하기 위한 디바이스.
  12. 제 11 항에 있어서,
    상기 비디오 코더는, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 수직 각도에 더 가까운 각도를 갖는 최고 확률 인트라 예측 모드인지를 결정하고 상기 실제 인트라 예측 모드의 추정으로서 상기 수직 각도에 더 가까운 각도를 갖는 최고 확률 인트라 예측 모드를 선택하는 것에 의해 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하도록 구성되는, 비디오 데이터를 코딩하기 위한 디바이스.
  13. 제 11 항에 있어서,
    상기 비디오 코더는, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 수직 각도와 수평 각도 사이에 있지 않은지를 선택하는 것에 의해 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하도록 구성되는, 비디오 데이터를 코딩하기 위한 디바이스.
  14. 제 11 항에 있어서,
    상기 비디오 코더는, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 상기 실제 인트라 예측 모드의 추정으로서 시그널링하는 것에 의해 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하도록 구성되는, 비디오 데이터를 코딩하기 위한 디바이스.
  15. 제 11 항에 있어서,
    상기 비디오 코더는, 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 더 작은 인트라 모드 숫자를 갖는지를 선택하는 것에 의해 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하도록 구성되는, 비디오 데이터를 코딩하기 위한 디바이스.
  16. 제 11 항에 있어서,
    상기 비디오 코더는, 하나 이상의 이웃 비디오 블록들의 정보의 블록에 적어도 부분적으로 기초하여 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하도록 구성되는, 비디오 데이터를 코딩하기 위한 디바이스.
  17. 삭제
  18. 제 11 항에 있어서,
    상기 비디오 코더는 비디오 디코더이고,
    상기 차이 정보를 코딩하는 것은 상기 차이 정보를 수신하는 것을 포함하는, 비디오 데이터를 코딩하기 위한 디바이스.
  19. 제 18 항에 있어서,
    상기 비디오 코더는 또한,
    상기 실제 인트라 예측 모드를 사용하여 재구성된 비디오 블록을 생성하도록 구성되는, 비디오 데이터를 코딩하기 위한 디바이스.
  20. 제 18 항에 있어서,
    상기 비디오 코더는 비디오 인코더를 포함하고,
    상기 차이 정보를 코딩하는 것은 인코딩된 비트스트림에서의 상기 차이 정보를 시그널링하는 것을 포함하는, 비디오 데이터를 코딩하기 위한 디바이스.
  21. 제 11 항에 있어서,
    상기 디바이스는,
    집적 회로;
    마이크로프로세서; 또는
    상기 비디오 코더를 포함하는 무선 통신 디바이스
    중 적어도 하나를 포함하는, 비디오 데이터를 코딩하기 위한 디바이스.
  22. 비디오 데이터를 코딩하기 위한 장치로서,
    현재 비디오 블록에 대한 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하는 수단;
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드에 기초하여 상기 현재 비디오 블록을 코딩하는데 사용된 실제 인트라 예측 모드의 추정을 결정하는 수단으로서, 상기 실제 인트라 예측 모드의 추정을 결정하는 수단은,
    제 1 최고 확률 인트라 예측 모드가 각도 인트라 예측 모드이고 제 2 최고 확률 인트라 예측 모드가 비각도 인트라 예측 모드인 것에 응답하여, 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드를 선택하는 수단;
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 양자 모두가 상이한 각도 예측 모드들인 것에 응답하여, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 더 작은 인트라 모드 숫자를 갖고 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 상기 현재 비디오 블록에 크기가 더 가까운 비디오 데이터의 블록과 연관되는지 중 적어도 하나에 기초하여, 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 수단을 포함하는, 상기 실제 인트라 예측 모드의 추정을 결정하는 수단; 및
    차이 정보를 코딩하는 수단을 포함하고,
    상기 차이 정보는 상기 실제 인트라 예측 모드의 추정 및 상기 실제 인트라 예측 모드 간의 차이를 포함하는, 비디오 데이터를 코딩하기 위한 장치.
  23. 제 22 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 수단은,
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 수직 각도에 더 가까운 각도를 갖는 최고 확률 인트라 예측 모드인지를 결정하는 수단; 및
    상기 수직 각도에 더 가까운 각도를 갖는 최고 확률 인트라 예측 모드를 상기 실제 인트라 예측 모드의 추정으로서 선택하는 수단을 포함하는, 비디오 데이터를 코딩하기 위한 장치.
  24. 제 22 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 수단은, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 수직 각도와 수평 각도 사이에 있지 않은지를 선택하는 수단을 포함하는, 비디오 데이터를 코딩하기 위한 장치.
  25. 제 22 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 수단은, 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 상기 실제 인트라 예측 모드의 추정으로서 시그널링하는 수단을 포함하는, 비디오 데이터를 코딩하기 위한 장치.
  26. 제 22 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 수단은, 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 더 작은 인트라 모드 숫자를 갖는지를 선택하는 수단을 포함하는, 비디오 데이터를 코딩하기 위한 장치.
  27. 제 22 항에 있어서,
    상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 수단은, 하나 이상의 이웃 블록들의 정보에 적어도 부분적으로 기초하여 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는, 비디오 데이터를 코딩하기 위한 장치.
  28. 삭제
  29. 제 22 항에 있어서,
    상기 장치는 비디오 디코더를 포함하고,
    상기 차이 정보를 코딩하는 수단은 상기 차이 정보를 수신하는 수단을 포함하는, 비디오 데이터를 코딩하기 위한 장치.
  30. 제 29 항에 있어서,
    상기 실제 인트라 예측 모드를 사용하여 재구성된 비디오 블록을 생성하는 수단을 더 포함하는, 비디오 데이터를 코딩하기 위한 장치.
  31. 제 22 항에 있어서,
    상기 장치는 비디오 인코더를 포함하고,
    상기 차이 정보를 코딩하는 수단은 인코딩된 비트스트림에서의 상기 차이 정보를 시그널링하는 수단을 포함하는, 비디오 데이터를 코딩하기 위한 장치.
  32. 동작가능한 명령들을 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은 하나 이상의 프로세서들로 하여금,
    현재 비디오 블록에 대해, 제 1 최고 확률 인트라 예측 모드 및 제 2 최고 확률 인트라 예측 모드를 결정하게 하고;
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드에 기초하여, 상기 현재 비디오 블록을 코딩하는데 사용된 실제 인트라 예측 모드의 추정을 결정하게 하되, 상기 명령들은 상기 하나 이상의 프로세서들로 하여금,
    제 1 최고 확률 인트라 예측 모드가 각도 인트라 예측 모드이고 제 2 최고 확률 인트라 예측 모드가 비각도 인트라 예측 모드인 것에 응답하여, 상기 실제 인트라 예측 모드의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드를 선택하는 것;
    상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 양자 모두가 상이한 각도 예측 모드들인 것에 응답하여,상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 더 작은 인트라 모드 숫자를 갖고 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 어느 것이 상기 현재 비디오 블록에 크기가 더 가까운 비디오 데이터의 블록과 연관되는지 중 적어도 하나에 기초하여, 상기 실제 인트라 예측의 추정으로서 상기 제 1 최고 확률 인트라 예측 모드 및 상기 제 2 최고 확률 인트라 예측 모드 중 하나를 선택하는 것
    에 의해 상기 실제 인트라 예측 모드의 추정을 결정하게 하고,
    차이 정보를 코딩하도록 하되, 상기 차이 정보는 상기 실제 인트라 예측 모드의 추정 및 상기 실제 인트라 예측 모드 간의 차이를 포함하는, 컴퓨터 판독가능 저장 매체.
KR1020147016425A 2011-11-18 2012-11-16 인트라 모드 코딩에서 레퍼런스 모드 선택 KR101632130B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161561803P 2011-11-18 2011-11-18
US201161561819P 2011-11-18 2011-11-18
US61/561,819 2011-11-18
US61/561,803 2011-11-18
US13/678,334 2012-11-15
US13/678,334 US9628789B2 (en) 2011-11-18 2012-11-15 Reference mode selection in intra mode coding
PCT/US2012/065532 WO2013074935A1 (en) 2011-11-18 2012-11-16 Reference mode selection in intra mode coding

Publications (2)

Publication Number Publication Date
KR20140092405A KR20140092405A (ko) 2014-07-23
KR101632130B1 true KR101632130B1 (ko) 2016-06-20

Family

ID=48426919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147016425A KR101632130B1 (ko) 2011-11-18 2012-11-16 인트라 모드 코딩에서 레퍼런스 모드 선택

Country Status (6)

Country Link
US (1) US9628789B2 (ko)
EP (1) EP2781094B1 (ko)
JP (1) JP5866453B2 (ko)
KR (1) KR101632130B1 (ko)
CN (1) CN103947205B (ko)
WO (1) WO2013074935A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019083284A1 (ko) * 2017-10-24 2019-05-02 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 장치

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101507344B1 (ko) * 2009-08-21 2015-03-31 에스케이 텔레콤주식회사 가변 길이 부호를 이용한 인트라 예측모드 부호화 방법과 장치, 및 이를 위한기록 매체
WO2014190468A1 (en) 2013-05-27 2014-12-04 Microsoft Corporation Video encoder for images
EP3120556B1 (en) 2014-03-17 2021-01-13 Microsoft Technology Licensing, LLC Encoder-side decisions for screen content encoding
WO2016123792A1 (en) 2015-02-06 2016-08-11 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
US10038917B2 (en) * 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
US11259047B2 (en) 2016-04-06 2022-02-22 Kt Corporation Method and apparatus for processing video signal
US10721489B2 (en) * 2016-09-06 2020-07-21 Qualcomm Incorporated Geometry-based priority for the construction of candidate lists
EP3301915A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra most probable modes
WO2018066863A1 (ko) * 2016-10-04 2018-04-12 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
EP3399754A1 (en) * 2017-05-04 2018-11-07 Thomson Licensing Method and apparatus for most probable mode (mpm) reordering for intra prediction
KR102555363B1 (ko) 2018-06-29 2023-07-13 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 확장 기준 인트라 화면 예측
KR20210027486A (ko) * 2018-08-27 2021-03-10 후아웨이 테크놀러지 컴퍼니 리미티드 인트라 예측 방법 및 장치
US11405638B2 (en) * 2019-03-17 2022-08-02 Tencent America LLC Method and apparatus for video coding by determining intra prediction direction based on coded information of neighboring blocks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003101117A1 (en) 2002-05-28 2003-12-04 Sharp Kabushiki Kaisha Methods and systems for image intra-prediction mode estimation, communication, and organization
US20100208802A1 (en) 2007-06-29 2010-08-19 Sharp Kabushiki Kaisha Image encoding device, image encoding method, image decoding device, image decoding method, program, and storage medium

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI103003B (fi) * 1997-06-13 1999-03-31 Nokia Corp Suodatusmenetelmä, suodatin ja kannettava päätelaite
JP2001027986A (ja) * 1999-05-10 2001-01-30 Canon Inc データ処理装置及び処理部選択方法
US7386048B2 (en) 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
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
KR100750145B1 (ko) 2005-12-12 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
CN101317458B (zh) * 2006-03-16 2012-04-18 华为技术有限公司 在编码过程中实现自适应量化的方法及装置
WO2010041857A2 (en) 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for decoding a video signal
US8611435B2 (en) * 2008-12-22 2013-12-17 Qualcomm, Incorporated Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding
US9288494B2 (en) 2009-02-06 2016-03-15 Thomson Licensing Methods and apparatus for implicit and semi-implicit intra mode signaling for video encoders and decoders
WO2011031332A1 (en) 2009-09-14 2011-03-17 Thomson Licensing Methods and apparatus for efficient video encoding and decoding of intra prediction mode
US9083974B2 (en) 2010-05-17 2015-07-14 Lg Electronics Inc. Intra prediction modes
US20110317757A1 (en) 2010-06-25 2011-12-29 Qualcomm Incorporated Intra prediction mode signaling for finer spatial prediction directions
US9025661B2 (en) 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003101117A1 (en) 2002-05-28 2003-12-04 Sharp Kabushiki Kaisha Methods and systems for image intra-prediction mode estimation, communication, and organization
US20100208802A1 (en) 2007-06-29 2010-08-19 Sharp Kabushiki Kaisha Image encoding device, image encoding method, image decoding device, image decoding method, program, and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R. Cohen, "Non-CE6: Coding of luma intra prediction modes that are not in the MPM set.", JCTVC-G359, version 1. 2011.11.9.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019083284A1 (ko) * 2017-10-24 2019-05-02 주식회사 윌러스표준기술연구소 비디오 신호 처리 방법 및 장치
US11284108B2 (en) 2017-10-24 2022-03-22 Wilus Institute Of Standards And Technology Inc. Video signal processing method and apparatus
US11743495B2 (en) 2017-10-24 2023-08-29 Samsung Electronics Co., Ltd. Video signal processing method and apparatus

Also Published As

Publication number Publication date
US9628789B2 (en) 2017-04-18
CN103947205B (zh) 2017-09-22
KR20140092405A (ko) 2014-07-23
CN103947205A (zh) 2014-07-23
US20130128964A1 (en) 2013-05-23
JP2015502093A (ja) 2015-01-19
EP2781094B1 (en) 2018-07-11
WO2013074935A1 (en) 2013-05-23
EP2781094A1 (en) 2014-09-24
JP5866453B2 (ja) 2016-02-17

Similar Documents

Publication Publication Date Title
US11166016B2 (en) Most probable transform for intra prediction coding
KR101632130B1 (ko) 인트라 모드 코딩에서 레퍼런스 모드 선택
US10264280B2 (en) Enhanced intra-prediction mode signaling for video coding using neighboring mode
EP2622864B1 (en) Indicating intra-prediction mode selection for video coding
EP2661890B1 (en) Indicating intra-prediction mode selection for video coding using cabac
KR101534416B1 (ko) 인트라-예측을 이용한 비디오 코딩
KR101632776B1 (ko) 비디오 코딩에 대한 구문 엘리먼트들의 공동 코딩
AU2012267737A1 (en) Enhanced intra-prediction mode signaling for video coding using neighboring mode

Legal Events

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