KR20120083454A - 비디오 인코더와 디코더를 위한 효율적인 적응형 필터링 방법 및 장치 - Google Patents

비디오 인코더와 디코더를 위한 효율적인 적응형 필터링 방법 및 장치 Download PDF

Info

Publication number
KR20120083454A
KR20120083454A KR1020127012445A KR20127012445A KR20120083454A KR 20120083454 A KR20120083454 A KR 20120083454A KR 1020127012445 A KR1020127012445 A KR 1020127012445A KR 20127012445 A KR20127012445 A KR 20127012445A KR 20120083454 A KR20120083454 A KR 20120083454A
Authority
KR
South Korea
Prior art keywords
picture
filter
adaptive filtering
filtering
candidates
Prior art date
Application number
KR1020127012445A
Other languages
English (en)
Other versions
KR101687181B1 (ko
Inventor
웨이야오 린
윤페이 정
펑 인
조엘 솔
시아오안 루
치안 수
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20120083454A publication Critical patent/KR20120083454A/ko
Application granted granted Critical
Publication of KR101687181B1 publication Critical patent/KR101687181B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Abstract

비디오 인코더와 디코더를 위한 효율적인 적응형 필터링을 위한 방법들 및 장치들이 제공된다. 장치는 화상의 최소한 한 부분에 대해 화상 데이터를 적응형 필터링을 사용하여 인코딩하는 비디오 인코더(100)를 포함한다. 이 비디오 인코더(100)는 적응형 필터링을 수행하기 위한 적응형 필터를 포함한다. 복수개의 필터 계수 집합들을 반복적으로 추정하고 복수개의 필터 계수 집합들 중 가장 마지막으로 추정된 것에 대응하는 마지막 반복 수행이 주어진 부분에 대한 임계치를 넘는 품질 향상을 가져올 때 복수개의 필터 계수 집합들 중 마지막으로 추정된 것을 최종 필터 계수 집합으로 선택함으로써, 적응형 필터링을 위해 이용되는 하나의 최종적 필터 계수 집합이 결정된다.

Description

비디오 인코더와 디코더를 위한 효율적인 적응형 필터링 방법 및 장치{METHODS AND APPARATUS FOR EFFICIENT ADAPTIVE FILTERING FOR VIDEO ENCODERS AND DECODERS}
본 출원은 미국 특허 가출원 제61/251,934호(출원일: 2009년 10월 15일)의 우선권을 주장하며, 해당 기초 출원은 그의 전문이 참조로 본 명세서에 포함된다.
본 발명은 일반적으로 비디오 인코딩 및 디코딩에 관련된 것이며, 더욱 구체적으로는 비디오 인코더와 디코더를 위한 효율적인 적응형 필터링(adaptive filtering) 방법과 장치에 관련된 것이다.
하이브리드 비디오 코딩 프레임워크에서는, 필터링 기법들이 전형적으로 압축에 의해 일어나는 인공적 잡음(artifact)들에 대해서나 안티알리아싱(anti-aliasing)을 위해서 사용된다. 이러한 필터링 기법들은 많은 비디오 압축 응용에 있어서 루프 내에서도(in-loop) 또는 루프 밖에서도(out-of-loop) 사용될 수 있다. 비디오 신호의 비-정적인(non-stationary) 성질 때문에, 필터링 절차는 시간적 그리고 공간적 도메인 모두에서 적응될 것이 기대된다. 최근에는, 많은 적응형 필터링 체계(scheme)가 코딩 효율성을 향상시키기 위하여 코딩된 화상들을 표적으로 하여 보다 잘 복원하는 데에 사용되도록 제안되었다.
비디오 코딩 표준은 압축 효율을 달성하기 위하여, 블록-기반 변환(block-based transform)(예컨데, 이산 코사인 변환, discrete cosine transform, DCT)과 움직임 보상(motion compensation)을 채용하고 있다. 이러한 프레임워크의 손실성 압축 성질(lossy-compression property)에 의하여, 재구성된 비디오는 품질이 저하된다. 국제 표준화 기구/국제 전자기술 위원회(International Organization of Standardization/International Electrotechnical Commision, ISO/IEC) 동화상 전문가 그룹-4(Moving Picture Experts Goup-4., MPEG-4) 제10부 고등 비디오 코딩 표준/국제 통신 연합(Part 10 Advance Video Coding (AVC) Standard/International Telecommunitcation Union (ITU-T)), 통신 부문 H.264 권고안(Telecommunication Sector H.264 Recommendation)(이하 "MPEG-4 AVC 표준"이라 한다)에서는 블록제거 필터(deblocking filter)가 디코딩된 화상에 적용되어 구획잡음(blocky artifact)을 제거한다. MPEG-4 AVC 표준의 핵심 기술 영역(Key Techonology Area, KTA)에서는, Wiener 필터가 루프 내부 또는 루프 밖에서 디코딩된 화상의 품질을 향상시키기 위해 사용된다. 시간적 적응을 달성하기 위해서, Wiener 필터는 보통 각 화상에 대해 원본 화상과 디코딩된 화상 사이의 평균 평방 오차 (mean square error, MSE)를 인코더에서 최소화함으로써 추정(estimate)된다. 각 화상에 대해 오버헤드로서 필터 계수가 디코더에 (비트스트림으로 또는 전달 매체에 담겨서) 보내진다. 공간적 적응성을 달성하기 위해서, 화상은 여러 개의 영역(region)으로 분할될 수 있다. 각 영역에 대해서, 하나의 스위치가 필터링 절차가 'on'인지 또는 'off'인지의 여부를 제어한다. 영역 분할 정보와 스위치 제어 메시지는 디코더로 부가 정보로서 송출된다. 그러나, 이러한 부가 정보를 송출하는 비용은 높으며, 어떤 경우에는 비용을 감당할 수 없고, 특히 비트레이트는 낮으나 해상도는 높은 많은 응용에서 그러하다.
이에 더해, 필터 추정을 위한 데이터 집합에 대한 어떤 제약도 없으므로, 종종 필터 추정에 사용되는 데이터 집합에서 따로 떨어진 부분(outlier)이 존재한다. 데이터 집합의 평균 평방 오차 최소화에 의해 추정된 Wiener 필터는 보통 최적에 미치지 못한다 (또는 최적과 거리가 멀다).
핵심 기술 영역( KTA )에서의 후방 필터( post filter )
MPEG-4 AVC 표준의 핵심 기술 영역(Key Technology Area, KTA)에서는, 적응적 후방 필터가 첫 번째 선행 기술의 접근법에서 제안되었다. 이 첫 번째 선행 기술의 접근법의 기본 아이디어는 Wiener 필터를 디코딩된 화상에 디스플레이 앞에서 적용하는 것이다. Wiener 필터는 각 화상에 대해 원본 화상과 디코더에서 디코딩된(즉, 재구성된) 화상 사이의 평균 평방 오차(MSE)를 최소화함으로써 추정될 수 있다. 이 경우, 추정된 필터 계수들이 디코더에 오버헤드로서 보내진다. 전체 화상은 추정된 필터로 필터링된다. 다른 한가지 경우에는, Wiener 필터들의 집합이 오프라인으로 트레이닝되며, 디코더로 전송되거나 디코더에 저장된다. 디코딩 동안, 화상은 픽셀 단위로 필터링된다. 각 픽셀에서, 하나의 필터가 주변 픽셀들에 대한 통계에 기반하여 필터 집합에서 선택된다. 이 기법에 의하면, 필터링 표시자(indicator)에 오버헤드가 들지 않는다. 필터링 표시자는 디코딩된 화상 내용에 의해 유도될 수 있다. 그러나, 필터링 식별자와 화상 내용 사이의 모델은 매우 구성하기 어렵다. 첫 번째 선행 기술의 접근법에서는, 오프라인 트레이닝 체계가 필터링 식별자와 지역 분산(local variance) 사이의 대응하는 모델을 찾아내는 데에 이용되었다. 트레이닝이 고도로 트레이닝 집합에 의존적이기 때문에, 제한된 데이터로 트레이닝된 모델은 보다 일반적인 비디오 신호에 대해서는 부정확할 것이다.
핵심 기술 영역( KTA )에서의 적응형 루프 필터
적응형 루프 필터가 두 번째 선행 기술의 접근법에서 제한되었다. 위에서 기술된 첫 번째 선행 기술의 접근법에서 수행된 후방 필터링과 유사하게, Wiener 필터가 각 화상에 대해 원본 화상과 디코더에서 디코딩된(즉 재구성된) 화상 사이의 평균 평방 오차(MSE)를 최소화함으로써 추정된다. Wiener 필터가 전체 화상의 평균 평방 오차라는 의미에서 최적이기 때문에, 어떤 영역의 품질은 Wiener 필터를 적용할 때 저하될 수 있다. 이러한 픽셀들을 필터링하는 동안 제거하기 위하여, 영역 기반 해법이 오버헤드 비용과 코딩 성능 사이의 균형(trade-off)을 달성하는 데에 제안되었다. 두 번째 선행 기술의 접근법은 Wiener 필터가 적용되는 영역을 식별한다. 필터 식별자는 디코더에 부가 정보로 보내진다. 서로 다른 영역들이 다른 블록 크기를 가지게 허용함으로써, 쿼드-트리에 기반한 플래그가 큰 블록 크기를 가지는 영역에서 보다 더 적은 수의 비트를 보냄으로써 비트를 절약할 수 있다. 이러한 모든 방법들은 전체 프레임을 처리하기 위해 블록-기반 이진 맵(block-based binary map)을 필요로 한다.
본 발명의 원리에 의해 전술한 그리고 다른 선행 기술의 단점과 불이익들이 대처되고, 비디오 인코더와 디코더를 위한 효율적인 적응형 필터링을 위한 방법과 장치가 제공되었다.
본 발명의 원리의 한 가지 측면에 의하면, 하나의 장치가 주어진다. 이 장치는 적응형 필터링을 사용하여 화상의 최소한 한 부분에 대한 화상 데이터를 인코딩하는 비디오 인코더를 포함한다. 이 비디오 인코더는 적응형 필터링을 수행하기 위한 적응형 필터를 포함한다. 반복적으로 복수개의 필터 계수 집합들을 추정하고 복수개의 필터 계수 집합들 중 가장 마지막으로 추정된 것에 대응하는 마지막 반복 수행이 주어진 부분에 대한 임계치를 넘는 품질 향상을 가져올 때 복수개의 필터 계수 집합들 중 마지막으로 추정된 것을 최종 필터 계수 집합으로 선택함으로써, 적응형 필터링을 위해 이용되는 최종적 필터 계수 집합이 결정된다.
본 발명의 원리의 다른 측면에 의하면, 비디오 인코더에 있어서 하나의 방법이 주어진다. 이 방법은 입력 화상의 최소한 한 부분에 대해 화상 데이터를 적응형 필터링을 사용하여 인코딩하는 단계를 포함한다. 반복적으로 복수개의 필터 계수 집합들을 추정하고 복수개의 필터 계수 집합들 중 가장 마지막으로 추정된 것에 대응하는 마지막 반복 수행이 주어진 부분에 대한 임계치를 넘는 품질 향상을 가져올 때 복수개의 필터 계수 집합들 중 마지막으로 추정된 것을 최종 필터 계수 집합으로 선택함으로써, 적응형 필터링을 위해 이용되는 최종적 필터 계수 집합이 결정된다.
본 발명의 원리의 또 다른 측면에 의하면, 하나의 장치가 주어진다. 이 장치는 화상의 최소한 한 부분에 대한 화상 데이터를 디코딩하는 비디오 디코더를 포함한다. 이 비디오 디코더는 화상의 재구성된 버전을 입력된 화상의 출력 버전을 얻기 위해 복수개의 필터 계수 집합을 이용하여 반복적으로 필터링하기 위한 반복 필터를 포함한다.
본 발명의 원리의 또 다른 측면에 의하면, 비디오 디코더에 있어서 하나의 방법이 주어진다. 이 방법은 입력 화상의 최소한 한 부분에 대해 화상 데이터를 디코딩하는 단계를 포함한다. 상기 비디오 디코더는 화상의 재구성된 버전을 입력된 화상의 출력 버전을 얻기 위해 복수개의 필터 계수 집합을 이용하여 반복적으로 필터링하기 위한 반복 필터를 포함한다.
본 발명의 원리의 또 다른 측면에 의하면, 하나의 장치가 주어진다. 이 장치는 적응형 필터링을 사용하여 화상의 최소한 한 부분에 대한 화상 데이터를 인코딩하는 비디오 인코더를 포함한다. 이 비디오 인코더는 적응형 필터링을 수행하기 위한 적응형 필터를 포함한다. 적응형 필터링을 위한 최소한 하나의 필터 계수 집합과 적응형 필터링의 활성화와 불활성화 중 하나를 나타내는 필터링 스위치 정보가, 화상 안의 하나 또는 그 이상의 영역을 적응형 필터링에 대한 확실한 후보, 확실한 비후보 및 가능한 후보로 각각 특정하는 함축된 영역 식별 접근법(implicit region indication approach)을 사용하여 함축적으로 식별된다.
본 발명의 원리의 하나의 부가적인 측면에 의하면, 비디오 인코더에 있어서 하나의 방법이 주어진다. 이 방법은 화상의 최소한 한 부분에 대해 화상 데이터를 적응형 필터링을 사용하여 인코딩하는 단계를 포함한다. 적응형 필터링을 위한 최소한 하나의 필터 계수 집합과 적응형 필터링의 활성화와 불활성화 중 하나를 나타내는 필터링 스위치 정보가, 화상 내의 하나 또는 그 이상의 영역을 적응형 필터링에 대한 확실한 후보, 확실한 비후보 및 가능한 후보로 각각 특정하는 함축된 영역 식별 접근법을 사용하여 함축적으로 식별된다.
본 발명의 원리의 또 다른 부가적인 측면에 의하면, 하나의 장치가 주어진다. 이 장치는 화상의 최소한 한 부분에 대한 화상 데이터를 적응형 필터링을 사용하여 디코딩하는 비디오 디코더를 포함한다. 이 비디오 디코더는 적응형 필터링을 수행하기 위한 적응형 필터를 포함한다. 적응형 필터링을 위한 최소한 하나의 필터 계수 집합과 적응형 필터링의 활성화와 불활성화 중 하나를 나타내는 필터링 스위치 정보가, 화상 안의 하나 또는 그 이상의 영역을 적응형 필터링에 대한 확실한 후보, 확실한 비후보 및 가능한 후보로 각각 특정하는 함축된 영역 식별 접근법을 사용하여 함축적으로 식별된다.
본 발명의 원리의 또 다른 부가적인 측면에 의하면, 비디오 디코더에 있어서 하나의 방법이 주어진다. 이 방법은 화상의 최소한 한 부분에 대해 화상 데이터를 적응형 필터링을 사용하여 디코딩하는 단계를 포함한다. 이 비디오 디코더는 적응형 필터링을 수행하기 위한 적응형 필터를 포함한다. 적응형 필터링을 위한 최소한 하나의 필터 계수 집합과 적응형 필터링의 활성화와 불활성화 중 하나를 나타내는 필터링 스위치 정보가, 화상 안의 하나 또는 그 이상의 영역을 적응형 필터링에 대한 확실한 후보, 확실한 비후보 및 가능한 후보로 각각 특정하는 함축된 영역 식별 접근법을 사용하여 함축적으로 식별된다.
본 발명의 원리의 전술한 그리고 다른 측면들, 특징들과 이점들은 후술하는, 실시예들의 상세한 기술들에 의해 명확해지며, 이들은 첨부된 도면과 연관되어 읽어야 한다.
본 발명의 원리는 이하 예로 들은 도면들과 함께 더 잘 이해될 수 있다.
도 1은 본 발명의 원리의 실시와 부합하여 본 발명의 원리가 적용되는 예시적인 비디오 인코더를 보여주는 블록 다이어그램;
도 2는 본 발명의 원리의 실시와 부합하여 본 발명의 원리가 적용되는 예시적인 비디오 디코더를 보여주는 블록 다이어그램;
도 3은 본 발명의 원리의 실시와 부합하여 비디오 인코더에서 적응적으로 그리고 반복적으로 화상 데이터를 필터링하기 위한 예시적인 방법을 도시한 순서도;
도 4는 본 발명의 원리의 실시와 부합하여 비디오 디코더에서 적응적으로 그리고 반복적으로 화상 데이터를 필터링하기 위한 예시적인 방법을 도시한 순서도;
도 5는 본 발명의 원리의 실시와 부합하여 비디오 인코더에서 적응적으로 그리고 반복적으로 화상 데이터를 필터링하기 위한 다른 예시적인 방법을 도시한 순서도;
도 6은 본 발명의 원리의 실시와 부합하여 비디오 디코더에서 적응적으로 그리고 반복적으로 화상 데이터를 필터링하기 위한 다른 예시적인 방법을 도시한 순서도;
도 7은 본 발명의 원리의 실시와 부합하여 비디오 인코더에서 함축적 필터링 신호를 송출하여(implicit filtering signaling) 적응적으로 화상 데이터를 필터링하기 위한 예시적인 방법을 도시한 순서도;
도 8은 본 발명의 원리의 실시와 부합하여 비디오 디코더에서 함축적 필터링 신호를 송출하여 적응적으로 화상 데이터를 필터링하기 위한 예시적인 방법을 도시한 순서도;
도 9는 본 발명의 원리의 실시와 부합하여 비디오 인코더에서 함축적 필터링 신호를 보내어 적응적으로 그리고 반복적으로 화상 데이터를 필터링하기 위한 예시적인 방법을 도시한 순서도;
도 10은 본 발명의 원리의 실시와 부합하여 비디오 디코더에서 함축적 필터링 신호를 보내어 적응적으로 그리고 반복적으로 화상 데이터를 필터링하기 위한 예시적인 방법을 도시한 순서도.
본 발명의 원리는 비디오 인코더와 디코더를 위한 효율적인 적응형 필터링을 위한 방법과 장치와 관련된 것이다. 본 명세서는 본 발명의 원리에 대해서 설명하고 있다. 따라서 당업자라면, 비록 여기에서 명시적으로 설명하거나 도시하지는 않았더라도, 본 발명의 원리를 구체화하고 본 발명의 본질과 범위 내에 있는 여러 가지 구성을 강구해낼 수 있을 것이다.
여기에 인용된 예와 조건문들은 모두 본 발명자(들)가 기술 발전에 기여한 본 발명의 원리와 그 개념을 독자들이 이해하는데 도움을 주고자 한 것이며, 그러한 특정 예와 조건으로 한정되지 않는 것으로 해석하여야 한다.
더욱이 여기서 본 발명의 원리, 양상 및 실시형태들뿐만 아니라 그의 구체적인 실시예를 기재하는 모든 설명문들은 그 구조적 기능적 등가물을 포괄하는 것이다. 그 외에도 그와 같은 등가물은 현재 공지된 등가물은 물론 장래에 개발될 등가물, 즉, 구조를 불문하고 동일 기능을 수행하도록 개발되는 구성요소를 포함하도록 의도되어 있다.
따라서, 예컨대, 당업자라면 여기서 제시된 블록도가 본 발명을 구체화하는 예시적인 회로의 개념도를 나타냄을 잘 알 것이다. 마찬가지로, 순서도, 흐름도, 상태 전이도, 의사코드 등은 컴퓨터 판독 매체에서 실체적으로 표현될 수 있고 따라서 컴퓨터 또는 프로세서가 명시적으로 나타나 있든지 없든지 간에 이러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 여러 가지 프로세스를 나타냄을 이해할 필요가 있다.
상기 도면들에 도시된 각종 구성요소의 기능은 전용 하드웨어는 물론 적절한 소프트웨어와 연관하여 소프트웨어를 실행할 수 있는 하드웨어를 통해 제공될 수 있다. 이 기능들은, 프로세서를 통해 제공되는 경우에는, 단일의 전용 프로세서, 단일의 공유 프로세서, 또는 일부가 공유될 수 있는 복수의 개별 프로세서를 통해 제공될 수 있다. 더욱이, "프로세서"나 "제어기"라는 용어를 명시적으로 사용하더라도 이들이 소프트웨어를 실행할 수 있는 하드웨어만을 배타적으로 의미하는 것으로 해석해서는 안되고 DSP(Digital Signal Processor) 하드웨어, 소프트웨어를 저장하는 ROM(Read-Only Memory), RAM(Random Access Mmeory) 및 비휘발성 저장 장치를 아무런 제한없이 암시적으로 포함할 수 있다.
종래의 및/또는 통상적인 다른 하드웨어가 또한 포함될 수 있다. 마찬가지로, 도면들에 도시된 스위치는 모두 단지 개념적인 것이다. 이들의 기능은 프로그램 로직의 동작을 통해, 전용 로직을 통해, 프로그램 제어와 전용 로직의 상호 작용을 통해, 또는 수동으로도 수행될 수 있으며, 본 명세서로부터 더 구체적으로 이해할 수 있는 바와 같이, 실행자가 특정 기술을 선택할 수 있다.
특허청구범위에서, 특정 기능을 수행하기 위한 수단으로 표현된 구성요소는 모두 예컨대 a) 그 기능을 수행하는 회로 요소들의 조합, 또는 b) 펌웨어, 마이크로코드 등을 포함한 임의의 형태의 소프트웨어로서 그 기능을 수행하는 그 소프트웨어를 실행하는 적당한 회로와 조합된 소프트웨어를 포함하여, 그 기능을 수행하는 어떠한 방식도 모두 포함하는 것이다. 그러한 특허청구범위에 기재된 본 발명의 원리는 여러 가지 기재된 수단이 제공하는 기능들이 특허청구범위가 필요로 하는 방식으로 조합되고 묶여진다는 사실에 있다. 따라서, 이러한 기능들을 제공할 수 있는 수단은 모두 여기에 표시된 수단들과 등가인 것으로 간주된다.
명세서에서 본 발명의 "일 실시형태" 또는 "하나의 실시형태"는 물론 그 파생어는 그 실시형태와 관련하여 기재된 특수한 특성, 구조, 특징 등이 본 발명의 적어도 하나의 실시형태에 포함된다는 것을 의미한다. 따라서 본 명세서 전체에 걸쳐 여러 곳에서 나타나는 "일 실시형태에서" 또는 "하나의 실시형태에서"라는 문구는 물론 그 파생어도 반드시 같은 실시형태를 말하는 것은 아니다.
예컨대 "A/B", "A 및/또는 B" 및 "A와 B 중 적어도 어느 하나"의 경우에서 "/", "및/또는" 및 "적어도 어느 하나"를 사용하는 것은 첫번째 옵션 (A)만, 두번째 옵션 (B)만, 양 옵션 (A 및 B)를 선택하는 것을 포함하는 것임을 알아야 한다. 추가 예로서, "A, B 및/또는 C" 및 "A, B 및 C 중 적어도 어느 하나"의 경우에 이러한 구절은 첫번째 열거된 옵션 (A)만, 두번째 열거된 옵션 (B)만, 세번째 열거된 옵션 (C)만, 첫번째 열거된 옵션과 두번째 열거된 옵션(A와 B)만, 첫번째 열거된 옵션과 세번째 열거된 옵션(A와 C)만, 두번째 열거된 옵션과 세번째 열거된 옵션(B와 C)만, 또는 세가지 옵션 모두(A, B 및 C)를 선택하는 것을 포함하는 것이다. 이것은 당업자라면 쉽게 알 수 있는 바와 같이 더 많은 옵션에 대해서도 확장될 수 있다.
또한, 여기서 사용된 대로, "화상" 그리고 "이미지"란 단어는 호환가능하게 이용되며, 비디오 시퀀스(video sequence)로부터의 정지 이미지 혹은 영상을 의미한다. 공지된 바와 같이, 화상은 프레임이거나 필드일 수 있다.
위에서 언급된 대로, 우리는 비디오 인코더와 디코더를 위한 효율적인 적응형 필터를 위한 방법과 장치를 공개한다. 설명과 기술의 목적을 위해, 여기서 예들은 MPEG-4 AVC 표준에 대한 개량이라는 맥락에서 여기에 기술되었으며, MPEG-4 AVC 표준을 기준선(baseline)으로 사용하여 MPEG-4 AVC 표준을 넘어선 개량과 확장에 대해 우리의 기술과 설명이 이루어진다. 그러나, 본 발명의 원리가 오직 MPEG-4 AVC 표준 및/또는 그 확장에 한정되지 않음이 이해되어야 한다. 본 발명의 원리의 여기서 제시된 교시를 받으면, 본 기술분야와 관련분야의 당업자는 충분히 본 발명의 원리가 다른 표준들의 확장에 적용되었을 때, 또는 아직 개발되지 않은 표준에 적용되거나 및/또는 포함되었을 때, 동등하게 응용가능하며 최소한 유사한 이익을 제공하리라는 점을 이해할 수 있을 것이다. 본 발명의 원리는 또한 표준에 부합하지 않으나, 반면 독점적인 정의(propriety definitions) 에 부합하는 비디오 인코더와 비디오 디코더에 역시 적용된다는 점이 이해되어야 한다.
또한, 설명의 목적을 위하여, 본 발명의 원리는 적응 루프 필터(ALF) 의 맥락에서 기술되었다. 그러나, 본 발명의 원리가 오직 적응 루프 필터에만 한정되지 않으며, 여기서 제시된 본 발명의 원리의 교시를 받으면, 본 기술분야와 관련분야의 당업자가 용이하게 이해할 수 있듯이, 루프 내와 루프 외의 응용을 포함하여 다른 타입의 필터들에도 용이하게 적용될 수 있다는 점이 이해되어야 한다.
그에 더하여, 본 발명의 원리와 결합(conjunction)하여 기술된 모든 절차는 휘도, 색차, 또는 휘도와 색차의 조합에 적용될 수 있음이 이해되어야 한다.
도 1에 나타낸 바와 같이, 본 발명의 원리가 응용될 수 있는 예시적인 비디오 인코더는 일반적으로 참조번호 (100)으로 표시된다. 비디오 인코더(100)는 컴바이너(185)의 비반전(non-inverting) 입력과 신호통신을 하는 출력을 가지는 프레임 정렬(ordering) 버퍼(110)를 포함한다. 컴바이너(185)의 출력은 변환기(transformer) 및 양자화기(quantizer)(125)의 첫 번째 입력과 신호통신으로 연결된다. 변환기 및 양자화기(125)의 출력은 엔트로피 코더(entropy coder)(145)의 첫 번째 입력 그리고 역변환기(inverse transformer) 및 역양자화기(inverse quantizer)(150)의 첫 번째 입력과 신호통신으로 연결된다. 엔트로피 코더(145)의 출력은 컴바이너(190)의 첫 번째 비반전 입력과 신호통신으로 연결된다. 컴바이너(190)의 출력은 출력 버퍼(135)의 첫 번째 입력과 신호통신으로 연결된다.
인코더 컨트롤러(105)의 첫 번째 출력은 프레임 정렬 버퍼(110)의 두 번째 입력, 역변환기 및 역양자화기(150)의 두 번째 입력, 화상 타입 결정 모듈(115)의 입력, 매크로블록 타입(macroblock-type, MB-type) 결정 모듈(120)의 첫 번째 입력, 인트라 예측 모듈(intra prediction module)(160)의 두 번째 입력, 블록제거 필터(165)의 두 번째 입력, 움직임 보상기(motion compensator)(170)의 첫 번째 입력, 움직임 추정기(motion estimator)(175)의 첫 번째 입력, 그리고 표준 화상 버퍼(reference picture buffer)(180)의 두 번째 입력과 신호통신으로 연결되어 있다.
인코더 컨트롤러(105)의 두 번째 출력은 부가 향상 정보(supplemental enhancement information, SEI) 삽입기(inserter)(130)의 첫 번째 입력, 변환기 및 양자화기(125)의 두 번째 입력, 엔트로피 코더(145)의 두 번째 입력, 출력 버퍼(135)의 두 번째 입력, 시퀀스 파라미터 집합(sequence parameter set, SPS) 및 화상 파라미터 집합(picture parameter set, PPS) 삽입기(140)의 입력과 신호통신으로 연결되어 있다.
SEI 삽입기(130)의 출력은 컴바이너(190)의 두 번째 비반전 입력과 신호통신으로 연결되어 있다.
화상 타입 결정 모듈(115)의 첫 번째 출력은 프레임 정렬 버퍼(110)의 세 번째 입력과 신호통신으로 연결되어 있다. 화상타입결정 모듈(115)의 두 번째 출력은 매크로블록 타입 결정 모듈(120)의 두 번째 입력과 신호통신으로 연결되어 있다.
시퀀스 파라미터 집합 및 화상 파라미터 집합 삽입기(140)의 출력은 컴바이너(190)의 세 번째 비반전 입력과 신호통신으로 연결되어 있다.
역양자화기 및 역변환기(150)의 출력은 컴바이너(119)의 첫 번째 비반전 입력과 신호통신으로 연결되어 있다. 컴바이너(119)의 출력은 인트라 예측모듈(160)의 첫 번째 입력 및 블록제거필터(165)의 첫 번째 입력과 신호통신으로 연결되어 있다. 블록제거필터(165)의 출력은 적응루프필터(141)의 입력과 신호통신으로 연결되어 있다. 적응 루프 필터(141)의 출력은 표준 화상 버퍼(180)의 첫 번째 입력과 신호통신으로 연결되어 있다. 표준 화상 필터(180)의 출력은 움직임 추정기(175)의 두 번째 입력 및 움직임 보상기(170)의 세 번째 입력과 신호통신으로 연결되어 있다. 움직임 추정기(175)의 첫 번째 출력은 움직임 보상기(170)의 두 번째 입력과 신호통신으로 연결되어 있다. 움직임 추정기(175)의 두 번째 출력은 엔트로피 코더(145)의 세 번째 입력과 신호통신으로 연결되어 있다.
움직임 보상기(170)의 출력은 스위치(197)의 첫 번째 입력과 신호통신으로 연결되어 있다. 내부 에측 모듈(160)의 출력은 스위치(197)의 두 번째 입력과 신호통신으로 연결되어 있다. 매크로블록 타입 결정 모듈(120)의 출력은 스위치(197)의 세 번째 입력과 신호통신으로 연결되어 있다. 스위치(197)의 세 번째 입력은 스위치의 "데이터" 입력(제어 입력, 즉 세 번째 입력과 대조하여서)이 움직임 보상기(170) 또는 인트라 예측 모듈(160)에 의해 공급되는지 아닌지의 여부를 결정한다. 스위치(197)의 출력은 컴바이너(119)의 두 번째 비반전 입력 및 컴바이너(185)의 반전 입력과 신호통신으로 연결되어 있다.
프레임 정렬 모듈(110)의 첫 번째 입력과 인코더 컨트롤러(105)의 입력은 인코더(100)의 입력으로서, 입력 화상을 받는 데에 이용된다. 그에 더하여, 부가 향상 정보(SEI) 삽입기(130)의 두 번째 입력 역시 인코더(100)의 입력으로서, 메타데이터를 받는 데에 이용된다. 출력 버퍼(135)의 출력은 인코더(100)의 출력으로서, 비트스트림을 출력하는 데에 이용된다.
도 2에 나타낸 바와 같이, 본 발명의 원리가 적용될 수 있는 예시된 비디오 디코더는 일반적으로 참조번호 200으로 식별된다. 비디오 디코더(200)는 엔트로피 디코더(245)의 첫 번째 입력과 신호통신으로 연결되어 있는 출력을 가지는 입력 버퍼(210)를 포함한다. 엔트로피 디코더(245)의 첫 번째 출력은 역변환기 및 역양자화기(250)의 첫 번째 입력과 신호통신으로 연결되어 있다. 역변환기 및 역양자화기(250)의 출력은 컴바이너(225)의 두 번째 비반전 입력과 신호통신으로 연결되어 있다. 컴바이너(225)의 출력은 블록제거 필터(265)의 두 번째 입력 및 인트라 예측 모듈(260)의 첫 번째 입력과 신호통신으로 연결되어 있다. 블록제거 필터(265)의 두 번째 출력은 적응 루프 필터(241)의 입력과 신호통신으로 연결되어 있다. 적응 루프 필터(241)의 출력은 표준 화상 버퍼(280)의 첫 번째 입력과 신호통신으로 연결되어 있다. 표준 화상 버퍼(280)의 출력은 움직임 보상기(270)의 두 번째 입력과 신호통신으로 연결되어 있다.
엔트로피 디코더(245)의 두 번째 출력은 움직임 보상기(270)의 세 번째 입력, 블록제거 필터(265)의 첫 번째 입력, 인트라 예측기(260)의 세 번째 입력과 신호통신으로 연결되어 있다. 엔트로피 디코더(245)의 세 번째 출력은 디코더 컨트롤러(205)의 입력과 신호통신으로 연결되어 있다. 디코더 컨트롤러(205)의 첫 번째 출력은 엔트로피 디코더(245)의 두 번째 입력과 신호통신으로 연결되어 있다. 디코더 컨트롤러(205)의 두 번째 출력은 역변환기 및 역양자화기(250)의 두 번째 입력과 신호통신으로 연결되어 있다. 디코더 컨트롤러(205)의 세 번째 출력은 블록제거 필터(265)의 세 번째 입력과 신호통신으로 연결되어 있다. 디코더 컨트롤러(205)의 네 번째 출력은 인트라 예측 모듈(260)의 두 번째 입력, 움직임 보상기(270)의 첫 번째 입력, 표준 화상 버퍼(280)의 두 번째 입력과 신호통신으로 연결되어 있다.
움직임 보상기(270)의 출력은 스위치(297)의 첫 번째 입력과 신호통신으로 연결되어 있다. 인트라 예측 모듈(260)의 출력은 스위치(297)의 두 번째 입력과 신호통신으로 연결되어 있다. 스위치(297)의 출력은 컴바이너(225)의 첫 번째 비반전 입력과 신호통신으로 연결되어 있다.
입력 버퍼(210)의 입력은 디코더(200)의 입력으로서, 입력 비트스트림을 받는 데에 이용된다. 블록제거 버퍼(265)의 첫 번째 출력은 디코더(200)의 출력으로서, 출력 화상을 출력하는데에 이용된다.
위에서 언급한 대로, 본 발명의 원리는 비디오 인코더와 디코더를 위한 효율적인 적응형 필터링을 위한 방법들과 장치를 목표로 한다.
본 발명의 원리의 첫 번째 측면에서, 우리는 Wiener 필터와 그에 대응하는 디코딩된 화상의 필터링을 반복적으로 정교화(refine)하여 최적의 복원을 달성하는 방법과 장치를 공개한다. 첫 번째 측면을 지향하는 실시를 고려할 때, 공간적 적응은 영역과 필터 스위치 제어 정보를 정의하는 데 더 많은 오버헤드 비트를 지불함으로써 얻어진다.
그러나, 전술한 대로, 부가(side) 정보(예컨데, 영역과 필터 스위치 제어 정보를 정의하는 것)를 송출하는 비용은 어떤 경우에는 감당할 수 없으며, 특히 저 비트레이트 응용의 경우 그러하다. 따라서, 본 발명의 원리의 두 번째 측면에서, 우리는 이용가능하거나 디코딩된 정보에 기반하여 부가 정보를 디코더에서 유도하는 방법과 장치를 공개한다. 이러한 접근법은 부가정보를 송출하는데 필요한 추가 비용을 제거하거나 줄일 수 있으며, 따라서 코딩 성능을 향상시킨다.
반복적 필터링
위에서 언급한 대로 그리고 본 발명의 원리에 따라서, 우리는 반복적 필터링 절차가 비디오 압축에 있어서 Wiener 필터의 성능을 향상시키기 위하여 사용되는 첫 번째 측면을 공개한다. (본 기술분야와 관련분야의 당업자가 알고 있는 바와 같이, 본 발명의 원리는 Wiener 필터가 아닌 다른 필터를 사용하는 필터링 방법에도 적용된다.) 보다 구체적으로, 우리는 먼저 예컨데 필터가 지원하는 크기와 토폴로지와 같은 필터 구조를 정의한다. 그리고 우리는 필터를 추정하는데에 사용되는 데이터 집합을 정의한다. 데이터 집합은 재구성된 비디오 신호의 어떤 이전 정보라도 사용해서 정의될 수 있다. 그리고, 우리는 정의된 데이터 집합을 필터 계수를 추정하는 데에 사용할 수 있으며, 따라서 추정된 필터를 구할 수 있다. 추정된 필터를 구한 뒤, 우리는 추정된 필터를 재구성된 화상에 적용하여 필터링된 화상을 얻을 수 있다. 이 시점에서, 첫 번째 반복이 종료된다. 다음 반복에서는, 우리는 필터를 추정하는 데에 사용된 데이터 집합을, 이전 반복에서 사용된 화상보다 향상되었으리라 기대되는 필터링된 화상을 사용하여 정교화한다. 그리고 우리는 필터 계수를 이 정교화된 데이터 집합에 기반하여 추정할 수 있다. 추정된 필터는 재구성된 화상에 적용된다. 만일 화상의 품질의 향상이 충분히 작다면, 즉 향상이 임계치에 도달하지 못했다면, 이 경우 반복은 수렴하며 종료될 수 있다. 마지막으로 추정된 필터는 최적화된 것이며 결정된 필터의 파라미터들이 디코더로(비트스트림 안에서, 전달 매체 안에서, 및/또는 기타 방법으로) 송출될 것이다. 하나의 실시에 있어서, 필터 구조는 다른 반복에 대해 다를 수 있다. 하나의 실시에 있어서, 여러 개의 필터가 각 반복 내의 각 화상에 사용될 수 있다.
하나의 실시에 있어서, 추정된 필터는 재구성된 화상에만 적용될 뿐이다. 그리고는 오직 최종적으로 추정된 필터만이 디코더로 송출된다. 필터의 추정에 사용된 픽셀 데이터의 위치는 각 반복에서 필터링된 화상에 기반하여 정교화된다. 데이터 집합 내에서 픽셀의 값은 재구성된 화상으로부터 얻어진다. 필터는 오직 재구성된 화상에만 적용된다. 이러한 전술은 송출되는 오버헤드를 절감한다.
도 3에 나타낸 바와 같이, 적응적이고 반복적으로 화상 데이터를 비디오 인코더 안에서 필터링하는 예시적인 방법은 참조번호(300)로 일반적으로 식별된다. 방법(300)은 제어를 기능 블록(function block)(310)에 넘겨주는 시작 블록(start block)(305)을 포함한다. 기능 블록(310)은 필터 구조(예컨데, 지원되는 크기와 토폴로지)를 정의하고, 제어를 루프 한도 블록(loop limit block)(315)으로 넘겨준다. 루프 한도 블록(315)은 루프 와일(loop while)(delta_dist > threshold and K < max_K)을 시작하고, 제어를 기능 블록(320)에 넘겨준다. 기능 블록(320)은 데이터 집합 Dk 를 필터 추정을 위해 재구성된 화상(Img)안에서 결정하고, 제어를 기능 블록(325)에 넘겨준다. 기능 블록(325)은 필터(Fk ))를 데이터 집합(Dk)에 기반하여 추정하고, 제어를 기능 블록(330)에 넘겨준다. 기능 블록(330)은 재구성된 화상(Img)를 Fk를 사용하여 필터링하고 필터링된 화상(Img)k를 얻은 뒤, 제어를 기능 블록(335)에 넘겨준다. 기능 블록(335)은 원본 화상(org)와 Imgk 사이의 왜곡(distortion)(distk)를 계산하고, 제어를 결정 블록(340)에 넘겨준다. 결정 블록(340)은 distk < distk -1인지의 여부를 결정한다. 만일 그러하다면, 제어는 기능 블록(345)으로 넘어간다. 그렇지 않다면, 제어는 기능 블록(350)으로 넘어간다. 기능 블록(345)은 Fbest = Fk로 설정하고, 제어를 기능 블록(350)으로 넘겨준다. 기능 블록(350)은 Delta_dist = |distk - distk -1|로 설정하고 제어를 루프 한도 블록(355)으로 넘겨준다. 루프 한도 블록(335)에서 루프가 끝나며, 제어가 기능 블록(360)으로 넘겨진다. 기능 블록(360)은 필터 Fbest 를 인코드하고 제어를 종료 블록(399)으로 넘겨준다.
도 4에 나타낸 바와 같이, 적응적이고 반복적으로 화상 데이터를 비디오 디코더 안에서 필터링하는 예시적인 방법은 참조번호(400)로 일반적으로 식별된다. 방법(400)은 제어를 기능 블록(410)에 넘겨주는 시작 블록(405)을 포함한다. 기능 블록(410)은 필터 Fbest의 구조와 계수를 구문분석(parse)하고 제어를 기능 블록(415)에 넘겨준다. 기능 블록(415)은 재구성된 화상(Img)를 Fbest를 이용하여 필터링하여 필터링된 화상(Img_best)을 구하고, 제어를 종료 블록(499)으로 넘겨준다.
또 다른 실시에서는, 데이터 집합 안의 픽셀의 위치와 값 모두가 이전 반복의 출력인 필터링된 화상으로부터 결정된다. 이 필터는 이전 반복에서 필터링된 화상을 사용하여 추정된다. 각 반복에 대하여, 필터가 추정되고 화상은 인코더에서 필터링된다. 이 필터는 연속적으로 이전 반복에서 필터링된 화상에 적용된다. 이 반복에서 추정된 모든 필터는 디코더로 송출될 필요가 있다. 디코더에서, 디코딩된 화상 역시 수신된 추정된 필터를 적용하여 반복적으로 필터링된다.
도 5에 나타낸 바와 같이, 적응적이고 반복적으로 화상 데이터를 비디오 인코더에서 필터링하는 또 하나의 예시적인 방법은 참조번호 (500)으로 일반적으로 식별된다. 방법(500)은 제어를 기능 블록(510)에 넘겨주는 시작 블록(505)을 포함한다. 기능 블록(510)은 필터 구조(예컨데, 지원되는 크기와 토폴로지)를 정의하고, 제어를 루프 한도 블록(515)에 넘겨준다. 루프 한도 블록(515)은 루프 와일(delta_dist > threshold and K < max_K)를 시작하고, 제어를 기능 블록(520)에 넘겨준다. 기능 블록(520)은 필터 추정을 위해 데이터 집합(Dk)을 재구성된 화상(Img 및/또는 Imgk -1)을 사용하여 결정하고, 제어를 기능 블록(525)에 넘겨준다. 기능 블록(525)은 필터(Fk)를 데이터 집합(Dk)에 기반하여 추정하고, 제어를 기능 블록(530)에 넘겨준다. 기능 블록(530)은 이미 필터링된 화상(Imgk -1)을 Fk를 사용하여 필터링하고 필터링 된 화상(Imgk)를 얻은 뒤, 제어를 기능 블록(535)에 넘겨준다. 기능 블록(535)은 Imgk와 원본 화상(org) 사이의 왜곡(distk)을 계산하고, 제어를 결정 블록(540)에 넘겨준다. 결정 블록(540)은 distk < distk -1 인지의 여부를 결정한다. 만일 그러하다면, 제어는 기능 블록(545)으로 넘어간다. 그렇지 않다면, 제어는 기능 블록(550)으로 넘어간다. 기능 블록(545)은 Fbest[k]=Fk, k_final=k로 설정하고, 제어를 기능 블록(550)으로 넘겨준다. 기능 블록(550)은 Delta_dist = |dist k - dist k-1|로 설정하고 제어를 루프 한도 블록(555)으로 넘겨준다. 루프 한도 블록(555)에서 루프가 끝나며, 제어가 기능 블록(560)으로 넘겨진다. 기능 블록(560)은 k_final과 필터 F best[k]를 인코드하고 제어를 종료 블록(599)으로 넘겨준다.
도 6에 나타낸 바와 같이, 적응적이고 반복적으로 화상 데이터를 비디오 디코더 안에서 필터링하는 또 하나의 예시적인 방법은 참조번호(600)로 일반적으로 식별된다. 방법(600)은 제어를 기능 블록(610)에 넘겨주는 시작 블록(605)을 포함한다. 기능 블록(610)은 k_final을 구문분석하고 제어를 기능 블록(615)에 넘겨준다. 기능 블록(615)은 필터 Fbest[k], 구조, 계수를 k=0,...,k_final에 대하여 구문분석하고 제어를 루프 한도 블록(620)에 넘겨준다. 루프 한도 블록(620)은 루프 와일(k<k_final)을 시작하고 제어를 기능 블록(625)에 넘겨준다. 기능 블록(625)은 화상(Imgk -1)을 필터(Fbest[k])를 사용하여 필터링하여 필터링된 화상 Imgk를 구하고, 제어를 루프 한도 블록(630)에 넘겨준다. 루프 한도 블록(630)에서 루프가 끝나며, 제어가 기능 블록(635)에 넘겨진다. 기능 블록(635)은 화상 img_k_ final을 출력하고 제어를 종료 블록(699)으로 넘겨준다.
함축적 필터링 신호 송출
본 발명의 원리와 부합하여, 우리는 어떤 영역에 대하여 신호 비트(signaling bit)를 누락시킴으로써 영역기반 필터링에 대해 필요한 부가 정보를 절감하는 두 번째 측면을 공개한다. 픽셀 값은 많은 영역에서 필터링되었을 때 매우 적은 변화를 겪는다는 것이 관찰되어 있다. 이러한 필터링이 픽셀들에 영향을 주지 않는다는 상기 관찰에 기반하여, 본 발명의 원리는 이러한 영역들에서 필터 정보(예컨데, 필터 스위치 정보)와 관련하여 매우 적은 비트를 소비하는 것을 목표로 한다. 우리는 또한 필터가 명백히 어떤 영역들(예컨데, 텍스춰 영역)에서는 잘 작동하는 반면 어떤 다른 영역들에서는 필터가 상대적으로 상수에 가까움을 관찰하였다. 이러한 모든 영역들에 대하여, 우리는 필터 스위치 정보 또는 필터 정보를 송출하지 않는다, 왜냐하면 우리는 인코더와 디코더에서 정보를 고정시켜 놓을 수 있기 때문이다. 보다 일반적으로, 본 발명의 원리의 본 측면과 부합하여, 우리는 이러한 영역들을 먼저 검출하고 그 이후 이 영역들에 대한 부가 정보를 누락(예컨데, 전송하지 않거나 및/또는 그 외의 방법으로 전달하지 않음)하기를 제안한다.
하나의 실시에서, 필터가 먼저 전체 재구성된 화상에 적용되어 필터링 된 화상이 생성된다. 필터링된 화상과 재구성된 화상이 그 후 비교되어 전술한 특수한 영역들을 검출한다. 이 불필요한 영역들은 재구성된 프레임과 필터링된 프레임 사이의 차이가 어떤 임계치보다 작은 블록이나 영역으로 정의될 수 있다. 예컨데, 어떤 블록 R(X,Y)는 만일 다음이 성립하면 불필요한 영역이다:
Figure pct00001
(1)
여기서 (i,j)는 화상 안의 픽셀의 위치를 나타내며, th_unness는 임계치로서 서로 다른 블록 크기에 대해 다른 값을 취할 수 있고, M(i,j)는 픽셀 (i,j)에 대한 예측 맵(prediction map)이다. M(i,j)는 다음과 같이 정의된다.
Figure pct00002
(2)
여기서 Img_dec는 필터링 전의 프레임이고 Img_filtered는 필터링 후의 프레임이다. 만일 어떤 영역 내부에 대해서 예측된 맵의 값의 합이 임계치보다 작다면, 이 블록에 대한 비트들은 불필요하며 누락될 수 있다. 유사하게 쿼드트리 서브블록(Quad-tree sub-block) 수준 내에서, 서브블록에 대한 비트는 그 서브블록 내에 대한 예측 맵의 값이 임계치보다 작다면 또한 누락될 수 있다.
유사하게, 필수적인 영역들은 재구성된 프레임과 필터링된 프레임 사이의 차이가 어떤 임계치보다 큰 블록이나 영역으로 정의될 수 있다. 예컨데, 어떤 블록 R(X,Y)는 만일 다음이 성립하면 필수적인 영역이다.
Figure pct00003
(3)
여기서 (i,j)는 화상 안의 픽셀의 위치를 나타내며, th_unness는 임계치로서 서로 다른 블록 크기에 대해 다른 값을 취할수 있다.
불필요한 영역에도 필수적인 영역에도 속하지 않는 영역들은 가능한 영역으로 정의된다. 우리는 부가 정보를 이러한 가능한 영역들에 대해서만 송출하면 되는데 이러한 가능한 영역들이 대부분의 불확실성을 포함하기 때문이다. 다른 두 영역들에 대해서는, 우리는 어떤 부가정보도 송출하지 않는데 불필요한 영역은 필터링 할 필요가 없으며 필수적인 영역들은 반드시 필터링 될 것이기 때문이다. 영역들 또는 블록들은 서로 다른 크기와 토폴로지를 가질 수 있음이 이해되어야 한다. 그에 더해 임계치들이 서로 다른 블록이나 영역들에 대해 서로 다른 값을 가질 수 있음이 또한 이해되어야 한다. 이러한 영역 분할(region segmentation)을 하기 위한 모든 정보는 인코더와 디코더 모두에서 사용가능하다, 왜냐하면 우리는 재구성된 이미지와 필터링된 재구성된 이미지를 비교할 뿐이기 때문이다. 따라서 우리는 영역 분할을 위해 부가적인 오버헤드를 송출할 필요가 없다.
또 다른 실시에서, 재구성된 프레임과 필터링된 프레임이 비교되어 필터링 영역이 대략적으로(coarse) 검출된다. 그리고는 디코딩된 화상으로부터 얻은 더 많은 특징들, 예컨데 공간-시간적 영역 분산(spatio-temporal local variance), 압축 모드, 움직임 정보 등을 고려하여 대략적인 영역 검출이 정교화된다. 정교화된 영역 검출은 최종적인 분할이 된다. 우리는 부가 정보를 오직 가능한 영역에 대해서만 송출하고 필수적인 영역과 불필요한 영역에 대해서는 송출하지 않는데 후자들은 디코더에 의해 함축적으로 결정되기 때문이다.
도 7에 나타낸 바와 같이, 화상 데이터를 비디오 인코더 안에서 함축적 필터링 신호 송출을 사용하여 적응적으로 필터링하는 예시적인 방법은 참조 번호(700)로 일반적으로 식별된다. 방법(700)은 제어를 기능 블록(710)에 넘겨주는 시작 블록(705)을 포함한다. 기능 블록(710)은 필터(F)를 원본 화상(Img_org)과 재구성된 화상(Img_dec)에 기반하여 추정하고, 제어를 기능 블록(715)으로 넘긴다. 기능 블록(715)은 필터(F)를 재구성된 화상(Img_dec)에 적용하여 Img_filtered를 얻고, 제어를 기능 블록(720)에 넘긴다. 기능 블록(720)은 예측 맵 M을 식 (2)에 기반하여 생성하고, 제어를 기능 블록(725)에 넘긴다. 기능 블록(725)은 화상(Img_dec)을 불필요한, 필수적인, 가능한 영역들로 분할하고, 제어를 기능 블록(730)에 넘긴다. 기능 블록(730)은 분할 결과를 Img_dec에서 얻은 특징, 코딩 모드, 움직임 정보, 기타에 기반하여 정교화하고 제어를 기능 블록(735)에 넘긴다. 기능 블록(735)은 각 가능한 영역들에 대해 비트율 왜곡(rate distortion, RD)비용에 기반하여 각 블록 필터의 스위치를 "on" 할 것인가 "off" 할 것인가의 여부에 대해 결정을 내리고, 제어를 기능 블록(740)에 넘긴다. 기능 블록(740)은 필터 스위치를 필수적인 영역들에 대해 "on"으로 설정하고, 불필요한 영역들에 대해 "off"로 설정하며, 기능 블록(745)으로 제어를 넘긴다. 기능 블록(745)은 필터 F를 각 블록들에 대한 필터 스위치 정보에 기반하여 화상(Img_dec)에 적용한 뒤, 제어를 기능 블록(750)에 넘긴다. 기능 블록(750)은 스위치 정보를 가능한 영역들에 대해 인코드하고, 필터 F를 인코드한 뒤, 제어를 종료 블록(799)으로 넘긴다.
도 8에 나타낸 바와 같이, 화상 데이터를 비디오 디코더 안에서 함축적 필터링 신호 송출을 사용하여 적응적으로 필터링하는 예시적인 방법은 참조 번호(800)로 일반적으로 식별된다. 방법(800)은 제어를 기능 블록(810)에 넘겨주는 시작 블록(805)을 포함한다. 기능 블록(810)은 필터 F를 구문분석하고, 스위치 정보를 가능한 영역들에 대해 구분분석하며, 제어를 기능 블록(815)으로 넘긴다. 기능 블록(815)은 필터 F를 재구성된 화상(Img_dec)에 적용하여 Img_filtered를 얻고, 제어를 기능 블록(820)에 넘긴다. 기능 블록(820)은 예측 맵 M 을 식 (2)에 기반하여 생성하고 제어를 기능 블록(825)에 넘긴다. 기능 블록(825)은 화상 Img_dec을 불필요한, 필수적인, 가능한 영역들로 분할하고, 제어를 기능 블록(830)에 넘긴다. 기능 블록(830)은 분할 결과를 Img_dec에서 얻은 특징, 코딩 모드, 움직임 정보, 기타에 기반하여 정교화하고 제어를 기능 블록(835)에 넘긴다. 기능 블록(835)은 필터 스위치를 가능한 영역들에 대해 구분분석된 결과에 기반하여 설정하고 제어를 기능 블록(840)에 넘긴다. 기능 블록(840)은 필터 스위치를 필수적인 영역에 대해 "on"으로 설정하고, 불필요한 영역들에 대해 "off"로 설정하며, 기능 블록(845)으로 제어를 넘긴다. 기능블록(845)은 필터(F)를 화상(Img_dec)에 각 블록의 필터 스위치 정보에 기반하여 적용하고 제어를 종료블록(899)으로 넘긴다.
반복 필터링과 함축적 필터링 신호 송출의 조합
위에서 제안된 두 가지 또는 그 이상의 다양한 실시예들이 보다 더 향상된 성능을 위해 조합될 수 있음이 이해되어야 한다. 반복적 필터링 절차에서, 우리는 데이터 집합을 필터 추정을 위해 정의하여, 영역 검출 기법을 함축적 필터링 신호 송출에서 데이터 집합을 정의하거나 정교화하는데 사용할 수 있게 할 필요가 있다. 함축적 필터링 신호 송출 기법은 반복적 필터링 절차에서 각 반복에 대하여 또는 일부 반복들에 대하여 사용될 수 있다.
하나의 실시에서, 반복적 필터링 절차의 하나의 반복이 수행되고 추정된 필터와 필터링된 화상이 그로부터 출력된다. 그러면, 필터링된 화상과 필터링되지 않은 화상(재구성된 화상)은 영역 검출을 수행하여 화상을 필수적인, 불필요한, 가능한 영역으로 분할하는 데 사용될 수 있다. 다음 반복에서, 오직 필수적인 그리고 가능한 영역 픽셀들만이 필터 추정을 위한 데이터 집합에 포함된다. 우리는 반복적으로 화상을 필터링하고 필터 추정을 정교화하기를 게속한다. 필터링된 화상의 품질이 더 이상 향상되지 않으면(예컨데, 임계치 미만) 반복 절차는 종료된다.
도 9에 나타낸 바와 같이, 화상 데이터를 비디오 인코더 안에서 함축적 필터링 신호 송출을 사용하여 적응적으로 그리고 반복적으로 필터링하는 예시적인 방법은 참조 번호 (900)으로 일반적으로 식별된다. 방법(900)은 기능 블록(910)으로 제어를 넘기는 시작 블록(905)을 포함한다. 기능 블록(910)은 필터 구조(예컨데, 지원되는 크기와 토폴로지)를 정의하고, 루프 한도 블록(915)으로 제어를 넘긴다. 루프 한도 블록(915)은 루프 와일(delta_dist > thereshold and K < max_K)을 시작하고, 제어를 기능 블록(920)으로 넘긴다. 기능 블록(920)은 필터 추정을 위해 데이터집합(Dk)을 재구성된 (Img 및/또는 Imgk -1)을 사용하여 결정하고, 제어를 기능 블록(925)으로 넘긴다. 기능 블록(925)은 필터(Fk)를 데이터집합(Dk)에 기반하여 추정하고 제어를 기능 블록(930)으로 넘긴다. 기능 블록(930)은 가능한 영역에 대하여 스위치 정보를 비트율 왜곡 비용에 기반하여 결정하고, 필터 스위치를 필수적인 영역에 대해 "on"으로 설정하며, 필터 스위치를 불필요한 영역에 대해 "off"로 설정하고, 제어를 기능 블록(935)으로 넘긴다. 기능 블록(935)은 이전에 필터링된 화상(Imgk -1)을 Fk와 스위치 정보를 사용하여 필터링하여 필터링된 화상(Imgk)을 얻으며, 제어를 기능 블록(940)으로 넘긴다. 기능 블록(940)은 Imgk와 원본 화상(org) 사이에 대하여 왜곡(distk)을 계산하고, 제어를 결정 블록(945)으로 넘긴다. 결정 블록(945)은 diskk<diskk -1인지 아닌지의 여부를 결정한다. 만일 그러하다면, 제어는 기능 블록(950)으로 넘어간다. 그렇지 않은 경우 제어는 기능 블록(955)으로 넘어간다. 기능 블록(950)은 Fbest[k]=Fk,k_final=k로 설정하고 제어를 기능 블록(955)으로 넘긴다. 기능 블록(955)은 Delta_dist=|distk - distk -1|로 설정하고 제어를 루프 한도 블록(960)으로 넘긴다. 루프 한도 블록(960)은 루프를 종료하고 제어를 기능 블록(965)으로 넘긴다. 기능 블록(965)은 k_final과 필터 (Fbest[k])를 인코드하고 제어를 종료 블록(999)으로 넘긴다.
도 10에 나타낸 바와 같이, 화상 데이터를 비디오 디코더 안에서 함축적 필터링 신호 송출을 사용하여 적응적으로 그리고 반복적으로 필터링하는 예시적인 방법은 참조 번호(1000)로 일반적으로 식별된다. 방법(1000)은 제어를 기능 블록(1010)으로 넘기는 시작 블록(1005)을 포함한다. 기능 블록(1010)은 k_final을 구문분석하고, 제어를 기능 블록(1015)으로 넘긴다. 기능 블록(1015)은 k=0, ... ,k_final에 대해 필터 Fbest[k], 구조, 계수를 구문분석하고 제어를 루프 한도 블록(1020)으로 넘긴다. 루프 한도 블록(1020)은 루프 와일(k<k_final)을 시작하고, 제어를 기능 블록(1025)으로 넘긴다. 기능 블록(1025)은 가능한 영역에 대해 구문분석된 정보에 기반하여 스위치 정보를 결정하고, 필수적인 영역에 대해 필터 스위치를 "on"으로 설정하며, 불필요한 영역에 대해 필터 스위치를 "off"로 설정하고, 제어를 기능 블록(1030)으로 넘긴다. 기능 블록(1030)은 화상(Imgk -1)을 Fbest[k]와 스위치 정보를 사용해 필터링하여 필터링된 화상(Imgk)를 얻고, 제어를 루프 한도 블록(1035)으로 넘긴다. 루프 한도 블록(1035)은 루프를 종료하고, 제어를 기능 블록(1040)으로 넘긴다. 기능 블록(1040)은 화상(Img_k_final)을 출력하고 제어를 종료 블록(1099)으로 넘긴다.
구문( syntax )
표 1은 본 발명의 원리의 한 실시에 부합하는 예시적인 화상과 슬라이스 헤더(slice header)의 구문을 보여준다.
Figure pct00004
표 1의 일부 구문 요소들의 의미(semantics)는 다음과 같다.
iterative _ filtering _ flag가 1이면 반복적 필터링 절차가 화상에 대해 활성화 된 것을(사용된 것을) 나타낸다. iterative_fitlering_flag가 0이면 반복적 필터링 절차가 활성화되지 않은 것을(사용되지 않은 것을) 나타낸다.
k_ final은 반복적 필터링 절차의 반복 횟수를 지정한다.
implicit _ filter _ signal _ flag가 1이면 함축적 필터링 신호 송출이 화상에 대해 활성화된 것을 나타낸다. implicit_filter_signal_flag가 0이면 함축적 필터링 신호 송출이 화상에 대해 불활성화된 것을 나타낸다.
filter _ switch[i]가 1이면 필터가 영역 i에 대해 on인 것을 나타내고, filter_switch[i] 가 0이면 필터가 영역 i에 대해 off인 것을 나타낸다.
filter _ coeff[k][j]는 화상에 대해 k 번째 반복에서의 필터 계수를 지정한다.
이제 본 발명에 수반하는 많은 이점/특징 중 일부에 대한 기술이 제시되며, 그 중 일부는 위에서 언급되었다. 예컨데, 한 가지 이점/특징은 화상 데이터를 최소한 화상의 일부에 대해 적응형 필터링을 사용하여 인코딩하는 비디오 인코더를 가지는 장치이다. 비디오 인코더는 적응형 필터를 적응형 필터링을 수행하기 위해 포함한다. 적응형 필터링에 사용된 최종 필터 계수 집합은 반복적으로 복수개의 필터 계수 집합을 추정하고 복수개의 필터 계수 집합 중 마지막으로 추정된 하나를, 그 하나에 대응하는 마지막 반복이 상기 화상의 일부에 대해 임계치를 넘는 품질 향상을 가져올 경우, 최종 필터 계수 집합으로 선택함으로써 결정된다.
한가지 다른 이점/특징은 위에서 기술한 바와 같은 비디오 인코더를 가지며, 최종 필터 계수 집합을 결정하기 위해 사용되는 반복의 수가 고정되어 있는 장치이다.
또 다른 이점/특징은 위에서 기술한 바와 같은 비디오 인코더를 가지며, 적응형 필터링에 복수의 반복들의 수행이 관련되고 같은 필터 타입이 복수의 반복들 각각에 대해 사용되는 장치이다.
또 다른 이점/특징은 위에서 기술한 바와 같은 비디오 인코더를 가지며, 복수개의 필터 계수 집합이 전역적 기반 (global basis), 영역 기반 (region basis). 지역 기반 (local basis) 중 하나로 반복적으로 추정되는 장치이다.
이에 더하여 한가지 다른 이점/특징은 위에서 기술한 바와 같은 비디오 인코더를 가지며, 적응형 필터링에 복수의 반복들의 수행이 관련되고, 복수의 필터가 복수의 반복들 중 하나나 그 이상에서 사용되는 장치이다.
뿐만 아니라 또 다른 이점/특징은 위에서 기술한 바와 같은 비디오 인코더를 가지며, 적응형 필터가 루프내 필터링 설정(configuration)이나 루프외 필터링 설정중 최소한 하나에서 이용되는 장치이다.
또한 한가지 다른 이점/특징은 적응형 필터링을 사용하여 화상의 최소한 한 부분에 대해 화상 데이터를 인코딩하기 위한 비디오 인코더를 가지는 장치이다. 비디오 인코더는 적응형 필터를 적응형 필터링을 수행하기 위해 포함한다. 적응형 필터링에 대한 최소한 하나의 필터 계수 집합과 적응형 필터링의 활성화와 불활성화 중 하나를 위한 필터링 스위치 정보가, 하나나 그 이상의 화상 안의 영역들을 적응형 필터링에 대한 확실한 후보, 확실한 비후보, 가능한 후보로 각각 지정하는 함축적 영역 표시 접근법을 사용하여 함축적으로 식별된다.
이에 더하여, 또 다른 이점/특징은 위에서 기술한 바와 같은 비디오 인코더를 가지며, 화상이 하나나 그 이상의 영역을 얻기 위해 분할되는 비디오 인코더를 가지는 장치이다.
그에 더하여, 또 다른 이점/특징은 화상이 위에서 기술된 대로 하나나 그 이상의 영역을 얻기 위해 분할되며, 어떤 특정한 영역이 확실한 후보 중 하나인지, 확실한 비후보 중 하나인지, 또는 가능한 후보 중 하나인지 여부의 판정이 그 화상에 대응하는 필터링된 프레임과 재구성된 프레임을 비교하여 결정되는 비디오 인코더를 가지는 장치이다.
뿐만 아니라, 또 다른 이점/특징은 화상이 위에서 기술한 대로 하나나 그 이상의 영역을 얻기 위해 분할되며, 어떤 특정한 영역이 확실한 후보 중 하나인지, 확실한 비후보 중 하나인지, 또는 가능한 후보 중 하나인지 여부의 판정이, 화상에 대응하는 필터링된 프레임과 재구성된 프레임 중 최소한 하나로부터 얻어진 내용상 특징(content features)을 사용하여 검출되거나 정교화되는 것 중 최소한 하나가 가능한 비디오 인코더를 가지는 장치이다.
또한 한가지 다른 이점/특징은 화상이 위에서 기술한 대로 하나나 그 이상의 영역을 얻기 위해 분할되며, 어떤 특정한 영역이 확실한 후보 중 하나인지, 확실한 비후보 중 하나인지, 또는 가능한 후보 중 하나인지 여부의 판정이, 화상에 대응하는 코딩 정보를 사용하여 검출되거나 정교화되는 것 중 최소한 하나가 가능한 비디오 인코더를 가지는 장치이다.
이에 더하여 한가지 다른 이점/특징은 어떤 특정한 영역이 확실한 후보 중 하나인지, 확실한 비후보 중 하나인지, 또는 가능한 후보 중 하나인지 여부의 판정이, 위에서 기술한 대로 화상에 대응하는 코딩 정보를 사용하여 검출되거나 정교화되는 것 중 최소한 하나가 가능하며, 코딩 정보가 코딩 모드, 움직임 정보, 화상 타입, 슬라이스 타입 중 최소한 하나를 포함하는 비디오 인코더를 가지는 장치이다.
뿐만 아니라, 한가지 다른 이점/특징은 화상이 위에서 기술한 대로 하나 또는 그 이상의 영역을 구하기 위하여 분할되고, 하나 또는 그 이상의 영역을 분할하기 위해 사용된 기준이 하나 또는 그 이상의 영역과 영역 경계 중 서로 다른 것 중 최소한 하나에 대해 가변적인, 비디오 인코더를 가지는 장치이다.
본 발명의 원리의 이러한 그리고 그 외의 특징과 이점들은 여기서 주어진 교시에 기반하여 관련 분야의 당업자에 의해서 쉽게 확인될 수 있다. 본 발명의 원리의 교시는 하드웨어, 소프트웨어, 펌웨어, 특수목적 프로세서 또는 이들의 조합 등 다양한 형태로 구현될 수 있음이 이해되어야 한다.
가장 바람직하게는, 본 발명의 교시 내용은 하드웨어와 소프트웨어의 조합으로서 구현된다. 또한, 소프트웨어는 프로그램 저장 장치에 명백히 내장된 어플리케이션 프로그램으로서 구현될 수 있다. 해당 어플리케이션 프로그램은 임의의 적절한 구조를 포함하는 기계에 업로드되어 해당 기계에 의해 실행될 수 있다. 바람직하게는, 상기 기계는 하나 이상의 중앙처리장치("CPU"), 랜덤 액세스 메모리("RAM") 및 입/출력("I/O") 인터페이스 등과 같은 하드웨어를 지니는 컴퓨터 플랫폼 상에서 구현된다. 상기 컴퓨터 플랫폼은 또한 운용 시스템 및 마이크로명령 코드를 포함할 수 있다. 본 명세서에 기재된 각종 처리 및 기능은 마이크로명령 코드의 일부 혹은 어플리케이션 프로그램의 일부 또는 이들의 임의의 조합일 수 있고, 이는 CPU에 의해 실행될 수 있다. 또, 추가의 데이터 저장장치 및 인쇄 장치 등과 같은 각종 기타 주변 장치가 컴퓨터 플랫폼에 연결될 수 있다.
첨부된 도면에 표시된 구성 시스템 요소들 및 방법의 몇몇은 바람직하게는 소프트웨어로 구현되기 때문에, 시스템 요소들 혹은 방법의 기능 블록들 간의 실제 연결관계는 본 발명이 프로그래밍되는 방식에 따라 다를 수 있다는 것 또한 이해할 필요가 있다. 본 명세서의 교시 내용을 고려하면, 당업자는 본 발명의 이들 및 유사한 구현 혹은 배치 형태를 생각해낼 수 있을 것이다.
예시적인 실시형태가 첨부 도면을 참조하여 본 명세서에서 설명되어 있지만, 본 발명은 이들 정확한 실시형태로 제한되지 않고, 각종 변화와 수정이 본 발명의 범위 혹은 정신으로부터 벗어나는 일없이 당업자에 의해 수행될 수 있다는 것을 이해할 필요가 있다. 이러한 모든 변화와 수정은 첨부된 특허청구범위에 기재된 바와 같은 본 발명의 범위 내에 포함되도록 의도되어 있다.

Claims (31)

  1. 화상 데이터를 최소한 상기 화상의 한 부분에 대하여 적응형 필터링(adaptive filtering)을 사용하여 인코딩하기 위한 비디오 인코더(100)를 포함하되,
    상기 비디오 인코더는 적응형 필터링을 수행하기 위한 적응형 필터를 포함하고, 상기 적응형 필터링에 사용되는 최종 필터 계수 집합은 반복적으로 복수개의 필터 계수 집합들을 추정하고 상기 복수개의 필터 계수 집합들 중 추정된 하나를 선택된 필터 계수 집합으로 선택함으로써 결정되는데, 선택된 필터 계수 집합에 대응하는 반복이 그 부분에 대한 임계치를 넘는 품질 향상을 가져오는 경우 상기 선택이 이루어지는 것인 장치.
  2. 비디오 인코더에서 수행되는 방법으로서,
    화상 데이터를 최소한 화상의 한 부분에 대하여 적응형 필터링을 사용하여 인코딩하는 단계를 포함하되, 상기 적응형 필터링에 사용되는 최종 필터 계수 집합은 반복적으로 복수개의 필터 계수 집합들을 추정하고 상기 복수개의 필터 계수 집합들 중 추정된 하나를 선택된 필터 계수 집합으로 선택함으로써 결정되는데, 선택된 필터 계수 집합에 대응하는 반복은 그 부분에 대한 임계치를 넘는 품질 향상을 가져오는 경우 상기 선택이 이루어지는(320, 325, 330, 335, 340, 345, 520, 525, 530, 535, 540, 545, 550, 920, 925, 930, 935, 940, 945, 950, 955) 것인 방법.
  3. 제 2항에 있어서, 상기 최종 필터 계수 집합을 결정하기 위한 반복의 횟수는 고정(315, 515, 915)되어 있는 것인 방법.
  4. 제 2항에 있어서, 상기 적응형 필터링에는 복수개의 반복들을 수행하는 단계를 수반하고, 동일한 필터 타입이 각 복수개의 반복에 사용(530, 935)되는 것인 방법.
  5. 제 2항에 있어서, 상기 복수개의 필터 계수 집합들은 전역적 기반, 영역 기반 또는 지역 기반 중 한 가지에 기반하여 반복적으로 추정(325, 525, 925)되는 것인 방법.
  6. 제 2항에 있어서, 상기 적응형 필터링은 복수개의 반복들을 수행하는 단계를 수반하고, 복수개의 필터가 상기 복수개의 반복들 중 하나 또는 그 이상에 사용(330, 530, 935)되는 것인 방법.
  7. 제 2항에 있어서, 상기 적응형 필터링은 루프 내 필터링 설정과 루프 외 필터링 설정 중 최소한 하나에서 이용(300, 500, 900)되는 것인 방법.
  8. 화상 데이터를 최소한 입력 화상의 한 부분에 대하여 디코딩하기 위한 비디오 디코더(200)를 포함하되,
    상기 비디오 디코더는 입력 화상의 출력 버전을 구하기 위해 복수개의 필터 계수 집합을 사용하여 화상의 재구성된 버전을 반복적으로 필터링하기 위한 반복 필터를 포함하는 것인 장치.
  9. 비디오 디코더에서 수행되는 방법으로서,
    입력 화상의 최소한 한 부분에 대해 화상 데이터를 디코딩하는 단계를 포함하되, 상기 비디오 디코더는 상기 입력 화상의 출력 버전을 구하기 위해 복수개의 필터 계수 집합을 사용하여 반복적으로 상기 화상의 재구성된 버전을 필터링하기 위한 반복적 필터를 포함(615, 620, 625, 630, 1010, 1015, 1020, 1025, 1030, 1035)하는 것인 방법.
  10. 제 9항에 있어서, 상기 입력 화상의 출력 버전을 구하기 위해 상기 입력 화상의 상기 재구성된 버전을 필터링하기 위해 사용되는 상기 반복의 회수는 고정(610, 620, 1010, 1020)되어 있는 것인 방법.
  11. 제 9항에 있어서, 상기 필터링은 복수개의 반복들을 수행하는 단계를 수반하고, 동일한 타입의 필터가 상기 복수개의 반복들 각각에 대해서 사용(625, 1030)되는 것인 방법.
  12. 제 9항에 있어서, 상기 적응형 필터링은 복수개의 반복을 수행하는 단계를 수반하고, 복수개의 필터가 상기 복수개의 반복 중 하나 또는 그 이상에 사용(625, 1030)되는 것인 방법.
  13. 제 9항에 있어서, 상기 적응형 필터링은 루프 내 필터링 설정과 루프 외 필터링 설정 중 최소한 하나에서 이용(400, 600, 1000)되는 것인 방법.
  14. 인코드된 비디오 신호 데이터를 저장하는 컴퓨터로 읽을 수 있는 저장 매체로서, 상기 비디오 신호 데이터는 화상의 최소한 한 부분에 대하여 적응형 필터링을 사용하여 인코드된 화상 데이터를 포함하되, 상기 적응형 필터링에 사용되는 최종 필터 계수 집합은 복수개의 필터 계수 집합들을 반복적으로 추정하고 상기 복수개의 필터 계수 집합들 중 추정된 하나를 선택된 필터 계수 집합으로 선택함으로써 결정되는데, 상기 선택은 선택된 필터 계수 집합에 대응하는 반복이 그 부분에 대한 임계치를 넘는 품질 향상을 가져오는 경우 이루어지는 것인, 저장 매체.
  15. 화상 데이터를 최소한 화상의 한 부분에 대하여 적응형 필터링을 사용하여 인코딩하기 위한 비디오 인코더(100)로 구성되는 장치를 포함하되,
    상기 비디오 인코더는 적응형 필터링을 수행하기 위한 적응형 필터를 포함하고, 상기 적응형 필터링에 사용되는 필터 계수 집합과, 상기 적응형 필터링을 활성화하거나 불활성화하기 위한 필터링 스위치 정보는, 함축적 영역 식별 기법을 (implicit region indicating technique) 사용하여 함축적으로 식별되고, 상기 함축적 영역 표시 기법은 화상에서 하나 또는 그 이상의 영역을 적응형 필터링에 대한 확실한 후보, 확실한 비후보, 및/또는 가능한 후보로 각각 명시하는 것인 장치.
  16. 비디오 인코더에서 수행되는 방법으로서,
    화상 데이터를 최소한 화상의 한 부분에 대하여 적응형 필터링을 사용하여 인코딩하고, 상기 적응형 필터링을 위한 필터 계수 집합과, 상기 적응형 필터링을 활성화하거나 불활성화하기 위한 필터링 스위치 정보는, 함축적 영역 식별 기법을 사용하여 함축적으로 식별되고, 상기 함축적 영역 식별 기법은 화상에서 하나 또는 그 이상의 영역을 적응형 필터링에 대한 확실한 후보, 확실한 비후보, 및/또는 가능한 후보로 각각 명시(720, 725, 730, 735, 740, 930)하는 것인 방법.
  17. 제16항에 있어서, 상기 화상은 하나 또는 그 이상의 영역을 얻기 위하여 분할되는(720, 725, 730, 930) 것인 방법.
  18. 제17항에 있어서, 어떤 특정한 영역이 확실한 후보 중 하나, 확실한 비후보 중 하나, 및/또는 가능한 후보 중 하나인지 여부의 식별은, 그에 대하여 상기 화상에 대응하는 필터링된 프레임과 재구성된 프레임을 비교함으로써 결정(720, 725, 930)되는 것인 방법.
  19. 제17항에 있어서, 어떤 특정한 영역이 확실한 후보 중 하나, 확실한 비후보 중 하나, 및/또는 가능한 후보 중 하나인지 여부의 식별에 대하여 상기 화상에 대응하는 필터링 된 프레임과 재구성된 프레임으로부터 얻어진 내용상 특징 (content features) 들을 사용하여 검출되는 것과 정교화되는 것 중 최소한 하나가 행해질 수 있는(720, 725, 730, 930) 방법.
  20. 제17항에 있어서, 어떤 특정한 영역의 확실한 후보, 확실한 비후보, 및/또는 가능한 후보 중 하나로의 식별에 대하여 상기 화상에 대응하는 코딩 정보를 사용하여 검출되는 것과 정교화되는 것 중 최소한 하나가 행해질 수 있는(730, 930) 방법.
  21. 제 20항에 있어서, 상기 코딩 정보는 코딩 모드, 움직임 정보, 화상 타입, 슬라이스 타입 중 최소한 하나를 포함(730, 930)하는 것인 방법.
  22. 제17항에 있어서, 상기 하나 이상의 영역으로 분할하는데 사용되는 기준은 하나 이상의 영역과 영역 경계 중 서로 다른 것들 중 최소한 하나에 대해 가변적(720, 725, 730, 930)인 것인 방법.
  23. 화상 데이터를 최소한 화상의 한 부분에 대하여 적응형 필터링을 사용하여 디코딩하기 위한 비디오 디코더(200)를 포함하되,
    상기 비디오 디코더는 적응형 필터링을 수행하기 위한 적응형 필터를 포함하고, 상기 적응형 필터링을 위한 필터 계수 집합과, 상기 적응형 필터링을 활성화하거나 불활성화하기 위한 필터링 스위치 정보는, 함축적 영역 식별 기법을 사용하여 함축적으로 식별되고, 상기 함축적 영역 식별 기법은 화상에서 하나 또는 그 이상의 영역을 적응형 필터링에 대한 확실한 후보, 확실한 비후보, 및/또는 가능한 후보로 각각 명시하는 것인 장치.
  24. 비디오 디코더에서 수행되는 방법으로서,
    화상 데이터를 최소한 상기 화상의 한 부분에 대하여 적응형 필터링을 사용하여 디코딩하는 단계를 포함하되, 상기 비디오 디코더는 적응형 필터링을 수행하는 적응형 필터를 포함하고, 상기 적응형 필터링에 사용되는 필터 계수 집합과, 상기 적응형 필터링을 활성화하거나 불활성화하기 위한 필터링 스위치 정보는, 함축적 영역 식별 기법을 사용하여 함축적으로 식별되고, 상기 함축적 영역 식별 기법은 화상에서 하나 또는 그 이상의 영역을 적응형 필터링에 대한 확실한 후보, 확실한 비후보, 및/또는 가능한 후보로 각각 명시하는(820, 825, 830, 835, 840, 1025) 것인 방법.
  25. 제 24항에 있어서, 상기 화상은 하나 또는 그 이상의 영역을 얻기 위하여 분할(825, 830, 1025)되는 것인 방법.
  26. 제 25항에 있어서, 어떤 특정한 영역이 확실한 후보 중 하나인지, 확실한 비후보 중 하나인지, 또는 가능한 후보 중 하나인지의 여부의 식별은 상기 화상에 대응하는 필터링된 프레임과 재구성된 프레임을 비교함으로써 결정(820, 825, 830, 1025)되는 것인 방법.
  27. 제 25항에 있어서, 어떤 특정한 영역이 확실한 후보 중 하나인지, 확실한 비후보 중 하나인지, 또는 가능한 후보 중 하나인지의 여부의 식별에 대하여 상기 화상에 대응하는 필터링 된 프레임과 재구성된 프레임 중 최소한 하나로부터 얻어진 내용상 특징들을 사용하여 검출되는 것과 정교화되는 것 중 최소한 하나가 행해질 수 있는 방법.
  28. 제 25항에 있어서, 어떤 특정한 영역이 확실한 후보 중 하나인지, 확실한 비후보 중 하나인지, 또는 가능한 후보 중 하나인지의 여부의 식별에 대하여 상기 화상에 대응하는 코딩 정보를 사용하여 검출되는 것과 정교화되는 것 중 최소한 하나가 행해질 수 있는 방법.
  29. 제 28항에 있어서, 상기 코딩 정보는 코딩 모드, 움직임 정보, 화상 타입, 슬라이스 타입 중 최소한 하나를 포함하는(830, 1025) 것인 방법.
  30. 제 25항에 있어서, 상기 하나나 그 이상의 영역으로의 분할하는데 사용된 기준은 하나나 그 이상의 영역과 영역 경계 중 서로 다른 것들 중 최소한 하나에 대해 가변적(820, 825, 830, 1025)인 것인 방법.
  31. 인코딩된 비디오 신호 데이터를 포함하는 컴퓨터로 읽을 수 있는 저장 매체로서, 상기 비디오 신호 데이터는 화상의 최소한 한 부분에 대하여 적응형 필터링을 사용하여 인코드된 화상 데이터를 포함하되, 상기 적응형 필터링에 사용되는 필터 계수 집합과, 상기 적응형 필터링을 활성화하거나 불활성화하기 위한 필터링 스위치 정보는, 함축적 영역 식별 기법을 사용하여 함축적으로 식별되고, 상기 함축적 영역 식별 기법은 화상에서 하나 또는 그 이상의 영역을 적응형 필터링을 위한 확실한 후보, 확실한 비후보, 및/또는 가능한 후보로 각각 식별하는, 저장 매체.
