KR101377883B1 - 비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들 - Google Patents
비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들 Download PDFInfo
- Publication number
- KR101377883B1 KR101377883B1 KR1020127003434A KR20127003434A KR101377883B1 KR 101377883 B1 KR101377883 B1 KR 101377883B1 KR 1020127003434 A KR1020127003434 A KR 1020127003434A KR 20127003434 A KR20127003434 A KR 20127003434A KR 101377883 B1 KR101377883 B1 KR 101377883B1
- Authority
- KR
- South Korea
- Prior art keywords
- weighted prediction
- prediction
- explicit
- default
- weights
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 개시물의 일 양태에서, 디폴트 가중된 예측, 암시적 가중된 예측, 및 명시적 가중된 예측 중에서 선택하는 기법들이 설명된다. 이러한 컨텍스트에서, 예를 들어, 다르게는 암시적 또는 디폴트 가중된 예측에 의해 결정되는 예측 데이터에 대한 오프셋들을 허용하기 위해 명시적 가중된 예측의 포맷을 사용하여 예측 데이터에 오프셋을 가산하는 기법들이 또한 설명된다.
Description
아래의 공동 계류중이고 일반적으로 양도된 출원은 참조로 여기에 명백하게 통합된다 : Marta Karczewicz, Peisong Chen 및 Yan Ye 에 의해 본 출원과 동일자로 출원되고 대리인 사건 번호 082069U1 에 관한 "Non-Zero Rounding And Prediction Mode Selection Techniques in Video Encoding".
본 개시물은 비디오 인코딩에 관한 것으로, 더욱 구체적으로는, 양방향 예측을 사용하는 비디오 인코딩 기법들에 관한 것이다.
디지털 멀티미디어 능력들이 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 통신 디바이스들, 무선 브로드캐스트 시스템들, 개인 휴대 보조 단말기들 (PDA), 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 기록 디바이스들, 비디오 게임 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 무선 전화들, 디지털 미디어 플레이어들 등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 멀티미디어 디바이스들은 디지털 비디오 데이터를 더욱 효율적으로 송신 및 수신하거나 저장 및 검색하기 위해 MPEG-2, ITU-H.263, MPEG-4, 또는 ITU-H.264/MPEG-4 Part 10, 어드밴스드 비디오 코딩 (AVC) 과 같은 비디오 코딩 기법들을 구현할 수도 있다. 비디오 인코딩 기법들은 공간 및 시간 예측을 통해 비디오 압축을 수행하여 비디오 시퀀스들에서 고유한 리던던시를 감소시키거나 제거할 수도 있다.
비디오 인코딩에서, 압축은 종종 공간 예측, 모션 추정 및 모션 보상을 포함한다. 인트라-코딩은 소정의 비디오 프레임내의 비디오 블록들 사이에서 공간 리던던시를 감소시키거나 제거하기 위해 이산 코사인 변환 (DCT) 과 같은 공간 예측 및 변환 코딩에 의존한다. 인터-코딩은 비디오 시퀀스의 연속 비디오 프레임들의 비디오 블록들 사이에서 시간 리던던시를 감소시키거나 제거하기 위해 시간 예측 및 변환 코딩에 의존한다. 인트라-코딩된 프레임들 ("I-프레임들") 은 종종 다른 프레임들의 인터-코딩을 위한 레퍼런스들 뿐만 아니라 랜덤 액세스 포인트들로서 사용된다. 그러나, I-프레임들은 통상적으로 다른 프레임들 보다 작은 압축을 나타낸다. 용어 I-유닛들은 I-프레임들, I-슬라이스들 또는 I-프레임의 다른 독립적으로 디코딩가능한 부분들을 칭할 수도 있다.
인터-코딩을 위해, 비디오 인코더는 2개 이상의 인접한 프레임들 또는 프레임들의 슬라이스들과 같은 다른 코딩된 유닛들 사이에서 비디오 블록들을 매칭하는 이동을 트랙킹하기 위해 모션 추정을 수행한다. 인터-코딩된 프레임들은 이전의 프레임으로부터 예측된 블록들을 포함할 수도 있는 예측 프레임들 ("P-프레임들"), 및 비디오 시퀀스의 이전의 프레임 및 후속 프레임으로부터 예측된 블록들을 포함할 수도 있는 양방향 예측 프레임들 ("B-프레임들") 을 포함할 수도 있다. 용어들 P-프레임들 및 B-프레임들은, 이전의 코딩 기법들이 특정한 방향들에서의 예측을 제한한다는 관점에서 다소 이력적 (historic) 이다. 더 새로운 코딩 포맷들 및 표준들은 P-프레임들 또는 B-프레임들의 예측 방향을 제한하지 않을 수도 있다. 따라서, 용어 "양방향성" 은 이제, 코딩된 데이터에 대한 레퍼런스 데이터의 시간적 관계에 관계없이 레퍼런스 데이터의 2개 이상의 리스트들에 기초하는 예측을 칭한다.
ITU H.264 와 같은 더 새로운 비디오 표준들에 따라, 예를 들어, 양방향 예측은 현재의 비디오 블록 이전 및 이후에 일시적으로 상주하는 데이터를 반드시 가질 필요가 없는 2개의 상이한 리스트들에 기초할 수도 있다. 다시 말해, B-비디오 블록들은 2개의 이전의 프레임들로부터의 데이터의 2개의 리스트, 후속 프레임들로부터의 데이터의 2개의 리스트들, 또는 이전의 프레임으로부터의 데이터의 하나의 리스트 및 후속 프레임으로부터의 하나로부터 예측될 수도 있다. 반대로, P-비디오 블록들은 하나의 예측 프레임, 예를 들어, 하나의 이전의 프레임 또는 하나의 후속 프레임에 대응할 수도 있는 하나의 리스트, 즉, 하나의 데이터 구조에 기초하여 예측된다. B-프레임들 및 P-프레임들은 P-유닛들 및 B-유닛들로서 더욱 일반적으로 칭한다. P-유닛들 및 B-유닛들은 또한, 프레임들의 슬라이스들 또는 프레임들의 부분들과 같은 더 작은 코딩된 유닛들로 실현될 수도 있다. B-유닛들은 B-비디오 블록들, P-비디오 블록들 또는 I-비디오 블록들을 포함할 수도 있다. P-유닛들은 P-비디오 블록들 또는 I-비디오 블록들을 포함할 수도 있다. I-유닛들은 I-비디오 블록들만을 포함할 수도 있다.
P-비디오 블록 및 B-비디오 블록에 대해, 모션 추정은 예측 레퍼런스 프레임(들) 또는 다른 코딩된 유닛들에서 대응하는 예측 비디오 블록들에 대한 비디오 블록의 변위를 나타내는 모션 벡터들을 생성한다. 모션 보상은 예측 프레임(들) 또는 다른 코딩된 유닛들로부터 예측 비디오 블록들을 생성하기 위해 모션 벡터들을 사용한다. 모션 보상 이후에, 코딩될 원래의 비디오 블록으로부터 예측 비디오 블록을 감산함으로써 잔류 비디오 블록이 형성된다. 비디오 인코더는 일반적으로, 잔류 블록의 통신과 관련된 비트 레이트를 더 감소시키기 위해 변환, 양자화 및 엔트로피 코딩 프로세스들을 적용한다. I-유닛 및 P-유닛은 P-유닛 및 B-유닛에 대한 레퍼런스 블록을 정의하기 위해 일반적으로 사용된다.
본 개시물은 양방향 예측에 적용가능한 비디오 인코딩 및 디코딩 기법들을 설명한다. 양방향 예측에서, 비디오 블록은 예측 레퍼런스 데이터의 2개의 상이한 리스트들에 기초하여 예측적으로 인코딩되고 디코딩될 수도 있다. 본 개시물의 일 양태에서, 디폴트 가중된 (default weighted) 예측, 암시적 가중된 (implicit weighted) 예측, 및 명시적 가중된 (explicit weighted) 예측 중에서 선택하는 기법들이 설명된다. 이러한 컨텍스트에서, 다르게는 암시적 또는 디폴트 가중된 예측에 의해 정의되는 예측 데이터에 대한 오프셋들을 허용하기 위해 예를 들어, 명시적 가중된 예측의 형태를 사용하여 오프셋을 예측 데이터에 가산하는 기법들이 또한 설명된다.
일 예에서, 본 개시물은 비디오 데이터를 인코딩하는 방법을 설명하고, 이 방법은, 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하는 단계, 디폴트 가중된 예측의 선택시에, 계산된 가중치들에 기초하는 명시적 가중된 예측과 디폴트 가중된 예측에 의해 정의된 가중치들에 기초하는 명시적 가중된 예측 사이에서 선택하는 단계, 암시적 가중된 예측의 선택시에, 계산된 가중치들에 기초하는 명시적 가중된 예측과 암시적 가중된 예측에 의해 정의된 가중치들에 기초하는 명시적 가중된 예측 사이에서 선택하는 단계, 및 선택들에 의해 정의된 가중된 예측 데이터를 사용하여 비디오 데이터를 인코딩하는 단계를 포함한다.
다른 예에서, 본 개시물은 비디오 데이터를 인코딩하는 비디오 인코더 장치를 설명하고, 이 비디오 인코더 장치는, 비디오 데이터를 저장하는 메모리, 및 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하고, 디폴트 가중된 예측의 선택시에, 계산된 가중치들에 기초하는 명시적 가중된 예측과 디폴트 가중된 예측에 의해 정의된 가중치들에 기초하는 명시적 가중된 예측 사이에서 선택하고, 계산된 가중치들에 기초한 명시적 가중된 예측과 암시적 가중된 예측에 의해 정의된 가중치들에 기초한 명시적 가중된 예측 사이에서 선택하는 모션 보상 유닛을 포함하고, 비디오 인코더 장치는 선택들에 의해 정의된 가중된 예측을 사용하여 비디오 데이터를 인코딩한다.
다른 예에서, 본 개시물은 비디오 데이터를 인코딩하는 디바이스를 설명하고, 이 디바이스는 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하는 수단, 디폴트 가중된 예측의 선택시에, 계산된 가중치들에 기초하는 명시적 가중된 예측과 디폴트 가중된 예측에 의해 정의된 가중치들에 기초하는 명시적 가중된 예측 사이에서 선택하는 수단, 암시적 가중된 예측의 선택시에, 계산된 가중치들에 기초하는 명시적 가중된 예측과 암시적 가중된 예측에 의해 정의된 가중치들에 기초하는 명시적 가중된 예측 사이에서 선택하는 수단, 및 선택들에 의해 정의된 가중된 예측 데이터를 사용하여 비디오 데이터를 인코딩하는 수단을 포함한다.
본 개시물에 설명된 기법들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 소프트웨어에서 구현되면, 소프트웨어는 마이크로프로세서, 응용 주문형 집적 회로 (ASIC), 필드 프로그램가능한 게이트 어레이 (FPGA), 또는 디지털 신호 프로세서 (DSP) 와 같은 하나 이상의 프로세서들에서 실행될 수도 있다. 기법들을 실행하는 소프트웨어는 초기에는 컴퓨터 판독가능한 매체에 저장될 수도 있고 프로세서에서 로딩되고 실행될 수도 있다.
따라서, 본 개시물은 또한, 실행될 때, 프로세서로 하여금, 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하게 하고, 디폴트 가중된 예측의 선택시에, 계산된 가중치들에 기초하는 명시적 가중된 예측과 디폴트 가중된 예측에 의해 정의된 가중치들에 기초하는 명시적 가중된 예측 사이에서 선택하게 하고, 암시적 가중된 예측의 선택시에, 계산된 가중치들에 기초하는 명시적 가중된 예측과 암시적 가중된 예측에 의해 정의된 가중치들에 기초하는 명시적 가중된 예측 사이에서 선택하게 하며, 선택들에 의해 정의된 가중된 예측 데이터를 사용하여 비디오 데이터를 인코딩하게 하는 명령들을 포함하는 컴퓨터 판독가능한 저장 매체를 고려한다.
본 발명의 하나 이상의 실시형태들의 상세가 아래의 첨부한 도면들 및 설명에 설명된다. 본 개시물에 기재된 기법들의 다른 특징들, 목적들, 및 이점들은 설명 및 도면들, 및 청구범위로부터 명백해질 것이다.
도 1 은 본 개시물의 기법들을 구현할 수도 있는 하나의 예시적인 비디오 인코딩 및 디코딩 시스템을 예시하는 블록도이다.
도 2 는 본 개시물에 다른 오프셋 기법들을 수행할 수도 있는 비디오 인코더의 예를 예시하는 블록도이다.
도 3 은 모션 보상 유닛의 예를 더욱 상세히 예시하는 블록도이다.
도 4 는 본 개시물에 따른 오프셋 기법들을 수행할 수도 있는 비디오 디코더의 예이다.
도 5 는 본 개시물에 따른 비디오 인코더에 의해 수행된 예시적인 프로세스를 예시하는 플로우차트이다.
도 6 은 본 개시물에 따른 비디오 디코더에 의해 수행된 예시적인 프로세스를 예시하는 플로우차트이다.
도 7 은 본 개시물에 따른 비디오 인코더에 의해 수행된 다른 예시적인 프로세스를 예시하는 플로우차트이다.
도 2 는 본 개시물에 다른 오프셋 기법들을 수행할 수도 있는 비디오 인코더의 예를 예시하는 블록도이다.
도 3 은 모션 보상 유닛의 예를 더욱 상세히 예시하는 블록도이다.
도 4 는 본 개시물에 따른 오프셋 기법들을 수행할 수도 있는 비디오 디코더의 예이다.
도 5 는 본 개시물에 따른 비디오 인코더에 의해 수행된 예시적인 프로세스를 예시하는 플로우차트이다.
도 6 은 본 개시물에 따른 비디오 디코더에 의해 수행된 예시적인 프로세스를 예시하는 플로우차트이다.
도 7 은 본 개시물에 따른 비디오 인코더에 의해 수행된 다른 예시적인 프로세스를 예시하는 플로우차트이다.
본 개시물은 양방향 예측에 적용가능한 비디오 인코딩 및 디코딩 기법들을 설명한다. 양방향 예측에서, 비디오 블록은 예측 레퍼런스 데이터의 2개의 상이한 리스트에 기초하여 예측적으로 인코딩되고 디코딩된다. 본 개시물의 일 양태에서, 양방향 예측 데이터에 대한 라운딩 조정 (rounding adjustment) 들이 임의의 라운딩 바이어스가 결여된 예측 데이터를 제공하기 위해 고의로 제거될 수도 있다. 이러한 경우에서, 라운딩되고 라운딩되지 않은 예측 데이터 양자는, 소정의 비디오 블록의 예측을 위한 최상의 데이터를 식별하기 위해 레이트-왜곡 (rate-distortion) 분석에서 고려될 수도 있다. 하나 이상의 신택스 엘리먼트들이 선택을 나타내기 위해 인코딩될 수도 있고, 디코더는 라운딩이 디코딩 프로세스에서 사용되어야 하는지를 결정하기 위해 하나 이상의 신택스 엘리먼트를 해석할 수도 있다.
본 개시물의 다른 양태에서, 디폴트 가중된 예측, 암시적 가중된 예측, 및 명시적 가중된 예측 중에서 선택하는 인코딩 기법들이 설명된다. 이러한 컨텍스트에서, 예를 들어, 다르게는 암시적 또는 디폴트 가중된 예측에 의해 결정되는 예측 데이터에 대한 오프셋들을 허용하기 위해 명시적 가중된 예측의 포맷을 사용하여 예측 데이터에 오프셋을 추가하는 기법들이 또한 설명된다.
가중된 예측은, 가중치들이 예측 데이터의 2개 이상의 상이한 세트들에 할당될 수 있는 양방향 예측을 칭한다. 디폴트 가중된 예측은, 2개 이상의 상이한 리스트들과 관련된 가중 팩터들이 몇몇 디폴트 세팅에 의해 사전 정의되는 가중된 예측을 칭한다. 몇몇 경우들에서, 디폴트 가중된 예측은 동일한 가중치들을 리스트들 각각에 할당할 수 있다. 암시적 가중된 예측은, 2개 이상의 상이한 리스트들과 관련된 가중 팩터들이 데이터와 관련된 몇몇 암시적 팩터들에 기초하여 정의되는 가중된 예측을 칭한다. 예를 들어, 암시적 가중 팩터들은 예측적으로 코딩되는 데이터에 대한 2개의 상이한 리스트들에서 데이터의 시간 위치에 의해 정의될 수도 있다. 리스트 0 에서의 데이터가 리스트 1 에서의 데이터 보다 예측적으로 코딩된 데이터에 시간적으로 근접하면, 리스트 0 에서의 데이터에는 암시적 가중된 예측에서 더 큰 암시적 가중 팩터가 할당될 수도 있다.
명시적 가중된 예측은, 가중 팩터들이 코딩 프로세스의 일부로서 동적으로 정의되고, 비트스트림으로 인코딩되는 가중된 예측을 칭한다. 명시적 가중된 예측은, 예를 들어, 명시적 가중된 예측이 비트스트림의 일부로서 인코딩되는 가중 팩터들을 발생시키는 반면에, 디폴트 및 암시적 가중된 예측이 비트스트림에 있는 가중 팩터들없이 디코더에 의해 사전 정의되거나 결정되는 가중 팩터들을 정의한다는 점에서 디폴트 가중된 예측 및 암시적 가중된 예측과 상이하다.
본 개시물의 일 양태에 따르면, 가중된 예측은 가중된 예측 데이터에 대한 라운딩 조정을 제거함으로써 종래의 가중된 예측에 대해 변경될 수도 있다. 이러한 경우에서, 인코더는 라운딩되고 라운딩되지 않은 가중된 예측 데이터를 분석하고 고려할 수도 있으며, 레이트 왜곡 분석에 기초하여 라운딩되거나 라운딩되지 않은 가중된 예측 데이터를 사용할 수도 있다. 라운딩되거나 라운딩되지 않은 가중된 예측 데이터가 사용되었는지 식별하기 위해 하나 이상의 신택스 엘리먼트들이 정의될 수도 있고 비트스트림으로 인코딩될 수도 있다. 디코더는 라운딩되거나 라운딩되지 않은 가중된 예측 데이터가 디코딩하는데 사용되어야 하는지 결정하기 위해 하나 이상의 신택스 엘리먼트들을 해석할 수도 있다.
본 개시물의 다른 양태에 따르면, 디폴트 가중된 예측, 암시적 가중된 예측, 및 명시적 가중된 예측 중에서 선택하는 인코딩 기법들이 설명된다. 서로에 대한 이들 가능성 각각을 고려하기 보다는, 인코더는 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하도록 프로그램될 수도 있다. 그 후, 선택은 명시적 가중된 예측에 비교될 수도 있다. 명시적 가중된 예측은 명시적 가중 팩터들을 계산하기 위해 수행될 수도 있지만, 계산된 명시적 가중된 예측은 디폴트 가중된 예측 또는 암시적 가중된 예측에 의해 정의된 바에 대응하는 가중 팩터들을 갖는 명시적 가중된 예측에 또한 비교될 수도 있다.
명시적 가중된 예측은, 명시적 가중된 예측이 예측 데이터에 오프셋이 추가되게 한다는 점에서 디폴트 가중된 예측 및 암시적 가중된 예측에 비해 이점을 가질 수도 있다. 오프셋은 예측 데이터를 바이어스 또는 조정할 수도 있고, 비디오 프레임들 사이의 플래시들, 다크닝 스카이 (darkening sky), 장면 변화들, 또는 다른 타입의 조명 변화들을 설명하는데 매우 유용할 수도 있다. 예를 들어, 오프셋은 예를 들어, 값들을 상향으로 또는 하향으로 바이어스하기 위해 비디오 블록의 모든 값들에 대한 공통 조정을 제공할 수도 있다. 본 개시물에 따르면, 디폴트 가중된 예측 또는 암시적 가중된 예측에 의해 정의된 가중 팩터들은 명시적 가중된 예측의 컨텍스트에서 고려될 수도 있어서, 디폴트 또는 암시적 가중된 예측과 관련된 가중 팩터들을 유지하면서 오프셋의 추가를 용이하게 한다. 이러한 방식으로, 예측 데이터는 향상될 수도 있고, 이것은 몇몇 경우들에서 데이터 압축을 향상시키는 것을 도울 수도 있다.
도 1 은 본 개시물의 기법들을 구현할 수도 있는 하나의 예시적인 비디오 인코딩 및 디코딩 시스템 (10) 을 예시하는 블록도이다. 도 1 에 도시되어 있는 바와 같이, 시스템 (10) 은 인코딩된 비디오를 통신 채널 (15) 을 통해 수신지 디바이스 (16) 로 송신하는 소스 디바이스 (12) 를 포함한다. 소스 디바이스 (12) 및 수신지 디바이스 (16) 는 임의의 광범위한 디바이스들을 포함할 수도 있다. 일부 경우들에서, 소스 디바이스 (12) 및 수신지 디바이스 (16) 는 무선 핸드셋과 같은 무선 통신 디바이스들, 소위 셀룰러 또는 위성 무선전화들, 또는 무선일 수도 있거나 무선이 아닐 수도 있는 통신 채널 (15) 을 통해 비디오 정보를 통신할 수 있는 임의의 디바이스들을 포함한다. 그러나, 넌-제로 라운딩 및 예측 모드 선택 기법들에 관한 본 개시물의 기법들은 무선 애플리케이션들 또는 세팅들로 반드시 제한되지 않는다.
도 1 의 예에서, 소스 디바이스 (12) 는 비디오 소스 (20), 비디오 인코더 (22), 변조기/복조기 (모뎀) (23) 및 송신기 (24) 를 포함한다. 수신지 디바이스 (16) 는 수신기 (26), 모뎀 (27), 비디오 디코더 (28), 및 디스플레이 디바이스 (30) 를 포함한다. 본 개시물에 따르면, 소스 디바이스 (12)의 비디오 인코더 (22) 는 비디오 인코딩 프로세스의 일부로서 넌-제로 라운딩 및 예측 모드 선택 기법들을 적용하도록 구성될 수도 있다. 비디오 디코더 (28) 는 선택을 나타내고 넌-제로 라운딩이 사용되었는지 나타내는 하나 이상의 신택스 엘리먼트들을 수신할 수도 있다. 따라서, 비디오 디코더 (28) 는 수신된 비트스트림에서 시그널링된 적절한 가중 예측을 수행할 수도 있다.
도 1 의 예시된 시스템 (10) 은 단지 예시이다. 본 개시물의 넌-제로 라운딩 및 예측 모드 선택 기법들은 양방향 모션 보상된 예측을 지원하는 임의의 코딩 디바이스에 의해 수행될 수도 있다. 소스 디바이스 (12) 및 수신지 디바이스 (16) 는 단지, 소스 디바이스 (12) 가 수신지 디바이스 (16) 로의 송신을 위해 코딩된 비디오 데이터를 생성하는 이러한 코딩 디바이스들의 예들이다. 일부 경우들에서, 디바이스들 (12, 16) 은 실질적으로 대칭 방식으로 동작할 수도 있어서, 디바이스들 (12, 16) 각각은 비디오 인코딩 및 디코딩 컴포넌트들을 포함한다. 따라서, 시스템 (10) 은 예를 들어, 비디오 스트리밍, 비디오 재생, 비디오 브로드캐스팅, 또는 화상 통화를 위해 비디오 디바이스들 (12, 16) 사이에서 1-방향 또는 2-방향 비디오 송신을 지원할 수도 있다.
소스 디바이스 (12) 의 비디오 소스 (20) 는 비디오 카메라와 같은 비디오 캡처 디바이스, 이전에 캡처된 비디오를 포함하는 비디오 아카이브 (archive), 또는 비디오 콘텐츠 제공자로부터의 비디오 피드를 포함할 수도 있다. 다른 대안으로서, 비디오 소스 (20) 는 소스 비디오로서 컴퓨터 그래픽 기반 데이터, 또는 라이브 비디오, 아카이브된 비디오, 및 컴퓨터 생성된 비디오의 조합을 생성할 수도 있다. 일부 경우들에서, 비디오 소스 (20) 가 비디오 카메라이면, 소스 디바이스 (12) 및 수신지 디바이스 (16) 는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수도 있다. 각 경우에서, 캡처되고, 사전 캡처되거나 컴퓨터 생성된 비디오는 비디오 인코더 (22) 에 의해 인코딩될 수도 있다. 그 후, 인코딩된 비디오 정보는 예를 들어, 코드 분할 다중 액세스 (CDMA) 와 같은 통신 표준 또는 다른 통신 표준에 따라 모뎀 (23) 에 의해 변조될 수도 있고, 송신기 (24) 를 통해 수신지 디바이스 (16) 로 송신될 수도 있다. 모뎀 (23) 은 신호 변조를 위해 설계된 다양한 믹서들, 필터들, 증폭기들 또는 다른 컴포넌트들을 포함할 수도 있다. 송신기 (24) 는 증폭기들, 필터들, 및 하나 이상의 안테나들을 포함하는 데이터의 송신을 위해 설계된 회로들을 포함할 수도 있다.
수신지 디바이스 (16) 의 수신기 (26) 는 채널 (15) 을 통해 정보를 수신하고, 모뎀 (27) 은 그 정보를 복조한다. 다시, 비디오 인코딩 프로세스는 여기에 설명된 기법들 중 하나 이상을 구현하여 본 개시물에 따른 넌-제로 라운딩 및 예측 모드 선택을 제공할 수도 있다. 채널 (15) 을 통해 통신된 정보는 본 개시물에 따라 비디오 디코더 (28) 에 의해 사용될 수도 있는 비디오 인코더 (22) 에 의해 정의된 정보를 포함할 수도 있다. 디스플레이 디바이스 (30) 는 디코딩된 비디오 데이터를 사용자에게 디스플레이하고, 음극선관, 액정 디스플레이 (LCD), 플라즈마 디스플레이, 유기 발광 다이오드 (OLED) 디스플레이, 또는 다른 타입의 디스플레이 디바이스와 같은 임의의 다양한 디스플레이 디바이스들을 포함할 수도 있다.
도 1 의 예에서, 통신 채널 (15) 은 무선 주파수 (RF) 스펙트럼 또는 하나 이상의 물리적 송신 라인들과 같은 임의의 무선 또는 유선 통신 매체, 또는 무선 및 유선 매체들의 임의의 조합을 포함할 수도 있다. 따라서, 모뎀 (23) 및 송신기 (24) 는 다수의 가능한 무선 프로토콜들, 유선 프로토콜들 또는 유선 및 무선 프로토콜들을 지원할 수도 있다. 통신 채널 (15) 은 하나 이상의 네트워크들의 상호접속을 포함하는 인터넷과 같은 로컬 영역 네트워크 (LAN), 광영역 네트워크 (WAN), 또는 글로벌 네트워크와 같은 패킷 기반 네트워크의 일부를 형성할 수도 있다. 통신 채널 (15) 은 일반적으로, 소스 디바이스 (12) 로부터 수신지 디바이스 (16) 로 비디오 데이터를 송신하는 임의의 적합한 통신 매체, 또는 상이한 통신 매체들의 집합을 나타낸다. 통신 채널 (15) 은 소스 디바이스 (12) 로부터 수신지 디바이스 (16) 로의 통신을 용이하게 하는데 유용할 수도 있는 라우터들, 스위치들, 기지국들 또는 임의의 다른 장비를 포함할 수도 있다.
비디오 인코더 (22) 및 비디오 디코더 (28) 는 ITU-T H.264 표준과 같은, 다르게는 MPEG-4, Part 10, Advanced Video Coding (AVC) 에 설명된 비디오 압축 표준에 따라 동작할 수도 있다. 그러나, 본 개시물의 기법들은 임의의 특정한 코딩 표준에 제한되지 않는다. 도 1 에는 도시하지 않았지만, 일부 양태들에서, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 오디오 인코더 및 디코더와 각각 통합될 수도 있고, 공통 데이터 스트림 또는 개별 데이터 스트림에서 오디오 및 비디오 양자의 인코딩을 처리하기 위해 적절한 MUX-DEMUX 유닛들, 또는 다른 하드웨어 및 소프트웨어를 포함할 수도 있다. 적용가능하면, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜, 또는 사용자 데이터그램 프로토콜 (UDP) 과 같은 다른 프로토콜들을 따를 수도 있다.
ITU-T H.264/MPEG-4 (AVC) 표준은 Joint Video Team (JVT) 으로 알려진 집단 파트너쉽의 제품으로서 ISO/IEC 동화상 전문가 그룹 (MPEG) 과 함께 ITU-T 비디오 코딩 전문가 그룹 (VCEG) 에 의해 공식화되었다. 일부 양태들에서, 본 개시물에 설명된 기법들은 H.264 표준에 일반적으로 따르는 디바이스들에 적용될 수도 있다. H.264 표준은 H.264 표준 또는 H.264 사양, 또는 H.264/AVC 표준 또는 사양으로서 여기에서 칭할 수도 있는 2005년 3월에 ITU-T 연구 그룹에 의한 일반 시청각 서비스들을 위한 ITU-T Recommendation H.264, Advanced Video Coding 에 설명되어 있다. Joint Video Tema (JVT) 은 H.264/MPEG-4 AVC 에 대한 확장에 계속 노력하고 있다.
H.264/MPEG-4 AVC 표준을 향상시키기 위한 작업이 KTA (Key Technologies Area) 포럼과 같은 ITU-T 의 다양한 포럼들에서 발생한다. KTA 포럼은 H.264/AVC 표준에 의해 나타나는 것 보다 높은 코딩 효율을 나타내는 코딩 기술들을 부분적으로 추구한다. 본 개시물에 설명된 기법들은 H.264/AVC 표준에 대한 코딩 개선을 제공할 수도 있다. 최근에, KTA 포럼은, 그 전체가 참조로 여기에 포함되는 2008년 7월 16-18일 열린, 독일 베를린에서의 35차 회의에서 제출되고 Yan Ye, Peisong Chen, 및 Marta Karczewicz 에 의한 "High Precision Interpolation and Prediction" 이란 명칭의 제출 번호 VCEG-AI33 으로서, 여기에 설명된 기법들과 관련이 있거나 그 기법들에 관하여 고려될 수도 있는 기법들을 상세하는 문헌을 수용하였다.
비디오 인코더 (22) 및 비디오 디코더 (28) 는 각각, 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서 (DSP), 응용 주문형 집적 회로 (ASIC), 필드 프로그램가능한 게이트 어레이 (FPGA), 개별 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들로서 구현될 수도 있다. 비디오 인코더 (22) 및 비디오 디코더 (28) 각각은, 어느 하나가 각각의 모바일 디바이스, 가입자 디바이스, 브로드캐스트 디바이스, 서버 등에서 결합된 인코더/디코더 (CODEC) 의 일부로서 통합될 수도 있는 하나 이상의 인코더들 또는 디코더들에 포함될 수도 있다.
비디오 시퀀스는 통상적으로 일련의 비디오 프레임들을 포함한다. 비디오 인코더 (22) 및 비디오 디코더 (28) 는 비디오 데이터를 인코딩 및 디코딩하기 위해 개별 비디오 프레임내의 비디오 블록들에 대해 동작할 수도 있다. 비디오 블록들은 고정되거나 변하는 사이즈들을 가질 수도 있고, 특정된 코딩 표준에 따라 사이즈가 상이할 수도 있다. 각 비디오 프레임은 일련의 슬라이스들 또는 다른 독립적으로 디코딩가능한 유닛들을 포함할 수도 있다. 각 슬라이스는 서브 블록들로 배열될 수도 있는 일련의 매크로블록들을 포함할 수도 있다. 일 예로서, ITU-T H.264 표준은 루마 컴포넌트들에 대한 16×16, 8×8, 또는 4×4, 크로마 컴포넌트들에 대한 8×8 과 같은 다양한 블록 사이즈들에서의 인트라 예측 뿐만 아니라 루마 컴포넌트들에 대한 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 및 4×4 및 크로마 컴포넌트들에 대한 대응하는 스케일링된 사이즈들과 같은 다양한 블록 사이즈들에서의 인터 예측을 지원한다. 비디오 블록들은 예를 들어, 이산 코사인 변환 또는 개념적으로 유사한 변환 프로세스에 후속하여 픽셀 데이터의 블록들, 또는 변환 계수들의 블록들을 포함할 수도 있다.
더 작은 비디오 블록들이 더 양호한 해상도를 제공할 수도 있고, 디테일의 하이 레벨들을 포함하는 비디오 프레임의 위치들에 대해 사용될 수도 있다. 일반적으로, 매크로블록들 및 다양한 서브 블록들이 비디오 블록들인 것으로 고려될 수도 있다. 또한, 슬라이스가 매크로블록들 및/또는 서브 블록들과 같은 일련의 비디오 블록들인 것으로 고려될 수도 있다. 각 슬라이스는 비디오 프레임의 독립적으로 디코딩가능한 유닛일 수도 있다. 다르게는, 프레임들 자체는 디코딩가능한 유닛들일 수도 있거나, 프레임의 다른 부분들이 디코딩가능한 유닛들로서 정의될 수도 있다. 용어 "코딩된 유닛" 은 사용된 코딩 기법들에 따라 정의된 전체 프레임, 프레임의 슬라이스, 화상들의 그룹 (GOP), 또는 다른 독립적으로 디코딩가능한 유닛과 같은 비디오 프레임의 임의의 독립적으로 디코딩가능한 유닛을 칭한다.
(코딩된 유닛을 예측하는 예측 알고리즘 또는 모드를 효율적으로 선택하기 위해 본 개시물의 기법들 및 보간을 포함하는) 인터 기반 예측 인코딩에 후속하고, (H.264/AVC 또는 이산 코사인 변환 또는 DCT 에서 사용된 4×4 또는 8×8 정수 변환과 같은) 임의의 변환들에 후속하여, 양자화가 수행될 수도 있다. 양자화는 일반적으로, 계수들을 나타내기 위해 사용된 데이터량을 아마도 감소시키기 위해 계수들이 양자화되는 프로세스를 칭한다. 양자화 프로세스는 계수들 중 일부 또는 전부와 관련된 비트 깊이를 감소시킬 수도 있다. 예를 들어, 16 비트 값이 양자화 동안 15 비트 값으로 라운드 다운 (round down) 될 수도 있다. 양자화에 후속하여, 예를 들어, 콘텐츠 적응형 가변 길이 코딩 (CAVLC), 컨텍스트 적응형 2진 산술 코딩 (CABAC), 또는 다른 엔트로피 코딩 방법에 따라 엔트로피 인코딩이 수행될 수도 있다.
본 개시물의 기법들은 구체적으로는, 가중된 양방향 예측에 적용가능하다. 상기 언급한 바와 같이, 양방향 예측은 데이터의 2개의 상이한 리스트들에 기초하는 소위 "B-비디오 블록"의 예측이다. B-비디오 블록들은 2개의 이전의 프레임들로부터의 데이터의 2개의 리스트들, 후속 프레임들로부터의 데이터의 2개의 리스트들, 또는 이전의 프레임으로부터의 데이터의 하나의 리스트와 후속 프레임으로부터의 하나의 리스트로부터 예측될 수도 있다. 반대로, P-비디오 블록들은 하나의 예측 프레임, 예를 들어, 하나의 이전의 프레임 또는 하나의 후속 프레임에 대응할 수도 있는 하나의 리스트에 기초하여 예측된다. B-프레임들 및 P-프레임들은 P-유닛들 및 B-유닛들로서 더욱 일반적으로 칭할 수도 있다. P-유닛들 및 B-유닛들은 또한, 프레임들의 슬라이스들 또는 프레임들의 부분들과 같은 더 작은 코딩된 유닛들로 실현될 수도 있다. B-유닛들은 B-비디오 블록들, P-비디오 블록들 또는 I-비디오 블록들을 포함할 수도 있다. P-유닛들은 P-비디오 블록들 또는 I-비디오 블록들을 포함할 수도 있다. I-유닛들은 I-비디오 블록들만을 포함할 수도 있다.
가중된 양방향 예측은 가중 팩터들이 2개의 상이한 리스트들에 할당되게 하는 양방향 예측을 칭한다. 각 리스트는 예측 프레임 또는 다른 코딩된 유닛과 관련된 데이터의 세트를 포함할 수도 있다. 가중된 양방향 예측에서, 하나의 리스트는 예측 데이터를 생성하는데 있어서 더욱 무겁게 가중될 수도 있다. 리스트들 중 하나가 예를 들어, 코딩된 비디오 블록에 더욱 유사하면, 그 리스트는 다른 리스트 보다 더욱 무겁게 가중될 수도 있다.
ITU-T H.264에 따른 가중된 양방향 예측의 상이한 타입들에 대해, 비디오 인코더 (22) 및 비디오 디코더 (28) 는 일반적으로 3개의 상이한 타입의 예측 모드들을 지원할 수도 있다. "디폴트 가중된 예측" 으로서 칭하는 제 1 예측 모드는, 2개 이상의 상이한 리스트들과 관련된 가중 팩터들이 일부 디폴트 세팅들에 의해 사전 정의되는 가중된 예측을 칭한다. 일부 경우들에서, 디폴트 가중된 예측은 동일한 가중을 리스트들 각각에 할당할 수도 있다.
"암시적 가중된 예측" 으로서 칭하는 제 2 예측 모드는, 2개 이상의 상이한 리스트들과 관련된 가중 팩터들이 데이터와 관련된 일부 암시적 팩터들에 기초하여 정의되는 가중된 예측을 칭한다. 예를 들어, 암시적 가중 팩터들은 예측적으로 코딩되는 데이터에 대한 2개의 상이한 리스트들에서 데이터의 상대적 시간 위치들에 의해 정의될 수도 있다. 디폴트 가중된 예측 및 암시적 가중된 예측 양자에서, 가중 팩터들은 비트스트림에 포함되지 않는다. 대신에, 비디오 디코더 (28) 는 (디폴트에 대한) 가중 팩터를 인지하도록 프로그램될 수도 있거나, (암시적에 대한) 가중 팩터들을 어떻게 유도할지 인지하도록 프로그램될 수도 있다.
"명시적 가중된 예측" 으로서 칭하는 제 3 예측 모드는, 가중 팩터들이 코딩 프로세스의 일부로서 동적으로 정의되고 비트스트림으로 인코딩되는 가중된 예측을 칭한다. 명시적 가중된 예측은 예를 들어, 명시적 가중된 예측이 비트스트림의 일부로서 인코딩되는 가중 팩터들을 발생시킨다는 점에서 디폴트 가중된 예측 및 암시적 가중된 예측과는 상이하다.
본 개시물의 일 양태에 따르면, 가중된 예측은 가중된 예측 데이터에 대한 라운딩 조정을 제거함으로써 종래의 가중된 예측에 대해 변경될 수도 있다. 이러한 경우에서, 인코더 (22) 는 라운딩되고 라운딩되지 않은 가중된 예측 데이터를 분석하고 고려할 수도 있고, 레이트 왜곡 분석에 기초하여 라운딩되거나 라운딩되지 않은 가중된 예측 데이터를 사용할 수도 있다. 라운딩되거나 라운딩되지 않은 가중된 예측 데이터가 사용되었는지를 식별하기 위해 하나 이상의 신택스 엘리먼트들이 정의될 수도 있고 비트스트림으로 인코딩될 수도 있다. 디코더 (28) 는 신택스 엘리먼트(들)를 디코딩하고 해석할 수도 있으며, 신택스 엘리먼트(들)에 기초하여, 디코더 (28) 는 디코딩 프로세스에서 라운딩되거나 라운딩되지 않은 가중된 예측 데이터를 사용할 수도 있다. 라운딩 조정의 제거는 디폴트 가중된 예측, 암시적 가중된 예측 및 명시적 가중된 예측에 적용가능하다.
본 개시물의 다른 양태에 따르면, 비디오 인코더 (22) 는 디폴트 가중된 예측, 암시적 가중된 예측 및 명시적 가중된 예측 중에서 선택할 수도 있다. 이러한 양태에서, 서로에 대한 이들 가능성들 각각을 고려하기 보다는, 인코더 (22) 는 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하도록 프로그램될 수도 있다. 그 후, 선택은 명시적 가중된 예측에 비교될 수도 있다. 구체적으로는, 인코더 (22) 는 명시적 가중 팩터들을 계산하기 위해 명시적 가중된 예측을 수행할 수도 있지만, 인코더 (22) 는 계산된 명시적 가중된 예측을, 디폴트 가중된 예측 또는 암시적 가중된 예측에 의해 정의된 바에 대응하는 가중 팩터들을 갖는 명시적 가중된 예측에 또한 비교할 수도 있다.
명시적 가중된 예측은, 명시적 가중된 예측이 오프셋이 인코딩되게 한다는 점에서 디폴트 가중된 예측 및 암시적 가중된 예측에 비해 이점을 가질 수도 있다. 오프셋은 예측 데이터를 조정할 수도 있고, 비디오 프레임들 사이의 플래시들, 다크닝 스카이, 장면 변화들, 또는 다른 타입의 조명 변화들을 설명하는데 매우 유용할 수도 있다. 본 개시물에 따르면, 디폴트 가중된 예측 또는 암시적 가중된 예측에 의해 정의된 가중 팩터들은 명시적 가중된 예측의 컨텍스트에서 비디오 인코더 (22) 에 의해 고려될 수도 있어서, 디폴트 또는 암시적 가중된 예측과 관련된 가중 팩터들을 유지하면서 오프셋의 추가를 용이하게 한다. 이러한 방식으로, 예측 데이터가 일부 경우들에서 개선될 수도 있고, 이것은 데이터 압축의 개선을 도울 수도 있다.
비디오 인코딩의 컨텍스트에서, 비디오 인코더 (22) 는 인코딩된 루마 비디오 블록에 대한 루마 픽셀 값들을 먼저 평균함으로써 DC 오프셋을 계산할 수 있다. 비디오 인코더 (22) 는 다음으로, 비디오 블록을 인코딩하기 위해 사용된 예측 비디오 블록에 대한 루마 픽셀 값들을 평균할 수도 있다. 이들 계산된 값들 각각은 DC 값을 포함할 수도 있다. 비디오 인코더 (22) 는 서로로부터 DC 값들을 감산함으로써, 예를 들어, 코딩된 현재의 블록의 평균 루마 값을 현재의 블록을 인코딩하기 위해 사용된 예측 블록의 평균 루마 값으로부터 감산함으로써 DC 오프셋을 계산할 수도 있다. DC 오프셋들은 또한, 원하는 경우에 크로마 컴포넌트들에 대해 정의될 수도 있다. DC 오프셋들은 또한 소정의 코딩된 유닛 (예를 들어, 프레임 또는 슬라이스) 에 대해 누적될 수도 있고, 소정의 코딩된 유닛의 모든 블록들에 대한 오프셋들의 평균으로서 코딩된 유닛에 대해 정의될 수도 있다.
도 2 는 본 개시물에 따른 기법들을 수행할 수도 있는 비디오 인코더 (50) 의 예를 예시하는 블록도이다. 비디오 인코더 (50) 는 소스 디바이스 (12) 의 비디오 인코더 (22), 또는 상이한 디바이스의 비디오 인코더에 대응할 수도 있다. 비디오 인코더 (50) 는, 인트라 코딩 컴포넌트들이 예시의 용이함을 위해 도 2에는 도시되지 않았지만, 비디오 프레임들내의 블록들의 인트라 및 인터 코딩을 수행할 수도 있다. 인트라 코딩은 소정의 비디오 프레임내의 비디오에서 공간 리던던시를 감소시키거나 제거하기 위해 공간 예측에 의존한다. 인터 코딩은 비디오 시퀀스의 인접 프레임들내의 비디오에서 시간 리던던시를 감소시키거나 제거하기 위해 시간 예측에 의존한다. 인트라 모드 (I-모드) 는 공간 기반 압축 모드를 칭할 수도 있고, 예측 (P-모드) 또는 양방향 (B-모드) 와 같은 인터 모드들은 시간 기반 압축 모드들을 칭할 수도 있다.
도 2 에 도시되어 있는 바와 같이, 비디오 인코더 (50) 는 인코딩될 비디오 프레임 또는 슬라이스내의 현재의 비디오 블록을 수신한다. 도 2 의 예에서, 비디오 인코더 (50) 는 모션 추정 유닛 (32), 모션 보상 유닛 (35), 메모리 (34), 가산기 (48), 변환 유닛 (38), 양자화 유닛 (40), 및 엔트로피 코딩 유닛 (46) 을 포함한다. 비디오 블록 재구성을 위해, 비디오 인코더 (50) 는 또한, 역양자화 유닛 (42), 역변환 유닛 (44), 및 가산기 (51) 를 포함한다. 비디오 인코더 (50) 는 또한, 블록 경계들을 필터링하여 재구성된 비디오로부터 블록왜곡도 (blockiness) 장애물을 제거하기 위한 디블록킹 필터 (deblocking filter) (미도시) 를 포함할 수도 있다. 원하는 경우에, 디블록킹 필터는 통상적으로 가산기 (51) 의 출력을 필터링한다.
인코딩 프로세스 동안, 비디오 인코더 (50) 는 코딩될 비디오 블록을 수신하고, 모션 추정 유닛 (32) 및 모션 보상 유닛 (35) 은 인터 예측 코딩을 수행한다. 모션 추정 유닛 (32) 및 모션 보상 유닛 (35) 은 고도로 집적될 수도 있지만, 개념적 목적을 위해 개별적으로 예시된다. 모션 추정은 통상적으로, 비디오 블록들에 대한 모션을 추정하는 모션 벡터들을 생성하는 프로세스로 고려된다. 예를 들어, 모션 벡터는 현재의 프레임내의 코딩된 현재의 블록 (또는 다른 코딩된 유닛) 에 대한 예측 프레임내의 예측 블록 (또는 다른 코딩된 유닛) 의 변위를 나타낼 수도 있다. 모션 보상은 통상적으로, 모션 추정에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페치 (fetch) 하거나 생성하는 프로세스로 고려된다. 다시, 모션 추정 유닛 (32) 및 모션 보상 유닛 (35) 은 기능적으로 통합될 수도 있다. 설명적 목적을 위해, 본 개시물에 개시된 기법들은 모션 보상 유닛 (35) 에 의해 수행되는 것으로서 설명된다.
모션 추정 유닛 (32) 은 하나 이상의 예측 코딩된 유닛 (예를 들어, 시간에 관하여 또는 일시적으로 이전 및/또는 장래 프레임) 의 비디오 블록들에 대해 비디오 블록을 비교함으로써 코딩될 비디오 블록에 대한 적절한 모션 벡터를 선택한다. 일 예로서, 모션 추정 유닛 (32) 은 B-프레임에 대한 모션 벡터를 다수의 방식으로 선택할 수도 있다. 일 방식에서, 모션 추정 유닛 (32) 은 (리스트 0 으로 칭하는) 프레임들의 제 1 세트로부터 이전 또는 장래의 프레임을 선택할 수도 있고, 리스트 0 으로부터의 이러한 이전 또는 장래의 프레임만을 사용하여 모션 벡터를 결정할 수도 있다. 다르게는, 모션 추정 유닛 (32) 은 (리스트 1 로서 칭하는) 프레임들의 제 2 세트로부터 이전 또는 장래의 프레임을 선택할 수도 있고, 리스트 1 로부터의 이러한 이전 또는 장래의 프레임만을 사용하여 모션 벡터를 결정할 수도 있다. 또 다른 방식으로, 모션 추정 유닛 (32) 은 리스트 0 으로부터 제 1 프레임 및 리스트 1 로부터 제 2 프레임을 선택할 수도 있고, 리스트 0 의 제 1 프레임 및 리스트 1 의 제 2 프레임으로부터 하나 이상의 모션 벡터들을 선택할 수도 있다. 이러한 제 3 형태의 예측을 양방향 예측 모션 추정으로서 칭할 수도 있다. 본 개시물의 기법들은 모션 보상된 양방향 예측 모드를 효율적으로 선택하도록 구현될 수도 있다. 임의의 소정의 리스트에 대한 선택된 모션 벡터는 예를 들어, 코딩되는 블록의 픽셀 값들에 대한 예측 블록의 픽셀 값들의 절대 차이의 합 (SAD) 또는 제곱된 차이의 합 (SSD) 과 같은 메트릭에 의해 정의될 때, 코딩되는 비디오 블록과 가장 유사한 예측 비디오 블록을 나타낼 수도 있다.
ITU-T H.264/AVC 표준에 따르면, 3개의 모션 보상된 양방향 예측 알고리즘들 또는 모드들은 B 프레임의 비디오 블록들, 매크로블록들 또는 임의의 다른 개별 및/또는 연속 부분과 같은 B 프레임 또는 B 프레임의 부분을 예측하기 위해 사용될 수도 있다. 디폴트 가중된 예측으로서 일반적으로 칭하는 제 1 모션 보상된 양방향 예측 알고리즘 또는 모드는 리스트 0 의 제 1 프레임 및 리스트 1 의 제 2 프레임의 각 식별된 비디오 블록에 디폴트 가중치들을 적용하는 것을 수반할 수도 있다. 디폴트 가중치들은 표준에 따라 프로그램될 수도 있고, 디폴트 가중된 예측에 동일하도록 종종 선택된다. 그 후, 제 1 및 제 2 프레임들의 가중된 블록들은 함께 가산되고 B 프레임을 예측하기 위해 사용된 프레임들의 총 수, 예를 들어, 이 경우에서는 2로 분할된다. 종종, 이러한 분할은 제 1 및 제 2 프레임들의 가중된 블록들의 가산에 1 을 가산하고, 그 후, 그 결과를 1 비트 만큼 우측으로 시프트함으로써 수행된다. 1 의 가산은 라운딩 조정이다.
본 개시물의 일 양태에 따르면, 1 만큼 우측 시프트 이전에 1 의 가산 (라운딩 조정) 이 회피될 수도 있어서, 상향 바이어스된 라운딩을 제거한다. 모션 보상 유닛 (35) 은 라운딩을 갖는 가중된 블록 및 라운딩없이 가중된 블록 양자를 생성할 수도 있고, 최상의 코딩 효율을 달성하는 블록을 선택할 수도 있다.
더욱 일반적으로는, 가중된 예측은,
에 의해 제공될 수도 있고,
여기서, pred(i,j)는 가중된 예측 블록과 관련된 데이터이고, pred0(i,j)는 리스트 0으로부터의 데이터이고, pred1(i,j)는 리스트 1로부터의 데이터이고, w0 및 w1 은 가중 팩터들이고, 2r 은 라운딩 항이며, >> 은 (r+1) 비트들 만큼의 우측 시프트 연산이다. 본 개시물에 따르면, pred(i,j) 의 2개의 상이한 버전이 모션 보상 유닛 (35) 에 의해 생성될 수도 있고 고려될 수도 있다. 제 1 버전은 상기 방정식에 따르고, 제 2 방정식은 라운딩이 없는, 즉, 항 "2r" 이 방정식으로부터 제거된 상기 방정식에 따른다. 이러한 라운딩의 제거는 일부 경우들에서 더 양호한 가중된 예측 데이터를 달성할 수도 있고, 이것은 코딩 효율을 개선할 수도 있다. 모션 보상 유닛 (35) 은 소정의 비디오 블록 또는 비디오 블록들의 세트에 대해 라운딩이 사용되었는지 여부를 정의하기 위해 하나 이상의 신택스 엘리먼트들을 생성할 수도 있다. 라운딩이 사용되었다는 것을 나타내는 양방향 예측 모드 및 하나 이상의 신택스 엘리먼트 양자가 인코딩된 비트스트림에 포함을 위해 모션 보상 유닛 (35) 으로부터 엔트로피 코딩 유닛 (46) 으로 출력될 수도 있다.
B 화상은 이전에 코딩된 레퍼런스 화상들의 2개의 리스트들 (리스트 0 및 리스트 1) 을 사용한다. 이들 2개의 리스트들은 시간 순서에서 과거 및/또는 장래의 코딩된 화상들을 각각 포함할 수도 있다. B 화상에서의 블록들은 여러 방식들 : 리스트 0 레퍼런스 화상으로부터의 모션 보상된 예측, 리스트 1 레퍼런스 화상으로부터의 모션 보상된 예측, 또는 리스트 0 과 리스트 1 레퍼런스 화상들 양자의 조합으로부터의 모션 보상된 예측 중 하나에서 예측될 수도 있다. 리스트 0 과 리스트 1 레퍼런스 화상들의 조합을 얻기 위해, 2개의 모션 보상된 레퍼런스 영역들이 리스트 0 및 리스트 1 레퍼런스 화상 각각으로부터 획득된다. 이들의 조합은 현재의 블록을 예측하기 위해 사용된다.
본 개시물에서, 용어 "B 화상" 은 B 프레임들, B 슬라이스들, 또는 가능하면 적어도 몇몇의 B 비디오 블록들을 포함하는 다른 비디오 유닛들일 수도 있는 임의의 타입의 B 유닛을 일반적으로 칭하도록 사용된다. 언급한 바와 같이, B 화상들은 3개 타입의 가중된 예측을 허용할 수도 있다. 단순화를 위해, 역방향 예측이 또한 사용될 수 있지만, 단방향 예측에서 순방향 예측만이 아래에 나타낸다.
디폴트 가중된 예측은 단방향 예측 및 양방향 예측 각각에 대해 아래의 방정식들에 의해 정의될 수도 있다.
여기서, pred0(i,j) 및 pred1(i,j) 는 리스트 0 및 리스트 1 로부터의 예측 데이터이다.
암시적 가중된 예측은 단방향 예측 및 양방향 예측 각각에 대해 아래의 방정식들에 의해 정의될 수도 있다.
이러한 경우에서, 각 예측은 가중 팩터 (w0 및 w1) 에 의해 스케일링되고, 여기서, w0 및 w1 은 리스트 0 및 리스트 1 레퍼런스 화상들의 상대적 시간 위치에 기초하여 계산된다.
명시적 가중된 예측은 단방향 예측 및 양방향 예측 각각에 대해 아래의 방정식들에 의해 정의될 수도 있다.
양방향 예측 :
이러한 경우에서, 가중 팩터들은 인코더에 의해 결정되고, 슬라이스 헤더에서 송신되며, o1 및 o2 는 리스트 0 및 리스트 1 레퍼런스 화상들 각각에 대한 화상 오프셋들이다.
통상적으로, 라운딩 조정은 양방향 예측에서 항상 사용된다. 상기 방정식들에 따르면, 1 의 라운딩 조정은 1 만큼 우측 시프트 이전에 디폴트 가중된 예측에서 사용되고, 32 의 라운딩 조정은 6 만큼 우측 시프트 이전에 암시적 가중된 예측에서 사용된다. 일반적으로, 2r- 1 의 라운딩 예측은 r 만큼 우측 시프트 이전에 일반적으로 사용되고, r 은 양의 정수를 나타낸다.
이러한 빈번하고 바이어싱된 라운딩 연산들은 예측의 정밀도를 감소시킬 수 있다. 또한, 명시적 가중된 예측의 양방향 예측에서, 실제로 2개의 라운딩들이 존재하고, 하나는 레퍼런스 화상용이고 다른 하나는 오프셋용이다. 따라서, 이러한 경우에서, 라운딩 에러가 축적될 수 있다. 본 개시물의 일 양태에 따르면, 2개의 개별 라운딩들을 행하는 대신에, 비디오 인코더는 아래와 같이 우측 시프트 이전에 가중된 예측에 오프셋들을 가산할 수 있고,
여기서, pred(i,j) 는 라운딩과 관련된 가중된 예측 데이터이고, pred0(i,j)는 리스트 0 으로부터의 데이터이고, pred1(i,j) 는 리스트 1 로부터의 데이터이고, w0 및 w1 은 가중 팩터들이고, o1 및 o2 는 오프셋들이며, r 및 2r 은 (r+1) 비트들 만큼 우측 시프트 연산 ">>" 과 함께 라운딩을 제공하는 라운딩 항들이다. 이것은 더 양호한 예측 정확도를 제공할 수도 있다. 이러한 경우에서, 새로운 신택스 엘리먼트가 2개의 상이한 오프셋들 (o1 및 o2) 의 하나의 오프셋으로의 조합을 허용하기 위해 또한 정의될 수도 있다. 또한, 이러한 경우에서, 라운딩 값은 상술한 라운딩 조정 (예를 들어, (r+1) 비트들 만큼의 우측 시프트 연산 이전의 2r) 뿐만 아니라 오프셋과 관련된 다른 라운딩 값("r") 을 포함할 수도 있다. 상기 방정식은 또한, 오프셋들에 대한 더 높은 정밀도를 제공하도록 약간 변경될 수도 있다. 오프셋들에 대한 더 높은 정밀도를 원하면, 오프셋은 팩터들 (2 와 같은) 로 승산될 수도 있고, 그 후, 정수들로 라운딩될 수도 있다. 좌측 시프트가 또한, 오프셋에 대한 이러한 추가된 정밀도를 설명하기 위해 변화될 수도 있다.
명시적 가중된 예측에서의 다른 문제점은, 단방향 예측 및 양방향 예측이 동일한 가중치들 및 오프셋들을 공유할 수도 있다는 것이다. 더 양호한 예측을 위해 더 많은 플렉시빌리티를 갖기 위해, 단방향 예측 및 양방향 예측은 본 개시물에 따라 디커플링될 수도 있다. 이러한 경우에서, 단방향 예측 및 양방향 예측은 소정의 타입의 예측 (디폴트, 암시적 또는 명시적) 에 대한 상이한 가중치들 및 오프셋들을 정의할 수도 있다. 새로운 신택스 엘리먼트들이 더 양호한 예측을 허용하기 위해 명시적 예측에 대해 정의될 수도 있다. 인코더는 인코더에 의해 사용된 상이한 라운딩 모드들을 시그널링하기 위해 코딩된 비트스트림에 신택스 엘리먼트들을 포함할 수 있어서, 동일한 라운딩 모드들이 디코더에 의해 사용될 수 있다.
라운딩 조정을 적응적으로 선택하는 것이 유익하다. 이것을 행하는 일 방식은, 예측 데이터의 2개 이상의 상이한 세트들에 기초하여 예측 데이터의 2개 이상의 상이한 세트들을 생성 (및 가능하면 비디오 블록을 여러 횟수 인코딩) 하는 것이다. 예측 데이터의 일 세트가 넌제로 라운딩을 가질 수도 있고, 다른 세트는 라운딩을 제거할 수도 있다. 또 다른 예들에서, 상향 라운딩, 하향 라운딩, 및 라운딩 없음이 고려될 수도 있다. 모션 보상 유닛 (35) 은 이들 상이한 타입의 예측 데이터를 생성할 수도 있고, 소정의 비디오 블록에 대한 최상의 예측 데이터를 선택하기 위해 레이트-왜곡 (RD) 분석을 실시할 수도 있다.
레이트-왜곡 (RD) 분석은 비디오 코딩에서 상당히 일반적이고, 일반적으로, 코딩 비용을 나타내는 비용 메트릭의 계산을 수반한다. 비용 메트릭은 코딩에 요구된 비트들의 수 (레이트) 및 코딩과 관련된 품질의 레벨 (왜곡) 을 밸런싱할 수도 있다. 통상의 레이트-왜곡 비용 계산은 일반적으로,
가장 원하는 예측 데이터를 식별하기 위한 비디오 인코더 (50) 에 대한 일 방식은, 먼저 모션 벡터들을 찾기 위해 모션 추정 유닛 (32) 을 사용하고, 그 후, 라운딩 조정으로 및 라운딩 조정없이 예측 에러들을 계산하기 위해 모션 보상 유닛 (35) 및 가산기 (48) 를 구현하는 것이다. 그 후, 모션 보상 유닛 (35) 은 최소 예측 에러를 산출하는 예측 데이터를 선택할 수도 있다. 예측 에러는 인코딩된 현재의 데이터와 예측 데이터 사이의 절대 차이의 합을 사용함으로써 계산될 수 있다.
명시적 가중된 예측에서, 비디오 인코더 (50) 의 모션 보상 유닛 (35) 은 3개의 상이한 모드를 구현할 수도 있다. 모든 3개의 명시적 가중된 예측 모드들에서, 각 레퍼런스 화상은 단방향 예측에 대해 사용된 하나의 오프셋을 가질 수도 있으며, 레퍼런스 화상들의 각 쌍은,
와 같은 양방향 예측에 대한 하나의 오프셋을 갖고, 여기서, pred(i,j) 는 제 1 가중된 예측 데이터이고, pred0(i,j) 는 리스트 0 으로부터의 데이터이고, pred1(i,j) 는 리스트 1 로부터의 데이터이고, w0 및 w1 은 가중 팩터들이고, o 는 리스트 0 으로부터의 pred0(i,j) 및 리스트 1 로부터의 pred1(i,j) 에 적용가능한 공통 오프셋이며, r 및 2r 은 (r+1) 비트들 만큼 우측 시프트 연산 ">>" 과 함께 라운딩을 제공하는 라운딩 항이다. 제 1 모드는 디폴트 가중된 예측에 의해 정의된 가중치들을 사용할 수도 있다. 제 2 모드는 암시적 가중된 예측에 의해 정의된 가중치들을 사용할 수도 있다. 제 1 모드는 각 레퍼런스 화상이 단방향 예측에 대해 하나의 가중치를 갖게 하고, 양방향 예측에 수반된 레퍼런스 화상의 각 쌍이 레퍼런스 화상들 양자에 대한 가중치들의 쌍을 갖게 한다. 제 3 모드에 대해 정의된 가중치들은 적응적으로 결정될 수도 있고, 일부 경우들에서, 명시적 가중된 예측 프레임워크가 이들 컨텍스트들에서 오프셋을 허용하기 위해 디폴트 또는 암시적 가중된 예측에 의해 정의된 가중치들과 사용될 수도 있다. 또한, 이러한 제 3 모드에서 정의된 가중치들 오프셋들은 단방향 및 양방향 예측에 대해 상이할 수도 있다. 상기 방정식은 또한, 오프셋에 대한 더 높은 정밀도를 제공하기 위해 약간 변경될 수도 있다. 오프셋에 대한 더 높은 정밀도를 원하면, 오프셋은 (2 와 같은) 팩터로 승산될 수도 있고, 그 후, 정수로 라운딩될 수도 있다. 좌측 시프트는 또한, 오프셋에 대한 이러한 추가된 정밀도를 설명하기 위해 변화될 수도 있고, 예를 들어, 이러한 경우에서, 좌측 시프트가 r-1 로 변화될 수도 있다.
비디오 인코더 (50) 가 소정의 비디오 블록 또는 비디오 블록들의 세트에 대해 사용된 특정한 모드를 디코더에 시그널링하기 위해, 비디오 인코더 (50) 는 2개의 단일 비트 신택스 엘리먼트 : derived_weight_flag 및 poc_weight_flag 를 구현한다. 이러한 경우에서, derived_weight_flag 는 상기 언급한 제 1 의 2개의 명시적 가중된 예측 모드들과 제 3 모드 사이에서 선택하기 위해 사용될 수도 있고, poc_weight_flag 는 제 1 및 제 2 명시적 가중된 예측 모드들 사이에서 선택하기 위해 사용될 수도 있다.
최상의 가중된 예측을 찾기 위해, 비디오 인코더 (50) 는 멀티-패스 인코딩을 수행할 수도 있고 레이트-왜곡 비용에 기초하여 최상의 모드를 선택할 수도 있다. 이것을 행하는 일 방식은, 모션 보상 유닛 (35) 이 모든 가능한 가중된 예측 데이터를 생성하고 최상의 것을 선택하는 포괄적 탐색이다. 그러나, 복잡성을 감소시키기 위해, 모션 보상 유닛 (35) 은 예를 들어, 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 먼저 선택한 후, 그 선택을 명시적 가중된 예측에 비교하기 위해 본 개시물의 추가의 기법들을 구현할 수도 있다. 모션 보상 유닛 (35) 은 명시적 가중된 예측과 관련된 가중치들 및 오프셋들을 계산할 수도 있고, 어느 것이 선택되든 디폴트 가중된 예측 또는 암시적 가중된 예측과 관련된 데이터에 오프셋들을 추가하기 위해 명시적 가중된 예측 프레임워크를 또한 사용할 수도 있다. 따라서, 모션 보상 유닛 (35) 에 의해 계산된 오프셋들의 2개의 세트가 존재한다. 오프셋들이 제 1 세트는 디폴트 가중된 예측 또는 암시적 가중된 예측에서 사용된 알려진 가중치들을 사용함으로써 계산될 수도 있고, 오프셋들의 제 2 세트는 예를 들어, 모션 보상된 예측 에러를 최소화함으로써 명시적 가중된 예측의 정상 계산의 일부로서 가중치들과 함께 계산될 수도 있다.
복잡성을 더 감소시키기 위해, 명시적 가중된 예측 동안, 오프셋들이 0 이면, 모션 보상 유닛 (35) 은 디폴트 가중치들 또는 암시적 가중치들을 사용하는 명시적 가중된 예측을 스킵할 수도 있다. 또한, 오프셋들이 0 이고 계산된 가중치들이 변화가 없으면, 모션 보상 유닛 (35) 은 계산된 가중치들 및 오프셋들을 사용하는 통상의 명시적 가중된 예측을 스킵할 수도 있다.
여기에 설명한 바와 같이, 원하는 예측 데이터가 모션 보상 유닛 (35) 에 의해 식별되면, 비디오 인코더 (50) 는 코딩된 원래의 비디오 블록으로부터 예측 데이터를 감산함으로써 잔류 비디오 블록을 형성한다. 가산기 (48) 는 이러한 감산 연산을 수행하는 컴포넌트 또는 컴포넌트들을 나타낸다. 변환 유닛 (38) 은 이산 코사인 변환 (DCT) 또는 개념적으로 유사한 변환과 같은 변환을 잔류 블록에 적용하고, 이것은 잔류 변환 블록 계수들을 포함하는 비디오 블록을 생성한다. 예를 들어, 변환 유닛 (38) 은 DCT 와 개념적으로 유사한 H.264 표준에 의해 정의된 바와 같은 다른 변환들을 수행할 수도 있다. 웨이브릿 변환, 정수 변환, 서브-대역 변환 또는 다른 타입의 변환이 또한 사용될 수 있다. 임의의 경우에서, 변환 유닛 (38) 은 잔류 블록에 변환을 적용하여, 잔류 변환 계수들의 블록을 생성한다. 변환은 잔류 정보를 픽셀 도메인으로부터 주파수 도메인으로 컨버팅할 수도 있다.
양자화 유닛 (40) 은 비트 레이트를 더 감소시키기 위해 잔류 변환 계수들을 양자화한다. 양자화 프로세스는 계수들 중 일부 또는 전부와 관련된 비트 깊이를 감소시킬 수도 있다. 예를 들어, 9-비트 값이 양자화 동안 8-비트 값으로 라운딩 다운될 수도 있다. 또한, 양자화 유닛 (40) 은 또한 오프셋이 사용되는 경우에 대해 상이한 오프셋들을 양자화할 수도 있다.
양자화에 후속하여, 엔트로피 코딩 유닛 (46) 은 양자화된 변환 계수들을 엔트로피 코딩한다. 예를 들어, 엔트로피 코딩 유닛 (46) 은 콘텐츠 적응형 가변 길이 코딩 (CAVLC), 컨텍스트 적응형 2진 산술 코딩 (CABAC), 또는 다른 엔트로피 코딩 방법을 수행할 수도 있다. 엔트로피 코딩 유닛 (46) 에 의한 엔트로피 코딩에 후속하여, 인코딩된 비디오는 다른 디바이스로 송신될 수도 있거나 추후의 송신 또는 검색을 위해 아카이브될 수도 있다. 코딩된 비트스트림은 엔트로피 코딩된 잔류 블록들, 이러한 블록들에 대한 모션 벡터들, 및 여기에 기재된 신택스와 같은 다른 신택스를 포함할 수도 있다.
역양자화 유닛 (42) 및 역변환 유닛 (44) 은 역양자화 및 역변환 각각을 적용하여, 예를 들어, 상술한 방식으로 레퍼런스 블록으로서 추후 사용을 위해 픽셀 도메인에서 잔류 블록을 재구성한다. 가산기 (51) 는 재구성된 잔류 블록을 모션 보상 유닛 (35) 에 의해 생성된 모션 보상된 예측 블록에 가산하여 메모리 (34) 에 저장을 위한 재구성된 비디오 블록을 생성한다. 재구성된 비디오 블록은 후속 비디오 프레임에서 블록을 인터 인코딩하기 위해 레퍼런스 블록으로서 모션 추정 유닛 (32) 및 모션 보상 유닛 (35) 에 의해 사용될 수도 있다.
도 3 은 도 2 의 모션 보상 유닛의 예를 더욱 상세히 예시하는 블록도이다. 도 3 의 예에 도시되어 있는 바와 같이, 모션 보상 유닛 (35) 은 메모리 (34) 에 커플링하고, 이 메모리는 코딩된 유닛들의 제 1 및 제 2 세트들 또는 레퍼런스 프레임들을 리스트 0 (52A) 및 리스트 1 (52B) 로서 저장한다. 또한, 메모리 (34) 는 코딩된 현재의 비디오 데이터 (53) 를 저장할 수도 있다. 메모리 (34) 는 공유된 메모리 구조, 또는 가능하면 여러 상이한 메모리들, 저장 유닛들, 버퍼들, 또는 여기에 논의된 임의의 데이터의 저장을 용이하게 하는 다른 타입의 저장부를 포함할 수도 있다. 리스트 0 (52A) 및 리스트 1 (52B) 은 양방향 예측에 따른, 2개의 상이한 예측 유닛들과 관련된 데이터, 예를 들어, 2개의 상이한 프레임들 또는 슬라이스들 또는 매크로블록들로부터의 데이터이다. 다시, 양방향 예측은 임의의 예측 방향에 반드시 제한되지 않고, 따라서, 리스트 0 (52A) 및 리스트 1 (52B) 은 2개의 이전 프레임들 또는 슬라이스들, 2개의 후속 프레임들 또는 슬라이스들, 또는 하나의 이전 프레임 또는 슬라이스 및 하나의 후속 프레임 또는 슬라이스로부터의 데이터를 저장할 수도 있다. 또한, 일부 경우들에서, 리스트 0 (52A) 및/또는 리스트 1 (52B) 은 다중의 프레임들, 슬라이스들 또는 매크로블록들과 관련된 데이터를 각각 포함할 수 있다. 리스트 0 (52A) 및/또는 리스트 1 (52B) 은 단순히 가능한 예측 데이터의 2개의 상이한 세트들이고, 각 리스트는 인코딩된 현재의 비디오 블록에 대한 임의의 방향에서 하나의 프레임 또는 슬라이스, 또는 여러 프레임들, 슬라이스들 또는 매크로블록들을 포함할 수도 있다.
도 3 에 도시되어 있는 바와 같이, 모션 보상 유닛 (35) 은 디폴트 가중된 예측 유닛 (54), 암시적 가중된 예측 유닛 (56), 및 명시적 가중된 예측 유닛 (58) 을 포함한다. 유닛들 (54, 56 및 58) 은 각각, 여기에 설명한 바와 같이 디폴트 가중된 예측, 암시적 가중된 예측, 및 명시적 가중된 예측을 수행한다. 레이트-왜곡 (R-D) 분석 유닛 (64) 은 이들 가능성들 중에서 가중된 예측 데이터를 선택할 수도 있고, 선택 프로세스를 용이하게 하기 위해 본 개시물의 기법들을 구현할 수도 있다.
모션 보상 유닛 (35) 은 또한, 유닛들 (54, 56 및 58) 중 하나 이상으로 하여금 각각의 가중된 예측 데이터의 라운딩되고 라운딩되지 않은 버전들 양자를 생성하게 하는 라운딩 유닛 (55) 을 포함한다. 다시, 라운딩을 제거함으로써, 가중된 예측 데이터가 일부 컨텍스트들에서 개선될 수도 있다.
또한, 모션 보상 유닛 (35) 은 오프셋을 계산하는 오프셋 계산 유닛 (62) 을 포함한다. ITU-T H.264/MPEG-4 AVC 코딩 포맷에 따르면, 오프셋은 명시적 가중된 예측에서만 허용된다. 따라서, 디폴트 가중된 예측 또는 암시적 가중된 예측의 컨텍스트에서 오프셋을 고려하기 위해, 디폴트 가중된 예측 유닛 (54) 또는 암시적 가중된 예측 유닛 (56) 에 의해 결정된 가중치들은 오프셋 계산 유닛 (62) 에 의해 결정된 오프셋과 함께 명시적 가중된 예측 유닛 (58) 으로 포워딩될 수도 있다. 이러한 방식으로, 명시적 가중된 예측 유닛 (58) 은 R-D 분석 유닛 (64) 에 의한 고려를 위해 디폴트 가중된 예측 데이터 또는 암시적 가중된 예측 데이터에 오프셋을 가산함으로써 ITU-T H.264/MPEG-4 AVC 코딩 포맷을 활용할 수 있다. 이러한 경우에서, 명시적 가중된 예측 유닛 (58) 은 오프셋 계산 유닛 (62) 에 의해 결정된 오프셋과 함께 디폴트 가중된 예측 유닛 (54) 또는 암시적 가중된 예측 유닛 (56) 에 의해 결정된 가중치들을 사용하는 예측 데이터 뿐만 아니라 정상 명시적 가중된 예측 데이터를 생성한다.
오프셋 계산 유닛은 코딩된 블록의 비디오 블록 값들의 평균과 예측 블록의 비디오 블록 값들의 평균 사이의 차이로서 오프셋을 계산할 수도 있다. 오프셋은 루마 비디오 블록들에 대해 계산될 수도 있고, 일부 경우들에서, 오프셋은 루마 비디오 블록들 및 크로마 비디오 블록들에 대해 계산될 수도 있다.
R-D 분석 유닛 (64) 은 상이한 가중된 예측 데이터를 분석할 수도 있고, 품질에 관하여, 그리고 레이트 및 왜곡에 관하여 최상의 결과를 생성하는 가중된 예측 데이터를 선택할 수도 있다. R-D 분석 유닛 (64) 은 선택된 가중된 예측 데이터를 출력하고, 이 데이터는 가산기 (48) (도 2) 를 통해 코딩된 비디오 블록으로부터 감산될 수도 있다. 신택스 엘리먼트들은, 가중된 예측 데이터를 생성하기 위해 사용되어야 하는 방식 또는 방법을 디코더에 통지하기 위해 사용될 수도 있다. 예를 들어, 신택스 엘리먼트들은 라운딩이 사용되었는지 여부를 나타낼 수도 있고, 디폴트, 암시적 또는 명시적 가중된 예측이 사용되어야 하는지를 나타낼 수도 있다. 명시적 가중된 예측이 사용되어야 하는 경우에, 신택스 엘리먼트들은 다시 명시적 가중된 예측과 관련된 가중 팩터들 및 오프셋일 수도 있거나, 오프셋 계산 유닛 (62) 으로부터의 오프셋의 추가로 디폴트 가중된 예측 유닛 (54) 또는 암시적 가중된 예측 유닛 (56) 에 의해 실제로 정의된 가중 팩터들일 수도 있는 가중 팩터들 및 오프셋을 더 식별할 수도 있다.
도 4 는 상술한 인코딩 기법들에 대한 상반된 디코딩 기법을 수행할 수도 있는 예시적인 비디오 디코더 (70) 를 예시하는 블록도이다. 비디오 디코더 (70) 는 엔트로피 디코딩 유닛 (72), 예측 유닛 (75), 역양자화 유닛 (76), 역변환 유닛 (78), 메모리 (74) 및 가산기 (79) 를 포함할 수도 있다. 예측 유닛 (75) 은 예시의 간략화 및 용이화를 위해 도시되지 않은 공간 예측 컴포넌트들 뿐만 아니라 모션 보상 (MC) 유닛 (88) 을 포함할 수도 있다.
비디오 디코더 (70) 는 인코딩된 비디오 데이터, 및 라운딩 조정이 인코딩된 비디오 데이터를 인코딩하기 위해 사용되었는지를 나타내는 하나 이상의 신택스 엘리먼트들을 수신할 수도 있다. 예측 유닛 (75) 의 MC 유닛 (86) 은 여기에 설명한 바와 같이, 데이터의 2개 이상의 리스트들에 의존하여 가중된 예측 데이터를 생성할 수도 있다. 본 개시물에 따르면, 하나 이상의 신택스 엘리먼트들이 라운딩 조정이 인코딩된 비디오 데이터를 인코딩하기 위해 사용되지 않았다는 것을 나타내는 경우에 가중된 예측 데이터는 라운딩 조정을 포함하지 않는다. 비디오 디코더 (70) 는 예를 들어, 가중된 예측 데이터 (예를 들어, 예측 블록) 를 잔류 데이터 (예를 들어, 잔류 블록) 에 가산하도록 가산기 (79) 를 인보크함으로써 가중된 예측 데이터를 사용하여 비디오 데이터를 디코딩할 수 있다.
일반적으로, 엔트로피 디코딩 유닛 (72) 은 인코딩된 비트스트림을 수신하고, 양자화된 계수들, 모션 정보 및 다른 신택스를 생성하기 위해 비트스트림을 디코딩한다. 모션 정보 (예를 들어, 모션 벡터들) 및 다른 신택스는 예측 데이터를 생성하는데 사용하기 위해 예측 유닛 (75) 으로 포워딩된다. 예측 유닛 (75) 은 본 개시물에 따라 양방향 예측을 수행하여, 일부 경우들에서 라운딩 조정을 회피하며, 가능하면, 수신된 신택스 엘리먼트들에 따라 디폴트, 암시적 또는 명시적 가중된 예측을 구현한다. 신택스 엘리먼트들은 사용될 가중된 예측의 타입, 명시적 가중된 예측이 사용되는 경우에 계수들 및 오프셋, 및 라운딩 조정이 디코딩에서 사용되어야 하는지를 식별할 수도 있다.
양자화된 계수들은 엔트로피 디코딩 유닛 (72) 으로부터 역양자화를 수행하는 역양자화 유닛 (76) 으로 전송된다. 그 후, 역양자화 유닛 (78) 은 역양자화된 계수들을 픽셀 도메인으로 다시 변환하여 잔류 블록을 생성한다. 가산기 (79) 는 역변환 유닛 (78) 으로부터의 잔류 블록과 예측 유닛 (75) 에 의해 생성된 예측 데이터 (예를 들어, 예측 블록) 를 결합하여 메모리 (74) 에 저장될 수도 있고/있거나 디코딩된 비디오 출력으로서 비디오 디코더 (70) 로부터 출력될 수도 있는 재구성된 비디오 블록을 생성한다.
도 5 는 본 개시물에 따라 비디오 인코더에 의해 수행된 예시적인 프로세스를 예시하는 플로우차트이다. 도 5 는 도 2 의 비디오 인코더 (50) 의 관점으로부터 설명될 것이다. 도 5 에 도시되어 있는 바와 같이, 모션 보상 유닛 (35) 은 라운딩을 포함하는 제 1 가중된 예측 데이터를 생성하고 (101), 라운딩을 포함하지 않는 제 2 가중된 예측 데이터를 생성한다 (102). 그 후, 모션 보상 유닛 (35) 은 레이트-왜곡 분석에 기초하여 제 1 및 제 2 가중된 예측 데이터로부터 예측 데이터를 선택할 수도 있다 (103). 특히, 모션 보상 유닛 (35) 은 제 1 및 제 2 가중된 예측 데이터와 관련된 인코딩 레이트 및 인코딩 품질을 정량화하고 밸런싱하는 제 1 및 제 2 가중된 예측 데이터에 대한 비용 메트릭들을 결정할 수도 있고, 최저의 비용을 갖는 예측 데이터를 선택할 수도 있다. 그 후, 비디오 인코더 (50) 는 선택된 예측 데이터에 기초하여 비디오 데이터를 인코딩할 수 있다 (104). 예를 들어, 비디오 인코더 (50) 는 코딩된 비디오 데이터로부터 선택된 예측 데이터를 감산하도록 가산기 (48) 를 인보크할 수도 있고, 그 후, 변환을 위해 변환 유닛 (38), 양자화를 위해 양자화 유닛 (40) 및 변환되고 양자화된 잔류 계수들의 엔트로피 코딩을 위해 엔트로피 코딩 유닛 (46) 을 인보크할 수도 있다. 이러한 경우에서, 모션 보상 유닛 (35) 은 라운딩이 예측 데이터에 대해 사용되었는지 여부를 나타내기 위해 하나 이상의 신택스를 생성할 수도 있고, 코딩된 비트스트림에 포함을 위해 이러한 신택스 엘리먼트들을 엔트로피 코딩 유닛 (46) 으로 포워딩할 수도 있다.
도 6 은 본 개시물에 따른 비디오 디코더에 의해 수행된 예시적인 프로세스를 예시하는 플로우차트이다. 도 6 은 도 4 의 비디오 디코더 (70) 의 관점으로부터 설명될 것이다. 도 6 에 도시되어 있는 바와 같이, 비디오 디코더는 인코딩된 비디오 데이터를 수신하고 (111), 라운딩 조정이 비디오 데이터를 인코딩하기 위해 사용되었는지를 나타내는 하나 이상의 신택스 엘리먼트들을 수신한다 (112). 특히, 엔트로피 디코딩 유닛 (72) 은 비디오 데이터 및 하나 이상의 신택스 엘리먼트들을 포함하는 인코딩된 비트스트림을 수신할 수도 있다. 엔트로피 디코딩에 후속하여, 엔트로피 디코딩 유닛 (72) 은 유닛 (76) 에 의해 역양자화되고 유닛 (78) 에 의해 역변환된 양자화된 변환 계수들로서 비디오 데이터를 출력할 수도 있다. 엔트로피 디코딩 유닛 (72) 은 라운딩 조정이 비디오 데이터, 모션 벡터들 및 가능하면 다른 신택스를 인코딩하기 위해 사용되었는지를 나타내는 하나 이상의 신택스 엘리먼트들을 포함하는 신택스 엘리먼트를 예측 유닛으로 출력할 수도 있다.
예측 유닛 (75) 은 블록 기반 예측 디코딩을 위해 모션 보상 유닛 (86) 을 인보크한다. 이렇게 하는데 있어서, 모션 보상 유닛 (86) 은 신택스에 기초하여 가중된 예측 데이터를 생성한다 (113). 따라서, 하나 이상의 신택스 엘리먼트들이, 라운딩 조정이 사용되었다는 것을 나타내면, 모션 보상 유닛 (86) 은 라운딩 조정을 포함하는 가중된 예측 데이터를 생성한다. 그러나, 하나 이상의 신택스 엘리먼트들이, 라운딩 조정이 사용되지 않았다는 것을 나타내면, 모션 보상 유닛 (86) 은 라운딩 조정이 결여된 가중된 예측 데이터를 생성한다. 그 후, 비디오 디코더 (70) 는 가중된 예측 데이터를 사용하여 비디오 데이터를 디코딩할 수 있다 (114). 특히, 비디오 디코더 (70) 는 비디오 데이터의 재구성 (예를 들어, 재구성된 비디오 블록) 을 생성하기 위해 잔류 비디오 데이터 (예를 들어, 잔류 블록) 과 가중된 예측 데이터 (예를 들어, 예측 블록) 를 결합하도록 가산기 (79) 를 인보크할 수도 있다.
도 7 은 본 개시물에 따른 비디오 인코더에 의해 수행된 다른 예시적인 프로세스를 예시하는 플로우차트이다. 도 7 은 도 2 의 비디오 인코더 (50) 의 일부를 형성할 수도 있는 도 3 의 모션 보상 유닛 (35) 의 관점으로부터 설명될 것이다. 도 7 에 도시되어 있는 바와 같이, 디폴트 가중된 예측 유닛 (54) 은 라운딩을 갖는 디폴트 가중된 예측을 수행하고 (201), 라운딩없는 디폴트 가중된 예측을 수행한다 (202). 라운딩 유닛 (55) 은 이러한 라운딩 또는 라운딩의 결여를 정의하도록 인보크될 수도 있다. 그 후, 암시적 가중된 예측 유닛 (56) 은 라운딩을 갖는 암시적 가중된 예측을 수행하고 (203), 라운딩없는 암시적 가중된 예측을 수행한다 (204). 다시, 라운딩 유닛 (55) 은 이러한 라운딩 또는 라운딩의 결여를 정의하도록 인보크될 수도 있다.
상술한 바와 같이, 디폴트 가중된 예측은 2개 이상의 상이한 리스트들과 관련된 가중 팩터들이 일부 디폴트 세팅에 의해 사전 정의되는 가중된 예측을 칭한다. 일부 경우들에서, 디폴트 가중된 예측은 동일한 가중치들을 리스트들 각각에 할당할 수도 있다. 암시적 가중된 예측은, 2개 이상의 상이한 리스트들과 관련된 가중 팩터들이 데이터와 관련된 일부 암시적 팩터들에 기초하여 정의되는 가중된 예측을 칭한다. 예를 들어, 암시적 가중 팩터들은 예측적으로 코딩된 데이터에 대한 2개의 상이한 리스트들에서 데이터의 상대적 시간 위치들에 의해 정의될 수도 있다.
R-D 분석 유닛 (64) 은 디폴트 가중된 예측 또는 암시적 가중된 예측을 선택한다 (205). 특히, R-D 분석 유닛 (64) 은 예측 데이터의 상이한 버전과 관련된 품질 및 코딩 레이트에 기초하여 디폴트 가중된 예측 또는 암시적 가중된 예측을 선택할 수도 있다. 예를 들어, R-D 분석 유닛 (64) 은 코딩된 비디오 블록에 대한 예측 데이터의 상이한 버전의 유사성을 고려할 수도 있고, 가장 근접한 버전을 선택할 수도 있다.
R-D 분석 유닛 (64) 이 디폴트 가중된 예측 ("디폴트 (DEFAULT)" (205)) 을 선택하면, 명시적 가중된 예측 유닛 (58) 은 명시적 가중된 예측 데이터를 계산하고, 이러한 데이터를 디폴트 가중치들을 사용하는 명시적 가중된 예측 데이터에 비교하도록 인보크될 수도 있다. 언급한 바와 같이, 이것은 디폴트 가중치들의 컨텍스트에서 오프셋을 허용한다. 따라서, 명시적 가중된 예측은, 다르게는 디폴트 또는 암시적 가중된 예측에 의해 정의되는 상이한 오프셋들을 데이터에 제공하기 위한 메카니즘으로서 사용될 수 있다. 상기 약술한 바와 같이, 명시적 가중된 예측은, 가중 팩터들이 코딩 프로세스의 일부로서 동적으로 정의되고, 비트스트림으로 인코딩되는 가중된 예측을 칭한다. 명시적 가중된 예측은, 예를 들어, 명시적 가중된 예측이 비트스트림의 일부로서 인코딩되는 가중 팩터들을 발생시키는 반면에, 디폴트 및 암시적 가중된 예측은 비트스트림에 있는 가중 팩터들 없이 디코더에 의해 사전 정의되거나 결정되는 가중 팩터들을 정의한다는 점에서 디폴트 가중된 예측 및 암시적 가중된 예측과는 상이하다.
특히, 명시적 가중된 예측 유닛 (58) 은 ITU-T H.264에 의해 정의된 종래의 명시적 가중된 예측을 사용하여 명시적 가중치들 및 명시적 오프셋들을 계산할 수도 있다 (206). 명시적 가중치들을 계산하기 위해, 예를 들어, 명시적 가중된 예측 유닛 (58) 은 가중치들 및 오프셋들 양자에 대해 상기 리스트된 명시적 가중된 예측 방정식들을 풀기 위해 최소 평균 제곱 (LMS) 알고리즘을 적용할 수도 있다. 또한, 명시적 가중된 예측 유닛 (58) 은 디폴트 가중치들과 관련된 오프셋을 계산할 수도 있다 (207). 오프셋 계산 유닛 (62) 은 오프셋을 계산하기 위해 명시적 가중된 예측 유닛 (58) 에 의해 인보크될 수도 있다. 특히, 오프셋 계산 유닛 (62) 은 코딩된 비디오 데이터의 픽셀 값들과 가중된 예측 데이터의 소정의 버전들 사이의 평균 차이로서 소정의 오프셋을 계산할 수도 있다.
그 후, 명시적 가중된 예측 유닛 (58) 은 예측 데이터의 2개의 상이한 버전들을 생성할 수 있다. 특히, 명시적 가중된 예측 유닛 (58) 은 디폴트 가중치들 및 대응하는 오프셋을 사용하여 명시적 가중된 예측을 수행할 수도 있고 (208), 계산된 가중치들 및 대응하는 명시적 오프셋을 사용하여 명시적 가중된 예측을 또한 수행할 수도 있다 (209). 그 후, 명시적 가중된 예측 데이터의 이들 2개의 상이한 버전들 (하나는 정상 명시적 가중된 예측에 따라 계산되고 다른 하나는 오프셋의 추가를 갖는 디폴트 가중치들을 사용하여 계산된다) 및 라운딩을 갖거나 갖지 않은 디폴트 가중된 예측이 R-D 분석 유닛 (64) 으로 전송될 수 있다. R-D 분석 유닛 (64) 은 R-D 분석에 기초하여 예측 모드를 선택할 수도 있다 (210). 특히, R-D 분석 유닛 (64) 은 명시적 가중된 예측 데이터의 이들 2개의 상이한 버전들 (하나는 정상 명시적 가중된 예측에 따라 계산되고 다른 하나는 오프셋의 추가를 갖는 디폴트 가중치들을 사용하여 계산된다) 사이에 선택할 수도 있다. R-D 분석 유닛 (64) 은 코딩된 비디오 블록에 대한 예측 데이터의 상이한 버전의 유사성을 고려할 수도 있고, 가장 근접한 버전을 선택할 수도 있다.
암시적 가중된 예측 데이터가 디폴트 가중된 예측 데이터에 대해 선택될 때, 유사한 프로세스가 암시적 가중된 예측 데이터에 대해 발생한다. 즉, R-D 분석 유닛 (64) 이 암시적 가중된 예측 ("암시적 (IMPLICIT)" (205)) 을 선택하면, 명시적 가중된 예측 유닛 (58) 은 명시적 가중된 예측 데이터를 계산하고, 암시적 가중치들을 사용하는 명시적 가중된 예측 데이터에 이러한 데이터를 비교하도록 인보크될 수도 있다. 이것은 암시적 가중치들의 컨텍스트에서 오프셋을 허용한다. 특히, 명시적 가중된 예측 유닛 (58) 은 ITU-T H.264에 의해 정의된 종래의 명시적 가중된 예측을 사용하여 명시적 가중치들 및 명시적 오프셋을 계산할 수도 있다 (211). 또한, 명시적 가중된 예측 유닛 (58) 은 암시적 가중치들과 관련된 오프셋을 계산할 수도 있다 (212). 오프셋 계산 유닛 (62) 은 여기에 설명한 바와 같은 오프셋들을 계산하기 위해 명시적 가중된 예측 유닛 (58) 에 의해 인보크될 수도 있다.
그 후, 명시적 가중된 예측 유닛 (58) 은 예측 데이터의 2개의 상이한 버전들을 생성할 수 있다. 이러한 경우에서, 명시적 가중된 예측 유닛 (58) 은 암시적 가중치들 및 대응하는 오프셋을 사용하여 명시적 가중된 예측을 수행할 수도 있고 (213), 계산된 가중치들 및 대응하는 명시적 오프셋을 사용하여 명시적 가중된 예측을 또한 수행할 수도 있다 (214). 그 후, 명시적 가중된 예측 데이터의 이들 2개의 상이한 버전들 (하나는 정상 명시적 가중된 예측에 따라 계산되고 다른 하나는 오프셋의 추가를 갖는 암시적 가중치들을 사용하여 계산된다) 및 라운딩을 갖거나 갖지 않은 암시적 가중된 예측이 R-D 분석 유닛 (64) 으로 전송될 수 있다. R-D 분석 유닛 (64) 은 R-D 분석에 기초하여 예측 모드를 선택할 수도 있다. 특히, R-D 분석 유닛 (64) 은 명시적 가중된 예측 데이터의 이들 2개의 상이한 버전들 (하나는 정상 명시적 가중된 예측에 따라 계산되고 다른 하나는 오프셋의 추가를 갖는 디폴트 가중치들을 사용하여 계산된다) 사이에서 선택할 수도 있다. R-D 분석 유닛 (64) 은 코딩된 비디오 블록에 대한 예측 데이터의 상이한 버전의 유사성을 고려할 수도 있고, 가장 근접한 버전을 선택할 수도 있다.
본 개시물의 기법들은 무선 핸드셋, 및 집적 회로 (IC) 또는 IC들의 세트 (즉, 칩 세트) 를 포함하는 광범위한 디바이스들 또는 장치들에서 구현될 수도 있다. 기능적 양태들을 강조하기 위해 제공된 임의의 컴포넌트들, 모듈들 또는 유닛들이 설명되었고 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하지는 않는다. 여기에 설명된 기법들은 또한 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에서 구현될 수도 있다. 모듈들, 유닛들 또는 컴포넌트들로서 설명된 임의의 특징들은 집적 로직 디바이스에서 함께 또는 개별이지만 상호운용가능한 로직 디바이스들로서 개별적으로 구현될 수도 있다. 일부 경우들에서, 다양한 특징들이 집적 회로 칩 또는 칩세트와 같은 집적 회로 디바이스로서 구현될 수도 있다.
소프트웨어에서 구현되면, 기법들은 프로세서에서 실행될 때, 상술한 방법들 중 하나 이상을 수행하는 명령들을 포함하는 컴퓨터 판독가능 매체에 의해 적어도 부분적으로 실행될 수도 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능한 저장 매체를 포함할 수도 있고 패키징 자료들을 포함할 수도 있는 컴퓨터 프로그램 제품의 일부를 형성할 수도 있다. 컴퓨터 판독가능한 매체는 동기 동적 랜덤 액세스 메모리 (SDRAM) 와 같은 랜덤 액세스 메모리 (RAM), 판독 전용 메모리 (ROM), 비휘발성 랜덤 액세스 메모리 (NVRAM), 전기적으로 소거가능한 프로그래머블 판독전용 메모리 (EEPROM), FLASH 메모리, 자기 또는 광학 데이터 저장 매체 등을 포함할 수도 있다. 추가로 또는 다르게는, 기법들은 명령들 또는 데이터 구조들의 형태로 코드를 반송하거나 통신하고, 컴퓨터에 의해 액세스되고, 판독되고/되거나 실행될 수 있는 컴퓨터 판독가능한 통신 매체에 의해 적어도 부분적으로 실현될 수도 있다.
코드 또는 명령들은 하나 이상의 디지털 신호 프로세서 (DSP), 범용 마이크로프로세서, 응용 주문형 집적 회로 (ASIC), 필드 프로그램가능한 로직 어레이 (FPGA), 또는 다른 등가의 집적 또는 개별 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수도 있다. 따라서, 여기에서 사용되는 바와 같은 용어 "프로세서" 는 여기에 설명된 기법들의 구현에 적합한 임의의 상술한 구조 또는 임의의 다른 구조를 칭할 수도 있다. 또한, 일부 양태들에서, 여기에 설명된 기능은 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈 또는 하드웨어 모듈내에 제공될 수도 있거나, 결합된 비디오 코덱에 통합될 수도 있다. 또한, 기법들은 하나 이상의 회로들 또는 로직 엘리먼트들에서 완전하게 구현될 수 있다.
본 개시물은 또한 본 개시물에 설명된 기법들 중 하나 이상을 구현하기 위한 회로를 포함하는 임의의 다양한 집적 회로 디바이스를 고려한다. 이러한 회로는 단일의 집적 회로 칩 또는 소위 칩세트에서 다중의 상호운용가능한 집적 회로 칩들에 제공될 수도 있다. 이러한 집적 회로 디바이스들은 그 일부가 모바일 전화 핸드셋들과 같은 무선 통신 디바이스들에서의 사용을 포함할 수도 있는 다양한 애플리케이션들에서 사용될 수도 있다.
본 발명의 다양한 실시형태들이 설명되었다. 이들 및 다른 실시형태들은 아래의 청구범위의 범주내에 있다.
Claims (23)
- 비디오 데이터를 인코딩하는 방법으로서,
디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하는 단계로서, 상기 디폴트 가중된 예측은 디폴트 가중치들을 예측 데이터의 복수의 리스트들에 적용하고, 상기 암시적 가중된 예측은 암시적으로 정의된 가중치들을 상기 예측 데이터의 복수의 리스트들에 적용하는, 상기 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하는 단계;
상기 디폴트 가중된 예측의 선택시에, 복수의 계산된 가중치들에 기초하는 명시적 가중된 예측과 상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 수정된 명시적 가중된 예측 사이에서 선택하는 단계;
상기 암시적 가중된 예측의 선택시에, 상기 복수의 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 수정된 명시적 가중된 예측 사이에서 선택하는 단계로서, 상기 명시적 가중된 예측 및 상기 수정된 명시적 가중된 예측들은, 상기 명시적 가중된 예측 및 상기 수정된 명시적 가중된 예측들이 인코딩된 비트스트림으로의 명시적 가중치들의 인코딩을 발생시킨다는 점에서 상기 디폴트 가중된 예측 및 상기 암시적 가중된 예측과는 상이한, 상기 명시적 가중된 예측과 수정된 명시적 가중된 예측 사이에서 선택하는 단계;
상기 명시적 가중된 예측 또는 수정된 명시적 가중된 예측의 선택에 응답하여 가중된 예측 데이터를 결정하는 단계; 및
상기 가중된 예측 데이터를 사용하여 상기 비디오 데이터를 인코딩하는 단계를 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 1 항에 있어서,
라운딩 (rounding) 이 사용되었는지를 나타내도록 하나 이상의 신택스 엘리먼트를 인코딩하는 단계를 더 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 1 항에 있어서,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 예측 데이터는 제 1 오프셋 값을 포함하고,
상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 예측 데이터는 제 2 오프셋 값을 포함하며,
상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 예측 데이터는 제 3 오프셋 값을 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 1 항에 있어서,
상기 디폴트 가중된 예측의 선택시에,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 제 1 예측 데이터는 제 1 오프셋 값을 포함하며,
상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 제 2 예측 데이터는 제 2 오프셋 값을 포함하는, 비디오 데이터를 인코딩하는 방법. - 제 1 항에 있어서,
상기 암시적 가중된 예측의 선택시에,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 제 1 예측 데이터는 제 1 오프셋 값을 포함하며,
상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 제 2 예측 데이터는 제 2 오프셋 값을 포함하는, 비디오 데이터를 인코딩하는 방법. - 비디오 데이터를 인코딩하는 비디오 인코더 장치로서,
상기 비디오 데이터를 저장하는 메모리; 및
모션 보상 유닛을 포함하고,
상기 모션 보상 유닛은, 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하고, 상기 디폴트 가중된 예측은 디폴트 가중치들을 예측 데이터의 복수의 리스트들에 적용하고, 상기 암시적 가중된 예측은 암시적으로 정의된 가중치들을 상기 예측 데이터의 복수의 리스트들에 적용하고,
상기 모션 보상 유닛은, 상기 디폴트 가중된 예측의 선택시에, 복수의 계산된 가중치들에 기초하는 명시적 가중된 예측과 상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 수정된 명시적 가중된 예측 사이에서 선택하고;
상기 모션 보상 유닛은, 상기 암시적 가중된 예측의 선택시에, 상기 복수의 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 수정된 명시적 가중된 예측 사이에서 선택하고, 상기 명시적 가중된 예측 및 상기 수정된 명시적 가중된 예측들은, 상기 명시적 가중된 예측 및 상기 수정된 명시적 가중된 예측들이 인코딩된 비트스트림으로의 명시적 가중치들의 인코딩을 발생시킨다는 점에서 상기 디폴트 가중된 예측 및 상기 암시적 가중된 예측과는 상이하고,
상기 비디오 인코더 장치는, 상기 명시적 가중된 예측 또는 수정된 명시적 가중된 예측의 선택에 응답하여 가중된 예측 데이터를 결정하고, 상기 가중된 예측 데이터를 사용하여 상기 비디오 데이터를 인코딩하는, 비디오 인코더 장치. - 제 6 항에 있어서,
상기 비디오 인코더 장치는, 라운딩이 사용되었는지를 나타내기 위해 하나 이상의 신택스 엘리먼트들을 인코딩하는, 비디오 인코더 장치. - 제 6 항에 있어서,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 예측 데이터는 제 1 오프셋 값을 포함하고,
상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 예측 데이터는 제 2 오프셋 값을 포함하며,
상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 예측 데이터는 제 3 오프셋 값을 포함하는, 비디오 인코더 장치. - 제 6 항에 있어서,
상기 모션 보상 유닛이 상기 디폴트 가중된 예측을 선택할 시에,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 제 1 예측 데이터는 제 1 오프셋 값을 포함하며,
상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 제 2 예측 데이터는 제 2 오프셋 값을 포함하는, 비디오 인코더 장치. - 제 6 항에 있어서,
상기 모션 보상 유닛이 상기 암시적 가중된 예측을 선택할 시에,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 제 1 예측 데이터는 제 1 오프셋 값을 포함하며,
상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 제 2 예측 데이터는 제 2 오프셋 값을 포함하는, 비디오 인코더 장치. - 제 6 항에 있어서,
상기 비디오 인코더 장치는 집적 회로를 포함하는, 비디오 인코더 장치. - 제 6 항에 있어서,
상기 비디오 인코더 장치는 마이크로프로세서를 포함하는, 비디오 인코더 장치. - 제 6 항에 있어서,
상기 비디오 인코더 장치는 비디오 인코더를 포함하는 무선 통신 디바이스를 포함하는, 비디오 인코더 장치. - 비디오 데이터를 인코딩하는 디바이스로서,
디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하는 수단으로서, 상기 디폴트 가중된 예측은 디폴트 가중치들을 예측 데이터의 복수의 리스트들에 적용하고, 상기 암시적 가중된 예측은 암시적으로 정의된 가중치들을 상기 예측 데이터의 복수의 리스트들에 적용하는, 상기 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하는 수단;
상기 디폴트 가중된 예측의 선택시에, 복수의 계산된 가중치들에 기초하는 명시적 가중된 예측과 상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 수정된 명시적 가중된 예측 사이에서 선택하는 수단;
상기 암시적 가중된 예측의 선택시에, 상기 복수의 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 수정된 명시적 가중된 예측 사이에서 선택하는 수단으로서, 상기 명시적 가중된 예측 및 상기 수정된 명시적 가중된 예측들은, 상기 명시적 가중된 예측 및 상기 수정된 명시적 가중된 예측들이 인코딩된 비트스트림으로의 명시적 가중치들의 인코딩을 발생시킨다는 점에서 상기 디폴트 가중된 예측 및 상기 암시적 가중된 예측과는 상이한, 상기 명시적 가중된 예측과 수정된 명시적 가중된 예측 사이에서 선택하는 수단;
상기 명시적 가중된 예측 또는 수정된 명시적 가중된 예측의 선택에 응답하여 가중된 예측 데이터를 결정하는 수단; 및
상기 가중된 예측 데이터를 사용하여 상기 비디오 데이터를 인코딩하는 수단을 포함하는, 비디오 데이터를 인코딩하는 디바이스. - 제 14 항에 있어서,
라운딩이 사용되었는지를 나타내도록 하나 이상의 신택스 엘리먼트를 인코딩하는 수단을 더 포함하는, 비디오 데이터를 인코딩하는 디바이스. - 제 14 항에 있어서,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 예측 데이터는 제 1 오프셋 값을 포함하고,
상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 예측 데이터는 제 2 오프셋 값을 포함하며,
상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 예측 데이터는 제 3 오프셋 값을 포함하는, 비디오 데이터를 인코딩하는 디바이스. - 제 14 항에 있어서,
상기 디폴트 가중된 예측의 선택시에,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 제 1 예측 데이터는 제 1 오프셋 값을 포함하며,
상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 제 2 예측 데이터는 제 2 오프셋 값을 포함하는, 비디오 데이터를 인코딩하는 디바이스. - 제 14 항에 있어서,
상기 암시적 가중된 예측의 선택시에,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 제 1 예측 데이터는 제 1 오프셋 값을 포함하며,
상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 제 2 예측 데이터는 제 2 오프셋 값을 포함하는, 비디오 데이터를 인코딩하는 디바이스. - 실행될 때, 프로세서로 하여금,
디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하게 하는 명령으로서, 상기 디폴트 가중된 예측은 디폴트 가중치들을 예측 데이터의 복수의 리스트들에 적용하고, 상기 암시적 가중된 예측은 암시적으로 정의된 가중치들을 상기 예측 데이터의 복수의 리스트들에 적용하는, 상기 디폴트 가중된 예측과 암시적 가중된 예측 사이에서 선택하게 하는 명령;
상기 디폴트 가중된 예측의 선택시에, 복수의 계산된 가중치들에 기초하는 명시적 가중된 예측과 상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 수정된 명시적 가중된 예측 사이에서 선택하게 하는 명령;
상기 암시적 가중된 예측의 선택시에,상기 복수의 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 수정된 명시적 가중된 예측 사이에서 선택하게 하는 명령으로서, 상기 명시적 가중된 예측 및 상기 수정된 명시적 가중된 예측들은, 상기 명시적 가중된 예측 및 상기 수정된 명시적 가중된 예측들이 인코딩된 비트스트림으로의 명시적 가중치들의 인코딩을 발생시킨다는 점에서 상기 디폴트 가중된 예측 및 상기 암시적 가중된 예측과는 상이한, 상기 명시적 가중된 예측과 수정된 명시적 가중된 예측 사이에서 선택하게 하는 명령;
상기 명시적 가중된 예측 또는 수정된 명시적 가중된 예측의 선택에 응답하여 가중된 예측 데이터를 결정하게 하는 명령; 및
상기 가중된 예측 데이터를 사용하여 비디오 데이터를 인코딩하게 하는 명령을 포함하는, 컴퓨터 판독가능한 저장 매체. - 제 19 항에 있어서,
실행될 때, 상기 프로세서로 하여금,
라운딩이 사용되었는지를 나타내도록 하나 이상의 신택스 엘리먼트를 인코딩하게 하는 명령들을 더 포함하는, 컴퓨터 판독가능한 저장 매체. - 제 19 항에 있어서,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 예측 데이터는 제 1 오프셋 값을 포함하고,
상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 예측 데이터는 제 2 오프셋 값을 포함하며,
상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 예측 데이터는 제 3 오프셋 값을 포함하는, 컴퓨터 판독가능한 저장 매체. - 제 19 항에 있어서,
상기 디폴트 가중된 예측의 선택시에,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 제 1 예측 데이터는 제 1 오프셋 값을 포함하며,
상기 디폴트 가중된 예측에 의해 정의된 상기 디폴트 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 제 2 예측 데이터는 제 2 오프셋 값을 포함하는, 컴퓨터 판독가능한 저장 매체. - 제 19 항에 있어서,
상기 암시적 가중된 예측의 선택시에,
상기 계산된 가중치들에 기초하는 상기 명시적 가중된 예측과 관련된 제 1 예측 데이터는 제 1 오프셋 값을 포함하며,
상기 암시적 가중된 예측에 의해 정의된 상기 암시적으로 정의된 가중치들에 기초하는 상기 수정된 명시적 가중된 예측과 관련된 제 2 예측 데이터는 제 2 오프셋 값을 포함하는, 컴퓨터 판독가능한 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/499,998 | 2009-07-09 | ||
US12/499,998 US8711930B2 (en) | 2009-07-09 | 2009-07-09 | Non-zero rounding and prediction mode selection techniques in video encoding |
PCT/US2010/041422 WO2011006003A1 (en) | 2009-07-09 | 2010-07-08 | Non-zero rounding and prediction mode selection techniques in video encoding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120048612A KR20120048612A (ko) | 2012-05-15 |
KR101377883B1 true KR101377883B1 (ko) | 2014-04-02 |
Family
ID=41649856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127003434A KR101377883B1 (ko) | 2009-07-09 | 2010-07-08 | 비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8711930B2 (ko) |
EP (1) | EP2452503A1 (ko) |
JP (1) | JP5587410B2 (ko) |
KR (1) | KR101377883B1 (ko) |
CN (1) | CN102474623B (ko) |
TW (1) | TW201103336A (ko) |
WO (2) | WO2011005268A2 (ko) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101356448B1 (ko) | 2008-10-01 | 2014-02-06 | 한국전자통신연구원 | 예측 모드를 이용한 복호화 장치 |
US8867854B2 (en) | 2008-10-01 | 2014-10-21 | Electronics And Telecommunications Research Institute | Image encoder and decoder using undirectional prediction |
US8995526B2 (en) * | 2009-07-09 | 2015-03-31 | Qualcomm Incorporated | Different weights for uni-directional prediction and bi-directional prediction in video coding |
US9161057B2 (en) * | 2009-07-09 | 2015-10-13 | Qualcomm Incorporated | Non-zero rounding and prediction mode selection techniques in video encoding |
US8503528B2 (en) | 2010-09-15 | 2013-08-06 | Google Inc. | System and method for encoding video using temporal filter |
US20120207214A1 (en) * | 2011-02-11 | 2012-08-16 | Apple Inc. | Weighted prediction parameter estimation |
EP2687011A1 (en) * | 2011-03-14 | 2014-01-22 | Thomson Licensing | Method for reconstructing and coding an image block |
US8780971B1 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method of encoding using selectable loop filters |
US8780996B2 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method for encoding and decoding video data |
US8781004B1 (en) | 2011-04-07 | 2014-07-15 | Google Inc. | System and method for encoding video using variable loop filter |
US8885706B2 (en) | 2011-09-16 | 2014-11-11 | Google Inc. | Apparatus and methodology for a video codec system with noise reduction capability |
DK2763414T3 (da) * | 2011-09-29 | 2020-11-30 | Sharp Kk | Billedafkodningsindretning og fremgangsmåde til billedafkodning til udførelse af konvertering af bi-forudsigelse til uni-forudsigelse |
US9131073B1 (en) | 2012-03-02 | 2015-09-08 | Google Inc. | Motion estimation aided noise reduction |
US9344729B1 (en) | 2012-07-11 | 2016-05-17 | Google Inc. | Selective prediction signal filtering |
CN103581690A (zh) * | 2012-08-09 | 2014-02-12 | 联发科技(新加坡)私人有限公司 | 视频译码方法、视频译码器、视频编码方法和视频编码器 |
US9497473B2 (en) * | 2013-10-03 | 2016-11-15 | Qualcomm Incorporated | High precision explicit weighted prediction for video coding |
US10102613B2 (en) | 2014-09-25 | 2018-10-16 | Google Llc | Frequency-domain denoising |
US20160277767A1 (en) * | 2015-03-16 | 2016-09-22 | Thomson Licensing | Methods, systems and apparatus for determining prediction adjustment factors |
JP6052319B2 (ja) | 2015-03-25 | 2016-12-27 | Nttエレクトロニクス株式会社 | 動画像符号化装置 |
KR20200078391A (ko) * | 2018-12-21 | 2020-07-01 | 주식회사 엑스리스 | 영상 신호 부호화/복호화 방법 및 이를 위한 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070000022A (ko) * | 2005-06-24 | 2007-01-02 | 삼성전자주식회사 | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 |
US20090010330A1 (en) * | 2006-02-02 | 2009-01-08 | Alexandros Tourapis | Method and Apparatus for Adaptive Weight Selection for Motion Compensated Prediction |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE358014T1 (de) * | 2002-01-11 | 2007-04-15 | Fiberline As | Verfahren zur herstellung eines faserverstärkten lasttragenden elements |
AU2003208086B2 (en) * | 2002-02-01 | 2007-11-15 | Godo Kaisha Ip Bridge 1 | Moving picture coding method and moving picture decoding method |
US7809059B2 (en) | 2003-06-25 | 2010-10-05 | Thomson Licensing | Method and apparatus for weighted prediction estimation using a displaced frame differential |
US7924921B2 (en) * | 2003-09-07 | 2011-04-12 | Microsoft Corporation | Signaling coding and display options in entry point headers |
US20080225946A1 (en) * | 2004-02-27 | 2008-09-18 | Peng Yin | Error Concealment Technique Using Weighted Prediction |
WO2005104564A1 (ja) * | 2004-04-21 | 2005-11-03 | Matsushita Electric Industrial Co., Ltd. | 動き補償装置 |
US7515637B2 (en) * | 2004-05-21 | 2009-04-07 | Broadcom Advanced Compression Group, Llc | Video decoding for motion compensation with weighted prediction |
US8457203B2 (en) * | 2005-05-26 | 2013-06-04 | Ntt Docomo, Inc. | Method and apparatus for coding motion and prediction weighting parameters |
JP4561508B2 (ja) | 2005-07-08 | 2010-10-13 | ソニー株式会社 | 画像処理装置、画像処理方法およびそのプログラム |
US8867618B2 (en) * | 2005-07-22 | 2014-10-21 | Thomson Licensing | Method and apparatus for weighted prediction for scalable video coding |
JP5275806B2 (ja) | 2005-10-12 | 2013-08-28 | トムソン ライセンシング | スケーラブルビデオ符号化及び復号における重み付け予測方法及び装置 |
WO2007116551A1 (ja) * | 2006-03-30 | 2007-10-18 | Kabushiki Kaisha Toshiba | 画像符号化装置及び画像符号化方法並びに画像復号化装置及び画像復号化方法 |
AU2007232607B2 (en) * | 2006-03-30 | 2010-09-16 | Lg Electronics Inc. | A method and apparatus for decoding/encoding a video signal |
WO2007132647A1 (ja) * | 2006-05-12 | 2007-11-22 | Panasonic Corporation | 動画像復号化装置 |
JP4867497B2 (ja) * | 2006-06-21 | 2012-02-01 | ソニー株式会社 | 情報処理装置および方法、復号装置および方法、プログラム、並びに情報処理システム |
US8831087B2 (en) * | 2008-10-06 | 2014-09-09 | Qualcomm Incorporated | Efficient prediction mode selection |
US9161057B2 (en) * | 2009-07-09 | 2015-10-13 | Qualcomm Incorporated | Non-zero rounding and prediction mode selection techniques in video encoding |
-
2009
- 2009-07-09 US US12/499,998 patent/US8711930B2/en active Active
- 2009-07-10 WO PCT/US2009/050334 patent/WO2011005268A2/en active Application Filing
- 2009-07-10 TW TW098123535A patent/TW201103336A/zh unknown
-
2010
- 2010-07-08 WO PCT/US2010/041422 patent/WO2011006003A1/en active Application Filing
- 2010-07-08 KR KR1020127003434A patent/KR101377883B1/ko active IP Right Grant
- 2010-07-08 EP EP10743277A patent/EP2452503A1/en not_active Withdrawn
- 2010-07-08 CN CN201080029939.0A patent/CN102474623B/zh active Active
- 2010-07-08 JP JP2012519736A patent/JP5587410B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070000022A (ko) * | 2005-06-24 | 2007-01-02 | 삼성전자주식회사 | 다계층 기반의 가중 예측을 이용한 비디오 코딩 방법 및장치 |
US20090010330A1 (en) * | 2006-02-02 | 2009-01-08 | Alexandros Tourapis | Method and Apparatus for Adaptive Weight Selection for Motion Compensated Prediction |
Also Published As
Publication number | Publication date |
---|---|
KR20120048612A (ko) | 2012-05-15 |
US20110007799A1 (en) | 2011-01-13 |
JP2012533224A (ja) | 2012-12-20 |
TW201103336A (en) | 2011-01-16 |
CN102474623A (zh) | 2012-05-23 |
WO2011005268A2 (en) | 2011-01-13 |
CN102474623B (zh) | 2014-12-03 |
WO2011006003A1 (en) | 2011-01-13 |
JP5587410B2 (ja) | 2014-09-10 |
US8711930B2 (en) | 2014-04-29 |
EP2452503A1 (en) | 2012-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101377883B1 (ko) | 비디오 인코딩에서 넌-제로 라운딩 및 예측 모드 선택 기법들 | |
US9609357B2 (en) | Non-zero rounding and prediction mode selection techniques in video encoding | |
US8995526B2 (en) | Different weights for uni-directional prediction and bi-directional prediction in video coding | |
US8995527B2 (en) | Block type signalling in video coding | |
US8831087B2 (en) | Efficient prediction mode selection | |
US8665964B2 (en) | Video coding based on first order prediction and pre-defined second order prediction mode | |
EP2704442B1 (en) | Template matching for video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161229 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171228 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190107 Year of fee payment: 6 |