KR101107867B1 - 비디오 블록 예측 모드의 적응형 코딩 - Google Patents

비디오 블록 예측 모드의 적응형 코딩 Download PDF

Info

Publication number
KR101107867B1
KR101107867B1 KR1020107000963A KR20107000963A KR101107867B1 KR 101107867 B1 KR101107867 B1 KR 101107867B1 KR 1020107000963 A KR1020107000963 A KR 1020107000963A KR 20107000963 A KR20107000963 A KR 20107000963A KR 101107867 B1 KR101107867 B1 KR 101107867B1
Authority
KR
South Korea
Prior art keywords
prediction modes
prediction mode
prediction
block
video
Prior art date
Application number
KR1020107000963A
Other languages
English (en)
Other versions
KR20100029246A (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 KR20100029246A publication Critical patent/KR20100029246A/ko
Application granted granted Critical
Publication of KR101107867B1 publication Critical patent/KR101107867B1/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/18Methods 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 set of transform coefficients
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/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

Abstract

본 발명은 비디오 블록들의 헤더 정보를 코딩하기 위한 기법들을 설명한다. 특히, 본 발명의 기법들은 코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하고, 상기 복수의 예측 모드들은 단방향 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다방향 예측 모드들을 포함한다. 인코딩 디바이스는 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩한다. 이와 같이, 디코딩 유닛은 코딩 유닛의 비디오 블록의 인코딩된 비디오 데이터를 수신하고, 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 식별하기 위해서 인코딩된 비디오 데이터를 디코딩한다.

Description

비디오 블록 예측 모드의 적응형 코딩{ADAPTIVE CODING OF VIDEO BLOCK PREDICTION MODE}
본 발명은 디지털 비디오 코딩에 관한 것으로, 보다 상세하게는, 비디오 블록들의 엔트로피 코딩(entropy coding)에 관한 것이다.
본 출원은 미국 출원번호가 제60/944,470호이고, 출원일이 2007년 6월 15일인 미국 가출원 및 미국 출원번호가 제60/979,762호이고, 출원일이 2007년 10월 12일인 미국 가출원의 우선권을 주장하며, 상기 미국 가출원들 각각은 여기에 참조로서 포함된다.
디지털 비디오 성능들은 디지털 텔레비전들, 디지털 직접 방송 시스템들, 라디오 전화 핸드셋들과 같은 무선 통신 디바이스들, 무선 방송 시스템들, 개인용 디지털 보조기(PDA)들, 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 비디오 게임 디바이스들, 비디오 게임 콘솔들 등을 포함하는 광범위한 디바이스들로 통합될 수 있다. 디지털 비디오 디바이스들은 디지털 비디오를 보다 효율적으로 송신 및 수신하기 위한 MPEG-2, MPEG-4 또는 H.264/MPEG-4, Part 10, AVC(Advanced Video Coding)와 같은 비디오 압축 기법들을 구현한다. 비디오 압축 기법들은 비디오 시퀀스들에 내재된 리던던시(redundancy)를 감소시키거나 제거하기 위해서 공간 및 시간 예측을 수행한다.
비디오 압축은 일반적으로 공간 예측 및/또는 시간 예측을 포함한다. 특히, 인트라-코딩(intra-coding)은 비디오 프레임, 비디오 프레임의 슬라이스 등을 포함할 수 있는 주어진 코딩된 유닛 내에서 비디오 블록들 사이의 공간 리던던시를 감소시키거나 제거하기 위하여 공간 예측에 의존한다. 대조적으로, 인터-코딩(inter-coding)은 비디오 시퀀스의 연속적인 코딩된 유닛들의 비디오 블록들 사이의 시간 리던던시를 감소시키거나 제거하기 위해서 시간 예측에 의존한다. 인트라-코딩을 위해서, 비디오 인코더는 동일한 코딩된 유닛 내에서 다른 데이터에 기초하여 데이터를 압축하기 위하여 공간 예측을 수행한다. 인터-코딩을 위해서, 비디오 인코더는 둘 이상의 인접한 코딩된 유닛들의 매칭하는 비디오 블록들의 이동(movement)을 트래킹하기 위해서 모션 추정 및 모션 보상을 수행한다.
공간 또는 시간 예측 이후에, 레지듀얼 블록(residual block)은 코딩되고 있는 원(original) 비디오 블록으로부터 예측 프로세스 동안 생성되는 예측 비디오 블록을 차감(subtract)함으로써 생성된다. 따라서, 레지듀얼 블록은 예측 블록과 코딩되고 있는 현재 블록 사이의 차이들을 표시한다. 비디오 인코더는 레지듀얼 블록의 통신과 연관된 비트 레이트를 추가적으로 감소시키기 위해서 변환, 양자화 및 엔트로피 코딩 프로세스들을 적용할 수 있다. 상기 변환 기법들은 픽셀 값들의 세트를 주파수 도메인에서 픽셀 값들의 에너지를 표현하는 변환 계수들로 변경할 수 있다. 상기 변환 계수들에 양자화가 적용되고, 상기 양자화는 일반적으로 임의의 주어진 계수와 연관된 비트들의 수를 제한하는 프로세스를 포함한다. 엔트로피 인코딩 이전에, 비디오 인코더는 양자화된 계수 블록을 계수들의 1-차원 벡터로 스캐닝한다. 비디오 인코더는 레지듀얼 데이터를 추가적으로 압축하기 위해서 양자화된 변환 계수들의 벡터를 엔트로피 인코딩한다.
비디오 디코더는 계수들을 리트리브(retrieve)하기 위해서 역 엔트로피 코딩 동작들을 수행할 수 있다. 또한, 역 스캐닝은 수신된 계수들의 1-차원 벡터들로부터 2-차원 블록들을 형성하기 위해서 디코더에서 수행될 수도 있다. 이후, 비디오 디코더는 계수들을 역 양자화 및 역 변환하여 재구성된 레지듀얼 블록을 획득한다. 이후, 비디오 디코더는 예측 정보 및 모션 정보에 기초하여 예측 비디오 블록을 디코딩한다. 이후, 비디오 디코더는 재구성된 비디오 블록을 생성하고 디코딩된 비디오 정보의 시퀀스를 생성하기 위해서 대응하는 레지듀얼 블록에 예측 비디오 블록을 부가한다.
본 발명은 비디오 블록들의 헤더 정보의 코딩을 위한 기법들을 설명한다. 특히, 본 발명의 기법들은 코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하고, 상기 복수의 예측 모드들은 단방향(unidirectional) 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향(multi-directional) 예측 모드들을 포함한다. 비디오 인코더는 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하도록 구성될 수 있다. 비디오 디코더는 비디오 인코더에 의해 수행되는 인코딩의 상응하는(reciprocal) 디코딩 기능을 수행하도록 구성될 수도 있다. 따라서, 비디오 디코더는 유사한 기법들을 사용하여 비디오 블록에 대한 예측 블록을 생성하는데 사용하기 위한 예측 모드를 디코딩한다.
일부 예들에서, 비디오 인코더는 사전 인코딩된 비디오 블록들의 예측 모드들의 타입들 예를 들어, 단방향 또는 다-방향의 예측 모드들에 기초하여 선택된 예측 모드를 코딩하는데 사용하기 위한 상이한 코딩 컨텍스트(context)들을 선택할 수 있다. 또한, 추가적으로, 본 발명의 기법들은 선택된 예측 모드에 기초하여 변환들을 비디오 블록의 레지듀얼 정보에 선택적으로 적용할 수 있다. 일례에서, 비디오 인코더는 예측 모드들의 상이한 모드와 각각 대응하는 복수의 방향 변환들을 저장하고, 선택된 비디오 블록의 예측 모드에 기초하여 대응하는 방향 변환을 비디오 블록에 적용할 수 있다. 다른 예들에서, 비디오 인코더는, 선택된 예측 모드가 제한된 방향성(directionality)을 나타내는 경우, 복수의 방향 변환들 뿐만 아니라 적어도 하나의 이산 코사인 변환(DCT) 또는 정수 변환을 저장하고, DCT 또는 정수 변환을 비디오 블록의 레지듀얼 데이터에 적용할 수 있으며, 선택된 예측 모드가 방향성을 나타내는 경우, 방향 변환들 중 하나를 비디오 블록의 레지듀얼 데이터에 적용시킬 수 있다.
일 양상에서, 비디오 데이터를 인코딩하는 방법은, 코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하는 단계, 및 상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하는 단계를 포함한다. 상기 예측 모드들은 단방향 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향 예측 모드들을 포함한다.
다른 양상에서, 비디오 데이터를 인코딩하는 디바이스는, 코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하는 예측 유닛 및 상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하는 엔트로피 인코딩 유닛을 포함한다. 상기 예측 모드들은 단방향 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향 예측 모드들을 포함한다.
다른 양상에서, 비디오 코딩 디바이스에서의 실행 시에, 상기 디바이스로 하여금 비디오 블록들을 코딩하도록 하는 명령들을 포함하는 컴퓨터-판독가능 매체로서, 상기 명령들은 상기 디바이스로 하여금, 코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하고, 상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하도록 한다. 상기 예측 모드들은 단방향 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향 예측 모드들을 포함한다.
다른 양상에서, 비디오 데이터를 인코딩하는 디바이스는, 코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하기 위한 수단 및 상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하기 위한 수단을 포함한다. 상기 예측 모드들은 단방향 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향 예측 모드들을 포함한다.
다른 양상에서, 비디오 데이터를 디코딩하는 방법은, 코딩 유닛의 비디오 블록의 인코딩 비디오 데이터를 수신하는 단계 및 상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 식별하도록 상기 인코딩된 비디오 데이터를 디코딩하는 단계를 포함한다. 상기 예측 모드들은 단방향 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향 예측 모드들을 포함한다.
다른 양상에서, 비디오 데이터를 디코딩하기 위한 디바이스는, 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 식별하도록 상기 코딩 유닛의 비디오 블록의 인코딩된 비디오 데이터를 디코딩하는 엔트로피 디코딩 유닛을 포함한다. 상기 예측 모드들은 단방향 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향 예측 모드들을 포함한다. 또한, 상기 디바이스는 상기 디코딩된 예측 모드를 사용하여 상기 예측 블록을 생성하는 예측 유닛을 포함한다.
다른 양상에서, 비디오 코딩 디바이스에서 실행 시에, 상기 디바이스로 하여금 비디오 블록들을 코딩하도록 하는 명령들을 포함한다. 상기 명령들은 상기 디바이스로 하여금, 코딩 유닛의 비디오 블록의 인코딩 비디오 데이터를 수신하고, 상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 식별하도록 상기 인코딩된 비디오 데이터를 디코딩하도록 한다. 상기 예측 모드들은 단방향 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향 예측 모드들을 포함한다.
다른 양상에서, 비디오 데이터를 디코딩하기 위한 디바이스는, 코딩 유닛의 비디오 블록의 인코딩 비디오 데이터를 수신하기 위한 수단 및 상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 식별하도록 상기 인코딩된 비디오 데이터를 디코딩하기 위한 수단을 포함한다. 상기 예측 모드들은 단방향 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향 예측 모드들을 포함한다.
본 발명에 설명되는 기법들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 소프트웨어는 마이크로프로세서, 주문형 집적 회로(ASIC), 필드 프로그램가능한 게이트 어레이(FPGA), 또는 디지털 신호 프로세서(DSP), 또는 다른 등가의 집적 또는 이산 로직 회로와 같은, 하나 이상의 프로세서들을 지칭할 수 있는, 프로세서에서 실행될 수 있다. 상기 기법들을 실행하기 위한 명령들을 포함하는 소프트웨어는 초기에 컴퓨터-판독가능 매체에 저장되고, 프로세서에 의해 로딩 및 실행될 수 있다.
따라서, 본 발명은 또한 프로세서로 하여금 본 발명에 설명되는 바와 같은 다양한 기법들 중 임의의 기법을 수행하도록 하기 위한 명령들을 포함하는 컴퓨터-판독가능 매체를 참작한다. 일부 경우들에서, 컴퓨터-판독가능 매체는 제조자들에게 판매될 수 있고 그리고/또는 디바이스 내에서 사용될 수 있는 컴퓨터 프로그램 물건의 부분을 형성할 수 있다. 컴퓨터 프로그램 물건은 컴퓨터-판독가능 매체를 포함할 수 있으며, 일부 경우들에서, 패키지물(packaging material)들을 포함할 수도 있다.
본 발명의 하나 이상의 양상들의 세부사항들은 아래의 첨부된 도면들 및 상세한 설명에서 서술된다. 본 발명에서 설명되는 기법들의 다른 특징들, 목적들 및 이점들은 상세한 설명 및 도면들로부터, 그리고 청구항들로부터 명백해질 것이다.
도 1은 본 발명에서 설명되는 코딩 기법들을 수행하는 비디오 인코딩 및 디코딩 시스템을 예시하는 블록 다이어그램이다.
도 2는 도 1의 비디오 인코더의 일례를 보다 상세하게 예시하는 블록 다이어그램이다.
도 3은 도 1의 비디오 디코더의 일례를 보다 상세하게 예시하는 블록 다이어그램이다.
도 4는 본 발명과 일치하는 계수들의 스캐닝 순서를 조정하는 가상(hypothetical) 예를 예시하는 개념 다이어그램이다.
도 5는 계수들의 스캐닝 순서를 적응적으로 조정하도록 구성되는 코딩 디바이스의 예시적인 동작을 예시하는 흐름 다이어그램이다.
도 6은 비디오 블록에 대한 헤더 정보를 인코딩하도록 구성되는 인코딩 유닛의 예시적인 동작을 예시하는 흐름 다이어그램이다.
도 7은 코딩을 위한 예시적인 코딩 컨텍스트 선택을 예시하는 흐름 다이어그램이다.
도 8은 비디오 블록의 헤더 정보를 디코딩하도록 구성되는 디코딩 유닛의 예시적인 동작을 예시하는 흐름 다이어그램이다.
도 1은 본 발명에서 설명되는 바와 같이 코딩 기법들을 수행하는 비디오 인코딩 및 디코딩 시스템(10)을 예시하는 블록 다이어그램이다. 도 1에 도시된 바와 같이, 시스템(10)은 인코딩된 비디오 데이터를 통신 채널(16)을 통해 목적 디바이스(14)로 송신하는 소스 디바이스(12)를 포함한다. 소스 디바이스(12)는 목적 디바이스(14)로 송신하기 위한 코딩된 비디오 데이터를 생성한다. 소스 디바이스(12)는 비디오 소스(18), 비디오 인코더(20) 및 송신기(22)를 포함할 수 있다. 소스 디바이스(12)의 비디오 소스(18)는 비디오 카메라와 같은 비디오 캡쳐 디바이스, 사전 캡쳐된 비디오 또는 비디오 컨텐츠 공급자로부터 공급된 비디오를 포함하는 비디오 아카이브(archive)를 포함할 수 있다. 추가적인 대안으로, 비디오 소스(18)는 소스 비디오로서 컴퓨터 그래픽-기반의 데이터, 또는 실시간 비디오와 컴퓨터-생성된 비디오의 결합을 생성할 수 있다. 일부 경우들에서, 소스 디바이스(12)는 소위 카메라 폰 또는 비디오 폰일 수 있으며, 이러한 경우 비디오 소스(18)는 비디오 카메라일 수 있다. 각각의 경우, 송신기(22) 및 통신 채널(16)을 통해 소스 디바이스(12)로부터 목적 디바이스(14)로 송신하기 위한 캡쳐, 사전-캡쳐 또는 컴퓨터-생성된 비디오는 비디오 인코더(20)에 의해 인코딩될 수 있다.
비디오 인코더(20)는 비디오 소스(18)로부터 비디오 데이터를 수신한다. 비디오 소스(18)로부터 수신된 비디오 데이터는 일련의 비디오 프레임들일 수 있다. 비디오 인코더(20)는 일련의 프레임들을 코딩 유닛들로 분할하고, 일련의 비디오 프레임들을 인코딩하기 위해서 코딩 유닛들을 프로세싱한다. 코딩 유닛들은 예를 들어, 전체 프레임들 또는 프레임들의 부분들(즉, 슬라이스들)일 수 있다. 따라서, 일부 예들에서, 프레임들은 슬라이스들로 분할될 수 있다. 비디오 인코더(20)는 각각의 코딩 유닛을 픽셀들의 블록들(여기에서 비디오 블록들 또는 블록들로서 지칭됨)로 분할하고, 비디오 데이터를 인코딩하기 위해서 개별 코딩 유닛들 내에서 비디오 블록들에 대하여 동작한다. 이와 같이, 코딩 유닛(예를 들어, 프레임 또는 슬라이스)는 다수의 비디오 블록들을 포함할 수 있다. 다시 말해서, 비디오 시퀀스는 다수의 프레임들을 포함할 수 있고, 하나의 프레임은 다수의 슬라이스들을 포함할 수 있으며, 하나의 슬라이스는 다수의 비디오 블록들을 포함할 수 있다.
비디오 블록들은 고정 또는 가변 사이즈들을 포함할 수 있으며, 특정된 코딩 표준에 따른 사이즈가 상이할 수 있다. 일례로서, ITU-T(International Telecommunication Union Standardization Sector) H.264/MPEG-4, Part 10, AVC(Advanced Video Coding)(이하, "H.264/MPEG-4 Part 10 AVC" 표준)는 루마(luma) 컴포넌트들에 대하여 16×16, 8×8, 또는 4×4 그리고 크로마(chroma) 컴포넌트들에 대하여 8×8과 같이 다양한 블록 사이즈들에서 인트라 예측 뿐만 아니라, 루마 컴포넌트들에 대하여 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 및 4×4 그리고 크로마 컴포넌트들에 대하여 대응하는 스케일링된 사이즈들과 같이 다양한 블록 사이즈들에서의 인터 예측을 지원한다. H.264에서, 예를 들어, 종종 매크로블록(MB)으로서 지칭되는 16×16 픽셀들의 각각의 비디오 블록은 보다 작은 사이즈들의 서브-블록들로 서브-분할되고, 서브-블록들에서 예측될 수 있다. 일반적으로, MB들 및 다양한 서브-블록들은 비디오 블록들로 간주될 수 있다. 따라서, MB들은 비디오 블록들로 간주될 수 있으며, 분할되거나, 서브-분할되는 경우, MB들 자신들은 비디오 블록들의 세트들을 정의하는 것으로 간주될 수 있다.
비디오 블록들 각각에 대하여, 비디오 인코더(20)는 블록에 대한 블록 타입을 선택한다. 블록 타입은 블록이 블록의 분할 사이즈 뿐만 아니라 인터-예측 또는 인트라-예측을 사용하여 예측되는지의 여부를 표시할 수 있다. 예를 들어, H.264/MPEG-4 Part 10 AVC 표준은 인터 16×16, 인터 16×8, 인터 8×16, 인터 8×8, 인터 8×4, 인터 4×8, 인터 4×4, 인트라 16×16, 인트라 8×8 및 인트라 4×4를 포함하는 다수의 인터- 및 인트라-예측 블록 타입들을 지원한다. 아래에서 상세하게 설명되는 바와 같이, 비디오 인코더(20)는 비디오 블록들 각각에 대하여 블록 타입들 중 하나를 선택할 수 있다.
또한, 비디오 인코더(20)는 비디오 블록들 각각에 대하여 예측 모드를 선택한다. 인트라-코딩된 비디오 블록의 경우, 예측 모드는 하나 이상의 사전 인코딩된 비디오 블록들을 사용하여 현재 비디오 블록을 예측하는 방식을 결정할 수 있다. H.264/MPEG-4 Part 10 AVC 표준에서, 예를 들어, 비디오 인코더(20)는 각각의 인트라 4×4 블록에 대하여 9개의 가능한 단방향 예측 모드들 즉, 수직(Vertical) 예측 모드, 수평(Horizontal) 예측 모드, DC 예측 모드, 대각선 좌측 다운(Diagonal Down/left) 예측 모드, 대각선 우측 다운(Diagonal Down/right) 예측 모드, 수직-우측(Vertical-right) 예측 모드, 수평-다운(Horizontal-down) 예측 모드, 수직-좌측(Vertical-left) 예측 모드 및 수평-업(Horizontal-up) 예측 모드 중 하나를 선택할 수 있다. 동일한 예측 모드들이 각각의 인트라 8×8 블록을 예측하는데 사용된다. 인트라 16×16 블록에 대하여, 비디오 인코더(20)는 4개의 가능한 단방향 모드들 즉, 수직 예측 모드, 수평 예측 모드, DC 예측 모드 및 플레인(plane) 예측 모드 중 하나를 선택할 수 있다. 일부 예들에서, 비디오 인코더(20)는 단방향 예측 모드들 뿐만 아니라 단방향 모드들의 결합들을 정의하는 하나 이상의 다-방향 예측 모드들을 포함하는 예측 모드들의 세트로부터 예측 모드를 선택할 수 있다. 예를 들어, 하나 이상의 다-방향 예측 모드들은 아래에서 보다 상세하게 설명되는 바와 같이 2개의 단방향 예측 모드들을 결합하는 양방향 예측 모드들일 수 있다.
비디오 블록에 대하여 예측 모드를 선택한 이후에, 비디오 인코더(20)는 선택된 예측 모드를 사용하여 예측된 비디오 블록을 생성한다. 예측된 비디오 블록은 레지듀얼 블록을 형성하기 위해서 원 비디오 블록으로부터 차감(substract)된다. 레지듀얼 블록은 원 비디오 블록의 픽셀 값들과 생성된 예측 블록의 픽셀 값들 사이의 차이를 수량화(quantify)하는 픽셀 차이 값들의 세트를 포함한다. 레지듀얼 블록은 2-차원 블록 포맷(예를 들어, 픽셀 차이 값들의 2-차원 행렬 또는 어레이)으로 표현될 수 있다.
레지듀얼 블록의 생성 이후에, 비디오 인코더(20)는 블록을 인코딩하기 전에 레지듀얼 블록에 대하여 다수의 다른 동작들을 수행할 수 있다. 비디오 인코더(20)는 변환 계수들의 블록을 생성하기 위해서 정수 변환, DCT 변환, 방향 변환, 또는 웨이브렛(wavelet) 변환과 같은 변환을 픽셀 값들의 레지듀얼 블록에 적용할 수 있다. 따라서, 비디오 인코더(20)는 계수들(레지듀얼 변환 계수들이라고도 지칭됨)을 변환하기 위해서 레지듀얼 픽셀 값들을 컨버팅(convert)한다. 레지듀얼 변환 계수들은 변환 블록 또는 계수 블록으로서 지칭될 수 있다. 변환 또는 계수 블록은 비-분리(non-separable) 변환들이 적용되는 경우, 계수들의 1-차원 표현(representation)일 수 있으며, 또는 분리(separable) 변환들이 적용되는 경우, 계수들의 2-차원 표현일 수 있다. 비-분리 변환들은 비-분리 방향 변환들을 포함할 수 있다. 분리 변환들은 분리 방향 변환들, DCT 변환들, 정수 변환들 및 웨이블렛 변환들을 포함할 수 있다.
변환 이후에, 비디오 인코더(20)는 양자화된 변환 계수들(양자화된 계수들 또는 양자화된 레지듀얼 계수들로도 지칭됨)을 생성하기 위해서 양자화를 수행한다. 다시, 양자화된 계수들은 1-차원 벡터 포맷 또는 2-차원 블록 포맷으로 표현될 수 있다. 일반적으로, 양자화는 계수들을 표현하는데 사용되는 데이터의 양을 감소시키는 것을 가능하게 하도록 계수들이 양자화되는 프로세스를 지칭한다. 양자화 프로세스는 계수들의 일부 또는 전부와 연관된 비트 깊이(bit depth)를 감소시킬 수 있다. 여기에서 사용되는 바와 같이, 용어 "계수들"은 변환 계수들, 양자화된 계수들 또는 다른 타입의 계수들을 표현할 수 있다. 일부 예들에서, 본 발명의 기법들은 변환 계수들 및 양자화된 변환 계수들 뿐만 아니라 레지듀얼 픽셀 값들에 적용될 수 있다. 그러나, 예시를 위해서, 본 발명의 기법들은 양자화된 변환 계수들에 대하여 설명될 것이다.
분리 변환들이 사용되고, 계수 블록들이 2-차원 블록 포맷으로 표현되는 경우, 비디오 인코더(20)는 2-차원 포맷으로부터 1-차원 포맷으로 계수들을 스캐닝한다. 다시 말해서, 비디오 인코더(20)는 계수들을 계수들의 1-차원 벡터로 직렬화(serialize)하기 위해서 2-차원 블록으로부터 계수들을 스캐닝할 수 있다. 본 발명의 양상들 중 하나에 따르면, 비디오 인코더(20)는 수집된 통계치에 기초하여 계수 블록을 1 차원으로 컨버팅하는데 사용되는 스캐닝 순서를 조정할 수 있다. 통계치는 2-차원 블록의 각각의 위치에서의 주어진 계수 값이 0이거나 0이 아닐 확률의 표시를 포함할 수 있으며, 예를 들어, 2-차원 블록의 계수 위치들 각각과 연관된 카운트(count), 확률 또는 다른 통계치 메트릭을 포함할 수 있다. 일부 예들에서, 통계치는 오직 블록의 계수 위치들의 서브세트에 대해서만 수집될 수 있다. 예를 들어, 특정 개수의 블록들 이후에, 스캐닝 순서가 평가되는 경우, 스캐닝 순서는 0이 아닌 계수들을 가질 확률이 보다 높은 것으로 결정되는 블록 내의 계수 위치들이 0이 아닌 계수들을 가질 확률이 보다 낮은 것으로 결정되는 블록 내의 계수 위치들에 앞서 스캐닝되도록 변경될 수 있다. 이러한 방식으로, 초기 스캐닝 순서는 1-차원 계수 벡터의 시작에서 제로가 아닌 계수들을 그리고 1-차원 계수 벡터의 끝에서 0 값인 계수들을 보다 효율적으로 그룹화하도록 적응될 수 있다. 이것은 1-차원 계수 벡터의 시작에서 0이 아닌 계수들 사이의 0들의 보다 짧은 런(run)들 및 1-차원 계수 벡터의 끝에서 0들의 보다 긴 하나의 런이 존재하므로, 엔트로피 코딩에 소비되는 비트들의 개수를 차례로 감소시킨다.
계수들의 스캐닝 이후에, 비디오 인코더(20)는 CAVLC(context adaptive variable length coding), CABAC(context adaptive binary arithmetic coding), 런 렝스 코딩(run length coding) 등과 같은 다양한 엔트로피 코딩 방법들 중 임의의 방법을 사용하여 코딩 유닛의 비디오 블록들 각각을 인코딩한다. 소스 디바이스(12)는 인코딩된 비디오 데이터를 송신기(22)와 채널(16)을 통해 목적 디바이스(14)로 송신한다. 통신 채널(16)은 무선 주파수(RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들, 또는 무선 및 유선 매체들의 임의의 조합과 같은 임의의 무선 또는 유선 통신 매체를 포함할 수 있다. 통신 채널(16)은 로컬 영역 네트워크, 광-역 네트워크, 또는 인터넷과 같은 글로벌 네트워크와 같은 패킷-기반 네트워크의 부분을 형성할 수 있다. 통신 채널(16)은 일반적으로, 소스 디바이스(12)로부터 목적 디바이스(14)로 인코딩된 비디오 데이터를 송신하기 위한 임의의 적합한 통신 매체, 또는 상이한 통신 매체의 집합(collecition)을 표현한다.
목적 디바이스(14)는 수신기(24), 비디오 디코더(26) 및 디스플레이 디바이스(28)를 포함할 수 있다. 수신기(24)는 소스 디바이스로(12)부터 채널(16)을 통해 인코딩된 비디오 비트스트림을 수신한다. 비디오 디코더(26)는 코딩된 유닛의 코딩된 비디오 블록들의 헤더 정보 및 양자화된 레지듀얼 계수들을 획득하도록 인코딩된 비디오 비트스트림을 디코딩하기 위해서 엔트로피 디코딩을 적용한다. 전술된 바와 같이, 소스 디바이스(12)에 의해 인코딩된 양자화된 레지듀얼 계수들은 1-차원 벡터로서 인코딩된다. 따라서, 비디오 디코더(26)는 계수들의 1-차원 벡터를 양자화된 레지듀얼 계수들의 2-차원 블록으로 컨버팅하기 위해서 코딩된 비디오 블록들의 양자화된 레지듀얼 계수들을 스캐닝한다. 비디오 인코더(20)와 같이, 비디오 디코더(26)는 비디오 블록 내의 주어진 계수 위치가 0 또는 0이 아닐 확률을 표시하는 통계치를 수집할 수 있고, 이로써 인코딩 프로세스에서 사용되었던 것과 동일한 방식으로 스캐닝 순서를 조정할 수 있다. 따라서, 가역적(reciprocal) 적응형 스캐닝 순서들은 직렬화된 양자화된 변환 계수들의 1-차원 벡터 표현을 양자화된 변환 계수들의 2-차원 블록들로 변경하기 위해서 비디오 디코더(26)에 의해 적용될 수 있다.
비디오 디코더(26)는 디코딩된 헤더 정보 및 디코딩된 레지듀얼 정보를 사용하여 코딩 유닛의 블록들 각각을 재구성한다. 특히, 비디오 디코더(26)는 현재 비디오 블록에 대한 예측 비디오 블록을 생성하고, 비디오 블록들 각각을 재구성하기 위해서 상기 예측 비디오 블록을 대응하는 레지듀얼 비디오 블록과 결합할 수 있다. 목적(destication) 디바이스(14)는 상기 재구성된 비디오 블록들을 디스플레이 디바이스(28)를 통해 사용자에게 디스플레이할 수 있다. 디스플레이 디바이스(28)는 CRT(cathode ray tube), LCD(a liquid crystal display), 플라즈마 디스플레이, LED(light emitting diode) 디스플레이, 또는 유기 LED 디스플레이, 또는 다른 타입의 디스플레이 유닛과 같은 다양한 디스플레이 디바이스들 중 임의의 것을 포함할 수 있다.
일부 경우들에서, 소스 디바이스(12) 및 목적 디바이스(14)는 실질적으로 대칭적인 방식으로 동작할 수 있다. 예를 들어, 소스 디바이스(12) 및 목적 디바이스(14)는 비디오 인코딩 및 디코딩 컴포넌트들을 각각 포함할 수 있다. 따라서, 시스템(10)은 디바이스들(12, 14) 사이의 단-방향 또는 양-방향 비디오 송신 예를 들어, 비디오 스트리밍, 비디오 브로드캐스팅 또는 영상 통화(telephony)를 지원할 수 있다. 비디오 인코딩 및 디코딩 컴포넌트들을 포함하는 디바이스는 디지털 비디오 레코더(DVR)와 같은 공통의 인코딩, 기록 및 플레이백 디바이스의 부분을 형성할 수도 있다.
비디오 인코더(20) 및 비디오 디코더(26)는 다양한 비디오 압축 표준들 예를 들어, MPEG(Moving Picture Experts Group)-1, MPEG-2 및 MPEG-4에서 MPEG에 의해 정의된 표준들, ITU-T H.263 표준, SMPTE(Society of Motion Picture and Television Engineers) 421M 비디오 CODEC 표준(현재, "VC-1"로 지칭됨), 중국 자체 코덱 기술(Audio Video Coding Standard Workgroup of China)(현재, "AVS"로 지칭됨) 및 전용 표준(proprietary standard)으로서 표준 단체(body)에 의해 정의되거나 기구(organization)에 의해 개발된 임의의 다른 비디오 코딩 표준 중 임의의 것에 따라 동작할 수 있다. 도 1에는 도시되지 않았지만, 일부 양상들에서, 비디오 인코더(20) 및 비디오 디코더(26)는 공통의 데이터 스트림 또는 개별 데이터 스트림들에서 오디오 및 비디오 모두의 인코딩을 처리하기 위해서, 오디오 인코더 및 디코더와 각각 통합될 수 있으며, 적절한 MUX-DEMUX 유닛들 또는 다른 하드웨어 및 소프트웨어를 포함할 수 있다. 이러한 방식으로, 소스 디바이스(12) 및 목적 디바이스(14)는 멀티미디어 데이터에 대하여 동작할 수 있다. 적용가능한 경우, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜 또는 사용자 데이터그램 프로토콜(UDP)과 같은 다른 프로토콜들에 따를 수 있다.
일부 양상들에서, 비디오 브로드캐스팅에 대하여, 본 발명에서 설명되는 기법들은 순방향 링크 전용(FLO) 무선 인터페이스 규격 즉, 기술 표준 TIA-1099("FLO 규격")로서 2007년 7월에 공표된 "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast"를 사용하여 지상 모바일 멀티미디어 멀티캐스트(TM3) 시스템들에서 실시간 비디오 서비스들을 전달하기 위해서 향상된 H.264 비디오 코딩에 적용될 수 있다. 다시 말해서, 통신 채널(16)은 FLO 규격 등에 따른 무선 비디오 정보를 브로드캐스팅하는데 사용되는 무선 정보 채널을 포함할 수 있다. FLO 규격은 비트스트림 신택스(syntax) 및 세만틱(semantic)들을 정의하고 FLO 무선 인터페이스에 적합한 프로세스들을 디코딩하는 예들을 포함한다.
대안적으로, 비디오는 DVB-H(digital video broadcast-handheld), ISDB-T(integrated services digital broadcast - terrestrial), 또는 DMB(digital media broadcast)와 같은 다른 표준들에 따라 브로드캐스팅될 수 있다. 따라서, 소스 디바이스(12)는 모바일 무선 단말, 비디오 스트리밍 서버 또는 비디오 브로드캐스트 서버일 수 있다. 그러나, 본 발명에서 설명되는 기법들은 임의의 특정 타입의 브로드캐스트, 멀티캐스트 또는 포인트-대-포인트 시스템으로 제한되지 않는다. 브로드캐스트의 경우, 소스 디바이스(12)는 비디오 데이터의 몇몇 채널들을 다수의 목적 디바이스들로 브로드캐스팅할 수 있으며, 목적 디바이스들 각각은 도 1의 목적 디바이스(14)와 유사할 수 있다. 따라서, 단일 목적 디바이스(14)가 도 1에 도시되어 있지만, 비디오 브로드캐스팅 애플리케이션들에 대하여, 소스 디바이스(12)는 전형적으로 비디오 컨텐츠를 다수의 목적 디바이스들로 동시에 브로드캐스팅할 것이다.
다른 예들에서, 송신기(22), 통신 채널(16) 및 수신기(24)는 이더넷, 전화(예를 들어, POTS), 케이블, 파워-라인 및 광섬유 시스템들 중 하나 이상을 포함하는 임의의 유선 또는 무선 통신 시스템, 및/또는 코드 분할 다중 액세스(CDMA 또는 CDMA2000) 통신 시스템, 주파수 분할 다중 액세스(FDMA) 시스템, 직교 주파수 분할 다중(OFDM) 액세스 시스템, GSM(Global System for Mobile Communication), GPRS(General packet Radio Service), 또는 EDGE(enhanced data GSM environment)와 같은 시분할 다중 액세스(TDMA) 시스템, TETRA(Terrestrial Trunked Radio) 모바일 전화 시스템, 광대역 코드 분할 다중 액세스(WCDMA) 시스템, 하이 데이터 레이트 IxEV-DO(First generation Evolution Data Only) 또는 IxEV-DO Gold Multicast 시스템, IEEE 802.18 시스템, MediaFLO™ 시스템, DMB 시스템, DVB-H 시스템, 또는 둘 이상의 디바이스들 사이의 데이터 통신을 위한 다른 방식 중 하나 이상을 포함하는 무선 시스템에 따라 통신하도록 구성될 수 있다.
비디오 인코더(20) 및 비디오 디코더(26) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서(DSP)들, 주문형 집적 회로(ASIC)들, 필드 프로그램가능한 게이트 어레이(FPGA)들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들로서 구현될 수 있다. 비디오 인코더(20) 및 비디오 디코더(26) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수 있으며, 이들 중 하나는 각각의 모바일 디바이스, 가입자 디바이스, 브로드캐스트 디바이스, 서버 등에서 결합된 인코더/디코더(CODEC)의 부분으로서 통합될 수 있다. 또한, 소스 디바이스(12) 및 목적 디바이스(14) 각각은 무선 통신을 지원하기에 충분한 무선 주파수(RF) 무선 컴포넌트들 및 안테나들을 포함하는, 적용가능한 인코딩 비디오의 송신 및 수신을 위한 적절한 변조, 복조, 주파수 컨버전, 필터링 및 증폭기 컴포넌트들을 포함할 수 있다. 그러나, 예시의 용이함을 위해서, 이러한 컴포넌트들은 도 1에 소스 디바이스(12)의 송신기(22) 및 목적 디바이스(14)의 수신기(24)로서 요약(summerize)된다.
도 2는 도 1의 예시적인 비디오 인코더(20)를 보다 상세하게 예시하는 블록 다이어그램이다. 비디오 인코더(20)는 비디오 프레임들 내에서 블록들의 인트라- 및 인터-코딩을 수행한다. 인트라-코딩은 주어진 비디오 코딩 유닛 예를 들어, 프레임 또는 슬라이스 내에서 비디오 데이터에서의 공간 리던던시를 감소시키거나 제거하기 위해서 공간 예측에 의존한다. 인트라-코딩을 위해서, 비디오 인코더(20)는 코딩되는 블록과 동일한 코딩 유닛 내에서 하나 이상의 사전 인코딩된 블록들에 기초하여 공간 예측 블록을 형성한다. 인터-코딩은 비디오 시퀀스의 인접한 프레임들 내에서 시간 리던던시를 감소시키거나 제거하기 위해서 시간 예측에 의존한다. 인터-코딩을 위해, 비디오 인코더(20)는 둘 이상의 인접 프레임들 사이의 거의(closely) 매칭하는 비디오 블록들의 이동을 트래킹하기 위해 이동 추정을 수행한다.
도 2의 예에서, 비디오 인코더(20)는 블록 분할 유닛(30), 예측 유닛(32), 프레임 저장소(34), 변환 유닛(38), 양자화 유닛(40), 계수 스캐닝 유닛(41), 역 양자화 유닛(42), 역 변환 유닛(44) 및 엔트로피 인코딩 유닛(46)을 포함한다. 또한, 비디오 인코더(20)는 합산기들(48A 및48B)("합산기들 48")을 포함한다. 인-루프 디블로킹 필터(in-loop deblocking filter)(미도시)는 블로킹 아티팩트들을 감소시키거나 제거하기 위해서 재구성된 비디오 블록들에 적용될 수 있다. 도 2의 상이한 특징들의 유닛들로서 도시하는 것은 예시되는 디바이스들의 상이한 기능적 양상들을 강조(highlight)하는 것으로 의도되며, 이러한 유닛들이 반드시 별도의 하드웨어 또는 소프트웨어 컴포넌트들에 의해 실현되어야 함을 내포하지는 않는다. 오히려, 하나 이상의 유닛들과 연관된 기능성은 공통의 또는 별도의 하드웨어 또는 소프트웨어 컴포넌트들 내에 통합될 수 있다.
블록 분할 유닛(30)은 비디오 소스(18)(도 1)로부터 예를 들어, 비디오 프레임들의 시퀀스의 형태로 비디오 정보를 수신한다(도 2에서 "비디오 입력"으로 표시됨). 블록 분할 유닛(30)은 비디오 프레임들 각각을 복수의 비디오 블록들을 포함하는 코딩 유닛들로 분할한다. 전술된 바와 같이, 코딩 유닛들은 전체 프레임 또는 프레임의 일부분(예를 들어, 프레임의 슬라이스)일 수 있다. 일례에서, 블록 분할 유닛(30)은 코딩 유닛들 각각을 16×16의 분할 사이즈를 가지는 복수의 비디오 블록들로(즉, 매크로블록들로) 초기에 분할할 수 있다. 블록 분할 유닛(30)은 16×16 비디오 블록들 각각을 8×8 비디오 블록들 또는 4×4 비디오 블록들과 같은 보다 작은 블록들로 추가적으로 서브-분할할 수 있다.
비디오 인코더(20)는 블록의 블록 타입에 기초하여 블록 단위 기반(block by block basis)으로 코딩 유닛의 비디오 블록들 각각에 대하여 인트라- 또는 인터-코딩을 수행한다. 예측 유닛(32)은 블록이 인터-예측 또는 인트라-예측을 사용하여 예측될 것인지의 여부 뿐만 아니라 블록의 선택된 분할 사이즈를 표시할 수 있는 비디오 블록들 각각에 블록 타입을 할당한다. 또한, 인터-예측의 경우, 예측 유닛(32)은 모션 벡터들을 결정한다. 또한, 인트라-예측의 경우, 예측 유닛(32)은 예측 블록을 생성하기 위해서 사용할 예측 모드를 결정한다.
이후, 예측 유닛(32)은 예측 블록을 생성한다. 예측 블록은 현재 비디오 블록의 예측된 버전일 수 있다. 현재 비디오 블록은 현재 코딩되고 있는 비디오 블록을 지칭한다. 인터-예측의 경우 예를 들어, 블록에 인터-블록 타입이 할당되는 경우, 예측 유닛(32)은 현재 비디오 블록의 인터-코딩을 위한 시간 예측을 수행할 수 있다. 예를 들어, 예측 유닛(32)은 현재 비디오 블록 예를 들어, 최소 MSE, SSD, SAD 또는 다른 차이 메트릭을 가지는 인접한 프레임 내의 블록을 가장 근접하게 매칭시키는 인접한 프레임 내의 블록을 식별하기 위해서 현재 비디오 블록을 하나 이상의 인접한 비디오 프레임들 내의 블록들과 비교할 수 있다. 예측 유닛(32)은 인접 프레임 내의 식별된 블록을 예측 블록으로서 선택한다.
인트라-예측의 경우 즉, 블록에 인트라-블록 타입이 할당되는 경우, 예측 유닛(32)은 공통 코딩 유닛(예를 들어, 프레임 또는 슬라이스) 내에서 하나 이상의 사전 인코딩된 이웃 블록들에 기초하여 예측 블록을 생성할 수 있다. 예를 들어, 예측 유닛(32)은 현재 프레임 내에서 하나 이상의 사전 인코딩된 이웃 블록들을 사용하여 보간(interpolation)을 수행함으로써 예측 블록을 생성하기 위해서 공간 예측을 수행할 수 있다. 예를 들어, 현재 프레임 내의 하나 이상의 인접한 블록들은 프레임 저장소(34)로부터 리트리브될 수 있으며, 프레임 저장소(34)는 하나 이상의 사전 인코딩된 프레임들 또는 블록들을 저장하기 위해서 임의의 타입의 메모리 또는 데이터 저장 디바이스를 포함할 수 있다.
예측 유닛(32)은 예측 모드들의 세트 중 하나에 따라 보간을 수행할 수 있다. 전술된 바와 같이, 예측 모드들의 세트는 단방향 예측 모드들 및/또는 다-방향 예측 모드들을 포함할 수 있다. 다-방향 예측 모드들은 단방향 예측 모드들의 결합들을 정의한다. 일례에서, 예측 모드들의 세트는 H.264/MPEG-4 Part 10 AVC 표준에서 정의된 단방향 예측 모드들 및 2개의 단방향 예측 모드들의 다양한 결함들을 정의하는 양방향 예측 모드들을 포함할 수 있다.
인트라 4 x 4 블록 타입에 대해, 예를 들어, 예측 모드들의 세트는 H.264/MPEG-4 Part 10 AVC 표준으로 정의된 9개의 단방향 예측 모드들 및 상기 단방향 예측 모드들의 가능한 조합들의 서브세트를 포함할 수 있다. 따라서, 단방향 예측 모드들의 모든 36개의 가능한 결합들을 지원하는 대신, 비디오 인코더(20)는 오직 단방향 예측 모드들의 가능한 결합들의 일부분만을 지원할 수 있다. 그러한 지원은 코딩이 현저하게 저하되게 하지 않을 수 있다. 18개의 총 인트라-예측 모드들을 포함하는 인트라-예측 모드들의 일 예시적인 세트는 아래에서 제공된다.
모드 0: 수직
모드 1 : 수평
모드 2: DC
모드 3 : 대각선 좌측 다운
모드 4: 대각선 우측 다운
모드 5 : 수직 우측
모드 6: 수평 다운
모드 7: 수직 좌측
모드 8: 수평 업
모드 9: 수직 + 수평(모드 0 + 모드 1)
모드 10: DC + 수직(모드 2 + 모드 0)
모드 11 : DC + 수평(모드 2 + 모드 1)
모드 12: 대각선 좌측 다운 + 수평(모드 3 + 모드 1)
모드 13: 대각선 좌측 다운 + 수직(모드 4 + 모드 0)
모드 14: 수직 우측 + 수평(모드 5 + 모드 1)
모드 15: 수평 다운 + 수직(모드 6 + 모드 0)
모드 16: 수직 좌측 + 수평(모드 7 + 모드 1)
모드 17: 수평 업 + 수직(모드 8 + 모드 0)
전술된 예시적인 세트에서, 모드들 0-8은 단방향 예측 모드들이고, 모드들 9-17은 양방향 예측 모드들이다. 특히, 모드들 0-8은 H.264/MPEG-4 Part 10 AVC 표준에서 정의된 인트라 4×4 예측 모드들이다. 모드들 9-17은 가능한 양방향 예측 모드들의 서브세트이다. 제공되는 예에서의 가능한 양방향 예측 모드들의 서브세트는 각각의 단방향 예측 모드들을 포함하는 적어도 하나의 결합을 포함한다. DC 예측 모드(예를 들어, 모드 10 및 11)를 포함하는 양방향 예측 모드들 이외에, 각각의 양방향 예측 모드는 평행하지 않은(non-parallel) 그리고 일부 예들에서 실질적으로 서로 직교하는 보간 방향들을 가지는 단방향 예측 모드들을 결합한다. 다시 말해서, 양방향 예측 모드들의 서브세트는 "수직" 카테고리로부터의 예측 모드들을 "수평" 카테고리로부터의 예측 모드들과 일반적으로 결합하는 양방향 예측 모드들을 포함한다. 이러한 양방향 예측 모드들은 인트라-예측 프로세스가 멀리 떨어진 위치들로부터 이용가능한 예측 픽셀들을 결합할 수 있도록 하고, 이에 따라 현재 비디오 블록 내의 보다 많은 픽셀 위치들에 대한 예측 품질이 향상된다.
전술된 예측 모드들의 세트는 예시를 위해서 설명된다. 예측 모드들의 세트는 보다 많은 또는 보다 적은 예측 모드들을 포함할 수 있다. 예를 들어, 예측 모드들의 세트는 보다 많은 또는 보다 적은 양방향 예측 모드들을 포함하거나, 어떤 양방향 예측 모드들도 포함하지 않을 수 있다. 다른 예들에서, 예측 모드들의 세트는 오직 단방향 예측 모드들의 서브세트만을 포함할 수 있다. 추가적으로, 예측 모드들의 세트는 양방향 예측 모드들에 더하여 또는 양방향 예측 모드들 대신에, 셋 이상의 단방향 예측 모드들을 결합하는 다-방향 예측 모드들을 포함할 수 있다. 또한, 인트라 4×4 블록 타입들을 참조하여 전술되지만, 본 발명의 기법들은 다른 인트라 블록 타입들(예를 들어, 인트라 8×8 블록 타입들 또는 인트라 16×16 블록 타입들) 또는 인터 블록 타입들에 적용할 수 있다.
특정 블록에 대하여 복수의 예측 모드들 중 어떤 모드를 선택할지를 결정하기 위해서, 예측 유닛(32)은 세트의 예측 모드들 각각에 대한 코딩 비용 예를 들어, Lagrangian 비용을 추정하고, 최소 코딩 비용을 가지는 예측 모드를 선택할 수 있다. 다른 예들에서, 예측 유닛(32)은 오직 가능한 예측 모드들의 세트의 일부분만에 대한 코딩 비용을 추정할 수 있다. 예를 들어, 예측 모드(32)는 하나 이상의 이웃 비디오 블록들에 대하여 선택된 예측 모드에 기초하여 세트의 예측 모드들의 부분을 선택할 수 있다. 예측 유닛(32)은 선택된 예측 모드를 사용하여 예측 블록을 생성한다.
예측 블록을 생성한 이후에, 비디오 인코더(20)는 합산기(48A)에서 현재 비디오 블록으로부터 예측 유닛(32)에 의해 생성된 예측 블록을 차감함으로써 레지듀얼 블록을 생성한다. 레지듀얼 블록은 현재 비디오 블록의 픽셀 값들과 예측 블록의 픽셀 값들 사이의 차이들을 수량화하는 픽셀 차이 값들의 세트를 포함한다. 레지듀얼 블록은 2-차원 블록 포맷(예를 들어, 픽셀 값들의 2-차원 행렬 또는 어레이)으로 표현될 수 있다. 다시 말해서, 레지듀얼 블록은 픽셀 값들의 2-차원 표현이다.
변환 유닛(38)은 레지듀얼 변환 계수들을 생성하기 위해서 레지듀얼 블록에 변환을 적용한다. 예를 들어, 변환 유닛(38)은 DCT, 정수 변환, 방향 변환, 웨이블렛 변환 또는 이들의 조합을 적용할 수 있다. 변환 유닛(38)은 예측 블록을 생성하기 위해서 예측 유닛(32)에 의해 선택된 예측 모드에 기초하여 레지듀얼 블록에 변환들을 선택적으로 적용할 수 있다. 다시 말해서, 레지듀얼 정보에 적용되는 변환은 예측 유닛(32)에 의해 블록에 대하여 선택되는 예측 모드에 의존할 수 있다.
변환 유닛(38)은 복수의 상이한 변환들을 유지하고, 블록의 예측 모드에 기초하여 레지듀얼 블록에 변환들을 선택적으로 적용할 수 있다. 복수의 상이한 변환들은 DCT들, 정수 변환들, 방향 변환들, 웨이블렛 변환들 또는 이들의 조합들을 포함할 수 있다. 일부 경우들에서, 변환 유닛(38)은 DCT 또는 정수 변환, 및 복수의 방향 변환들을 유지하고, 현재 비디오 블록에 대하여 선택되는 예측 모드에 기초하여 선택적으로 변환들을 적용할 수 있다. 예를 들어, 변환 유닛(38)은 제한된 방향성을 나타내는 예측 모드들로써 레지듀얼 블록들에 DCT 또는 정수 변환을 적용하고, 상당한(significant) 방향성을 나타내는 예측 모드들로써 레지듀얼 블록들에 방향 변환들 중 하나를 적용할 수 있다.
전술된 예측 모드들의 예시적인 세트를 사용하여, 변환 유닛(38)은 모드들(2, 9 및 12-17)에 DCT 또는 정수 변환을 적용할 수 있다. 이러한 모드들은 자신들이 대략 직교하는 방향들에서 DC 예측 또는 2개의 예측 모드들의 조합이므로 제한된 방향성을 나타낼 수 있다. 이와 반대로, 모드들 1, 3- 8, 10 및 11은 방향성을 나타낼 수 있는 모드들이고, 이에 따라 변환 유닛(38)은 레지듀얼 비디오 블록들의 보다 양호한 에너지 압축(compaction)을 획득하도록 이러한 모드들 각각에 대하여 상이한 방향 변환들을 적용할 수 있다. 다시 말해서, 보다 강력한(strong) 방향성을 가지는 예측 모드들이 선택되는 경우, 방향성은 이러한 예측 모드들의 레지듀얼 블록들에서 나타날 수도 있다(manifest). 그리고, 상이한 예측 모드들의 레지듀얼 블록들은 상이한 방향성 특성들을 나타낸다. 이와 같이, DCT 또는 DCT-유사 정수 변환과 같은 변환들에 비해, 각각의 예측 모드에 대하여 특정하게 트레이닝(train)된 방향 변환들은 보다 양호한 에너지 압축을 주어진 예측 모드의 레지듀얼 블록들로 제공할 수 있다. 반면에, 강력한 방향성을 전달하지 않는 예측 모드들에 대하여, DCT 또는 DCT-유사 정수 변환과 같은 변환들은 충분한 에너지 압축을 제공한다. 이러한 방식으로, 변환 유닛(38)은 가능한 예측 모드들 각각에 대하여 별도의 변환들을 유지할 필요가 없으며, 이에 따라 변환 저장 요건들이 낮추어진다(lower). 또한, DCT 및/또는 정수 변환들 적용은 계산의 복잡성 면에서 보다 덜 복잡하다.
다른 예들에서, 변환 유닛(38)은 가능한 예측 모드들 각각에 대하여 상이한 방향 변환을 유지하고, 선택된 블록의 예측 모드에 기초하여 대응하는 방향 변환들을 적용할 수 있다. 전술된 예측 모드들의 예시적인 세트에 대하여, 변환 유닛(38)은 18개의 상이한 방향 변환들을 유지할 수 있고, 이들 각각은 18개의 가능한 인트라 4×4 예측 모드들 중 하나와 대응한다. 추가적으로, 18개의 가능한 인트라 8×8 예측 모드들에 대하여 18개의 상이한 방향 변환들, 및 4개의 가능한 인트라 16×16 예측 모드들에 대하여 4개의 상이한 방향 변환들, 그리고 다른 분할 사이즈들의 임의의 다른 예측 모드들에 대한 변환들을 유지할 수 있다. 선택된 블록의 예측 모드에 기초하여 개별 방향 변환들을 적용하는 것은 특히, 상당한 방향성을 나타내는 예측 모드가 선택되는 블록들에 대하여 레지듀얼 에너지가 캡쳐되는 효율성을 증가시킨다. 방향 변환들은 예를 들어, 비-분리 KLT(Karhunen Loeve Transform)들 또는 분리 방향 변환들로부터 유도되는 비-분리 방향 변환들일 수 있다. 일부 예들에서, 방향 변환들은 데이터의 트레이닝 세트들을 사용하여 사전-계산될 수 있다.
KLT는 기저 함수들이 신호의 통계치로부터 유도되는 선형 변환이고, 이에 따라 적응적일 수 있다. KLT는 가능한 한 적은 계수들에 그와 동일한 에너지를 배치시키도록 설계된다. KLT는 일반적으로 분리적이지 않고, 이에 따라 변환 유닛(38)은 아래에서 보다 상세하게 설명되는 바와 같이 풀(full) 행렬 곱을 수행한다. 4×4 레지듀얼 블록으로의 비-분리 방향 변환 적용은 예시를 위해 설명될 것이다. 유사한 기법들이 상이한 사이즈들의 블록들 예를 들어, 8×8 블록 또는 16×16 블록들에 사용된다.
4×4 레지듀얼 블록 X는 4개의 로우(row)들 및 4개의 컬럼(column)들의 픽셀 값들 즉, 전체 16 픽셀 값들을 가지는 2-차원 블록 포맷으로 표현된다. 비-분리 방향 전환을 적용시키기 위해, 4×4 레지듀얼 블록은 픽셀 값들의 즉, 길이 16의 1-차원 벡터로 재-배열된다. 4×4 레지듀얼 블록 X는 래스터(raster) 스캐닝 순서로 X 내의 픽셀들을 배열함으로써 벡터 X로 재-배열된다. 즉, 4×4 레지듀얼 블록 X가 다음과 같이 기록되는 경우,
Figure 112010002719116-pct00001

길이 16의 레지듀얼 벡터 x는 다음과 같이 기록된다.
Figure 112010002719116-pct00002

변환 계수 벡터 y는 다음의 수식(1)에 따라 행렬 곱을 수행함으로써 획득된다.
Figure 112010002719116-pct00003
(1)
여기서, T는 블록에 대하여 선택된 예측 모드에 대응하는 사이즈 16×16의 변환 행렬이다. 또한, 변환 계수 벡터 y는 16개의 계수들의 길이를 가지는 1-차원 벡터이다.
비-분리 방향 변환들의 사용은 증가된 계산 비용 및 저장 요건들을 수반할 수 있다. 일반적으로, 사이즈 N×N의 레지듀얼 블록에 대하여, 비-분리 방향 변환은 사이즈 N2×N2의 기저 함수들을 요구한다. 즉, 4×4 레지듀얼 블록들에 대하여, 비-분리 방향 변환은 16×16 사이즈를 가지고, 8×8 레지듀얼 블록들에 대하여, 비-분리 방향 변환은 64×64 사이즈를 가지며, 16×16 레지듀얼 블록들에 대하여, 비-분리 방향 변환은 256×256 사이즈를 가진다. 상이한 비-분리 방향 변환이 세트의 예측 모드들 각각에 대하여 사용될 수 있으므로, 변환 유닛(32)은 4×4 블록들에 대한 18개의 16×16 방향 변환들 및 8×8 블록들에 대한 18개의 64×64 변환들을 저장할 수 있고, 예측 모드들의 세트가 보다 큰 경우, 보다 큰 변환들을 저장하는 것이 가능할 수 있다. 이것은 변환 프로세스를 수행하는데 필요한 변환 행렬들을 저장하는데 큰 메모리 자원들이 사용되게 할 수 있다. 또한, 비-분리 방향 변환들의 계산 비용은 높다. 일반적으로, N×N 블록에 대한 비-분리 방향 변환을 적용하는 것은 N2×N2번의 곱들 및 N2×(N2-1)번의 합들을 요구한다.
비-분리 방향 변환들 대신에, 변환 유닛(32)은 예측 모드들 각각에 대한 분리 방향 변환들을 유지할 수 있다. 분리 방향 변환들은 비-분리 방향 변환들에 비해 보다 적은 저장 및 계산 비용을 가진다. 4×4 레지듀얼 블록 X에 대하여, 예를 들어, 분리 변환은 다음의 수식(2)에 의해 표시되는 바와 같이 적용된다.
Figure 112010002719116-pct00004
(2)
여기서, Y는 결과 변환 계수 행렬이고, C는 컬럼 변환 행렬이며, R은 로우 변환 행렬이고, 이들 모두는 블록 사이즈(예를 들어, 이 예에서 4×4)와 동일하다. 따라서, 결과 변환 계수 행렬 Y 역시 사이즈 4×4의 2-차원 행렬이다.
각각의 예측 모드에 대하여, 변환 유닛(32)은 2개의 N×N변환 행렬들(예를 들어, 행렬 쌍들 C 및 R)을 저장할 수 있고, 여기서 N×N은 블록 사이즈(예를 들어, N = 4, 8 또는 16)에 대응한다. 전술된 4×4 블록에 대한 18개의 예측 모드들의 예시적인 세트에서, 변환 유닛(32)은 비-분리 변환들이 사용될 시에 저장되는 18개의 16×16 변환 행렬들보다 적은 저장공간을 요구하는 36개의 4×4 변환 행렬들을 저장한다. 추가적으로, 변환 유닛(32)은 비-분리 방향 변환들을 수행하는데 사용되는 N2×N2 번의 곱들 및 N2×(N2-1) 번의 합들보다 상당히 적은 연산들인 2×N×N×N번의 곱들 및 2×N×N×(N-1)번의 합들을 사용하여 분리 방향 변환을 수행할 수 있다. 표 1은 4×4 및 8×8의 블록 사이즈들에 대한 분리 대 비-분리 방향 변환들 사용 사이의 저장 및 계산 요건들을 비교한다. 16×16 블록들에 대한 분리 및 비-분리 방향 변환들 사이의 비교는 유사한 방식으로 행해질 수 있다. 표 1에 예시된 바와 같이, 분리 방향 변환들의 사용은 비-분리 방향 변환들에 비해 계산 복잡도 및 저장 요건 모두의 감소를 제공하고, 상기 감소는 보다 큰 블록 사이즈들에 대하여 보다 커지며, 예를 들어 8×8 블록들에 대한 감소는 4×4 블록들에 대한 감소보다 크다.
표 1: 비- 분리 대 분리 방향 변환들의 복잡도

블록 사이즈

비-분리 변환

분리 변환


모든 모드들에 대한 저장공간
(바이트)

4×4

18×16×16 = 4608

18×2×4×4 = 576

8×8

18×64×64 = 73728

18×2×8×8 = 2304



블록 당 계산



4×4

256번 곱 연산들
240번 합 연산들

128번 곱 연산들
96번 합 연산들

8×8

4096번 곱 연산들
4032번 합 연산들

1024번 곱 연산들
896번 합 연산들
각각의 예측 모드에 대한 분리 변환 행렬들은 트레이닝 비디오 시퀀스들의 세트로부터의 예측 레지듀얼들을 사용하여 획득될 수 있다. 비-분리 KLT 변환의 유도와 유사하게, 특이 값 분해(singular value decomposition: SVD) 프로세스는 로우 변환 행렬 및 컬럼 변환 행렬 각각을 획득하도록 먼저 로우 방향으로 그리고 이후에 컬럼 방향으로 트레이닝 세트에서의 예측 레지듀얼들에 적용될 수 있다. 대안적으로, 비-분리 방향 변환 행렬들 즉, 비-분리 KLT 변환 행렬들은 먼저 트레이닝 세트로부터의 예측 레지듀얼들을 사용하여 트레이닝될 수 있고, 이후, 각각의 예측 모드에 대한 분리 변환 행렬들은 비-분리 변환 행렬들을 분리 변환 행렬들로 추가적으로 분리함으로써 획득될 수 있다.
둘 중 어떤 방식이든, 결과 변환 행렬들은 통상적으로 부동 소수점 정밀도(precision)를 가진다. 고정-소수점 정밀도 수들은 변환 프로세스에서 고정 소수점 산술(arithmetic)의 사용을 가능하게 하기 위해서 그리고 계산 비용을 감소시키기 위해서 변환 행렬들 내의 계수들을 근사화(approximate)하는데 사용된다. 변환 행렬들 내의 계수들의 고정-소수점 근사치들의 정밀도는 고정 소수점 산술(arithmetic)을 사용하여 변환 프로세스 동안 필요한 최대 정밀도와 계산 복잡도 사이의 균형(balance)을 찾음으로써 결정된다. 다시 말해, 변환 행렬들의 고정-포인트 근사화들의 더 높은 정밀도는 고정-포인트 근사화의 사용으로 인해 더 작은 에러들을 초래할 수 있으며 이는 바람직하지만, 변환 행렬들의 고정-포인트 근사화에서의 너무 높은 정밀도 역시 변환 프로세스 동안 고정-포인트 산술연산이 과도해지도록(overflow) 할 수 있으며, 이는 바람직하지 않다.
픽셀 값들의 레지듀얼 블록에 변환을 적용시킨 이후에, 양자화 유닛(40)은 비트 레이트를 추가적으로 감소시키기 위해 변환 계수들을 양자화한다. 양자화 이후에, 역 양자화 유닛(42) 및 역 변환 유닛(44)은 레지듀얼 블록(도 2에서 "RECON RESID 블록"으로 레이블링됨)을 재구성하기 위해서 역 양자화 및 역 변환을 적용할 수 있다. 합산기(48B)는 프레임 저장소(34)에의 저장을 위해서 재구성된 비디오 블록을 생성하기 위해서 예측 유닛(32)에 의해 생성된 예측 블록에 재구성된 레지듀얼 블록을 합한다. 재구성된 비디오 블록은 후속하는 비디오 블록을 인트라- 또는 인터-코딩하기 위해서 예측 유닛(32)에 의해 사용될 수 있다.
전술된 바와 같이, DCT, H.264/AVC에 사용되는 정수 변환들 및 분리 방향 변환들을 포함하는 분리 변환들이 사용되는 경우, 결과 변환 계수들은 2-차원 계수 행렬들로서 표현된다. 따라서, 양자화 이후에, 계수 스캐닝 유닛(41)은 2-차원 블록 포맷으로부터 1-차원 벡터 포맷으로 계수들을 스캐닝하고, 프로세스는 종종 계수 스캐닝으로 지칭된다. 특히, 계수 스캐닝 유닛(41)은 스캐닝 순서에 따라 계수들을 스캐닝한다. 본 발명의 일 양상에 따르면, 계수 스캐닝 유닛(41)은 하나 이상의 계수 통계치에 기초하여 계수 스캐닝에 사용되는 스캐닝 순서를 적응적으로 조정할 수 있다. 일부 예들에서, 계수 스캐닝 유닛(41)은 예측 모드들 각각이 상이한 계수 통계치를 가질 수 있으므로 예측 모드들 각각에 대하여 개별적으로 스캐닝 순서를 적응적으로 조정할 수 있다.
계수 스캐닝 유닛(41)은 제 1 스캐닝 순서를 사용하여 양자화된 레지듀얼 블록의 계수들을 초기에 스캐닝할 수 있다. 일 양상에서, 제 1 스캐닝 순서는 H.264/MPEG-4 Part 10 AVC 애플리케이션들에서 전형적으로 사용되는 지그-재그 스캐닝 순서일 수 있다. 계수 스캐닝 유닛(41)이 지그-재그 스캐닝 순서를 사용하여 초가에 스캐닝되는 것으로 설명되지만, 본 발명의 기법들은 임의의 특정 초기 스캐닝 순서 또는 기법으로 제한되지 않는다. 또한, 예측 모드들 각각은 상이한 초기 스캐닝 순서 예를 들어, 상기 예측 모드에 대하여 특정하게 트레이닝된 스캐닝 순서를 가질 수 있다. 그러나, 지그-재그 스캐닝 순서는 예시를 위해서 설명된다. 지그-재그 스캐닝 순서는 2-차원 블록의 상위 좌측 코너에서의 계수들이 계수 벡터의 시작에서 압축되도록 1-차원 벡터 내의 양자화된 계수들을 배열한다. 지그-재그 스캐닝 순서는 제한된 방향성을 가지는 계수 블록들로 충분한 압축을 제공할 수 있다.
레지듀얼 블록들이 일부 또는 상당한 방향성을 가지고, 분리 방향 변환들을 사용하여 변환되는 경우, 결과 2-차원 변환 계수 블록은 여전히 소정 양의 방향성을 전달할 수 있다. 이것은 분리 방향 변환들을 사용하는 것이 보다 낮은 계산 복잡도 및 저장 요건의 이점들을 제공하는 반면, 비-분리 방향 변환들을 사용하는 것 뿐만 아니라 레지듀얼 블록들에서는 방향성을 캡쳐할 수 없기 때문이다. 일례에서, 수직 예측(전술된 예의 모드 0)으로의 방향 변환의 적용 이후에, 0이 아닌 계수들은 수평 방향을 따라 존재하는 경향이 있다. 따라서, 지그-재그 스캐닝 순서는 0이 아닌 계수들 모두가 계수 벡터의 시작에서 압축되지 않게 할 수 있다. 고정된 지그-재그 스캐닝 순서 대신에 수평 방향으로 스캐닝 순서를 배향(orient)하도록 계수 스캐닝 순서를 적응(adapt)시킴으로써, 계수 블록의 0이 아닌 계수들은 지그-재그 스캐닝 순서로 스캐닝되는 경우보다 1-차원 계수 벡터의 시작에서 보다 압축될 수 있다. 이것은 1-차원 계수 벡터의 시작에서 0이 아닌 계수들 사이의 0들의 보다 짧은 런들 및 1-차원 계수 벡터의 끝에서 0들의 보다 긴 하나의 런이 존재하므로, 엔트로피 코딩에 소비되는 비트들의 개수를 차례로 감소시킬 수 있다. 또한, 1-차원 계수를 생성하는데 사용되는 스캐닝 순서를 적응시키는 개념은 다른 예측 모드들에 적용된다. 예를 들어, 계수 스캐닝 유닛(41)은 예측 모드들 각각이 계수 블록들에서의 상이한 방향성을 가지고, 이에 따라 상이한 계수 통계치를 가질 수 있으므로, 예측 모드들 각각에 대하여 개별적으로 스캐닝 순서를 적응적으로 조정할 수 있다. 이러한 방식으로, 스캐닝 순서는 예측 모드들 각각에 대하여 상이할 수 있다.
전술된 바와 같이, 초기 스캐닝 순서는 특히, 방향 변환들이 레지듀얼 블록에 적용되는 예들에 대하여, 지그-재그 스캐닝 순서가 아닐 수 있다. 이러한 경우들에서, 초기 스캐닝 순서는 아래에서 설명된 기법들 중 하나를 사용하여 미리-결정될 수 있다. 일례로서, 초기 스캐닝 순서는 트레이닝 비디오 시퀀스들의 세트를 사용하여 결정될 수 있다. 아래에서 설명된 통계치와 같은 비-제로 계수들의 통계치는 각각의 예측 모드에 대하여 수집되고, 계수 스캐닝 순서를 초기화하는데 사용된다. 특히, 0이 아닌 계수들의 가장 높은 확률을 가지는 위치는 초기 스캐닝 순서의 제 1 계수 위치이고, 이후 0이 아닌 계수들의 다음으로 가장 높은 확률을 가지는 위치는 초기 스캐닝 순서의 제 2 계수 위치이며, 이후에도 동일한 방식으로 초기 스캐닝 순서의 마지막 계수 위치인 가장 작은 0이 아닌 확률을 가지는 위치까지 이루어진다. 대안적으로, 초기 스캐닝 순서는 분리 변환 행렬들의 고유값(eigenvalue)들의 크기(magnitude)들에 기초하여 결정될 수 있다. 예를 들어, 고유값들은 내림차순으로 정렬(sort)될 수 있고, 계수들은 고유값들의 대응하는 순서 이후에 스캐닝된다.
초기 스캐닝 순서가 전술된 기법들 중 하나를 사용하여 결정되지만, 다양한 타입들의 비디오 소스들은 양자화된 레지듀얼 계수들이 블록 내의 상이한 계수 위치들에 위치되게 할 수 있다. 예를 들어, 상이한 해상도들의 비디오 소스들 예를 들어, CIF(common intermediate format), QCIF(quarter-CIF) 및 고-화질(예를 들어, 720p/i 또는 1080p/i) 비디오 소스들은 0이 아닌 계수들이 블록 내에서 상이한 계수 위치들에 위치되게 할 수 있다. 따라서, 초기 스캐닝 순서가 블록의 예측 모드에 기초하여 선택되지만, 계수 스캐닝 유닛(41)은 여전히 1-차원 계수 벡터의 시작에서 0이 아닌 계수들의 압축을 향상시키도록 스캐닝 순서를 적응시킬 수 있다.
스캐닝 순서를 적응시키기 위해서, 계수 스캐닝 유닛(41) 또는 비디오 인코더(20)의 다른 유닛은 하나 이상의 블록들에 대하여 하나 이상의 계수 통계치를 수집할 수 있다. 다시 말해서, 계수 스캐닝이 블록 단위로 수행되므로, 계수 스캐닝 유닛(41)은 블록 내의 위치들 각각이 0이 아닌 계수를 가지는 횟수들을 표시하는 통계치를 수집할 수 있다. 예를 들어, 계수 스캐닝 유닛(41)은 2-차원 블록에서 계수 위치와 각각 대응하는 복수의 카운터들을 유지하고, 0이 아닌 계수가 상기 각각의 위치에 위치되는 경우, 상기 위치에 대응하는 카운터를 증가시킬 수 있다. 이러한 방식으로, 높은 카운트 값들은 0이 아닌 계수들이 보다 빈번하게 발생하는 블록 내의 위치들과 대응하고, 낮은 카운트 값들은 0이 아닌 계수가 보다 덜 빈번하게 발생하는 블록 내의 위치들과 대응한다. 일부 예들에서, 계수 스캐닝 유닛(41)은 예측 모드들 각각에 대하여 별도의 계수 통계치의 세트들을 수집할 수 있다.
전술된 바와 같이, 계수 스캐닝 유닛(41)은 수집된 통계치에 기초하여 스캐닝 순서를 적응시킬 수 있다. 계수 스캐닝 유닛(41)은 수집된 통계치에 기초하여, 0이 아닌 계수들을 가질 보다 작은 확률을 가지는 것으로 결정되는 계수 위치들 이전에 0이 아닌 계수들을 가질 보다 높은 확률을 가지는 것으로 결정되는 계수 위치들을 스캐닝하도록 스캐닝 순서를 적응시킬 수 있다. 예를 들어, 계수 스캐닝 유닛(41)은 카운트 값들이 각각의 계수 위치들이 0이 아닌 값을 가지는 횟수를 표현하는 경우, 자신들의 카운트 값들에 기초하여 내림차순으로 2-차원 블록의 계수 위치들을 스캐닝하도록 스캐닝 순서를 적응시킬 수 있다. 대안적으로, 카운터들은 블록 내의 위치들 각각이 0 값이 아닌 계수에 대한 위치였던 횟수를 트래킹하고, 자신들의 카운트 값들에 기초하여 오름 차순으로 계수 위치들을 스캐닝하도록 스캐닝 순서를 적응시킬 수 있다. 일부 예들에서, 통계치는 블록의 계수 위치들 모두 대신에, 오직 블록의 계수 위치들의 서브세트에 대해서만 수집될 수 있다. 이러한 경우, 계수 스캐닝 유닛(41)은 오직 스캐닝 순서의 부분만을 적응시킬 수 있다.
계수 스캐닝 유닛(41)은 고정 또는 고정되지 않은 구간들에서 스캐닝 순서를 적응시킬 수 있다. 예를 들어, 계수 스캐닝 유닛(41)은 블록 경계들과 같은 고정된 구간들에서 스캐닝 순서를 적응시킬 수 있다. 일부 예들에서, 계수 스캐닝 유닛(41)은 4×4 또는 8×8 블록 경계들에서 또는 매크로블록 경계들에서 스캐닝 순서를 적응시킬 수 있다. 이러한 방식으로, 스캐닝 순서는 각각의 블록 또는 매크로블록에 대하여 적응될 수 있다. 그러나, 보다 낮은 시스템 복잡도를 위해서, 계수 스캐닝 유닛(41)은 스캐닝 순서를 보다 덜 빈번하게 예를 들어, 모든 n개의 블록들 또는 매크로블록들 이후에 적응시킬 수 있다. 대안적으로, 계수 스캐닝 유닛(41)은 고정되지 않은 구간들에서 스캐닝 순서를 적응시킬 수 있다. 계수 스캐닝 유닛(41)은 예를 들어, 블록 내의 위치의 카운트 값들 중 하나가 임계 값을 초과하는 경우 스캐닝 순서를 적응시킬 수 있다. 스캐닝 순서를 적응시킨 이후에, 계수 스캐닝 유닛(41)은 적응된 스캐닝 순서를 사용하여 적어도 하나의 후속하는 비디오 블록의 후속하는 양자화된 레지듀얼 블록들을 스캐닝할 수 있다. 일부 예들에서, 계수 스캐닝 유닛(41)은 적어도 하나의 후속하는 비디오 블록이 제 1 비디오 블록의 코딩 유닛에 존재하는 경우 적응된 스캐닝 순서를 사용하여 적어도 하나의 후속하는 비디오 블록의 후속하는 양자화된 레지듀얼 블록들을 스캐닝할 수 있다. 계수 스캐닝 유닛(41)은 스캐닝 순서가 수집된 통계치들에 따라 다시 적응되거나 스캐닝 순서가 재초기화될 때까지 후속하는 비디오 블록들의 스캐닝을 계속할 수 있다. 이러한 방식으로, 계수 스캐닝 유닛(41)은 양자화된 레지듀얼 계수들이 엔트로피 코딩 유닛(46)에 의해 보다 효율적으로 인코딩될 수 있는 이러한 방식으로 1-차원 계수 벡터를 생성하도록 스캐닝 순서를 적응시킨다.
일부 예들에서, 계수 스캐닝 유닛(41)은 수집된 통계치를 정규화(normalize)할 수 있다. 계수 카운트들이 임계 값에 도달할 경우 수집된 통계치의 정규화가 바람직할 수 있다. 임계치에 도달한 카운트 값을 가지는 블록 내의 계수 위치(여기에서 계수 위치 A로 지칭됨)는 예를 들어, 계수 위치가 시간 구간 동안 0이 아닌 계수를 가지지 않는 경우에도 가장 높은 카운트로써 계수 위치를 유지할 수 있다. 이것은 여기에서 계수 위치 B로 지칭되는 블록 내의 다른 위치의 계수 카운트가 위치 A에서의 계수 카운트를 초과하고, 계수 위치들 A와 B 사이의 스캐닝 순서가 변경(즉, 스와핑)되게 하기 전에, 다른 계수들이 다수의 블록들(예를 들어, 수십 또는 수백 개의 블록들)을 취할 수 있을 만큼 큰 위치 A에서의 계수 카운트로 인한 것이다. 따라서, 비디오 인코더(20)가 계수 통계치를 로컬화하도록 보다 신속하게 적응하도록 하기 위해서, 계수 스캐닝 유닛(41)은 카운트들 중 하나가 임계 값에 도달하는 경우 계수들을 정규화할 수 있다. 예를 들어, 미리-결정된 인자에 의해 카운트 값들 각각을 감소시킴으로써 예를 들어, 계수 스캐닝 유닛(41)은 2의 인자에 의해 카운트 값들 각각을 감소시킴으로써, 또는 카운트 값들을 초기 카운트 값들의 세트로 리셋함으로써 계수들을 정규화할 수 있다. 계수 스캐닝 유닛(41)은 다른 정규화 방법들을 이용할 수 있다. 예를 들어, 계수 스캐닝 유닛(41)은 특정 개수의 블록들을 코딩한 이후에 통계치를 리프레시(refresh)할 수 있다.
엔트로피 인코딩 유닛(46)은 하나 이상의 헤더 신택스 엘리먼트들의 형태로 블록에 대한 블록 헤더 정보 뿐만 아니라 블록의 레지듀얼 계수들을 표현하는 1-차원 계수 벡터를 수신한다. 헤더 신택스 엘리먼트들은 블록 타입, 예측 모드, 루마 및 크로마에 대한 코딩된 블록 패턴(CBP), 블록 분할 및 하나 이상의 모션 벡터들과 같은 현재 비디오 블록의 특정 특성들을 식별할 수 있다. 이러한 헤더 신택스 엘리먼트들은 비디오 인코더(20) 내의 다른 컴포넌트들로부터 예를 들어, 예측 유닛(32)으로부터 수신될 수 있다.
엔트로피 인코딩 유닛(46)은 인코딩된 비트스트림(도 2에서 "비디오 비트스트림"으로 레이블링됨)을 생성하기 위해서 현재 비디오 블록에 대한 헤더 정보 및 레지듀얼 정보를 인코딩한다. 엔트로피 인코딩 유닛(46)은 본 발명에서 설명된 기법들에 따라 블록들 각각의 신택스 엘리먼트들 중 하나 이상을 인코딩한다. 특히, 엔트로피 인코딩 유닛(46)은 하나 이상의 사전 인코딩된 비디오 블록들의 신택스 엘리먼트들에 기초하여 현재 블록의 신택스 엘리먼트들을 인코딩할 수 있다. 이와 같이, 엔트로피 인코딩 유닛(46)은 하나 이상의 사전 인코딩된 비디오 블록들의 신택스 엘리먼트들을 저장하기 위한 하나 이상의 버퍼들을 포함할 수 있다. 엔트로피 인코딩 유닛(46)은 현재 비디오 블록의 신택스 엘리먼트들을 인코딩하는 것을 돕기 위해서 임의의 위치에서 임의의 개수의 이웃 블록들을 분석할 수 있다. 예시를 위해서, 엔트로피 인코딩 유닛(46)은 현재 블록 위에 직접 위치된 사전 인코딩된 블록(즉, 상위 이웃 블록) 및 현재 블록의 좌측에 직접 위치된 사전 인코딩된 블록(즉, 좌측 이웃 블록)에 기초하여 예측 모드를 인코딩하는 것으로 설명될 것이다. 그러나, 유사한 기법들은 블록 타입들, 블록 분할들, CBP들 등과 같은 다른 헤더 신택스 엘리먼트들을 인코딩하는데 사용될 수 있다. 또한, 현재 비디오 블록의 코딩에서 단지 상위 및 좌측 이웃 블록들보다 많은 이웃 블록들을 포함하는 유사한 기법들이 사용될 수 있다.
엔트로피 인코딩 유닛(46)의 동작은 전술된 18개의 예측 모드들의 세트를 참조하여 그리고 아래의 예시적인 의사 코드의 관점에서 설명될 것이다.
Figure 112010002719116-pct00005
Figure 112010002719116-pct00006

엔트로피 인코딩 유닛(46)은 변수들 upMode, leftModecurrMode를 상위 이웃 블록의 예측 모드, 좌측 이웃 블록의 예측 모드 및 현재 블록의 예측 모드와 각각 동일하게 초기화한다. 전술된 바와 같이, 상부 이웃 블록, 좌측 이웃 블록 및 현재 블록의 예측 모드들은 Lagrangian 비용 분석에 기초하여 결정될 수 있다. 엔트로피 코딩 유닛(46)은 현재 블록의 예측 모드(currMode)를 이웃 블록들의 예측 모드(upModeleftMode)와 비교한다. 현재 블록의 예측 모드가 이웃 블록들 중 하나의 예측 모드와 동일한 경우, 엔트로피 인코딩 유닛(46)은 "1"을 인코딩한다. 따라서, 현재 블록의 예측 모드를 표현하기 위해서 엔트로피 인코딩 유닛(46)에 의해 인코딩된 제 1 비트는 현재 예측 모드가 상위 이웃 블록의 예측 모드 또는 좌측 이웃 블록의 예측 모드와 동일한지의 여부를 표시한다.
현재 블록의 예측 모드가 이웃 블록들 중 하나의 예측 모드와 동일한 경우 즉, 제 1 인코딩된 비트가 "1"인 경우, 엔트로피 인코딩 유닛(46)은 상부 이웃 블록의 예측 모드를 좌측 이웃 블록의 예측 모드와 비교한다. 상위 이웃 블록의 예측 모드가 좌측 이웃 블록의 예측 모드와 동일한 경우, 엔트로피 인코딩 유닛(46)은 예측 모드에 대한 임의의 보다 많은 비트들을 인코딩하지 않는다. 이러한 경우, 예측 모드는 단일 비트를 사용하여 인코딩될 수 있다.
그러나, 상위 이웃 블록의 예측 모드가 좌측 이웃 블록의 예측 모드와 동일하지 않은 경우, 엔트로피 인코딩 유닛(46)은 이웃 블록들 중 어떤 블록이 현재 블록과 동일한 예측 모드를 가지는지를 특정하기 위해서 예측 모드를 표현하는 적어도 하나의 추가 비트를 인코딩한다. 예를 들어, 엔트로피 인코딩 유닛(46)이 상위 및 좌측 이웃 블록들의 예측 모드를 분석할 시에, 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드가 상위 이웃 블록의 예측 모드와 동일한 경우 "1"을 인코딩할 수 있고, 현재 블록이 좌측 이웃 블록의 예측 모드와 동일한 경우 "0"을 인코딩한다. 대안적으로, 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드가 좌측 이웃 블록의 예측 모드와 동일한 경우 "1"을 인코딩할 수 있고, 현재 블록의 예측 모드가 상위 이웃 블록의 예측 모드와 동일한 경우 "0"을 인코딩한다. 둘 중 어떤 경우든, 인코딩된 예측 모드의 제 2 비트는 상위 또는 좌측 이웃 블록 중 어떤 블록이 현재 블록의 예측 모드와 동일한 예측 모드를 가지는지를 표시한다. 이러한 방식으로, 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드가 이웃 블록들 중 하나의 예측 모드와 동일한 경우 1개의 비트 및 최대로 2개의 비트들만큼 적게 사용하여 현재 블록의 예측 모드를 인코딩할 수 있다. 엔트로피 인코딩 유닛(46)이 셋 이상의 이웃 블록들을 분석하는 경우, 엔트로피 인코딩 유닛(46)은 사전 인코딩된 블록들 중 어떤 블록이 현재 블록과 동일한 예측 모드를 가지는지를 특정하기 위해서 하나 이상의 추가 비트를 인코딩할 수 있다.
현재 비디오 블록의 예측 모드가 상위 이웃 블록의 예측 모드 또는 좌측 이웃 블록의 예측 모드와 동일하지 않은 경우, 엔트로피 인코딩 유닛(46)은 "0"을 전송하고, 이는 현재 비디오 블록의 예측 모드가 이웃 블록들 중 하나의 예측 모드들과 동일하지 않다는 것을 표시한다. 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드를 표현하는 코드워드를 인코딩한다. 일례로서 전술된 18개의 예측 모드들의 세트를 사용하여, 엔트로피 인코딩 유닛(46)은 4 비트 코드워드를 사용하여 현재 비디오 블록의 예측 모드를 인코딩할 수 있다. 전형적으로 5 비트 코드워드들을 요구하는 18개의 가능한 예측 모드들이 존재하지만, 상위 이웃 블록 및 좌측 이웃 블록의 예측 모드들이 이미 현재 블록의 예측 모드와 비교되었고, 현재 블록의 예측 모드와 동일하지 않도록 결정되었기 때문에, 가능한 예측 모드들 중 2개의 모드들은 현재 블록에 대한 세트 즉, 상위 이웃 블록 및 좌측 이웃 블록의 예측 모드들로부터 이미 제거되었을 수 있다. 그러나, 상위 이웃 블록 및 좌측 이웃 블록이 동일한 예측 모드를 가지는 경우, 4 비트 코드워드보다는 오히려 5 비트 코드워드가 표현되도록 다시 요구함으로써 16개의 예측 모드들 대신에 17개의 예측 모드들이 가능해진다. 이러한 경우, 예측 프로세스 동안, 예측 유닛(32)은 현재 블록의 예측 모드가 4 비트 코드워드를 사용하여 표현될 수 있도록 하기 위해서 세트로부터 나머지 17개의 코딩 모드들 중 하나를 선택적으로 제거할 수 있다. 일례에서, 예측 유닛(32)은 마지막 예측 모드 예를 들어, 이 예에서 예측 모드 17을 제거할 수 있다. 그러나, 예측 유닛(32)은 다양한 방법들 중 임의의 다른 방법을 사용하여 제거되도록 세트의 예측 모드들 중 임의의 모드를 선택할 수 있다. 예를 들어, 예측 유닛(32)은 선택되는 각각의 예측 모드의 확률을 계속 트래킹하고, 선택될 확률이 가장 낮은 예측 모드를 제거할 수 있다.
선택된 예측 모드를 제거한 이후에, 엔트로피 인코딩 유닛(46)은 예측 모드 넘버들이 [0, 15]의 범위에 있도록 16개의 나머지 예측 모드들의 범위를 조정한다. 일례에서, 엔트로피 인코딩 유닛(46)은 가장 작은 모드 번호를 가지는 나머지 예측 모드에 0을 할당하는 것으로 시작하고, 가장 큰 예측 모드 넘버를 가지는 나머지 예측 모드에 15를 할당하는 것으로 종료하도록 0 내지 15 범위에서 나머지 예측 모드들을 임시로 리넘버링(renumber)할 수 있다. 예를 들어, 상위 이웃 블록의 예측 모드가 모드 12이고, 좌측 이웃 블록의 예측 모드가 모드 14인 경우, 엔트로피 인코딩 유닛(46)은 예측 모드 13, 예측 모드 15, 예측 모드 16 및 예측 모드 17을 예측 모드 12, 예측 모드 13, 예측 모드 14 및 예측 모드 15으로서 각각 리넘버링할 수 있다. 이후, 엔트로피 인코딩 유닛(46)은 4 비트들을 사용하여 예측 모드를 인코딩한다. 보다 많거나 보다 적은 가능한 예측 모드들을 가지는 예측 모드들의 세트들을 가지는 다른 예들에서, 엔트로피 인코딩 유닛(46)은 유사한 기법들을 사용하여 보다 많거나 보다 적은 비트들을 가지는 예측 모드를 인코딩할 수 있다.
엔트로피 인코딩 유닛(46)은 CAVLC 또는 CABAC를 사용하여 현재 비디오 블록의 예측 모드를 인코딩할 수 있다. 현재 블록의 예측 모드와 상위 및 좌측 이웃 블록들의 예측 모드들 사이에 밀접한 상관이 존재할 수 있다. 특히, 상위 이웃 블록의 예측 모드 및 좌측 이웃 블록의 예측 모드가 모두 단방향 예측 모드들인 경우, 현재 블록의 예측 모드가 단방향 예측 모드들 중 하나일 확률이 높다. 이와 유사하게, 상위 이웃 블록의 예측 모드 및 좌측 이웃 블록의 예측 모드가 모두 양방향 예측 모드들인 경우, 현재 블록의 예측 모드가 양방향 예측 모드들 중 하나일 확률이 높다. 이러한 방식으로, 상위 및 좌측 이웃 블록들의 예측 모드들의 카테고리들(예를 들어, 단방향 대 양방향)이 변경되는 경우, 현재 블록의 예측 모드의 확률 분포들은 변경된다.
이와 같이, 일부 양상들에서, 엔트로피 인코딩 유닛(46)은 하나 이상의 사전 인코딩된 비디오 블록들(예를 들어, 상위 및 좌측 이웃 비디오 블록들)의 예측 모드들이 단방향 또는 양방향인지에 따라 상이한 코딩 컨텍스트들을 선택할 수 있다. CABAC의 경우, 상이한 코딩 컨텍스트들은 주어진 컨텍스트 내에서 예측 모드들의 세트의 상이한 확률들을 반영한다. 예를 들어, 상위 및 좌측 이웃 코딩 블록들 모두가 단방향 예측 모드들을 가지는 경우에 대응하는 코딩 컨텍스트(여기에서 "제 1 코딩 컨텍스트"로 지칭됨)를 취해보도록 한다. 이웃 상관으로 인하여, 제 1 코딩 컨텍스트는 단방향 예측 모드들에 양방향 예측 모드들 보다 높은 확률들을 할당할 수 있다. 따라서, 제 1 코딩 컨텍스트가 CABAC 인코딩을 위해서 선택되는 경우(즉, 상위 및 좌측 이웃 예측 모드들 모두가 단방향인 경우), 보다 적은 비트들은 현재 예측 모드가 양방향 예측 모드들 중 하나인 경우와 비교되는 현재 예측 모드가 단방향 예측 모드들 중 하나인 경우 현재 예측 모드를 코딩하는데 사용(spend)될 수 있다. CAVLC의 경우, 상이한 VLC 코딩 테이블들은 상이한 코딩 컨텍스트들에 대하여 정의될 수 있다. 예를 들어, 제 1 코딩 컨텍스트가 선택되는 경우(즉, 하위 및 좌측 이웃 블록들이 단방향 예측 모드들을 가지는 경우), 단방향 예측 모드들에 양방향 예측 모드들보다 더 짧은 코드워드들을 할당하는 VLC 코딩 테이블이 사용될 수 있다.
이와 같이, 상위 비디오 블록의 예측 모드 및 좌측 비디오 블록의 예측 모드가 모두 단방향 예측 모드들인 경우, 엔트로피 인코딩 유닛(46)은 제 1 코딩 컨텍스트를 선택할 수 있다. 엔트로피 인코딩 유닛(46)은 상위 비디오 블록의 예측 모드 및 좌측 비디오 블록의 예측 모드가 모두 단방향 예측 모드들이 아닌 경우 상이한 코딩 컨텍스트를 선택할 수 있다. 예를 들어, 엔트로피 인코딩 유닛(46)은 상위 이웃 비디오 블록의 예측 모드 및 좌측 이웃 비디오 블록의 예측 모드가 모두 양방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택할 수 있다. 상위 및 좌측 이웃 블록들 모두의 예측 모드가 양방향인 경우, 제 2 코딩 컨텍스트는 현재 비디오 블록의 예측 모드에 대한 확률 분포를 모델링한다. 제 2 코딩 컨텍스트의 확률 분포는 CABAC의 경우 양방향 예측 모드들에 단방향 예측 모드들보다 더 높은 확률들을 할당하고, CAVLC 코딩의 경우 양방향 예측 모드들에 단방향 예측 모드들보다 더 짧은 코드워드들을 할당할 수 있다.
이웃 블록들 중 하나의 예측 모드가 단방향 예측 모드이고, 이웃 블록들 중 다른 하나의 예측 모드가 양방향 예측 모드인 경우, 엔트로피 인코딩 유닛(46)은 제 3 코딩 컨텍스트를 선택할 수 있다. 제 3 코딩 컨텍스트는 세트의 단방향 예측 모드들과 양방향 예측 모드들 사이에서 현재 예측 모드의 확률을 보다 균등하게 분포한다. 하나 이상의 사전 인코딩된 비디오 블록들(예를 들어, 상위 및 좌측 비디오 블록들)의 예측 모드들이 단방향 또는 양방향인지에 기초하여 인코딩하는데 사용하기 위한 상이한 코딩 컨텍스트들을 선택하는 것은 예측 모드 정보가 보다 양호하게 압축되게 할 수 있다.
도 3은 도 1의 비디오 디코더(26)의 예를 보다 상세하게 예시하는 블록 다이어그램이다. 비디오 인코더(26)는 비디오 프레임들 또는 슬라이스들과 같은 코딩된 유닛들 내에서 블록들의 인트라- 및 인터-디코딩을 수행할 수 있다. 도 3의 예에서, 비디오 디코더(26)는 엔트로피 디코딩 유닛(60), 예측 유닛(62), 계수 스캐닝 유닛(63), 역 양자화 유닛(64), 역 변환 유닛(66) 및 프레임 저장소(68)를 포함한다. 또한, 비디오 디코더(26)는 역 변환 유닛(66) 및 예측 유닛(62)의 출력들을 결합하는 합산기(69)를 포함한다.
엔트로피 디코딩 유닛(60)은 인코딩된 비디오 비트스트림(도 3에서 "비디오 비트스트림"으로 레이블링됨)을 수신하고, (예를 들어, 양자화된 레지듀얼 계수들의 1-차원 벡터의 형태로) 레지듀얼 정보 및 (하나 이상의 헤더 신택스 엘리먼트들의 형태로) 헤더 정보를 획득하도록 인코딩된 비트스트림을 디코딩한다. 엔트로피 디코딩 유닛(60)은 도 2의 인코딩 모듈(46)에 의해 수행되는 인코딩의 가역적인(reciprocal) 디코딩 기능을 수행한다. 예측 모드 신택스 엘리먼트의 디코딩을 수행하는 엔트로피 디코딩 유닛(60)의 설명은 예시를 위해서 설명된다. 기법들은 블록 타입, 블록 분할, CBP 등과 같은 다른 신택스 엘리먼트들의 디코딩으로 확장될 수 있다.
특히, 엔트로피 디코딩 유닛(60)은 현재 블록의 예측 모드가 분석된 사전 디코딩된 블록들 예를 들어, 상위 이웃 블록 또는 좌측 이웃 블록 중 임의의 블록의 예측 모드와 동일한지의 여부를 결정하기 위해서 예측 모드를 표현하는 제 1 비트를 분석한다. 엔트로피 디코딩 모듈(60)은 제 1 비트가 "1"인 경우 현재 블록의 예측 모드가 이웃 블록들 중 하나의 예측 모드와 동일하다고 그리고 제 1 비트가 "0"인 경우 현재 블록의 예측 모드가 이웃 블록들 중 하나의 에측 모드와 동일하지 않다고 결정할 수 있다.
제 1 비트가 "1"인 경우, 그리고 상위 이웃 블록의 예측 모드가 좌측 이웃 블록의 예측 모드와 동일한 경우, 엔트로피 디코딩 유닛(60)은 더 이상 비트들을 수신할 필요가 없다. 엔트로피 디코딩 유닛(60)은 이웃 블록들 중 하나의 블록의 예측 모드를 현재 블록의 예측 모드로서 선택한다. 예를 들어, 엔트로피 디코딩 유닛(60)은 하나 이상의 사전 디코딩된 블록들의 이전 예측 모드들을 저장하는 하나 이상의 버퍼들(또는 다른 메모리)을 포함할 수 있다.
제 1 비트가 "1"인 경우, 그리고 상위 이웃 블록의 예측 모드가 좌측 이웃 블록의 예측 모드와 동일하지 않은 경우, 엔트로피 디코딩 유닛(60)은 예측 모드를 표현하는 제 2 비트를 수신하고, 엔트로피 디코딩 유닛(60)은 이웃 블록들 중 어떤 블록이 제 2 비트에 기초하여 현재 블록과 동일한 예측 모드를 가지는지를 결정한다. 예를 들어, 엔트로피 디코딩 유닛(60)은 제 2 비트가 "1"인 경우 현재 블록의 예측 모드가 상위 이웃 블록의 에측 모드와 동일하다고 결정하고, 제 2 비트가 "0"인 경우 현재 블록의 예측 모드가 좌측 이웃 블록의 예측 모드와 동일하다고 결정할 수 있다. 엔트로피 디코딩 유닛(60)은 현재 이웃 블록의 예측 모드를 현재 블록의 예측 모드로서 선택한다.
그러나, 제 1 비트가 "0"인 경우, 엔트로피 디코딩 유닛(60)은 현재 블록의 에측 모드가 이웃 블록들 중 어떠한 것의 예측 모드와도 동일하지 않다고 결정한다. 따라서, 엔트로피 디코딩 유닛(60)은 가능한 예측 모드들의 세트로부터 상위 및 좌측 이웃 블록들의 예측 모드들을 제거할 수 있다. 가능한 예측 모드들의 세트는 하나 이상의 단방향 예측 모드들 및/또는 하나 이상의 다-방향 예측 모드들을 포함할 수 있다. 총 18개의 예측 모드들을 포함하는 예측 모드들의 하나의 예시적인 세트는 도 2의 설명에서 상기와 같이 제공된다. 상위 및 좌측 이웃 블록들이 동일한 예측 모드를 가지는 경우, 엔트로피 디코딩 유닛(60)은 이웃 블록들의 예측 모드 및 적어도 하나의 다른 예측 모드를 제거할 수 있다. 일례로서, 엔트로피 디코딩 모듈(60)은 가장 큰 모드 번호를 가지는 예측 모드(예를 들어, 전술된 18개의 예측 모드 세트에서 모드 17)를 제거할 수 있다. 그러나, 엔트로피 디코딩 유닛(60)은 디코딩 유닛(60)이 예측 유닛(32)에 의해 제거되는 것과 동일한 예측 모드를 제거하는 한, 다양한 방법들 중 다른 임의의 방법을 사용하여 제거될 세트의 예측 모드들 중 임의의 모드를 선택할 수 있다. 예를 들어, 엔트로피 디코딩 유닛(60)은 선택될 확률이 가장 낮은 예측 모드를 제거할 수 있다.
엔트로피 디코딩 유닛(60)은 예측 모드 넘버들이 0 내지 15의 범위에 있도록 나머지 예측 모드들의 예측 모드 넘버들을 조정할 수 있다. 일례에서, 엔트로피 인코딩 유닛(46)은 가장 작은 모드 번호를 가지는 나머지 예측 모드로 시작하고 도 2에 대하여 전술된 바와 같이 가장 큰 예측 모드 넘버를 가지는 나머지 예측 모드로 종료하는 0 내지 15의 범위에서 나머지 예측 모드들을 임시로 리넘버링할 수 있다. 엔트로피 디코딩 유닛(60)은 현재 블록의 예측 모드와 대응하는 나머지 예측 모드들의 예측 모드 넘버를 획득하도록 나머지 비트들 예를 들어, 설명된 예에서 4개의 비트들을 디코딩한다.
일부 예들에서, 엔트로피 디코딩 유닛(60)은 CAVLC 또는 CABAC를 사용하여 현재 비디오 블록의 예측 모드를 디코딩할 수 있다. 현재 블록 및 하나 이상의 사전 디코딩된 블록들의 예측 모드 (예를 들어, 상위 및 좌측 이웃 블록들의 예측 모드들)사이에서 밀접한 상관이 존재할 수 있으므로, 엔트로피 디코딩 유닛(60)은 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드의 타입에 기초하여 블록의 예측 모드에 대한 상이한 코딩 컨텍스트들을 선택할 수 있다. 다시 말해서, 엔트로피 디코딩 유닛(60)은 사전 디코딩된 블록들의 예측 모드들이 단방향 또는 양방향인지에 기초하여 상이한 코딩 컨텍스트들을 선택할 수 있다.
일례로서, 엔트로피 디코딩 유닛(60)은 사전 디코딩된 블록들 모두의 예측 모드들이 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택하고, 사전 디코딩된 블록들 모두의 예측 모드들이 양방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택하며, 사전 디코딩된 블록들 중 하나의 예측 모드가 단방향 예측 모드이고, 사전 디코딩된 블록들 중 다른 하나의 예측 모드가 양방향 예측 모드인 경우 제 3 코딩 컨텍스트를 선택할 수 있다.
예측 유닛(62)은 헤더 정보의 적어도 일부분을 사용하여 예측 블록을 생성한다. 예를 들어, 인트라-코딩된 블록의 경우, 엔트로피 디코딩 유닛(60)은 (예를 들어, 블록 타입 및 이 블록에 대한 예측 모드) 헤더 정보의 적어도 일부분을 예측 블록의 생성을 위한 예측 유닛(62)으로 제공할 수 있다. 예측 유닛(62)은 블록 타입 및 예측 모드에 따라 공통 코딩 유닛 내에서 하나 이상의 인접한 블록들(또는 인접한 블록들의 부분들)을 사용하여 예측 블록을 생성한다. 일례로서, 예측 유닛(62)은 예를 들어, 예측 모드 신택스 엘리먼트에 의해 특정되는 예측 모드를 사용하여 블록 타입 신택스 엘리먼트에 의해 표시되는 분할 사이즈의 예측 블록을 생성할 수 있다. 현재 코딩 유닛 내에서 하나 이상의 인접한 블록들(또는 인접한 블록들의 일부분들)은 예를 들어, 프레임 저장소(68)로부터 리트리브(retrieve)될 수 있다.
또한, 엔트로피 디코딩 유닛(60)은 1-차원 계수 벡터의 형태로 레지듀얼 정보를 획득하도록 인코딩된 비디오 데이터를 디코딩한다. 분리 변환들(예를 들어, DCT, H.264/AVC 정수 변환들, 분리 방향 변환들)이 사용되는 경우, 계수 스캐닝 유닛(63)은 2-차원 블록을 생성하기 위해서 1-차원 계수 벡터를 스캐닝한다. 계수 스캐닝 유닛(63)은 도 2의 계수 스캐닝 유닛(41)에 의해 수행되는 스캐닝의 가역적 스캐닝 기능을 수행한다. 특히, 계수 스캐닝 유닛(63)은 1-차원 벡터를 2-차원 포맷으로 배치하기 위해서 초기 스캐닝 순서에 따라 계수들을 스캐닝한다. 다시 말해서, 계수 스캐닝 유닛(63)은 양자화된 계수들의 2-차원 블록을 생성하기 위해서 1-차원 벡터를 스캐닝한다.
계수 스캐닝 유닛(63)은 비디오 인코더(20)에 의해 사용되는 스캐닝 순서와 스캐닝 순서를 동기화하기 위해서 하나 이상의 계수 통계치에 기초하여 계수 스캐닝에 사용되는 스캐닝 순서를 적응적으로 조정할 수 있다. 그렇게 수행하기 위해서, 계수 스캐닝 유닛(63)은 하나 이상의 블록들에 대하여 하나 이상의 계수 통계치를 수집하고, 수집된 통계치에 기초하여 스캐닝 순서를 적응시킬 수 있다. 다시 말해서, 양자화된 계수들의 2-차원 블록이 재구성되므로, 계수 스캐닝 유닛(63)은 2-차원 블록 내의 위치들 각각이 0이 아닌 계수에 대한 위치였던 횟수를 표시하는 통계치를 수집할 수 있다. 계수 스캐닝 유닛(63)은 2-차원 블록 내의 계수 위치와 각각 대응하는 복수의 카운터들을 유지하고, 0이 아닌 계수가 상기 각각의 위치에 위치되는 경우, 상기 위치에 대응하는 카운터를 증가시킬 수 있다.
계수 스캐닝 유닛(63)은 수집된 통계치에 기초하여 스캐닝 순서를 적응시킬 수 있다. 계수 스캐닝 유닛(63)은 수집된 통계치에 기초하여, 0이 아닌 계수들을 가질 가장 작은 확률을 가지는 것으로 결정되는 계수 위치들 이전에 0이 아닌 계수들을 가질 보다 높은 확률을 가지는 위치들을 스캐닝하도록 스캐닝 순서를 적응시킬 수 있다. 계수 스캐닝 유닛(63)은 비디오 인코더(20)에 의해 사용되는 동일한 고정된 또는 고정되지 않은 구간들에서 스캐닝 순서를 적응시킨다. 계수 스캐닝 유닛(63)은 비디오 인코더(20)에 대하여 전술된 바와 동일한 방식으로 수집된 통계치를 정규화한다.
전술된 바와 같이, 일부 예들에서, 계수 스캐닝 유닛(63)은 별도의 계수 통계치를 수집하고, 예측 모드들 각각에 대하여 개별적으로 스캐닝 순서를 적응적으로 조정할 수 있다. 계수 스캐닝 유닛(63)은 예를 들어, 예측 모드들 각각이 상이한 계수 통계치를 가질 수 있으므로, 그렇게 수행할 수 있다.
양자화된 레지듀얼 계수들의 2-차원 블록을 생성한 이후에, 역 양자화 유닛(64)은 양자화된 레지듀얼 계수들을 역 양자화 즉, 디-퀀타이즈(de-quantize)한다. 역 변환 유닛(66)은 픽셀 값들의 레지듀얼 블록을 생성하기 위해서 디-퀀타이즈된 레지듀얼 계수들에 역 변환 예를 들어, 역 DCT, 역정수 변환 또는 역 방향 변환을 적용한다. 합산기(69)는 재구성된 비디오 블록을 형성하기 위해서 예측 유닛(62)에 의해 생성된 예측 블록을 역 변환 유닛(66)으로부터의 레지듀얼 블록과 합한다. 이러한 방식으로, 비디오 디코더(26)는 헤더 정보 및 레지듀얼 정보를 사용하여 비디오 시퀀스 블록 단위의 프레임들을 재구성한다.
블록-기반의 비디오 코딩은 때때로 코딩된 비디오 프레임의 블록 경계들에서의 블록화(blockiness)가 시각적으로 감지되게 할 수 있다. 이러한 경우들에서, 디블록 필터링(deblock filtering)은 시각적으로 감지가능한 블록화를 감소시키거나 제거하기 위해서 블록 경계들을 매끄럽게 할 수 있다. 이와 같이, 디블로킹 필터(미도시)는 블록화를 감소시키거나 제거하기 위해서 디코딩된 블록들을 필터링하도록 적용될 수도 있다. 임의의 선택적인 디블록 필터링 이후에, 재구성된 블록들은 프레임 저장소(68)에 배치되고, 프레임 저장소(68)는 후속하는 비디오 블록들의 공간 및 시간적 예측을 위해서 기준 블록들을 제공하고, (도 1의 디스플레이 디바이스(28)와 같은) 디스플레이 디바이스를 구동시키기 위해서 디코딩된 비디오를 생성한다.
도 4는 본 발명과 일치하는 적응적 스캐닝의 가상 예를 예시하는 개념 다이어그램이다. 이러한 예에서, 계수 위치들은 아이템(71)에 c1-c16으로서 레이블리된다. 실제 계수 값들은 4개의 연속 블록들에 대하여 블록 1(72), 블록 2(73), 블록 3(74) 및 블록 4(75)에서 도시된다. 블록들(1-4)의 실제 계수 값들은 양자화된 레지듀얼 계수들, 양자화하지 않은 변환 계수들 또는 다른 타입의 계수들을 표현할 수 있다. 다른 예들에서, 위치들은 레지듀얼 블록의 픽셀 값들의 위치들을 표현할 수 있다. 블록들(1-4)은 동일한 예측 모드와 연관된 블록들을 포함할 수 있다. 도 4에 예시된 예에서, 블록들(1-4)은 4×4 블록들이다. 그러나, 전술된 바와 같이, 본 발명의 기법들은 임의의 사이즈의 블록들에 적용하는 것으로 확장될 수 있다. 또한, 비디오 인코더(20)의 계수 스캐닝 유닛(41)에 대하여 아래에서 설명되었지만, 비디오 디코더(26)의 계수 스캐닝 유닛(63)은 유사한 방식으로 통계치를 수집하고 스캐닝 순서를 적응시킬 수 있다.
초기에, 계수 스캐닝 유닛(41)은 지그-재그 스캐닝 순서를 사용하여 블록 1의 계수들을 스캐닝할 수 있다. 이러한 경우, 계수 스캐닝 유닛(41)은 cl, c2, c5, c9, c6, c3, c4, c7, clO, cl3, cl4, c11, c8, cl2, cl5, cl6의 순서로 블록 1의 계수 위치들을 스캐닝한다. 따라서, 블록 1의 계수들을 스캐닝한 이후에, 계수 스캐닝 유닛(41)은 1-차원 계수 벡터 v를 출력하며, 여기서 v = [9, 4, 6, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, O]이다. 도 4에 예시된 예에서 계수 스캐닝 유닛(41)이 지그-재그 스캐닝 순서를 사용하여 블록 1의 계수들을 초기에 스캐닝하였지만, 상기 지그-재그 스캐닝이 적응적 스캐닝을 위한 유일하게 가능한 시작 점은 아니다. 수평 스캐닝, 수직 스캐닝 또는 임의의 다른 초기 스캐닝 시퀀스가 초기 스캐닝 순서로서 사용될 수 있다. 지그-재그 스캐닝의 사용은 1-차원 계수 벡터 v가 2개의 0이 아닌 계수들 사이의 4개의 0들의 런을 가지게 한다.
통계치 1(76)은 블록 1의 통계치를 표현한다. 통계치 1(76)은 각각의 계수 위치가 0이 아닌 값을 가지는 횟수들을 트래킹하기 위한 계수 위치들 각각에 대한 카운트 값들일 수 있다. 도 4의 예에서, 계수 통계치는 모두 0이 되도록 초기화된다. 그러나, 다른 초기화 방식들이 사용될 수 있다. 예를 들어, 예측 모드들 각각의 전형적 또는 평균 계수 통계치는 각각의 예측 모드의 통계치를 초기화하는데 사용될 수 있다. 블록 1을 코딩한 이후에, 통계치 1(76)은 0이 아닌 블록 1의 임의의 계수 위치에 대하여 1의 값들 및 0의 값을 가지는 스캐닝 임의의 계수 위치에 대하여 0의 값들을 가진다. 통계치 2(77)는 블록 1 및 2의 결합된 통계치를 표현한다. 계수 스캐닝 모듈(41)은 계수 위치들이 블록 2에서 0이 아닌 값들을 가지는 경우 통계치 1(76)의 카운트들을 증가시키고, 계수 위치들이 0의 값들을 가지는 경우 카운트들을 동일하게 유지한다. 따라서, 도 4에 도시된 바와 같이, 계수 스캐닝 모듈(41)은 계수 위치들 c1, c2, c5, c9, 및 c13의 통계치를 2의 값으로 증가시키고, 나머지 계수 위치들의 통계치를 통계치 1(76)과 동일하게 유지한다. 통계치 3(78)은 블록 1-3의 결합된 통계치를 표현하고, 통계치 4(79)는 블록 1-4의 결합된 통계치를 표현한다. 일부 양상들에서, 전술된 바와 같이, 계수 스캐닝 유닛(41)은 복수의 카운터들을 사용하여 블록들에 대한 통계치를 수집할 수 있다.
계수 스캐닝 유닛(41)은 수집된 통계치에 기초하여 스캐닝 순서를 적응시킬 수 있다. 예시된 예에서, 계수 스캐닝 유닛(41)은 통계치 4(79)에 기초하여 4개의 비디오 블록들 이후에 스캐닝 순서를 적응시키도록 구성될 수 있다. 이러한 경우, 계수 스캐닝 유닛(41)은 계수 위치들이 자신들의 대응하는 카운트 값들에 의해 내림차순으로 스캐닝되도록 수집된 통계치를 분석하고 스캐닝 순서를 적응시킨다. 이와 같이, 계수 스캐닝 유닛(41)은 c1, c5, c9, c2, c13, c6, c3, c4, c7, c1O, c14, c11, c8, c12, c15, c16의 순서로 후속하는 블록 예를 들어, 블록 5(미도시)의 위치들을 스캐닝하도록 스캐닝 순서를 적응시킬 수 있다. 계수 스캐닝 유닛(41)은 스캐닝 순서가 블록들에 대한 수집된 통계치에 기초하여 다시 적응되거나 또는 예를 들어, 후속하는 코딩 유닛의 시작에서 재-초기화될 때까지 새로운 스캐닝 순서에 따라 후속하는 블록들을 계속 스캐닝한다.
초기 스캐닝 순서(예를 들어, 지그-재그 스캐닝 순서)로부터 새로운 스캐닝 순서로 스캐닝 순서를 적응시키는 것은 1-차원 계수 벡터의 시작에서 0이 아닌 계수들을 그리고 끝에서 0 계수들을 촉진(promote)한다. 도 4의 예에서, 새로운 스캐닝 순서는 주어진 예측 모드에 대하여, 수평 차원에서의 계수들보다 먼저 수직 차원에서의 계수들을 스캐닝하는데, 이는 수직 차원에서의 계수들이 수평 차원에서의 계수들보다 0이 아닐 보다 높은 확률을 가진다는 사실을 반영한다. 블록들 1-4 모두는 동일한 예측 모드를 가지고, 이전 통계치는 미래의 0이 아닌 계수 위치들을 표시할 수 있을 것이다. 따라서, 스캐닝 순서를 정의하는데 이전 통계치를 사용함으로써, 본 발명의 기법들은 스캐닝된 1-차원 벡터의 시작 부근에서 0이 아닌 계수들 및 스캐닝된 1-차원 벡터의 끝 부근에서 0 값의 계수들의 그룹화를 촉진할 수 있고, 이에 따라 2개의 0이 아닌 계수들 사이의 0 런들의 수를 제거 또는 감소시킬 수 있다. 이것은 엔트로피 코딩 동안 달성될 수 있는 압축 레벨을 차례로 향상시킬 수 있다.
도 5는 본 발명과 일치하는 코딩 기법을 예시하는 흐름 다이어그램이다. 도 5에 예시된 코딩 기법은 비디오 블록들의 인코딩 또는 디코딩에 사용될 수 있다. 도 5에 도시된 바와 같이, 계수 스캐닝 유닛(41, 63)은 현재 블록의 대응하는 예측 모드에 대하여 정의되는 초기 스캐닝 순서에 따라 블록의 계수들을 스캐닝한다(80). 비디오 인코더(20)의 관점에서, 스캐닝은 2-차원 계수들의 블록으로부터 1-차원 계수 벡터로 컨버팅한다. 그러나, 비디오 디코더(26)의 관점에서, 스캐닝은 1-차원 계수 벡터를 2-차원 계수 블록으로 컨버팅할 것이다. 일례로서, 대응하는 예측 모드의 초기 스캐닝 순서는 지그-재그 스캐닝 순서일 수 있다. 지그-재그 스캐닝은 유일하게 가능한 초기 스캐닝 순서가 아니다. 수평 스캐닝, 수직 스캐닝 또는 임의의 다른 초기 스캐닝 순서가 초기 스캐닝 순서로서 사용될 수 있다.
계수 스캐닝 유닛(41, 63)은 하나 이상의 블록들에 대하여 통계치를 수집한다(82). 특히, 스캐닝된 블록들 각각에 대하여, 계수 스캐닝 유닛(41, 63)은 2-차원 블록 내의 계수 위치들 각각이 0이 아닌 계수인 빈도수를 예를 들어, 카운터들을 이용하여 트래킹하는 통계치를 수집할 수 있다. 계수 스캐닝 유닛(41, 63)은 스캐닝 순서를 평가할지의 여부를 결정한다(83). 계수 스캐닝 유닛(41, 63)은 (예를 들어, 블록 내에서 위치의 카운트 값들 중 하나가 임계치를 초과하는 경우) (예를 들어, 모든 블록 경계에서 또는 n개의 블록 경계들 이후에) 고정된 또는 고정되지 않은 구간들에서 스캐닝 순서를 평가할 수 있다.
계수 스캐닝 유닛(41, 63)이 스캐닝 순서를 평가하지 않는 것으로 결정되는 경우, 계수 스캐닝 유닛(41, 63)은 초기 스캐닝 순서에 따라 후속하는 블록을 스캐닝한다(80). 계수 스캐닝 유닛(41, 63)이 예를 들어, n개의 블록들이 인코딩/디코딩된 이후에, 스캐닝 순서를 평가하는 것으로 결정하는 경우, 계수 스캐닝 유닛은 수집된 통계치에 기초하여 스캐닝 순서를 적응시킬 수 있다(84). 예를 들어, 계수 스캐닝 유닛(41, 63)은 자신의 카운트 값들에 기초하여 내림차순으로 블록의 계수 위치들을 스캐닝하도록 스캐닝 순서를 적응시키고, 여기서 카운트 값들은 0이 아닌 계수를 가지는 주어진 위치의 확률을 반영한다. 일부 예들에서, 스캐닝 순서를 적응시킨 이후에, 계수 스캐닝 유닛(41, 63)은 통계치의 임의의 카운트 값들이 임계 값을 초과하였는지의 여부를 결정할 수 있다(86). 계수 위치들 중 하나가 임계치를 초과하는 대응하는 카운트 값을 가지는 경우, 계수 스캐닝 유닛(41, 63)은 수집된 통계치 예를 들어, 계수 카운트 값들을 정규화할 수 있다(87). 예를 들어, 계수 스캐닝 유닛(41, 63)은 1/2에 의해 카운트 값들 각각을 감소시키기 위해서 2의 인자에 의해 미리-결정된 인자에 의해 카운트 값들 각각을 감소시킴으로써 또는 카운트 값들을 초기 카운트 값들의 세트로 리셋함으로써, 계수 카운트 값들을 정규화할 수 있다. 계수 카운트 값들을 정규화하는 것은 비디오 인코더(20)가 로컬 계수 통계치로 매우 신속하게 적응하도록 할 수 있다.
수집된 통계치를 정규화한 이후에, 또는 정규화가 수행되지 않은 경우, 계수 스캐닝 유닛(41, 63)은 적응된 스캐닝 순서를 사용하여 후속하는 블록들을 스캐닝한다(88). 계수 스캐닝 유닛(41, 63)은 적어도 하나의 후속하는 블록이 사전 스캐닝된 비디오 블록의 코딩 유닛 내에 존재하는 경우, 적응된 스캐닝 순서를 사용하여 적어도 하나의 후속하는 블록을 스캐닝할 수 있다. 계수 스캐닝 유닛(41, 63)은 스캐닝 순서가 예를 들어 코딩 유닛 경계에서 재-초기화되거나, 다시 조정될 때까지 후속하는 비디오 블록들을 계속 스캐닝할 수 있다. 이러한 방식으로, 계수 스캐닝 유닛(41, 63)은 0이 아닐 확률이 더 적은 것으로 결정되는 블록의 계수 위치들 이전에, 0이 아닐 확률이 더 높은 것으로 결정되는 블록의 계수 위치들을 스캐닝하기 위해서, 수집된 통계치에 기초하여 스캐닝 순서를 적응시킨다. 따라서, 1-차원 계수 벡터는 스캐닝된 1-차원 벡터의 시작 부근에서 0이 아닌 계수들 및 스캐닝된 1-차원 벡터의 끝 부근에서 0 값인 계수들의 그룹화를 촉진하도록 배열된다. 이것은 엔트로피 코딩 동안 달성될 수 있는 압축의 레벨을 차례로 향상시킬 수 있다.
일부 예들에서, 계수 스캐닝 유닛(41, 63)은 예측 모드들 각각이 상이한 계수 통계치를 가질 수 있으므로 예측 모드들 각각에 대하여 개별적으로 스캐닝 순서를 적응적으로 조정할 수 있다. 다시 말해서, 계수 스캐닝 유닛(41, 63)은 예측 모드들 각각에 대하여 별도의 통계치를 유지하고, 각각의 통계치에 기초하여 예측 모드들 각각에 대하여 스캐닝 순서들을 상이하게 조정할 수 있다. 따라서, 전술된 예시적인 흐름도는 각각의 예측 모드에 대하여 계수 스캐닝 유닛(41, 63)에 의해 수행될 수 있다.
도 6은 본 발명의 기법들 중 하나에 따라 비디오 블록에 대한 헤더 정보를 인코딩하는 인코딩 유닛 예를 들어, 비디오 인코더(20)의 엔트로피 인코딩 유닛(46)의 예시적인 동작을 예시하는 흐름도이다. 엔트로피 인코딩 유닛(46)은 하나 이상의 헤더 신택스 엘리먼트들의 형태로 블록에 대한 헤더 정보를 수신한다(90). 헤더 신택스 엘리먼트들은 블록 타입, 예측 모드, 루마 및/또는 크로마에 대한 코딩된 블록 패턴(CBP), 블록 분할 및 하나 이상의 모션 벡터들과 같은 현재 비디오 블록의 특정 특성들을 식별할 수 있다. 도 6은 현재 블록의 예측 모드의 인코딩에 대하여 설명될 것이다. 그러나, 헤더 신택스 엘리먼트들의 다른 엘리먼트들을 인코딩하는데 유사한 기법들이 사용될 수 있다.
엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드를 하나 이상의 사전 인코딩된 블록들의 예측 모드와 비교한다(92). 예를 들어, 하나 이상의 사전 인코딩된 블록들이 하나 이상의 인접한 블록들을 포함할 수 있다. 도 6의 예에서, 2개의 사전 인코딩된 블록들 예를 들어, 상위 이웃 블록 및 좌측 이웃 블록이 분석된다. 현재 블록의 예측 모드가 사전 인코딩된 블록들 중 하나의 예측 모드와 동일한 경우, 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드가 사전 인코딩된 블록들 중 하나의 예측 모드와 동일하다는 것을 표시하도록 제 1 비트를 인코딩한다(94). 일례로서, 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드가 사전 인코딩된 블록들 중 하나의 예측 모드와 동일하다는 것을 표시하도록 제 1 비트를 "1"로서 인코딩할 수 있다.
엔트로피 인코딩 유닛(46)은 상위 이웃 블록의 예측 모드를 좌측 이웃 블록의 예측 모드와 비교한다(98). 상위 이웃 블록의 예측 모드가 좌측 이웃 블록의 예측 모드와 동일한 경우, 엔트로피 인코딩 유닛(46)은 예측 모드에 대한 더 이상의 비트들을 인코딩하지 않는다(100). 이러한 경우, 예측 모드는 단일 비트를 사용하여 인코딩될 수 있다.
그러나, 상위 이웃 블록의 예측 모드가 좌측 이웃 블록의 예측 모드와 동일하지 않은 경우, 엔트로피 인코딩 유닛(46)은 엔트로피 인코딩 유닛(46)은 이웃 블록들 중 어떤 것이 현재 블록과 동일한 예측 모드를 가지는지를 표시하도록 예측 모드를 표현하는 제 2 비트를 인코딩한다(102). 예를 들어, 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드가 상위 이웃 블록의 예측 모드와 동일한 경우 "1"을 인코딩할 수 있고, 현재 블록의 예측 모드가 좌측 이웃 블록의 예측 모드와 동일한 경우 "0"을 인코딩할 수 있다. 이와 같이, 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드가 이웃 블록들 중 하나의 예측 모드와 동일한 경우 1개의 비트 및 최대로 2개의 비트들만큼 적게 사용하여 현재 블록의 예측 모드를 인코딩할 수 있다.
현재 블록의 예측 모드가 사전 인코딩된 블록들 중 하나의 예측 모드와 동일하지 않은 경우, 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드가 사전 인코딩된 블록들 중 하나의 예측 모드와 동일하지 않다는 것을 표시하도록 제 1 비트를 인코딩한다(96). 상기 예를 계속 들어보면, 엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드가 사전 인코딩된 블록들 중 하나의 예측 모드와 동일하지 않다는 것을 표시하도록 제 1 비트를 "0"으로서 인코딩할 수 있다. 엔트로피 인코딩 유닛(46)은 가능한 예측 모드들의 세트를 재배열할 수 있다(104). 엔트로피 인코딩 유닛(46)은 가능한 예측 모드들의 세트로부터 이웃 블록들의 예측 모드 또는 모드들을 제거함으로써 가능한 예측 모드들의 세트를 재배열할 수 있다. 상위 및 좌측 이웃 블록들이 서로 다른 예측 모드들을 가지는 경우, 엔트로피 인코딩 유닛(46)은 세트로부터 2개의 예측 모드들을 제거할 수 있다. 상위 및 좌측 이웃 블록들이 서로 동일한 예측 모드를 가지는 경우, 엔트로피 인코딩 유닛(46)은 세트로부터 하나의 예측 모드(즉, 상위 및 좌측 이웃 블록들의 예측 모드)를 제거할 수 있다. 또한, 일부 예들에서, 엔트로피 인코딩 유닛(46)은 세트로부터 하나 이상의 추가 코딩 모드들을 선택적으로 제거할 수 있다. 엔트로피 인코딩 유닛(46)이 하나 이상의 추가 코딩 모드들을 제거하는 경우, 도 2의 예측 유닛(32)은 또한 이러한 추가 코딩 모드들이 선택되지 않도록 가능한 예측 모드들의 세트로부터 동일한 추가 코딩 모드들을 제거한다. 하나 이상의 예측 모드들을 제거한 이후에, 엔트로피 인코딩 유닛(46)은 세트의 나머지 예측 모드들의 모드 개수들을 조정한다.
엔트로피 인코딩 유닛(46)은 현재 블록의 예측 모드를 표현하는 코드워드를 인코딩한다(106). 엔트로피 인코딩 유닛(46)은 CAVLC, CABAC 또는 다른 엔트로피 코딩 방법을 사용하여 현재 비디오 블록의 예측 모드를 인코딩할 수 있다. 도 7에 대하여 보다 상세하게 설명될 것인 바와 같이, 일부 예들에서, 인코딩 유닛(46)은 하나 이상의 사전 인코딩된 블록들의 예측 모드들에 기초하여 현재 블록의 예측 모드를 인코딩하는데 사용하기 위한 코딩 컨텍스트를 적응적으로 선택할 수 있다.
도 7은 본 발명의 일 양상에 따라 코딩 컨텍스트 선택을 예시하는 흐름 다이어그램이다. 전술된 바와 같이, 현재 블록의 예측 모드 타입과 하나 이상의 사전 인코딩된 블록들 예를 들어, 상위 및 좌측 이웃 블록의 예측 모드의 타입 사이에서 상관이 존재할 수 있다. 예를 들어, 상위 및 좌측 이웃 블록들의 예측 모드가 모두 단방향 예측 모드들인 경우, 현재 블록의 예측 모드 또한 단방향 예측 모드일 확률이 더 높다. 이와 유사하게, 상위 및 좌측 이웃 블록들의 예측 모드가 모두 양방향 예측 모드들인 경우, 현재 블록의 예측 모드 또한 양방향 예측 모드일 확률이 더 높다.
이와 같이, 엔트로피 인코딩 유닛(46)은 상위 및 좌측 이웃 블록들의 예측 모드가 단방향 예측 모드들인지의 여부를 결정하고(112), 상위 및 좌측 이웃 블록들 모두의 예측 모드들이 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택할 수 있다(114). 상위 및 좌측 이웃 블록들 모두의 예측 모드가 단방향인 경우, 제 1 코딩 컨텍스트는 현재 비디오 블록의 예측 모드에 대한 확률 분포를 모델링한다. 제 1 코딩 컨텍스트의 확률 분포는 세트의 단방향 예측 모드들에 세트의 양방향 예측 모드들보다 더 높은 확률들을 제공할 수 있다. 예를 들어, CAVLC의 경우, 제 1 코딩 컨텍스트는 양방향 예측 모드들과 연관된 코드워드들보다 더 짧은 코드워드들을 단방향 예측 모드들과 연관시키는 코딩 테이블을 사용할 수 있다.
상위 및 좌측 이웃 블록들 각각의 예측 모드들이 단방향 예측 모드들이 아닌 경우, 엔트로피 인코딩 유닛(46)은 상위 및 좌측 이웃 블록들 각각의 예측 모드들이 양방향 예측 모드들인지의 여부를 결정할 수 있다(116). 엔트로피 인코딩 유닛(46)은 상위 및 좌측 이웃 블록들 각각의 예측 모드 모두가 양방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택할 수 있다(117). 제 2 코딩 컨텍스트는 현재 모드가 단방향 예측 모드 보다는 양방향 예측 모드일 보다 높은 확률이 존재한다는 가정에 기초하여 현재 비디오 블록의 예측 모드에 대한 확률 분포를 모델링한다. 다시, CAVLC의 경우, 예를 들어, 제 2 코딩 컨텍스트는 단방향 예측 모드들과 연관된 코드워드들 보다 더 짧은 코드워드들을 양방향 예측 모드들과 연관시키는 코딩 테이블을 사용할 수 있다.
상위 및 좌측 이웃 블록들의 예측 모드들 모두가 양방향 예측 모드들이 아닌 경우 즉, 사전 인코딩된 블록들의 예측 모드들이 양방향 및 단방향 예측 모드들의 결합인 경우, 엔트로피 인코딩 유닛(46)은 제 3 코딩 컨텍스트를 선택할 수 있다(118). 제 3 코딩 컨텍스트는 현재 예측 모드의 확률이 세트의 단방향 예측 모드들과 양방향 예측 모드들 사이에서 보다 균등하게 분포된다는 가정 하에 생성된다. 예를 들어, CAVLC의 경우, 제 3 코딩 컨텍스트는 유사한 코드 길이들의 코드워드들을 양방향 예측 모드들 및 단방향 예측 모드들과 연관시키는 코딩 테이블을 사용할 수 있다.
엔트로피 인코딩 모듈(46)은 선택된 코딩 컨텍스트에 따라 현재 비디오 블록의 예측 모드를 인코딩한다(119). 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하는데 사용하기 위한 상이한 코딩 컨텍스트들을 선택하는 것은 예측 모드 정보가 보다 양호하게 압축되게 할 수 있다. 동일한 코딩 컨텍스트 선택 기법은 디코딩 유닛(60)이 비디오 블록들의 예측 모드들을 정확하게 디코딩할 수 있도록 디코딩 유닛(60)에 의해 수행된다.
도 8은 본 발명의 기법들에 따라 비디오 디코더(26)의 엔트로피 디코딩 유닛(60)과 같은 디코딩 유닛이 비디오 블록의 헤더 정보를 디코딩하는 예시적인 동작을 예시하는 흐름도이다. 엔트로피 디코딩 유닛(60)은 예를 들어, 하나 이상의 헤더 신택스 엘리먼트들의 형태로 헤더 정보를 획득하도록 인코딩된 비디오 비트스트림을 디코딩한다. 예측 모드의 디코딩을 수행하는 엔트로피 디코딩 유닛(60)의 설명은 예시를 위해서 설명된다. 기법들은 블록 타입, 블록 분할, CBP 등과 같은 다른 헤더 신택스 엘리먼트들의 디코딩으로 확장될 수 있다.
특히, 엔트로피 디코딩 유닛(60)은 현재 블록의 예측 모드를 표현하는 제 1 비트를 수신한다(120). 엔트로피 디코딩 유닛(60)은 예측 모드를 표현하는 제 1 비트가 현재 블록의 예측 모드가 사전 디코딩된 블록 예를 들어, 상위 또는 좌측 이웃 블록의 예측 모드와 동일하다는 것을 표시하는지의 여부를 결정한다(122). 예를 들어, 엔트로피 디코딩 모듈(60)은 제 1 비트가 "1"인 경우 현재 블록의 예측 모드가 상위 및 좌측 이웃 블록들 중 하나의 예측 모드와 동일하다고 결정할 수 있고, 제 1 비트가 "0"인 경우 현재 블록의 예측 모드가 상위 및 좌측 이웃 블록들의 예측 모드들과 동일하지 않다고 결정할 수 있다.
엔트로피 디코딩 유닛(60)이 현재 블록의 예측 모드가 상위 및 좌측 이웃 블록들 중 하나의 예측 모드와 동일하다고 결정하는 경우, 엔트로피 디코딩 유닛(60)은 상위 이웃 블록의 예측 모드 및 좌측 이웃 블록의 예측 모드가 동일한지의 여부를 결정한다(124). 상위 이웃 블록의 예측 모드 및 좌측 이웃 블록의 예측 모드가 동일한 경우, 현재 비디오 블록의 예측 모드를 표현하는 비트들은 더 이상 수신되지 않고, 엔트로피 디코딩 유닛(60)은 이웃 블록들 중 하나의 예측 모드를 현재 블록의 예측 모드로서 선택한다(126). 상위 이웃 블록의 예측 모드 및 좌측 이웃 블록의 예측 모드가 상이한 경우, 예측 모드를 표현하는 하나의 추가 비트가 수신되고, 엔트로피 디코딩 유닛(60)은 예측 모드를 표현하는 다음 수신된 비트에 기초하여 적절한 이웃 블록의 예측 모드를 현재 블록의 예측 모드로서 선택한다(128). 예를 들어, 엔트로피 디코딩 유닛(60)은 다음 수신된 비트가 "1"인 경우 상위 이웃 블록의 예측 모드를 현재 블록의 예측 모드로서 선택하고, 다음 수신된 비트가 "0"인 경우 좌측 이웃 블록의 예측 모드를 현재 블록의 예측 모드로서 선택할 수 있다.
엔트로피 디코딩 유닛(60)이 현재 블록의 예측 모드가 상우 및 좌측 이웃 블록들 중 하나의 예측 모드와 동일하지 않다고 결정하는 경우 즉, 예측 모드를 표현하는 제 1 비트가 "0"인 경우, 엔트로피 디코딩 유닛(60)은 가능한 예측 모드들의 세트의 하나 이상의 예측 모드들을 제거할 수 있다(130). 엔트로피 디코딩 유닛(60)은 가능한 예측 모드들의 세트로부터 상위 및 좌측 이웃 블록들의 예측 모드들을 제거할 수 있다. 상위 및 좌측 이웃 블록들이 동일한 예측 모드를 가지는 경우, 엔트로피 디코딩 유닛(60)은 보다 상세하게 전술된 바와 같이 이웃 블록들의 예측 모드 및 적어도 하나의 다른 예측 모드를 제거할 수 있다.
엔트로피 디코딩 유닛(60)은 현재 블록의 예측 모드의 예측 모드 넘버를 획득하도록 나머지 비트들 예를 들어, 설명된 예에서 4개의 비트들을 디코딩한다(132). 엔트로피 디코딩 유닛(60)은 엔트로피 인코딩 유닛(46)에 의해 수행되는 예측 모드 넘버링(numbering) 조정 프로세스의 가역적 방식으로 나머지 예측 모드들의 예측 모드 넘버링을 조정할 수 있다(134). 일례에서, 엔트로피 디코딩 유닛(60)은 제거되었던 예측 모드들을 삽입함으로써, 디코딩된 예측 모드 넘버들(0 내지 15의 범위)를 원래의 예측 모드 넘버들(0 내지 17의 범위)로 리넘버링할 수 있다. 일부 예들에서, 엔트로피 디코딩 유닛(60)은 상세하게 전술된 바와 같이,하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여, 예를 들어, 사전 디코딩된 블록들의 예측 모드들이 모두 단방향인지, 모두 양방향인지, 하나는 단방향이고 다른 하나는 양방향인지에 기초하여, 블록의 예측 모드에 대한 상이한 코딩 컨텍스트들을 선택할 수 있다. 엔트로피 디코딩 유닛(60)은 선택된 예측 모드에 따라 예측 블록을 생성하기 위해서 예측 모드를 예측 유닛(62)으로 제공한다(136). 도 3에 대하여 설명된 바와 같이, 예측 블록은 사용자에게로의 프리젠테이션(presentation)을 위한 재구성된 블록을 생성하기 위해서 레지듀얼 픽셀 값들과 결합된다.
본 발명에서 설명되는 기법들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 유닛들 또는 컴포넌트들로서 설명되는 임의의 특징들은 집적 논리 디바이스에서 함께 또는 이산적이나 상호동작가능한 논리 디바이스들로서 개별적으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 상기 기법들은 실행 시에 전술된 방법들 중 하나 이상을 수행하는 명령들을 포함하는 컴퓨터-판독가능 매체에 의해 적어도 부분적으로 실현될 수 있다. 컴퓨터-판독가능 매체는 패키지물(packaging material)들을 포함할 수 있는 컴퓨터 프로그램 물건의 부분을 형성할 수 있다. 컴퓨터-판독가능 매체는 동기식 동적 랜덤 액세스 메모리(SDRAM)와 같은 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 랜덤 액세스 메모리(NVRAM), 전기적 소거가능 프로그래밍가능한 판독-전용 메모리(EEPROM), FLASH 메모리, 자기 또는 광학 데이터 저장 매체 등을 포함할 수 있다. 추가적으로 또는 대안적으로, 상기 기법들은, 명령들 또는 데이터 구조들의 형태로 코드를 전달 또는 전송(communicate)하고, 컴퓨터에 의해 액세스, 판독 및/또는 실행될 수 있는 컴퓨터-판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수 있다.
상기 코드는 예를 들어, 하나 이상의 디지털 신호 처리기(DSP)들, 범용 마이크로프로세서들, 주문형 집적회로(ASIC)들, 필드 프로그램가능한 논리 어레이(FPGA)들, 또는 다른 등가의 집적 또는 이산 논리 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수 있다. 따라서, 여기에서 사용되는 용어 "프로세서"는 전술된 구조 또는 여기에서 설명되는 기법들의 구현에 적합한 임의의 다른 구조 중 임의의 것을 지칭할 수 있다. 추가적으로, 일부 양상들에서, 여기에서 설명되는 기능성은 인코딩 및 디코딩되도록 구성되는 전용 소프트웨어 유닛들 또는 하드웨어 유닛들 내에 제공될 수 있거나, 결합된 비디오 인코더-디코더(CODEC)에 포함될 수 있다. 상이한 특징들의 유닛들로서의 도시하는 것은 예시되는 디바이스들의 상이한 기능적 양상들을 강조하는 것으로 의도되며, 이러한 유닛들이 반드시 별도의 하드웨어 또는 소프트웨어 컴포넌트들에 의해 실현되어야 함을 내포하지는 않는다. 오히려, 하나 이상의 유닛들과 연관된 기능성은 공통의 또는 별도의 하드웨어 또는 소프트웨어 컴포넌트들 내에 통합될 수 있다.
본 발명의 다양한 실시예들이 설명되었다. 이들 및 다른 실시예들은 다음의 청구항들의 범위 내에 포함된다.

Claims (104)

  1. 비디오 데이터를 인코딩하는 방법으로서,
    코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하는 단계 ? 상기 예측 모드들은 단방향(unidirectional) 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향(multi-directional) 예측 모드들을 포함함 ? ; 및
    상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하는 단계를 포함하고,
    상기 인코딩하는 단계는,
    현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 하나와 동일한 경우,
    상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 하나와 동일하다는 것을 표시하도록 상기 예측 모드를 표현하는 제 1 비트를 인코딩하는 단계, 및
    상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 서로 동일하지 않은 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들 중 어느 블록이 상기 비디오 블록의 예측 모드와 동일한 예측 모드를 가지는지를 표시하도록 상기 예측 모드를 표현하는 적어도 하나의 추가 비트를 인코딩하는 단계; 그리고
    상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 어떤 모드와도 동일하지 않은 경우,
    상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 어떤 모드와도 동일하지 않다는 것을 표시하도록 상기 예측 모드를 표현하는 제 1 비트를 인코딩하는 단계,
    적어도 상기 복수의 예측 모드들로부터 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들을 제거하는 단계,
    상기 코딩 유닛의 사전 인코딩된 비디오 블록들 중 둘 이상이 동일한 예측 모드를 가지는 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드가 아닌 적어도 하나의 추가 예측 모드를 제거하는 단계,
    상기 복수의 예측 모드들의 나머지 예측 모드들 사이에 예측 모드 식별자들을 임시로 재배열하는 단계, 및
    상기 현재 비디오 블록의 예측 모드에 대응하는 상기 예측 모드 식별자를 식별하는 코드워드를 인코딩하는 단계를 포함하는,
    비디오 데이터를 인코딩하는 방법.
  2. 제 1 항에 있어서,
    상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 모드를 인코딩하는데 사용하기 위한 복수의 코딩 컨텍스트(context)들 중 하나를 선택하는 단계를 더 포함하고,
    인코딩하는 단계는 상기 선택된 코딩 컨텍스트에 따라 인코딩하는 단계를 포함하는,
    비디오 데이터를 인코딩하는 방법.
  3. 제 2 항에 있어서,
    상기 코딩 컨텍스트들 중 하나를 선택하는 단계는,
    상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택하는 단계;
    상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 다-방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택하는 단계; 및
    상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 단방향 또는 모두 다-방향이 아닌 경우 제 3 코딩 컨텍스트를 선택하는 단계를 포함하는,
    비디오 데이터를 인코딩하는 방법.
  4. 제 1 항에 있어서,
    레지듀얼(residual) 블록을 형성하기 위해서 상기 비디오 블록으로부터 상기 선택된 예측 모드를 사용하여 생성된 예측 블록을 차감(substract)하는 단계;
    상기 선택된 예측 모드에 기초하여 상기 레지듀얼 블록에 적용할 변환을 선택하는 단계; 및
    레지듀얼 변환 계수들을 생성하기 위해서 상기 레지듀얼 블록에 상기 선택된 변환을 적용시키는 단계를 더 포함하는,
    비디오 데이터를 인코딩하는 방법.
  5. 제 4 항에 있어서,
    상기 레지듀얼 블록에 적용할 변환을 선택하는 단계는,
    상기 선택된 예측 모드가 제한된 방향성(directionality)을 나타내는 경우, 상기 레지듀얼 블록에 적용할 이산 코사인 변환(DCT) 및 정수 변환 중 하나를 선택하는 단계; 및
    상기 선택된 예측 모드가 방향성을 나타내는 경우, 상기 레지듀얼 블록에 적용할 방향 변환을 선택하는 단계를 포함하는,
    비디오 데이터를 인코딩하는 방법.
  6. 제 5 항에 있어서,
    상기 DCT 및 정수 변환 중 하나를 선택하는 단계는,
    상기 선택된 예측 모드가 DC 단방향 예측 모드, 또는 실질적으로 직교하는 방향들을 가리키는 적어도 2개의 예측 모드들을 결합하는 다-방향 예측 모드인 경우, 상기 레지듀얼 블록에 적용할 상기 DCT 및 상기 정수 변환 중 하나를 선택하는 단계를 포함하는,
    비디오 데이터를 인코딩하는 방법.
  7. 제 5 항에 있어서,
    복수의 방향 변환들을 저장하는 단계를 더 포함하고,
    상기 복수의 방향 변환들 각각은 방향성을 나타내는 상기 예측 모드들 중 하나와 대응하고,
    상기 방향 변환을 선택하는 단계는 상기 선택된 예측 모드에 대응하는 복수의 방향 변환들 중 하나를 선택하는 단계를 포함하는,
    비디오 데이터를 인코딩하는 방법.
  8. 제 4 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 방향 변환들을 저장하는 단계를 더 포함하고,
    상기 방향 변환들 각각은 사이즈 N×N의 컬럼(column) 변환 행렬 및 사이즈 N×N의 로우(row) 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원(dimension)인,
    비디오 데이터를 인코딩하는 방법.
  9. 제 4 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 방향 변환들을 저장하는 단계를 더 포함하고,
    상기 복수의 방향 변환들 각각은 사이즈 N2×N2의 변환 행렬을 포함하고,
    N은 상기 비디오 블록의 차원인,
    비디오 데이터를 인코딩하는 방법.
  10. 제 1 항에 있어서,
    상기 복수의 예측 모드들은 단방향 예측 모드들 및 가능한 양방향 예측 모드들의 서브세트를 포함하고,
    상기 양방향 예측 모드들의 서브세트는 2개의 상이한 단방향 예측 모드들을 포함하는 적어도 하나의 결합을 포함하는,
    비디오 데이터를 인코딩하는 방법.
  11. 비디오 데이터를 인코딩하는 디바이스로서,
    코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하는 예측 유닛 ? 상기 예측 모드들은 단방향(unidirectional) 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향(multi-directional) 예측 모드들을 포함함 ? ; 및
    상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하는 엔트로피 인코딩 유닛을 포함하고,
    현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 하나와 동일한 경우,
    상기 엔트로피 인코딩 유닛은 상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 하나와 동일하다는 것을 표시하도록 상기 예측 모드를 표현하는 제 1 비트를 인코딩하고, 그리고
    상기 엔트로피 인코딩 유닛은 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 서로 동일하지 않은 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들 중 어느 블록이 상기 비디오 블록의 예측 모드와 동일한 예측 모드를 가지는지를 표시하도록 상기 예측 모드를 표현하는 적어도 하나의 추가 비트를 인코딩하고; 그리고
    상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 어떤 모드와도 동일하지 않은 경우,
    상기 엔트로피 인코딩 유닛은 상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 어떤 모드와도 동일하지 않다는 것을 표시하도록 상기 예측 모드를 표현하는 제 1 비트를 인코딩하고,
    상기 예측 유닛은 적어도 상기 복수의 예측 모드들로부터 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들을 제거하고,
    상기 예측 유닛은 상기 코딩 유닛의 사전 인코딩된 비디오 블록들 중 둘 이상이 동일한 예측 모드를 가지는 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드가 아닌 적어도 하나의 추가 예측 모드를 제거하고,
    상기 예측 유닛은 상기 복수의 예측 모드들의 나머지 예측 모드들 사이에 예측 모드 식별자들을 임시로 재배열하고, 그리고
    상기 엔트로피 인코딩 유닛은 상기 현재 비디오 블록의 예측 모드에 대응하는 상기 예측 모드 식별자를 식별하는 코드워드를 인코딩하는,
    비디오 데이터를 인코딩하는 디바이스.
  12. 제 11 항에 있어서,
    상기 엔트로피 인코딩 유닛은 상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 모드를 인코딩하는데 사용하기 위한 복수의 코딩 컨텍스트(context)들 중 하나를 선택하고, 상기 선택된 코딩 컨텍스트에 따라 상기 예측 모드를 인코딩하는,
    비디오 데이터를 인코딩하는 디바이스.
  13. 제 12 항에 있어서,
    상기 엔트로피 인코딩 유닛은, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택하고, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 다-방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택하고, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 단방향 또는 모두 다-방향이 아닌 경우 제 3 코딩 컨텍스트를 선택하는,
    비디오 데이터를 인코딩하는 디바이스.
  14. 제 11 항에 있어서,
    상기 선택된 예측 모드에 기초하여 레지듀얼(residual) 블록에 적용할 변환을 선택하고, 레지듀얼 변환 계수들을 생성하기 위해서 상기 레지듀얼 블록에 상기 선택된 변환을 적용시키는 변환 유닛을 더 포함하고,
    상기 엔트로피 인코딩 유닛은 상기 레지듀얼 변환 계수들을 인코딩하는,
    비디오 데이터를 인코딩하는 디바이스.
  15. 제 14 항에 있어서,
    상기 변환 유닛은, 상기 선택된 예측 모드가 제한된 방향성(directionality)을 나타내는 경우, 상기 레지듀얼 블록에 적용할 이산 코사인 변환(DCT) 및 정수 변환 중 하나를 선택하고, 상기 선택된 예측 모드가 방향성을 나타내는 경우, 상기 레지듀얼 블록에 적용할 방향 변환을 선택하는,
    비디오 데이터를 인코딩하는 디바이스.
  16. 제 15 항에 있어서,
    상기 변환 유닛은 상기 선택된 예측 모드가 DC 단방향 예측 모드, 또는 실질적으로 직교하는 방향들을 가리키는 적어도 2개의 예측 모드들을 결합하는 다-방향 예측 모드인 경우, 상기 레지듀얼 블록에 적용할 상기 DCT 및 상기 정수 변환 중 하나를 선택하는,
    비디오 데이터를 인코딩하는 디바이스.
  17. 제 15 항에 있어서,
    복수의 방향 변환들을 저장하는 메모리를 더 포함하고,
    상기 복수의 방향 변환들 각각은 방향성을 나타내는 상기 예측 모드들 중 하나와 대응하고,
    상기 변환 유닛은 상기 선택된 예측 모드에 대응하는 복수의 방향 변환들 중 하나를 선택하는,
    비디오 데이터를 인코딩하는 디바이스.
  18. 제 14 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 방향 변환들을 저장하는 메모리들을 더 포함하고,
    상기 방향 변환들 각각은 사이즈 N×N의 컬럼(column) 변환 행렬 및 사이즈 N×N의 로우(row) 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원(dimension)인,
    비디오 데이터를 인코딩하는 디바이스.
  19. 제 14 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 방향 변환들을 저장하는 메모리를 더 포함하고,
    상기 복수의 방향 변환들 각각은 사이즈 N2×N2의 변환 행렬을 포함하고,
    N은 상기 비디오 블록의 차원인,
    비디오 데이터를 인코딩하는 디바이스.
  20. 제 11 항에 있어서,
    상기 복수의 예측 모드들은 단방향 예측 모드들 및 가능한 양방향 예측 모드들의 서브세트를 포함하고,
    상기 양방향 예측 모드들의 서브세트는 상기 단방향 예측 모드들 각각을 포함하는 적어도 하나의 결합을 포함하는,
    비디오 데이터를 인코딩하는 디바이스.
  21. 제 11 항에 있어서,
    상기 디바이스는 무선 통신 디바이스를 포함하는,
    비디오 데이터를 인코딩하는 디바이스.
  22. 제 11 항에 있어서,
    상기 디바이스는 집적 회로 디바이스를 포함하는,
    비디오 데이터를 인코딩하는 디바이스.
  23. 비디오 코딩 디바이스에서의 실행 시에, 상기 디바이스로 하여금 비디오 블록들을 코딩하도록 하는 명령들을 포함하는 컴퓨터-판독가능 매체로서,
    상기 명령들은 상기 디바이스로 하여금,
    코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하고 ? 상기 예측 모드들은 단방향(unidirectional) 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향(multi-directional) 예측 모드들을 포함함 ? ,
    상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하도록 하고,
    상기 인코딩은,
    현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 하나와 동일한 경우,
    상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 하나와 동일하다는 것을 표시하도록 상기 예측 모드를 표현하는 제 1 비트를 인코딩하는 것, 그리고
    상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 서로 동일하지 않은 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들 중 어느 블록이 상기 비디오 블록의 예측 모드와 동일한 예측 모드를 가지는지를 표시하도록 상기 예측 모드를 표현하는 적어도 하나의 추가 비트를 인코딩하는 것, 그리고
    상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 어떤 모드와도 동일하지 않은 경우,
    상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 어떤 모드와도 동일하지 않다는 것을 표시하도록 상기 예측 모드를 표현하는 제 1 비트를 인코딩하는 것,
    적어도 상기 복수의 예측 모드들로부터 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들을 제거하는 것,
    상기 코딩 유닛의 사전 인코딩된 비디오 블록들 중 둘 이상이 동일한 예측 모드를 가지는 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드가 아닌 적어도 하나의 추가 예측 모드를 제거하는 것,
    상기 복수의 예측 모드들의 나머지 예측 모드들 사이에 예측 모드 식별자들을 임시로 재배열하는 것, 그리고
    상기 현재 비디오 블록의 예측 모드에 대응하는 상기 예측 모드 식별자를 식별하는 코드워드를 인코딩하는 것을 포함하는,
    컴퓨터-판독가능 매체.
  24. 제 23 항에 있어서,
    상기 디바이스로 하여금 상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 모드를 인코딩하는데 사용하기 위한 복수의 코딩 컨텍스트(context)들 중 하나를 선택하도록 하는 명령들을 더 포함하고,
    인코딩은 상기 선택된 코딩 컨텍스트에 따라 인코딩하는 것을 포함하는,
    컴퓨터-판독가능 매체.
  25. 제 24 항에 있어서,
    상기 명령들은 상기 디바이스로 하여금,
    상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택하고,
    상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 다-방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택하고, 그리고
    상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 단방향 또는 모두 다-방향이 아닌 경우 제 3 코딩 컨텍스트를 선택하도록 하는,
    컴퓨터-판독가능 매체.
  26. 제 23 항에 있어서,
    상기 디바이스로 하여금,
    레지듀얼(residual) 블록을 형성하기 위해서 상기 비디오 블록으로부터 상기 선택된 예측 모드를 사용하여 생성된 예측 블록을 차감하고,
    상기 선택된 예측 모드에 기초하여 상기 레지듀얼 블록에 적용할 변환을 선택하고, 그리고
    레지듀얼 변환 계수들을 생성하기 위해서 상기 레지듀얼 블록에 상기 선택된 변환을 적용시키도록 하는 명령들을 더 포함하는,
    컴퓨터-판독가능 매체.
  27. 제 26 항에 있어서,
    상기 명령들은 상기 디바이스로 하여금,
    상기 선택된 예측 모드가 제한된 방향성(directionality)을 나타내는 경우 상기 레지듀얼 블록에 적용할 이산 코사인 변환(DCT) 및 정수 변환 중 하나를 선택하고, 그리고,
    상기 선택된 예측 모드가 방향성을 나타내는 경우 상기 레지듀얼 블록에 적용할 방향 변환을 선택하도록 하는,
    컴퓨터-판독가능 매체.
  28. 제 27 항에 있어서,
    상기 명령들은 상기 디바이스로 하여금, 상기 선택된 예측 모드가 DC 단방향 예측 모드, 또는 실질적으로 직교하는 방향들을 가리키는 적어도 2개의 예측 모드들을 결합하는 다-방향 예측 모드인 경우, 상기 레지듀얼 블록을 적용할 상기 DCT 및 상기 정수 변환 중 하나를 선택하도록 하는,
    컴퓨터-판독가능 매체.
  29. 제 27 항에 있어서,
    상기 디바이스로 하여금 복수의 방향 변환들을 저장하도록 하는 명령들을 더 포함하고,
    상기 복수의 방향 변환들 각각은 방향성을 나타내는 상기 예측 모드들 중 하나와 대응하고,
    상기 방향 변환을 선택하는 것은 상기 선택된 예측 모드에 대응하는 복수의 방향 변환들 중 하나를 선택하는 것을 포함하는,
    컴퓨터-판독가능 매체.
  30. 제 26 항에 있어서,
    상기 디바이스로 하여금 상기 예측 모드들 중 하나와 각각 대응하는 복수의 방향 변환들을 저장하도록 하는 명령들을 더 포함하고,
    상기 방향 변환들 각각은 사이즈 N×N의 컬럼(column) 변환 행렬 및 사이즈 N×N의 로우(row) 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원(dimension)인,
    컴퓨터-판독가능 매체.
  31. 제 26 항에 있어서,
    상기 디바이스로 하여금 상기 예측 모드들 중 하나와 각각 대응하는 복수의 방향 변환들을 저장하도록 하는 명령들을 더 포함하고,
    상기 복수의 방향 변환들 각각은 사이즈 N2×N2의 변환 행렬을 포함하고,
    N은 상기 비디오 블록의 차원인,
    컴퓨터-판독가능 매체.
  32. 제 23 항에 있어서,
    상기 복수의 예측 모드들은 단방향 예측 모드들 및 가능한 양방향 예측 모드들의 서브세트를 포함하고,
    상기 양방향 예측 모드들의 서브세트는 2개의 상이한 단방향 예측 모드들을 포함하는 적어도 하나의 결합을 포함하는,
    컴퓨터-판독가능 매체.
  33. 비디오 데이터를 인코딩하는 디바이스로서,
    코딩 유닛의 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 선택하기 위한 수단 ? 상기 예측 모드들은 단방향(unidirectional) 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향(multi-directional) 예측 모드들을 포함함 ? ; 및
    상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 현재 비디오 블록의 예측 모드를 인코딩하기 위한 수단을 포함하고,
    현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 하나와 동일한 경우,
    상기 인코딩하기 위한 수단은 상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 하나와 동일하다는 것을 표시하도록 상기 예측 모드를 표현하는 제 1 비트를 인코딩하고, 그리고
    상기 인코딩하기 위한 수단은 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 서로 동일하지 않은 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들 중 어느 블록이 상기 비디오 블록의 예측 모드와 동일한 예측 모드를 가지는지를 표시하도록 상기 예측 모드를 표현하는 적어도 하나의 추가 비트를 인코딩하고; 그리고
    상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 어떤 모드와도 동일하지 않은 경우,
    상기 인코딩하기 위한 수단은 상기 현재 블록의 예측 모드가 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들 중 어떤 모드와도 동일하지 않다는 것을 표시하도록 상기 예측 모드를 표현하는 제 1 비트를 인코딩하고, 그리고
    상기 선택하기 위한 수단은 적어도 상기 복수의 예측 모드들로부터 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들을 제거하고,
    상기 선택하기 위한 수단은 상기 코딩 유닛의 사전 인코딩된 비디오 블록들 중 둘 이상이 동일한 예측 모드를 가지는 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드가 아닌 적어도 하나의 추가 예측 모드를 제거하고,
    상기 선택하기 위한 수단은 상기 복수의 예측 모드들의 나머지 예측 모드들 사이에 예측 모드 식별자들을 임시로 재배열하고, 그리고
    상기 인코딩하기 위한 수단은 상기 현재 비디오 블록의 예측 모드에 대응하는 상기 예측 모드 식별자를 식별하는 코드워드를 인코딩하는,
    비디오 데이터를 인코딩하는 디바이스.
  34. 제 33 항에 있어서,
    상기 코딩 유닛의 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 모드를 인코딩하는데 사용하기 위한 복수의 코딩 컨텍스트(context)들 중 하나를 선택하기 위한 수단을 더 포함하고,
    인코딩은 상기 선택된 코딩 컨텍스트에 따라 인코딩하는 것을 포함하는,
    비디오 데이터를 인코딩하는 디바이스.
  35. 제 34 항에 있어서,
    상기 선택하기 위한 수단은, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택하고, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 다-방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택하고, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드들이 모두 단방향 또는 모두 다-방향이 아닌 경우 제 3 코딩 컨텍스트를 선택하는,
    비디오 데이터를 인코딩하는 디바이스.
  36. 제 33 항에 있어서,
    레지듀얼(residual) 블록을 형성하기 위해서 상기 비디오 블록으로부터 상기 선택된 예측 모드를 사용하여 생성된 예측 블록을 차감하기 위한 수단;
    상기 선택된 예측 모드에 기초하여 상기 레지듀얼 블록에 적용할 변환을 선택하기 위한 수단; 및
    레지듀얼 변환 계수들을 생성하기 위해서 상기 레지듀얼 블록에 상기 선택된 변환을 적용하기 위한 수단을 더 포함하는,
    비디오 데이터를 인코딩하는 디바이스.
  37. 제 36 항에 있어서,
    상기 변환 선택 수단은 상기 선택된 예측 모드가 제한된 방향성(directionality)을 나타내는 경우 상기 레지듀얼 블록에 적용할 이산 코사인 변환(DCT) 및 정수 변환 중 하나를 선택하고, 상기 선택된 예측 모드가 방향성을 나타내는 경우 상기 레지듀얼 블록에 적용할 방향 변환을 선택하는,
    비디오 데이터를 인코딩하는 디바이스.
  38. 제 37 항에 있어서,
    상기 변환 선택 수단은 상기 선택된 예측 모드가 DC 단방향 예측 모드, 또는 실질적으로 직교하는 방향들을 가리키는 적어도 2개의 예측 모드들을 결합하는 다-방향 예측 모드인 경우, 상기 레지듀얼 블록에 적용할 상기 DCT 및 상기 정수 변환 중 하나를 선택하는,
    비디오 데이터를 인코딩하는 디바이스.
  39. 제 37 항에 있어서,
    복수의 방향 변환들을 저장하기 위한 수단을 더 포함하고,
    상기 복수의 방향 변환들 각각은 방향성을 나타내는 상기 예측 모드들 중 하나와 대응하고,
    상기 변환 선택 수단은 상기 선택된 예측 모드에 대응하는 복수의 방향 변환들 중 하나를 선택하는,
    비디오 데이터를 인코딩하는 디바이스.
  40. 제 36 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 방향 변환들을 저장하기 위한 수단을 더 포함하고,
    상기 방향 변환들 각각은 사이즈 N×N의 컬럼(column) 변환 행렬 및 사이즈 N×N의 로우(row) 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원(dimension)인,
    비디오 데이터를 인코딩하는 디바이스.
  41. 제 36 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 방향 변환들을 저장하는 것을 더 포함하고,
    상기 복수의 방향 변환들 각각은 사이즈 N2×N2의 변환 행렬을 포함하고,
    N은 상기 비디오 블록의 차원인,
    비디오 데이터를 인코딩하는 디바이스.
  42. 제 33 항에 있어서,
    상기 복수의 예측 모드들은 단방향 예측 모드들 및 가능한 양방향 예측 모드들의 서브세트를 포함하고,
    상기 양방향 예측 모드들의 서브세트는 2개의 상이한 단방향 예측 모드들을 포함하는 적어도 하나의 결합을 포함하는,
    비디오 데이터를 인코딩하는 디바이스.
  43. 비디오 데이터를 디코딩하는 방법으로서,
    코딩 유닛의 비디오 블록의 인코딩된 비디오 데이터를 수신하는 단계; 및
    상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 식별하도록 상기 인코딩된 비디오 데이터를 디코딩하는 단계 ? 상기 예측 모드들은 단방향(unidirectional) 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향(multi-directional) 예측 모드들을 포함함 ? 를 포함하고,
    상기 디코딩하는 단계는,
    상기 예측 모드를 표현하는 제 1 인코딩된 비트에 기초하여, 상기 예측 모드가 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들 중 하나인 경우,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 동일한 경우, 상기 하나 이상의 사전 디코딩된 비디오 블록들 중 임의의 블록의 예측 모드를 선택하는 단계, 및
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 동일하지 않은 경우, 상기 예측 모드를 표현하는 적어도 하나의 추가 인코딩된 비트에 기초하여 상기 하나 이상의 사전 디코딩된 비디오 블록들 중 어느 블록이 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 예측 모드와 동일한 예측 모드를 가지는지를 식별하는 단계, 및
    상기 식별된 사전 디코딩된 비디오 블록의 예측 모드를 선택하는 단계; 그리고
    상기 예측 모드를 표현하는 제 1 인코딩된 비트에 기초하여, 상기 예측 모드가 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들 중 어떤 모드도 아닌 경우,
    적어도 상기 복수의 예측 모드들로부터 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들을 제거하는 단계;
    상기 코딩 유닛의 사전 인코딩된 비디오 블록들 중 둘 이상이 동일한 예측 모드를 가지는 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드가 아닌 적어도 하나의 추가 예측 모드를 제거하는 단계;
    상기 복수의 예측 모드들의 나머지 예측 모드들 사이에 예측 모드 식별자들을 임시로 재배열하는 단계; 및
    현재 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 상기 예측 모드에 대응하는 상기 예측 모드 식별자를 식별하도록 코드워드를 디코딩하는 단계를 포함하는,
    비디오 데이터를 디코딩하는 방법.
  44. 제 43 항에 있어서,
    상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 모드를 디코딩하는데 사용하기 위한 복수의 코딩 컨텍스트(context)들 중 하나를 선택하는 단계를 더 포함하고,
    디코딩하는 단계는 상기 선택된 코딩 컨텍스트에 따라 디코딩하는 단계를 포함하는,
    비디오 데이터를 디코딩하는 방법.
  45. 제 44 항에 있어서,
    상기 복수의 코딩 컨텍스트들 중 하나를 선택하는 단계는,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택하는 단계;
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 다-방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택하는 단계; 및
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 단방향 또는 모두 다-방향이 아닌 경우 제 3 코딩 컨텍스트를 선택하는 단계를 포함하는,
    비디오 데이터를 디코딩하는 방법.
  46. 제 43 항에 있어서,
    상기 식별된 예측 모드에 기초하여 상기 비디오 블록의 레지듀얼(residual) 변환 계수들에 적용할 역 변환을 선택하는 단계; 및
    레지듀얼 데이터를 생성하기 위해서 상기 비디오 블록의 레지듀얼 변환 계수들에 상기 선택된 역 변환을 적용시키는 단계를 더 포함하는,
    비디오 데이터를 디코딩하는 방법.
  47. 제 46 항에 있어서,
    상기 변환된 레지듀얼 계수들에 적용할 역 변환을 선택하는 단계는,
    상기 식별된 예측 모드가 제한된 방향성(directionality)을 나타내는 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 역 이산 코사인 변환(DCT) 및 역 정수 변환 중 하나를 선택하는 단계; 및
    상기 식별된 예측 모드가 방향성을 나타내는 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 역 방향 변환을 선택하는 단계를 포함하는,
    비디오 데이터를 디코딩하는 방법.
  48. 제 47 항에 있어서,
    상기 역 DCT 및 역 정수 변환 중 하나를 선택하는 단계는, 상기 식별된 예측 모드가 DC 단방향 예측 모드, 또는 실질적으로 직교하는 방향들을 가리키는 적어도 2개의 예측 모드들을 결합하는 다-방향 예측 모드인 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 상기 역 DCT 및 역 정수 변환 중 하나를 선택하는 단계를 포함하는,
    비디오 데이터를 디코딩하는 방법.
  49. 제 47 항에 있어서,
    방향성을 나타내는 상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하는 단계를 더 포함하고,
    상기 역 방향 변환을 선택하는 단계는 상기 식별된 예측 모드에 대응하는 복수의 역 방향 변환들 중 하나를 선택하는 단계를 포함하는,
    비디오 데이터를 디코딩하는 방법.
  50. 제 46 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하는 단계를 더 포함하고,
    상기 복수의 역 방향 변환들 각각은 사이즈 N×N의 컬럼(column) 변환 행렬 및 사이즈 N×N의 로우(row) 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원(dimension)인,
    비디오 데이터를 디코딩하는 방법.
  51. 제 46 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하는 단계를 더 포함하고,
    상기 복수의 역 방향 변환들 각각은 사이즈 N2×N2의 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원인,
    비디오 데이터를 디코딩하는 방법.
  52. 제 43 항에 있어서,
    상기 복수의 예측 모드들은 단방향 예측 모드들 및 가능한 양방향 예측 모드들의 서브세트를 포함하고,
    상기 양방향 예측 모드들의 서브세트는 2개의 상이한 단방향 예측 모드들을 포함하는 적어도 하나의 결합을 포함하는,
    비디오 데이터를 디코딩하는 방법.
  53. 비디오 데이터를 디코딩하기 위한 디바이스로서,
    코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 식별하도록 상기 코딩 유닛의 비디오 블록의 인코딩된 비디오 데이터를 디코딩하는 엔트로피 디코딩 유닛 ? 상기 예측 모드들은 단방향(unidirectional) 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향(multi-directional) 예측 모드들을 포함함 ? ; 및
    상기 디코딩된 예측 모드를 사용하여 상기 예측 블록을 생성하는 예측 유닛을 포함하고,
    상기 예측 모드를 표현하는 제 1 인코딩된 비트에 기초하여, 상기 예측 모드가 상기 하나 이상의 이전 디코딩된 비디오 블록들의 예측 모드들 중 하나인 경우,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 동일한 경우, 상기 엔트로피 디코딩 유닛은 상기 하나 이상의 사전 디코딩된 비디오 블록들 중 임의의 블록의 예측 모드를 선택하고, 그리고
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드가 동일하지 않은 경우, 상기 엔트로피 디코딩 유닛은 상기 예측 모드를 표현하는 적어도 하나의 추가 인코딩된 비트에 기초하여 상기 하나 이상의 사전 디코딩된 비디오 블록들 중 어느 블록이 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 예측 모드와 동일한 예측 모드를 가지는지를 식별하고, 그리고
    상기 엔트로피 디코딩 유닛은 상기 식별된 사전 디코딩된 비디오 블록의 예측 모드를 선택하고; 그리고
    상기 예측 모드를 표현하는 제 1 인코딩된 비트에 기초하여, 상기 예측 모드가 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들 중 어떤 모드도 아닌 경우,
    상기 엔트로피 디코딩 유닛은 적어도 상기 복수의 예측 모드들로부터 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들을 제거하고;
    상기 엔트로피 디코딩 유닛은 상기 코딩 유닛의 사전 인코딩된 비디오 블록들 중 둘 이상이 동일한 예측 모드를 가지는 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드가 아닌 적어도 하나의 추가 예측 모드를 제거하고;
    상기 엔트로피 디코딩 유닛은 상기 복수의 예측 모드들의 나머지 예측 모드들 사이에 예측 모드 식별자들을 임시로 재배열하고; 그리고
    상기 엔트로피 디코딩 유닛은 현재 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 상기 예측 모드에 대응하는 상기 예측 모드 식별자를 식별하도록 코드워드를 디코딩하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  54. 제 53 항에 있어서,
    상기 엔트로피 디코딩 유닛은 상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 모드를 디코딩하는데 사용하기 위한 복수의 코딩 컨텍스트(context)들 중 하나를 선택하고,
    디코딩은 상기 선택된 코딩 컨텍스트에 따라 디코딩하는 것을 포함하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  55. 제 54 항에 있어서,
    상기 엔트로피 디코딩 유닛은,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택하고,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 다-방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택하고, 그리고
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 단방향 또는 모두 다-방향이 아닌 경우 제 3 코딩 컨텍스트를 선택하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  56. 제 54 항에 있어서,
    상기 식별된 예측 모드에 기초하여 상기 비디오 블록의 레지듀얼(residual) 변환 계수들에 적용할 역 변환을 선택하고, 그리고
    레지듀얼 데이터를 생성하기 위해서 상기 비디오 블록의 레지듀얼 변환 계수들에 상기 선택된 역 변환을 적용시키는,
    역 변환 유닛을 더 포함하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  57. 제 56 항에 있어서,
    상기 역 변환 유닛은,
    상기 식별된 예측 모드가 제한된 방향성(directionality)을 나타내는 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 역 이산 코사인 변환(DCT) 및 역 정수 변환 중 하나를 선택하고, 그리고
    상기 식별된 예측 모드가 방향성을 나타내는 경우 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 역 방향 변환을 선택하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  58. 제 57 항에 있어서,
    상기 역 변환 유닛은 상기 식별된 예측 모드가 DC 단방향 예측 모드, 또는 실질적으로 직교하는 방향들을 가리키는 적어도 2개의 예측 모드들을 결합하는 다-방향 예측 모드인 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 상기 역 DCT 및 역 정수 변환 중 하나를 선택하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  59. 제 57 항에 있어서,
    상기 역 변환 유닛은 방향성을 나타내는 상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하고, 상기 식별된 예측 모드에 대응하는 복수의 역 방향 변환들 중 하나를 선택하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  60. 제 56 항에 있어서,
    상기 역 변환 유닛은 상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하고,
    상기 복수의 역 방향 변환들 각각은 사이즈 N×N의 컬럼(column) 변환 행렬 및 사이즈 N×N의 로우(row) 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원(dimension)인,
    비디오 데이터를 디코딩하기 위한 디바이스.
  61. 제 56 항에 있어서,
    상기 역 변환 유닛은 상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하고,
    상기 복수의 역 방향 변환들 각각은 사이즈 N2×N2의 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원인,
    비디오 데이터를 디코딩하기 위한 디바이스.
  62. 제 54 항에 있어서,
    상기 복수의 예측 모드들은 단방향 예측 모드들 및 가능한 양방향 예측 모드들의 서브세트를 포함하고,
    상기 양방향 예측 모드들의 서브세트는 2개의 상이한 단방향 예측 모드들을 포함하는 적어도 하나의 결합을 포함하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  63. 제 54 항에 있어서,
    상기 디바이스는 무선 통신 디바이스를 포함하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  64. 제 54 항에 있어서,
    상기 디바이스는 집적 회로 디바이스를 포함하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  65. 비디오 코딩 디바이스에서 실행 시에, 상기 디바이스로 하여금 비디오 블록들을 코딩하도록 하는 명령들을 포함하는 컴퓨터-판독가능 매체로서,
    상기 명령들은 상기 디바이스로 하여금,
    코딩 유닛의 비디오 블록의 인코딩된 비디오 데이터를 수신하고; 그리고
    상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 식별하도록 상기 인코딩된 비디오 데이터를 디코딩하도록 하고 ? 상기 예측 모드들은 단방향(unidirectional) 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향(multi-directional) 예측 모드들을 포함함 ? ,
    상기 디코딩은,
    상기 예측 모드를 표현하는 제 1 인코딩된 비트에 기초하여, 상기 예측 모드가 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들 중 하나인 경우,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 동일한 경우, 상기 하나 이상의 사전 디코딩된 비디오 블록들 중 임의의 블록의 예측 모드를 선택하는 것, 그리고
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 동일하지 않은 경우, 상기 예측 모드를 표현하는 적어도 하나의 추가 인코딩된 비트에 기초하여 상기 하나 이상의 사전 디코딩된 비디오 블록들 중 어느 블록이 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 예측 모드와 동일한 예측 모드를 가지는지를 식별하는 것, 그리고
    상기 식별된 사전 디코딩된 비디오 블록의 예측 모드를 선택하는 것; 그리고
    상기 예측 모드를 표현하는 제 1 인코딩된 비트에 기초하여, 상기 예측 모드가 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들 중 어떤 모드도 아닌 경우,
    적어도 상기 복수의 예측 모드들로부터 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들을 제거하는 것;
    상기 코딩 유닛의 사전 인코딩된 비디오 블록들 중 둘 이상이 동일한 예측 모드를 가지는 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드가 아닌 적어도 하나의 추가 예측 모드를 제거하는 것;
    상기 복수의 예측 모드들의 나머지 예측 모드들 사이에 예측 모드 식별자들을 임시로 재배열하는 것; 그리고
    현재 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 상기 예측 모드에 대응하는 상기 예측 모드 식별자를 식별하도록 코드워드를 디코딩하는 것을 포함하는,
    컴퓨터-판독가능 매체.
  66. 제 65 항에 있어서,
    상기 디바이스로 하여금 상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 모드를 디코딩하는데 사용하기 위한 복수의 코딩 컨텍스트(context)들 중 하나를 선택하도록 하는 명령들을 더 포함하고,
    디코딩은 상기 선택된 코딩 컨텍스트에 따라 디코딩하는 것을 포함하는,
    컴퓨터-판독가능 매체.
  67. 제 66 항에 있어서,
    상기 명령들은 상기 디바이스로 하여금,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택하고,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 다-방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택하고, 그리고
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 단방향 또는 모두 다-방향이 아닌 경우 제 3 코딩 컨텍스트를 선택하도록 하는,
    컴퓨터-판독가능 매체.
  68. 제 65 항에 있어서,
    상기 디바이스로 하여금,
    상기 식별된 예측 모드에 기초하여 상기 비디오 블록의 레지듀얼(residual) 변환 계수들에 적용할 역 변환을 선택하고, 그리고
    레지듀얼 데이터를 생성하기 위해서 상기 비디오 블록의 레지듀얼 변환 계수들에 상기 선택된 역 변환을 적용시키도록 하는 명령들을 더 포함하는,
    컴퓨터-판독가능 매체.
  69. 제 68 항에 있어서,
    상기 명령들은 상기 디바이스로 하여금,
    상기 식별된 예측 모드가 제한된 방향성(directionality)을 나타내는 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 역 이산 코사인 변환(DCT) 및 역 정수 변환 중 하나를 선택하고, 그리고
    상기 식별된 예측 모드가 방향성을 나타내는 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 역 방향 변환을 선택하도록 하는,
    컴퓨터-판독가능 매체.
  70. 제 69 항에 있어서,
    상기 명령들은 상기 디바이스로 하여금, 상기 식별된 예측 모드가 DC 단방향 예측 모드, 또는 실질적으로 직교하는 방향들을 가리키는 적어도 2개의 예측 모드들을 결합하는 다-방향 예측 모드인 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 상기 역 DCT 및 역 정수 변환 중 하나를 선택하도록 하는,
    컴퓨터-판독가능 매체.
  71. 제 69 항에 있어서,
    상기 디바이스로 하여금 방향성을 나타내는 상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하도록 하는 명령들을 더 포함하고,
    상기 역 방향 변환을 선택하는 것은 상기 식별된 예측 모드에 대응하는 복수의 역 방향 변환들 중 하나를 선택하는 것을 포함하는,
    컴퓨터-판독가능 매체.
  72. 제 68 항에 있어서,
    상기 디바이스로 하여금 상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하도록 하는 명령들을 더 포함하고,
    상기 복수의 역 방향 변환들 각각은 사이즈 N×N의 컬럼(column) 변환 행렬 및 사이즈 N×N의 로우(row) 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원(dimension)인,
    컴퓨터-판독가능 매체.
  73. 제 68 항에 있어서,
    상기 디바이스로 하여금 상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하도록 하는 명령들을 더 포함하고,
    상기 복수의 역 방향 변환들 각각은 사이즈 N2×N2의 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원인,
    컴퓨터-판독가능 매체.
  74. 제 65 항에 있어서,
    상기 복수의 예측 모드들은 단방향 예측 모드들 및 가능한 양방향 예측 모드들의 서브세트를 포함하고,
    상기 양방향 예측 모드들의 서브세트는 2개의 상이한 단방향 예측 모드들을 포함하는 적어도 하나의 결합을 포함하는,
    컴퓨터-판독가능 매체.
  75. 비디오 데이터를 디코딩하기 위한 디바이스로서,
    코딩 유닛의 비디오 블록의 인코딩된 비디오 데이터를 수신하기 위한 수단; 및
    상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 복수의 예측 모드들 중 하나를 식별하도록 상기 인코딩된 비디오 데이터를 디코딩하기 위한 수단 ? 상기 예측 모드들은 단방향(unidirectional) 예측 모드들 및 적어도 2개의 단방향 예측 모드들을 결합하는 다-방향(multi-directional) 예측 모드들을 포함함 ? 을 포함하고,
    상기 예측 모드를 표현하는 제 1 인코딩된 비트에 기초하여, 상기 예측 모드가 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들 중 하나인 경우,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 동일한 경우, 상기 디코딩하기 위한 수단은 상기 하나 이상의 사전 디코딩된 비디오 블록들 중 임의의 블록의 예측 모드를 선택하고, 그리고
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 동일하지 않은 경우, 상기 디코딩하기 위한 수단은 상기 예측 모드를 표현하는 적어도 하나의 추가 인코딩된 비트에 기초하여 상기 하나 이상의 사전 디코딩된 비디오 블록들 중 어느 블록이 상기 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 예측 모드와 동일한 예측 모드를 가지는지를 식별하고, 그리고
    상기 디코딩하기 위한 수단은 상기 식별된 사전 디코딩된 비디오 블록의 예측 모드를 선택하고; 그리고
    상기 예측 모드를 표현하는 제 1 인코딩된 비트에 기초하여, 상기 예측 모드가 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들 중 어떤 모드도 아닌 경우,
    상기 디코딩하기 위한 수단은 적어도 상기 복수의 예측 모드들로부터 상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들을 제거하고;
    상기 디코딩하기 위한 수단은 상기 코딩 유닛의 사전 인코딩된 비디오 블록들 중 둘 이상이 동일한 예측 모드를 가지는 경우, 상기 하나 이상의 사전 인코딩된 비디오 블록들의 예측 모드가 아닌 적어도 하나의 추가 예측 모드를 제거하고;
    상기 디코딩하기 위한 수단은 상기 복수의 예측 모드들의 나머지 예측 모드들 사이에 예측 모드 식별자들을 임시로 재배열하고; 그리고
    상기 디코딩하기 위한 수단은 현재 비디오 블록의 예측 블록을 생성하는데 사용하기 위한 상기 예측 모드에 대응하는 상기 예측 모드 식별자를 식별하도록 코드워드를 디코딩하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  76. 제 75 항에 있어서,
    상기 디코딩 수단은 상기 코딩 유닛의 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들에 기초하여 상기 비디오 블록의 예측 모드를 디코딩하는데 사용하기 위한 복수의 코딩 컨텍스트(context)들 중 하나를 선택하고,
    디코딩은 상기 선택된 코딩 컨텍스트에 따라 디코딩하는 것을 포함하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  77. 제 76 항에 있어서,
    상기 디코딩 수단은,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 단방향 예측 모드들인 경우 제 1 코딩 컨텍스트를 선택하고,
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 다-방향 예측 모드들인 경우 제 2 코딩 컨텍스트를 선택하고, 그리고
    상기 하나 이상의 사전 디코딩된 비디오 블록들의 예측 모드들이 모두 단방향 또는 모두 다-방향이 아닌 경우 제 3 코딩 컨텍스트를 선택하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  78. 제 75 항에 있어서,
    레지듀얼 변환 계수들을 변환하기 위한 수단을 더 포함하고,
    상기 변환 수단은,
    상기 식별된 예측 모드에 기초하여 상기 비디오 블록의 레지듀얼(residual) 변환 계수들에 적용할 역 변환을 선택하고,
    레지듀얼 데이터를 생성하기 위해서 상기 비디오 블록의 레지듀얼 변환 계수들에 상기 선택된 역 변환을 적용시키는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  79. 제 78 항에 있어서,
    상기 변환 수단은,
    상기 식별된 예측 모드가 제한된 방향성(directionality)을 나타내는 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 역 이산 코사인 변환(DCT) 및 역 정수 변환 중 하나를 선택하고, 그리고
    상기 식별된 예측 모드가 방향성을 나타내는 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 역 방향 변환을 선택하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  80. 제 79 항에 있어서,
    상기 변환 수단은 상기 식별된 예측 모드가 DC 단방향 예측 모드, 또는 실질적으로 직교하는 방향들을 가리키는 적어도 2개의 예측 모드들을 결합하는 다-방향 예측 모드인 경우, 상기 비디오 블록의 레지듀얼 변환 계수들에 적용할 상기 역 DCT 및 역 정수 변환 중 하나를 선택하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  81. 제 79 항에 있어서,
    방향성을 나타내는 상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하기 위한 수단을 더 포함하고,
    상기 변환 수단은 상기 식별된 예측 모드에 대응하는 복수의 역 방향 변환들 중 하나를 선택하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  82. 제 78 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하기 위한 수단을 더 포함하고,
    상기 복수의 역 방향 변환들 각각은 사이즈 N×N의 컬럼(column) 변환 행렬 및 사이즈 N×N의 로우(row) 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원(dimension)인,
    비디오 데이터를 디코딩하기 위한 디바이스.
  83. 제 78 항에 있어서,
    상기 예측 모드들 중 하나와 각각 대응하는 복수의 역 방향 변환들을 저장하기 위한 수단을 더 포함하고,
    상기 복수의 역 방향 변환들 각각은 사이즈 N2×N2의 변환 행렬을 포함하고,
    N×N은 상기 비디오 블록의 차원인,
    비디오 데이터를 디코딩하기 위한 디바이스.
  84. 제 75 항에 있어서,
    상기 복수의 예측 모드들은 단방향 예측 모드들 및 가능한 양방향 예측 모드들의 서브세트를 포함하고,
    상기 양방향 예측 모드들의 서브세트는 2개의 상이한 단방향 예측 모드들을 포함하는 적어도 하나의 결합을 포함하는,
    비디오 데이터를 디코딩하기 위한 디바이스.
  85. 삭제
  86. 삭제
  87. 삭제
  88. 삭제
  89. 삭제
  90. 삭제
  91. 삭제
  92. 삭제
  93. 삭제
  94. 삭제
  95. 삭제
  96. 삭제
  97. 삭제
  98. 삭제
  99. 삭제
  100. 삭제
  101. 삭제
  102. 삭제
  103. 삭제
  104. 삭제
KR1020107000963A 2007-06-15 2008-06-12 비디오 블록 예측 모드의 적응형 코딩 KR101107867B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US94447007P 2007-06-15 2007-06-15
US60/944,470 2007-06-15
US97976207P 2007-10-12 2007-10-12
US60/979,762 2007-10-12
US12/133,227 2008-06-04
US12/133,227 US8428133B2 (en) 2007-06-15 2008-06-04 Adaptive coding of video block prediction mode
PCT/US2008/066797 WO2008157269A2 (en) 2007-06-15 2008-06-12 Adaptive coding of video block prediction mode

Publications (2)

Publication Number Publication Date
KR20100029246A KR20100029246A (ko) 2010-03-16
KR101107867B1 true KR101107867B1 (ko) 2012-02-09

Family

ID=40132292

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020107000963A KR101107867B1 (ko) 2007-06-15 2008-06-12 비디오 블록 예측 모드의 적응형 코딩
KR1020107000966A KR101091479B1 (ko) 2007-06-15 2008-06-13 인트라 예측 모드에 따른 레지듀얼 블록들의 적응형 변환
KR1020107000968A KR101161065B1 (ko) 2007-06-15 2008-06-13 비디오 코딩을 위한 적응형 계수 스캐닝

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020107000966A KR101091479B1 (ko) 2007-06-15 2008-06-13 인트라 예측 모드에 따른 레지듀얼 블록들의 적응형 변환
KR1020107000968A KR101161065B1 (ko) 2007-06-15 2008-06-13 비디오 코딩을 위한 적응형 계수 스캐닝

Country Status (14)

Country Link
US (5) US8488668B2 (ko)
EP (3) EP2165543B1 (ko)
JP (4) JP5254324B2 (ko)
KR (3) KR101107867B1 (ko)
CN (3) CN101682770B (ko)
BR (3) BRPI0813351B1 (ko)
CA (3) CA2687260C (ko)
DK (1) DK2165543T3 (ko)
ES (1) ES2530796T3 (ko)
PL (1) PL2165543T3 (ko)
PT (1) PT2165543E (ko)
RU (4) RU2447612C2 (ko)
TW (3) TW200915880A (ko)
WO (3) WO2008157269A2 (ko)

Families Citing this family (275)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO326065B1 (no) * 2007-01-11 2008-09-08 Tandberg Telecom As Atte pixlers heltallstransform
US8045612B1 (en) 2007-01-19 2011-10-25 Marvell International Ltd. Fast inverse integer transform for video decoding
US8238428B2 (en) * 2007-04-17 2012-08-07 Qualcomm Incorporated Pixel-by-pixel weighting for intra-frame coding
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
CN103338365B (zh) 2007-06-29 2017-04-12 夏普株式会社 图像编码装置、图像编码方法、图像译码装置、图像译码方法
WO2009032255A2 (en) * 2007-09-04 2009-03-12 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
US8331454B2 (en) * 2007-11-12 2012-12-11 Cisco Technology, Inc. Integer transform function for video compression systems
KR20090097013A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
EP2106148A3 (en) * 2008-03-28 2010-11-03 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding information about intra-prediction mode of video
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR100963424B1 (ko) * 2008-07-23 2010-06-15 한국전자통신연구원 스케일러블 영상 복호화기 및 그 제어 방법
US8000546B2 (en) * 2008-08-01 2011-08-16 National Cheng Kung University Adaptive scan method for image/video coding
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US8634456B2 (en) * 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8483285B2 (en) * 2008-10-03 2013-07-09 Qualcomm Incorporated Video coding using transforms bigger than 4×4 and 8×8
EP3668098A1 (en) 2009-01-27 2020-06-17 InterDigital VC Holdings, Inc. Methods and apparatus for transform selection in video encoding and decoding
KR101710619B1 (ko) * 2009-02-04 2017-02-28 삼성전자주식회사 단계적인 영상 부호화, 복호화 방법 및 장치
WO2010090629A1 (en) 2009-02-05 2010-08-12 Thomson Licensing Methods and apparatus for adaptive mode video encoding and decoding
WO2010090484A2 (ko) * 2009-02-09 2010-08-12 삼성전자 주식회사 저복잡도 주파수 변환을 이용한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
EP2396969A4 (en) * 2009-02-13 2012-12-12 Research In Motion Ltd MODIFIED ENTROPIC CODING FOR IMAGES AND VIDEOS
US8634466B2 (en) * 2009-03-17 2014-01-21 Freescale Semiconductor, Inc. Video decoder plus a discrete cosine transform unit
KR101379185B1 (ko) * 2009-04-14 2014-03-31 에스케이 텔레콤주식회사 예측 모드 선택 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9113168B2 (en) 2009-05-12 2015-08-18 Lg Electronics Inc. Method and apparatus of processing a video signal
US8451903B2 (en) * 2009-05-14 2013-05-28 Massachusetts Institute Of Technology Selecting transforms for compressing visual data
US8509309B2 (en) 2009-05-14 2013-08-13 Massachusetts Institute Of Technology Selecting transforms for compressing visual data
CN101895739B (zh) * 2009-05-20 2012-12-19 深圳市融创天下科技股份有限公司 基于块统计特性的编码方法
US8660261B2 (en) * 2009-06-04 2014-02-25 Mediatek Singapore Pte. Ltd. System and apparatus for integrated video/image encoding/decoding and encryption/decryption
US8700410B2 (en) * 2009-06-18 2014-04-15 Texas Instruments Incorporated Method and system for lossless value-location encoding
US8873626B2 (en) * 2009-07-02 2014-10-28 Qualcomm Incorporated Template matching for video coding
CN101945270B (zh) * 2009-07-06 2013-06-19 联发科技(新加坡)私人有限公司 视频编码器、进行内部预测及进行视频数据压缩的方法
WO2011010959A1 (en) * 2009-07-23 2011-01-27 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for encoding and decoding of images
US9357221B2 (en) 2009-07-23 2016-05-31 Thomson Licensing Methods and apparatus for adaptive transform selection for video encoding and decoding
JP5700970B2 (ja) * 2009-07-30 2015-04-15 トムソン ライセンシングThomson Licensing 画像シーケンスを表す符号化データストリームの復号方法と画像シーケンスの符号化方法
KR101474756B1 (ko) 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101712097B1 (ko) * 2009-08-19 2017-03-03 삼성전자 주식회사 유연한 직교 변환에 기초한 영상 부호화, 복호화 방법 및 장치
US9819952B2 (en) * 2009-10-05 2017-11-14 Thomson Licensing Dtv Methods and apparatus for embedded quantization parameter adjustment in video encoding and decoding
US8477845B2 (en) * 2009-10-16 2013-07-02 Futurewei Technologies, Inc. Predictive adaptive scan ordering for video coding
US20110090954A1 (en) * 2009-10-21 2011-04-21 Cohen Robert A Video Codes with Directional Transforms
CN102045560B (zh) * 2009-10-23 2013-08-07 华为技术有限公司 一种视频编解码方法及设备
AU2014268181B2 (en) * 2009-10-28 2016-02-18 Samsung Electronics Co., Ltd. Method and apparatus for encoding residual block, and method and apparatus for decoding residual block
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR20110045949A (ko) 2009-10-28 2011-05-04 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
TWI396448B (zh) * 2009-10-30 2013-05-11 Hon Hai Prec Ind Co Ltd 熵解碼裝置
KR20110065089A (ko) * 2009-12-09 2011-06-15 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20110065092A (ko) * 2009-12-09 2011-06-15 삼성전자주식회사 회전 변환을 이용한 영상 부호화, 복호화 방법 및 장치
KR101441879B1 (ko) * 2009-12-09 2014-09-23 에스케이텔레콤 주식회사 영상 부호화 장치 및 방법, 및 거기에 이용되는 변환 부호화 장치 및 방법, 변환기저 생성장치 및 방법, 및 영상 복호화 장치 및 방법
KR20110068792A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
TWI389577B (zh) * 2009-12-31 2013-03-11 Via Tech Inc 視訊解碼解塊之裝置與方法
CN102118613B (zh) * 2009-12-31 2012-11-21 华为技术有限公司 视频解码和编码方法及装置
JP5696248B2 (ja) * 2010-01-07 2015-04-08 株式会社東芝 動画像符号化装置及び動画像復号化装置
JP5323209B2 (ja) * 2010-01-07 2013-10-23 株式会社東芝 動画像符号化装置及び動画像復号化装置
JP5525650B2 (ja) * 2010-01-07 2014-06-18 株式会社東芝 動画像復号化装置、方法及びプログラム
JP5908619B2 (ja) * 2010-01-07 2016-04-26 株式会社東芝 動画像符号化装置及び動画像復号化装置
JP5432359B2 (ja) * 2010-01-07 2014-03-05 株式会社東芝 動画像符号化装置、方法及びプログラム
JP5597782B2 (ja) * 2010-01-07 2014-10-01 株式会社東芝 動画像符号化装置及び動画像復号化装置
JP5526277B2 (ja) * 2010-01-07 2014-06-18 株式会社東芝 動画像復号化装置、方法及びプログラム
JP5432412B1 (ja) * 2010-01-07 2014-03-05 株式会社東芝 動画像符号化装置及び動画像復号化装置
WO2011083573A1 (ja) 2010-01-07 2011-07-14 株式会社 東芝 動画像符号化装置及び動画像復号化装置
US8885714B2 (en) * 2010-01-14 2014-11-11 Texas Instruments Incorporated Method and system for intracoding in video encoding
EP2533539A2 (en) * 2010-02-02 2012-12-12 Humax Co., Ltd. Image encoding/decoding method for rate-distortion optimization and apparatus for performing same
KR101495724B1 (ko) 2010-02-02 2015-02-25 삼성전자주식회사 계층적 데이터 단위의 스캔 순서에 기반한 비디오 부호화 방법과 그 장치, 및 비디오 복호화 방법과 그 장치
WO2011108240A1 (ja) * 2010-03-01 2011-09-09 パナソニック株式会社 画像符号化方法および画像復号方法
EP2545529A1 (en) * 2010-03-10 2013-01-16 Thomson Licensing Methods and apparatus for constrained transforms for video coding and decoding having transform selection
CN102215388B (zh) * 2010-04-09 2013-11-06 华为技术有限公司 一种简化方向性变换的方法、装置和系统
US20110249743A1 (en) * 2010-04-09 2011-10-13 Jie Zhao Super-block for high performance video coding
JP5914962B2 (ja) * 2010-04-09 2016-05-11 ソニー株式会社 画像処理装置および方法、プログラム、並びに、記録媒体
CN102215391B (zh) * 2010-04-09 2013-08-28 华为技术有限公司 视频数据编码、解码方法及装置、变换处理方法及装置
CN102215390B (zh) * 2010-04-09 2014-07-09 华为技术有限公司 图像编解码处理方法和装置
US8619857B2 (en) 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
US20110249741A1 (en) * 2010-04-09 2011-10-13 Jie Zhao Methods and Systems for Intra Prediction
US8644375B2 (en) 2010-04-09 2014-02-04 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
US8705619B2 (en) * 2010-04-09 2014-04-22 Sony Corporation Directional discrete wavelet transform (DDWT) for video compression applications
WO2011127963A1 (en) * 2010-04-13 2011-10-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Sample region merging
DK2559246T3 (en) 2010-04-13 2016-09-19 Ge Video Compression Llc Fusion of sample areas
PL3621306T3 (pl) 2010-04-13 2022-04-04 Ge Video Compression, Llc Kodowanie wideo przy wykorzystaniu podpodziałów obrazów multidrzewa
CN106454376B (zh) 2010-04-13 2019-10-01 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码方法及数据流
NO2559244T3 (ko) 2010-04-13 2017-12-30
BR122020007923B1 (pt) 2010-04-13 2021-08-03 Ge Video Compression, Llc Predição interplano
KR101791078B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
US8638863B1 (en) 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
KR102004836B1 (ko) 2010-05-26 2019-07-29 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
CN102281435B (zh) * 2010-06-11 2013-10-02 华为技术有限公司 编码方法、解码方法、编码装置、解码装置及编解码系统
US8396305B2 (en) 2010-07-09 2013-03-12 Sony Corporation Image compression utilizing ring-tree entropy coding and directional transforms
US9215470B2 (en) * 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
US8837577B2 (en) * 2010-07-15 2014-09-16 Sharp Laboratories Of America, Inc. Method of parallel video coding based upon prediction type
WO2012008925A1 (en) * 2010-07-15 2012-01-19 Agency For Science, Technology And Research Method, apparatus and computer program product for encoding video data
US8873617B2 (en) * 2010-07-15 2014-10-28 Sharp Laboratories Of America, Inc. Method of parallel video coding based on same sized blocks
JP2012023632A (ja) 2010-07-15 2012-02-02 Sony Corp 符号化装置および符号化方法、並びに、復号装置および復号方法
CN101895757A (zh) * 2010-07-15 2010-11-24 北京大学 预测残差块的重排序、逆重排序方法及系统
BR112013000865B1 (pt) 2010-07-15 2021-08-10 Kabushiki Kaisha Toshiba Métodos de codificação e de decodificação de imagem
US8855188B2 (en) * 2010-07-15 2014-10-07 Sharp Laboratories Of America, Inc. Method of parallel video coding based on mapping
MY186093A (en) 2010-07-15 2021-06-21 Velos Media Int Ltd Image encoding device, and image decoding device
CN101895756B (zh) * 2010-07-15 2012-10-31 北京大学 视频图像块的编码、解码、重构方法及系统
KR20120009618A (ko) * 2010-07-19 2012-02-02 에스케이 텔레콤주식회사 주파수변환단위 분할부호화 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
JP2012028858A (ja) * 2010-07-20 2012-02-09 Sony Corp 画像処理装置及び画像処理方法
WO2012014461A1 (ja) * 2010-07-28 2012-02-02 パナソニック株式会社 符号化方法および復号化方法
KR101373814B1 (ko) * 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
US10136130B2 (en) * 2010-08-17 2018-11-20 M&K Holdings Inc. Apparatus for decoding an image
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
KR101677480B1 (ko) * 2010-09-07 2016-11-21 에스케이 텔레콤주식회사 효과적인 화면내 예측모드 집합 선택을 이용한 영상 부호화/복호화 방법 및 장치
KR20120025111A (ko) * 2010-09-07 2012-03-15 에스케이 텔레콤주식회사 참조 화소들의 특성을 이용하여 예측모드 정보의 전송을 생략할 수 있는 화면 내 예측 부호화/복호화 장치 및 그 방법
US9154801B2 (en) * 2010-09-30 2015-10-06 Texas Instruments Incorporated Method and apparatus for diagonal scan and simplified coding of transform coefficients
CN102447895B (zh) * 2010-09-30 2013-10-02 华为技术有限公司 扫描方法及装置、反扫描方法及装置
US9378185B2 (en) * 2010-09-30 2016-06-28 Texas Instruments Incorporated Transform and quantization architecture for video coding and decoding
US8923395B2 (en) * 2010-10-01 2014-12-30 Qualcomm Incorporated Video coding using intra-prediction
US9313514B2 (en) 2010-10-01 2016-04-12 Sharp Kabushiki Kaisha Methods and systems for entropy coder initialization
US20120082243A1 (en) * 2010-10-05 2012-04-05 General Instrument Corporation Method and Apparatus for Feature Based Video Coding
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
US9641846B2 (en) * 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US9497472B2 (en) * 2010-11-16 2016-11-15 Qualcomm Incorporated Parallel context calculation in video coding
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
US9288496B2 (en) * 2010-12-03 2016-03-15 Qualcomm Incorporated Video coding using function-based scan order for transform coefficients
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
MX337875B (es) * 2010-12-17 2016-03-22 Mitsubishi Electric Corp Dispositivo de codificacion de imagen, dispositivo de decodificacion de imagen, metodo de codificacion de imagen y metodo de decodificacion de imagen.
KR20120070479A (ko) 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
US9049444B2 (en) * 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
US20120163472A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Efficiently coding scanning order information for a video block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US10992958B2 (en) * 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
KR101739580B1 (ko) * 2010-12-30 2017-05-25 에스케이 텔레콤주식회사 적응적 스캔 장치 및 그 스캔 방법
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
CA2822929C (en) * 2011-01-04 2016-07-12 Research In Motion Limited Coding of residual data in predictive compression
WO2012092661A1 (en) * 2011-01-04 2012-07-12 Research In Motion Limited Coding of residual data in predictive compression
CN104811706B (zh) * 2011-01-06 2017-10-27 三星电子株式会社 视频的编码方法和装置及视频的解码方法和装置
KR20130099242A (ko) 2011-01-07 2013-09-05 노키아 코포레이션 비디오 코딩의 움직임 예측
ES2957772T3 (es) * 2011-01-07 2024-01-25 Ntt Docomo Inc Procedimiento de codificación predictiva, dispositivo de codificación predictiva y programa de codificación predictiva de un vector de movimiento, y procedimiento de descodificación predictiva, dispositivo de descodificación predictiva y programa de descodificación predictiva de un vector de movimiento
US9071851B2 (en) * 2011-01-10 2015-06-30 Qualcomm Incorporated Adaptively performing smoothing operations
JP5850214B2 (ja) * 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
AU2015202844B2 (en) * 2011-01-12 2016-03-17 Ntt Docomo, Inc. Image predict coding method, image predict coding device, image predict coding program, image predict decoding method, image predict decoding device, and image predict decoding program
JP5781313B2 (ja) * 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
US8811759B2 (en) * 2011-01-13 2014-08-19 Sony Corporation System and method for effectively performing an intra prediction procedure
US20120183064A1 (en) 2011-01-14 2012-07-19 Sony Corporation Codeword assignment for intra chroma mode signaling for hevc
US9232227B2 (en) * 2011-01-14 2016-01-05 Sony Corporation Codeword space reduction for intra chroma mode signaling for HEVC
CN102595129B (zh) * 2011-01-14 2016-01-13 索尼公司 用于hevc的帧内色度模式信令的码字分配
US8990435B2 (en) 2011-01-17 2015-03-24 Mediatek Inc. Method and apparatus for accessing data of multi-tile encoded picture stored in buffering apparatus
US9497466B2 (en) * 2011-01-17 2016-11-15 Mediatek Inc. Buffering apparatus for buffering multi-partition video/image bitstream and related method thereof
US9380319B2 (en) * 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US8442338B2 (en) * 2011-02-28 2013-05-14 Sony Corporation Visually optimized quantization
FR2972588A1 (fr) 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
CN102685503B (zh) 2011-03-10 2014-06-25 华为技术有限公司 变换系数的编码方法、变换系数的解码方法,和装置
KR20140018873A (ko) * 2011-04-07 2014-02-13 엘지전자 주식회사 영상 정보 부호화 방법 및 복호화 방법
CN102238387B (zh) * 2011-05-25 2017-07-18 深圳市云宙多媒体技术有限公司 一种视频熵编码、熵解码方法、装置
KR101842851B1 (ko) * 2011-06-17 2018-03-27 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 및 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
CN102843560B (zh) * 2011-06-21 2015-01-21 华为技术有限公司 图像变换处理方法、设备和系统
FR2977111A1 (fr) 2011-06-24 2012-12-28 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
WO2013003777A1 (en) * 2011-06-29 2013-01-03 General Instrument Corporation Methods and system for using a scan coding pattern during intra coding
US9445093B2 (en) * 2011-06-29 2016-09-13 Qualcomm Incorporated Multiple zone scanning order for video coding
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US8929455B2 (en) * 2011-07-01 2015-01-06 Mitsubishi Electric Research Laboratories, Inc. Method for selecting transform types from mapping table for prediction modes
US9392301B2 (en) 2011-07-01 2016-07-12 Qualcomm Incorporated Context adaptive entropy coding for non-square blocks in video coding
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
US9756360B2 (en) 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US9699456B2 (en) * 2011-07-20 2017-07-04 Qualcomm Incorporated Buffering prediction data in video coding
CN102447898B (zh) * 2011-08-26 2013-09-25 西安电子科技大学 用fpga实现klt变换的方法
MX343471B (es) * 2011-08-29 2016-11-07 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
GB2494468B (en) 2011-09-12 2014-01-15 Canon Kk Method and device for encoding or decoding information representing prediction modes
CN103797792B (zh) 2011-09-15 2018-06-05 Vid拓展公司 用于空间预测的系统和方法
RU2595587C2 (ru) 2011-10-17 2016-08-27 Кт Корпорейшен Способ адаптивного преобразования, основанный на внутрикадровом предсказании, и устройство, использующее такой способ
CN107071415B (zh) * 2011-10-17 2020-07-07 株式会社东芝 编码设备、解码设备、编码方法和解码方法
KR101718953B1 (ko) 2011-10-17 2017-03-22 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
RU2715382C2 (ru) 2011-10-18 2020-02-27 Кт Корпорейшен Способ декодирования видеосигнала
CN104378639B (zh) 2011-10-19 2018-05-04 株式会社Kt 解码视频信号的方法
AU2015201780B2 (en) * 2011-10-31 2016-07-28 Samsung Electronics Co., Ltd. Method and apparatus for determining a context model for transform coefficient level entropy encoding and decoding
SI3145197T1 (sl) 2011-10-31 2018-09-28 Samsung Electronics Co., Ltd, Postopek določanja kontekstnega modela za entropijsko dekodiranje na stopnji transformnega koeficienta
EP2740270A4 (en) 2011-10-31 2015-04-29 Mediatek Inc APPARATUS AND METHOD FOR BUILDING REFERENCED CONTEXT TABLES TO PERFORM AN ENTROPTIC DECODING OF A MULTI-TILE ENCODED IMAGE AND CORRESPONDING ENTROPY DECODER
KR20130049523A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 장치
KR20130049522A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
JP2013102297A (ja) 2011-11-07 2013-05-23 Canon Inc 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
JP5871628B2 (ja) * 2011-11-07 2016-03-01 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
FR2982447A1 (fr) * 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
KR20130050405A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
TWI580264B (zh) * 2011-11-10 2017-04-21 Sony Corp Image processing apparatus and method
US9674528B2 (en) * 2011-11-21 2017-06-06 Panasonic Intellectual Property Management Co., Ltd. Image processing apparatus and image processing method
JPWO2013094199A1 (ja) * 2011-12-21 2015-04-27 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、画像符号化装置、画像復号化方法、画像復号化装置、および画像符号化復号化装置
US8660374B1 (en) 2011-12-23 2014-02-25 Massachusetts Institute Of Technology Selecting transform paths for compressing visual data
CN103220506B (zh) 2012-01-19 2015-11-25 华为技术有限公司 一种编解码方法和设备
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
CN107302368B (zh) 2012-01-20 2020-07-28 Ge视频压缩有限责任公司 从数据流解码具有变换系数级别的多个变换系数的装置
AU2012200345B2 (en) 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
US9451277B2 (en) * 2012-02-08 2016-09-20 Qualcomm Incorporated Restriction of prediction units in B slices to uni-directional inter prediction
US9363510B2 (en) * 2012-03-02 2016-06-07 Qualcomm Incorporated Scan-based sliding window in context derivation for transform coefficient coding
US11039138B1 (en) * 2012-03-08 2021-06-15 Google Llc Adaptive coding of prediction modes using probability distributions
TW201401891A (zh) 2012-03-26 2014-01-01 Jvc Kenwood Corp 影像編碼裝置、影像編碼方法、影像編碼程式、送訊裝置、送訊方法、及送訊程式、以及影像解碼裝置、影像解碼方法、影像解碼程式、收訊裝置、收訊方法、及收訊程式
MY172302A (en) * 2012-04-15 2019-11-21 Samsung Electronics Co Ltd Method and apparatus for determining reference images for inter-prediction
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US20130301713A1 (en) * 2012-05-14 2013-11-14 Qualcomm Incorporated Systems and methods for intra prediction video coding
ES2961654T3 (es) 2012-06-29 2024-03-13 Electronics & Telecommunications Res Inst Método y dispositivo para codificar/decodificar imágenes
JP5885604B2 (ja) * 2012-07-06 2016-03-15 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
US9344742B2 (en) * 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
US9319684B2 (en) 2012-08-21 2016-04-19 Qualcomm Incorporated Alternative transform in scalable video coding
US9538175B2 (en) * 2012-09-26 2017-01-03 Qualcomm Incorporated Context derivation for context-adaptive, multi-level significance coding
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) * 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
EP2946550A1 (en) 2013-04-09 2015-11-25 Siemens Aktiengesellschaft A method for coding a sequence of digital images
JP5535361B2 (ja) * 2013-04-10 2014-07-02 株式会社東芝 画像符号化装置、方法およびプログラム
JP5537695B2 (ja) * 2013-04-10 2014-07-02 株式会社東芝 画像復号化装置、方法およびプログラム
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US9967594B2 (en) * 2013-06-28 2018-05-08 Mozilla Corporation Probability modeling of intra prediction modes
RU2624464C1 (ru) * 2013-07-24 2017-07-04 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Порядки сканирования для кодирования без преобразования
CN103391443A (zh) * 2013-08-05 2013-11-13 深圳市云宙多媒体技术有限公司 一种大尺寸块的亮度变换域帧内预测编解码方法及系统
CN103402094A (zh) * 2013-08-05 2013-11-20 深圳市云宙多媒体技术有限公司 一种变换域色度帧内预测编解码方法及系统
JP2015115614A (ja) * 2013-12-06 2015-06-22 日本電信電話株式会社 変換処理方法、逆変換処理方法、変換処理装置、逆変換処理装置、変換処理プログラム及び逆変換処理プログラム
US10362336B2 (en) 2014-03-25 2019-07-23 Qualcomm Incorporated Palette predictor signaling with run length code for video coding
JP5622954B2 (ja) * 2014-04-17 2014-11-12 株式会社東芝 画像復号化装置、方法およびプログラム
CN103974076B (zh) * 2014-05-19 2018-01-12 华为技术有限公司 图像编解码方法和设备、系统
JP5925855B2 (ja) * 2014-09-17 2016-05-25 株式会社東芝 画像復号化装置、方法およびプログラム、第1のプログラムおよび第2のプログラム、サーバシステムならびにダウンロード制御方法
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
JP5775959B2 (ja) * 2014-11-07 2015-09-09 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
WO2016133356A1 (ko) * 2015-02-17 2016-08-25 엘지전자(주) 적응적 스캔 오더를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
JP6042478B2 (ja) * 2015-04-01 2016-12-14 株式会社東芝 画像復号化装置
WO2016167538A1 (ko) * 2015-04-12 2016-10-20 엘지전자(주) 비디오 신호의 인코딩, 디코딩 방법 및 그 장치
JP6038243B2 (ja) * 2015-07-15 2016-12-07 株式会社Nttドコモ 画像予測復号方法及び画像予測復号装置
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US9699461B2 (en) * 2015-08-14 2017-07-04 Blackberry Limited Scaling in perceptual image and video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US10681379B2 (en) * 2015-09-29 2020-06-09 Qualcomm Incorporated Non-separable secondary transform for video coding with reorganizing
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
CN108605130B (zh) * 2015-11-27 2021-05-11 联发科技股份有限公司 一种用于对与区块相关的符号进行熵编解码的方法和装置
CN111526360A (zh) * 2016-02-06 2020-08-11 华为技术有限公司 图像编解码方法及装置
CA3014271C (en) 2016-02-12 2020-10-20 Huawei Technologies Co., Ltd. Method and apparatus for scan order selection
SG11201806810YA (en) 2016-02-12 2018-09-27 Huawei Tech Co Ltd Method and apparatus for scan order selection
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
WO2017196128A1 (ko) * 2016-05-12 2017-11-16 엘지전자(주) 계수 유도 복원을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2017195917A1 (ko) * 2016-05-12 2017-11-16 엘지전자 주식회사 비디오 코딩 시스템에서 인트라 예측 방법 및 장치
EP3454559A4 (en) 2016-05-13 2019-03-13 Sony Corporation IMAGE PROCESSING DEVICE AND METHOD
CN109479138B (zh) * 2016-07-13 2023-11-03 韩国电子通信研究院 图像编码/解码方法和装置
WO2018026028A1 (ko) * 2016-08-02 2018-02-08 엘지전자(주) 서브 계수 그룹을 이용하여 레지듀얼 신호를 인코딩, 디코딩하는 방법 및 장치
JP6310034B2 (ja) * 2016-10-20 2018-04-11 株式会社東芝 復号装置、復号方法および復号プログラム
JP6310992B2 (ja) * 2016-11-01 2018-04-11 株式会社Nttドコモ 画像予測復号方法及び画像予測復号装置
CN106507111B (zh) * 2016-11-17 2019-11-15 上海兆芯集成电路有限公司 使用残差补偿的视频编码方法以及使用该方法的装置
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
EP3609183B1 (en) * 2017-04-13 2023-05-03 LG Electronics Inc. Image encoding/decoding method and device therefor
CN108933941A (zh) * 2017-05-26 2018-12-04 富士通株式会社 图像编码方法和装置以及图像解码方法和装置
US10356411B2 (en) * 2017-05-30 2019-07-16 Google Llc Adaptation of scan order entropy coding
US10326994B2 (en) * 2017-08-15 2019-06-18 Google Llc Modifying a scan order to limit scan distance
KR102535361B1 (ko) 2017-10-19 2023-05-24 삼성전자주식회사 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법
EP3484148A1 (en) 2017-11-09 2019-05-15 Thomson Licensing Automated scanning order for sub-divided blocks
AU2018371372B2 (en) * 2017-11-24 2022-11-24 Sony Corporation Image processing device and method
US10382758B2 (en) 2017-12-15 2019-08-13 Google Llc Transform block-level scan order selection for video coding
JP6980920B2 (ja) 2017-12-21 2021-12-15 エルジー エレクトロニクス インコーポレイティドLg Electronics Inc. 選択的変換に基づいた映像コーディング方法およびその装置
CN108259897B (zh) * 2018-01-23 2021-08-27 北京易智能科技有限公司 一种基于深度学习的帧内编码优化方法
JP7170738B2 (ja) 2018-02-28 2022-11-14 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. 複合予測および制限付きマージ
JP6486528B2 (ja) * 2018-03-19 2019-03-20 株式会社Nttドコモ 画像予測復号方法及び画像予測復号装置
WO2019190284A1 (ko) * 2018-03-29 2019-10-03 엘지전자 주식회사 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치
CN112166605A (zh) 2018-06-21 2021-01-01 株式会社Kt 用于处理视频信号的方法和设备
EP3815377B1 (en) 2018-07-16 2022-12-28 Huawei Technologies Co., Ltd. Video encoder, video decoder, and corresponding encoding and decoding methods
WO2020046086A1 (ko) * 2018-09-02 2020-03-05 엘지전자 주식회사 영상 신호를 처리하기 위한 방법 및 장치
CN114885163B (zh) * 2018-09-02 2024-04-23 Lg电子株式会社 用于对图像信号编码和解码的方法及计算机可读记录介质
CN109345177B (zh) * 2018-10-20 2022-03-18 广东三胜电器股份有限公司 一种基于云视频信息处理的冷链食品物流可视化方法
WO2020087324A1 (zh) * 2018-10-31 2020-05-07 富士通株式会社 图像编码方法、装置以及电子设备
US11012711B2 (en) 2018-11-29 2021-05-18 Tencent America LLC Adaptive most probable modes for multiple reference line intra prediction
US11102513B2 (en) * 2018-12-06 2021-08-24 Tencent America LLC One-level transform split and adaptive sub-block transform
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
KR20200084300A (ko) 2019-01-02 2020-07-10 디지털인사이트 주식회사 영상 복호화 방법, 영상 부호화 방법, 영상 복호화 장치, 영상 부호화 장치 및 컴퓨터 판독 가능한 기록 매체
JP7282904B2 (ja) 2019-02-19 2023-05-29 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおいてレジデュアル情報を使用する映像デコーディング方法及びその装置
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
EP3975556A4 (en) 2019-06-19 2022-08-03 Lg Electronics Inc. IMAGE DECODING METHOD FOR PERFORMING INTER-PREDICTION WHEN THE CURRENT BLOCK PREDICTION MODE CANNOT FINALLY BE SELECTED AND ASSOCIATED DEVICE
CN110267041B (zh) * 2019-06-28 2021-11-09 Oppo广东移动通信有限公司 图像编码方法、装置、电子设备和计算机可读存储介质
US11800110B2 (en) * 2021-04-20 2023-10-24 Tencent America LLC Adaptive scanning with multiple transform selection
US11838498B2 (en) * 2021-06-28 2023-12-05 Tencent America LLC Harmonized design for intra bi-prediction and multiple reference line selection
CN113873252B (zh) * 2021-09-27 2023-12-19 上海哔哩哔哩科技有限公司 图像处理方法及装置、电子设备和存储介质
CN116600123B (zh) * 2023-07-17 2023-11-07 北京中星微人工智能芯片技术有限公司 视频编码方法及装置、视频解码方法及装置、电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030206594A1 (en) 2002-05-01 2003-11-06 Minhua Zhou Complexity-scalable intra-frame prediction technique

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1000643A5 (fr) 1987-06-05 1989-02-28 Belge Etat Procede de codage de signaux d'image.
JPH01155678A (ja) 1987-12-11 1989-06-19 Matsushita Electric Ind Co Ltd 半導体発光装置
US5136371A (en) 1990-03-15 1992-08-04 Thomson Consumer Electronics, Inc. Digital image coding using random scanning
DE69322713T2 (de) 1992-08-31 1999-05-06 Victor Company Of Japan Vorrichtung zur orthogonalen Transformationskodierung und -dekodierung
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
TW297202B (ko) 1993-10-13 1997-02-01 Rca Thomson Licensing Corp
KR0183688B1 (ko) 1994-01-12 1999-05-01 김광호 영상부호화방법 및 장치
KR0178198B1 (ko) 1995-03-28 1999-05-01 배순훈 영상 신호 부호화 장치
US5721822A (en) 1995-07-21 1998-02-24 Intel Corporation Run-length encoding/decoding video signals using scan patterns explicitly encoded into bitstreams
US5790706A (en) 1996-07-03 1998-08-04 Motorola, Inc. Method and apparatus for scanning of transform coefficients
JP2002232887A (ja) 1996-11-07 2002-08-16 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像復号化方法および画像復号化装置
JP3208101B2 (ja) * 1996-11-07 2001-09-10 松下電器産業株式会社 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
CN1882090A (zh) 1996-11-07 2006-12-20 松下电器产业株式会社 图像编码装置和图像解码装置
JPH10271505A (ja) 1997-03-25 1998-10-09 Oki Electric Ind Co Ltd 信号処理装置、符号化回路および復号回路
US5995055A (en) 1997-06-30 1999-11-30 Raytheon Company Planar antenna radiating structure having quasi-scan, frequency-independent driving-point impedance
CN100459715C (zh) 1997-07-31 2009-02-04 日本胜利株式会社 数字视频信号块间预测编码/解码装置及编码/解码方法
JP2900998B2 (ja) * 1997-07-31 1999-06-02 日本ビクター株式会社 ブロック間内挿予測符号化装置、復号化装置、符号化方法及び復号化方法
US6674910B1 (en) 1998-11-24 2004-01-06 Hyundai Electronics Industries Co., Ltd. Apparatus and method for image-compression encoding and decoding using adaptive transform
MXPA02004015A (es) 1999-10-22 2003-09-25 Activesky Inc Un sistema de video orientado a los objetos.
US6724818B1 (en) 2000-07-17 2004-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Alternative block orders for better prediction
CN1142683C (zh) 2000-10-13 2004-03-17 清华大学 无转置行列分离二维离散余弦正反变换电路及其方法
JP2002135126A (ja) 2000-10-26 2002-05-10 Seiko Epson Corp 半導体装置及びこれを用いた電子機器
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP4447197B2 (ja) * 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
KR100468844B1 (ko) 2002-01-07 2005-01-29 삼성전자주식회사 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법
MXPA04006814A (es) 2002-01-14 2004-12-06 Nokia Corp Filtros dinamicos de codificacion.
JP4510465B2 (ja) 2002-01-22 2010-07-21 ノキア コーポレイション イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化
US6757576B2 (en) 2002-02-05 2004-06-29 Gcc, Inc. System and method for drawing and manufacturing bent pipes
KR100508798B1 (ko) 2002-04-09 2005-08-19 엘지전자 주식회사 쌍방향 예측 블록 예측 방법
EP2860977A1 (en) 2002-05-28 2015-04-15 Sharp Kabushiki Kaisha Method and systems for image intra-prediction mode estimation, communication, and organization
RU2314656C2 (ru) 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
CN101043626B (zh) * 2002-07-15 2010-06-09 株式会社日立制作所 动态图像编码方法
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
US7463782B2 (en) 2002-11-05 2008-12-09 Canon Kabushiki Kaisha Data encoding with an amplitude model and path between the data and corresponding decoding
FI116710B (fi) 2002-12-20 2006-01-31 Oplayo Oy Kuvien koodausmenetelmä ja -järjestely
KR100750110B1 (ko) 2003-04-22 2007-08-17 삼성전자주식회사 4×4인트라 휘도 예측 모드 결정방법 및 장치
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
JP3756897B2 (ja) 2003-07-30 2006-03-15 株式会社東芝 動画像符号化装置及び動画像符号化方法
US7289562B2 (en) 2003-08-01 2007-10-30 Polycom, Inc. Adaptive filter to improve H-264 video quality
US20050036549A1 (en) * 2003-08-12 2005-02-17 Yong He Method and apparatus for selection of scanning mode in dual pass encoding
MXPA06002210A (es) * 2003-08-26 2006-05-19 Thomson Licensing Metodo y aparato para la decodificacion de bloques intra-inter codificados hibridos.
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
JP4127818B2 (ja) 2003-12-24 2008-07-30 株式会社東芝 動画像符号化方法及びその装置
KR20050068207A (ko) * 2003-12-29 2005-07-05 엘지.필립스 엘시디 주식회사 2-블록 레이저 마스크 및 이를 이용한 결정화방법
EP1558039A1 (en) 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
JP4542447B2 (ja) 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
US8731054B2 (en) 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
US8369402B2 (en) 2004-06-17 2013-02-05 Canon Kabushiki Kaisha Apparatus and method for prediction modes selection based on image formation
JP2006005659A (ja) * 2004-06-17 2006-01-05 Canon Inc 画像符号化装置及びその方法
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
US7706443B2 (en) 2005-03-11 2010-04-27 General Instrument Corporation Method, article of manufacture, and apparatus for high quality, fast intra coding usable for creating digital video content
WO2006109141A1 (en) 2005-04-12 2006-10-19 Nokia Corporation Method and system for motion compensated fine granularity scalable video coding with drift control
EP1768415A1 (en) 2005-09-27 2007-03-28 Matsushita Electric Industrial Co., Ltd. Adaptive scan order of DCT coefficients and its signaling
BRPI0611672A2 (pt) 2005-07-22 2009-01-13 Mitsubishi Electric Corp codificador e decodificador de imagem, mÉtodo de codificaÇço de imagem, programa de codificaÇço de imagem, meio de gravaÇço legÍvel por computador, mÉtodo de decodificaÇço de imagem, programa de decodificaÇço de imagem, e, corrente de bits codificada por imagem
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
JP2007053561A (ja) 2005-08-17 2007-03-01 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
EP2733952A1 (en) 2005-10-21 2014-05-21 Electronics and Telecommunications Research Institute Method for encoding moving picture using adaptive scanning
WO2007063472A2 (en) 2005-11-30 2007-06-07 Koninklijke Philips Electronics N.V. Encoding method and apparatus applying coefficient reordering
US7529484B2 (en) 2005-12-14 2009-05-05 Nec Laboratories America, Inc. Triplexer transceiver using parallel signal detection
CN1801940A (zh) 2005-12-15 2006-07-12 清华大学 整型变换电路和整型变换方法
US8000539B2 (en) 2005-12-21 2011-08-16 Ntt Docomo, Inc. Geometrical image representation and compression
US20080008246A1 (en) 2006-07-05 2008-01-10 Debargha Mukherjee Optimizing video coding
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US9078008B2 (en) 2009-04-20 2015-07-07 Dolby Laboratories Licensing Corporation Adaptive inter-layer interpolation filters for multi-layered video delivery
US9641846B2 (en) 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030206594A1 (en) 2002-05-01 2003-11-06 Minhua Zhou Complexity-scalable intra-frame prediction technique

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AASE S.O.,HUSOY J.H., WALDEMAR P.: "A critique of SVD-based image coding systems" IEEE Circuits and Systems, vol.4,30 May 19, pages 13-16.
BING ZENG et al: "Directional Discrete Cosine Transforms for Image Coding" Multimedia and Expo, 2006 International conference, IEEE,PI,1 July 2006, pages 721-724.

Also Published As

Publication number Publication date
US20080310504A1 (en) 2008-12-18
US9578331B2 (en) 2017-02-21
JP2010530188A (ja) 2010-09-02
CN101743751B (zh) 2013-05-01
BRPI0813345A2 (pt) 2015-08-11
JP2010530190A (ja) 2010-09-02
TW200913727A (en) 2009-03-16
CA2687263A1 (en) 2008-12-24
BRPI0813351B1 (pt) 2020-09-15
US8619853B2 (en) 2013-12-31
WO2008157360A3 (en) 2009-03-26
TWI401959B (zh) 2013-07-11
JP5254324B2 (ja) 2013-08-07
WO2008157269A2 (en) 2008-12-24
US8520732B2 (en) 2013-08-27
RU2463729C2 (ru) 2012-10-10
EP2172026A2 (en) 2010-04-07
EP2168381A2 (en) 2010-03-31
KR20100029838A (ko) 2010-03-17
WO2008157431A2 (en) 2008-12-24
DK2165543T3 (en) 2015-02-23
CA2687260A1 (en) 2008-12-24
US20080310512A1 (en) 2008-12-18
JP2013153463A (ja) 2013-08-08
US20080310507A1 (en) 2008-12-18
ES2530796T3 (es) 2015-03-05
CN101803386A (zh) 2010-08-11
PT2165543E (pt) 2015-02-24
CA2687260C (en) 2013-08-27
BRPI0813351A2 (pt) 2015-08-11
EP2165543B1 (en) 2014-12-17
BRPI0813345B1 (pt) 2021-01-12
RU2010101115A (ru) 2011-07-20
JP2010530184A (ja) 2010-09-02
JP5575940B2 (ja) 2014-08-20
RU2010101085A (ru) 2011-07-27
KR101161065B1 (ko) 2012-06-28
RU2434360C2 (ru) 2011-11-20
TW200913723A (en) 2009-03-16
US20140112387A1 (en) 2014-04-24
RU2446615C2 (ru) 2012-03-27
RU2010101116A (ru) 2011-07-20
TW200915880A (en) 2009-04-01
WO2008157360A2 (en) 2008-12-24
US8428133B2 (en) 2013-04-23
CN101682770A (zh) 2010-03-24
PL2165543T3 (pl) 2015-04-30
CN101743751A (zh) 2010-06-16
US20130044812A1 (en) 2013-02-21
US8488668B2 (en) 2013-07-16
KR101091479B1 (ko) 2011-12-07
WO2008157431A8 (en) 2010-03-04
BRPI0813349A2 (pt) 2015-11-03
KR20100029837A (ko) 2010-03-17
CA2687263C (en) 2015-10-20
KR20100029246A (ko) 2010-03-16
EP2165543A2 (en) 2010-03-24
CA2687725A1 (en) 2008-12-24
CN101682770B (zh) 2012-07-04
RU2010101053A (ru) 2011-07-20
RU2447612C2 (ru) 2012-04-10
WO2008157269A3 (en) 2009-03-19
WO2008157431A3 (en) 2009-02-19

Similar Documents

Publication Publication Date Title
KR101107867B1 (ko) 비디오 블록 예측 모드의 적응형 코딩
US8483285B2 (en) Video coding using transforms bigger than 4×4 and 8×8
KR101247923B1 (ko) 4×4 및 8×8 보다 큰 변환을 이용한 비디오 코딩
US20110317757A1 (en) Intra prediction mode signaling for finer spatial prediction directions

Legal Events

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

Payment date: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180110

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 9