KR1020127012445A 2009-10-15 2010-10-15 비디오 인코더와 디코더를 위한 효율적인 적응형 필터링 방법 및 장치 KR101687181B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US25193409P 2009-10-15 2009-10-15
US61/251,934 2009-10-15
PCT/US2010/002759 WO2011046617A2 (en) 2009-10-15 2010-10-15 Methods and apparatus for efficient adaptive filtering for video encoders and decoders

Publications (2)

Publication Number Publication Date
KR20120083454A true KR20120083454A (ko) 2012-07-25
KR101687181B1 KR101687181B1 (ko) 2016-12-16

Family

ID=43297020

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127012445A KR101687181B1 (ko) 2009-10-15 2010-10-15 비디오 인코더와 디코더를 위한 효율적인 적응형 필터링 방법 및 장치

Country Status (7)

Country Link
US (1) US9167270B2 (ko)
EP (1) EP2489188A2 (ko)
JP (1) JP5746193B2 (ko)
KR (1) KR101687181B1 (ko)
CN (1) CN102577382B (ko)
BR (1) BR112012008636A2 (ko)
WO (1) WO2011046617A2 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195001B2 (en) * 2008-04-09 2012-06-05 Intel Corporation In-loop adaptive wiener filter for video coding and decoding
US8861617B2 (en) * 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
CN102857751B (zh) * 2011-07-01 2015-01-21 华为技术有限公司 一种视频编解码方法和装置
US9924169B2 (en) 2012-03-06 2018-03-20 Lg Electronics Inc. Method and apparatus for selecting a filter based on a variance of depth data
TWI640181B (zh) * 2016-03-02 2018-11-01 晨星半導體股份有限公司 等化器裝置及使用在等化器裝置中以維特比演算法為基礎的決策方法
CN107229620B (zh) * 2016-03-23 2019-11-22 杭州海康威视数字技术股份有限公司 一种视频数据的存储方法及装置
US10855951B2 (en) * 2018-07-13 2020-12-01 Analog Devices Global Unlimited Company Methods and devices for compensating sag effect
US10708624B1 (en) * 2019-05-30 2020-07-07 Ati Technologies Ulc Pre-processing for video compression

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1841230A1 (en) * 2006-03-27 2007-10-03 Matsushita Electric Industrial Co., Ltd. Adaptive wiener filter for video coding

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6178205B1 (en) * 1997-12-12 2001-01-23 Vtel Corporation Video postfiltering with motion-compensated temporal filtering and/or spatial-adaptive filtering
EP3282699B1 (en) * 2001-11-29 2019-10-23 Godo Kaisha IP Bridge 1 Coding distortion removal method
US8189934B2 (en) 2006-03-27 2012-05-29 Panasonic Corporation Image coding apparatus and image decoding apparatus
RU2461977C2 (ru) 2006-12-18 2012-09-20 Конинклейке Филипс Электроникс Н.В. Сжатие и снятие сжатия изображения
EP1976122A1 (en) 2007-03-31 2008-10-01 Sony Deutschland Gmbh Adaptive filter device
US7949172B2 (en) * 2007-04-27 2011-05-24 Siemens Medical Solutions Usa, Inc. Iterative image processing
AU2008352118A1 (en) 2008-03-07 2009-09-11 Kabushiki Kaisha Toshiba Dynamic image encoding/decoding method and device
US8548041B2 (en) * 2008-09-25 2013-10-01 Mediatek Inc. Adaptive filter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1841230A1 (en) * 2006-03-27 2007-10-03 Matsushita Electric Industrial Co., Ltd. Adaptive wiener filter for video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHUJOH T et al: "Block-based adpative loop filter", 35. VCEG MEETING;85, MPEG MEETING; BERLIN;17 July 2008. *

Also Published As

Publication number Publication date
US9167270B2 (en) 2015-10-20
KR101687181B1 (ko) 2016-12-16
CN102577382B (zh) 2016-08-03
CN102577382A (zh) 2012-07-11
JP5746193B2 (ja) 2015-07-08
WO2011046617A2 (en) 2011-04-21
WO2011046617A3 (en) 2011-06-16
US20130016768A1 (en) 2013-01-17
BR112012008636A2 (pt) 2016-04-19
JP2013509024A (ja) 2013-03-07
EP2489188A2 (en) 2012-08-22

Similar Documents

Publication Publication Date Title
US11895296B2 (en) Methods and apparatus for collaborative partition coding for region based filters
US9794597B2 (en) Methods and apparatus for deblocking filtering of non-local intra prediction
KR101687181B1 (ko) 비디오 인코더와 디코더를 위한 효율적인 적응형 필터링 방법 및 장치
JP2018067949A (ja) 動き情報の適応型符号化方法及び装置
JP6646029B2 (ja) アーティファクト除去フィルタリングのための領域ベースのフィルタ・パラメータの選択を行う方法および装置
KR101810263B1 (ko) 분류-기반 루프 필터에 대한 방법들 및 장치
KR101378749B1 (ko) 성김에 기반한 아티팩트 제거 필터링에서 가변 변환들에 응답하여 필터 파라미터 결정 및 선택을 위한 방법과 장치

Legal Events

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

Payment date: 20191202

Year of fee payment: 4