KR101323546B1 - 비디오 코딩시 액티비티 메트릭들에 기초한 필터 예측 - Google Patents

비디오 코딩시 액티비티 메트릭들에 기초한 필터 예측 Download PDF

Info

Publication number
KR101323546B1
KR101323546B1 KR1020117018491A KR20117018491A KR101323546B1 KR 101323546 B1 KR101323546 B1 KR 101323546B1 KR 1020117018491 A KR1020117018491 A KR 1020117018491A KR 20117018491 A KR20117018491 A KR 20117018491A KR 101323546 B1 KR101323546 B1 KR 101323546B1
Authority
KR
South Korea
Prior art keywords
filter
video
coding
information
filters
Prior art date
Application number
KR1020117018491A
Other languages
English (en)
Other versions
KR20110111476A (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 KR20110111476A publication Critical patent/KR20110111476A/ko
Application granted granted Critical
Publication of KR101323546B1 publication Critical patent/KR101323546B1/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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods 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
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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

Landscapes

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

Abstract

본 발명은 비디오 인코딩 및/또는 디코딩 프로세스에서 비디오 데이터의 필터링과 연관된 기술들을 설명한다. 본 발명에 따르면, 필터링이 인코더에서 적용되며, 필터 정보는 인코더에서 적용되었던 필터링을 식별하기 위해 비트스트림으로 인코딩된다. 상이한 타입들의 필터링이 비디오 데이터에 대해 결정된 액티비티 메트릭에 기초하여 적용될 수 있다. 또한, 본 발명에 따르면, 필터 정보가 비트스트림으로 인코딩되는 방식은 액티비티 메트릭에 의존적일 수 있다. 특히, 액티비티 메트릭의 제1 범위에 대해, 하나 이상의 필터들은 직접 인코딩되고, 액티비티 메트릭의 제2 범위에 대해, 하나 이상의 필터들은 예측 인코딩된다.

Description

비디오 코딩시 액티비티 메트릭들에 기초한 필터 예측{FILTER PREDICTION BASED ON ACTIVITY METRICS IN VIDEO CODING}
본 출원은 2009년 1월 15일자로 출원된 미국 가출원 제61/144,873호 및 2009년 5월 14일자로 출원된 미국 가출원 제61/178,346호의 이익을 주장하며, 이들의 전체 내용은 여기에 참조로 포함된다.
본 발명은 비디오 데이터를 압축하기 위해 이용되는 블록-기반 디지털 비디오 코딩에 관한 것이며, 더 구체적으로는 비디오 블록들의 필터링과 연관된 필터 계수들을 코딩하기 위한 기술들에 관한 것이다.
디지털 비디오 성능들은, 디지털 텔레비전들, 디지털 직접 방송 시스템들, 무선 전화 핸드셋들과 같은 무선 통신 디바이스들, 무선 방송 시스템들, 개인 휴대 정보 단말(PDA)들, 랩톱 또는 데스크톱 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들 등을 포함한 광범위한 디바이스들에 포함된다. 디지털 비디오 디바이스들은, 디지털 비디오를 보다 효율적으로 송신 및 수신하기 위해, MPEG-2, MPEG-4, 또는 ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding(AVC)과 같은 비디오 압축 기술들을 구현한다. 비디오 압축 기술들은 비디오 시퀀스들에 고유한 리던던시를 감소 또는 제거하기 위해 공간적 및 시간적 예측을 수행한다.
블록-기반 비디오 압축 기술들은 공간적 예측 및/또는 시간적 예측을 수행할 수 있다. 인트라-코딩은 비디오 프레임, 비디오 프레임의 슬라이스 등을 포함할 수 있는 주어진 코딩된 유닛 내의 비디오 블록들 간의 공간적 리던던시를 감소 또는 제거하기 위해 공간적 예측에 의존한다. 이에 반해, 인터-코딩은 비디오 시퀀스의 연속적인 코딩된 유닛들의 비디오 블록들 사이의 시간적 리던던시를 감소 또는 제거하기 위해 시간적 예측에 의존한다. 인트라-코딩에 있어서, 비디오 인코더는 동일한 코딩된 유닛 내의 다른 데이터에 기초하여 데이터를 압축하기 위해 공간적 예측을 수행한다. 인터-코딩에 있어서, 비디오 인코더는 둘 이상의 인접한 코딩된 유닛들의 대응하는 비디오 블록들의 움직임을 추적하기 위해 모션 추정 및 모션 보상을 수행한다.
코딩된 비디오 블록은 예측 블록, 및 코딩되는 블록과 이 예측 블록 사이의 차이를 나타내는 데이터의 잔여(residual) 블록을 생성 또는 식별하기 위해 이용될 수 있는 예측 정보에 의해 표현될 수 있다. 인터-코딩의 경우, 하나 이상의 모션 벡터들이 이전의 또는 후속 코딩된 유닛으로부터 데이터의 예측 블록을 식별하기 위해 이용되는 반면, 인트라-코딩의 경우, 코딩되는 비디오 블록과 연관된 코딩된 유닛 내의 데이터에 기초하여 예측 블록을 생성하기 위해 예측 모드가 이용될 수 있다. 인트라-코딩 및 인터-코딩 모두, 코딩시 이용된 상이한 블록 사이즈들 및/또는 예측 기술들을 정의할 수 있는 몇몇 상이한 예측 모드들을 정의할 수 있다. 또한 추가적인 타입들의 신택스 엘리먼트들이 코딩 프로세스에 이용된 코딩 기술들 또는 파라미터들을 제어 또는 정의하기 위해 인코딩된 비디오 데이터의 일부분으로서 포함될 수 있다.
블록-기반 예측 코딩 이후, 비디오 인코더는 잔여 블록의 통신과 연관된 비트 레이트를 추가적으로 감소시키기 위해 변환, 양자화 및 엔트로피 코딩 프로세스들을 적용할 수 있다. 변환 기술들은 이산 코사인 변환들(DCT) 또는 개념적으로 유사한 프로세스들, 예를 들어, 웨이브릿 변환들, 정수 변환들 또는 다른 타입들의 변환들을 포함할 수 있다. 일 예로, 이산 코사인 변환 프로세스에서, 변환 프로세스는 픽셀 값들의 세트를 주파수 도메인에서의 픽셀 값들의 에너지를 표현할 수 있는 변환 계수들로 변환한다. 양자화는 변환 계수들에 적용되며, 일반적으로 임의의 주어진 변환 계수와 연관된 비트 수를 제한하는 프로세스를 수반한다. 엔트로피 코딩은 양자화된 변환 계수들의 시퀀스를 총체적으로 압축하는 하나 이상의 프로세스들을 포함한다.
비디오 블록들의 필터링은 인코딩 및 디코딩 루프들의 일부분으로서, 또는 재구성된 비디오 블록들에 대한 사후-필터링(post-filtering) 프로세스의 일부분으로서 적용될 수 있다. 필터링은, 예를 들어, 블록화(blockiness) 또는 블록-기반 비디오 코딩에 일반적인 다른 아티팩트들을 감소시키기 위해 일반적으로 이용된다. 필터 계수들(때때로 필터 탭들이라 지칭됨)는 블록화를 감소시키고/시키거나 다른 방식으로 비디오 품질을 개선할 수 있는 비디오 블록 필터링의 바람직한 레벨들을 촉진시키기 위해 정의되거나 선택될 수 있다. 필터 계수들의 세트는, 예를 들어, 필터링이 비디오 블록들의 에지들 또는 비디오 블록들 내의 다른 위치들을 따라 어떻게 적용되는지를 정의할 수 있다. 상이한 필터 계수들은 비디오 블록들의 상이한 픽셀들에 대해 상이한 필터링 레벨들을 야기할 수 있다. 필터링은, 예를 들어, 원치않는 아티팩트들의 제거를 보조하기 위해 인접한 픽셀 값들의 강도에서의 차이들을 평활화(smooth)하거나 선명화(sharpen)할 수 있다.
본 발명은 비디오 인코딩 및/또는 디코딩 프로세스에서 비디오 데이터의 필터링과 연관된 기술들을 설명한다. 본 발명에 따르면, 하나 이상의 필터들이 인코더에서 적용되며, 필터 정보는 인코더에서 적용되었던 필터(들)를 식별하기 위해 비트스트림으로 인코딩된다. 디코더는 필터 정보를 포함하는 인코딩된 비디오 데이터를 수신하고, 이 비디오 데이터를 디코딩하며, 비트스트림으로 인코딩된 필터링 정보에 기초하여 하나 이상의 필터들을 적용한다. 상이한 타입들의 필터들이 비디오 데이터에 대해 결정된 액티비티 메트릭에 기초하여 적용될 수 있다. 또한, 본 발명에 따르면, 필터 정보가 비트스트림으로 인코딩되는 방식은 액티비티 메트릭에 의존할 수 있다.
예를 들어, 상이한 필터들은 코딩된 유닛의 픽셀들과 연관된 액티비티 메트릭의 상이한 값들에 기초하여 코딩된 유닛에 대해 정의될 수 있다. 상이한 필터들은 액티비티 메트릭의 상이한 범위들에 속하는 픽셀 데이터에 적용될 수 있다. 더욱이, 필터들의 인코딩은 또한 액티비티 메트릭에 의존한다. 액티비티 메트릭의 제1 범위에 대해, 하나 이상의 필터들이 필터 정보로 직접 코딩된다. 이 경우, 예를 들어, 필터 계수들의 값들은 임의의 예측 인코딩 기술들을 이용하지 않고 비트스트림으로 인코딩될 수 있다. 그러나, 액티비티 메트릭의 제2 범위에 대해, 하나 이상의 필터들이 필터 정보로 예측 코딩된다. 이 경우, 필터 계수들의 값들은 또다른 코딩된 유닛에 대해 정의된 필터 계수들에 대한 차이들 또는 잔여 값들에 의해 정의될 수 있다. 액티비티 메트릭의 제1 범위에 대해 하나 이상의 필터들을 인코딩하기 위해 어떠한 예측도 없이 직접 인코딩을 이용함으로써, 그리고 액티비티 메트릭의 제2 범위에 대해 하나 이상의 필터들을 인코딩하기 위해 예측 인코딩을 이용함으로써, 개선된 데이터 압축이 달성될 수 있다. 상이한 필터들이 상이한 필터 계수들을 이용하는 것을 제외하고, 이 상이한 필터들은 동일할 수 있다. 대안적으로, 상이한 필터들은 상이한 수의 계수들을 포함할 수 있거나 상이한 필터 서포트들을 정의할 수 있다.
일 예에서, 본 발명은 비디오 데이터를 코딩하는 방법을 설명한다. 이 방법은, 비디오 데이터의 코딩된 유닛의 픽셀 데이터를 코딩하는 단계, 및 픽셀 데이터에 대한 필터링 프로세스와 연관된 필터 정보를 코딩하는 단계를 포함하고, 필터 정보는 액티비티 메트릭의 상이한 값들에 기초하여 코딩된 유닛에 대해 정의된 상이한 필터들을 포함하고, 액티비티 메트릭의 제1 범위에 대해, 필터들 중 하나 이상은 필터 정보로 직접 인코딩되고, 액티비티 메트릭의 제2 범위에 대해, 필터들 중 하나 이상은 필터 정보로 예측 인코딩된다. 본 발명에서, 용어 "코딩"은 인코딩 또는 디코딩 중 어느 하나를 지칭한다.
또다른 예에서, 본 발명은 비디오 데이터를 코딩(예를 들어, 인코딩 또는 디코딩)하는 장치를 설명한다. 이 장치는, 비디오 데이터의 코딩된 유닛의 픽셀 데이터를 코딩하고, 픽셀 데이터에 대한 필터링 프로세스와 연관된 필터 정보를 코딩하는 비디오 코더를 포함하고, 필터 정보는 액티비티 메트릭의 상이한 값들에 기초하여 코딩된 유닛에 대해 정의된 상이한 필터들을 포함하고, 액티비티 메트릭의 제1 범위에 대해, 필터들 중 하나 이상은 필터 정보로 직접 인코딩되고, 액티비티 메트릭의 제2 범위에 대해, 필터들 중 하나 이상은 필터 정보로 예측 인코딩된다.
또다른 예에서, 본 발명은 비디오 데이터를 코딩하는 디바이스를 설명하며, 이 디바이스는, 비디오 데이터의 코딩된 유닛의 픽셀 데이터를 코딩하기 위한 수단, 및 픽셀 데이터에 대한 필터링 프로세스와 연관된 필터 정보를 코딩하기 위한 수단을 포함하고, 필터 정보는 액티비티 메트릭의 상이한 값들에 기초하여 코딩된 유닛에 대해 정의된 상이한 필터들을 포함하고, 액티비티 메트릭의 제1 범위에 대해, 필터들 중 하나 이상은 필터 정보로 직접 인코딩되고, 액티비티 메트릭의 제2 범위에 대해, 필터들 중 하나 이상은 필터 정보로 예측 인코딩된다.
본 발명에 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 하드웨어로 구현되는 경우, 장치는 집적 회로, 프로세서, 이산 로직 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 소프트웨어는 하나 이상의 프로세서들, 예를 들어, 마이크로프로세서, 주문형 집적 회로(ASIC), 필드 프로그램가능 게이트 어레이(FPGA), 또는 디지털 신호 프로세서(DSP)에서 실행될 수 있다. 이 기술들을 실행하는 소프트웨어는 초기에 컴퓨터-판독가능 매체에 저장되고 프로세서에서 로딩되며 실행될 수 있다.
따라서, 본 발명은 또한 명령들을 포함하는 컴퓨터 판독가능 저장 매체를 고려할 수 있으며, 이 명령들은, 프로세서에서 실행되는 경우, 프로세서로 하여금, 비디오 데이터의 코딩된 유닛의 픽셀 데이터를 코딩하고, 픽셀 데이터에 대한 필터링 프로세스와 연관된 필터 정보를 코딩하게 하고, 필터 정보는 액티비티 메트릭의 상이한 값들에 기초하여 코딩된 유닛에 대해 정의된 상이한 필터들을 포함하고, 액티비티 메트릭의 제1 범위에 대해, 필터들 중 하나 이상은 필터 정보로 직접 인코딩되고, 액티비티 메트릭의 제2 범위에 대해, 필터들 중 하나 이상은 필터 정보로 예측 인코딩된다.
본 발명의 하나 이상의 양태들의 상세내용은 아래의 설명 및 첨부 도면들에서 설명된다. 본 발명에 설명된 기술들의 다른 특징들, 목적들 및 이점들은 이 설명과 도면들로부터 그리고 청구항들로부터 명백할 것이다.
도 1은 예시적인 비디오 인코딩 및 디코딩 시스템을 나타내는 예시적인 블록도이다.
도 2는 본 발명에 부합하는 예시적인 비디오 인코더를 나타내는 블록도이다.
도 3은 본 발명에 부합하는 예시적인 비디오 디코더를 나타내는 블록도이다.
도 4는 액티비티 메트릭에 대한 값들의 범위들을 나타내는 개념도이다.
도 5는 본 발명에 부합하는 인코딩 기술을 나타내는 흐름도이다.
도 6은 본 발명에 부합하는 디코딩 기술을 나타내는 흐름도이다.
본 발명은 비디오 인코딩 및/또는 비디오 디코딩 프로세스에서 비디오 데이터의 필터링과 연관된 기술들을 설명한다. 본 발명에 따르면, 필터링이 인코더에서 적용되며, 필터 정보는 인코더에서 적용되었던 필터링을 식별하기 위해 비트스트림으로 인코딩된다. 디코더는 필터 정보를 포함하는 인코딩된 비디오 데이터를 수신하고, 비디오 데이터를 디코딩하고, 필터링 정보에 기초하여 필터링을 적용한다. 이러한 방식으로, 디코더는 인코더에서 적용되었던 동일한 필터링을 적용한다.
상이한 타입들의 필터링이 비디오 데이터에 대해 결정된 액티비티 메트릭에 기초하여 적용될 수 있다. 액티비티 메트릭은 비디오 데이터 내의 픽셀들의 하나 이상의 블록들과 연관된 액티비티를 정량화할 수 있다. 액티비티 메트릭은 픽셀들의 세트 내의 픽셀 분산을 표시하는 분산 메트릭을 포함할 수 있다. 예를 들어, 액티비티 메트릭은, 아래에 더 상세하게 설명되는 바와 같이, 합계-수정된 라플라시안 함수 값(sum-modified Laplacian function value)을 포함할 수 있다. 임의의 경우에, 본 발명에 따르면, 필터 정보가 인코딩(및 디코딩)되는 방식은 액티비티 메트릭에 의존할 수 있다. 예를 들어, 본 발명에 따르면, 상이한 필터들이 코딩된 유닛의 픽셀들과 연관된 액티비티 메트릭의 상이한 값들에 기초하여 코딩된 유닛에 대해 정의된다.
액티비티 메트릭의 제1 범위에 대해, 하나 이상의 필터들이 필터 정보로 직접 코딩된다. 이 경우, 예를 들어, 필터 계수들의 값들은 어떠한 예측 인코딩 기술들도 이용하지 않고 비트스트림으로 직접 인코딩될 수 있다. 그러나, 액티비티 메트릭의 제2 범위에 대해, 하나 이상의 필터들이 필터 정보로 예측 코딩된다. 이 경우, 필터 계수들의 값들은 또다른 코딩된 유닛에 대해 정의된 필터 계수들에 대한 차이들 또는 잔여 값들에 의해 정의될 수 있다. 예측 코딩된 필터 정보는, 예를 들어, 상이한 코딩된 유닛을 식별함으로써, 상이한 인코딩된 필터를 식별하는 제1 데이터를 포함할 수 있다. 추가적으로, 예측 코딩된 필터 정보는 또한 코딩되는 현재 필터 계수들과 제1 데이터에 의해 식별된 상이한 필터의 필터 계수들 사이의 차이들을 나타내는 제2 데이터를 포함할 수 있다.
액티비티 메트릭의 제1 범위에 대해 하나 이상의 필터들을 인코딩하기 위해 어떠한 예측도 없이 직접 인코딩을 이용함으로써, 그리고 액티비티 메트릭의 제2 범위에 대해 하나 이상의 필터들을 인코딩하기 위해 예측 인코딩을 이용함으로써, 개선된 데이터 압축이 달성될 수 있다. 이 경우, 필터들이 인코딩되고 디코딩되는 방식은 액티비티 메트릭에 의존하여 이루어진다. 더욱이, 필터 선택 그 자체가 또한 액티비티 메트릭에 의존적일 수 있다. 따라서, 액티비티 메트릭은 코딩된 유닛의 픽셀들에 적용되는 필터링을 결정할 수 있고, 또한 필터 정보가 비트스트림으로 인코딩되고 비트스트림으로부터 디코딩되는 방식을 정의하거나 이에 영향을 줄 수 있다.
본 발명의 기술들은 인-루프(in-loop) 필터링 또는 사후 필터링에 적용할 수 있다. 인-루프 필터링은 필터링된 데이터가 예측 인트라-코딩 또는 인터-코딩에 이용되도록 필터링된 데이터가 인코딩 및 디코딩 루프들의 일부분인 필터링을 지칭한다. 사후 필터링은 인코딩 루프 다음에 재구성된 비디오 데이터에 적용되는 필터링을 지칭한다. 사후 필터링에 있어서, 필터링되지 않은 데이터가 예측 인트라-코딩 또는 인터-코딩에 이용된다. 본 발명의 기술들은 인-루프 필터링 또는 사후 필터링에 제한되지 않으며, 비디오 코딩 동안 적용되는 광범위한 필터링에 적용될 수 있다.
본 발명에서, 용어 "코딩"은 인코딩 또는 디코딩을 지칭한다. 유사하게, 용어 "코더"는 일반적으로 임의의 비디오 인코더, 비디오 디코더, 또는 결합된 인코더/디코더(코덱)를 지칭한다. 따라서, 용어 "코더"는 비디오 인코딩 또는 비디오 디코딩을 수행하는 특수화된 컴퓨터 디바이스 또는 장치를 지칭하기 위해 여기서 이용된다.
도 1은 본 발명의 기술들을 구현할 수 있는 예시적인 비디오 인코딩 및 디코딩 시스템(10)을 나타내는 블록도이다. 도 1에 도시된 바와 같이, 시스템(10)은 통신 채널(15)을 통해 목적지 디바이스(16)로 인코딩된 비디오를 송신하는 소스 디바이스(12)를 포함한다. 소스 디바이스(12) 및 목적지 디바이스(16)는 광범위한 디바이스들 중 임의의 디바이스를 포함할 수 있다. 일부 경우들에서, 소스 디바이스(12) 및 목적지 디바이스(16)는 무선 통신 디바이스 핸드셋들, 예를 들어, 소위 셀룰러 또는 위성 무선전화들을 포함할 수 있다. 그러나, 보다 일반적으로 비디오 데이터의 필터링 및 필터 정보의 코딩에 적용되는 본 발명의 기술들은 반드시 무선 애플리케이션들 및 세팅들에 제한되지는 않으며, 비디오 인코딩 및/또는 디코딩 성능들을 포함하는 비-무선 디바이스들에 적용될 수 있다.
도 1의 예에서, 소스 디바이스(12)는 비디오 소스(20), 비디오 인코더(22), 변조기/복조기(모뎀)(23) 및 송신기(24)를 포함할 수 있다. 목적지 디바이스(16)는 수신기(26), 모뎀(27), 비디오 디코더(28) 및 디스플레이 디바이스(30)를 포함할 수 있다. 본 발명에 따르면, 소스 디바이스(12)의 비디오 인코더(22)는 비디오 블록의 픽셀들과 연관된 액티비티 메트릭에 기초하여 비디오 블록 필터링 프로세스에 대한 필터 계수들을 선택하고, 이후 액티비티 메트릭에 기초하여 선택된 필터 계수들을 인코딩하도록 구성될 수 있다. 구체적으로, 액티비티 메트릭의 제1 범위에 대해, 필터 계수들은 직접 인코딩되며, 액티비티 메트릭의 제2 범위에 대해, 필터 계수들은 예측 코딩된다.
인코딩된 비트스트림은 필터 계수들의 각각의 주어진 세트가 예측 인코딩되는지 또는 직접 인코딩되는지를 정의하기 위한 시그널링 신택스 엘리먼트들을 포함할 수 있다. 인코더에서 고려되는 액티비티 메트릭의 각각의 범위에 대해, 예를 들어, 비트스트림은 그 범위에서 이용될 필터 계수들을 인코딩하기 위해 직접 코딩이 이용되었는지 또는 예측 코딩이 이용되었는지를 표시하는 대응하는 비트를 포함할 수 있다. 따라서, 디코더는 시그널링 신택스 엘리먼트들에 의해 정의된 바와 같은 예측 디코딩 또는 직접 디코딩을 적용함으로써 필터 계수들을 적절히 디코딩할 수 있다. 추가적으로, 디코더는 또한 디코딩된 픽셀 값들에 기초하여 액티비티 메트릭을 계산할 수 있으며, 이에 의해 액티비티 메트릭이 제1 범위에 속하는지 또는 제2 범위에 속하는지를 결정할 수 있다. 이러한 방식으로, 디코더는 액티비티 메트릭에 기초하여 상이한 픽셀 데이터에 어느 필터를 적용할지를 결정할 수 있다.
더 구체적으로, 소스 디바이스(12)의 비디오 인코더(22)는 필터 계수들을 선택하고, 인코딩 프로세스 동안 이러한 필터 계수들을 적용하고, 이후 목적지 디바이스(16)의 비디오 디코더(28)로의 통신을 위해 필터 계수들을 인코딩할 수 있다. 비디오 인코더(22)는 필터 계수들을 선택하며 필터 계수들을 인코딩하는 방법을 결정하기 위해 코딩되는 픽셀들과 연관된 액티비티 메트릭을 결정할 수 있다. 디코더 측에서, 목적지 디바이스(16)의 비디오 디코더(28)는 또한 픽셀들과 연관된 액티비티 메트릭을 결정하므로, 비디오 디코더(28)는 픽셀 데이터에 적용할 필터 계수들을 결정할 수 있다. 비디오 디코더(28)는 필터 계수들이 인코딩된 방법에 따라 직접 디코딩 또는 예측 디코딩에 기초하여 필터 계수들을 디코딩할 수 있으며, 이는 비트스트림 신택스의 일부분으로서 시그널링될 수 있다. 도 1에 예시된 시스템(10)은 단지 예시적이다. 본 발명의 필터링 기술들은 임의의 인코딩 또는 디코딩 디바이스들에 의해 수행될 수 있다. 소스 디바이스(12) 및 목적지 디바이스(16)는 이러한 기술들을 지원할 수 있는 코딩 디바이스들의 예들일 뿐이다.
소스 디바이스(12)의 비디오 인코더(22)는 본 발명의 기술들을 이용하여 비디오 소스(20)로부터 수신된 비디오 데이터를 인코딩할 수 있다. 비디오 소스(20)는 비디오 캡처 디바이스, 예를 들어, 비디오 컨텐츠 제공자로부터의 비디오 피드, 이전에 캡처된 비디오를 포함하는 비디오 아카이브 또는 비디오 카메라를 포함할 수 있다. 추가적인 대안으로서, 비디오 소스(20)는 소스 비디오, 또는 라이브 비디오, 아카이브 비디오와 컴퓨터-생성된 비디오의 조합으로서 컴퓨터 그래픽-기반 데이터를 생성할 수 있다. 일부 경우들에서, 비디오 소스(20)가 비디오 카메라인 경우, 소스 디바이스(12) 및 목적지 디바이스(16)는 소위 카메라 폰들 또는 비디오 폰들을 형성할 수 있다. 각각의 경우, 캡처된, 사전-캡처된 또는 컴퓨터-생성된 비디오가 비디오 인코더(22)에 의해 인코딩될 수 있다.
일단 비디오 데이터가 비디오 인코더(22)에 의해 인코딩되면, 인코딩된 비디오 정보는 이후 통신 표준, 예를 들어, 코드 분할 다중 접속(CDMA) 또는 또다른 통신 표준이나 기술에 따라 모뎀(23)에 의해 변조되고, 송신기(24)를 통해 목적지 디바이스(16)로 송신될 수 있다. 모뎀(23)은 다양한 믹서들, 필터들, 증폭기들 또는 신호 변조를 위해 설계된 다른 컴포넌트들을 포함할 수 있다. 송신기(24)는 증폭기들, 필터들 및 하나 이상의 안테나들을 포함하여 데이터 송신을 위해 설계된 회로들을 포함할 수 있다.
목적지 디바이스(16)의 수신기(26)는 채널(15)을 통해 정보를 수신하고, 모뎀(27)이 이 정보를 복조한다. 비디오 디코더(28)에 의해 수행되는 비디오 디코딩 프로세스는, 예를 들어, 인-루프 디코딩의 일부로서 또는 디코딩 루프에 후속하는 사후 필터링 단계로서, 필터링을 포함할 수 있다. 어느 방식으로든, 비디오 디코더(28)에 의해 적용된 필터 계수들은 본 발명의 기술들을 이용하여 디코딩될 수 있다. 예측 코딩이 필터 계수들에 대해 이용되는 경우, 상이한 필터 계수들 간의 유사성들이 채널(15)을 통해 전달되는 정보량을 감소시키기 위해 이용될 수 있다. 특히, 필터 계수들의 세트는 상이한 코딩된 유닛과 연관된 필터 계수들의 또다른 세트에 대한 차이 값들로서 예측 코딩될 수 있다. 이 경우, 비디오 디코더(28)는 (연관된 필터를 식별하기 위해) 상이한 코딩된 유닛을 식별하는 필터 정보 및 비디오 블록들을 포함하는 인코딩된 비트스트림을 수신한다. 또한 필터 정보는 상이한 코딩된 유닛의 필터에 대해 현재 필터를 정의하는 상이한 값들을 포함한다. 특히, 차이 값들은 상이한 코딩된 유닛에 대해 이용된 상이한 필터의 필터 계수들에 대해 현재 필터에 대한 필터 계수들을 정의하는 필터 계수 차이 값들을 포함할 수 있다.
비디오 디코더(28)는 비디오 블록들을 디코딩하고, 필터 계수들을 생성하고, 생성된 필터 계수들에 기초하여 디코딩된 비디오 블록들을 필터링한다. 디코딩되고 필터링된 비디오 블록들은 디코딩된 비디오 데이터를 형성하기 위해 비디오 프레임들로 어셈블링될 수 있다. 디스플레이 디바이스(28)는 사용자에게 디코딩된 비디오 데이터를 디스플레이하며, 음극선관(CRT), 액정 디스플레이(LCD), 플라즈마 디스플레이, 유기 발광 다이오드(OLED) 디스플레이 또는 또다른 타입의 디스플레이 디바이스와 같은 다양한 디스플레이 디바이스들 중 임의의 디바이스를 포함할 수 있다.
통신 채널(15)은 임의의 무선 또는 유선 통신 매체, 예를 들어, 무선 주파수(RF) 스펙트럼 또는 하나 이상의 물리적 전송 라인들, 또는 무선과 유선 매체의 임의의 조합을 포함할 수 있다. 통신 채널(15)은 패킷-기반 네트워크, 예를 들어, LAN(local area network), WAN(wide-area network), 또는 인터넷과 같은 글로벌 네트워크의 일부분을 형성할 수 있다. 통신 채널(15)은 일반적으로 소스 디바이스(12)로부터 목적지 디바이스(16)로 비디오 데이터를 전송하기 위한 임의의 적합한 통신 매체 또는 상이한 통신 매체의 컬렉션을 나타낸다.
비디오 인코더(22) 및 비디오 디코더(28)는 비디오 압축 표준, 예를 들어, 대안적으로는 MPEG-4, Part 10, Advanced Video Coding(AVC)이라고 지칭되는, ITU-T H.264 표준에 따라 동작할 수 있다. 그러나, 본 발명의 기술들은 다양한 다른 비디오 코딩 표준들 중 임의의 표준에 용이하게 적용될 수 있다. 구체적으로, 인코더 및 디코더에서의 필터링을 허용하는 임의의 표준은 인코더로부터 디코더로 필터 정보를 전달하는데 필요한 데이터량을 감소시킴으로써 본 발명의 교시로부터 이점을 얻을 수 있다.
도 1에 도시되지는 않았지만, 일부 양태들에서, 비디오 인코더(22) 및 비디오 디코더(28)는 각각 오디오 인코더 및 디코더와 함께 통합될 수 있으며, 공통 데이터 스트림 또는 별개의 데이터 스트림들에서의 오디오 및 비디오 모두의 인코딩을 핸들링하기 위해, 적절한 MUX-DEMUX 유닛들 또는 다른 하드웨어 및 소프트웨어를 포함할 수 있다. 적용가능한 경우, MUX-DEMUX 유닛들은 ITU H.223 멀티플렉서 프로토콜 또는 사용자 데이터그램 프로토콜(UDP)과 같은 다른 프로토콜들을 따를 수 있다.
비디오 인코더(22) 및 비디오 디코더(28) 각각은 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서(DSP)들, 주문형 집적 회로(ASIC)들, 필드 프로그램 가능 게이트 어레이(FPGA)들, 이산 로직, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합으로서 구현될 수 있다. 비디오 인코더(22) 및 비디오 디코더(28) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수 있으며, 어느 것이든, 개별 모바일 디바이스, 가입자 디바이스, 방송 디바이스, 서버 등에서 결합된 인코더/디코더(CODEC)의 일부분으로서 통합될 수 있다.
일부 경우들에서, 디바이스들(12, 16)은 실질적으로 대칭적인 방식으로 동작할 수 있다. 예를 들어, 디바이스들(12, 16) 각각은 비디오 인코딩 및 디코딩 컴포넌트들을 포함할 수 있다. 따라서, 시스템(10)은, 예를 들어, 비디오 스트리밍, 비디오 재생, 비디오 방송 또는 비디오 텔레포니를 위해 비디오 디바이스들(12, 16) 사이의 단방향 또는 양방향 비디오 전송을 지원할 수 있다.
인코딩 프로세스 동안, 비디오 인코더(22)는 다수의 코딩 기술들 또는 단계들을 실행할 수 있다. 일반적으로, 비디오 인코더(22)는 비디오 블록들을 인코딩하기 위해 개별 비디오 프레임들(또는 슬라이스들과 같은 다른 독립적으로 코딩된 유닛들) 내의 블록들에 대해 동작한다. 프레임들, 슬라이스들, 프레임들의 일부분들, 픽처들의 그룹(GOP)들 또는 다른 데이터 구조들이 복수의 비디오 블록들을 포함하는 독립적으로 디코딩가능한 유닛들로서 정의될 수 있다. 일부 경우들에서, 각각의 비디오 프레임은 일련의 독립적으로 디코딩가능한 슬라이스들을 포함할 수 있고, 각각의 슬라이스는 훨씬 더 작은 블록들로 정렬될 수 있는 일련의 매크로블록들을 포함할 수 있다. 용어 "코딩된 유닛"은 프레임들, 슬라이스들, 프레임들의 일부분들, 픽처들의 그룹(GOP)들, 또는 독립적으로 디코딩가능한 다른 데이터 구조들을 지칭한다. 코딩된 유닛들 내의 비디오 블록들은 고정되거나 가변적인 사이즈들을 가질 수 있으며, 특정된 코딩 표준에 따라 사이즈가 달라질 수 있다. 신택스 데이터는 각각의 코딩된 유닛이 연관된 신택스 데이터를 포함하도록 코딩된 유닛 기반으로 정의될 수 있다. 여기서 설명되는 필터 정보는 코딩된 유닛들에 대한 이러한 신택스의 일부분일 수 있으며, 코딩된 유닛에 대한 필터 계수들 또는 가능하게는 코딩된 유닛의 픽셀 데이터를 필터링하는데 이용되었던 필터의 다른 특성들(예를 들어, 필터 타입)을 표시할 수 있다. 필터 타입은, 예컨대, 선형, 바이리니어(bilinear), 2차원, 바이큐빅(bicubic)일 수 있거나, 또는 일반적으로 필터 서포트의 임의의 형상을 정의할 수 있다. 때때로, 필터 타입은 인코더 및 디코더에 의해 추정될 수 있으며, 이 경우 필터 타입은 비트스트림에 포함되지 않지만, 다른 경우들에서는, 필터 타입이 여기서 설명된 바와 같은 필터 계수 정보와 함께 인코딩될 수 있다. 신택스 데이터는 또한 필터들이 인코딩되었던 방법(예를 들어, 필터 계수들이 인코딩되었던 방법)뿐만 아니라 상이한 필터들이 이용되어야 하는 액티비티 메트릭의 범위들을 디코더로 시그널링할 수 있다. 비트는 예측 디코딩이 이용되어야 하는지 또는 직접 디코딩이 이용되어야 하는지를 정의하기 위해 액티비티 메트릭의 범위에 대해 포함될 수 있다.
매크로블록들은 통상적으로 16x16 데이터 블록들을 지칭한다. ITU-T H.264 표준은 다양한 블록 사이즈들, 예컨대 루마 컴포넌트들에 대해서는 16x16, 8x8 또는 4x4, 그리고 크로마 컴포넌트들에 대해서는 8x8에서의 인트라 예측을 지원할 뿐만 아니라, 다양한 블록 사이즈들, 예를 들어, 루마 컴포넌트들에 대해서 16x16, 16x8, 8x16, 8x8, 8x4, 4x8 및 4x4, 그리고 크로마 컴포넌트들에 대해서는 대응하는 스케일링된 사이즈에서의 인터 예측을 지원한다. 본 발명에서, 구문 "비디오 블록들"은 임의의 사이즈의 비디오 블록을 지칭한다. 또한, 비디오 블록들은 픽셀 도메인에서의 비디오 데이터의 블록들, 또는 이산 코사인 변환(DCT) 도메인, DCT와 유사한 도메인, 웨이브릿 도메인 등과 같은 변환 도메인에서의 데이터의 블록들을 지칭할 수 있다.
비디오 인코더(22)는 예측 블록을 식별하기 위해 코딩되는 비디오 블록이 예측 프레임(또는 다른 코딩된 유닛)과 비교되는 예측 코딩을 수행할 수 있다. 코딩되는 현재 비디오 블록과 예측 블록 간의 차이들은 잔여 블록으로서 코딩되고, 예측 신택스는 예측 블록을 식별하기 위해 이용된다. 잔여 블록은 변환되고 양자화될 수 있다. 변환 기술들은 DCT 프로세스 또는 개념적으로 유사한 프로세스, 정수 변환들, 웨이브릿 변환들, 또는 다른 타입들의 변환들을 포함할 수 있다. 일 예로, DCT 프로세스에서, 변환 프로세스는 픽셀 값들의 세트를 주파수 도메인에서의 픽셀 값들의 에너지를 나타낼 수 있는 변환 계수들로 변환한다. 양자화는 통상적으로 변환 계수들에 적용되며, 일반적으로 임의의 주어진 변환 계수와 연관된 비트 수를 제한하는 프로세스를 수반한다.
변환 및 양자화에 후속하여, 엔트로피 코딩이 양자화되고 변환된 잔여 비디오 블록들에 대해 수행될 수 있다. 인코딩 동안 정의된 예측 벡터들 및 필터 정보와 같은 신택스 엘리먼트들은, 또한 각각의 코딩된 유닛에 대한 엔트로피 코딩된 비트스트림에 포함될 수 있다. 일반적으로, 엔트로피 코딩은 양자화된 변환 계수들의 시퀀스 및/또는 다른 신택스 정보를 총체적으로 포함하는 하나 이상의 프로세스들을 포함한다. 지그재그 스캐닝 기술들과 같은 스캐닝 기술들이 2차원 비디오 블록들로부터 계수들의 하나 이상의 직렬화된 1차원 벡터들을 정의하기 위해, 예를 들어, 엔트로피 코딩 프로세스의 일부분으로서, 양자화된 변환 계수들에 대해 수행된다. 이후 스캐닝된 계수들은, 예를 들어, 컨텐츠 적응적 가변 길이 코딩(CAVLC), 컨텍스트 적응적 이진 산술 코딩(CABAC), 또는 또다른 엔트로피 코딩 프로세스를 통해, 임의의 신택스 정보와 함께 엔트로피 코딩된다.
인코딩 프로세스의 일부분으로서, 인코딩된 비디오 블록들이 후속 비디오 블록들의 후속 예측-기반 코딩을 위해 이용되는 비디오 데이터를 생성하기 위해 디코딩될 수 있다. 이 스테이지에서, 필터링이 비디오 품질을 개선하기 위해, 예를 들어, 디코딩된 비디오로부터의 블록화 아티팩트들을 제거하기 위해 이용될 수 있다. 필터링된 데이터는 다른 비디오 블록들의 예측을 위해 이용될 수 있는데, 이 경우, 필터링은 "인-루프" 필터링으로서 지칭된다. 대안적으로, 다른 비디오 블록들의 예측은, 필터링되지 않은 데이터에 기초할 수 있는데, 이 경우, 필터링은 "사후 필터링"으로서 지칭된다.
인코더는 비디오 품질을 증진시키는 방식으로 필터 계수들을 선택할 수 있다. 이러한 필터 계수들은 미리-정의된 계수들의 세트들로부터 선택될 수 있거나, 또는 비디오 품질을 증진시키기 위해 적응적으로 정의될 수 있다. 일 예로서, 비디오 인코더(22)는 필터 계수들의 상이한 세트들이 주어진 코딩된 유닛의 비디오 블록들의 상이한 픽셀들에 대해 이용되도록 이 코딩된 유닛에 대한 필터 계수들의 몇몇 세트들을 선택하거나 정의할 수 있다. 특히, 필터 계수들의 몇몇 세트들은 각각의 코딩된 유닛에 대해 정의될 수 있고, 코딩된 유닛의 픽셀들과 연관된 액티비티는 이러한 픽셀들에 대해 이용하기 위한 필터 계수들을 정의할 수 있다. 일부 경우들에서, 비디오 인코더(22)는 필터 계수들의 몇몇 세트들을 적용하고, 최고의 압축 레벨들, 및/또는 코딩된 블록과 오리지널 블록 사이의 왜곡의 양에 관하여 최상 품질의 비디오를 생성하는 하나 이상의 세트들을 선택할 수 있다. 임의의 경우에, 일단 선택되면, 각각의 코딩된 유닛에 대해 비디오 인코더(22)에 의해 적용된 필터 계수들의 세트가 인코딩되어 목적지 디바이스(18)의 비디오 디코더(28)로 전달될 수 있으므로, 비디오 디코더(28)는 각각의 주어진 코딩된 유닛에 대해 인코딩 프로세스 동안 적용되었던 동일한 필터링을 적용할 수 있다.
본 발명의 기술들은 상세하게는 필터 계수들의 선택 및 인코딩에 적용될 수 있다. 특히, 언급된 바와 같이, 액티비티 메트릭은 필터 계수들뿐만 아니라 필터 계수들이 인코딩되는 방식(예를 들어, 직접 또는 예측)을 정의하기 위해 이용될 수 있다. 액티비티 메트릭은 코딩된 유닛에 대해 정의될 수 있거나, 또는 상이한 액티비티 메트릭들이 코딩된 유닛 내의 상이한 부분들(예를 들어, 픽셀들의 서브-블록들)에 대해 정의될 수 있다. 예시적인 액티비티 메트릭의 추가적인 상세내용들은 아래에서 더 상세하게 서술된다.
도 2는 본 발명에 부합하는 비디오 인코더(50)를 나타내는 블록도이다. 비디오 인코더(50)는 디바이스(20)의 비디오 인코더(22) 또는 상이한 디바이스의 비디오 인코더에 대응할 수 있다. 도 2에 도시된 바와 같이, 비디오 인코더(50)는 예측 유닛(32), 가산기들(48 및 51) 및 메모리(34)를 포함한다. 비디오 인코더(50)는 또한 변환 유닛(38) 및 양자화 유닛(40)뿐만 아니라, 역양자화 유닛(42) 및 역변환 유닛(44)을 포함한다. 비디오 인코더(50)는 또한 스캔 유닛(45) 및 엔트로피 코딩 유닛(46)을 포함한다. 비디오 인코더(50)의 필터 유닛(47)은 필터링을 수행할 수 있고, 본 발명에 따라 필터 정보를 인코딩할 수 있으므로, 필터 정보가 또다른 디바이스에 효율적으로 전달될 수 있다.
인코딩 프로세스 동안, 비디오 인코더(50)는 코딩될 비디오 블록을 수신하고, 예측 유닛(32)은 예측 코딩 기술들을 수행한다. 인터 코딩에 있어서, 예측 유닛(32)은 예측 블록을 정의하기 위해 인코딩될 비디오 블록과 하나 이상의 비디오 참조 프레임들 또는 슬라이스들 내의 다양한 블록들을 비교한다. 인트라 코딩에 있어서, 예측 유닛(32)은 동일한 코딩된 유닛 내의 이웃 데이터에 기초하여 예측 블록을 생성한다. 예측 유닛(32)은 예측 블록을 출력하고, 가산기(48)는 잔여 블록을 생성하기 위해 코딩되는 비디오 블록으로부터 예측 블록을 감산한다.
인터 코딩에 있어서, 예측 유닛(32)은 예측 블록을 지시하는 모션 벡터를 식별하는 모션 추정 유닛 및 모션 보상 유닛을 포함할 수 있으며, 모션 벡터에 기초하여 예측 블록을 생성한다. 통상적으로, 모션 추정은 모션 벡터를 생성하는 프로세스로 간주되며, 모션을 추정한다. 예를 들어, 모션 벡터는 현재 프레임 내의 코딩되는 현재 블록에 대한 예측 프레임 내의 예측 블록의 변위(displacement)를 표시할 수 있다. 모션 보상은 통상적으로 모션 추정에 의해 결정된 모션 벡터에 기초하여 예측 블록을 페치하거나 생성하는 프로세스로 간주된다. 인트라 코딩에 있어서, 예측 유닛(32)은 동일한 코딩된 유닛 내의 이웃 데이터에 기초하여 예측 블록을 생성한다. 하나 이상의 인트라-예측 모드들은 인트라 예측 블록이 정의될 수 있는 방법을 정의할 수 있다.
예측 유닛(32)이 예측 블록을 출력하고, 가산기(48)가 잔여 블록을 생성하기 위해 코딩되는 비디오 블록으로부터 예측 블록을 감산한 후, 변환 유닛(38)은 잔여 블록에 대해 변환을 적용한다. 변환은 이산 코사인 변환(DCT) 또는 H.264 표준에 의해 정의된 것과 같이 개념적으로 유사한 변환을 포함할 수 있다. 웨이브릿 변환들, 정수 변환들, 서브-대역 변환들 또는 다른 타입의 변환들 또한 이용될 수 있다. 임의의 경우에, 변환 유닛(38)은 변환을 잔여 블록에 적용하여 잔여 변환 계수들의 블록을 생성한다. 변환은 잔여 정보를 픽셀 도메인으로부터 주파수 도메인으로 변환할 수 있다.
양자화 유닛(40)은 이후 비트 레이트를 추가적으로 감소시키기 위해 잔여 변환 계수들을 양자화한다. 양자화 유닛(40)은, 예를 들어, 계수들 각각을 코딩하는데 이용되는 비트 수를 제한할 수 있다. 양자화 이후, 엔트로피 코딩 유닛(46)은 양자화된 계수 블록을 2차원 표현으로부터 하나 이상의 직렬화된 1차원 벡터들로 스캐닝한다. 스캔 순서는 정의된 순서(예를 들어, 지그재그 스캐닝 또는 또다른 미리 정의된 순서)로 발생하도록 사전-프로그래밍되거나, 또는 가능하게는 이전의 코딩 통계치들에 기초하여 적응적으로 정의될 수 있다.
이러한 스캐닝 프로세스에 후속하여, 엔트로피 인코딩 유닛(46)은 데이터를 추가적으로 압축하기 위해, CAVLC 또는 CABAC와 같은 엔트로피 코딩 방법에 따라 (임의의 신택스 엘리먼트들과 함께) 양자화된 변환 계수들을 인코딩한다. 엔트로피 코딩된 비트스트림에 포함된 신택스 엘리먼트들은 예측 유닛(32)으로부터의 예측 신택스, 예를 들어, 인터 코딩을 위한 모션 벡터들 또는 인트라 코딩을 위한 예측 모드들을 포함할 수 있다. 엔트로피 코딩된 비트스트림에 포함된 신택스 엘리먼트들은 또한 여기서 설명되는 방식으로 인코딩될 수 있는 필터 유닛(47)으로부터의 필터 정보를 포함할 수 있다.
CAVLC는 엔트로피 코딩 유닛(46)에 의해 벡터화 기반으로 적용될 수 있는 ITU H.264/MPEG4, AVC 표준에 의해 지원되는 엔트로피 코딩 기술의 한 타입이다. CAVLC는 변환 계수들 및/또는 신택스 엘리먼트들의 직렬화된 "런(run)들"을 효과적으로 압축하는 방식으로 가변 길이 코딩(VLC) 테이블들을 이용한다. CABAC는 엔트로피 코딩 유닛(46)에 의해 벡터화 기반으로 적용될 수 있는 ITU H.264/MPEG4, AVC 표준에 의해 지원되는 엔트로피 코딩 기술의 또다른 타입이다. CABAC는 이진화, 컨텍스트 모델 선택, 및 이진 산술 코딩을 포함한 몇몇 스테이지들을 수반할 수 있다. 이 경우, 엔트로피 코딩 유닛(46)은 CABAC에 따라 변환 계수들 및 신택스 엘리먼트들을 코딩한다. 많은 다른 타입들의 엔트로피 코딩 기술들도 존재하며, 새로운 엔트로피 코딩 기술들이 향후 출현할 가능성이 있다. 본 발명은 어떠한 특정 엔트로피 코딩 기술에도 제한되지 않는다.
엔트로피 인코딩 유닛(46)에 의한 엔트로피 코딩에 후속하여, 인코딩된 비디오가 또다른 디바이스로 송신되거나, 또는 추후 송신 또는 검색을 위해 아카이빙될 수 있다. 역시, 인코딩된 비디오는, 디코딩 프로세스를 적절히 구성하기 위해 디코더에 의해 이용될 수 있는 다양한 신택스 및 엔트로피 코딩된 벡터들을 포함할 수 있다. 역양자화 유닛(42) 및 역변환 유닛(44)은 픽셀 도메인에서 잔여 블록을 재구성하기 위해, 각각 역양자화 및 역변환을 적용한다. 합산기(51)는 메모리(34)에서의 저장을 위한 재구성된 비디오 블록을 생성하기 위해 예측 유닛(32)에 의해 생성된 예측 블록에 재구성된 잔여 블록을 더한다. 그러나, 이러한 저장에 앞서, 필터 유닛(47)이 비디오 품질을 개선하기 위해 비디오 블록에 대해 필터링을 적용할 수 있다. 필터 유닛(47)에 의한 이러한 필터링은 블록화 또는 다른 아티팩트들을 감소시킬 수 있다. 일부 경우들에서, 필터 유닛(47)은 디블록킹 필터 유닛이라 지칭될 수 있다. 더욱이, 필터링은 필터링되지 않은 예측 비디오 블록들보다 코딩되는 비디오 블록들에 더 가깝게 매칭되는 예측 비디오 블록들을 생성함으로써 압축을 개선할 수 있다. 필터링 이후, 재구성된 비디오 블록은 후속 비디오 프레임 또는 다른 코딩된 유닛 내의 블록을 인터-코딩하기 위해 참조 블록으로서 예측 유닛(32)에 의해 이용될 수 있다. 필터 유닛(47)이 "인-루프"로 도시되지만, 본 발명의 기술들은 또한 사후 필터들과도 함께 이용될 수 있는데, 이 경우, (필터링된 데이터보다는) 비-필터링된 데이터가 후속 코딩된 유닛들에서 데이터를 예측할 목적으로 이용될 것이다.
필터 유닛(47)은 비디오 품질을 증진시키는 방식으로 필터 계수 선택을 수행할 수 있다. 예를 들어, 필터 유닛(47)은 미리 정의된 계수들의 세트들로부터 필터 계수들을 선택할 수 있거나, 또는 비디오 품질을 증진시키거나 압축을 개선하기 위해 필터 계수들을 적응적으로 정의할 수 있다. 필터 유닛(47)은 필터 계수들의 동일한 세트들이 주어진 코딩된 유닛의 상이한 비디오 블록들의 픽셀들에 대해 이용되도록 이 코딩된 유닛에 대한 필터 계수들의 하나 이상의 세트들을 선택 또는 정의할 수 있다. 일부 경우들에서, 필터 유닛(47)은 필터 계수들의 몇몇 세트들을 적용하고, 최고 압축 레벨들 또는 최상 품질의 비디오를 생성하는 세트들을 선택할 수 있다. 임의의 경우에, 일단 선택되면, 각각의 코딩된 유닛에 대해 필터 유닛(47)에 의해 적용된 필터 계수들의 세트(또는 세트들)는 인코딩되어 디코딩 디바이스로 전달될 필요가 있을 수 있다.
본 발명에 따르면, 필터 유닛(47)은 코딩된 유닛 내의 픽셀들의 하나 이상의 세트들과 연관된 액티비티를 정량화하는 액티비티 메트릭에 기초하여 필터 계수들을 선택할 수 있다. 이러한 방식으로, 필터 유닛(47)에 의해 적용되는 필터링은 코딩된 유닛의 픽셀들과 연관된 액티비티에 의해 정의된다. 액티비티는 코딩된 유닛 내의 픽셀 값 분산에 관하여 표시될 수 있다. 코딩된 유닛에서의 픽셀 값들의 더 큰 분산은 픽셀 액티비티의 더 높은 레벨들을 표시할 수 있는 반면, 픽셀 값들의 더 적은 분산은 픽셀 액티비티의 더 낮은 레벨들을 표시할 수 있다. 상이한 필터 계수들은 픽셀 분산의 레벨, 즉, 액티비티에 따라 더 양호한 필터링(예를 들어, 더 높은 이미지 품질)을 초래할 수 있다. 픽셀 분산은 아래에 더 상세하게 논의되는 바와 같이 합계-수정된 라플라시안 값을 포함할 수 있는 액티비티 메트릭에 의해 정량화될 수 있다. 그러나, 다른 타입들의 액티비티 메트릭들도 이용될 수 있다.
본 발명에 따르면, 필터 유닛(47)은 인코딩하는데 필요한 데이터량을 감소시키고 필터 정보를 인코더(50)로부터 또다른 디바이스로 전달할 수 있는 필터 정보에 대한 코딩 기술들을 수행한다. 역시, 각각의 코딩된 유닛(예를 들어, 프레임, 픽처들의 그룹(GOP), 슬라이스 또는 다른 코딩된 유닛)에 대해, 필터 유닛(37)은 그 코딩된 유닛의 픽셀들에 적용될 필터 계수들의 하나 이상의 세트들을 정의하거나 선택할 수 있다. 필터 유닛(47)은 메모리(34)에 저장되는 재구성된 비디오 프레임들의 비디오 블록들을 필터링하기 위해 필터 계수들을 적용하며, 이는 인-루프 필터링에 부합하는 예측 코딩에 이용될 수 있다. 필터 유닛(47)은 필터 정보로서 필터 계수들을 인코딩할 수 있으며, 이는 인코딩된 비트스트림에 포함되기 위해 엔트로피 코딩 유닛(46)으로 포워딩된다.
본 발명의 기술들은 필터 유닛(47)에 의해 정의되거나 선택된 필터 계수들 중 일부가 또다른 코딩된 유닛의 픽셀들에 대해 적용된 다른 필터 계수들과 매우 유사할 수 있다는 사실을 인지하고 이용한다. 동일한 타입의 필터가 상이한 코딩 유닛들에 대해 적용될 수 있지만(예를 들어, 동일한 필터 서포트), 필터들은 필터 서포트의 상이한 인덱스들과 연관된 필터 계수 값들에 관하여 상이할 수 있다. 따라서, 이러한 필터 계수들을 전달하는데 필요한 데이터량을 감소시키기 위해, 필터 유닛(47)은 또다른 코딩된 유닛의 필터 계수들에 기초하는 필터링을 위해 이용될 하나 이상의 필터 계수들을 예측적으로 인코딩하는데, 이는 필터 계수들 사이의 임의의 유사성들을 이용한다. 그러나, 일부 경우들에서, 예를 들어 어떠한 예측도 이용하지 않고, 필터 계수들을 직접 인코딩하는 것이 더 바람직할 수 있다. 본 발명은 예측 코딩 기술들을 이용하여 필터 계수들을 인코딩할 때 및 어떠한 예측 코딩도 없이 직접 필터 계수들을 인코딩할 때를 정의하기 위해 액티비티 메트릭을 이용하는 것을 이용한다.
액티비티 메트릭의 제1 범위에 대해, 필터 유닛(47)은 하나 이상의 필터들을 직접 필터 정보로 인코딩한다. 이 경우, 예를 들어, 필터 계수들의 값들은 어떠한 예측 인코딩 기술들도 이용하지 않고 비트스트림으로 직접 인코딩될 수 있다. 그러나, 액티비티 메트릭의 제2 범위에 대해, 필터 유닛(47)은 하나 이상의 필터들을 필터 정보로 예측 인코딩한다. 이 경우, 필터 계수들의 값들은 또다른 코딩된 유닛에 대해 정의된 필터 계수들에 대한 차이들 또는 잔여 값들에 의해 정의될 수 있다. 위에 언급된 바와 같이, 예측 코딩된 필터 정보는, 예를 들어, 상이한 코딩된 유닛을 식별함으로써, 상이한 인코딩된 필터를 식별하는 제1 데이터를 포함할 수 있고, 예측 코딩된 필터 정보는 또한 제1 데이터에 의해 식별되는 상이한 필터의 필터 계수들과 코딩되는 현재 필터 계수들 간의 차이들을 나타내는 제2 데이터를 포함할 수 있다.
예를 들어, 필터 계수들의 세트가 수직 또는 수평 차원 중 어느 하나에서의 6 엘리먼트 필터 서포트를 위해 (5, -2, 10, 10, -2, 5)를 포함하는 경우, 이들 필터 계수들의 직접 인코딩은 각각의 값, 예를 들어, 5, -2, 10, 10, -2 및 5를 인코딩할 것이다. 그러나, 예측 코딩에 있어서, 필터 유닛(47)은, 예를 들어, 필터 계수들의 이전의 세트 (6, -2, 12, 12, -2, 6)을 정의했던 이전에 코딩된 유닛을 식별할 수 있다. 이 경우, 필터 계수들의 이전의 세트 (6, -2, 12, 12, -2, 6)을 식별함으로써, 필터 계수들의 현재의 세트 (5, -2, 10, 10, -2, 5)는 차이 값들 (1, 0, 2, 2, 0, 1)로서 인코딩될 수 있다. 이러한 방식으로, 예측 코딩은 필터 계수들을 전달하는데 필요한 데이터량을 감소시킬 수 있다. 이 예에서, 계수들의 세트 (5, -2, 10, 10, -2, 5)는 1차원의 3개의 이웃 픽셀들이 각각 계수들 10, -2 및 5에 기초하여 필터링되고, 다른 차원의 3개의 픽셀들이 또한 각각 계수들 10, -2 및 5에 기초하여 필터링되도록 대칭적인 필터 탭들을 포함할 수 있다. 이 경우, 계수들 10 및 10은 현재 픽셀에 바로 인접한 픽셀들에 대해 이용되고, 계수들 -2 및 -2는 현재 픽셀로부터 2의 정수 위치들에 있는 다음의 픽셀들에 대해 이용되며, 계수들 5 및 5는 현재 픽셀로부터 3의 정수 위치들에 있는 다음의 픽셀들에 대해 이용된다.
대칭성은 또한 계수들의 서브세트(예를 들어, 5, -2, 10)가 전체 세트 (5, -2, 10, 10, -2, 5)를 정의하기 위해 디코더에 의해 알려지도록 부과될 수 있다. 대칭성은 직접 및 예측 코딩 시나리오들 모두에서 부과될 수 있다.
액티비티 메트릭의 제1 범위에 대해 하나 이상의 필터들을 인코딩하기 위해 어떠한 예측도 없이 직접 인코딩을 이용하고, 액티비티 메트릭의 제2 범위에 대해 하나 이상의 필터들을 인코딩하기 위해 예측 인코딩을 이용함으로써, 개선된 데이터 압축이 달성될 수 있다. 이 경우, 필터들이 인코딩되고 디코딩되는 방식은 액티비티 메트릭에 의존하여 이루어진다. 더욱이, 주지된 바와 같이, 필터 선택 그 자체가 또한 액티비티 메트릭에 의존할 수 있다. 따라서, 액티비티 메트릭은 코딩된 유닛의 픽셀들에 적용되는 필터링을 결정할 수 있고, 또한 필터 정보가 비트스트림으로 인코딩되고 비트스트림으로부터 디코딩되는 방식을 정의하거나 이에 영향을 줄 수 있다. 인코딩된 필터 정보는 계수들의 임의의 주어진 세트에 대해 이용되는 인코딩 방식뿐만 아니라 계수들의 임의의 주어진 세트가 이용되어야 하는 액티비티 메트릭 범위들을 디코더로 시그널링하는 시그널링 신택스를 포함할 수 있다. 디코더는 이러한 시그널링 신택스에 따라 필터 계수들을 디코딩하여 적용할 수 있다.
도 3은 여기서 설명되는 방식으로 인코딩된 비디오 시퀀스를 디코딩하는 비디오 디코더(60)의 일례를 나타내는 블록도이다. 수신된 비디오 시퀀스는 이미지 프레임들의 인코딩된 세트, 프레임 슬라이스들의 세트, 공통으로 코딩된 픽처들의 그룹(GOP), 또는 인코딩된 비디오 블록들 및 이러한 비디오 블록들을 디코딩하는 방법을 정의하는 신택스를 포함하는 광범위한 코딩된 비디오 유닛들을 포함할 수 있다. 심지어 매크로블록들 또는 다른 비디오 블록들도 일부 경우들에서, 예를 들어, 매크로블록들이 개별적으로 디코딩가능한 유닛들로서 인코딩되는 경우에는 코딩된 유닛들일 수 있다.
비디오 디코더(60)는 도 2의 엔트로피 인코딩 유닛(46)에 의해 수행되는 인코딩의 상보적인 디코딩 기능을 수행하는 엔트로피 디코딩 유닛(52)을 포함한다. 특히, 엔트로피 디코딩 유닛(52)은 CAVLC 또는 CABAC 디코딩, 또는 비디오 인코더(50)에 의해 이용되는 임의의 다른 타입의 엔트로피 디코딩을 수행할 수 있다. 1차원의 직렬화된 포맷의 엔트로피 디코딩된 비디오 블록들은 계수들의 하나 이상의 1차원 벡터들을 2차원 블록 포맷으로 다시 변환하기 위해 역스캐닝될 수 있다. 벡터들의 수 및 사이즈뿐만 아니라 비디오 블록들에 대해 정의된 스캔 순서는 2차원 블록이 재구성되는 방법을 정의할 수 있다. 엔트로피 디코딩된 예측 신택스는 엔트로피 디코딩 유닛(52)으로부터 예측 유닛(54)으로 송신될 수 있고, 엔트로피 디코딩된 필터 정보는 엔트로피 디코딩 유닛(52)으로부터 필터 유닛(57)으로 송신될 수 있다.
비디오 디코더(60)는 또한 예측 유닛(54), 역양자화 유닛(56), 역변환 유닛(58), 메모리 및 합산기(64)를 포함한다. 추가적으로, 비디오 디코더(60)는 또한 합산기(64)의 출력을 필터링하는 필터 유닛(57)을 포함한다. 본 발명에 부합하여, 필터 유닛(57)은 적용될 하나 이상의 필터들을 포함하는 엔트로피 디코딩된 필터 정보를 수신할 수 있다. 필터들은 필터 계수들의 세트들에 의해 정의될 수 있다. 필터 유닛(57)은 필터 정보에 기초하여 필터 계수들을 생성하도록 구성될 수 있다. 필터 정보는 계수들의 임의의 주어진 세트에 대해 이용되는 인코딩 방식뿐만 아니라 계수들의 임의의 주어진 세트가 이용되어야 하는 액티비티 메트릭 범위들을 디코더로 시그널링하는 시그널링 신택스를 포함할 수 있다. 필터들의 디코딩에 후속하여, 필터 유닛(57)은 필터 계수들의 하나 이상의 세트들 및 필터 계수들의 상이한 세트들이 이용되어야 하는 액티비티 메트릭 범위들을 포함하는 시그널링 신택스에 기초하여 디코딩된 비디오 블록들의 픽셀 값들을 필터링할 수 있다. 액티비티 메트릭 범위들은 이용된 인코딩의 타입(예를 들어, 예측 또는 직접)을 정의하는데 이용되는 액티비티 메트릭들의 범위들을 정의하는 액티비티 값들의 세트에 의해 정의될 수 있다.
필터 유닛(57)은 필터들을 적용하는 방법을 결정하기 위해 코딩된 유닛의 디코딩된 픽셀들(예를 들어, 가산기(51)의 출력)과 연관된 하나 이상의 액티비티 메트릭들을 계산할 수 있다. 액티비티 메트릭의 제1 범위에 대해, 필터 유닛(57)은 필터 정보로 직접 인코딩되었던 하나 이상의 필터들을 적용한다. 이 경우, 예를 들어, 필터 계수들의 값들은 어떠한 예측 인코딩 기술들도 이용하지 않고 비트스트림으로 직접 인코딩되었을 것이다. 그러나, 액티비티 메트릭의 제2 범위에 대해, 필터 유닛(57)은 필터 정보로 예측 인코딩되었던 하나 이상의 필터들을 적용한다. 이 경우, 필터 계수들의 값들은 또다른 코딩된 유닛에 대해 정의된 필터 계수들에 대한 차이들 또는 잔여 값들에 의해 정의되었을 수 있다. 이들 계수들에 대해, 필터 유닛(57)은 필터 정보에 기초하여 상이한 코딩된 유닛의 상이한 필터를 식별하고, 필터 정보에 기초하여 잔여 값들을 결정하고, 상이한 코딩된 유닛의 하나 이상의 상이한 필터들과 잔여 값들을 결합하여, 현재 코딩된 유닛에 적용될 하나 이상의 새로운 필터들을 생성할 수 있다. 필터 유닛(57)에 의해 계산된 액티비티 메트릭은 디코딩 프로세스에서 어느 필터를 적용할지를 정의한다. 필터 유닛(57)에 의한 필터 계수들의 실제 디코딩(예를 들어, 직접 또는 예측 디코딩)은 필터들이 인코딩되었던 방법을 정의하는 인코딩된 필터 정보에서의 시그널링 신택스에 기초하여 수행될 수 있다.
필터는 일반적으로 필터 서포트 형상 또는 배열의 임의의 타입을 가정할 수 있다. 필터 서포트는 필터링되는 주어진 픽셀에 대한 필터의 형상을 지칭하고, 필터 계수들은 필터 서포트에 따라 이웃 픽셀 값들에 적용되는 가중을 정의할 수 있다. 때때로, 필터 타입은 인코더 및 디코더에 의해 추정될 수 있으며, 이 경우 필터 타입은 비트스트림에 포함되지 않지만, 다른 경우들에서, 필터 타입은 여기서 설명된 바와 같은 필터 계수 정보와 함께 인코딩될 수 있다. 또한 신택스 데이터는 필터들이 인코딩되었던 방법(예를 들어, 필터 계수들이 인코딩되었던 방법)뿐만 아니라 상이한 필터들이 이용되어야 하는 액티비티 메트릭의 범위들을 디코더로 시그널링할 수 있다.
예측 유닛(54)은 엔트로피 디코딩 유닛(52)으로부터 예측 신택스(예를 들어, 모션 벡터들)를 수신한다. 예측 신택스를 이용하여, 예측 유닛(54)은 비디오 블록들을 코딩하는데 이용되었던 예측 블록들을 생성한다. 역양자화 유닛(56)은 역양자화를 수행하고, 역변환 유닛(58)은 잔여 비디오 블록들의 계수들을 다시 픽셀 도메인으로 변경하기 위한 역변환들을 수행한다. 가산기(64)는 비디오 블록을 재구성하기 위해 각각의 예측 블록을 역변환 유닛(58)에 의해 출력되는 대응하는 잔여 블록과 결합한다.
필터 유닛(57)은 각각의 코딩된 유닛에 대해 적용될 필터 계수들을 생성하고, 이후 그 코딩된 유닛의 재구성된 비디오 블록들을 필터링하기 위해 이러한 필터 계수들을 적용한다. 필터링은, 예를 들어, 비디오 블록들과 연관된 아티팩트들을 제거하고/하거나 에지들을 평활화하는 디블록 필터링을 포함할 수 있다. 필터링된 비디오 블록들은 비디오 정보의 디코딩된 프레임들(또는 다른 디코딩가능한 유닛들)을 재구성하기 위해 메모리(62)에 누적된다. 디코딩된 유닛들은 사용자에게 제시하기 위해 비디오 디코더(60)로부터 출력될 수 있지만, 또한 후속 예측 디코딩에 이용하기 위해 저장될 수 있다.
비디오 코딩 분야에서, 디코딩된 비디오 신호의 품질을 향상시키기 위해 인코더 및 디코더에서 필터링을 적용하는 것이 일반적이다. 필터링은 사후-필터를 통해 적용될 수 있으며, 이 경우, 필터링된 프레임은 추후 프레임들의 예측을 위해서는 이용되지 않는다. 대안적으로, 필터링은 "인-루프"로 적용될 수 있는데, 이 경우, 필터링된 프레임은 추후 프레임들을 예측하는데 이용될 수 있다. 오리지널 신호와 디코딩되는 필터링된 신호 사이의 에러를 최소화함으로써 바람직한 필터가 설계될 수 있다.
변환 계수들의 양자화와 유사한 방식으로, 필터
Figure 112011061058354-pct00001
의 계수들도 양자화될 수 있으며, 여기서,
Figure 112011061058354-pct00002
이고
Figure 112011061058354-pct00003
이다. K 및 L은 정수 값들을 나타낼 수 있다. 필터
Figure 112011061058354-pct00004
의 계수들은:
Figure 112011061058354-pct00005
로서 양자화될 수 있으며, 여기서
Figure 112011061058354-pct00006
는 정규화 인자이며,
Figure 112011061058354-pct00007
는 원하는 비트-깊이로의 양자화를 달성하기 위해 수행되는 라운딩 연산이다. 필터 계수들의 양자화는 인코딩 동안 필터 유닛(47)(도 2)에 의해 수행될 수 있고, 역양자화 또는 양자화해제는 필터 유닛(57)(도 3)에 의해 디코딩된 필터 계수들에 대해 수행될 수 있다.
양자화된 필터 계수들은 인코딩되어, 인코딩된 비트스트림의 일부분으로서 인코더(60)와 연관된 소스 디바이스로부터 디코더(60)와 연관된 목적지 디바이스로 송신된다. 전술한 예에서,
Figure 112011061058354-pct00008
의 값은 일반적으로 2n과 같지만 다른 값들도 이용될 수 있다.
Figure 112011061058354-pct00009
의 더 큰 값들은 양자화된 필터 계수들
Figure 112011061058354-pct00010
이 더 양호한 성능을 제공하도록 보다 정확한 양자화를 초래한다. 그러나,
Figure 112011061058354-pct00011
의 더 큰 값들은 디코더로 송신하는데 더 많은 비트들을 요구하는 계수들
Figure 112011061058354-pct00012
을 생성할 수 있다.
디코더(60)에서, 디코딩된 필터 계수들
Figure 112011061058354-pct00013
은 다음과 같은 재구성된 이미지
Figure 112011061058354-pct00014
에 적용될 수 있으며, 여기서
Figure 112011061058354-pct00015
이고
Figure 112011061058354-pct00016
이다.
Figure 112011061058354-pct00017
변수들 M, N, K 및 L은 정수들을 나타낼 수 있다. K 및 L은 -K 내지 K 및 -L 내지 L의 2차원에 이르는 픽셀들의 블록을 정의할 수 있다.
본 발명의 기술들은 사후-필터 또는 인-루프 필터의 성능을 개선할 수 있고, 또한 필터 계수들
Figure 112011061058354-pct00018
을 송신하는데 필요한 비트 수를 감소시킬 수 있다. 일부 경우들에서, 다수의 상이한 사후-필터들 또는 인-루프 필터들은 각각의 코딩된 유닛에 대해, 예를 들어, 각각의 프레임, 슬라이스, 프레임의 일부분, 프레임들의 그룹(GOP) 등에 대해 디코더로 송신된다. 각각의 필터에 대해, 추가적인 정보는 주어진 필터가 적용되어야 하는 코딩된 유닛들, 매크로블록들 및/또는 픽셀들을 식별하기 위해 비트스트림에 포함된다.
프레임들은 프레임 번호 및/또는 프레임 타입(예를 들어, I-프레임들, P-프레임들 또는 B-프레임들)에 의해 식별될 수 있다. I-프레임들은 인트라-예측되는 인트라-프레임들을 지칭한다. P-프레임들은 데이터의 하나의 리스트(예를 들어, 하나의 이전 프레임)에 기초하여 예측되는 비디오 블록들을 갖는 예측 프레임들을 지칭한다. B-프레임들은 데이터의 2개의 리스트들(예를 들어, 이전 및 후속 프레임)에 기초하여 예측되는 양방향 예측 프레임들을 지칭한다. 매크로블록들은 매크로블록을 재구성하는데 이용되는 양자화 파라미터(QP) 값들의 범위 및/또는 매크로블록 타입들을 리스팅함으로써 식별될 수 있다.
또한, 필터 정보는 액티비티 메트릭이라 지칭되는 이미지의 로컬 특성의 주어진 측정 값이 특정된 범위 내에 있는 픽셀들만이 특정 필터로 필터링되어야 한다는 것을 표시할 수 있다. 예를 들어, 픽셀
Figure 112011061058354-pct00019
에 대해, 액티비티 메트릭은 다음과 같이 계산된 합계-수정된 라플라시안 값을 포함할 수 있는데:
Figure 112011061058354-pct00020
여기서, -K 내지 K 및 -L 내지 L에 이르는 2차원 윈도우에 대하여, k는 -K 내지 K의 픽셀 값들의 합산 값을 나타내고, l은 -L 내지 L의 합산 값을 나타내고, i 및 j는 픽셀 데이터의 픽셀 좌표들을 나타내고,
Figure 112011061058354-pct00021
는 좌표들 i 및 j에서의 주어진 픽셀 값을 나타내며,
Figure 112011061058354-pct00022
는 액티비티 메트릭이다.
필터 계수들
Figure 112011061058354-pct00023
은 이전에 코딩된 유닛들에 대해 송신된 계수들로부터의 예측을 이용하여 코딩될 수 있다. 각각의 코딩된 유닛 m(예를 들어, 각각의 프레임, 슬라이스 또는 GOP)에 대해, 인코더는 다음의 M개의 필터들의 세트를 인코딩하고 송신한다.
Figure 112011061058354-pct00024
각각의 필터에 대해, 비트스트림은 필터가 이용되어야 하는 액티비티 메트릭 값
Figure 112011061058354-pct00025
의 값들의 범위를 식별하도록 인코딩될 수 있다.
예를 들어, 인코더(50)의 필터 유닛(47)은 다음의 필터:
Figure 112011061058354-pct00026
가 액티비티 메트릭 값
Figure 112011061058354-pct00027
이 간격
Figure 112011061058354-pct00028
내에 있는, 즉
Figure 112011061058354-pct00029
Figure 112011061058354-pct00030
인 픽셀들에 대해 이용되어야 한다는 것을 표시할 수 있다. 또한, 인코더(50)의 필터 유닛(47)은 다음의 필터:
Figure 112011061058354-pct00031
가 액티비티 메트릭 값
Figure 112011061058354-pct00032
이 간격
Figure 112011061058354-pct00033
내에 있는 픽셀들에 대해 이용되어야 한다는 것을 표시할 수 있다. 추가적으로, 인코더(50)의 필터 유닛(47)은 다음의 필터:
Figure 112011061058354-pct00034
가 액티비티 메트릭 값
Figure 112011061058354-pct00035
Figure 112011061058354-pct00036
인 경우의 픽셀들에 대해 이용되어야 한다는 것을 표시할 수 있다.
필터 계수들은 이전에 코딩된 유닛에 이용되는 재구성된 필터 계수들을 이용하여 예측될 수 있다. 이전 필터 계수들은:
Figure 112011061058354-pct00037
으로서 표현될 수 있다. 이 경우, 코딩된 유닛들의 번호 n은 현재 필터들의 예측을 위해 이용된 하나 이상의 필터들을 식별하는데 이용될 수 있고, 번호 n은 인코딩된 비트스트림의 일부분으로서 디코더로 송신될 수 있다. 추가적으로, 정보는 예측 코딩이 이용되는 액티비티 메트릭
Figure 112011061058354-pct00038
의 값들을 식별하기 위해 인코딩되어 디코더로 송신될 수 있다.
예를 들어, 현재 코딩된 프레임 m에 대해, 계수들:
Figure 112011061058354-pct00039
은 액티비티 메트릭 값들
Figure 112011061058354-pct00040
에 대해 송신된다고 가정한다. 프레임 m의 필터 계수들은 프레임 n의 필터 계수들로부터 예측된다. 필터:
Figure 112011061058354-pct00041
이 액티비티 메트릭이 간격
Figure 112011061058354-pct00042
내에 있는 픽셀들에 대해 프레임 n에서 이용된다고 가정하는데, 여기서,
Figure 112011061058354-pct00043
이고
Figure 112011061058354-pct00044
이다. 이 경우, 간격
Figure 112011061058354-pct00045
은 간격
Figure 112011061058354-pct00046
내에 포함된다. 추가적으로, 필터 계수들의 예측이 액티비티 값들
Figure 112011061058354-pct00047
에 대해서가 아니라 액티비티 값들
Figure 112011061058354-pct00048
에 대해 이용되어야 한다는 것을 표시하는 정보가 디코더로 송신될 수 있으며, 여기서
Figure 112011061058354-pct00049
이고
Figure 112011061058354-pct00050
이다.
간격들
Figure 112011061058354-pct00051
Figure 112011061058354-pct00052
사이의 관계가 도 4에 도시되어 있다. 이 경우, 간격
Figure 112011061058354-pct00053
에서의 액티비티 메트릭을 갖는 픽셀들을 필터링하는데 이용되는 필터 계수들:
Figure 112011061058354-pct00054
의 최종 값들은 계수들:
Figure 112011061058354-pct00055
Figure 112011061058354-pct00056
의 합계와 동일하다.
따라서,
Figure 112011061058354-pct00057
.
추가적으로, 액티비티 메트릭
Figure 112011061058354-pct00058
을 갖는 픽셀들에 대해 이용되는 필터 계수들:
Figure 112011061058354-pct00059
은 필터 계수들:
Figure 112011061058354-pct00060
과 동일하다.
따라서,
Figure 112011061058354-pct00061
.
필터 계수들의 진폭
Figure 112011061058354-pct00062
은 k 및 l 값들에 의존한다. 일반적으로, 가장 큰 진폭을 갖는 계수는 계수
Figure 112011061058354-pct00063
이다. 큰 진폭을 갖는 것으로 기대되는 다른 계수들은 k 또는 l의 값이 0과 동일한 계수들이다. 이러한 현상은 계수들을 송신하는데 필요한 비트들의 양을 더 감소시키기 위해 이용될 수 있다. 인덱스 값들 k 및 l은 알려진 필터 서포트 내의 위치들을 정의할 수 있다.
각각의 프레임 m에 대한 계수들:
Figure 112011061058354-pct00064
은 파라미터 p에 따라 정의되는 Golomb 또는 exp-Golomb 코드들과 같은 파라미터화된 가변 길이 코드들을 이용하여 코딩될 수 있다. 파라미터화된 가변 길이 코드들을 정의하는 파라미터 p의 값을 변경함으로써, 이들 코드들은 넓은 범위의 소스 분포를 효율적으로 나타내는데 이용될 수 있다. 계수들
Figure 112011061058354-pct00065
의 분포(즉, 크거나 작은 값들을 가질 그들의 가능성)은 k 및 l의 값들에 의존한다. 따라서, 코딩 효율을 증가시키기 위해, 각각의 프레임 m에 대해, 파라미터 p의 값은 각각의 쌍
Figure 112011061058354-pct00066
에 대해 송신된다. 파라미터 p는 코딩 계수들이
Figure 112011061058354-pct00067
인 경우에 파라미터화된 가변 길이 코딩을 위해 이용될 수 있다.
도 5는 본 발명에 부합하는 인코딩 기술을 나타내는 흐름도이다. 도 5에 도시된 바와 같이, 비디오 인코더(50)는 코딩된 유닛의 픽셀 데이터를 인코딩한다(101). 코딩된 유닛은 프레임, 슬라이스, 픽처들의 그룹(GOP), 또는 또다른 독립적으로 디코딩가능한 유닛을 포함할 수 있다. 픽셀 데이터는 비디오 블록들로 배열될 수 있고, 비디오 인코더(50)는 ITU-T H.264 또는 유사한 블록-기반 비디오 코딩 표준과 같은 비디오 인코딩 표준에 따라 비디오 블록들을 인코딩함으로써 픽셀 데이터를 인코딩할 수 있다.
비디오 인코딩 프로세스의 일부분으로서, 비디오 인코더(50)의 필터 유닛(47)은 코딩된 유닛의 픽셀 데이터를 필터링하기 위한 하나 이상의 필터들을 선택한다(102). 이러한 필터링은 상이한 블록들 간의 에지들을 평활화함으로써 블록화 아티팩트들을 제거하는데 이용될 수 있다. 필터 유닛(47)은 인-루프인 것으로서 도시되는데, 이는 필터링된 데이터가 추후 비디오 블록들의 예측 인코딩을 위해 이용된다는 것을 의미한다. 그러나, 필터 유닛(47)은 대안적으로 사후 필터링을 적용할 수 있으며, 이 경우, 필터링되지 않은 데이터가 추후 비디오 블록들의 예측 인코딩을 위해 이용될 것이다.
필터 유닛(47)은 위에서 설명된 합계-수정된 라플라시안 값과 같은 액티비티 메트릭의 상이한 값들에 기초하여 필터들을 인코딩한다(103). 이와 같이 함으로써, 필터 유닛(47)은 액티비티 메트릭의 제1 범위에 적용된 필터들에 대해서는 직접 인코딩을 이용하며 액티비티 메트릭의 제2 범위에 적용된 필터들에 대해서는 예측 인코딩을 이용한다(103). 이러한 방식으로, 상이한 필터들이 필터 유닛(47)에 의해 액티비티 메트릭의 상이한 범위들에 적용될 수 있고, 상이한 타입들의 인코딩(직접 또는 예측)이 액티비티 메트릭에 기초하여 상이한 필터들을 인코딩하기 위해 필터 유닛(47)에 의해 이용될 수 있다. 비디오 인코더(50)는 인코딩된 픽셀 데이터 및 인코딩된 필터들을 포함하여 코딩된 유닛에 대한 인코딩된 비트스트림을 출력한다(104). 인코딩된 픽셀 데이터는, 픽셀 값들을 생성하기 위해 디코더에서 디코딩될 수 있는, 엔트로피 코딩되고, 양자화되고 변환된 값들로서 표현될 수 있다. 인코딩된 필터들은 엔트로피 코딩된 신택스에 의해 표현되며, 신택스는 직접 인코딩된 필터들 및/또는 예측 코딩된 필터들을 포함한다. 인코딩된 필터들은 또한 필터들이 인코딩된 방법 및 상이한 필터들이 적용되어야 하는 액티비티 메트릭의 범위들을 식별하는 시그널링 신택스를 포함할 수 있다.
상이한 필터들이 2차원 필터 서포트의 가변 사이즈에 적용되는 필터 계수들의 상이한 세트들에 의해 정의될 수 있다. 액티비티 메트릭의 제1 범위에 대해, 필터 계수들의 세트들 중 하나 이상이 필터 정보로 직접 코딩되며, 액티비티 메트릭의 제2 범위에 대해, 필터 계수들의 세트들 중 하나 이상이 필터 정보로 예측 코딩된다. 대안적으로, 상이한 필터 타입들 및 필터 계수들의 상이한 세트들이 주어진 필터에 대해 정의될 수 있으며, 액티비티 메트릭의 제1 범위에 대해, 필터 계수들의 세트들 중 하나 이상이 필터 정보로 직접 코딩되며, 액티비티 메트릭의 제2 범위에 대해, 필터 계수들의 세트들 중 하나 이상이 필터 정보로 예측 코딩된다. 일부 경우들에서, 상이한 필터들은 유사한 개수의 필터 계수들을 가질 수 있다. 그러나, 다른 예들에서, 상이한 필터들은 상이한 개수의 필터 계수들 및 상이한 필터 서포트들을 정의하는 전체적으로 상이한 필터들을 포함할 수 있다.
인코딩된 필터 정보는 특정 필터와 연관된 프레임 번호를 식별하는 정보, 특정 필터와 연관된 프레임 타입을 식별하는 정보, 특정 필터와 연관된 비디오 블록 타입을 식별하는 정보, 및/또는 특정 필터와 연관된 양자화 파라미터들을 식별하는 정보를 포함할 수 있다. 이들 또는 다른 메커니즘들 또는 엘리먼트들은, 특히 예측 코딩이 필터들에 대해 이용된 경우, 비트스트림에서의 필터들을 식별하는데 이용될 수 있다. 또한, 인코딩된 필터 정보는 또한 필터들이 인코딩되었던 방법 및 상이한 필터들이 적용되어야 하는 액티비티 메트릭의 범위들을 식별하는 시그널링 신택스를 포함할 수 있다.
액티비티 메트릭의 제2 범위에 대해, 필터 정보는 예측 코딩된 필터 중 하나 이상을 예측하는데 이용되는 참조 데이터를 식별하는 정보를 포함할 수 있다. 이러한 참조 데이터는, 예를 들어, 이전의 또는 후속하는 코딩된 유닛을 식별하는 정보와 같이 비트스트림에서의 이전 또는 후속 필터를 식별하는 정보일 수 있다. 이 경우, 이전 또는 후속 코딩된 유닛을 식별함으로써, 필터 정보는 이전 또는 후속 코딩된 유닛에 대해 이용되는 필터(들)가 현재 필터들의 예측 코딩을 위해 이용되었다는 것을 내포할 수 있다. 따라서, 필터 정보는 현재 필터들과 이전 또는 후속 코딩된 유닛들의 필터들 사이의 차이들을 나타내는 차이 값들을 더 포함할 수 있다. 차이 값들은 현재 코딩된 유닛에 대한 현재 필터 계수들을 생성하기 위해 참조 데이터로 정의된 필터 계수들에 더해질 수 있다. 필터들의 압축을 더 개선하기 위해, 필터 계수들은, 전술된 바와 같이, 파라미터화된 가변 길이 코드들을 이용하여 코딩될 수 있다.
도 6은 본 발명에 부합하는 디코딩 기술을 나타내는 흐름도이다. 도 6에 도시된 바와 같이, 비디오 디코더(60)는 코딩된 유닛에 대한 인코딩된 필터들 및 인코딩된 비디오 데이터를 포함하는 인코딩된 비트스트림을 수신한다(111). 비디오 디코더(60)는 픽셀 데이터를 생성하기 위해 비디오 데이터를 디코딩한다(112). 특히, 비디오 디코더(60)는 ITU-T H.264 비디오 표준, 또는 유사한 블록 기반 비디오 코딩 표준에 부합하는 블록-기반 비디오 재구성을 수행할 수 있다.
본 발명에 따르면, 비디오 디코더(60)는 직접 디코딩 또는 예측 디코딩을 이용하여 필터들을 디코딩한다(113). 특히, 엔트로피 디코딩 유닛(52)에 의한 엔트로피 디코딩에 후속하여, 인코딩된 필터 정보는 필터 유닛(57)에 송신될 수 있다. 필터 유닛(57)은 직접 디코딩 또는 예측 디코딩 중 어느 하나를 이용하여 필터들을 디코딩할 수 있으며, 비트스트림은 직접 디코딩 또는 예측 디코딩 중 어느 하나를 이용하여 필터들을 적절하게 디코딩하는 방법을 (예를 들어, 신택스 정보를 통해) 필터 유닛(57)에 통지할 수 있다. 필터 유닛(57)은 이후 디코딩된 픽셀 데이터와 연관된 액티비티 메트릭에 기초하여 필터들을 선택적으로 적용할 수 있다(114). 특히, 액티비티 메트릭의 제1 범위에 대해, 비트스트림으로 직접 인코딩되었던 필터는 필터 유닛(57)에 의해 이용될 수 있는 반면, 액티비티 메트릭의 제2 범위에 대해, 비트스트림으로 예측 인코딩되었던 필터는 필터 유닛(57)에 의해 이용될 수 있다.
이러한 방식으로, 픽셀들의 액티비티 메트릭에 기초하여 비디오 인코더(50)에 의해 적용된 필터들은, 이러한 필터들이 액티비티 메트릭의 제1 범위에 대해 이용되는지 또는 제2 범위에 대해 이용되는지에 따라, 직접 인코딩 또는 예측 인코딩을 이용하여 비트스트림으로 인코딩될 수 있다. 이후, 디코더에서 재구성된 데이터가 인코더에서 재구성된 데이터에 매칭되도록 동일한 필터들이 비디오 디코더(60)에 의해 적용될 수 있다. 위에서 설명된 바와 같이, 이러한 필터들이 액티비티 메트릭의 제1 범위에 대해 이용되는지 또는 제2 범위에 대해 이용되는지에 기초하여 필터들에 대해 상이한 타입의 인코딩을 이용함으로써, 개선된 데이터 압축이 달성될 수 있다.
전술된 개시물은 상세내용들을 전달하기 위해 얼마간 간략화되었다. 그러나, 구현시, 코딩된 유닛마다 다수의 필터들, 필터마다 다수의 계수들, 그리고 다수의 상이한 분산 레벨들이 존재할 수 있으며, 여기서 각각의 필터는 분산의 상이한 범위에 대해 정의된다. 예를 들어, 일부 경우들에서, 각각의 코딩된 유닛에 대해 정의된 16개 이상의 필터들 및 각각의 필터에 대응하는 분산의 16개의 상이한 범위들이 존재할 수 있다. 이러한 경우, 필터들에 대해 직접 인코딩이 이용되는지 또는 예측 인코딩이 이용되는지를 정의하는 (액티비티 메트릭에 의해 정의되는) 분산의 2개의 더 큰 범위들이 존재할 수 있다. 대안적으로 또는 추가적으로, 액티비티 메트릭의 각각의 분산 범위는 직접 인코딩이 이용되었는지 또는 예측 인코딩이 이용되었는지를 디코더에 통지하는 비트스트림에서의 대응하는 비트를 정의할 수 있다.
필터들 각각은 많은 계수들을 포함할 수 있다. 일 예에서, 필터들은 2차원으로 확장되는 필터 서포트에 대해 정의되는 81개의 상이한 계수들을 갖는 2차원 필터들을 포함한다. 그러나, 각각의 필터에 대해 송신되는 필터 계수들의 수는 일부 경우들에서 81보다 더 적을 수 있다. 예를 들어, 1차원 또는 사분면(quadrant)의 필터 계수들이 다른 차원들 또는 사분면들의 계수들에 대해 인버팅된 또는 대칭적인 값들에 대응할 수 있도록 계수 대칭성이 부과될 수 있다. 계수 대칭성은 81개의 상이한 계수들이 더 적은 계수들로 표현되도록 할 수 있으며, 이 경우, 인코더 및 디코더는 계수들의 인버팅된 또는 미러링된(mirrored) 값들이 다른 계수들을 정의한다고 가정할 수 있다. 예를 들어, 계수들 (5, -2, 10, 10, -2, 5)는 계수들의 서브세트 (5, -2, 10)으로서 인코딩되어 송신될 수 있다. 이 경우, 디코더는 이들 3개의 계수들이 계수들의 더 큰 대칭적인 세트 (5, -2, 10, 10, -2, 5)를 정의한다는 것을 알 수 있다.
본 발명의 기술들은 무선 핸드셋 및 집적 회로(IC) 또는 IC들의 세트(즉, 칩셋)를 포함한 광범위한 디바이스들 또는 장치들로 구현될 수 있다. 임의의 컴포넌트들, 모듈들 또는 유닛들이 기능적 양태들을 강조하기 위해 제공되어 설명되었으며, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하지는 않는다.
따라서, 여기서 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 하드웨어로 구현되는 경우, 모듈들, 유닛들 또는 컴포넌트들로서 설명되는 임의의 피처들은 집적된 논리 디바이스로 함께 또는 이산적이지만 상호동작가능한 논리 디바이스들로서 개별적으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 이들 기술들은, 프로세서에 의해 실행되는 경우, 전술된 방법들 중 하나 이상을 수행하는 명령들을 포함하는 컴퓨터 판독가능 매체에 의해 적어도 부분적으로 실현될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체를 포함할 수 있으며, 패키징 재료들을 포함할 수 있는 컴퓨터 프로그램 제품의 일부분을 형성할 수 있다. 컴퓨터 판독가능 저장 매체는 SDRAM(synchronous dynamic random access memory)과 같은 RAM(random access memory), ROM(read-only memory), NVRAM(non-volatile random access memory), EEPROM(electrically erasable programmable read-only memory), FLASH 메모리, 자기적 또는 광학적 데이터 저장 매체 등을 포함할 수 있다. 이들 기술들은, 추가적으로 또는 대안적으로 명령들 또는 데이터 구조들의 형태로 코드를 전송하거나 전달하며 컴퓨터에 의해 액세스, 판독 및/또는 실행될 수 있는 컴퓨터 판독가능 통신 매체에 의해 적어도 부분적으로 실현될 수 있다.
코드는 하나 이상의 프로세서들, 예를 들어, 하나 이상의 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 필드 프로그램가능 논리 어레이(FPGA)들, 또는 다른 등가의 집적 또는 이산 논리 회로에 의해 실행될 수 있다. 따라서, 여기서 이용된 바와 같은 용어 "프로세서"는 전술된 구조 또는 여기서 설명된 기술들의 구현에 적합한 임의의 다른 구조 중 임의의 구조라고도 지칭할 수 있다. 추가적으로, 일부 양태들에서, 여기서 설명된 기능은 인코딩 및 디코딩을 위해 구성된 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 내에 제공될 수 있거나, 또는 결합된 비디오 코덱에 통합될 수 있다. 또한, 이들 기술들은 하나 이상의 회로들 또는 논리 엘리먼트들로 완전히 구현될 수 있다.
본 발명의 다양한 양태들이 설명되었다. 이들 양태들 및 다른 양태들은 다음의 청구항들의 범위 내에 있다.

Claims (43)

  1. 비디오 데이터를 코딩하는 방법으로서,
    상기 비디오 데이터의 코딩된 유닛의 픽셀 데이터를 코딩하는 단계 - 상기 코딩은 필터링 프로세스를 포함함 -; 및
    상기 픽셀 데이터에 대한 필터링 프로세스와 연관된 필터 정보를 코딩하는 단계
    를 포함하고,
    상기 필터링 프로세스는, 상기 픽셀 데이터 내의 픽셀 분산을 나타내는 분산 메트릭을 포함하는 액티비티 메트릭(activity metric)의 상이한 값들에 기초하여 정의된 상이한 필터들을 이용하는 것을 포함하고, 상기 액티비티 메트릭의 제1 범위에 대해, 상기 필터들 중 하나 이상은 상기 필터 정보로 직접 인코딩되며(encoded directly), 상기 액티비티 메트릭의 제2 범위에 대해, 이전에 코딩된 유닛들에 대해 송신된 계수들로부터의 예측을 이용하여 상기 필터들 중 하나 이상은 상기 필터 정보로 예측 인코딩되고(predictively encoded),
    상기 액티비티 메트릭은, 다음의 수학식:
    Figure 112013047298389-pct00086

    에 따라 정의된 합계-수정된 라플라시안 값(sum-modified Laplacian value)
    Figure 112013047298389-pct00087
    를 포함하고,
    여기서, -K 내지 K 및 -L 내지 L에 이르는 2차원 윈도우에 대하여, k는 -K 내지 K의 합산 값을 나타내고, l은 -L 내지 L의 합산 값을 나타내고, i 및 j는 상기 픽셀 데이터의 픽셀 좌표들을 나타내고, R(i,j)는 좌표들 i 및 j에서의 주어진 픽셀 값을 나타내며,
    Figure 112013047298389-pct00088
    는 상기 액티비티 메트릭인 방법.
  2. 제1항에 있어서,
    상기 상이한 필터들은 필터 계수들의 상이한 세트들에 의해 정의되고, 상기 액티비티 메트릭의 상기 제1 범위에 대해, 상기 필터 계수들의 세트들 중 하나 이상은 상기 필터 정보로 직접 코딩되며, 상기 액티비티 메트릭의 상기 제2 범위에 대해, 상기 필터 계수들의 세트들 중 하나 이상은 상기 필터 정보로 예측 코딩되는 방법.
  3. 제1항에 있어서,
    상기 비디오 데이터를 코딩하는 것은 상기 비디오 데이터를 인코딩하는 것을 포함하고, 상기 픽셀 데이터를 코딩하는 단계는 상기 픽셀 데이터를 인코딩된 비트스트림으로 인코딩하는 단계를 포함하고, 상기 필터 정보를 코딩하는 단계는 상기 필터 정보를 인코딩하는 단계를 포함하며, 상기 방법은 상기 필터 정보를 상기 인코딩된 비트스트림의 일부분으로서 출력하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 비디오 데이터를 코딩하는 것은 상기 비디오 데이터를 디코딩하는 것을 포함하고, 상기 픽셀 데이터를 코딩하는 단계는 인코딩된 비트스트림으로부터 상기 픽셀 데이터를 디코딩하는 단계를 포함하고, 상기 필터 정보를 코딩하는 단계는 상기 필터 정보를 디코딩하는 단계를 포함하며, 상기 방법은 상기 필터 정보를 상기 인코딩된 비트스트림의 일부분으로서 수신하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 필터 정보는,
    특정 필터와 연관된 프레임 번호를 식별하는 정보;
    특정 필터와 연관된 프레임 타입을 식별하는 정보;
    특정 필터와 연관된 비디오 블록 타입을 식별하는 정보; 및
    특정 필터와 연관된 양자화 파라미터들을 식별하는 정보
    중 하나 이상을 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 액티비티 메트릭의 상기 제2 범위에 대해, 상기 필터 정보는 예측 코딩되는 상기 필터들 중 하나 이상을 예측하는데 이용된 참조 데이터를 식별하는 정보를 포함하는 방법.
  7. 삭제
  8. 삭제
  9. 제1항에 있어서,
    상기 상이한 필터들은 필터 계수들의 상이한 세트들에 의해 정의되며, 상기 방법은 파라미터화된 가변 길이 코드들을 이용하여 상기 필터 계수들을 코딩하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서,
    상기 코딩된 유닛은,
    비디오 프레임,
    비디오 프레임의 일부분(a portion of a video frame), 및
    픽처들의 그룹(a group of pictures; GOP)
    중 하나를 포함하는 방법.
  11. 비디오 데이터를 코딩하는 장치로서,
    비디오 코더를 포함하고,
    상기 비디오 코더는,
    상기 비디오 데이터의 코딩된 유닛의 픽셀 데이터를 코딩하며 - 상기 코딩은 필터링 프로세스를 포함함 -,
    상기 픽셀 데이터에 대한 필터링 프로세스와 연관된 필터 정보를 코딩하고,
    상기 필터링 프로세스는, 상기 픽셀 데이터 내의 픽셀 분산을 나타내는 분산 메트릭을 포함하는 액티비티 메트릭의 상이한 값들에 기초하여 정의된 상이한 필터들을 이용하는 것을 포함하고, 상기 액티비티 메트릭의 제1 범위에 대해, 상기 필터들 중 하나 이상은 상기 필터 정보로 직접 인코딩되며, 상기 액티비티 메트릭의 제2 범위에 대해, 이전에 코딩된 유닛들에 대해 송신된 계수들로부터의 예측을 이용하여 상기 필터들 중 하나 이상은 상기 필터 정보로 예측 인코딩되고,
    상기 액티비티 메트릭은, 다음의 수학식:
    Figure 112013047298389-pct00089

    에 따라 정의된 합계-수정된 라플라시안 값
    Figure 112013047298389-pct00090
    를 포함하고,
    여기서, -K 내지 K 및 -L 내지 L에 이르는 2차원 윈도우에 대하여, k는 -K 내지 K의 합산 값을 나타내고, l은 -L 내지 L의 합산 값을 나타내고, i 및 j는 상기 픽셀 데이터의 픽셀 좌표들을 나타내고, R(i,j)는 좌표들 i 및 j에서의 주어진 픽셀 값을 나타내며,
    Figure 112013047298389-pct00091
    는 상기 액티비티 메트릭인 장치.
  12. 제11항에 있어서,
    상기 상이한 필터들은 필터 계수들의 상이한 세트들에 의해 정의되고, 상기 액티비티 메트릭의 상기 제1 범위에 대해, 상기 필터 계수들의 세트들 중 하나 이상은 상기 필터 정보로 직접 코딩되며, 상기 액티비티 메트릭의 상기 제2 범위에 대해, 상기 필터 계수들의 세트들 중 하나 이상은 상기 필터 정보로 예측 코딩되는 장치.
  13. 제11항에 있어서,
    상기 장치는 상기 비디오 데이터를 인코딩하고, 상기 비디오 코더는, 상기 픽셀 데이터를 인코딩된 비트스트림으로 인코딩하고, 상기 필터 정보를 인코딩하며, 상기 필터 정보를 상기 인코딩된 비트스트림의 일부분으로서 출력하는 인코더를 포함하는 장치.
  14. 제11항에 있어서,
    상기 장치는 상기 비디오 데이터를 디코딩하고, 상기 비디오 코더는, 필터 정보를 인코딩된 비트스트림의 일부분으로서 수신하고, 상기 인코딩된 비트스트림으로부터 상기 픽셀 데이터를 디코딩하며, 상기 인코딩된 비트스트림으로부터 상기 필터 정보를 디코딩하는 디코더를 포함하는 장치.
  15. 제11항에 있어서,
    상기 필터 정보는,
    특정 필터와 연관된 프레임 번호를 식별하는 정보;
    특정 필터와 연관된 프레임 타입을 식별하는 정보;
    특정 필터와 연관된 비디오 블록 타입을 식별하는 정보; 및
    특정 필터와 연관된 양자화 파라미터들을 식별하는 정보
    중 하나 이상을 더 포함하는 장치.
  16. 제11항에 있어서,
    상기 액티비티 메트릭의 상기 제2 범위에 대해, 상기 필터 정보는 예측 코딩되는 상기 필터들 중 하나 이상을 예측하는데 이용된 참조 데이터를 식별하는 정보를 포함하는 장치.
  17. 삭제
  18. 삭제
  19. 제11항에 있어서,
    상기 상이한 필터들은 필터 계수들의 상이한 세트들에 의해 정의되며, 상기 비디오 코더는 파라미터화된 가변 길이 코드들을 이용하여 상기 필터 계수들을 코딩하는 장치.
  20. 제11항에 있어서,
    상기 코딩된 유닛은,
    비디오 프레임,
    비디오 프레임의 일부분, 및
    픽처들의 그룹(GOP)
    중 하나를 포함하는 장치.
  21. 제11항에 있어서,
    상기 비디오 코더는 집적 회로를 포함하는 장치.
  22. 제11항에 있어서,
    상기 비디오 코더는 마이크로프로세서를 포함하는 장치.
  23. 제11항에 있어서,
    상기 장치는 상기 비디오 코더를 포함하는 무선 통신 디바이스를 포함하는 장치.
  24. 비디오 데이터를 코딩하는 디바이스로서,
    상기 비디오 데이터의 코딩된 유닛의 픽셀 데이터를 코딩하기 위한 수단 - 상기 코딩은 필터링 프로세스를 포함함 -; 및
    상기 픽셀 데이터에 대한 필터링 프로세스와 연관된 필터 정보를 코딩하기 위한 수단
    을 포함하고,
    상기 필터링 프로세스는, 상기 픽셀 데이터 내의 픽셀 분산을 나타내는 분산 메트릭을 포함하는 액티비티 메트릭의 상이한 값들에 기초하여 정의된 상이한 필터들을 이용하는 것을 포함하고, 상기 액티비티 메트릭의 제1 범위에 대해, 상기 필터들 중 하나 이상은 상기 필터 정보로 직접 인코딩되며, 상기 액티비티 메트릭의 제2 범위에 대해, 이전에 코딩된 유닛들에 대해 송신된 계수들로부터의 예측을 이용하여 상기 필터들 중 하나 이상은 상기 필터 정보로 예측 인코딩되고,
    상기 액티비티 메트릭은, 다음의 수학식:
    Figure 112013047298389-pct00092

    에 따라 정의된 합계-수정된 라플라시안 값
    Figure 112013047298389-pct00093
    를 포함하고,
    여기서, -K 내지 K 및 -L 내지 L에 이르는 2차원 윈도우에 대하여, k는 -K 내지 K의 합산 값을 나타내고, l은 -L 내지 L의 합산 값을 나타내고, i 및 j는 상기 픽셀 데이터의 픽셀 좌표들을 나타내고, R(i,j)는 좌표들 i 및 j에서의 주어진 픽셀 값을 나타내며,
    Figure 112013047298389-pct00094
    는 상기 액티비티 메트릭인 디바이스.
  25. 제24항에 있어서,
    상기 상이한 필터들은 필터 계수들의 상이한 세트들에 의해 정의되고, 상기 액티비티 메트릭의 상기 제1 범위에 대해, 상기 필터 계수들의 세트들 중 하나 이상은 상기 필터 정보로 직접 코딩되며, 상기 액티비티 메트릭의 상기 제2 범위에 대해, 상기 필터 계수들의 세트들 중 하나 이상은 상기 필터 정보로 예측 코딩되는 디바이스.
  26. 제24항에 있어서,
    비디오 데이터를 코딩하기 위한 수단은 상기 비디오 데이터를 인코딩하기 위한 수단을 포함하고, 상기 픽셀 데이터를 코딩하기 위한 수단은 상기 픽셀 데이터를 인코딩된 비트스트림으로 인코딩하기 위한 수단을 포함하고, 상기 필터 정보를 코딩하기 위한 수단은 상기 필터 정보를 인코딩하기 위한 수단을 포함하며, 상기 디바이스는 상기 필터 정보를 상기 인코딩된 비트스트림의 일부분으로서 출력하기 위한 수단을 더 포함하는 디바이스.
  27. 제24항에 있어서,
    비디오 데이터를 코딩하기 위한 수단은 상기 비디오 데이터를 디코딩하기 위한 수단을 포함하고, 상기 픽셀 데이터를 코딩하기 위한 수단은 인코딩된 비트스트림으로부터 상기 픽셀 데이터를 디코딩하기 위한 수단을 포함하고, 상기 필터 정보를 코딩하기 위한 수단은 상기 필터 정보를 디코딩하기 위한 수단을 포함하며, 상기 디바이스는 상기 필터 정보를 상기 인코딩된 비트스트림의 일부분으로서 수신하기 위한 수단을 더 포함하는 디바이스.
  28. 제24항에 있어서,
    상기 필터 정보는,
    특정 필터와 연관된 프레임 번호를 식별하는 정보;
    특정 필터와 연관된 프레임 타입을 식별하는 정보;
    특정 필터와 연관된 비디오 블록 타입을 식별하는 정보; 및
    특정 필터와 연관된 양자화 파라미터들을 식별하는 정보
    중 하나 이상을 더 포함하는 디바이스.
  29. 제24항에 있어서,
    상기 액티비티 메트릭의 상기 제2 범위에 대해, 상기 필터 정보는 예측 코딩되는 상기 필터들 중 하나 이상을 예측하는데 이용된 참조 데이터를 식별하는 정보를 포함하는 디바이스.
  30. 삭제
  31. 삭제
  32. 제24항에 있어서,
    상기 상이한 필터들은 필터 계수들의 상이한 세트들에 의해 정의되며, 상기 디바이스는 파라미터화된 가변 길이 코드들을 이용하여 상기 필터 계수들을 코딩하기 위한 수단을 더 포함하는 디바이스.
  33. 제24항에 있어서,
    상기 코딩된 유닛은,
    비디오 프레임,
    비디오 프레임의 일부분, 및
    픽처들의 그룹(GOP)
    중 하나를 포함하는 디바이스.
  34. 컴퓨터 판독가능 저장 매체로서,
    프로세서에서 실행되면, 상기 프로세서로 하여금,
    비디오 데이터의 코딩된 유닛의 픽셀 데이터를 코딩하며 - 상기 코딩은 필터링 프로세스를 포함함 -;
    상기 픽셀 데이터에 대한 필터링 프로세스와 연관된 필터 정보를 코딩하게 하는 명령들을 포함하고,
    상기 필터링 프로세스는, 상기 픽셀 데이터 내의 픽셀 분산을 나타내는 분산 메트릭을 포함하는 액티비티 메트릭의 상이한 값들에 기초하여 정의된 상이한 필터들을 이용하는 것을 포함하고, 상기 액티비티 메트릭의 제1 범위에 대해, 상기 필터들 중 하나 이상은 상기 필터 정보로 직접 인코딩되며, 상기 액티비티 메트릭의 제2 범위에 대해, 이전에 코딩된 유닛들에 대해 송신된 계수들로부터의 예측을 이용하여 상기 필터들 중 하나 이상은 상기 필터 정보로 예측 인코딩되고,
    상기 액티비티 메트릭은, 다음의 수학식:
    Figure 112013047298389-pct00095

    에 따라 정의된 합계-수정된 라플라시안 값
    Figure 112013047298389-pct00096
    를 포함하고,
    여기서, -K 내지 K 및 -L 내지 L에 이르는 2차원 윈도우에 대하여, k는 -K 내지 K의 합산 값을 나타내고, l은 -L 내지 L의 합산 값을 나타내고, i 및 j는 상기 픽셀 데이터의 픽셀 좌표들을 나타내고, R(i,j)는 좌표들 i 및 j에서의 주어진 픽셀 값을 나타내며,
    Figure 112013047298389-pct00097
    는 상기 액티비티 메트릭인 컴퓨터 판독가능 저장 매체.
  35. 제34항에 있어서,
    상기 상이한 필터들은 필터 계수들의 상이한 세트들에 의해 정의되고, 상기 액티비티 메트릭의 상기 제1 범위에 대해, 상기 필터 계수들의 세트들 중 하나 이상은 상기 필터 정보로 직접 코딩되며, 상기 액티비티 메트릭의 상기 제2 범위에 대해, 상기 필터 계수들의 세트들 중 하나 이상은 상기 필터 정보로 예측 코딩되는 컴퓨터 판독가능 저장 매체.
  36. 제34항에 있어서,
    상기 명령들은, 디바이스로 하여금, 상기 픽셀 데이터를 인코딩된 비트스트림으로 인코딩하고, 상기 필터 정보를 인코딩하며, 상기 필터 정보를 상기 인코딩된 비트스트림의 일부분으로서 출력하게 하는 컴퓨터 판독가능 저장 매체.
  37. 제34항에 있어서,
    상기 명령들은, 디바이스로 하여금, 인코딩된 비트스트림으로부터 상기 픽셀 데이터를 디코딩하며, 상기 인코딩된 비트스트림의 일부분으로서 상기 필터 정보를 수신하면 상기 필터 정보를 디코딩하게 하는 컴퓨터 판독가능 저장 매체.
  38. 제34항에 있어서,
    상기 필터 정보는,
    특정 필터와 연관된 프레임 번호를 식별하는 정보;
    특정 필터와 연관된 프레임 타입을 식별하는 정보;
    특정 필터와 연관된 비디오 블록 타입을 식별하는 정보; 및
    특정 필터와 연관된 양자화 파라미터들을 식별하는 정보
    중 하나 이상을 더 포함하는 컴퓨터 판독가능 저장 매체.
  39. 제34항에 있어서,
    상기 액티비티 메트릭의 상기 제2 범위에 대해, 상기 필터 정보는 예측 코딩되는 상기 필터들 중 하나 이상을 예측하는데 이용된 참조 데이터를 식별하는 정보를 포함하는 컴퓨터 판독가능 저장 매체.
  40. 삭제
  41. 삭제
  42. 제34항에 있어서,
    상기 상이한 필터들은 필터 계수들의 상이한 세트들에 의해 정의되며, 상기 명령들은, 상기 프로세서로 하여금, 파라미터화된 가변 길이 코드들을 이용하여 상기 필터 계수들을 코딩하게 하는 컴퓨터 판독가능 저장 매체.
  43. 제34항에 있어서,
    상기 코딩된 유닛은,
    비디오 프레임,
    비디오 프레임의 일부분, 및
    픽처들의 그룹(GOP)
    중 하나를 포함하는 컴퓨터 판독가능 저장 매체.
KR1020117018491A 2009-01-15 2010-01-15 비디오 코딩시 액티비티 메트릭들에 기초한 필터 예측 KR101323546B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US14487309P 2009-01-15 2009-01-15
US61/144,873 2009-01-15
US17834609P 2009-05-14 2009-05-14
US61/178,346 2009-05-14
US12/687,487 2010-01-14
US12/687,487 US9143803B2 (en) 2009-01-15 2010-01-14 Filter prediction based on activity metrics in video coding
PCT/US2010/021239 WO2010083438A2 (en) 2009-01-15 2010-01-15 Filter prediction based on activity metrics in video coding

Publications (2)

Publication Number Publication Date
KR20110111476A KR20110111476A (ko) 2011-10-11
KR101323546B1 true KR101323546B1 (ko) 2013-10-29

Family

ID=42319083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117018491A KR101323546B1 (ko) 2009-01-15 2010-01-15 비디오 코딩시 액티비티 메트릭들에 기초한 필터 예측

Country Status (8)

Country Link
US (1) US9143803B2 (ko)
EP (1) EP2387851B1 (ko)
JP (1) JP5405596B2 (ko)
KR (1) KR101323546B1 (ko)
CN (1) CN102369731B (ko)
BR (1) BRPI1007143A2 (ko)
TW (1) TWI413416B (ko)
WO (1) WO2010083438A2 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10123050B2 (en) 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
WO2011113282A1 (en) * 2010-03-15 2011-09-22 Mediatek Singapore Pte. Ltd. Localized in-loop filtering with multiple filters in hybrid video coding
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
CN102948151B (zh) * 2010-06-17 2016-08-03 夏普株式会社 图像滤波装置、解码装置及编码装置
US20120044992A1 (en) * 2010-08-17 2012-02-23 Qualcomm Incorporated Low complexity adaptive filter
US9247265B2 (en) * 2010-09-01 2016-01-26 Qualcomm Incorporated Multi-input adaptive filter based on combination of sum-modified Laplacian filter indexing and quadtree partitioning
US9819966B2 (en) * 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
US9813738B2 (en) * 2010-10-05 2017-11-07 Hfi Innovation Inc. Method and apparatus of adaptive loop filtering
US9681132B2 (en) 2010-11-24 2017-06-13 Thomson Licensing Dtv Methods and apparatus for adaptive loop filtering in video encoders and decoders
US8958478B2 (en) * 2010-12-03 2015-02-17 Technische Universitaet Berlin Method and device for processing pixels contained in a video sequence
US9445126B2 (en) * 2011-01-05 2016-09-13 Qualcomm Incorporated Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter
US20120183078A1 (en) * 2011-01-14 2012-07-19 Samsung Electronics Co., Ltd. Filter adaptation with directional features for video/image coding
WO2012094750A1 (en) * 2011-01-14 2012-07-19 Ebrisk Video Inc. Adaptive loop filtering using multiple filter shapes
US8989261B2 (en) 2011-02-23 2015-03-24 Qualcomm Incorporated Multi-metric filtering
JP2012213128A (ja) 2011-03-24 2012-11-01 Sony Corp 画像処理装置および方法
KR20120118782A (ko) * 2011-04-19 2012-10-29 삼성전자주식회사 적응적 필터링을 이용한 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9008180B2 (en) * 2011-04-21 2015-04-14 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding images using a prediction method adopting in-loop filtering
KR102104594B1 (ko) * 2011-06-24 2020-04-24 엘지전자 주식회사 영상 정보 부호화 및 복호화 방법
NO335667B1 (no) * 2011-06-29 2015-01-19 Cisco Systems Int Sarl Metode for videokomprimering
AU2012303976B2 (en) * 2011-08-31 2015-08-13 Mediatek Inc. Method and apparatus for adaptive loop filter with constrained filter coefficients
US9167269B2 (en) * 2011-10-25 2015-10-20 Qualcomm Incorporated Determining boundary strength values for deblocking filtering for video coding
WO2013081085A1 (en) * 2011-11-28 2013-06-06 Canon Kabushiki Kaisha Moving image encoding apparatus, control method thereof and computer program
JP2014197723A (ja) * 2012-01-06 2014-10-16 ソニー株式会社 画像処理装置および方法
US9445088B2 (en) * 2012-04-09 2016-09-13 Qualcomm Incorporated LCU-based adaptive loop filtering for video coding
JP6159225B2 (ja) * 2013-10-29 2017-07-05 日本電信電話株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム及び画像復号プログラム
US9584395B1 (en) 2013-11-13 2017-02-28 Netflix, Inc. Adaptive metric collection, storage, and alert thresholds
US10142636B2 (en) * 2014-06-09 2018-11-27 Sony Corporation Communication system with coding mechanism and method of operation thereof
US10057574B2 (en) * 2015-02-11 2018-08-21 Qualcomm Incorporated Coding tree unit (CTU) level adaptive loop filter (ALF)
WO2016204372A1 (ko) * 2015-06-18 2016-12-22 엘지전자 주식회사 영상 코딩 시스템에서 필터 뱅크를 이용한 영상 필터링 방법 및 장치
US10764574B2 (en) * 2015-07-01 2020-09-01 Panasonic Intellectual Property Management Co., Ltd. Encoding method, decoding method, encoding apparatus, decoding apparatus, and encoding and decoding apparatus
CN105049846B (zh) * 2015-08-14 2019-05-21 广东中星微电子有限公司 图像和视频编解码的方法和设备
CA3060201C (en) 2017-04-13 2023-09-19 Lg Electronics Inc. Image encoding/decoding method and device therefor
GB2572595B (en) * 2018-04-04 2023-03-22 British Broadcasting Corp Video encoding and decoding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040161035A1 (en) * 2001-04-25 2004-08-19 Thomas Wedi Device for interpolating of scanning values and image encoder and decoder
WO2008084378A2 (en) * 2007-01-09 2008-07-17 Nokia Corporation Adaptive interpolation filters for video coding
US20100142844A1 (en) 2008-12-10 2010-06-10 Nvidia Corporation Measurement-based and scalable deblock filtering of image data

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS612482A (ja) 1984-06-15 1986-01-08 Mitsubishi Electric Corp サブナイキスト標本化フイルタ
CA1270322A (en) 1983-12-22 1990-06-12 Kotaro Asai Adaptive comb filter
JP2673778B2 (ja) 1994-02-22 1997-11-05 国際電信電話株式会社 動画像の復号化における雑音低減装置
JPH0970044A (ja) 1995-08-31 1997-03-11 Sony Corp 画像信号処理装置および方法
US5798795A (en) 1996-03-01 1998-08-25 Florida Atlantic University Method and apparatus for encoding and decoding video signals
US5844613A (en) 1997-03-17 1998-12-01 Microsoft Corporation Global motion estimator for motion video signal encoding
KR100265722B1 (ko) 1997-04-10 2000-09-15 백준기 블럭기반영상처리방법및장치
KR20010032337A (ko) 1998-09-22 2001-04-16 마츠시타 덴끼 산교 가부시키가이샤 영상신호 부호화방법, 영상신호 부호화장치 및 프로그램기록매체
US6421720B2 (en) 1998-10-28 2002-07-16 Cisco Technology, Inc. Codec-independent technique for modulating bandwidth in packet network
US6529638B1 (en) 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
US7003038B2 (en) 1999-09-27 2006-02-21 Mitsubishi Electric Research Labs., Inc. Activity descriptor for video sequences
FI117533B (fi) 2000-01-20 2006-11-15 Nokia Corp Menetelmä digitaalisten videokuvien suodattamiseksi
US7203234B1 (en) 2000-03-31 2007-04-10 Sharp Laboratories Of America, Inc. Method of directional filtering for post-processing compressed video
US7289154B2 (en) 2000-05-10 2007-10-30 Eastman Kodak Company Digital image processing method and apparatus for brightness adjustment of digital images
US6504872B1 (en) 2000-07-28 2003-01-07 Zenith Electronics Corporation Down-conversion decoder for interlaced video
US20030026495A1 (en) 2001-03-07 2003-02-06 Gondek Jay Stephen Parameterized sharpening and smoothing method and apparatus
US7266150B2 (en) 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
WO2003030556A1 (en) 2001-09-18 2003-04-10 Matsushita Electric Industrial Co., Ltd. Image encoding method and image decoding method
US6983079B2 (en) 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
KR100418437B1 (ko) * 2001-12-24 2004-02-14 (주)씨앤에스 테크놀로지 멀티미디어 신호처리를 위한 영상복원 프로세서
BR0304545A (pt) 2002-01-14 2004-11-03 Nokia Corp Método de codificação das imagens em uma sequência de vìdeo digital para fornecer os dados de vìdeo codificados, codificador de vìdeo, método de decodificação dos dados indicativos de uma sequência de vìdeo digital, decodificador de vìdeo, e, sistema de decodificação de vìdeo
JP4102973B2 (ja) 2002-04-24 2008-06-18 日本電気株式会社 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
EP1500281A2 (de) 2002-05-02 2005-01-26 Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Forschung E.V. Kodierung von transformations-koeffizienten in bild- oder videokodierern
US7903179B2 (en) 2002-06-25 2011-03-08 Panasonic Corporation Motion detection device and noise reduction device using that
BRPI0303901B1 (pt) 2002-07-11 2018-03-06 Godo Kaisha Ip Bridge 1 “Método de determinação de poder de filtragem para determinar um poder de filtragem para remover uma distorção de codificação entre blocos que constituem uma imagem, método de decodificação de imagem móvel para decodificar os dados de imagem móvel codificados, aparelho de determinação de poder de filtragem, e aparelho de codificação de imagem móvel”
US7391812B2 (en) 2002-07-14 2008-06-24 Apple Inc. Adaptively post filtering encoded video
WO2004082290A1 (ja) 2003-03-10 2004-09-23 Mitsubishi Denki Kabushiki Kaisha 映像信号符号化装置、および映像信号符号化方法
US7430335B2 (en) 2003-08-13 2008-09-30 Apple Inc Pre-processing method and system for data reduction of video sequences and bit rate reduction of compressed video sequences using spatial filtering
US8625680B2 (en) 2003-09-07 2014-01-07 Microsoft Corporation Bitstream-controlled post-processing filtering
BRPI0414397A (pt) 2003-09-17 2006-11-21 Thomson Licensing geração de imagem de referência adaptativa
US7822286B2 (en) 2003-11-07 2010-10-26 Mitsubishi Electric Research Laboratories, Inc. Filtering artifacts in images with 3D spatio-temporal fuzzy filters
US7437013B2 (en) 2003-12-23 2008-10-14 General Instrument Corporation Directional spatial video noise reduction
US7453938B2 (en) 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
US8165389B2 (en) 2004-03-15 2012-04-24 Microsoft Corp. Adaptive interpolation with artifact reduction of images
JP4468734B2 (ja) 2004-04-27 2010-05-26 オリンパス株式会社 映像信号処理装置と映像信号処理プログラム
US7460596B2 (en) 2004-04-29 2008-12-02 Mediatek Incorporation Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US20070230565A1 (en) 2004-06-18 2007-10-04 Tourapis Alexandros M Method and Apparatus for Video Encoding Optimization
CN101189882B (zh) 2004-07-20 2012-08-01 高通股份有限公司 用于视频压缩的编码器辅助帧率上变换(ea-fruc)的方法和装置
US20060028562A1 (en) 2004-08-09 2006-02-09 Martin Schmitz Fast area-selected filtering for pixel-noise and analog artifacts reduction
US7370126B2 (en) 2004-11-03 2008-05-06 Cisco Technology, Inc. System and method for implementing a demand paging jitter buffer algorithm
US7634148B2 (en) 2005-01-07 2009-12-15 Ntt Docomo, Inc. Image signal transforming and inverse-transforming method and computer program product with pre-encoding filtering features
US8149926B2 (en) * 2005-04-11 2012-04-03 Intel Corporation Generating edge masks for a deblocking filter
EP1886502A2 (en) 2005-04-13 2008-02-13 Universität Hannover Method and apparatus for enhanced video coding
US7680355B2 (en) 2005-05-02 2010-03-16 Intel Corporation Detection of artifacts resulting from image signal decompression
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US20060285597A1 (en) 2005-06-20 2006-12-21 Flextronics International Usa, Inc. Reusing interpolated values in advanced video encoders
US8208564B2 (en) 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
US7778169B2 (en) 2005-09-02 2010-08-17 Cisco Technology, Inc. Packetizing media for a time slotted communication system
US7894522B2 (en) 2005-09-16 2011-02-22 Sony Corporation Classified filtering for temporal prediction
JP4455487B2 (ja) 2005-12-16 2010-04-21 株式会社東芝 復号化装置及び復号化方法及びプログラム
US8189934B2 (en) 2006-03-27 2012-05-29 Panasonic Corporation Image coding apparatus and image decoding apparatus
BRPI0714233A2 (pt) 2006-07-18 2013-01-15 Thomson Licensing mÉtodos e aparelho para filtragem de referÊncia adaptativa
US8253752B2 (en) 2006-07-20 2012-08-28 Qualcomm Incorporated Method and apparatus for encoder assisted pre-processing
US8731064B2 (en) 2006-09-11 2014-05-20 Apple Inc. Post-processing for decoder complexity scalability
US20080075165A1 (en) 2006-09-26 2008-03-27 Nokia Corporation Adaptive interpolation filters for video coding
DE602007010514D1 (de) 2006-12-18 2010-12-23 Koninkl Philips Electronics Nv Bildkomprimierung und dekomprimierung
WO2008148272A1 (en) 2007-06-04 2008-12-11 France Telecom Research & Development Beijing Company Limited Method and apparatus for sub-pixel motion-compensated video coding
WO2009045683A1 (en) 2007-09-28 2009-04-09 Athanasios Leontaris Video compression and tranmission techniques
EP2048886A1 (en) 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
WO2009088340A1 (en) * 2008-01-08 2009-07-16 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive filtering
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
EP2266321B1 (en) 2008-04-23 2017-12-13 Telefonaktiebolaget LM Ericsson (publ) Template-based pixel block processing
US10123050B2 (en) 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
US8290782B2 (en) 2008-07-24 2012-10-16 Dts, Inc. Compression of audio scale-factors by two-dimensional transformation
US8736751B2 (en) * 2008-08-26 2014-05-27 Empire Technology Development Llc Digital presenter for displaying image captured by camera with illumination system
US8150191B2 (en) * 2008-10-14 2012-04-03 Interra Systems Inc. Method and system for calculating blur artifacts in videos using user perception threshold
US8792564B2 (en) 2008-10-28 2014-07-29 Sony Corporation Adaptive preprocessing method using feature-extracted video maps
WO2010102935A1 (en) 2009-03-09 2010-09-16 Thomson Licensing Estimation of the prediction mode for the intra coding mode
EP2262267A1 (en) 2009-06-10 2010-12-15 Panasonic Corporation Filter coefficient coding scheme for video coding
WO2011126759A1 (en) 2010-04-09 2011-10-13 Sony Corporation Optimal separable adaptive loop filter
US9094658B2 (en) 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US8989261B2 (en) 2011-02-23 2015-03-24 Qualcomm Incorporated Multi-metric filtering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040161035A1 (en) * 2001-04-25 2004-08-19 Thomas Wedi Device for interpolating of scanning values and image encoder and decoder
WO2008084378A2 (en) * 2007-01-09 2008-07-17 Nokia Corporation Adaptive interpolation filters for video coding
US20100142844A1 (en) 2008-12-10 2010-06-10 Nvidia Corporation Measurement-based and scalable deblock filtering of image data

Also Published As

Publication number Publication date
BRPI1007143A2 (pt) 2018-03-13
CN102369731A (zh) 2012-03-07
JP5405596B2 (ja) 2014-02-05
EP2387851B1 (en) 2013-11-27
US20100177822A1 (en) 2010-07-15
WO2010083438A8 (en) 2011-11-17
TW201119398A (en) 2011-06-01
EP2387851A2 (en) 2011-11-23
WO2010083438A2 (en) 2010-07-22
TWI413416B (zh) 2013-10-21
WO2010083438A3 (en) 2010-11-11
US9143803B2 (en) 2015-09-22
JP2012515514A (ja) 2012-07-05
KR20110111476A (ko) 2011-10-11
CN102369731B (zh) 2015-03-18

Similar Documents

Publication Publication Date Title
KR101323546B1 (ko) 비디오 코딩시 액티비티 메트릭들에 기초한 필터 예측
US9049444B2 (en) Mode dependent scanning of coefficients of a block of video data
AU2012231675B2 (en) Bi-predictive merge mode based on uni-predictive neighbors in video coding
KR101273149B1 (ko) 비디오 코딩에서 보간 필터링, 인-루프 필터링 및 포스트-필터링을 위한 결합된 방식
KR101168843B1 (ko) 수평 및 수직 대칭에 기초한 필터 계수들의 비디오 코딩
EP2612497B1 (en) Multi-input adaptive filter based on combination of sum-modified laplacian filter indexing and quadtree partitioning
US9445126B2 (en) Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter
US20120044986A1 (en) Low complexity adaptive filter
CA2830242C (en) Bi-predictive merge mode based on uni-predictive neighbors in video coding

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: 20160929

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170929

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180928

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 7