KR20120099479A - 비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리 필터들을 위한 방법들 및 장치 - Google Patents
비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리 필터들을 위한 방법들 및 장치 Download PDFInfo
- Publication number
- KR20120099479A KR20120099479A KR1020127017125A KR20127017125A KR20120099479A KR 20120099479 A KR20120099479 A KR 20120099479A KR 1020127017125 A KR1020127017125 A KR 1020127017125A KR 20127017125 A KR20127017125 A KR 20127017125A KR 20120099479 A KR20120099479 A KR 20120099479A
- Authority
- KR
- South Korea
- Prior art keywords
- filter
- post
- data
- function block
- filters
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- 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
-
- 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
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/169—Methods 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/186—Methods 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 colour or a chrominance component
-
- 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/42—Methods 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
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리 필터들을 위한 방법들 및 장치들이 제공된다. 본 장치 및 방법은 화상에 대한 입력 데이터를 결과적인 비트스트림으로 인코딩하며, 상기 비디오 인코더는 전치-필터와, 이 전치-필터에 결합된 후치-필터를 포함하고, 전치-필터는 화상에 대한 입력 데이터를 필터링하고, 후치-필터는 화상에 대한 인-루프 재구성된 데이터를 필터링한다(900, 915, 950).
Description
본 출원은 2009년 12월 31일자 미국 가특허출원된 일련 번호 제 61/291,596 호의 이득을 주장하며, 이는 참조로서 본 명세서에 전체에 포함된다.
본 발명은 일반적으로 비디오 인코딩 및 디코딩에 관한 것이며, 특히, 비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리 필터들을 위한 방법들 및 장치들에 관한 것이다.
블록-기반 변환 접근법은, 본질적으로 낮은 복잡성 및 비교 가능한 성능의 성취로 인하여 더욱 향상된 변환 접근법들(서브-밴드 코딩, 예를 들어)과 비교할 때, 표준화 국제 기관/국제 전자 기술 위원회(ISO/IEC), 동화상 전문가 그룹-4(MPEG-4) 파트 10 향상된 비디오 코딩(AVC) 표준/국제 전자 통신 연합, 전자 통신 섹터(ITU-T) H.264 권고(이하, "MPEG-4 AVC 표준")와 같은 현재 비디오 압축 설계들 및 표준들에서 변환들에 대한 일차 선택이었다. 중복 변환들은 복잡성의 극히 적은 증가를 초래하면서, 이산 코사인 변환들(DCTs)과 같은 비-중복 변환들보다 상당히 양호하게 실행한다. 중복 변환들은, 코딩 이득을 최대화하고, 에너지 압축을 최대화하며, 양호한 주파수 응답을 제공하고, 원리의 규칙성을 최대화하거나, 또는 상기 목적들의 조합을 최대화하도록 설계될 수 있다. 특히, 코딩 이득은 레이트-왜곡 성능의 개선으로 직접 전환하기 때문에 관심사다. 변환의 코딩 이득은 "변환으로 재구성 왜곡"의 비율에 대한 "변환 없이 재구성 왜곡"의 비율로서 계산된다. 높은 비트레이트 가정 하에, 중복 이중 직교 변환(LBT)(lapped bi-orthogonal transform)에 대한 수량은 제 1 종래 기술의 접근법에서 다음과 같이 설명된다.
여기서, 는 소스(x)의 분산이고, y는 중복 변환의 출력이며, 는 i th 변환 출력의 분산이며, Ρ i -1 은 중복 변환의 i th 합성 기준(후치-필터 컬럼)이다. 높은 비트레이트 중복 변환의 설계는 수학식 1에 정의된 코딩 이득이 최대로 되는 것을 필요로 한다.
제 2 종래 기술의 접근법에 있어서, 다른 등가물이 시프팅 DCT 연산(shifted DCT operation)이 뒤따르는 전치-필터 연산으로 준-최적의 중복 변환을 분해하기 위해 공개되어 있다. 장점은. 전치-필터 접근법이 현존하는 인코더 및 디코더 루프들의 외측에 적용될 수 있고, 이에 따라, 제 2 종래 기술의 접근법은 현존하는 인코더들 및 디코더들 내에 작은 변화가 거의 없는 것을 요구한다는 것이다.
중복 변환에 대한 전치-필터링 기반 접근법에 있어, 출력(y)은 다음과 같이 표현될 수 있다.
여기서, Shift는 전치-필터 및 블록 변환 사이의 시간 시프트이고, P는 현재 데이터(x)에 적용된 전치-필터이다.
도 1을 참조하면, 시프팅 4x4 DCT 연산이 뒤따르는 4x4 전치-필터로서 4x8 중복 변환의 구현이 참조 번호(100)에 의해 전체적으로 표시되어 있다. 즉, 도 1은 중복 변환의 두 개의 대등한 구현들을 나타낸다. 도 1의 상단 부분에 있어서, 8개 입력 샘플들은 중복 이중 직교 변환에 의해 4개 출력 샘플들로 직접 변환된다. 동일한 수의 전체 입력 및 출력 샘플들을 갖기 위해, 도 1에서 관찰될 수 있는 것처럼, 다음 8개 입력 샘플들이 첫 번째 8개 입력 샘플들과 중복하여 취해진다는 것을 주목한다. 도 1의 하단 부분에 대해서, 구현이 전치-필터를 사용하는 경우, 다음 사항, 즉. 먼저 전치-필터가 4개 입력 샘플들에 입력되고, 이후에, DCT가 적용되는 것이 포함된다. 전치-필터와 이산 코사인 변환 사이의 시프트는 도 1의 상단 부분과 정확히 동일한 방식으로 각각의 4개 출력 샘플들에 대해 8개 입력 샘플들을 처리할 수 있음을 주목한다.
MPEG-4 AVC 표준에서 실행되는 것과 같은 블록-기반 코딩 접근법을 강화하는 이전의 노력은 전처리-필터들 및 후처리-필터들을 사용하는 것과, 예측 코딩 효율에 대한 영향을 무시하면서 코딩 이득을 증가시키는 것을 포함한다. 그러나, 이와 같은 종래 기술의 전치-필터들은 오직 단일 변환만으로 작업하도록 설계되어 있다. 예를 들어, 제 3 종래의 기술 접근법은, 4x4 전치-필터가 인트라-코딩만을 위하여 4x4 DCT로 작업하도록 설계된 계획을 포함한다. 또한, 제 3 종래 기술의 접근법은, 전치-필터링 및 후치-필터링이 하나로 작업하여 높은 압축 효율을 성취하기 위해 레이트-왜곡 최적화기 및 최대 확률 모드 예측기와 같은 종속 인코더 및 디코더 블록들을 변경하는 것에 대해 어떠한 고려도 하지 않았다.
종래 기술의 상기 및 다른 결합 및 단점들은 비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리-필터들을 위한 방법들 및 장치에 관한 본 발명에 의해 다루어진다.
본 발명의 관점에 따라, 장치가 제공된다, 이 장치는 화상에 대한 입력 데이터를 결과적인 비트스트림으로 인코딩하기 위한 비디오 인코더를 포함한다. 비디오 인코더는 전치-필터와, 이 전치-필터에 결합된 후치-필터를 포함한다. 전치-필터는 화상에 대한 입력 데이터를 필터링하고, 후치-필터는 화상에 대한 인-루프 재구성 데이터(in-loop reconstructed data)를 필터링한다.
본 발명의 다른 관점에 따라, 비디오 인코더에서 방법이 제공된다. 본 방법은 화상에 대한 입력 데이터를 결과적인 비트스트림으로 인코딩하는 단계를 포함한다. 비디오 인코더는 전치-필터와, 이 전치-필터에 결합된 후치-필터를 포함한다. 상기 전치-필터는 화상에 대한 입력 데이터를 필터링하고, 후치-필터는 화상에 대한 인-루프 재구성된 데이터를 필터링한다.
본 발명의 또 다른 관점에 따라, 장치가 제공된다. 이 장치는 화상에 대한 잔여 이미지 데이터를 디코딩하기 위한 비디오 디코더를 포함한다. 비디오 디코더는 전치-필터와, 이 전치-필터에 결합된 후치-필터를 포함한다. 전치-필터는 잔여 이미지 데이터를 디코딩하는데 사용하기 위한 기준 화상을 필터링하고, 후치-필터는 화상에 대한 인-루프 재구성된 데이터를 필터링한다.
본 발명의 또 다른 관점에 따라, 비디오 인코더에서 방법이 제공된다. 이 방법은 화상에 대한 잔여 이미지 데이터를 디코딩하는 단계를 포함한다. 비디오 디코더는 전치-필터와, 이 전치-필터에 결합된 후치-필터를 포함한다. 전치-필터는 잔여 이미지 데이터를 디코딩하는데 사용하기 위한 기준 화상을 필터링하고, 후치-필터는 화상에 대한 인-루프 재구성된 데이터를 필터링한다.
본 발명의 이들 및 다른 관점들, 특징들 및 장점들은 첨부된 도면들을 참조하여 이해될 수 있는 예시적인 실시예들의 다음 상세한 설명으로부터 명백해 질 것이다.
화상에 대한 입력 데이터를 결과적인 비트스트림으로 인코딩하기 위한 비디오 인코더를 갖는 장치가 제공되며, 비디오 인코더는 전치- 필터와 이 전치-필터에 결합된 후치- 필터를 포함하고. 전치-필터는 화상에 대한 입력 데이터를 필터링하고, 후치-필터는 인-루프 재구성된 데이터를 필터링한다.
본 발명은 다음 예시된 도면들에 따라 보다 용이하게 이해될 수 있다.
도 1은 4x8 중복 변환의 직접 구현과, 후에 시프팅 4x4 DCT 연산이 따르는 4x4 전치-필터와 동등한 구현을 도시한 도면.
도 2는 본 발명의 실시예에 따라 전처리 필터들 및 후처리 필터들을 갖는 예시적인 비디오 인코더를 도시한 블록도.
도 3은 본 발명의 실시예에 따라 전처리 필터들 및 후처리-필터들을 갖는 예시적인 비디오 디코더를 도시한 블록도.
도 4는 본 발명의 실시예에 따라, 분리된 휘도 및 색도 전치-필터링을 포함하는 이미지 데이터를 인코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 5는 본 발명의 실시예에 따라, 분리된 휘도 및 색도 후치-필터링을 포함하는 이미지 데이터를 디코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 6a 내지 도 6d는 본 발명의 실시예에 따라, 예측-코딩(인트라/인터)을 모델링하기 위해 이용된 함수 I(?,?)에 대해 4개의 가능한 선택들을 도시한 도면.
도 7은 본 발명의 실시예에 따라, 필터, 적응, 및 향상 파라미터들의 오프라인 트레이닝을 위한 예시적인 방법을 도시한 흐름도.
도 8은 본 발명의 실시예에 따라, 관찰된 데이터에 대한 전치-필터링된 추정의 거리를 최소화하여 후치-필터링을 수행하기 위한 예시적인 방법을 도시한 흐름도.
도 9는 본 발명의 실시예에 따라, 전처리 필터링 및 후처리 필터링으로 비디오 데이터를 인코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 10은 본 발명의 실시예에 따라, 전처리 필터링 및 후처리 필터링으로 비디오 데이터를 디코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 11은 본 발명의 실시예에 따라, 분리된 휘도 및 색도 전치-필터링을 포함하는 이미지 데이터를 인코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 12는 본 발명의 실시예에 따라, 분리된 휘도 및 색도 후치-필터링을 포함하는 이미지 데이터를 디코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 13은 본 발명의 실시예에 따라, 리프팅 구현에서 단일 값 분해(SVD)를 사용하여 적응형 전치-필터링 및 후치-필터링을 실행하기 위한 예시적인 방법을 도시한 흐름도.
도 14는 본 발명의 실시예에 따라, 행렬 분해 또는 가우스 소거를 사용하는 필터들의 리프팅 구현을 도출하기 위한 예시적인 방법을 도시한 흐름도.
도 15는 본 발명의 실시예에 따라, 트레이닝 레이트-왜곡 최적기를 위한 예시적인 방법을 도시한 흐름도.
도 16은 본 발명의 실시예에 따라, 트레이닝 최대 확률 모드 예측기(most probable mode predictor)를 위한 예시적인 방법을 도시한 흐름도.
도 17은 본 발명의 실시예에 따라, 하드웨어에서 후치-필터를 효과적으로 구현하는 예시적인 방법을 도시한 흐름도.
도 18은 본 발명의 실시예에 따라, 원래의 플로팅 포인트 적응 필터들(original floating point adaptive filters)의 정수 구현을 결정하기 위한 예시적인 방법을 도시한 흐름도.
도 1은 4x8 중복 변환의 직접 구현과, 후에 시프팅 4x4 DCT 연산이 따르는 4x4 전치-필터와 동등한 구현을 도시한 도면.
도 2는 본 발명의 실시예에 따라 전처리 필터들 및 후처리 필터들을 갖는 예시적인 비디오 인코더를 도시한 블록도.
도 3은 본 발명의 실시예에 따라 전처리 필터들 및 후처리-필터들을 갖는 예시적인 비디오 디코더를 도시한 블록도.
도 4는 본 발명의 실시예에 따라, 분리된 휘도 및 색도 전치-필터링을 포함하는 이미지 데이터를 인코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 5는 본 발명의 실시예에 따라, 분리된 휘도 및 색도 후치-필터링을 포함하는 이미지 데이터를 디코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 6a 내지 도 6d는 본 발명의 실시예에 따라, 예측-코딩(인트라/인터)을 모델링하기 위해 이용된 함수 I(?,?)에 대해 4개의 가능한 선택들을 도시한 도면.
도 7은 본 발명의 실시예에 따라, 필터, 적응, 및 향상 파라미터들의 오프라인 트레이닝을 위한 예시적인 방법을 도시한 흐름도.
도 8은 본 발명의 실시예에 따라, 관찰된 데이터에 대한 전치-필터링된 추정의 거리를 최소화하여 후치-필터링을 수행하기 위한 예시적인 방법을 도시한 흐름도.
도 9는 본 발명의 실시예에 따라, 전처리 필터링 및 후처리 필터링으로 비디오 데이터를 인코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 10은 본 발명의 실시예에 따라, 전처리 필터링 및 후처리 필터링으로 비디오 데이터를 디코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 11은 본 발명의 실시예에 따라, 분리된 휘도 및 색도 전치-필터링을 포함하는 이미지 데이터를 인코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 12는 본 발명의 실시예에 따라, 분리된 휘도 및 색도 후치-필터링을 포함하는 이미지 데이터를 디코딩하기 위한 예시적인 방법을 도시한 흐름도.
도 13은 본 발명의 실시예에 따라, 리프팅 구현에서 단일 값 분해(SVD)를 사용하여 적응형 전치-필터링 및 후치-필터링을 실행하기 위한 예시적인 방법을 도시한 흐름도.
도 14는 본 발명의 실시예에 따라, 행렬 분해 또는 가우스 소거를 사용하는 필터들의 리프팅 구현을 도출하기 위한 예시적인 방법을 도시한 흐름도.
도 15는 본 발명의 실시예에 따라, 트레이닝 레이트-왜곡 최적기를 위한 예시적인 방법을 도시한 흐름도.
도 16은 본 발명의 실시예에 따라, 트레이닝 최대 확률 모드 예측기(most probable mode predictor)를 위한 예시적인 방법을 도시한 흐름도.
도 17은 본 발명의 실시예에 따라, 하드웨어에서 후치-필터를 효과적으로 구현하는 예시적인 방법을 도시한 흐름도.
도 18은 본 발명의 실시예에 따라, 원래의 플로팅 포인트 적응 필터들(original floating point adaptive filters)의 정수 구현을 결정하기 위한 예시적인 방법을 도시한 흐름도.
본 발명은 비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리 필터들을 위한 방법들 및 장치에 관한 것이다.
본 설명은 본 발명을 설명한다. 따라서, 본 기술에 숙련된 사람들은, 비록 본 명세서에 명시적으로 설명되거나 도시되어 있지 않지만, 본 발명을 구체화하고 본 발명의 정신과 범위 내에서 포함되는 여러 장치를 고안해 낼 수 있다는 것을 알 수 있다.
본 명세서에 인용된 모든 예제 및 조건부 언어는 발명자(들)에 의해 기술 발전에 기여한 본 발명 및 개념을 이해하는데 도움을 주기 위한 교육적인 목적이며, 이와 같이 특히 인용된 예제들 및 조건들에 대한 제한 없이 해석될 수 있다.
또한, 본 발명의 원리들, 관점들, 및 실시예들을 인용하는 본 명세서의 모든 문장들뿐만 아니라 그 특정 예제는 구조 및 그 구조의 기능적인 등가물들을 포함하는 것으로 의도되었다. 또한, 이와 같은 등가물은 현재 공지된 등가물뿐만 아니라 미래에 개발될 등가물, 즉 구조와 관계없이 동일한 기능을 수행하는 개발된 소자들을 포함하는 것으로 의도되었다.
따라서, 예를 들어, 본 기술 분야에 숙련된 사람들은 블록도들이 본 발명을 구체화하는 예시된 회로의 개념도들을 나타낸다는 것을 알 수 있다. 유사하게, 흐름 차트들, 흐름도들, 상태 천이도, 의사 코드 등이 컴퓨터 판독 가능한 매체에서 실질적으로 표현될 수 있고, 컴퓨터 또는 프로세서가 명시적으로 도시되는지에 상관없이 그러한 컴퓨터 또는 프로세스에 의해 실행될 수 있는 여러 프로세스들을 나타냄을 알 수 있다.
도면들에 도시된 여러 소자들의 기능들은 전용 하드웨어뿐만 아니라 적당한 소프트웨어와 함께 소프트웨어를 실행할 수 있는 하드웨어의 이용을 통해 제공될 수 있다. 기능들이 프로세서에 의해 제공될 때, 기능들은 단일 전용 프로세서, 단일 공유 프로세서, 또는 일부가 공유될 수 있는 복수의 개별 프로세서에 의해 제공될 수 있다, 또한, 용어 “프로세서” 또는 “컨트롤러”의 명시적인 사용은 소프트웨어를 실행할 수 있는 하드웨어로 배타적으로 지칭하는 것으로 해석되는 것은 아니며, 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 및 비휘발성 스토리지를 제한 없이 암시적으로 포함할 수 있다.
다른 하드웨어, 종래 및/또는 주문 제작된 것(custom)이 포함될 수도 있다. 유사하게, 도면들에 도시된 임의의 스위치들은 단지 개념적으로 도시되어 있다. 이들 기능은 프로그램 논리의 동작을 통해, 전용 논리를 통해, 프로그램 제어 및 전용 논리의 상호 작용을 통해, 심지어 수동으로 실행될 수 있으며, 특정 기술은 문맥을 통해 보다 구체적으로 이해로서 실행자에 의해 선택될 수 있다.
본 특허 청구 범위에 있어서, 특정 기능을 수행하기 위한 수단으로서 표현된 임의의 구성 요소는, 예를 들어, a) 기능을 수행하는 회로 소자들의 조합, 또는 b) 기능을 수행하기 위한 소프트웨어를 실행하는 적당한 회로와 결합된 펌웨어, 마이크로코드 등을 포함하는 임의 형태의 소프트웨어를 포함하는 기능을 수행하는 어떤 방법을 포함하는 것으로 의도되었다. 이와 같은 청구 범위에서 정의된 본 발명은 여러 인용된 수단들에 의해 제공되는 기능들이 조합되고, 청구 범위에 기재된 방식으로 결합한다는 사실에 기초한다. 따라서, 이들 기능들을 제공하는 임의의 수단은 본 명세서에 기재된 것들에 대응하는 것으로 간주한다.
본 명세서에서 본 발명의 "일 실시예" 또는 "한 실시예"뿐만 아니라 그 다른 변경안들 또한 본 실시예와 함께 기재된 특정한 특징, 구조, 특성 등이 본 발명의 적어도 일 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전체의 여러 곳에 기재된 문구 “일 실시예에 있어서” 또는 “한 실시예에 있어서”의 표현은 어떤 다른 변경안들을 포함하여, 모두 동일한 실시예를 참조할 필요는 없다.
다음 기재, 즉 "/", "및/또는", 및 "중 적어도 어느 하나"의 사용, 예를 들어, "A/B", "A 및/또는 B" 및 "A와 B의 적어도 하나"의 사용은 제 1 나열된 옵션(A)만의 선택, 또는 제 2 나열된 옵션(B)만의 선택, 또는 둘 모두의 옵션들(A 및 B)의 선택을 포함하는 것으로 의도되었음을 알 수 있다. 다른 예제로서, "A, B, 및/또는 C" 및 "A, B, 및 C 중 적어도 하나"의 경우에, 이와 같은 구문은 제 1 나열된 옵션(A)만의 선택, 또는 제 2 나열된 옵션(B)만의 선택, 제 3 나열된 옵션(C)만의 선택, 또는 제 1 및 제 2 나열된 옵션들(A 및 B)만의 선택, 또는 제 1 및 제 3 나열된 옵션들(A 및 C)만의 선택, 또는 제 2 및 제 3 나열된 옵션들(B 및 C)만의 선택, 또는 3개 모두의 옵션들(A 및 B 및 C)의 선택을 포함하는 것으로 의도되었다. 이는 본 기술 및 관련된 기술들에 숙련된 사람에 의해 쉽게 알 수 있는 것처럼, 나열된 많은 항목들에 대해 확장될 수 있다.
또한, 본 명세서에 이용된 단어들 “화상” 및 “이미지”는 상호 교환적으로 사용될 수 있고, 비디오 시퀀스로부터 정지 이미지 또는 화상을 지칭한다. 공지된 것처럼, 화상은 프레임 또는 필드가 될 수 있다.
또한, 본 명세서에 사용된 용어들 "전치-필터" 및 "전처리 필터"도 상호 교환적으로 사용될 수 있다. 유사하게, 용어들 "후치-필터" 및 "후처리-필터"는 본 명세서에서 상호 교환적으로 사용된다. 본 발명은 인코더 및 디코더에 적용될 수 있음을 알 수 있다.
또한, 본 명세서에 사용된 것처럼, 문구 "정확한 반전"은, 전치-필터와 후치-필터 사이의 관계를 설명하는데 이용될 때, 후치-필터로부터 획득한 필터링 결과가 전치-필터로부터 획득한 필터링 결과와 반전이 되도록 선택되는 전치-필터 및 후치-필터에 대한 필터 계수들 및 필터 파라미터들을 지칭한다. 즉, "정확한 반전"은 전치-필터와 후치-필터 사이의 관계를 설명하는데, 어떤 다른 처리(예를 들어, 양자화)의 부재에서, 전치-필터에 의해 처리된 다음에 후치-필터에 의해 처리되는 전치-필터의 입력은 후치-필터의 출력과 동일하게 된다.
또한, 본 명세서에 이용된 것처럼, 문구 "실질적인 반전"은 전치-필터와 후치-필터 사이의 관계를 설명하는데 사용될 때, 후치-필터로부터 획득한 필터링 결과가 전치-필터로부터 획득한 필터링 결과의 실질적인 반전이 되도록 선택되는 전치-필터 및 후치-필터에 대한 필터 계수들 및 필터 파라미터들에 적용된다. 유사하게, 문구 "실질적인 반전"은, 후치-필터가 적응되는 경우 전치-필터와 후치-필터 사이의 관계를 설명하는데 이용될 때, "작은" 변화들이 적응에 크게 영향을 주지 않도록 선택되는 후치-필터에 대한 적응 파라미터에 적용된다. 이러한 정의는 안정성의 수학적 개념과 관련된다. 즉, 입력의 작은 변화가 주어질 때, 출력 변화 또한 작다. 예를 들어, 출력의 차이의 표현이 어떤 상수를 곱한 입력의 차이의 표준보다 작다는 것을 명시함으로써 수학적으로 표현될 수 있다. 입력(예를 들어, 양자화 데이터)의 변화들이 동일한 명령의 출력의 변화들을 의미하기 때문에, 이러한 사실의 예시적인 예는 선형 시스템이다. 동일한 사상은, "정확한 반전"을 보장하지 않지만, 실질적으로 가까운 “실질적인 반전”을 의미하며, 여기서, "실질적으로"는 예를 들어, 시스템에서 수용 가능한 어떤 입력에 대해 입력 및 출력 차이의 표준에 관련된 상수로서 표시될 수 있다.
예시 및 설명을 위해, 본 명세서에서 예제들이 MPEG-4 AVC를 사용하는 MPEG-4 AVC 표준 이상의 개선들을 통해 설명되어 있다. 설명을 위한 기준으로서 표준은 MPEG-4 AVC 표준 이상의 개선들 및 확장들을 설명한다. 그러나, MPEG-4 AVC 표준 및/또는 그 확장에만 제한을 두지 않는다는 것을 알 수 있다. 본 명세서 제공된 본 발명의 개시될 때, 본 기술에 관련된 통상의 사람은, 본 발명이 동일하게 적용될 수 있고, 다른 표준들의 확장에 적용될 때, 또는 아직 개발되지 않은 표준들 내에 적용 및/또는 그 표준 내에 포함될 때 적어도 유사한 이득을 제공할 것이라는 것을 쉽게 알 수 있다. 또한, 본 발명이 표준들에 부합하지 않지만, 독점 정의들(proprietary definitions)에 적합한 비디오 인코더들 및 비디오 디코더들에 적용될 수도 있다는 것을 알 수 있다.
위에서 언급한 것처럼, MPEG-4 AVC 표준에 사용되는 블록-기반 코딩 접근법은 인터-변환 블록 경계들에서 존재하는 상관 관계를 효과적으로 이용하지 않는다. 명확히 하기 위해, 본 명세서에 사용된 것처럼, "인터-변환 블록"은 상이한 변환들에 의해 처리된 데이터의 블록으로 지칭한다. 블록 내의 공간적 상관 관계는 변환에 의해 제거되는데, 즉 인트라-변환 데이터는 변환에 의해 비상관된다. 그러나, MPEG-4 AVC에서 변환들이 중복되지 않기 때문에, 다른 변환 블록들에 속하는 데이터들 사이의 상관 관계는 적당히 제거되지 않는다. 본 발명에 따라, 인트라-변환 블록 상관 관계를 이용하고 비디오 코딩에서 관찰된 블록킹 아티팩트들을 감소시키는 적응 전처리 필터들 및 후처리 필터들의 결합된 세트를 정의하는 방법 및 장치를 공개한다. 예를 들어, 필터들의 결합된 세트는 하나 이상의 후처리 필터들에 결합된 하나 이상의 전처리 필터들을 포함할 수 있다.
한 실시예에 있어서, 필터 적응은, 예를 들어, 입력 데이터 및/또는 "양자화기 스텝 사이즈" 및/또는 "분산"과 같은 로컬 데이터 통계에 대해 계산된 "그래디언트"에 기초할 수 있다. 적어도 한 실시예는 "예측 (공간적 또는 시간적인) 메커니즘과 관련하여 작동"하는 전처리 필터들 및 후처리 필터들을 설계 및 최적화하는 것에 관련하여 공개된다. 이 결합 설계 및 최적화는 더욱 양호한 전체 레이트-왜곡 성능을 성취하는데 도움이 된다. 또한, 전처리 필터들 및 후처리 필터들은 에지의 보존에 도움이 되고, 이는 더욱 양호한 예측 품질로 이어진다. 본 발명은 더욱 양호한 성능 이득들을 달성하기 위해 레이트-왜곡 최적화기 및 최대 확률 모드 예측기와 같은 현존하는 비디오 아키텍쳐를 변경하는 방법을 서술한다.
전처리 필터들 및 후처리 필터들의 목적은 인트라-변환 블록 상관 관계를 사용하여 이에 따라 높은 코딩 효율을 달성하기 위한 것이다.
부가적으로, 전처리 필터들 및 후처리 필터들이 변환 블록 경계들에 적용되기 때문에, 블록-기반 비디오 코딩에서 종종 보이는 블록킹 아티팩트들을 감소시키는데 도움이 된다.
일반적으로, 전치-필터는 중복이 예측을 사용하여 제거되기 이전에 원래의 프레임에 적용된다. 강한 전치-필터가 원래의 프레임에 적용되는 경우, 예측에 사용되는 픽셀들을 매우 심각하게 교란시킬 것이다. 결과적으로, 예측의 좋지 못한 품질은 예측 코딩의 압축 효율을 감소시킬 것이다. 결과적으로, 전체 인코더 및 디코더 압축 효율은 또한 감소될 것이다. 예측 코딩에 따른 전치-필터링의 영향을 고려하여 보상하기 위하여, 새로운 전치-필터 설계 방법론을 공개한다. 한 실시예에 있어서, 전치-필터는 더욱 양호한 압축 효율을 위한 "분산(variance)"과 같은 입력 데이터 및/또는 "양자화기 스텝 사이즈" 및/또는 로컬 데이터 통계를 계산한 "그래디언트"에 적응된다. 결합된 "적응" 후치-필터는 인코더에서 전치-필터에 의해 실행되는 연산들을 반전시키도록 설계된다. 시스템의 성능은, 전처리 필터들 및 후처리 필터들과 함께 작동하도록 레이트-왜곡 최적화기 및 최대 확률 모드 예측기를 변경하여 더 개선된다.
도 2를 참조하면, 전처리 필터들 및 후처리 필터들을 갖는 예시적인 비디오 인코더는 참조 번호(200)로 전체적으로 표시되어 있다. 비디오 인코더(200)는 결합기(210)의 제 1 입력과 신호 통신으로 연결된 제 1 출력을 갖는 전치-필터(205)를 포함한다. 결합기의 출력은 변환기(T)(215)의 입력과 신호 통신으로 연결된다. 변환기(T)(215)의 출력은 양자화기(Q)(220)의 입력과 신호 통신으로 연결된다. 양자화기(Q)(220)의 출력은 엔트로피 코더(225)의 입력 및 역 양자화기(IQ)(230)의 입력과 신호 통신으로 연결된다. 역양자화기(IQ)(230)의 출력은 역변환기(IT)(235)의 입력과 신호 통신으로 연결된다. 역변환기(IT)(235)의 출력은 결합기(240)의 제 1 비반전 입력과 신호 통신으로 연결된다. 결합기(240)의 출력은 후치-필터(245)의 제 1 입력 및 인트라-예측기(280)의 입력과 신호 통신으로 연결된다. 후치-필터(245)의 출력은 디블록킹 필터(250)의 입력 및 루프 필터(255)의 입력과 신호 통신으로 연결된다. 루프 필터(255)의 출력은 기준 메모리(260)의 입력과 신호 통신으로 연결된다. 기준 메모리(260)의 제 1 출력은 모션/인트라 보상기(265)의 제 1 입력과 신호 통신으로 연결된다. 기준 메모리(260)의 제 2 출력은 모션 추정기(270)의 제 2 입력과 신호 통신으로 연결된다. 모션 추정기(270)의 출력은 모션/인트라 보상기(265)의 제 2 입력과 신호 통신으로 연결된다. 모션/인트라 보상기(265)의 출력은 전치-필터(275)의 제 1 입력과 신호 통신으로 연결된다. 전치-필터(275)의 출력은 인트라/인터 선택기(285)의 제 1 입력과 신호 통신으로 연결된다. 인트라/인터 선택기(285)의 출력은 결합기(240)의 제 2 비반전 입력 및 결합기(210)의 제 2 비반전 입력과 신호 통신으로 연결된다. 인트라-예측기(280)의 출력은 인트라/인터 선택기(285)의 제 2 입력과 신호 통신으로 연결된다. 엔트로피 코더(225)의 출력은 비트스트림을 출력하기 위해 비디오 인코더(200)의 출력으로서 사용될 수 있다, 디블록킹 필터(250)의 출력은 재구성 출력을 위해 비디오 인코더(200)의 출력으로서 사용될 수 있다. 전치-필터(205)의 입력은 비디오 소스 및/또는 이에 관한 콘텐츠를 수신하기 위해 비디오 인코더의 입력으로서 사용될 수 있다. 전치-필터(205), 결합기(210), 및 변환기(T)(215)는 역변환기(I)(235), 결합기(240) 및 후치-필터(245)로부터 형성되는 등가 반전 중복 변환(277)에 대한 등가 순방향 중복 변환(266)을 형성한다.
도 3을 참조하면, 전처리 필터들 및 후처리 필터들을 갖는 예시적인 비디오 디코더는 참조 번호(300)로 전체적으로 표시되어 있다. 비디오 디코더(300)는 엔트로피 디코더(310)의 입력과 신호 통신으로 연결된 출력을 갖는 입력 버퍼(305)를 포함한다. 엔트로피 디코더(310)의 출력은 역양자화기(315)의 입력과 신호 통신으로 연결된다. 역양자화기(320)의 출력은 결합기(325)의 제 1 비반전 입력과 신호 통신으로 연결된다. 결합기(325)의 출력은 후치-필터(330)의 입력 및 인트라-예측기(365)의 입력과 신호 통신으로 연결된다. 후치-필터(330)의 출력은 루프 필터(340)의 입력과 신호 통신으로 연결된다. 루프 필터(340)의 출력은 기준 메모리(345)의 입력과 신호 통신으로 연결된다. 기준 메모리(345)의 출력은 모션/인트라 보상기(350)의 입력과 신호 통신으로 연결된다. 모션/인트라 보상기(350)의 출력은 전치-필터(355)의 입력과 신호 통신으로 연결된다. 전치-필터(355)의 출력은 인트라/인터 선택기(360)의 제 1 입력과 신호 통신으로 연결된다. 인트라/인터 선택기(360)의 출력은 결합기(325)의 제 2 비반전 입력과 신호 통신으로 연결된다. 인트라-예측기(365)의 출력은 인트라/인터 선택기(360)의 제 2 입력과 신호 통신으로 연결된다. 입력 버퍼(305)의 입력은 입력 비트스트림을 수신하기 위해 비디오 인코더(300)의 입력으로서 사용될 수 있다. 디블록킹 필터(335)의 출력은 비트스트림에 대응하는 하나 이상의 화상들을 출력하기 위해 비디오 디코더(300)의 출력으로서 사용될 수 있다. 역변환기(IT)(320), 결합기(325), 및 후치-필터(330)는 등가 역중복 변환(377)을 형성한다.
따라서, 도 2는 원래의 비디오 소스를 전치-필터링하는 비디오 인코더의 실시예들을 도시한다. 결합된 후처리-필터(245)는 인트라-코딩을 위해 코딩 루프 외측에 배치되지만, 인터-코딩을 위해서는 내측에 배치된다. 도 3은 대응하는 디코더를 도시하며, 여기서, 전처리 필터(355) 및 후처리 필터(330)와 이들 적응 파라미터들은 개별적으로 휘도 및 색도 성분들에 대해 오프라인으로 각각 도출된다. 분리된 파라미터들은 상이한 시퀀스 해상도들에 대해서도 획득된다.
전치-필터들(예를 들어, 205 및 275)이 후치-필터(245)에 물리적으로 결합되지 않지만, 전치-필터들(205, 275)과 후치-필터(245)는 “결합”되는데, 즉, 이들은(전치-필터링된) 입력과 동일하거나 가능한 가까운 출력을 전치-필터(205)에 제공하기 위해 동작하도록 관계를 갖는 것을 주목한다. 즉, 후치-필터(245)에 대한 필터 계수들 및 파라미터들은 후치-필터(245)에 의해 실행되는 필터링 동작이 전치-필터들(205, 275)에 의해 실행되는 필터링 동작과 실질적으로 반전이 되도록 선택된다.
도 4를 참조하면, 분리된 휘도 및 색도 전치-필터링을 포함하는 이미지 데이터를 인코딩하기 위한 예시적인 방법은 참조 번호(400)에 의해 전체적으로 표시된다. 방법(400)은 기능 블록(407)에 제어를 전달하는 시작 블록(405)을 포함한다. 기능 블록(407)은 데이터(소스/재구성 데이터)를 입력하고, 판단 블록(410)에 제어를 전달한다. 판단 블록(410)은 필터링되는 현재의 성분이 휘도 성분인지의 여부를 결정한다. 휘도 성분인 경우, 제어는 기능 블록(415) 및 기능 블록(435)에 전달된다. 휘도 성분이 아닌 경우, 기능 블록(440) 및 기능 블록(460)에 제어가 전달된다. 기능 블록(415)은 휘도 적응 파라미터를 설정하고, 기능 블록(435)에 제어를 전달한다. 기능 블록(435)은 휘도 전치-필터링[기능 블록(415)에 의해 설정된 휘도 적응 파라미터를 사용하여]을 실행하고, 기능 블록(465)에 제어를 전달한다. 기능 블록(465)은 전치-필터링된 데이터를 출력하고, 종료 블록(499)에 제어를 전달한다. 기능 블록(440)은 색도 적응 파라미터를 설정하고, 기능 블록(460)에 제어를 전달한다. 기능 블록(460)은 색도 전치-필터링[기능 블록(440)에 의해 설정된 색도 적응 파라미터를 사용하여]을 실행하고, 기능 블록(465)에 제어를 전달한다. 기능 블록(415)에 관련하여, 인코더 세팅들(420), 예측기 모드(425)와, 변환 사이즈 및 타입(430)에 기초하여 휘도 적응 파라미터를 설정한다. 기능 블록(440)에 관련하여, 인코더 세팅들(445), 예측기 모드(450)와, 변환 사이즈 및 타입(455)에 기초하여 색도 적응 파라미터를 설정한다.
도 5를 참조하면, 분리된 휘도 및 색도 후치-필터링을 포함하는 이미지 데이터를 디코딩하기 위한 예시적인 방법은 참조 번호(500)로 전체적으로 표시되어 있다. 방법(500)은 기능 블록(507)에 제어를 전달하는 시작 블록(505)을 포함한다. 기능 블록(507)은 재구성 데이터를 입력하고, 판단 블록(510)에 제어를 전달한다.
판단 블록(510)은 필터링되는 현재 성분이 휘도 성분인지의 여부를 결정한다. 휘도 성분인 경우, 제어는 기능 블록(515) 및 기능 블록(535)에 전달된다. 휘도 성분이 아닌 경우, 기능 블록(540) 및 기능 블록(560)에 제어가 전달된다. 기능 블록(515)은 휘도 적응 파라미터를 설정하고, 기능 블록(535)에 제어를 전달한다. 기능 블록(535)은 휘도 후치-필터링[기능 블록(515)에 의해 설정된 휘도 적응 파라미터를 사용하여]을 실행하고, 기능 블록(565)에 제어를 전달한다. 기능 블록(565)은 후치-필터링된 데이터를 출력하고, 종료 블록(599)에 제어를 전달한다. 기능 블록(540)은 색도 적응 파라미터를 설정하고, 기능 블록(560)에 제어를 전달한다. 기능 블록(560)은 색도 후치-필터링[기능 블록(540)에 의해 설정된 색도 적응 파라미터를 사용하여]을 실행하고, 기능 블록(565)에 제어를 전달한다. 기능 블록(515)에 관련하여, 인코더 세팅들(520), 예측기 모드(525)와, 변환 사이즈 및 타입(530)에 기초하여 휘도 적응 파라미터를 설정한다. 기능 블록(540)에 관련하여, 인코더 세팅들(545), 예측기 모드(550)와, 변환 사이즈 및 타입(555)에 기초하여 색도 적응 파라미터를 설정한다.
파라미터 도출은 전치-필터의 설계에서 시작한다. 전치-필터 출력의 시간-도메인 표현은 다음과 같이 재기록된다.
여기서, D는 블록 변환(예를 들어, 이산 코사인 변환(DCT), 카루넨 루베 변환(KLT), 및/또는 모드 종속 방향 변환(MDDT)이며, Prev(x)는 x를 예측하는데 사용되는 데이터이다. 함수 I(?,?)는 고려 대상인 코딩 설계에 사용되는 예측기의 동작을 캡쳐하기 위해 모델링된다. 상이한 모델들은 다른 예측기들을 나타내기 위해 선택될 수 있다. 도 6a 내지 도 6d를 참조하면, 예측 코딩(인트라/인터)을 모델링하기 위해 사용되는 함수 I(?,?)에 대한 4개의 가능한 선택들이 참조 번호들(610, 620, 630, 및 640)로 각각 전체적으로 표시되어 있다. 특히, 도 6a은 함수에 대한 선택(610)을 도시하며, 여기서, 평균 제곱 에러를 최소화하는 라인이 픽셀들의 이전 서브세트을 통해 적응되고, 현재 픽셀들에 대한 예측을 획득하기 위해 외삽된다. 도 6b는 현재 픽셀들에 대한 예측으로서 이전 픽셀이 카피되는 함수에 대한 선택(620)을 도시한다.
도 6c는 현재 블록에 대한 예측으로서 이전 블록이 카피된 함수에 대한 선택(630)을 도시한다. 도 6d는 평균 제곱 에러를 최소화하는 라인이 픽셀들의 이전 서브세트을 통해 적응되고, 현재 블록들에 대한 예측을 획득하기 위해 외삽되는 함수에 대한 선택(640)을 도시한다. 선택들(610 및 620)은 고려 대상인 전체(x)에 대한 예측을 획득하기 위해 반복적으로 적용될 수 있다.
전체 MPEG-4 AVC 표준 전치-필터 설계 문제는 다음과 같이 기술될 수 있다.
상기 문제점을 다음("역 DCT"로 인해 재구성에서 왜곡이 증가하고, "예측-재구성"이 고정된 배수되는 가정에 대응)과 같이 접근한다.
이러한 방식으로, 적어도 하나의 구현에 있어서, 본 발명에 따른 필터들을 설계하는 방법은 예측 코딩 효율에 대한 전치-필터링의 영향을 포함한다. 수학식 6을 해결하여 획득한 해결들은 진화형 최적 알고리즘(evolutionary optimization algorithm)을 배정할 때 사용하여 더 개선될 수 있다.
레이트-왜곡 최적화기(코딩 모드 선택을 실행하는)와 같은 다음 시스템 블록들과 최대 확률 모드 예측기는 설계된 전처리-필터들 및 후처리-필터들과 협력하여 작업하도록 변경 및 트레이닝된다. 레이트-왜곡 최적화기에 대한 변경은 단지 인코더에만 변경된다.
전처리 필터 파라미터들 및 후처리 필터 파라미터들, 적응 파라미터들 및 시스템 파라미터들은 목적 함수, 예를 들어, 코딩 이득, 에너지 압축, 주파수 응답, 원리의 규칙성, 또는 일부 또는 전체의 상기 목적들의 선형 조합을 최소화하여 획득된다. 파라미터들의 모든 트레이닝 및 결정은 대표적인 시퀀스 서브세트에서 오프라인으로 실행된다. 트레이닝이 완료되면, 이들 파라미터들은 모든 비디오 시퀀스에 대해 사용될 수 있다.
도 7을 참조하면, 필터, 적응, 및 향상 파라미터들의 오프라인 트레이닝을 위한 예시적인 방법은 참조 번호(700)에 의해 전체적으로 표시되어 있다. 방법(700)은 기능 블록(710)에 제어를 전달하는 시작 블록(705)을 포함한다. 기능 블록(710)은 트레이닝 데이터를 입력하고, 기능 블록(715)에 제어를 전달한다. 기능 블록(715)은 트레이닝 데이터에 기초하여 필터, 적응, 및 향상 파라미터들을 결정하고, 기능 블록(720)에 제어를 전달한다. 기능 블록(720)은 파라미터들을 저장하고, 종료 블록(799)에 제어를 전달한다.
후치-필터는 전치-필터에 결합되어 전치-필터에 의해 수행된 처리를 반전시킨다. 비적응 고정된 필터들에 대해서, 후치-필터는 전치-필터의 정확한 반전이 된다. 고정된 필터링은 심지어 필터링 하지 않고 성능 개선을 제공하지만, 이 성능 개선은 필터 적응에 의해 더 향상될 수 있다.
전치-필터 적응들 및 후치-필터 적응들에 대한 가능한 변경안 및 실시예들을 설명한다.
적응:
전치-필터에서 적응이 원래의 데이터에 기초하면, 후치-필터는 원래의 데이터(예를 들어, 디코더 측면에서)의 비가용성으로 인하여 완전한 반전이 될 수 없다. 이러한 경우에, 후치-필터는 후치-필터에 입력되는 데이터에 기초하여 적응을 추정한다. 두 개의 새로운 후치-필터링 실시예들이 다음과 같이 가능하다.
제 1 실시예에 있어서, 적응형 전치-필터링 될 때, 현재 관찰에 가장 가까운 출력 벡터를 제공하는 원래의 데이터 벡터를 추정한다. 이러한 추정은 컨벡스 또는 비-컨벡스 최적화 중 어느 하나를 이용하여 실행될 수 있다.
도 8을 참조하면, 관찰된 데이터에 대해 전치-필터링된 추정의 거리를 최소화하여 후치-필터링을 실행하기 위한 예시적인 방법이 참조 번호(800)에 의해 전체적으로 표시되어 있다. 방법(800)은 기능 블록(810)에 제어를 전달하는 시작 블록(805)을 포함한다. 기능 블록(810)은 입력 관찰을 수신하고, 기능 블록(815)에 제어를 전달한다. 기능 블록(815)은 추측(guess)(x)을 작성하고, 기능 블록(820)에 제어를 전달한다. 기능 블록(820)은 적응형 필터링을 수행하고, 기능 블록(825)에 제어를 전달한다. 기능 블록(825)은 추측으로부터 관찰까지의 거리를 측정하고, 판단 블록(845)에 제어를 전달한다. 판단 블록(845)은 이전 추측(거리로부터 결정될 때)으로부터 개선의 존재 여부를 결정한다. 개선이 존재하는 경우, 제어는 기능 블록(815)으로 복귀된다. 개선이 존재하지 않는 경우, 제어는 기능 블록(850)으로 전달된다. 기능 블록(850)은 관찰에 가장 가까운 추측을 출력하고, 종료 블록(899)에 제어를 전달한다. 기능 블록(820)에 대해서, 인코더 세팅들(835), 예측기 모드(830)와, 변환 사이즈 및 타입(840)에 기초하여 적응 필터링을 실행한다.
제 2 실시예에 있어서, 관찰된 데이터 벡터에 기초하여 “사용되었던 적응형 전치-필터”를 추정하고, 후치-필터 변환에 대응하는 역행렬을 계산한다. 이후에, 이러한 역행렬은 후치-필터링을 실행하는데 사용된다. 전치-필터의 선택은 입력 데이터(예를 들어, 예측기 모드 또는 인코딩 세팅들과 같은 있을 수 있는 다른 데이터)에 적응적으로 의존한다. 따라서, 선택된 전치-필터는 우측 후치-필터를 반전 전치-필터 공정에 적용하기 위해 추론되어야 하는데, 즉, 사용된 전치-필터의 추정이 실행되어야 한다. 적당한 후치-필터를 적용하기 위해 사용된 전치-필터를 추론 또는 추정하기 위해, 디코더는 사용 가능한 필터링 되어 양자화된 데이터를 갖는데, 즉 디코더는 사용된 전치-필터의 추정을 실행하여 후치-필터에 대응하는 역행렬을 계산하기 위해 이전에 설명한 데이터[예를 들어, 입력 데이터, 다른 데이터(예를 들어, 예측기 모드, 인코딩 세팅들, 등), 및 필터링 되어 양자화된 데이터]를 관찰 및 분석할 수 있다.
상기 언급한 접근법은 후치-필터가 전치-필터를 대략 반전시킨다.
도 9를 참조하면, 전처리 필터링 및 후처리 필터링으로 비디오 데이터를 인코딩하기 위한 예시적인 방법은 참조 번호(900)에 의해 전체적으로 표시되어 있다 방법(900)은 기능 블록(910)에 제어를 전달하는 시작 블록(905)을 포함한다. 기능 블록(910)은 비디오 소스 데이터를 입력하고, 기능 블록(915), 기능 블록(965), 및 기능 블록(960)에 제어를 전달한다. 기능 블록(915)은 비디오 소스 데이터를 전치-필터링하고, 기능 블록(920)에 제어를 전달한다. 기능 블록(920)은 비디오 소스 데이터에 대한 잔류(residue)(예를 들어, 비디오 소스 데이터로부터의 원래의 화상과 기준 화상 사이의 차이, 여기서, 기준 화상은 예측으로서 또한 공지)를 계산하고, 기능 블록(925)에 제어를 전달한다. 기능 블록(925)은 잔류에 대한 변환을 적용하여 그들에 대한 계수들을 획득하고, 기능 블록(930) 및 기능 블록(965)에 제어를 전달한다. 기능 블록(930)은 계수들을 양자화하여 양자화된 계수들을 획득하고, 기능 블록(935) 및 기능 블록(965)으로 제어를 전달한다. 기능(935)은 양자화된 계수들을 역양자화 하여 역양자화된 계수들 획득하고, 기능 블록(940), 기능 블록(975), 및 기능 블록(980)에 제어를 전달한다. 기능 블록(940)은 역양자화된 계수들에 역변환을 적용하여 재구성된 잔류를 획득하고, 기능 블록(945), 기능 블록(975) 및 기능 블록(980)에 제어를 전달한다. 기능 블록(945)은 재구성된 잔류를 예측에 부가하여 재구성된 화상을 획득하고, 기능 블록(950), 기능 블록(975) 및 기능 블록(970)에 제어를 전달한다. 기능 블록(950)은 재구성된 화상에 대해 후치-필터링을 실행하여 재구성되어 후치-필터링된 화상을 획득하고, 기능 블록(955)에 제어를 전달한다. 기능 블록(955)은 재구성되어 후치-필터링된 화상의 전치-필터링을 실행하고, 기능 블록(960)에 제어를 전달한다. 기능 블록(960)은 인터-예측을 실행하고, 기능 블록(920), 기능 블록(945), 기능 블록(975), 기능 블록(965), 및 기능 블록(980)으로 제어를 복귀시킨다. 기능 블록(965)은 전치-필터 선택을 포함하는 인코더 적응을 실행하고, 기능 블록(915)으로 제어를 복귀시킨다. 기능 블록(970)은 인트라-예측을 실행하고, 기능 블록(980), 기능 블록(945), 기능 블록(975), 기능 블록(920), 및 기능 블록(965)으로 제어를 복귀시킨다. 기능 블록(985)은 디블록킹 필터링을 실행하고, 기능 블록(990)에 제어를 전달한다. 기능 블록(990)은 재구성을 출력하고, 종료 블록(999)에 제어를 전달한다. 기능 블록(975)은 디코더 적응을 모의(mimics)하고, 기능 블록(950)에 제어를 전달한다. 기능 블록(980)은 디코더 적응을 모의하고, 기능 블록(955)에 제어를 전달한다.
도 10을 참조하면, 전처리 필터링 및 후처리 필터링으로 비디오 데이터를 디코딩하기 위한 예시적인 방법이 참조 번호(1000)에 의해 전체적으로 표시되어 있다. 방법(1000)은 기능 블록(1010)에 제어를 전달하는 시작 블록(1005)을 포함한다. 기능 블록(1010)은 비트스트림을 입력하고, 기능 블록(1015)에 제어를 전달한다. 기능 블록(1015)은 비트스트림내의 양자화된 잔류를 역양자화 하여 그들에 대한 계수들을 획득하고, 기능 블록(1020), 기능 블록(1055), 및 기능 블록(1060)에 제어를 전달한다. 기능 블록(1020)은 계수들을 역변환하여 잔류(예를 들어, 비트스트림내의 화상)를 획득하고, 기능 블록(1025), 기능 블록(1055), 및 기능 블록(1060)에 제어를 전달한다. 기능 블록(1025)은 잔류를 예측에 부가하여 재구성된 화상을 획득하고, 기능 블록(1030), 기능 블록(1055), 및 기능 블록(1045)에 제어를 전달한다. 기능 블록(1030)은 재구성된 화상에 대하여 후치-필터링을 실행하여 재구성되어 후치-필터링된 화상을 획득하고, 기능 블록(1035), 기능 블록(1060), 및 기능 블록(1050)에 제어를 전달한다. 기능 블록(1035)은 재구성되어 후치-필터링된 화상의 전치-필터링을 실행하고, 기능 블록(1040)에 제어를 전달한다. 기능 블록(1040)은 인터-예측을 실행하고, 기능 블록(1060), 기능 블록(1055), 및 기능 블록(1025)에 제어를 전달한다. 기능 블록(1045)은 인트라-예측을 실행하고, 기능 블록(1025), 기능 블록(1060), 및 기능 블록(1055)에 제어를 전달한다. 기능 블록(1050)은 디블록킹 필터링을 실행하고, 기능 블록(1065)에 제어를 전달한다. 기능 블록(1065)은 디코딩된 출력을 제공하고, 종료 블록(1099)에 제어를 전달한다.
다른 실시예에 있어서, 전치-필터들 및 후치-필터들이 리프팅 설계를 사용하여 구현되면, 적응은 리프팅 메커니즘 내에 구체화될 수 있다. 이러한 경우에, 전치-필터에서 적응은 후치-필터에서 완전히 반전될 수 있다.
도 11을 참조하면, 리프팅 설계로 분리된 휘도 및 색도 전치-필터링을 포함하는 이미지 데이터를 인코딩하기 위한 예시적인 방법이 참조 번호(1100)에 의해 전체적으로 표시되어 있다. 방법(1100)은 기능 블록(1107)에 제어를 전달하는 시작 블록(1105)을 포함한다. 기능 블록(1107)은 데이터(소스/재구성 데이터)를 입력하고, 판단 블록(1110)에 제어를 전달한다. 판단 블록(1110)은 필터링되는 현재 성분이 휘도 성분인지의 여부를 결정한다. 만일, 휘도 성분인 경우, 제어는 기능 블록(1115)에 전달된다. 휘도 성분이 아닌 경우, 제어는 기능 블록(1140)에 전달된다. 기능 블록(1115)은 리프팅 구현으로 휘도 전치-필터링을 실행하고, 기능 블록(1165)에 제어를 전달한다. 기능 블록(1165)은 전치-필터링된 데이터를 출력하고, 종료 블록(1199)에 제어를 전달한다. 기능 블록(1140)은 리프팅 구현으로 색도 전치-필터링을 실행하고, 기능 블록(1165)에 제어를 전달한다. 기능 블록(1115)에 관련하여, 리프팅 구현과 인코더 세팅들(1120), 예측기 모드(1125)와, 변환 사이즈 및 타입(1130)에 기초한 적응으로 휘도 전치-필터링을 실행한다. 기능 블록(1140)에 관련하여, 리프팅 구현과 인코더 세팅들(1145), 예측기 모드(1150)와 변환 사이즈 및 타입(1155)에 기초한 적응으로 색도 전치-필터링을 실행한다.
도 12를 참조하면, 분리된 휘도 및 색도 후치-필터링을 포함하는 이미지 데이터를 디코딩하기 위한 예시적인 방법이 참조 번호(1200)에 의해 전체적으로 표시되어 있다. 방법(1200)은 기능 블록(1207)에 제어를 전달하는 시작 블록(1205)을 포함한다. 기능 블록(1207)은 재구성 데이터를 입력하고, 판단 블록(1210)에 제어를 전달한다. 판단 블록(1210)은 필터링되는 현재 성분이 휘도 성분인지의 여부를 결정한다. 만일, 휘도 성분인 경우, 제어는 기능 블록(1215)에 전달된다. 휘도 성분이 아닌 경우, 제어는 기능 블록(1260)으로 전달된다. 기능 블록(1215)은 리프팅 구현으로 휘도 후치-필터링을 실행하고, 기능 블록(1265)에 제어를 전달한다. 기능 블록(1265)은 후치-필터링된 데이터를 출력하고, 종료 블록(1299)에 제어를 전달한다. 기능 블록(1260)은 리프팅 구현으로 색도 후치-필터링을 실행하고, 기능 블록(1265)에 제어를 전달한다. 기능 블록(1215)에 관련하여, 리프팅 구현과 인코더 세팅들(1220), 예측기 모드(1225)와, 변환 사이즈 및 타입(1230)에 기초한 적응으로 휘도 후치-필터링을 실행한다. 기능 블록(1260)에 관련하여, 리프팅 구현과 인코더 세팅들(1245), 예측기 모드(1250)와, 변환 사이즈 및 타입(1255)에 기초한 적응으로 색도 후치-필터링을 실행한다.
리프팅 구현은 단일 값 분해를 사용하여 고정된 전치-필터 변환 행렬을 처음 분해하여 실행될 수 있다. 단일 값 분해는 3개의 행렬의 곱을 산출할 것이다. 제 1 및 제 3 행렬은 직교 행렬이다. 공지되어 있는 것처럼, 모든 직교 행렬은 기븐스 평면 회전들(Givens plane rotations)의 시리즈로 분해될 수 있다(이와 같은 회전의 수는 행렬 차원에 관련이 있으며, 여기서, 산술 연산이 바람직하게 사용되며 "N 선택 2", 즉, n이 행렬 차원인 경우, 회전의 수는 n*(n-l)/2 이다). 각각의 평면 회전은, 차례로, 예측-갱신-예측과 같은 리프팅 단계들을 사용하여 구현될 수 있다. 단일 값 분해로부터 획득된 제 2 행렬은 대각 행렬이며 스케일링에 대응한다. 리프팅 구현에 사용될 수 있는 신규 적응 기술은 대각 행렬의 값들을 변경시키는 것이다. 이들 값은, 이과 같은 값들이 디코더에서 정확하게 또는 대략적으로 반전될 수 있는 방식으로 변경된다. 후치-필터 리프팅 구현은 전치-필터에 의해 실행된 개별 리프팅 단계들을 반전시켜 획득된다.
도 13을 참조하면, 리프팅 구현에서 단일값 분해(SVD)를 사용하여 적응형 전치-필터링 및 후치-필터링을 실행하기 위한 예시적인 방법이 참조 번호(1300)에 의해 전체적으로 표시되어 있다. 방법(1300)은 기능 블록(1310)에 제어를 전달하는 시작 블록(1305)을 포함한다. 기능 블록(1310)은 베이스 전치-필터 변환 행렬을 입력하고, 기능 블록(1315)에 제어를 전달한다. 기능 블록(1315)은 단일값 분해(SVD)를 실행하고, 기능 블록(1320), 기능 블록(1325) 및 기능 블록(1330)에 제어를 전달한다, 기능 블록(1320)은 SVD[기능 블록 (1315)에 의해 실행]의 제 1 출력으로서 제 1 직교 행렬을 수신하고, 기능 블록(1335)에 제어를 전달한다. 기능 블록(1325)은 SVD[기능 블록(1315)에 의해 실행]의 제 2 출력으로서 제 2 대각 행렬을 수신하고, 기능 블록(1345)에 제어를 전달한다. 기능 블록(1330)은 SVD[기능 블록(1315)에 의해 실행]의 제 3 출력으로서 제 3 직교 행렬을 수신하고, 기능 블록(1365)에 제어를 전달한다. 기능 블록(1335)은 기븐스 평면 회전들에 제 1 직교 행렬을 분해하고, 기능 블록(1340)에 제어를 전달한다. 기능 블록(1340)은 예측-갱신-예측 리프팅 단계로서 각각의 회전을 구현하고, 기능 블록(1345)에 제어를 전달한다. 기능 블록(1345)은 대각 행렬의 요소들에 대한 적응을 결정하고, 기능 블록(1350)에 제어를 전달한다. 기능 블록(1350)은 1340의 리프팅 단계들, 1345의 적응 요소들을 갖는 스케일링 행렬, 및 1370의 리프팅 단계들을 연결하여 전치-필터의 완전한 리프팅 구현을 얻고, 기능 블록(1355)에 제어를 전달한다. 기능 블록(1355)은 개별 리프팅 단계 및 적응을 반전시켜 후치-필터 리프팅 구현을 얻고, 기능 블록(1360)에 제어를 전달한다. 기능 블록(1360)은 필터들에 대한 리프팅 구현들을 저장하고, 종료 블록(1399)에 제어를 전달한다. 기능 블록(1365)은 제 3 직교 행렬을 기븐스 평면 회전들로 분해하고, 기능 블록(1370)에 제어를 전달한다. 기능 블록(1370)은 예측-갱신-예측 리프팅 단계로서 각각의 회전을 구현하고, 기능 블록(1345)에 제어를 전달한다.
고정된 전치-필터 및 후치-필터의 리프팅 구현들을 결정하는 다른 새로운 방식들은 QR 분해, PLUS 분해와 같은 행렬 분해를 포함한다. 가우스 소거(단지 로우 변환)를 이용하여, 전치-필터 변환 행렬을 단위 행렬로 감소시킨다. 각각의 로우 변환은 리프팅 단계이다. 이들 리프팅 단계들은 연결할 때 후치-필터 리프팅 구현으로 이어진다. 후치-필터에서 반전 단계들은 전치-필터 구현을 제공할 것이다.
도 14를 참조하면, 행렬 분해 또는 가우스 소거를 사용하여 필터들의 리프팅 구현을 도출하기 위한 예시적인 방법이 참조 번호(1400)에 의해 전체적으로 표시된다. 방법(1400)은 기능 블록(1410)에 제어를 전달하는 시작 블록(1405)을 포함한다. 기능 블록(1410)은 베이스 전치-필터 변환 행렬을 입력하고, 기능 블록(1415) 및 기능 블록(1425)에 제어를 전달한다. 기능 블록(1415)은 행렬 분해들[기능 블록(1410)에 의해 입력된 베이스 전치-필터 변환 행렬의 행렬 분해들]로부터 전치-필터의 리프팅 구현을 획득하고, 기능 블록(1420)에 제어를 전달한다. 기능 블록(1425)은 가우스 소거[기능 블록(1410)에 의해 입력된 베이스 전치-필터 변환 행렬에 대한 로우 변환들]를 사용하는 후치-필터의 리프팅 구현을 획득하고, 기능 블록(1430)에 제어를 전달한다. 기능 블록(1420)은 개별 리프팅 단계 및 적응을 반전시켜 후치-필터 리프팅 구현을 획득하고, 기능 블록(1435)에 제어를 전달한다. 기능 블록(1430)은 개별 리프팅 단계 및 적응을 반전시켜 전치-필터 리프팅 구현을 획득하고, 기능 블록(1435)에 제어를 전달한다. 기능 블록(1435)은 필터들에 대한 리프팅 구현을 저장하고, 종료 블록(1499)에 제어를 전달한다. 따라서, 방법(1400)에 관련하여, 적응은 하나 이상의 리프팅 단계들(완전히 반전 가능하거나 대략적으로 반전 가능한 형태로)에서 실행될 수 있다.
입력 데이터로부터 도출된 필터 적응은 데이터 그래디언트 강도 및/또는 데이터 그래디언트 방향 및/또는 데이터 분산과 같은 특성들에 기초할 것이다. 이러한 새로운 적응은 그래디언트 강도 및/또는 그래디언트 방향 및/또는 그래디언트 분산을 별개의 범위로 분할하고, 고정된 필터들을 상이한 범위들에 적용하여 분리될 수 있다. 이는 룩업 테이블에 기초한 적응으로서 고려될 수 있다. 다른 실시예에 있어서, 이 적응은 그래디언트 강도 및/또는 그래디언트 방향 및/또는 데이터 분산의 연속된 함수이다. 양호한 성능을 제공하는 그래디언트 적응 함수의 선택은 그래디언트가 증가할 때 지수적으로 감소하는 함수이다. 그래디언트는 전치-필터링되는 픽셀들 사이의 차이로서 계산될 수 있다. 그래디언트의 더욱 정밀한 측정을 위해, 픽셀 차이는 전치-필터 경계를 초과하고, 적당히 가중된 픽셀들을 포함할 수 있다. 그래디언트를 사용하여 에지들을 검출하는데 관심이 있기 때문에, 그래디언트의 크기만을 고려하여 에지를 검출할 수 있는 더 나은 능력을 획득할 수 있다.
적응의 처리는 다음에 의해 더 향상된다.
- 수평 및 수직 방향들에 대해 상이한 적응형 전치-필터들을 선택한다.
- 적응형 전치-필터들 및 후치-필터들을 선택적으로 적용한다.
■ 블록 경계만을 변환하기 위해;
■ 블록 경계 및 변환 블록 내에서 변환하기 위해; 및/또는
■ 전치-필터 및 후치-필터를 턴-오프.
적응형 전치-필터 및 후치-필터의 하나의 새로운 특징은 상이한 변환들[이산 코사인 변환(DCT), 카루넨-루베 변환(KLT), 모드-종속 지향 변환(MDDT)] 및 상이한 변환 사이즈들과 함께 작업할 수 있는 것이다. 이전의 작업은 단일 변환 및 변환 사이즈와 함께 작업하는 전치-필터 및 후치-필터 조합을 제한하였다. 상술한 도 4 및 도 5는 상기 언급한 적응에 관한 실시예들을 예시한다. 예를 들어, 도 4 및 도 5를 참조하면, 전처리 필터 및 후처리 필터들은 인코더 세팅들, 예측 모드, 변환 타입/사이즈 및 입력 데이터를 포함하는 여러 입력들에 따라 그들 동작에 적응하는 것을 알 수 있다.
시스템 개선:
전치-필터 및 후치-필터의 성능은 어떤 인코더 및 디코더 기능들을 변경하고, 이와 같은 기능들이 필터링 처리와 순응하여 작업함으로써 개선될 수 있다. 휘도 및 색도 성분들에 대한 상이한 전치-필터들 및 후치-필터들의 선택은 두 개의 채널들의 코딩 효율을 서로 다르게 변경한다. 이러한 코딩 효율의 변경은, 레이트-왜곡 최적화기가 새로운 효율을 반영하고, 더욱 양호한 모드 결정하기 위해 변경될 필요가 있다. 코딩 효율의 변경을 반영하는 매우 단순한 방법은, 인코더 및/또는 디코더에서 휘도 및 색도에 대한 라그랑지안(Lagrangian) 파라미터를 변경하는 것이다. 코딩 효율을 정확하게 반영하는 함수에 대한 라그랑지안 파라미터를 변경하는 것은 전체 압축 효율을 상당히 개선한다.
도 15를 참조하면, 트레이닝 레이트-왜곡 최적기를 위한 예시적인 방법이 참조 번호(1500)에 의해 전체적으로 표시되어 있다. 방법(1500)은 기능 블록(1510)에 제어들 전달하는 시작 블록(1505)을 포함한다. 기능 블록(1510)은 트레이닝 데이터를 입력하고, 기능 블록(1515)에 제어를 전달한다. 기능 블록(1515)은 전치/후치-필터 기반 인코딩을 실행하고, 레이트-왜곡 최적화기를 반복적으로 조정하여 최적의 성능(예를 들어, 레이트-왜곡 비용에 기초하여)을 획득하고, 기능 블록(1520)에 제어를 전달한다. 기능 블록(1520)은 레이트 왜곡 파라미터들을 저장하고, 종료 블록(1599)에 제어를 전달한다. 방법(1500)은 인코더 측면에만 관계되고, 이에 따라 디코더에는 영향을 주지 않는다는 것을 알 수 있다.
MPEG-4 AVC 표준 비디오 인코더 또는 디코더에 사용된 코딩 모드 예측기는 과거에 코딩된 블록들에 기초하여 현재 블록에 대한 최대 확률 코딩 모드를 추측할 수 있다. 예측들에 기초한 블록들은 공간적으로 또는 일시적으로 현재 블록에 종종 인접해 있다. 예측기가 현재의 블록에 대한 최적의 코딩 모드를 정확하게 추측하는 경우, 비트들의 최소의 수가 상기 모드를 코딩하는데 사용된다. 정확한 예측기는 상당한 비트레이트 절감을 초래할 수 있다. 전치-필터링 처리 및 후치-필터링 처리는 예측 처리에 영향을 주어 예측 처리가 덜 정확하게 된다. 트레이닝을 위한 시퀀스의 서브세트를 사용하여, 모드 예측기가 필터링 하에 더욱 정확하게 되도록 재설계될 수 있다.
도 16을 참조하면, 트레이닝 최대 확률 모드 예측기에 대한 예시적인 방법이 참조 번호(1600)에 의해 전체적으로 표시되어 있다. 방법(1600)은 기능 블록(1610)에 제어를 전달하는 시작 블록(1605)을 포함한다. 기능 블록(1610)은 전치-/후치-필터 기반 인코딩을 실행하여 현재 및 이전 블록들에 대해 선택된 예측 모드들에 대한 통계를 수집하고, 기능 블록(1620)에 제어를 전달한다. 기능 블록(1620)은 수집된 통계에 기초하여 새로운 최대 확률 모드 예측기를 결정하고, 기능 블록(1625)에 제어를 전달한다. 기능 블록(1625)은 최대 확률 모드 예측기 구성 파라미터들을 저장하고, 종료 블록(1699)에 제어를 전달한다. 최대 확률 모드 예측기는 최대 가능성 추정기, 최대 사후 추정기, 또는 어떤 다른 적당한 추정기에 기초하여 재설계될 수 있음을 알 수 있다.
후치
-필터 하드웨어 구현 속도:
전치-필터에서 적응 처리는 부동 소수점 값, 예를 들어, s에 의해 전치-필터 파라미터들(Pre-filter parameters)의 스케일링과 같이 간단하다. 예를 들어, 4x4 전치-필터는 아래의 다음과 같이 도시된다.
적응형 전치-필터(Adaptive pre-filter)를 반전시키는 후치-필터의 하드웨어 구현은 적응에 기초하여 그 반전 로직을 변경시켜야 한다. 상술한 표현의 직접 "행렬 반전"은 행렬의 모든 항이 스케일링(scaling) 파라미터(s)에 기초하여 변경될 필요가 있는 4x4 행렬로 유도한다. 더욱 양호한 방법은 스케일링 파라미터들을 가능한 적은 행렬 요소들로 분리시키는 것이다. 이를 위해, 다음 신규 후치-필터가 제안된다.
Q(s=const)는 분해될 수 있으며, 여기서, 상수는 3개의 행렬들에 단일 값 분해를 사용하여 일반적으로 I로서 선택될 수 있다. 제 1 행렬(U i ) 및 제 3 행렬(V i )은 직교 행렬들이다. 단일 값 분해의 제 2 행렬에서 스케일링 파라미터들(s)의 임의의 변화를 다음과 같이 처리할 수 있다.
파라미터들(m 22, m 23, m 32, m 33 및 c 22, c 23, c 32, c 33)은 다음의 p 00, p 01, p 10, p 11과 같은 필터 파라미터들의 주어진 세트에 대해 유일하게 결정된 상수들이다. 이 후치-필터의 하드웨어 구현에 대한 장점은, 유일하게 변화하는 부분이 4개의 요소들에 제한되고, 나머지 요소는 상수들인 사실에 있다.
도 17을 참조하면, 하드웨어에서 후치-필터를 효과적으로 구현하는 예시적인 방법은 참조 번호(1700)에 의해 전체적으로 표시된다. 방법(1700)은 기능 블록(1710)에 제어를 전달하는 시작 블록(1705)을 포함한다. 기능 블록(1710)은 재구성 데이터를 입력하고, 판단 블록(1715)에 제어를 전달한다. 판단 블록(1715)은 필터링되는 현재의 성분이 휘도 성분인지의 여부를 결정한다. 만일 휘도 성분인 경우에, 기능 블록(1720), 기능 블록(1725), 및 기능 블록(1740)에 제어를 전달한다. 휘도 성분이 아닌 경우, 기능 블록(1745), 기능 블록(1750), 및 기능 블록(1767)에 제어를 전달한다. 기능 블록(1720)은 SVD(휘도)의 제 3 행렬에 대응하는 고정된 변환을 획득하고, 기능 블록(1730)에 제어를 전달한다. 기능 블록(1745)은 SVD(색도)의 제 3 행렬에 대응하는 고정된 변환을 획득하고, 기능 블록(1755)에 제어를 전달한다. 기능 블록(1730)은 SVD(휘도)의 제 2 행렬을 획득하고, 기능 블록(1735)에 제어를 전달한다. 기능 블록(1735)은 SVD(휘도)의 제 1 행렬에 대응하는 고정된 변환을 획득하고, 기능 블록(1740)에 제어를 전달한다. 기능 블록(1740)은 재구성된 휘도 데이터를 블록(1735)의 변환된 데이터에 부가하는 부가 연산을 실행하고, 기능 블록(1797)에 제어를 전달한다. 기능 블록(1755)은 SVD(색도)의 제 2 행렬을 획득하고, 기능 블록(1760)에 제어를 전달한다. 기능 블록(1760)은 SVD(색도)의 제 1 행렬에 대응하는 고정된 변환을 획득하고, 기능 블록(1767)에 제어를 전달한다. 기능 블록(1767)은 재구성된 색도 데이터를 블록(1760)의 변환된 데이터에 부가하는 부가 연산을 수행하고, 기능 블록(1797)에 제어를 전달한다. 기능 블록(1797)은 후치-필터링된 데이터를 출력하고, 종료 블록(1799)에 제어를 전달한다. 기능 블록(1725)은 휘도 적응 파라미터를 설정하고, 기능 블록(1730)에 제어를 전달한다. 기능 블록(1750)은 색도 적응 파라미터를 설정하고, 기능 블록(1755)에 제어를 전달한다. 기능 블록(1725)에 대해서, 인코더 세팅들(1770), 예측기 모드(1775)와 변환 사이즈 및 타입(1780)에 기초한 휘도 적응 파라미터를 설정한다. 기능 블록(1750)에 대해서, 인코더 세팅들(1785), 예측기 모드(1790)와, 변환 사이즈 및 타입(1795)에 기초하여 색도 적응 파라미터를 설정한다.
필터 구현 속도에 대한 소프트웨어 접근법은 적분 구현을 사용하여 적응 필터들을 근사시키는 것이다(approximate). 본 실시예에 있어서, 정수 구현 하에서, 전치-필터링 및 후치-필터링 동안 실행되는 모든 부동 소수점 연산은 정수 곱셈 및 비트 시프트로 변환된다. 비트 시프트들은 정수 나눗셈들을 2의 제곱에 의한 나눗셈으로 제한할 것이다. 수학식 7의 적응형 전치-필터는 필터 파라미터 행렬을 비트 시프트들에 의해 최종 처리되는 정수 곱셈으로 변환하여 구현될 수 있다. 다음 스케일링 파라미터들(s)은 획득된 데이터를 원래의 데이터에 부가하기 이전에 획득된 데이터에 곱셈 처리될 수 있다. 적응 후치-필터 수학식에 대해서, 정수 전치-필터의 반전에 가깝고, 동시에 원래의 부동 소수점 P(s)-l에 가까운 정수 구현을 결정한다.
도 18을 참조하면, 원래의 부동 소수점 적응 필터들의 정수 구현을 결정하기 위한 예시적인 방법이 참조 번호(1800)에 의해 전체적으로 표시되어 있다. 방법(1800)은 기능 블록(1810)에 제어를 전달하는 시작 블록(1805)을 포함한다. 기능 블록(1810)은 부동 소수점 적응 필터들을 입력하고, 기능 블록 (1815)에 제어를 전달한다. 기능 블록(1815)은, 부동 변환 행렬들 및 정수 변환 행렬들이 가능한 가깝게 되도록 행렬 곱셈들의 정수 구현을 결정하고, 추가적으로 정수 후치-필터가 정수 전치-필터의 반전에 가능한 가깝게 보장하고, 기능 블록(1825)에 제어를 전달한다. 기능 블록(1825)은 적응 필터들에 대한 정수 구현을 저장하고, 종료 블록(1899)에 제어를 전달한다. 기능 블록(1820)은 허용된 최대 정수 정확도를 설정하고, 기능 블록(1815)에 제어를 전달한다.
다양한 혁신 및 신규성의 요점
- 코딩 루프에서 원래의 데이터를 전치 필터 및 결합된 후치-필터(및 디코더 측면)
- "결합된 필터들":
o 후치-필터는 전치-필터의 정확한(완벽한) 반전이다.
o 적응 후치-필터는 적응형 전치-필터로부터 “실질적으로 반전”이다.
■ "실질적인 반전": 적응 파라미터는 작은 변화들이 적응에 크게 영향을 주지 않도록 선택된다.
■ 양자화 없이 적응의 경우에, 정확한 반전은, 적응이 디코더에 사용될 수 없는 원래의 데이터에 기초하기 때문에, 달성되지 않는다.
■ 후치-필터는 정확한 반전이 아니며: 관찰과 필터링된 원래의 데이터 사이의 차이를 최소화한다.
- 2-D 필터들의 방향은 그래디언트의 로컬 방향에 따른다.
- 휘도 성분 및 색도 성분에 대해 다른 필터들을 사용
- 1-D 필터들을 사용
o 수직 및 수평 방향들에 대해 다른 필터들을 사용
- 결합된 필터들의 설계에서 예측된 예측 효율
- 로컬 데이터(에지들, 그래디언트, 및/또는 분산)에 결합된 필터들의 적응
o 필터들의 연속된 적응
o 필터들 각각의 필터가 로컬 통계의 서브세트에 적용되는 결합된 필터들의 개별 세트의 사용
■ 로컬 그래디언트에 따른 3개의 전치-필터들 및 3개의 후치-필터들
- 필터링 메커니즘에 적응된 최대 확률 모드 예측기
- 필터링 메커니즘(인코더만 최적화)에 대해 변경된 레이트-왜곡(RD)
- 필터들은 다음과 같이 적응적으로 적용될 수 있다. 변환 경계 유닛에서만; 변환 경계에서 그리고 변환 유닛 내에서; 및 변환 유닛에 전혀 적용되지 않는다. 변환 유닛은 예를 들어, 블록 또는 매크로블록이 될 수 있다.
o 상술한 3 모드들 사이에서 비교 및 선택할 수 있는 방법은 다음과 같다. 3개의 유닛들을 작성하고, 현재 유닛에 대한 최적의 코딩 옵션을 결정하도록 RD-코스트 비교를 실행한다. 현재 유닛에 대해 이루어진 결정이 미래에 코딩될 유닛들에 영향을 주는 것을 알 수 있다.
- 결합된 필터들의 리프팅 설계 구현
o 가우스 소거 및 기븐스 회전 구현들
- 적응 전치-필터 및 후치-필터 조합은 다른 변환들(DCT, KLT, MDDT) 및 다른 변환 치수들로 작업한다.
본 발명의 일부가 설명되었던 본 발명의 많은 관심의 장점들 및 특징들 중 일부에 대해 설명한다. 예를 들어, 하나의 장점 및 특징은 화상에 대한 입력 데이터를 결과적인 비트스트림으로 인코딩하기 위한 비디오 인코더를 갖는 장치이다. 비디오 인코더는 전치- 필터와, 이 전치-필터에 결합된 후치- 필터를 포함한다. 전치-필터는 화상에 대한 입력 데이터를 필터링하고, 후치-필터는 화상에 대한 인-루프 재구성된 데이터를 필터링한다.
다른 장점/특징은 상술한 것과 같은 비디오 인코더를 갖는 장치이며, 여기서, 후치-필터의 필터 계수들 및 필터 파라미터들은 후치-필터가 전치-필터의 정확한 반전이 되도록 선택된다.
또 다른 장점/특징은 상술한 것과 같은 비디오 인코더를 갖는 장치이며, 여기서, 전치-필터 및 후치-필터 중 적어도 하나는 다른 필터들을 포함하고, 화상의 색도 성분들은 화상의 휘도 성분들과 다른 필터들 중 다른 필터들을 사용하여 필터링 된다.
또 다른 장점/특징은 상술한 것과 같은 비디오 인코더를 갖는 장치이며, 여기서, 전치-필터 및 후치-필터 중 적어도 하나에 대한 필터 계수들 및 필터 파라미터들 중 적어도 하나는 해상도, 양자화 레벨, 로컬 그래디언트, 예측 모드 및 그래디언트 방향 중 적어도 하나에 응답하여 선택된다.
또 다른 장점/특징은 상술한 것과 같은 비디오 인코더를 갖는 장치이며, 여기서, 재구성된 데이터를 필터링하기 위해 후치-필터에 의해 사용된 후치-필터 변환 행렬은 두 개의 피가수들로 분해되고, 두 개의 피가수들 중 하나는 단위 행렬이 되고, 상기 두 개의 피가수들 중 다른 하나는 제 1, 제 2 및 제 3 행렬의 곱셈을 나타내는 행렬이 되며, 제 1 및 제 3 행렬들은 고정되고, 제 2 행렬은 전치-필터의 적응을 반전시키기 위해 가변된다.
또한, 다른 장점/특징은 상술한 것과 같은 비디오 인코더를 갖는 장치이며, 여기서, 후치-필터의 필터 계수들 및 필터 파라미터들은 후치-필터가 전치-필터의 실질적으로 반전이 되도록 선택된다.
또한, 다른 장점/특징은 비디오 인코더를 갖는 장치이며, 여기서, 후치 필터의 필터 계수 및 필터 파라미터들은, 후처리 필터가 관찰과 전치 필터링된 추정 사이의 차이를 최소화하여 전처리 필터에 제공된 입력 데이터와 동일한 출력 데이터를 실질적으로 제공하도록 구성되도록 선택되고. 관찰은 상기 후처리 필터에 제공된 입력 데이터와 관계되고, 전치 필터링된 추정은 전처리 필터에 의해 필터링 이전에 화상에 대한 입력 데이터의 추정에 관계된다.
또한, 다른 장점/특징은 상술한 것과 같은 비디오 인코더를 갖는 장치이며, 여기서, 전치-필터 및 후치-필터는 전치-필터와 후치-필터 사이의 정확한 교환성에 관한 거리를 최소화하도록 결정되는 정수 구현이다.
또한, 다른 장점/특징은 상술한 것과 같은 비디오 인코더를 갖는 장치이며, 여기서, 전치-필터 및 후치-필터의 사이즈는 잔여 데이터에 적용된 변환과 동일한 사이즈이고, 잔여 데이터는 화상의 입력 데이터와 적어도 하나의 기준 화상에 대한 기준 데이터 사이의 차이를 나타낸다.
또한, 다른 장점/특징은 비디오 인코더를 갖는 장치이며, 여기서, 상술한 것처럼, 전치-필터 및 후치-필터의 사이즈는 잔여 데이터에 적용된 변환과 동일한 사이즈이고, 잔여 데이터는 화상의 입력 데이터와 적어도 하나의 기준 화상에 대한 기준 데이터 사이의 차이를 나타내며, 여기서, 전치-필터 및 후치-필터는 다중 필터들을 포함하고, 다중 필터들의 적어도 하나는 잔여 데이터에 적용된 변환들의 모든 변환 사이즈들에 적용된다.
또한, 다른 장점/특징은 상술한 것과 같은 비디오 인코더를 갖는 장치이며, 여기서, 전치-필터 및 후치-필터 중 적어도 하나의 필터 사이즈는 입력 데이터에 적용된 변환의 사이즈와 다르다.
또한, 다른 장점/특징은 상술한 것과 같은 비디오 인코더를 갖는 장치이며, 여기서, 전치-필터 및 후치-필터는 입력 데이터의 일부에만 적용된다.
또한, 다른 장점/특징은 비디오 인코더를 갖는 장치이며, 여기서, 상술한 것 처럼, 전치-필터 및 후치-필터는 입력 데이터의 일부에만 적용되고, 여기서, 입력 데이터의 일부는 블록 경계 및 블록 내 중 적어도 하나로부터 선택된다.
본 발명의 상기 및 다른 특징들 및 장점들은 본 명세서에 개시된 것에 기초하여 본 기술 분야에 숙련된 사람이 쉽게 알 수 있다. 본 발명의 개시는 하드웨어, 소프트웨어, 펌웨어, 특정 목적의 프로세서들 또는 이들의 조합의 여러 형태로 구현될 수 있음을 알 수 있다.
가장 바람직하게, 본 발명의 개시는 하드웨어 및 소프트웨어의 조합으로서 구현된다. 또한, 소프트웨어는 프로그램 저장 장치에 유형으로 구현된 응용 프로그램으로서 구현될 수 있다. 이 응용 프로그램은 임의의 적당한 아키텍쳐를 포함하는 기계에 업로드 되거나 그 기계에 의해 수행될 수 있다. 바람직하게, 기계는 하나 이상의 중앙 처리 장치들("CPU"), 랜덤 액세스 메모리("RAM"), 및 입력/출력("I/O") 인터페이스들과 같은 하드웨어를 갖는 컴퓨터 플랫폼 상에서 구현될 수 있다. 또한, 컴퓨터 플랫폼은 운영 체제 및 마이크로인스트럭션 코드를 포함할 수 있다. 본 명세서에 설명된 여러 처리 및 기능들은 CPU에 의해 실행될 수 있는 마이크로인스트럭션 코드 또는 응용 프로그램의 일부, 또는 이들의 임의의 조합 중 어느 하나가 될 수 있다. 또한, 여러 다른 주변 장치들은 추가적인 데이터 저장 장치 및 프린팅 장치와 같은 컴퓨터 플랫폼에 연결될 수 있다.
또한, 첨부된 도면들에 설명된 일부의 구성 시스템 구성 요소들 및 방법이 소프트웨어에 의해 바람직하게 구현될 수 있기 때문에, 시스템 구성 요소들 또는 처리 기능 블록들 사이의 실제의 접속들이, 본 발명들이 프로그램되는 방식에 따라 다를 수 있음을 알 수 있다. 본 명세세의 주어진 개시에 있어서, 본 관련 기술의 통상의 사람은 본 발명의 상기 및 유사한 구현들 또는 구성들을 고려할 수 있다.
비록, 예시된 실시예들이 첨부된 도면들을 참조하여 본 명세서에 기재되어 있지만, 본 관련 기술의 통상의 사람은 본 발명이 이들 실시예들에 제한되지 않고 본 발명의 정신 또는 범위로부터 벗어나지 않고 여러 변경안들 및 수정안들이 있을 수 있음을 알 수 있다. 이러한 모든 변경안들 및 수정안들은 첨부한 청구 범위에 기재된 것처럼 본 발명의 범위 내에 포함되는 것으로 의도되었다.
915: 전치-필터 930: 양자화기
935: 역양자화기 950: 후치-필터
935: 역양자화기 950: 후치-필터
Claims (29)
- 장치로서,
화상에 대한 입력 데이터를 결과적인 비트스트림으로 인코딩하기 위한 비디오 인코더(200)를 포함하고, 상기 비디오 인코더(200)는 전치-필터(205, 275)와, 상기 전치-필터(205, 275)에 결합된 후치-필터(245)를 포함하고, 상기 전치-필터(205, 275)는 화상에 대한 입력 데이터를 필터링하고, 상기 후치-필터(245)는 화상에 대한 인-루프 재구성 데이터를 필터링하는, 장치. - 비디오 인코더에서의 방법으로서,
화상에 대한 입력 데이터를 결과적인 비트스트림으로 인코딩하기 위한 비디오 인코더(200)를 포함하고, 상기 비디오 인코더는 전치-필터와, 상기 전치-필터에 결합된 후치-필터를 포함하고, 상기 전치-필터는 화상에 대한 입력 데이터를 필터링하고, 상기 후치-필터는 화상에 대한 인-루프 재구성된 데이터를 필터링하는(900, 915, 950), 방법. - 제 2 항에 있어서, 상기 후치-필터의 필터 계수들 및 필터 파라미터들은, 상기 후치 필터가 상기 전치-필터의 정확한 반전이 되도록 선택되는(900, 915, 950), 방법.
- 제 2 항에 있어서, 상기 전치-필터 및 상기 후치-필터의 적어도 하나는 서로 다른 필터들을 포함하고, 화상의 색도 성분들은 화상의 휘도 성분들 이외의 다른 필터들 중 다른 필터들을 사용하여 필터링되는(415, 435, 440, 460), 방법.
- 제 2 항에 있어서, 상기 전치-필터 및 상기 후치-필터 중 적어도 하나에 대한 필터 계수들 및 필터 파라미터들의 적어도 하나는 해상도, 양자화 레벨, 로컬 그래디언트, 예측 모드, 및 그래디언트 방향 중 적어도 하나에 응답하여 선택되는(415, 420, 425, 430, 435), 방법.
- 제 2 항에 있어서, 상기 재구성된 데이터를 필터링하기 위해 상기 후치-필터에 의해 사용되는 후치-필터 변환 행렬은 두 개의 피가수들로 분해되고, 상기 두 개의 피가수들 중 하나는 단위 행렬이 되고, 상기 두 개의 피가수들 중 다른 하나는 제 1, 제 2 및 제 3 행렬의 곱셈을 나타내는 행렬이 되며, 상기 제 1 및 제 3 행렬들은 고정되고, 상기 제 2 행렬은 상기 전치-필터의 적응을 반전시키기 위해 가변되는(1720, 1725, 1730, 1735, 1740), 방법.
- 제 2 항에 있어서, 상기 후치-필터의 필터 계수들 및 필터 파라미터들은 상기 후치-필터가 실질적으로 상기 전치-필터의 반전이 되도록 선택되는(815, 820, 825), 방법.
- 제 2 항에 있어서, 상기 후치-필터는 관찰과 전치-필터링된 추정 사이의 차이를 최소화하여 상기 전치-필터에 제공된 입력 데이터와 동일한 출력 데이터를 실질적으로 제공하도록 구성되고. 상기 관찰은 상기 후치-필터에 제공된 입력 데이터와 관계되고, 상기 전치-필터링된 추정은 상기 전치-필터에 의해 필터링 이전에 화상에 대한 입력 데이터의 추정에 관계되는(815, 820, 825), 방법.
- 제 2 항에 있어서, 상기 전치-필터 및 상기 후치-필터는 상기 전치-필터와 상기 후치-필터 사이의 정확한 교환성에 관한 거리를 최소화하도록 결정되는 정수 구현인(1810, 1815, 1820, 1825), 방법.
- 제 2 항에 있어서, 상기 전치-필터 및 상기 후치-필터의 사이즈는 잔여 데이터에 적용된 변환과 동일한 사이즈이고, 상기 잔여 데이터는 화상의 입력 데이터와 적어도 하나의 기준 화상에 대한 기준 데이터 사이의 차이를 나타내는(415, 430, 435), 방법.
- 제 2 항에 있어서, 상기 전치-필터 및 상기 후치-필터는 다중 필터들을 포함하고, 상기 다중 필터들의 적어도 하나는 상기 잔여 데이터에 적용된 변환들의 모든 변환 사이즈들에 적용되는(415, 430, 435), 방법.
- 제 2 항에 있어서, 상기 전치-필터 및 상기 후치-필터 중 적어도 하나의 필터 사이즈는 입력 데이터에 적용된 변환의 사이즈와 다른(415,430, 435)), 방법.
- 제 2 항에 있어서, 상기 전치-필터 및 상기 후치-필터는 입력 데이터의 일부에만 적용되는(915,965), 방법.
- 제 13 항에 있어서, 상기 입력 데이터의 일부는 블록 경계 및 블록 내 중 적어도 하나로부터 선택되는(915, 965), 방법.
- 장치로서,
화상에 대한 잔여 이미지 데이터를 디코딩하기 위한 비디오 디코더(300)를 포함하고, 상기 비디오 디코더(300)는 전치-필터(355)와, 상기 전치-필터(335)에 결합된 후치-필터(330)를 포함하고, 상기 전치-필터(355)는 상기 잔여 이미지 데이터를 디코딩하는데 사용하기 위한 기준 화상을 필터링하고, 상기 후치-필터(330)는 화상에 대한 인-루프 재구성된 데이터를 필터링하는, 장치. - 비디오 디코더에서의 방법으로서,
화상에 대한 잔여 이미지 데이터를 디코딩하는 단계를 포함하고, 상기 비디오 디코더는 전치-필터와, 상기 전치-필터에 결합된 후치-필터를 포함하고, 상기 전치-필터는 상기 잔여 이미지 데이터를 디코딩하는데 사용하기 위한 기준 화상을 필터링하고, 상기 후치-필터는 화상에 대한 인-루프 재구성된 데이터를 필터링하는(1030, 1035, 1055, 1060), 방법. - 제 16 항에 있어서, 상기 후치-필터의 필터 계수들 및 필터 파라미터들은 상기 후치-필터가 실질적으로 상기 전치-필터의 반전이 되도록 선택되는(1030, 1035, 1055, 1060), 방법.
- 제 16 항에 있어서, 상기 전치-필터 및 상기 후치-필터의 적어도 하나는 다른 필터들을 포함하고, 화상의 색도 성분들은 화상의 휘도 성분들 이외의 다른 필터들 중 다른 필터들을 사용하여 필터링되는(515, 535, 540, 560), 방법.
- 제 16 항에 있어서, 상기 전치-필터 및 상기 후치-필터 중 적어도 하나에 대한 필터 계수들 및 필터 파라미터들의 적어도 하나는 해상도, 양자화 레벨, 로컬 그래디언트, 예측 모드, 및 그래디언트 방향 중 적어도 하나에 응답하여 선택되는(515, 520, 525, 530, 535), 방법.
- 제 16 항에 있어서, 상기 재구성된 데이터를 필터링하기 위해 상기 후치-필터에 의해 사용되는 후치-필터 변환 행렬은 두 개의 피가수들로 분해되고, 상기 두 개의 피가수들 중 하나는 단위 행렬이 되고, 상기 두 개의 피가수들 중 다른 하나는 제 1, 제 2 및 제 3 행렬의 곱셈을 나타내는 행렬이 되며, 상기 제 1 및 제 3 행렬들은 고정되고, 상기 제 2 행렬은 상기 전치-필터의 적응을 반전시키기 위해 가변되는(1720, 1725, 1730, 1735, 1740), 방법.
- 제 16 항에 있어서, 상기 후치-필터의 필터 계수들 및 필터 파라미터들은 상기 후치-필터가 실질적으로 상기 전치-필터의 반전이 되도록 선택되는(815, 820, 825), 방법.
- 제 21 항에 있어서, 상기 후치-필터는 관찰과 전치-필터링된 추정 사이의 차이를 최소화하여 상기 전치-필터에 제공된 입력 데이터와 동일한 출력 데이터를 실질적으로 제공하도록 구성되고. 상기 관찰은 상기 후치-필터에 제공된 입력 데이터와 관계되고, 상기 전치-필터링된 추정은 상기 전치-필터에 의해 필터링 이전에 화상에 대한 입력 데이터의 추정에 관계되는(815, 820, 825, 845), 방법.
- 제 16 항에 있어서, 상기 전치-필터 및 상기 후치-필터는 상기 전치-필터와 상기 후치-필터 사이의 정확한 교환성에 관한 거리를 최소화하도록 결정되는 정수 구현인(1815, 1820, 1825), 방법.
- 제 16 항에 있어서, 상기 전치-필터 및 상기 후치-필터의 사이즈는 잔여 데이터에 적용된 변환과 동일한 사이즈이고, 상기 잔여 데이터는 화상의 입력 데이터와 적어도 하나의 기준 화상에 대한 기준 데이터 사이의 차이를 나타내는(515, 530, 535), 방법.
- 제 24 항에 있어서, 상기 전치-필터 및 상기 후치-필터는 다중 필터들을 포함하고, 상기 다중 필터들의 적어도 하나는 상기 잔여 데이터에 적용된 변환들의 모든 변환 사이즈들에 적용되는(515, 530, 535), 방법.
- 제 16 항에 있어서, 상기 전치-필터 및 상기 후치-필터 중 적어도 하나의 필터 사이즈는 입력 데이터에 적용된 변환의 사이즈와 다른(515, 530, 535), 방법.
- 제 16 항에 있어서, 상기 전치-필터 및 상기 후치-필터는 입력 데이터의 일부에만 적용되는(1030, 1035, 1055, 1060), 방법.
- 제 27 항에 있어서, 상기 입력 데이터의 일부는 블록 경계 및 블록 내 중 적어도 하나로부터 선택되는, 방법.
- 비디오 신호 데이터가 인코딩된 영속적 컴퓨터 판독 가능한 저장 매체로서,
인코딩된 화상에 대한 입력 데이터를 포함하고, 화상에 대한 입력 데이터는, 인코딩될 때, 전치-필터를 사용하여 전치-필터링되고, 화상에 대한 인-루프 재구성된 데이터는, 인코딩될 때, 상기 전치-필터에 직접 결합된 후치-필터를 사용하여 후치-필터링되는, 영속적 컴퓨터 판독 가능한 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29159609P | 2009-12-31 | 2009-12-31 | |
US61/291,596 | 2009-12-31 | ||
PCT/US2010/003081 WO2011081637A1 (en) | 2009-12-31 | 2010-12-02 | Methods and apparatus for adaptive coupled pre-processing and post-processing filters for video encoding and decoding |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120099479A true KR20120099479A (ko) | 2012-09-10 |
KR101773012B1 KR101773012B1 (ko) | 2017-08-30 |
Family
ID=43567521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127017125A KR101773012B1 (ko) | 2009-12-31 | 2010-12-02 | 비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리 필터들을 위한 방법들 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9883207B2 (ko) |
EP (1) | EP2520092A1 (ko) |
JP (1) | JP5964755B2 (ko) |
KR (1) | KR101773012B1 (ko) |
CN (1) | CN102771122B (ko) |
WO (1) | WO2011081637A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811882B2 (en) | 2014-09-30 | 2017-11-07 | Electronics And Telecommunications Research Institute | Method and apparatus for processing super resolution image using adaptive preprocessing filtering and/or postprocessing filtering |
KR20180071350A (ko) * | 2015-11-11 | 2018-06-27 | 삼성전자주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8885714B2 (en) * | 2010-01-14 | 2014-11-11 | Texas Instruments Incorporated | Method and system for intracoding in video encoding |
EP2732624A4 (en) * | 2011-07-12 | 2015-07-15 | Intel Corp | LUMBASED CHROMAINTRAPREDICTION |
KR20130049526A (ko) | 2011-11-04 | 2013-05-14 | 오수미 | 복원 블록 생성 방법 |
US9432694B2 (en) | 2012-03-06 | 2016-08-30 | Apple Inc. | Signal shaping techniques for video data that is susceptible to banding artifacts |
KR20160104646A (ko) * | 2013-12-22 | 2016-09-05 | 엘지전자 주식회사 | 양자화 에러의 추가적인 제어를 이용한 비디오 신호의 인코딩, 디코딩 방법 및 장치 |
KR102249819B1 (ko) | 2014-05-02 | 2021-05-10 | 삼성전자주식회사 | 시스템 온 칩과 이를 포함하는 데이터 처리 시스템 |
CN103974076B (zh) * | 2014-05-19 | 2018-01-12 | 华为技术有限公司 | 图像编解码方法和设备、系统 |
EP3032830A1 (en) * | 2014-12-08 | 2016-06-15 | Thomson Licensing | Differential coding of intra modes |
WO2018044125A1 (ko) * | 2016-09-01 | 2018-03-08 | 엘지전자(주) | 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치 |
CN109891894B (zh) * | 2016-12-01 | 2021-10-08 | 谷歌有限责任公司 | 用于恢复由重构产生的劣化帧的劣化图块的方法和装置 |
WO2018117893A1 (en) | 2016-12-23 | 2018-06-28 | Huawei Technologies Co., Ltd. | Mixed domain collaborative post filter for lossy still image coding |
EP3454556A1 (en) * | 2017-09-08 | 2019-03-13 | Thomson Licensing | Method and apparatus for video encoding and decoding using pattern-based block filtering |
US10542255B2 (en) * | 2017-09-28 | 2020-01-21 | Google Llc | Image processing for compression |
CN107908175B (zh) * | 2017-11-08 | 2020-06-23 | 国网电力科学研究院武汉南瑞有限责任公司 | 一种电力系统现场智能化运维系统 |
WO2019191892A1 (zh) * | 2018-04-02 | 2019-10-10 | 北京大学 | 用于视频编解码的方法和设备 |
CN113196777B (zh) * | 2018-12-17 | 2024-04-19 | 北京字节跳动网络技术有限公司 | 用于运动补偿的参考像素填充 |
US10708624B1 (en) * | 2019-05-30 | 2020-07-07 | Ati Technologies Ulc | Pre-processing for video compression |
CN113518227B (zh) * | 2020-04-09 | 2023-02-10 | 于江鸿 | 数据处理的方法和系统 |
CN111698512B (zh) * | 2020-06-24 | 2022-10-04 | 北京达佳互联信息技术有限公司 | 视频处理方法、装置、设备及存储介质 |
CN111885378B (zh) * | 2020-07-27 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 多媒体数据编码方法、装置、设备以及介质 |
US20230171403A1 (en) * | 2021-11-17 | 2023-06-01 | Mediatek Inc. | Methods and Apparatuses of Gaussian Elimination in Video Encoding System |
WO2023190053A1 (ja) | 2022-03-31 | 2023-10-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 |
EP4294006A1 (en) * | 2022-06-16 | 2023-12-20 | MBDA UK Limited | Method for image encoding |
WO2023242588A1 (en) * | 2022-06-16 | 2023-12-21 | Mbda Uk Limited | Method for image encoding |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2549479B2 (ja) * | 1991-12-06 | 1996-10-30 | 日本電信電話株式会社 | 動き補償フレーム間帯域分割符号化処理方法 |
WO1997017797A2 (en) * | 1995-10-25 | 1997-05-15 | Sarnoff Corporation | Apparatus and method for quadtree based variable block size motion estimation |
US7450641B2 (en) | 2001-09-14 | 2008-11-11 | Sharp Laboratories Of America, Inc. | Adaptive filtering based upon boundary strength |
US7194035B2 (en) * | 2003-01-08 | 2007-03-20 | Apple Computer, Inc. | Method and apparatus for improved coding mode selection |
US7672523B2 (en) * | 2003-03-03 | 2010-03-02 | The Hong Kong University Of Science And Technology | Efficient rate allocation for multi-resolution coding of data |
US7305139B2 (en) * | 2004-12-17 | 2007-12-04 | Microsoft Corporation | Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform |
US7428342B2 (en) * | 2004-12-17 | 2008-09-23 | Microsoft Corporation | Reversible overlap operator for efficient lossless data compression |
AU2005239628B2 (en) * | 2005-01-14 | 2010-08-05 | Microsoft Technology Licensing, Llc | Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform |
US8422546B2 (en) * | 2005-05-25 | 2013-04-16 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
US20060288065A1 (en) * | 2005-06-17 | 2006-12-21 | Docomo Communications Laboratories Usa, Inc. | Method and apparatus for lapped transform coding and decoding |
CN101199206A (zh) * | 2005-06-17 | 2008-06-11 | 株式会社Ntt都科摩 | 用于重叠变换编解码的方法和设备 |
US8036274B2 (en) * | 2005-08-12 | 2011-10-11 | Microsoft Corporation | SIMD lapped transform-based digital media encoding/decoding |
US8218655B2 (en) * | 2005-09-19 | 2012-07-10 | Maxim Integrated Products, Inc. | Method, system and device for improving video quality through in-loop temporal pre-filtering |
US8537903B2 (en) * | 2005-09-23 | 2013-09-17 | Entropic Communications, Inc. | De-blocking and de-ringing systems and methods |
US8149909B1 (en) * | 2005-10-13 | 2012-04-03 | Maxim Integrated Products, Inc. | Video encoding control using non-exclusive content categories |
EP1977608B1 (en) * | 2006-01-09 | 2020-01-01 | LG Electronics, Inc. | Inter-layer prediction method for video signal |
US8009963B2 (en) | 2006-01-26 | 2011-08-30 | Qualcomm Incorporated | Adaptive filtering to enhance video bit-rate control performance |
MX2009006404A (es) * | 2006-12-18 | 2009-06-23 | Koninkl Philips Electronics Nv | Compresion y descompresion de imagen. |
US7573405B2 (en) * | 2006-12-29 | 2009-08-11 | Texas Instruments Incorporated | System updating accumulated statistics coding variable values after multiple encodings |
US20090060368A1 (en) * | 2007-08-27 | 2009-03-05 | David Drezner | Method and System for an Adaptive HVS Filter |
EP2063417A1 (en) * | 2007-11-23 | 2009-05-27 | Deutsche Thomson OHG | Rounding noise shaping for integer transform based encoding and decoding |
US8200028B2 (en) * | 2007-12-07 | 2012-06-12 | Csr Technology Inc. | System and method for detecting edges in a video signal |
US8576906B2 (en) * | 2008-01-08 | 2013-11-05 | Telefonaktiebolaget L M Ericsson (Publ) | Adaptive filtering |
US9077971B2 (en) * | 2008-04-10 | 2015-07-07 | Qualcomm Incorporated | Interpolation-like filtering of integer-pixel positions in video coding |
JP5400876B2 (ja) * | 2008-06-16 | 2014-01-29 | ドルビー ラボラトリーズ ライセンシング コーポレイション | ビデオ符号化のための、スライス依存性に基づくレート制御モデル適合化 |
CN102165772B (zh) * | 2008-09-16 | 2013-07-24 | 杜比实验室特许公司 | 自适应视频编码器控制 |
US8792564B2 (en) * | 2008-10-28 | 2014-07-29 | Sony Corporation | Adaptive preprocessing method using feature-extracted video maps |
US8380001B2 (en) * | 2009-02-27 | 2013-02-19 | Vixs Systems, Inc. | Edge adaptive deblocking filter and methods for use therewith |
US9124874B2 (en) * | 2009-06-05 | 2015-09-01 | Qualcomm Incorporated | Encoding of three-dimensional conversion information with two-dimensional video sequence |
JP6217290B2 (ja) | 2013-10-02 | 2017-10-25 | 株式会社豊田中央研究所 | 試料ガス測定装置および試料ガス測定方法 |
-
2010
- 2010-12-02 US US13/518,942 patent/US9883207B2/en active Active
- 2010-12-02 EP EP10803290A patent/EP2520092A1/en not_active Ceased
- 2010-12-02 CN CN201080060025.0A patent/CN102771122B/zh active Active
- 2010-12-02 JP JP2012547057A patent/JP5964755B2/ja active Active
- 2010-12-02 KR KR1020127017125A patent/KR101773012B1/ko active IP Right Grant
- 2010-12-02 WO PCT/US2010/003081 patent/WO2011081637A1/en active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811882B2 (en) | 2014-09-30 | 2017-11-07 | Electronics And Telecommunications Research Institute | Method and apparatus for processing super resolution image using adaptive preprocessing filtering and/or postprocessing filtering |
KR20180071350A (ko) * | 2015-11-11 | 2018-06-27 | 삼성전자주식회사 | 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치 |
US11153601B2 (en) | 2015-11-11 | 2021-10-19 | Samsung Electronics Co., Ltd. | Method and apparatus for decoding video, and method and apparatus for encoding video |
US12003761B2 (en) | 2015-11-11 | 2024-06-04 | Samsung Electronics Co., Ltd. | Method and apparatus for decoding video, and method and apparatus for encoding video |
Also Published As
Publication number | Publication date |
---|---|
CN102771122A (zh) | 2012-11-07 |
CN102771122B (zh) | 2016-12-28 |
JP2013516834A (ja) | 2013-05-13 |
JP5964755B2 (ja) | 2016-08-03 |
WO2011081637A1 (en) | 2011-07-07 |
US9883207B2 (en) | 2018-01-30 |
KR101773012B1 (ko) | 2017-08-30 |
EP2520092A1 (en) | 2012-11-07 |
US20120281753A1 (en) | 2012-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101773012B1 (ko) | 비디오 인코딩 및 디코딩을 위해 적응형 결합된 전처리 및 후처리 필터들을 위한 방법들 및 장치 | |
KR101735137B1 (ko) | 인트라 예측 모드의 효율적인 비디오 인코딩 및 디코딩에 대한 방법 및 장치 | |
US11240496B2 (en) | Low complexity mixed domain collaborative in-loop filter for lossy video coding | |
US11070839B2 (en) | Hybrid video coding | |
KR101770317B1 (ko) | 성분-간 예측 | |
KR101201930B1 (ko) | 국부적 밝기 변동을 이용한 가중화된 예측을 가진 비디오 코덱 | |
JP6538488B2 (ja) | 映像符号化のためのdcイントラ予測モードのための方法 | |
CN101371584B (zh) | 提供用于多视图视频编码的降低分辨率的更新模式的方法和装置 | |
JP6425609B2 (ja) | 空間変化残差符号化を行う方法および装置 | |
KR20090097688A (ko) | 영상의 인트라 예측 부호화/복호화 방법 및 장치 | |
KR20120126067A (ko) | 비디오 인코딩 및 디코딩을 위한 적응적 템플릿 매칭 예측 방법 및 장치 | |
CN103782598A (zh) | 用于无损编码的快速编码方法 | |
KR20090079894A (ko) | 예측 데이터 리파인먼트를 이용한 비디오 코딩 방법 및 장치 | |
US20160269739A1 (en) | Video encoding optimization of extended spaces including last stage processes | |
CN110100437A (zh) | 用于有损视频编码的混合域协作环路滤波器 | |
TW202327353A (zh) | 視訊編碼方法和裝置 | |
KR20240140939A (ko) | 비디오 코딩을 위한 교차-컴포넌트 예측을 위한 방법 및 장치 | |
KR20140078030A (ko) | 프레임 예측을 통해 영상을 압축하기 위한 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |