KR102060586B1 - 복호 장치 - Google Patents

복호 장치 Download PDF

Info

Publication number
KR102060586B1
KR102060586B1 KR1020197007933A KR20197007933A KR102060586B1 KR 102060586 B1 KR102060586 B1 KR 102060586B1 KR 1020197007933 A KR1020197007933 A KR 1020197007933A KR 20197007933 A KR20197007933 A KR 20197007933A KR 102060586 B1 KR102060586 B1 KR 102060586B1
Authority
KR
South Korea
Prior art keywords
filter
image
control variable
filter coefficient
coefficient
Prior art date
Application number
KR1020197007933A
Other languages
English (en)
Other versions
KR20190031601A (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 KR20190031601A publication Critical patent/KR20190031601A/ko
Application granted granted Critical
Publication of KR102060586B1 publication Critical patent/KR102060586B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/002
    • G06T5/003
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/73Deblurring; Sharpening
    • 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/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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • G06T2207/20012Locally adaptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

본 발명은, 입력 화상에서의 필터 영역에 속하는 각 화소의 화소값과 필터 계수 벡터 V로부터, 출력 화상에서의 대상 화소의 화소값을 산출하는 적응 필터(100)는, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 상기 필터 계수 벡터 V를 변경하는 제어 변수 결정부(120)를 구비하고 있다.

Description

복호 장치{DECODING DEVICE}
본 발명은, 화상의 필터링을 행하는 화상 필터에 관한 것이다. 또한, 그러한 화상 필터를 구비하고 있는 부호화 장치 및, 복호 장치에 관한 것이다. 또한, 그러한 부호화 장치에 의해 생성되어, 복호 장치에 의해 참조되는 부호화 데이터의 데이터 구조에 관한 것이다.
동화상을 효율적으로 전송 또는 기록하기 위해서, 동화상 부호화 장치가 사용되고 있다. 구체적인 동화상 부호화 방식으로서는, 예를 들어 H.264/MPEG-4AVC 및, KTA 소프트웨어에 채용되고 있는 방식 등을 들 수 있다.
이러한 부호화 방식에서, 동화상을 구성하는 화상(픽처)은, 화상을 분할함으로써 얻어지는 슬라이스, 슬라이스를 분할함으로써 얻어지는 매크로 블록 및 매크로 블록을 분할함으로써 얻어지는 블록으로 이루어지는 계층구조에 의해 관리되고, 보통 블록마다 부호화된다.
비특허문헌 1에는, 복호 화상에 대하여 필터링을 행하는 ALF(Adaptive Loop Filter)라고 불리는 필터가 개시되어 있다. 당해 ALF는, 복호 화상 상의 슬라이스를 단위 영역으로 해서 단위 영역마다, ALF가 적용된 복호 화상과 원 화상과의 오차가 최소가 되는 필터 계수를 정하고, 당해 단위 영역에 대하여, 당해 필터 계수에 기초한 필터링을 실시하는 것이다.
ITU-T Telecommunication Standardization Sector VCEG-AI 18, 2008(2008년 7월 공개)
그러나, 상기 ALF에서는, 각 단위 영역 상에서 일정한 필터 계수를 사용하여 필터링을 행하기 때문에, 단위 영역 상에서 화상의 특성이 균일하지 않을 경우에는, 적절한 필터링을 행하는 것이 곤란하다는 문제를 갖고 있다.
본 발명은, 상기의 문제를 감안하여 이루어진 것이며, 그 목적은, 단위 영역마다 정해진 필터 계수를 사용하면서, 단위 영역 내에서 화상의 특성이 균일하지 않은 경우에도, 보다 적절한 필터링을 행할 수 있는 화상 필터를 실현하는 데 있다.
상기의 문제를 해결하기 위해서, 본 발명에 따른 화상 필터는, 입력 화상에서의 대상 영역에 속하는 각 화소의 화소값과 필터 계수 벡터로부터, 출력 화상에서의 대상 화소의 화소값을 산출하는 화상 필터이며, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 상기 필터 계수 벡터를 변경하는 필터 계수 벡터 변경 수단을 구비하고 있는 것을 특징으로 하고 있다.
상기의 구성에 따르면, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 상기 필터 계수 벡터를 변경하는 필터 계수 벡터 변경 수단을 구비하고 있기 때문에, 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라, 상기 대상 영역마다 적절한 필터링을 행할 수 있다는 효과를 발휘한다.
이상과 같이, 본 발명에 따른 화상 필터는, 입력 화상에서의 대상 영역에 속하는 각 화소의 화소값과 필터 계수 벡터로부터, 출력 화상에서의 대상 화소의 화소값을 산출하는 화상 필터이며, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 상기 필터 계수 벡터를 변경하는 필터 계수 벡터 변경 수단을 구비하고 있다. 따라서, 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라, 상기 대상 영역마다 적절한 필터링을 행할 수 있다.
도 1은 실시 형태에 관한 적응 필터의 구성을 도시하는 블록도다.
도 2는 실시 형태에 관한 적응 필터의 효과를 설명하기 위한 것이고, 복수의 대상 영역을 포함하는 단위 영역을 도시하는 도면이다.
도 3은 실시 형태에 관한 적응 필터에서 필터 계수 산출 처리의 흐름의 일례를 도시하는 흐름도다.
도 4는 실시 형태에 관한 적응 필터에서 필터 계수 산출 처리의 흐름의 다른 예를 도시하는 흐름도다.
도 5는 실시 형태에 관한 적응 필터를 구비한 동화상 부호화 장치의 구성을 도시하는 블록도다.
도 6은 실시 형태에 관한 적응 필터가 출력하는 필터 계수 정보의 구성을 도시하는 도면이다. (a)는 필터 계수 정보의 제1의 예를 도시하는 것이며, (b)는 필터 계수 정보의 제2의 예를 도시하는 것이며, (c)는 필터 계수 정보의 제3의 예를 도시하는 것이다.
도 7은 실시 형태에 관한 동화상 부호화 장치가 구비하는 인터 예측 화상 생성부이며, 실시 형태에 관한 적응 필터를 구비한 인터 예측 화상 생성부의 구성을 도시하는 블록도다.
도 8은 실시 형태에 관한 적응 필터를 구비한 동화상 복호 장치의 구성을 도시하는 블록도다.
도 9는 실시 형태에 관한 동화상 복호 장치가 구비하는 인터 예측 화상 생성부이며, 실시 형태에 관한 적응 필터를 구비한 인터 예측 화상 생성부의 구성을 도시하는 블록도다.
도 10은 실시 형태에 관한 동화상 부호화 장치에 의해 생성되어, 실시 형태에 관한 동화상 복호 장치에 입력되는 부호화 데이터의 비트 스트림을 도시하는 도면이다.
도 11은 실시 형태에 관한 동화상 부호화 장치에 의해 생성되어, 실시 형태에 관한 동화상 복호 장치에 입력되는 부호화 데이터에 포함되는 필터 계수 정보의 구성을 보다 구체적으로 도시하는 도면이다.
실시 형태에 관한 적응 필터(100)의 구성에 대해서, 도 1을 참조하여 설명한다.
도 1은, 적응 필터(100)의 구성을 도시하는 블록도다. 도 1에 도시한 바와 같이, 적응 필터(100)는, 필터부(110) 및, 제어 변수 결정부(120)를 구비하고 있다.
적응 필터(100)는, 화상 데이터의 필터링에 사용할 수 있는 화상 필터다. 적응 필터(100)는, 화상 데이터가 나타내는 화상 상의 단위 영역이며 필터링의 대상인 단위 영역에 필터링을 행할 때, 당해 단위 영역을 분할해서 얻어지는 영역(필터 대상 영역 T)마다 적절하게 필터링을 행할 수 있다.
적응 필터(100)는, 예를 들어 동화상 데이터를 부호화하는 동화상 부호화 장치 또는, 부호화된 동화상 데이터를 복호하는 동화상 복호 장치 등에 적절하게 사용할 수 있다.
적응 필터(100)는, 입력되는 화상 데이터(#100)의 각 화소값에 대해서, 일정한 영역에 포함되는 화소값의, 필터 계수에 기초한 가중 선형합을 취함으로써, 출력 화상 데이터(#110a)를 생성하여, 출력한다.
또한, 적응 필터(100)에는, 교사 데이터(#200)가 입력된다. 여기서, 교사 데이터(#200)란, 후술하는 바와 같이, 상기 필터 계수를 결정할 때 참조되는 교사 화상을 나타내는 화상 데이터다. 교사 데이터(#200)의 구체적인 예로서는, 예를 들어 적응 필터(100)를 구비하는 화상 부호화 장치에 입력되는 입력 화상 데이터를 들 수 있다.
또한, 적응 필터(100)는, 출력 화상 데이터(#110a)와 함께, 필터링에 사용한 필터 계수에 관한 정보인 필터 계수 정보(#110b)를 출력한다.
적응 필터(100)는, 화상 데이터(#100) 및, 화상 데이터(#100)의 사이드 정보(#100a)에 기초하여, 상기 일정한 영역마다 상기 필터 계수를 변경하면서 상기 가중 선형합을 취한다.
또한, 화상 데이터(#100)의 사이드 정보(#100a)란, 화상 데이터(#100)를 생성하기 위해서 필요한 부호화 데이터로부터 얻어지는 정보를 가리킨다. 즉, 예측 잔차의 생성에 필요한 변환 계수, 주파수 변환의 크기, 양자화 파라미터의 정보, 예측 화상을 생성하기 위해서 필요한 예측 모드, 움직임 보상의 크기, 움직임 벡터, 참조 프레임 등을 가리키는 정보, 가중치 부여 예측의 가중치 정보, 블록 및 블록 경계의 위치에 관한 정보 등을 모두 포함한다.
또한, 필터 계수 정보(#110b)란, 필터 계수와 필터 계수의 생성에 필요한 정보를 포함하는 정보다. 구체예에 대해서는 후술한다.
또한, 여기에서는 필터 대상 영역 T를 MT×NT의 직사각형으로 하지만, 필터 대상 영역 T는, 단일 화소로 구성되는 것이어도 좋고, 블록이어도 매크로 블록이어도 상관없다. 또한 필터 대상 영역 T의 형상은, 직사각형에 한하지 않고, 마름모꼴, 원형, 수직/수평 선분, 사선 선분 또는 그 외 임의의 형상이어도 좋다. 또한, 필터 대상 영역 T의 크기는, 단위 영역 내에서 고정으로 할 필요는 없고 가변이어도 좋다. 예를 들어, 변환이나 움직임 보상에 가변 블록 사이즈를 채용한 경우에는, 그 가변 블록을 영역 T로 하는 것이 적당하다.
이하에서는, 적응 필터(100)의 각 부에 대해서 설명한다.
제어 변수 결정부(120)는, 화상 데이터(#100) 및, 화상 데이터(#100)의 사이드 정보(#100a)를 받아, 제어 변수(#120a) 및, 제어 기저(#120b)를 필터부(110)에 공급한다.
필터부(110)는, 화상 데이터(#100)의 각 화소값에 대해서, 일정한 영역에 포함되는 화소값의, 필터 계수에 기초한 가중 선형합 및 오프셋값의 가산 등을 취함으로써, 출력 화상 데이터(#110a)를 산출한다.
보다 구체적으로 필터부(110)는, 출력 화상 데이터(#110a)의 좌표 (x', y')에서의 화소값 SO(x', y')를 수학식 1에 의해 나타내지는 가중 선형합에 의해 산출한다.
[수학식 1]
Figure 112019028081698-pat00001
여기서 SI(x, y)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소값을 나타내고 있고, h(i, j)는, 화소값 SI(x+i, y+j)에 곱해지는 필터 계수를 나타내고 있다. 또한, R은, 상기 가중 선형합의 대상이 되는 화소에 의해 구성되는 영역(이하, 필터 참조 영역이라고 함)을 나타내고 있다. 보다 구체적으로 R은, 상기 가중 선형합의 대상이 되는 화소의 상대 좌표의 세트를 나타내고 있다. 예를 들어, 좌표 (x, y)에서의 화소를 중심으로 한 3×3 탭의 필터링을 행하는 경우에는, R= {(-1, -1), (-1, 0), (-1, 1), (0, -1), (0, 0), (0, 1), (1, -1), (1, 0), (1, 1)}이다. 또한, hoffset은, 화소값에 가산하는 오프셋값을 나타내고 있다. 또한, 좌표 (x', y')와 좌표 (x, y)는 동일한 좌표이어도 좋고, 1 대 1의 대응을 갖고 있으면, 상이한 좌표이어도 좋다. 또한, 좌표 (x', y')와 좌표 (x, y)의 구체적인 대응 관계는, 본 발명을 한정하는 것이 아니고, 적응 필터(100)가 실장되는 화상 처리 장치의 구체적인 구성에 의해 정해진다.
일반적으로, M×N 탭의 필터링은, 필터 계수 h(i, j)를 각 성분으로 갖는 M×N 행렬인 필터 계수 행렬 H와, 상기 오프셋 hoffset에 의해 특징지을 수 있다.
또한, 이하에서는, 필터 참조 영역이 M×N 탭의 직사각 형상의 영역인 경우를 예로 들어 설명하겠으나, 본 발명은 이것에 한정되는 것이 아니라, 마름모꼴, 원형, 수직/수평 선분, 사선 선분 또는 그 외 임의의 형상을 갖는 필터 참조 영역 R에 대해서도 적용할 수 있다.
이하에서는, 상기 필터 계수 행렬 H의 각 성분과 상기 오프셋 hoffset을 M×N+1 차원의 벡터로 맵핑한 벡터 기법을 사용해서 상기 필터 계수 및, 상기 오프셋을 표현하기로 한다.
구체적으로는, 이하의 수학식 2
[수학식 2]
Figure 112019028081698-pat00002
에 의해서 나타내지는 필터 계수 행렬 H 및, 오프셋 hoffset을, 이하의 수학식 3에 의해 정의되는 M×N+1 차원의 필터 계수 벡터 V에 맵핑한다.
[수학식 3]
Figure 112019028081698-pat00003
수학식 3에 나타낸 바와 같이, 필터 계수 벡터 V의 1 내지 M×N번째의 성분은, 필터 계수 h (i, j)를 나타내고 있고, 필터 계수 벡터 V의 마지막 성분(이하 오프셋 성분이라고 함)은, 오프셋 hoffset을 나타내고 있다.
이러한 기법을 사용함으로써, 필터 계수 h (i, j) 및, 오프셋 hoffset을 통일되게 나타낼 수 있다.
또한, 필터 계수 벡터 V의 각 성분을, 1차원적인 첨자 K를 사용하여, v (K)라고 나타내기로 한다. 예를 들어, 상기의 예에서는, v (1)=h (1, 1), v (2)=h (1, 2), …, v (M×N)=v (M, N) 및, v (M×N+1)=hoffset이다.
또한, 일반적으로 M×N 탭에 대한, 1차원 첨자 K와, 2차원 첨자 (i, j)와의 관계는, i=K%M+1, j=K/M+1과 같이 나타낼 수도 있다. 여기서, %는 잉여를 나타내고 있다. 즉 x%y는 x를 y로 나눈 나머지를 나타내고 있다. 또한, x/y는, x를 y로 나눈 몫에 대하여, 소수점 이하를 버리는 조작(즉, Floor 함수를 연산하는 조작)을 행한 결과를 나타내고 있다.
이상의 기법을 사용하면, 수학식 1은, 이하의 수학식 4에 의해 나타낼 수 있다.
[수학식 4]
Figure 112019028081698-pat00004
여기서 SO(X'), 및, SI(X+K)는, 각각 SO(x', y'), 및, SI(x+i, y+j)에 대응한, 상기와 마찬가지의 1차원 기법이다. 또한, SI(X+K)의 오프셋 성분을 1이라고 정의한다. 즉, M×N 탭의 필터링에 대해서는, K=M×N+1일 때 SI(X+K)=1이라고 정의한다. 또한, K에 관한 합은, 상기 영역 R과 더불어, 오프셋 성분도 더하는 것으로 한다. 다시 말해, 상기 영역 R'에 관한 합은, 1차원 기법에 의해 나타낸 상기 필터 참조 영역 R에 관한 합과 함께, 오프셋 성분에 관한 합도 포함하기로 한다.
또한, 필터 계수 벡터 V의 1 내지 M×N번째의 성분은, 모두 서로 독립되어도 좋고, 그렇지 않아도 좋다. 예를 들어, 필터 계수 벡터 V를, 좌우 대칭, 상하 대칭, 점 대칭으로 제한하는 것이 종래 행해지고 있다. 예를 들어, 3×1 탭(오프셋을 포함해서 4 탭)으로 좌우 대칭인 경우에는, 필터 계수 벡터 V는, 이하와 같이 표현할 수 있다.
[수학식 5]
Figure 112019028081698-pat00005
여기서, w1, w2, w3은 필터 계수 벡터 W의 요소다. 이 예에서는, 4차의 필터 계수 벡터 V는, 3차의 필터 계수 벡터 W로 표현되고 있고, 자유도가 하나 감소한다. 이때, w1, w2, w3에 관한 벡터를 기저라고 부른다. 기저가 단위 기저인 경우에는 W=V가 된다.
자유도가 감소하는 만큼, 필터의 표현 능력은 저하하지만, 필터를 표현하기 위한 파라미터(이하, 필터 파라미터라고 부른다. 여기에서는 필터 계수 벡터 W의 각 성분)의 수가 감소한다. 이에 의해 부호량을 저감시킬 수 있고, 종래, 점대칭 등이 자주 이용된다.
여기서, 필터 파라미터로부터 필터 계수 벡터 V를 구하는 함수를, 필터 산출 함수 F라고 부르기로 한다. 수학식 5는 필터 산출 함수 F의 일례다. 또한, 기저는, 상기와 같은 대칭 기저에 한정하지 않고, 다른 기저라도 상관없다.
또한, 상기의 설명에서는, 필터 계수 벡터 V(또는 필터 계수 행렬 H)에 기초하는, 가중 선형합을 예로 들어 설명했지만, 본 발명은 이것에 한정되는 것은 아니다. 즉, 본 발명에 따른 적응 필터(100)에서의 필터링은, 가중 선형합에 한정되는 것이 아니고, 필터 계수 벡터 V의 각 성분을 사용한 가중 비선형합이어도 좋다.
본 실시 형태에 관한 적응 필터(100)는, 필터 계수 벡터 V를, 사이드 정보(#100a), 화상 데이터(#100)에 포함되는 각 화소값, 화상 데이터(#100)에 포함되는 각 화소의 위치, 또는 그 함수에 따라 전환할 수 있다.
<적응 필터(100)에 의한 필터링 처리의 예>
(스킵 모드인지 여부에 따라서 필터 계수의 전환을 행하는 예)
이하에서는, 상술한 기법을 사용하여, 적응 필터(100)에 의한 필터 계수 벡터의 산출 및, 전환 방법의 예에 대해서 설명한다. 특히, 적응 필터(100)가, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 H.246/AVC 규격에서의 스킵 모드가 적용된 매크로 블록에 속해 있는지 여부에 따라, 필터 계수 벡터를 전환하는 경우를 예로 들어 설명한다.
(스텝 S1)
우선, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가, 스킵 모드가 적용된 매크로 블록에 속해 있는지 여부에 따라서 0 또는 1을 취하는 제어 변수 v_skip의 값을 1로 설정하고, 당해 제어 변수 v_skip을 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가, 스킵 모드가 적용된 매크로 블록에 속해 있는지 여부의 정보(이하, 스킵 정보라고 부름)에 관련된 필터 기저 b_skip을 필터부(110)에 대하여 출력한다.
여기서, 필터 기저 b_skip은, 필터 계수 벡터 V의 각 성분에 대응한 기저 성분으로 구성되는 기저 벡터다. 즉, 필터 기저 b_skip는, M×N 탭의 필터링에 대해서는, M×N+1 차원의 벡터다.
필터 기저 b_skip으로서는, 예를 들어 에지 강조/바림 필터 기저를 적절하게 사용할 수 있다. 여기서, 에지 강조/바림 필터 기저란, 에지를 강조 혹은 에지를 희미하게 하는 효과가 있는 필터 기저이며, 예를 들어 2회 미분 필터의 기저 등이 포함된다. 이하, 에지 강조/바림 필터 기저를 간단히 에지 강조 필터 기저라고도 기재하는데, 바림 효과도 구비하는 것을 강조해 둔다.
에지 강조 필터 기저의 예로서는, 예를 들어 3×3 탭인 경우, 가로 방향 에지 강조 기저(0, 0, 0, -1, 2, -1, 0, 0, 0, 0), 세로 방향 에지 강조 기저(0, -1, 0, 0, 2, 0, 0, -1, 0, 0), 표준 라플라스 기저(-1, -1, -1, -1, 8, -1, -1, -1, -1, 0), 변형된 라플라스 기저(-1, -2, -1, -2, 12, -2, -1, -2, -1, 0), 제1 경사 방향 라플라스 기저(-1, -2, 0, -2, 6, 0, -1, 0, 0, 0) 및, 제2 경사 방향 라플라스 기저(0, 0, -1, 0, 6, -2, 0, -2, -1, 0) 등을 들 수 있다.
제어 변수 결정부(120)는, 필터 기저 b_skip로서, 에지 강조 필터 기저 또는, 그 선형합을 필터부(110)에 대하여 출력한다.
(스텝 S2)
필터부(110)는, 슬라이스마다 또는, 프레임마다, 필터 계수 벡터 V를 결정한다. 여기서, 필터 계수 벡터 V의 각 성분 v (k)는,
[수학식 6]
v (K)=w (K)+a_skip×v_skip×b_skip (K)
에 의해서 나타내진다. 여기서, w (K)는, 필터 계수 벡터 W(고정 계수 벡터)의 각 성분이며, b_skip (K)은, 상술한 필터 기저(고정 벡터) b_skip의 각 성분이다. 또한, v_skip은 상술한 제어 변수(가변 계수)이며, 스텝 S1에서, v_skip=1로 설정된 제어 변수다. 또한, a_skip은, 제어 변수 v_skip에 관련된 계수(고정 계수)이다.
또한, 고정 벡터 및 고정 계수에서의 「고정」은, 화소의 위치에 따라 변화하지 않는 것을 의미하고, 가변 계수의 「가변」이란 화소의 위치에 따라 변화하는 것을 의미한다.
수학식 6은, 제어 변수를 사용한 필터 산출 함수 F의 일례이며, 함수 F의 필터 파라미터는, 고정 계수 벡터, 고정 계수, 제어 변수다.
필터부(110)는, 슬라이스나 프레임 등의 단위 영역마다, 필터 파라미터 중, 영역에 의하지 않고 고정인 것(고정 필터 파라미터라고 부름)을 결정한다. 여기에서는, 고정 계수 벡터 W의 각 성분 w (K) 및, 고정계수 a_skip을 결정한다.
수학식 6에서, 에지 강조 기저 b_skip(K)에 관한 계수가 양인 경우(여기서는 a_skip이 양인 경우에 대응)에는, 제어 변수 v_skip가 1이 되는 영역에서 에지 강조 효과를 얻을 수 있고, 반대로 b_skip(K)에 관한 계수가 음인 경우(여기서는 a_skip이 음인 경우에 대응)에는, v_skip이 1이 되는 영역에서 바림 효과를 얻을 수 있다.
필터부(110)는, 고정 필터 파라미터를, 예를 들어 통계적 방법에 의해 결정할 수 있다.
고정 필터 파라미터의 구체적인 결정 방법의 예로서는, 이하의 수학식 7에 의해 부여되는, 교사 데이터(#200)의 각 화소값으로부터의 제곱 오차 E를 최소로 하는 것과 같은 고정 필터 파라미터를 구하는 방법을 들 수 있다.
[수학식 7]
Figure 112019028081698-pat00006
여기서, S (X)는, 교사 데이터(#200)의 좌표(x, y)에서의 화소값을 나타내고 있다. 또한, X에 관한 합은, 단위 영역에 포함되는 모든 화소에 관한 합이다. 즉, 고정 필터 파라미터를 슬라이스마다 구할 경우에는, 당해 슬라이스에 포함되는 모든 화소에 관한 합이 된다. 또한, 여기에서는 단위 영역에 포함되는 모든 화소라고 하고 있지만, 필터부(110)에서 처리하는 영역을 한정하는 경우에는, 일부의 화소로 해도 좋다. 예를 들어, 필터부(110)를 적응적인 디블로킹 필터로서 사용하는 경우에는, 블록 경계와의 거리가 일정 이하의 화소만으로 처리 영역을 한정하고, 그 처리 영역만으로부터 고정 필터 파라미터를 결정하는 것이 적당하다. 또한, 필터링을 행하는 단위 영역 중에, 필터링을 행하지 않는 영역을 설치한 후, 필터링의 유무를 나타내는 정보를 부호화할 경우에는, 필터링을 행하는 영역의 화소로부터, 고정 필터 파라미터를 결정하는 것이 적당하다.
보다 구체적으로는, 수학식 7의 필터 파라미터 V를, 필터 산출 함수 F를 사용해서 필터 파라미터의 함수로 한다. 이어서, 얻어진 식을 고정 파라미터로 편미분해서 얻어지는 식을 0으로 놓음으로써, 일반적으로 정규 방정식이라고 불리는 식을 얻을 수 있다. 정규 방정식을 가우스의 소거법 등에 의해 풀면, 고정 파라미터가 산출된다. 또한, 고정 파라미터의 산출 시에는, 화소마다 혹은 영역마다 정해지는 S, SI, 제어 변수(여기서는 v_skip)에, 그 값을 대입한다.
또한, 오프셋의 도입을 M×N+1 탭 필터로서 표현한 것과 같이, 제어 변수 v_skip의 도입을 M×N+2 탭으로서 표현할 수도 있다. 이 경우, v의 M×N+2번째의 항을
v (M×N+2)=a_skip
으로서 V의 차원을 M×N+2 차원으로 확장하고, SI의 M×N+2번째 항을
SI(M×N+2)=Σv_skip×b_skip (K)×SI (K)
로 하여 SI의 차원을 확장하면 된다. 이러한 표현을 사용하면, 수학식 7을 최소화하는 M×N+2개의 v의 값을 구하는 문제가 된다.
또한, 필터 계수 벡터 V의 구체적인 결정 방법의 다른 예로서는, 상기 제곱 오차 E에서의 2승 연산을 절대값 연산으로 치환함으로써 얻어지는 절대값 오차를 최소로 하는 것과 같은 필터 계수 벡터 V를 구하는 방법을 들 수 있다. 또한, 상기 제곱 오차 E에 필터 계수 벡터의 각 항의 2승에 소정의 상수를 곱한 값을 더한 함수를, 목적 함수로 할 수도 있다(소위 리지 회귀). 이와 같이 하면, 필터 계수 벡터를 작은 값으로 유지하면서, 제곱 오차 E도 작게 할 수 있다. 이 경우, 제곱 오차 E는 최소값보다도 약간 커지지만, 필터 계수 벡터는 작은 값이 되기 때문에 부호량을 억제할 수 있다. 또한, 필터 계수 벡터 V의 상기 통계적 방법에 의한 결정 방법은, 본 발명을 한정하는 것이 아니다.
또한, 적응 필터(100)는, 제어 변수를 항상 0으로 해서 상기 통계적 방법을 사용함으로써, 제어 변수에 의해 필터 계수 벡터의 값을 변경하지 않을 경우의, 필터 계수 벡터 V를 결정할 수도 있다.
이와 같이 하여 결정된 필터 계수 벡터 V는, v_skip=1일 때, 수학식 6의 제2항의 기여에 의해, 필터 강조 효과가 있는 필터를 표현하고 있다. 한편, v_skip=0으로 설정하면, 필터 계수 벡터 V에 대한 수학식 6의 제2항의 기여가 없어지기 때문에, 필터 계수 벡터 V는, 필터 강조 효과를 갖지 않는 필터를 표현할 수도 있다. 이하에서는, v_skip=1일 때의 필터 계수 벡터 V를 필터 계수 벡터 V (v_skip=1)라고 나타내고, v_skip=0일 때의 필터 계수 벡터 V를 필터 계수 벡터 V (v_skip=0)라고 나타내기로 한다.
(스텝 S3)
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가, 스킵 모드가 적용된 매크로 블록에 속해 있는지 여부에 따라, 제어 변수 v_skip의 값을 설정한다. 구체적으로는, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가, 스킵 모드가 적용된 매크로 블록에 속해 있을 때, v_skip=1로 설정하고, 그렇지 않을 때, v_skip=0으로 설정한다.
이렇게 설정된 제어 변수 v_skip은, 화상 데이터(#100)에 포함되는 화소마다, 필터부(110)에 대하여 공급된다.
(스텝 S4)
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_skip의 값을 사용한 필터 계수 벡터 V의 각 성분에 기초하여, 화상 데이터(#100)에 포함되는 화소값의 가중 평균을 취함으로써, 출력 화상 데이터(#110a)의 각 화소값을 산출한다. 구체적으로 필터부(110)는, 필터 계수 벡터 V의 각 성분 v (K)를 수학식 4에 사용함으로써, 화소값 SO(X')를 산출한다.
적응 필터(100)는, 상기 스텝 S3 및 스텝 S4의 동작을 반복한다. 따라서, 적응 필터(100)는, 화상 데이터(#100)에 포함되는 각 화소가, 스킵 모드가 적용된 매크로 블록에 속하는지 여부에 따라, 상이한 필터 계수 벡터를 사용해서 필터링을 행할 수 있다. 보다 정확하게는, 적응 필터(100)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가, 스킵 모드가 적용된 매크로 블록에 속해 있을 때에는, 필터 계수 벡터 V (v_skip=1)에 기초한 필터링을 행하고, 그렇지 않을 때에는, 필터 계수 벡터 V (v_skip=0)에 기초한 필터링을 행한다.
따라서, 적응 필터(100)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가, 스킵 모드가 적용된 매크로 블록에 속해 있을 때에는, 에지 강조 효과를 갖는 필터링을 행하고, 그렇지 않을 때에는, 에지 강조 효과를 갖지 않는 필터링을 행한다.
일반적으로, 스킵 모드가 적용된 매크로 블록의 화상은, 스킵 모드가 적용 되어 있지 않은 매크로 블록에 비하여, 에지를 명확히 한 쪽이 적합한 경향이 있다.
따라서, 상기와 같이 구성된 적응 필터(100)를 사용함으로써, 스킵 모드가 적용된 매크로 블록에 대해서는, 에지를 강조하면서, 스킵 모드가 적용되어 있지 않은 매크로 블록에 대해서는, 과도한 에지 강조를 피하면서 필터링을 행할 수 있으므로, 필터 계수의 전환을 행하지 않는 종래의 구성에 비하여, 보다 효과적인 필터링을 행할 수 있다.
또한, 시퀀스에 따라서는, 스킵 모드에서 바림한 쪽이 좋은 경우도 있지만, 이 경우도 a_skip이 음의 값으로서 구해져, 최적의 바림 처리를 적용할 수 있다.
또한, 적응 필터(100)는, 제어 변수 v_skip의 값을 1 또는 0으로 설정함으로써 필터 계수 벡터 V의 전환을 행할 수 있다. 즉, 적응 필터(100)는, 매크로 블록마다 필터 계수를 산출하지 않고, 매크로 블록마다 필터 계수를 전환할 수 있으므로, 필터 계수의 산출에 필요한 계산량을 삭감하면서, 효과적인 필터링을 행할 수 있다.
또한, 필터 대상 영역 T에 복수의 매크로 블록이 포함되는 것과 같을 경우에는, 당해 복수의 매크로 블록 중 어느 하나의 매크로 블록에 할당된 스킵 정보를 사용하면 된다.
이상과 같이, 본 실시 형태에 관한 화상 필터(적응 필터(100))는, 입력 화상(화상 데이터(#100))에서의 대상 영역(필터 참조 영역 R)에 속하는 각 화소의 화소값과 필터 계수 벡터(필터 계수 벡터 V)로부터, 출력 화상(출력 화상 데이터(#110a))에서의 대상 화소의 화소값을 산출하는 화상 필터이며, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 상기 필터 계수 벡터를 변경하는 필터 계수 벡터 변경 수단(제어 변수 결정부(120))을 구비하고 있는 것을 특징으로 하고 있다.
상기의 구성에 따르면, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 상기 필터 계수 벡터를 변경하는 필터 계수 벡터 변경 수단을 구비하고 있기 때문에, 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라, 상기 대상 영역마다 적절한 필터링을 행할 수 있다.
또한, 본 실시 형태에 관한 화상 필터(적응 필터(100))에서는, 상기 필터 계수 벡터(필터 계수 벡터 V)가 상기 출력 화상을 구성하는 단위 영역마다 미리 정해진 고정 필터 계수 벡터(고정 계수 벡터 W로부터 산출되는 필터 계수 벡터)와, 상기 필터 계수 벡터 변경 수단(제어 변수 결정부(120))에 의해, 상기 입력 화상(화상 데이터(#100))에서의 상기 대상 영역(필터 대상 영역 T)의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 변경되는 가변 필터 계수 벡터와의 합으로 분해 가능하다.
상기의 구성에 따르면, 상기 필터 계수 벡터는, 상기 출력 화상을 구성하는 단위 영역마다 미리 정해진 고정 필터 계수 벡터와 상기 가변 필터 계수 벡터와의 합으로 분해 가능하고, 상기 필터 계수 벡터 변경 수단은, 상기 가변 필터 계수 벡터를, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 변경할 수 있다.
따라서, 상기의 구성에 따르면, 단위 영역마다 미리 정해진 필터 계수를 사용하면서, 각 대상 영역에 적응된(각 대상 영역에서의 화상의 특성에 따른) 필터링을 행할 수 있다.
또한, 본 발명을 H.264에 적용하는 경우, 상기 단위 영역은, 슬라이스이어도 좋고, 매크로 블록이어도 좋으며, 블록이어도 좋다.
또한, 상기 고정 필터 계수 벡터 및, 상기 가변 필터 계수 벡터는, 오프셋 성분을 포함하도록 정의되어 있어도 좋다.
또한, 본 실시 형태에 관한 화상 필터(적응 필터(100))에서는, 상기 가변 필터 계수 벡터는, 또한, 상기 출력 화상을 구성하는 단위 영역마다 정해진 고정 계수(예를 들어, a_skip)와, 상기 필터 계수 벡터 변경 수단에 의해, 상기 입력 화상에서의 상기 대상 영역의 위치, 또는, 상기 출력 화상에서의 상기 대상 화소의 위치에 따라서 변경되는 가변 계수(제어 변수, 예를 들어 v_skip)와, 미리 정해진 고정 벡터(필터 기저, 예를 들어 b_skip)로 분해 가능하다.
상기의 구성에 의하면, 상기 가변 필터 계수 벡터는, 또한, 상기 출력 화상을 구성하는 단위 영역마다 정해진 고정 계수와, 상기 가변 계수와, 상기 고정 벡터로 분해 가능하다. 또한, 상기 고정 벡터는 미리 정해져 있고, 상기 필터 계수 벡터 변경 수단은, 상기 입력 화상에서의 상기 대상 영역의 위치, 또는, 상기 출력 화상에서의 상기 대상 화소의 위치에 따라, 상기 가변 계수를 변경할 수 있으므로, 상기 대상 영역에서의 화상의 특성에 따라, 보다 적절한 필터링을 행할 수 있다.
또한 상기의 구성에 의하면, 상기 출력 화상을 구성하는 단위 영역마다 정해진 상기 고정 계수 벡터 및 상기 고정 계수를 상기 화상 필터에 부여함으로써, 각 대상 영역에 적응된 원하는 타입의 필터링을 행할 수 있다.
본 발명에 따른 상기의 구성에 의한 효과를, 도 2를 참조하여 설명하면 이하와 같이 된다.
도 2는, 단위 영역(UR) 상에 Q개(Q≥2)의 대상 영역(PR1 내지 PRQ)이 존재하는 경우를 도시하는 도면이다.
도 2에 도시한 바와 같은 단위 영역(UR) 상의 Q개의 대상 영역(PR1 내지 PRQ)에 대하여, 상기의 구성을 사용해서 필터링을 행하는 경우, 상기 고정 계수 벡터 W의 성분의 수가 P개(P≥2)이며, 상기 고정 계수의 수가 1개라고 하면, 합계 P+1개의 필터 계수를 사용하여, Q개의 대상 영역(PR1 내지 PRQ) 모두에 대하여 적응된 필터링을 행할 수 있다.
한편, 도 2에 도시한 바와 같은 단위 영역(UR) 상의 Q개의 대상 영역(PR1 내지 PRQ)에 대하여, 각 대상 영역 PRn(1≤n≤Q)마다 상기 고정 계수 벡터 W를 산출하는 종래의 방법에 의하면, 적응되는 필터링을 행하기 위해서, 합계 P×Q개의 필터 계수가 필요하게 된다.
따라서, 본 발명에 따른 상기의 구성에 의하면, 각 대상 영역에 대하여 개별로 필터 계수 벡터를 산출하는 경우에 비하여, 적은 수의 필터 계수에 의해, 각 대상 영역에 적응한 타입의 필터링을 행할 수 있다.
또한, 도 2에서는, Q개의 대상 영역(PR1 내지 PRQ)이 서로 겹치지 않도록 그려져 있지만, 일반적으로는, Q개의 대상 영역(PR1 내지 PRQ)은, 서로 겹치는 영역을 포함하고 있다.
또한, 상기의 설명에서는, 필터 계수의 벡터 표현을 사용해서 본 발명의 특징을 설명했지만, 본 발명은, 이하와 같이, 필터 계수의 각 성분에 대한 작용으로서 표현할 수도 있다.
예를 들어, 3×3 탭의 필터링의 경우이며, b_skip으로서 가로 방향 에지 강조 기저(0, 0, 0, -1, 2, -1, 0, 0, 0, 0)를 취했을 경우, 필터 계수 벡터 V의 각 성분은, 이하와 같이 성분 표시할 수 있다(수학식 6 참조).
(w (1), w (2), w (3), w (4)-a_skip×v_skip, w (5)+2×a_skip×v_skip, w (6)-a_skip×v_skip, w (7), w (8), w (9), w (10))
상기 식으로부터 명백해진 바와 같이, b_skip으로서 가로 방향 에지 강조 기저(0, 0, 0, -1, 2, -1, 0, 0, 0, 0)를 취했을 경우에는, 필터 계수 벡터 V의 제1 성분 내지 제3 성분 및, 제7 성분 내지 제10 성분은, 제어 변수 v_skip에 의존하지 않는다. 즉, 필터 계수 벡터 V의 제1 성분 내지 제3 성분 및, 제7 성분 내지 제10 성분의 각각은, 스킵 모드인지 여부에 관계없이, 상기 통계적 방법에 의해 정해진 일정한 값을 취한다.
한편, b_skip으로서 가로 방향 에지 강조 기저(0, 0, 0, -1, 2, -1, 0, 0, 0, 0)를 취했을 경우에는, 필터 계수 벡터 V의 제4 성분 내지 제6 성분은, 제어 변수 v_skip에 의존한다. 또한, 제4 성분 내지 제6 성분 각각의 제어 변수 v_skip에 대한 변화의 비율은, 필터 기저 b_skip에 의해 결정되어 있다.
바꾸어 말하면, b_skip으로서 가로 방향 에지 강조 기저(0, 0, 0, -1, 2, -1, 0, 0, 0, 0)를 취했을 경우에는, 필터 계수 벡터 V의 소정의 성분(제4 성분 내지 제6 성분)은, 제어 변수 v_skip의 값에 따라서 변화하고, 상기 소정의 성분 이외의 성분(제1 성분 내지 제3 성분 및, 제7 성분 내지 제10 성분)은, 제어 변수 v_skip의 값에 의존하지 않고 결정되어 있다.
따라서, 일반적으로, 제어 변수 결정부(120)가 출력하는 필터 기저에 따라, 필터 계수 벡터 V의 성분 중, 제어 변수에 따라 변화하는 성분과, 제어 변수에 따라 변화하지 않는 성분이 정해진다. 또한, 제어 변수 결정부(120)가 출력하는 필터 기저에 따라, 제어 변수에 따라 변화하는 성분의, 제어 변수에 대한 변화의 비율이 결정된다.
<필터 계수 도출 처리>
또한, 수학식 6의 필터 계수 도출 처리는, 제어 변수에 따라 변화하는 성분과, 변화하지 않는 성분으로 경우를 나누어서 구할 수 있다. 이하에서는 재차 3×3 탭의 필터링의 경우이며, b_skip으로서 가로 방향 에지 강조 기저(0, 0, 0, -1, 2, -1, 0, 0, 0, 0)를 사용하는 경우를 예로 들어, 도 3을 참조하여, 적응 필터(100)에 의한 필터 계수 도출 처리에 대해서 설명한다.
도 3은, 필터링 처리를 행하는 동작 플로우의 일례를 도시하는 도면이다.
(예비 스텝)
우선, 적응 필터(100)는, 제어 변수에 따라 변화하는 필터 계수 벡터에 대하여, 수학식 6을 사용해서 미리 w' (i)를 산출하여 유지해 둔다.
w' (4)=w (4)+a_skip×v_skip×b_skip (4)
=w (4)+a_skip×v_skip×-1
w' (5)=w (5)+a_skip×v_skip×2
w' (6)=w (6)+a_skip×v_skip×-1
(본 스텝)
(스텝 S101) 루프 1: 필터 대상 영역 T마다, 출력 화상을 구성하는 단위 영역 전체에 대하여, S102 내지 S109의 처리를 행한다.
(스텝 S102) 필터 대상 영역 T에서의 제어 변수 v_skip의 값을 산출한다.
(스텝 S103) 루프 2: 루프 변수 i를 사용하여, i가 1 내지 10까지 S104 내지 S108의 처리를 행한다.
(스텝 S104) 루프 변수 i에 대응하는 필터 계수 벡터의 요소 v (i)가 제어 변수에 따라 변화하지 않는 경우에는 S105로 진행한다. 즉, i가 1, 2, 3, 7, 8, 9, 10인 경우에는 S105로 진행한다. 그 이외는 S106으로 진행한다.
(스텝 S105) v (i)=w (i)로서 S108로 진행한다.
(스텝 S106) 제어 변수 v_skip이 0이면 S105로 진행한다. 제어 변수 v_skip이 1이면 S107로 진행한다.
(스텝 S107) v (i)=w' (i)로서 S108로 진행한다.
(스텝 S108) 루프 2 종단
(스텝 S109) 도출한 필터 계수 벡터 V를 사용하여, 수학식 4에 나타내는 필터링을 행한다.
(스텝 S110) 루프 1 종단
상기에서는, 필터 계수 벡터 V의 도출을, 제어 변수에 따라 변화하는 성분과의 합을 사용하지 않고 분기하여 행하고 있다. 이 합의 처리와, 분기의 처리는, 구체적인 처리로서는 다르게 보이지만, 처리의 결과적으로는 완전히 동일해서, 본 발명은 모두 포함하는 것으로 한다. 분기에 사용하는 제어 변수에 대해서는 상기 예에 한하지 않고, 하기에 나타내는 예를 포함하는 어떠한 예라도 상관없다.
도 4는, 필터링을 행하는 동작 플로우의 다른 예를 도시하는 도면이다. 도 4는, 필터 계수 벡터 V의 산출을, 제어 변수에 따라 변화하는 성분과의 합을 사용하는 경우를 나타낸다. 본 예에서는, 도 3의 S104 내지 S107의 처리가 수학식 6을 사용한 이하의 스텝 S154로 치환된다.
(스텝 S154) 제어 변수 v_skip으로부터 수학식 6에 의해 필터 계수 벡터의 요소 v (i)를 산출한다.
또한, 필터링 전에, 미리 필터 계수 성분의 위치와 제어 변수의 값에 의해 정해지는 2차원 테이블 v2(i, v)에, 당해 성분 및 제어 변수의 값에 대응하는 필터 계수의 값을 저장해 두고, 필터링 시에는, 그 2차원 테이블 v2(i, v)를 빼는 것도 적합하다. 여기서, i는 필터 계수 성분의 위치, v는 제어 변수의 값을 의미한다. 또한, 제어 변수의 수가 1개인 경우에는 2차원 테이블이지만, 제어 변수가 Nv개인 경우에는, Nv+1 차원 테이블이 된다.
이상이, 본 발명의 필터 계수 벡터 V의 각 성분에 대한 작용으로서의 표현이다.
<필터 산출 함수의 일반형>
수학식 6은, 필터 산출 함수 F의 일례다. 고정 계수 벡터 wi (1≤i≤Nw, Nw는 고정 계수 벡터의 차원 수), 제어 변수 vk (1≤k≤Nv, Nv는 제어 변수의 총수), 고정 계수 akj(k는 상기한 바와 같이, 1≤j≤Nak, Nak은 제어 변수 Vk에 관한 고정 계수의 총 수)라고 했을 경우, 함수 F는 일반적으로, 이하의 수학식 8과 같이 표현된다.
[수학식 8]
F (w1…, wNw, a11, …, a1_Na1, …, aNv1, …, aNv_NaNv, v1, …, vNv)=F1(w1…, wNw)+F2(Na1, …, aNv1, …, aNv_NaNv, v1, …, vNv)
여기서, 필터 산출 함수 F는, 제1항의 고정 필터 계수 벡터와, 제2항의 가변 필터 계수 벡터로 분해 가능한 구조를 가진다. 또한, F1은, 고정 계수 벡터의 함수, F2는, 제어 변수와 고정 계수와의 함수다. 여기서, 제어 변수 및 고정 계수의 수도 복수이어도 되고, 또한, 제어 변수가 복수인 경우에는, 제어 변수에 의해 고정 계수의 수를 변경해도 상관없다.
함수 F를 모두 선형 연산이라고 가정하면, 이하의 수학식 9와 같이 표현된다.
[수학식 9]
Figure 112019028081698-pat00007
여기서, b_wi는 wi에 관한 Nw개의 기저이며, 단위 기저, 대칭 기저 등이 사용된다. 본 명세서에서는 b_wi에 단위 기저를 사용하고 있지만 이것에 제한하지 않는다. b_vkj는, 제어 변수 vk마다 Nak개 준비해 두는 기저이며, 에지 강조 필터 기저 등이 사용된다. 또한, b_wi에 대칭 기저를 사용하는 경우에는, b_vkj에도 마찬가지의 대칭성을 갖는 기저를 사용하면 좋다. 또한, 수학식 9의 좌변의 필터 계수 벡터는, 동식의 우변에 도시한 바와 같이, 제1항의 고정 필터 계수 벡터와 제2항의 가변 필터 계수 벡터로 분해 가능하다. 또한, 고정 필터 계수 벡터는, 고정 계수 벡터(요소 wi)와, 기저(b_wi)로 분해 가능하고, 가변 필터 계수 벡터는, 고정 계수(akj)와, 제어 변수(vk)와, 고정 벡터(b_vkj)로 분해 가능하다.
필터의 차수가 4차인 경우의 구체예를 수학식 10에 나타낸다.
[수학식 10]
Figure 112019028081698-pat00008
이 예에서는, 고정 필터 계수의 수는 3(w1, w2, w3), 제어 변수 v_skip에 대응하는 고정 계수의 수는 2(a_skip1과 a_skip2), 제어 변수 v_flat에 대한 고정 계수의 수는 1(a_flat)이다. 또한, 제어 변수 v_flat의 의미는 후술한다.
<고정 필터 파라미터 산출의 일반형>
이미 설명한 바와 같이, 수학식 7의 필터 파라미터 V를, 필터 산출 함수 F를 사용해서 필터 파라미터의 함수로 한 후에, 얻어진 식을 편미분해서 얻어지는 값을 0으로 두어 얻어지는 정규 방정식을 푼다.
이하, 제어 변수에 관한 기저로서 다른 기저를 사용하는 예 및 제어 변수로서 다른 변수를 사용하는 예와 그 효과를 설명한다.
또한, 상기의 예에서는, 필터 기저 b_skip으로서, 에지 강조 필터 기저를 사용하는 경우에 대해서 설명했지만, 본 발명은 이것에 한정되는 것은 아니다. 예를 들어, 제어 변수 결정부(120)는, 스킵 정보에 관련된 필터 기저로서 효과가 상이한 복수의 필터 기저를 필터부(110)에 대하여 출력하는 구성으로 해도 좋다.
예를 들어, 제어 변수 결정부(120)는, 스킵 정보에 관련된 필터 기저로서 에지 강조 기저 b_skip0와 함께, DC 오프셋 기저 b_dc=(0, 0, 0, 0, 0, 0, 0, 0, 0, 1)를 필터부(110)에 대하여 출력해도 좋다.
제어 변수 결정부(120)가, 에지 강조 기저 b_skip 및, DC 오프셋 기저 b_dc를 출력할 경우에는, 필터부(110)는, 이하의 수학식 11에 의해 표현되는 각 성분 w (K)를 갖는 필터 계수 벡터 V의 각 계수를, 교사 데이터(#200)를 참조하여 결정한다.
[수학식 11]
v (K)=w (K)+a_skip×v_skip×b_skip (K)+a_dc×v_dc×b_dc (K)
여기서, a_dc는 DC 오프셋 기저에 대응한 DC 오프셋 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터 W의 각 성분 w (K), 에지 강조 계수 a_skip 및, DC 오프셋 계수 a_dc를, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 스킵 모드가 적용된 매크로 블록에 속하는 화소에 대해서는, 값이 1인 제어 변수 v_skip을 필터부(110)에 출력하고, 그렇지 않을 경우에는, 값이 0인 제어 변수 v_skip을 필터부(110)에 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_skip을 사용한 필터 계수 벡터 V에 기초하여, 필터링을 행한다.
상기와 같은 구성을 취함으로써, 적응 필터(100)는 스킵 모드가 적용된 매크로 블록에 대하여, 에지 강조 효과를 갖는 필터링을 행함과 함께, 상기 DC 오프셋에 의해, 휘도를 변경하는 효과를 갖는 필터링을 행할 수 있다.
또한, DC 오프셋 기저 외에, 더욱 중심 요소만을 1로 하는 것과 같은 중심 요소 기저 b_c=(0, 0, 0, 0, 1, 0, 0, 0, 0, 0)를 도입하여, 중심 요소 기저 b_c와 DC 오프셋 기저를 사용하면, 페이드와 같이 화소마다 휘도가 변화하는 것과 같은 화소값에 대해서도 적응되는 필터링을 행할 수 있다.
또한, 제어 변수 결정부(120)는, 스킵 정보에 관련된 필터 기저로서, 어떤 에지 강조 기저 b_skip0과 함께, 다른 에지 강조 기저 b_skip1을 필터부(110)에 대하여 출력해도 좋다. 예를 들어 b_skip0으로서 가로 방향 에지 강조 기저(0, 0, 0, -1, 2, -1, 0, 0, 0, 0)를 취하고, b_skip1=(0, -1, 0, 0, 2, 0, -1, 0, 0, 0)로 해도 좋다. 또한, 에지 강조/바림 기저로서, 가로 방향 바림 기저(0, 0, 0, 1, 2, 1, 0, 0, 0, 0), 세로 방향 바림 기저(0, 1, 0, 0, 2, 0, 0, 1, 0, 0) 또는, 전 방향 바림 기저(1, 1, 1, 1, 2, 1, 1, 1, 1, 0)와 같은, 바림을 주목적으로 한 기저를 사용해도 좋다.
제어 변수 결정부(120)가 에지 강조 기저 b_skip0 및, b_skip1을 출력할 경우에는, 필터부(110)는, 이하의 수학식 12에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를, 교사 데이터(#200)를 참조하여 결정한다.
[수학식 12]
v (K)=w (K)+a_skip0×v_skip×b_skip0 (K)+a_skip1×v_skip×b_skip1 (K)
여기서, a_skip0은, 에지 강조 기저 b_skip0(K)에 대응한 에지 강조 계수(고정 계수)이며, a_skip1은, b_skip1(K)에 대응한 에지 강조 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 에지 강조계 몇 a_skip0 및, a_skip1을, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 스킵 모드가 적용된 매크로 블록에 속하는 화소에 대해서는, 값이 1인 제어 변수 v_skip을 필터부(110)에 출력하고, 그렇지 않을 경우에는, 값이 0인 제어 변수 v_skip을 필터부(110)에 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_skip을 사용한 필터 계수 벡터 V에 기초하여 필터링을 행한다.
상기와 같은 구성을 취함으로써, 적응 필터(100)는, 스킵 모드가 적용된 매크로 블록에 대하여, 에지 강조 효과 및, 바림 효과를 동시에 갖는 필터 계수에 기초한 필터링을 행할 수 있고, 스킵 모드가 적용되어 있지 않은 매크로 블록에 대해서는, 에지 강조 효과 및, 바림 효과를 갖지 않는 필터 계수에 기초한 필터링을 행할 수 있다.
또한, 상기의 예에서는, 적응 필터(100)가, 화상 데이터(#100)에 포함되는 각 화소가 스킵 모드가 적용된 매크로 블록에 속하는지 여부에 따라, 필터 계수 벡터 V의 전환을 행하는 경우를 예로 들어 설명했지만, 본 발명은 이것에 한정되는 것은 아니다.
이하에서는, 화상 데이터(#100) 및, 사이드 정보(#100a)에 기초하여, 필터 계수의 전환을 행하는 다른 예에 대해서 설명한다.
(화상의 평탄도에 따라서 필터 계수의 전환을 행하는 예)
우선, 화상 데이터(#100)의 필터 대상 영역 T에서의 화상의 평탄도에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다. 여기서, 필터 대상 영역 T에서의 화상의 평탄도란, 필터 대상 영역 T에 포함되는 각 화소의 화소값의 편차에 따라서 정해지는 지표다. 필터 대상 영역 T에서의 화상에 포함되는 각 화소의 화소값의 편차가 보다 작은 경우란, 당해 영역에서의 화상의 평탄도가 보다 큰 경우이며, 필터 대상 영역 T에서의 화상에 포함되는 각 화소의 화소값의 편차가 보다 큰 경우란, 당해 영역에서의 화상의 평탄도가 보다 작은 경우다. 또한, 필터 대상 영역 T의 제어 변수를 구할 때, 필터 대상 영역 T의 전체 화소를 사용할 필요는 없다(이하 같음). 여기에서는 영역 T보다도 작은 직사각형 영역 MV×NV를 사용해서 평탄도를 구해도 된다.
제어 변수 결정부(120)는, 필터 대상 영역 T에서의 화상의 평탄도에 따라서 0 또는 1을 취하는 제어 변수 v_flat의 값을 1로 설정하고, 당해 제어 변수 v_flat을 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 필터 대상 영역 T에서의 화상의 평탄도에 관련된 필터 기저 b_flat를 필터부(110)에 대하여 출력한다. 필터 기저 b_flat로서는, 예를 들어 상술한 에지 강조 필터 기저, 5×5 탭으로 확장된 라플라스 기저(1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, -16, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0), 또는 그들의 선형합(혹은 가중 선형합)을 사용하면 된다.
필터부(110)는, 이하의 수학식 13에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 13]
v (K)=w (K)+a_flat×v_flat×b_flat (K)
여기서, a_flat은 필터 기저 b_flat에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 필터 계수 벡터의 각 성분 w (K), 계수 a_flat을, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 화상 데이터(#100)에 포함되는 화소마다, 필터 대상 영역 T에 포함되는 화소의 화소값의 편차를 산출한다. 구체적으로는, 예를 들어 제어 변수 결정부(120)는, 화상 데이터(#100)에 포함되는 화소마다, 필터 대상 영역 T에 포함되는 화소의 화소값의 분산을 산출한다.
바꾸어 말하면, 제어 변수 결정부(120)는, 화상 데이터(#100)에 포함되는 화소마다의 화소값을 참조하여, 필터 대상 영역 T에 포함되는 각 화소의 화소값의 편차를 산출한다. 구체적으로는, 제어 변수 결정부(120)는, 화상 데이터(#100)에 포함되는 각 화소의 화소값을 참조하고, 필터 대상 영역 T에 포함되는 각 화소의 화소값의 분산을 산출한다.
제어 변수 결정부(120)는, 화소값의 분산이, 미리 정해진 임계값 이상일 때에는, 제어 변수 v_flat을 0으로 설정하고, 화소값의 분산이, 미리 정해진 임계값 미만일 때에는, 제어 변수 v_flat을 1로 설정하여, 당해 제어 변수 v_flat을 화상 데이터(#100)에 포함되는 화소마다 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 상기 제어 변수 v_flat을 필터 대상 영역 T마다 필터부(110)에 대하여 출력해도 된다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_flat을 사용한 필터 계수 벡터 V에 기초하여 필터링을 행한다.
일반적으로, 평탄도가 상이한 영역에 대해서는, 최적인 필터 계수가 상이한 것이 알려져 있다.
상기의 구성에 의하면, 적응 필터(100)는, 평탄도가 큰 필터 대상 영역 T에 대해서는, 바림의 효과를 갖는 필터링을 행하고, 평탄도가 작은 필터 대상 영역 T에 대해서는, 바림의 효과를 갖지 않는 필터링을 행할 수 있으므로, 평탄도가 상이한 영역을 포함하는 슬라이스 또는, 프레임에 대해서도 효과적인 필터링을 행할 수 있다.
또한, 화상의 평탄도에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 본 예에서는, 필터 대상 영역 T에서의 화상의 평탄도를, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 AC 성분의 크기에 따라서 판정하는 구성으로 해도 좋다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_flat으로서, 3×3 탭의 가로 방향 에지 강조 필터 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여 유지해 두면 된다.
w' (4)=w (4)+a_flat×v_flat×b_flat (4)
=w (4)+a_flat×v_flat×-1
w' (5)=w (5)+a_flat×v_flat×2
w' (6)=w (6)+a_flat×v_flat×1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_flat으로 바꾸어 읽으면 된다.
(에지의 각도에 따라서 필터 계수의 전환을 행하는 예)
이어서, 화상 데이터(#100)의 필터 대상 영역 T에서의 화상에 포함되는에지의 각도에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다.
제어 변수 결정부(120)는 이하의 제어 변수의 값을 1로 설정하고, 필터부(110)에 대하여 출력한다.
· 필터 대상 영역 T에 수직 방향의 에지가 포함되어 있는지 여부에 따라서 0 또는 1을 취하는 제어 변수 v_edge_0
· 필터 대상 영역 T에 수평 방향의 에지가 포함되어 있는지 여부에 따라서 0 또는 1을 취하는 제어 변수 v_edge_90
· 필터 대상 영역 T에 사선 우측 상승의 에지가 포함되어 있는지 여부에 따라서 0 또는 1을 취하는 제어 변수 v_edge_45
·필터 대상 영역 T에 사선 우측 하강의 에지가 포함되어 있는지 여부에 따라서 0 또는 1을 취하는 제어 변수 v_edge_135
또한, 제어 변수 결정부(120)는, 이하의 필터 기저를 필터부(110)에 대하여 출력한다.
· 필터 대상 영역 T에 수직 방향의 에지가 포함되어 있는지 여부의 정보에 관련된 필터 기저 b_edge_0
· 필터 대상 영역 T에 수평 방향의 에지가 포함되어 있는지 여부의 정보에 관련된 필터 기저 b_edge_90
· 필터 대상 영역 T에 사선 우측 상승의 에지가 포함되어 있는지 여부의 정보에 관련된 필터 기저 b_edge_45
· 필터 대상 영역 T에 사선 우측 하강의 에지가 포함되어 있는지 여부의 정보에 관련된 필터 기저 b_edge_135
또한, 필터 기저 b_edge_n(n=0, 45, 90, 135)은, 예를 들어 3×3 탭의 필터링을 행하는 경우, 이하와 같이 취하면 된다.
· b_edge_0=(0, -1, 0, 0, 2, 0, 0, -1, 0, 0)
· b_edge_90=(0, 0, 0, -1, 2, -1, 0, 0, 0, 0)
· b_edge_45=(0, 0, -1, 0, 2, 0, -1, 0, 0, 0)
· b_edge_135=(-1, 0, 0, 0, 2, 0, 0, 0, -1, 0)
필터부(110)는, 이하의 수학식 14에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 14]
v (K)=w (K)+∑a_edge_n×v_edge_n×b_edge_n (K)
여기서, 기호 ∑는, 에지의 각도를 나타내는 첨자 n (n=0, 45, 90, 135)에 관한 합을 나타내고 있다. 또한, a_edge_n (n=0, 45, 90, 135)은, 각각 필터 기저b_edge_n (n=0, 45, 90, 135)에 대응한 계수다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_edge_n (n=0, 45, 90, 135)을, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 필터 대상 영역 T에 포함되는 에지의 종류에 따라, 이하와 같이 제어 변수 v_edge_n (n=0, 45, 90, 135)의 값을 설정하고, 필터 대상 영역 T마다, 당해 제어 변수 v_edge_n (n=0, 45, 90, 135)을 필터부(110)에 대하여 출력한다.
· 필터 대상 영역 T에 수직 방향의 에지가 포함되어 있을 때 v_edge_0=1, 그렇지 않을 때 v_edge_0=0
· 필터 대상 영역 T에 수평 방향의 에지가 포함되어 있을 때 v_edge_90=1, 그렇지 않을 때 v_edge_90=0
· 필터 대상 영역 T에 사선 우측 상승의 에지가 포함되어 있을 때v_edge_45=1, 그렇지 않을 때 v_edge_45=0
· 필터 대상 영역 T에 사선 우측 하강의 에지가 포함되어 있을 때 v_edge_135=1, 그렇지 않을 때 v_edge_45=0
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_edge_n (n=0, 45, 90, 135)를 사용한 필터 계수 벡터 V에 기초하여 필터링을 행한다.
상기의 구성에 의하면, 적응 필터(100)는, 대상 영역 T에 포함되는 에지의 각도에 따라서 상이한 필터 계수를 사용해서 필터링을 행할 수 있으므로, 여러 가지 각도의 에지를 포함하는 슬라이스 또는, 프레임에 대해서도 효과적인 필터링을 행할 수 있다.
또한, 적응 필터(100)에서는, 제어 변수 결정부(120)는, 이하와 같은 필터 기저를 필터부(110)에 대하여 출력하는 구성으로 해도 좋다.
· 필터 대상 영역 T에 수직 방향의 에지가 포함되어 있는지 여부의 정보에 관련된 제1 필터 기저 b_edge_0_0=b_edge_0
· 필터 대상 영역 T에 수직 방향의 에지가 포함되어 있는지 여부의 정보에 관련된 제2 필터 기저 b_edge_0_1=b_edge_90
· 필터 대상 영역 T에 수평 방향의 에지가 포함되어 있는지 여부의 정보에 관련된 제1 필터 기저 b_edge_90_0=b_edge_90
· 필터 대상 영역 T에 수평 방향의 에지가 포함되어 있는지 여부의 정보에 관련된 제2 필터 기저 b_edge_90_1=b_edge_0
· 필터 대상 영역 T에 사선 우측 상승의 에지가 포함되어 있는지 여부의 정보에 관련된 제1 필터 기저 b_edge_45_0=b_edge_45
· 필터 대상 영역 T에 사선 우측 상승의 에지가 포함되어 있는지 여부의 정보에 관련된 제2 필터 기저 b_edge_45_1=b_edge_135
· 필터 대상 영역 T에 사선 우측 하강의 에지가 포함되어 있는지 여부의 정보에 관련된 제1 필터 기저 b_edge_135_0=b_edge_135
·필터 대상 영역 T에 사선 우측 하강의 에지가 포함되어 있는지 여부의 정보에 관련된 제1 필터 기저 b_edge_135_1=b_edge_45
이 경우, 필터부(110)는 이하의 수학식 15에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 15]
v (K)=w (K)+∑a_edge_n_0×v_edge_n×b_edge_n_0 (K)+∑a_edge_n_1×v_edge_n×b_edge_n_1 (K)
여기서, 기호 ∑는 에지의 각도를 나타내는 첨자 n (n=0, 45, 90, 135)에 관한 합을 나타내고 있다. 또한, a_edge_n_0(n=0, 45, 90, 135) 및, a_edge_n_1(n=0, 45, 90, 135)은, 각각, 필터 기저 b_edge_n_0(n=0, 45, 90, 135) 및, 필터 기저 b_edge_n_1(n=0, 45, 90, 135)에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_edge_n_0(n=0, 45, 90, 135) 및, 계수 a_edge_n_1(n=0, 45, 90, 135)을, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)에서의 제어 변수 v_edge_n(n=0, 45, 90, 135)의 값을, 상술한 방법과 마찬가지의 방법을 사용해서 설정한다. 또한, 필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수v_edge_n(n=0, 45, 90, 135)을 사용한 필터 계수 벡터 V에 기초하여 필터링을 행한다.
상기의 구성에 따르면, 적응 필터(100)는 대상 영역 T에 포함되는 에지의 각도에 따라서 상이한 필터 계수를 사용해서 필터링을 행할 수 있으므로, 여러 가지 각도의 에지를 포함하는 슬라이스 또는, 프레임에 대해서도 효과적인 필터링을 행할 수 있다.
또한, 상기의 구성에서는, 필터 기저 b_edge_n_0(n=0, 45, 90, 135) 및, 필터 기저 b_edge_n_1(n=0, 45, 90, 135)는 각각, 에지에 수직인 방향에 대한 에지 강조의 효과를 갖는 기저 성분을 포함하고 있으므로, 상기의 구성을 갖는 적응 필터(100)는, 에지에 평행한 방향뿐만 아니라, 에지에 수직인 방향에 관해서도, 효과적인 필터링을 행할 수 있다.
또한, 에지의 각도에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_edge_n으로서, b_edge_90만을 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여, 유지해 두면 된다.
w' (4)=w (4)+a_edge_90×v_edge_90×b_edge_90 (4)
=w (4)+a_edge_90×v_edge_90×-1
w' (5)=w (5)+a_edge_90×v_edge_90×2
w' (6)=w (6)+a_edge_90×v_edge_90×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_edge_90으로 바꾸어 읽으면 된다. 또한, 필터 기저 b_edge_n으로서 다른 기저를 취했을 경우도 마찬가지이다. 또한, 수학식 14에서, n에 관한 합을 취할 경우에 대해서도 용이하게 일반화할 수 있다.
(휘도에 따라서 필터 계수의 전환을 행하는 예)
이어서, 화상 데이터(#100)의 필터 대상 영역 T에서의 화상의 평균 휘도에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다. 여기서, 필터 대상 영역 T에서의 화상의 평균 휘도란, 필터 대상 영역 T에 포함되는 각 화소의 휘도값의 평균이다. 또한, 각 화소의 휘도값은, 일반적으로 당해 화소의 화소값의 함수로서 구할 수 있다.
제어 변수 결정부(120)는, 필터 대상 영역 T에서의 화상의 평균 휘도에 따라서 0, 1, 2 중, 어느 하나의 값을 제어 변수 v_lum로 설정하고, 당해 제어 변수 v_lum을 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 필터 대상 영역 T에서의 화상의 평균 휘도에 관련된 필터 기저 b_lum을 필터부(110)에 대하여 출력한다. 필터 기저b_lum으로서는, 예를 들어 상술한 에지 강조 필터 기저, 또는 그들의 선형합(혹은 가중 선형합)을 사용하면 된다.
필터부(110)는, 이하의 수학식 16에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 16]
v (K)=w (K)+a_lum×v_lum×b_lum (K)
여기서, a_lum은, 필터 기저 b_lum에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_lum을, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 필터 대상 영역 T마다, 당해 영역에 포함되는 화소에 대응된 휘도값의 평균값을 산출한다. 제어 변수 결정부(120)는, 예를 들어 당해 평균값이 48 미만일 때, 제어 변수 v_lum의 값을 2로 설정하여, 당해 평균값이 48 이상, 96 미만일 때, 제어 변수 v_lum의 값을 1로 설정하고, 당해 평균값이 96 이상일 때, 제어 변수 v_lum의 값을 0으로 설정한다. 여기서, 당해 평균값은 0 내지 255까지의 값을 취하기로 한다.
또한, 제어 변수 결정부(120)는, 필터 대상 영역 T마다 제어 변수 v_lum을 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_lum을 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
상기와 같은 구성을 취함으로써, 필터 대상 영역 T에 포함되는 화소의 휘도값의 평균값이 보다 낮은 경우에, 바림 효과가 보다 강한 필터링을 행할 수 있고, 필터 대상 영역 T에 포함되는 화소의 휘도값의 평균값이 보다 높은 경우에, 바림 효과가 보다 약한 필터링을 행할 수 있다.
또한, 휘도에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_lum으로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하고, 유지해 두면 된다.
w' (4)=w (4)+a_lum×v_lum×b_lum (4)
=w (4)+a_lum×v_lum×-1
w' (5)=w (5)+a_lum×v_lum×2
w' (6)=w (6)+a_lum×v_lum×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_lum으로 바꾸어 읽으면 된다. 또한, 필터 기저 b_lum으로서 다른 기저를 취했을 경우도 마찬가지이다.
(색에 따라서 필터 계수의 전환을 행하는 예)
이어서, 화상 데이터(#100)의 필터 대상 영역 T에서의 화상의 색에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다. 특히, 필터 대상 영역 T에서의 화소가 피부색을 나타내고 있는지 여부에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다. 여기서, 필터 대상 영역 T에서의 화소가 피부색을 나타내고 있는 경우란, 예를 들어 필터 대상 영역 T에 포함되는 화소가 나타내는 색의 평균이, YUV 성분으로 나타나고, 133≤V≤177, 또한, 77≤U≤127, 또한, 60≤Y≤145의 범위 내인 경우다. 여기서, Y는 당해 화소의 표시하는 색 성분 중, 휘도 성분의 크기를 나타내고 있고, U는 청색 성분과 휘도 성분과의 차의 정수배에 의해 정의되는 색 성분의 크기를 나타내고 있으며, V는 적색 성분과 휘도 성분과의 차의 정수배에 의해 정의되는 색 성분의 크기를 나타내고 있다. 또한, 상기의 예에서는 Y, U, V 각각은, 0 내지 255까지의 값을 취하는 것으로 하고 있다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 피부색을 나타내고 있는지 여부에 따라, 0 또는 1을 취하는 제어 변수 v_skin의 값을 1로 설정하고, 당해 제어 변수 v_skin을 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 피부색을 나타내고 있는지 여부에 관련된 필터 기저 b_skin을 필터부(110)에 대하여 출력한다. 필터 기저 b_skin으로서는, 예를 들어 상술한 에지 강조 필터 기저, 또는 그들의 선형합(혹은 가중 선형합)을 사용하면 된다.
필터부(110)는, 이하의 수학식 17에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 17]
v (K)=w (K)+a_skin×v_skin×b_skin (K)
여기서, a_skin은 필터 기저 b_skin에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 필터 계수 벡터의 각 성분 v (K), 계수 a_skin을, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 피부색을 나타내고 있는지 여부를 판정을 행한다. 구체적으로는, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 나타내는 색이, YUV 성분으로 나타내고, 133≤V≤177, 또한, 77≤U≤127, 또한, 60≤Y≤145의 범위 내인지 여부를 판정한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 나타내는 색이 상기의 범위 내에 있는 경우에는, 제어 변수 v_skin의 값을 1로 설정하고, 필터부(110)에 대하여 출력한다. 또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 나타내는 색이 상기의 범위 내에 없을 경우에는, 제어 변수 v_skin의 값을 0으로 설정하고, 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_skin을 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
상기와 같은 구성을 취함으로써, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 피부색을 나타내고 있을 경우에는, 바림 효과를 갖는 필터링을 행하고, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 피부색을 나타내지 않고 있을 경우에는, 바림 효과를 갖지 않는 필터링을 행할 수 있다.
또한, 색에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_skin으로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여, 유지해 두면 된다.
w' (4)=w (4)+a_skin×v_skin×b_skin (4)
=w (4)+a_skin×v_skin×-1
w' (5)=w (5)+a_skin×v_skin×2
w' (6)=w (6)+a_skin×v_skin×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_skin으로 바꾸어 읽으면 된다. 또한, 필터 기저 b_skin으로서 다른 기저를 취했을 경우도 마찬가지이다.
(블록 경계인지 여부에 따라서 필터 계수의 전환을 행하는 예)
이어서, 필터 대상 영역 T가 블록의 경계를 포함하고 있는지 여부에 따라서 필터 계수를 전환하는 경우에 대해서 설명한다.
여기서, 상기 블록이란, 예를 들어 H.264/AVC 규격에서의 변환 혹은 움직임 보상의 단위이며, 일반적으로 블록의 경계에는, 블록 노이즈가 발생하기 쉽다는 경향이 있다.
제어 변수 결정부(120)는, 필터 대상 영역 T가 블록 경계를 포함하고 있는지 여부에 따라, 0 또는 1을 취하는 제어 변수 v_block의 값을 1로 설정하고, 당해 제어 변수 v_block을 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 필터 대상 영역 T가 블록 경계를 포함하고 있는지 여부에 관련된 필터 기저 b_block을 필터부(110)에 대하여 출력한다. 필터 기저 b_block으로서는, 예를 들어 상술한 에지 강조 필터 기저, 또는 그들의 선형합(혹은 가중 선형합)을 사용하면 된다.
필터부(110)는, 이하의 수학식 18에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 18]
v (K)=w (K)+a_block×v_block×b_block (K)
여기서, a_block은 필터 기저 b_block에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_block을, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 필터 대상 영역 T가 블록 경계를 포함하고 있는지 여부의 판정을 행하고, 필터 대상 영역 T가 블록 경계를 포함하고 있을 경우에는, 제어 변수 v_block의 값을 1로 설정하고, 필터 대상 영역 T가 블록 경계를 포함하고 있지 않을 경우에는, 제어 변수 v_block의 값을 0으로 설정한다. 또한, 제어 변수 결정부(120)는, 제어 변수 v_block을 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_block을 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
상기와 같은 구성을 취함으로써, 필터 대상 영역 T가 블록 경계를 포함하고 있을 경우에는, 바림 효과를 갖는 필터링을 행하고, 그렇지 않을 경우에는, 바림 효과를 갖지 않는 필터링을 행할 수 있다.
또한, 필터 대상 영역 T가 블록 경계를 포함하고 있는지 여부에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 본 동작예에서 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_block으로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여, 유지해 두면 된다.
w' (4)=w (4)+a_block×v_block×b_block (4)
=w (4)+a_block×v_block×-1
w' (5)=w (5)+a_block×v_block×2
w' (6)=w (6)+a_block×v_block×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_block으로 바꾸어 읽으면 된다. 또한, 필터 기저 b_block으로서 다른 기저를 취했을 경우도 마찬가지이다.
(예측 방향에 따라서 필터 계수의 전환을 행하는 예)
이어서, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 사이드 정보에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다. 특히, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이, 예를 들어H.264/AVC 규격에서의 단방향 예측에 기초하여 생성된 블록인지 또는, 쌍방향 예측에 기초하여 생성된 블록인지에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다.
여기서, H.264/AVC 규격에서의 단방향 예측이란, 당해 블록이 속하는 프레임보다도 전에 부호화/복호된 프레임을 1개 사용해서 당해 블록을 예측할 경우이며, 쌍방향 예측이란, 당해 블록이 속하는 프레임 전에 부호화/복호되는 프레임을 2개 사용해서 당해 블록을 예측하는 경우이다. 또한, 예측에 사용하는 프레임은 1개나 2개가 일반적이지만, 이보다 많아도 상관없다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이, 단방향 예측에 기초하여 생성된 블록인지 또는, 쌍방향 예측에 기초하여 생성된 블록인지에 따라, 0 또는 1을 취하는 제어 변수 v_pred의 값을 1로 설정하고, 당해 제어 변수 v_pred를 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이, 단방향 예측에 기초하여 생성된 블록인지 또는, 쌍방향 예측에 기초하여 생성된 블록인지에 관련된 필터 기저 b_pred를 필터부(110)에 대하여 출력한다. 필터 기저 b_pred로서는, 예를 들어 상술한 에지 강조 필터 기저, 또는 그들의 선형합(혹은 가중 선형합)을 사용하면 된다.
필터부(110)는, 이하의 수학식 19에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 19]
v (K)=w (K)+a_pred×v_pred×b_pred (K)
여기서, a_pred는, 필터 기저 b_pred에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_pred를, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이, 단방향 예측에 기초하여 생성된 블록인 경우에는, 제어 변수 v_pred의 값을 0으로 설정하고, 당해 블록이 쌍방향 예측에 기초하여 생성된 블록인 경우에는, 제어 변수 v_pred의 값을 1로 설정한다. 또한, 제어 변수 결정부(120)는, 제어 변수 v_pred를 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_pred를 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
상기와 같은 구성을 취함으로써, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이 단방향 예측에 기초하여 생성된 블록인 경우에는, 에지나 바림 강조 효과를 갖지 않는 필터링을 행하고, 당해 화소가 속하는 블록이 쌍방향 예측에 기초하여 생성된 블록인 경우에는, 에지 강조나 바림 효과를 갖는 필터링을 행할 수 있다.
또한, 상기한 바와 같이 단방향 예측일지 쌍방향 예측일지에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 필터 대상 영역 T에 복수의 블록이 포함되는 것과 같을 경우에는, 당해 복수의 블록 중 어느 하나의 블록에 할당된 정보를 사용하면 된다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_pred로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여, 유지해 두면 된다.
w' (4)=w (4)+a_pred×v_pred×b_pred (4)
=w (4)+a_pred×v_pred×-1
w' (5)=w (5)+a_pred×v_pred×2
w' (6)=w (6)+a_pred×v_pred×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_pred로 바꾸어 읽으면 된다. 또한, 필터 기저 b_pred로서 다른 기저를 취했을 경우도 마찬가지이다.
(예측 방법에 따라서 필터 계수의 전환을 행하는 예)
이어서, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이, H.264/AVC 규격에서의 인트라 예측된 블록인지, 인터 예측된 블록인지에 따라서 필터 계수를 전환하는 경우에 대해서 설명한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이 인트라 예측된 블록인지 또는, 인터 예측된 블록인지에 따라, 0 또는 1을 취하는 제어 변수 v_int의 값을 1로 설정하고, 당해 제어 변수 v_int를 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이 인트라 예측된 블록인지 또는, 인터 예측된 블록인지에 관련된 필터 기저 b_int를 필터부(110)에 대하여 출력한다. 필터 기저 b_int로서는, 예를 들어 상술한 에지 강조 필터 기저, 또는 그들의 선형합(혹은 가중 선형합)을 사용하면 된다.
필터부(110)는, 이하의 수학식 20에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 20]
v (K)=w (K)+a_int×v_int×b_int (K)
여기서, a_int는 필터 기저 b_int에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_int를, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이, 인트라 예측된 블록인 경우에는, 제어 변수 v_int의 값을 1로 설정하고, 인터 예측된 블록인 경우에는, 제어 변수 v_int의 값을 0으로 설정한다. 또한, 제어 변수 결정부(120)는, 제어 변수 v_int를 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_pred를 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
일반적으로, 인트라 예측된 블록에서는, 에지가 희미해지기 쉽다는 경향이 있다.
상기와 같은 구성을 취함으로써, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이 인트라 예측된 블록인 경우에는, 에지 강조 효과를 갖는 필터링을 행하고, 인터 예측된 블록인 경우에는, 에지 강조 효과를 갖지 않는 필터링을 행할 수 있다. 따라서, 상기와 같은 구성을 취함으로써, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록이 인트라 예측된 블록이어도, 인터 예측된 블록이어도, 효과적인 필터링을 행할 수 있다.
또한, 상기한 바와 같이 인터 예측인지 인트라 예측인지에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 필터 대상 영역 T에 복수의 블록이 포함되어 있는 경우에는, 당해 복수의 블록 중 어느 하나의 블록에 할당된 정보를 사용하면 된다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_int로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여, 유지해 두면 된다.
w' (4)=w (4)+a_int×v_int×b_int (4)
=w (4)+a_int×v_int×-1
w' (5)=w (5)+a_int×v_int×2
w' (6)=w (6)+a_int×v_int×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_int로 바꾸어 읽으면 된다. 또한, 필터 기저 b_int로서 다른 기저를 취했을 경우도 마찬가지이다.
(블록 경계로부터의 거리에 따라 필터 계수의 전환을 행하는 예)
이어서, 화상 데이터(#100)의 좌표(x, y)에서의 화소와, 당해 화소가 속하는 블록의 블록 경계와의 거리에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소와, 당해 화소가 속하는 블록의 블록 경계와의 거리에 따라, 0 또는 1을 취하는 제어 변수 v_dist의 값을 1로 설정하고, 당해 제어 변수 v_dist를 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소와, 당해 화소가 속하는 블록의 블록 경계와의 거리에 관련된 필터 기저b_dist를 필터부(110)에 대하여 출력한다. 필터 기저 b_dist로서는, 예를 들어 상술한 에지 강조 필터 기저, 또는 그들의 선형합(혹은 가중 선형합)을 사용하면 된다.
필터부(110)는, 이하의 수학식 21에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 21]
v (K)=w (K)+a_dist×v_dist×b_dist (K)
여기서, a_dist는 필터 기저 b_dist에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_dist를, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소와, 당해 화소가 속하는 블록의 블록 경계와의 거리를 산출하여, 당해 거리가 미리 정해진 제1 임계값보다도 작은 경우에, 제어 변수 v_dist의 값을 2로 설정하고, 당해 거리가 상기 제1 임계값 이상이며, 상기 제1 임계값보다도 큰 제2 임계값보다 작은 경우에, 제어 변수 v_dist의 값을 1로 설정하고, 당해 거리가 상기 제2 임계값 이상일 경우에, 제어 변수 v_dist의 값을 0으로 설정한다. 또한, 제어 변수 결정부(120)는, 제어 변수 v_dist를 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_dist를 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
상기와 같은 구성을 취함으로써, 화상 데이터(#100)의 좌표(x, y)에서의 화소와, 당해 화소가 속하는 블록의 블록 경계와의 거리에 따라, 에지 강조 효과가 상이한 3단계의 필터링을 행할 수 있다. 즉, 당해 화소와 블록 경계와의 거리가, 상기 제1 임계값보다도 작은 경우에, 상기 3단계 중 가장 에지 강조 효과가 강한 필터링을 행하고, 당해 거리가 상기 제1 임계값 이상이며, 상기 제2 임계값보다도 작은 경우에, 상기 3단계 중 2번째로 에지 강조 효과가 강한 필터링을 행하고, 상기 거리가 상기 제2 임계값 이상일 경우에, 에지 강조 효과를 갖지 않는 필터링을 행할 수 있다.
또한, 블록 경계로부터의 거리에 따라 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 상기 블록 경계가 수직인 경계인지, 수평한 경계인지에 따라, 상기 필터 기저를 변경하는 구성으로 해도 좋다. 즉, 상위 블록 경계가 수직인 경계일 경우에는, 필터 계수 b_dist가, 상술한 가로 방향 에지 강조 기저를 취하고, 상위 블록 경계가 수평인 경계일 경우에는, 필터 계수 b_dist가, 상술한 세로 방향 에지 강조 기저를 취하는 구성으로 해도 좋다.
또한, 제어 변수 결정부(120)는, 수직한 블록 경계로부터의 거리에 따른 제어 변수와, 수평한 블록 경계로부터의 거리에 따른 제어 변수를 출력하는 구성으로 하고, 수직인 블록 경계로부터의 거리 및, 수평한 블록 경계로부터의 거리의 각각에 따라, 에지 강조 효과가 상이한 필터링을 행할 수도 있다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_dist로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여, 유지해 두면 된다.
w' (4)=w (4)+a_dist×v_dist×b_dist (4)
=w (4)+a_dist×v_dist×-1
w' (5)=w (5)+a_dist×v_dist×2
w' (6)=w (6)+a_dist×v_dist×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_dist으로 바꾸어 읽으면 된다. 또한, 필터 기저 b_dist로서 다른 기저를 취했을 경우도 마찬가지이다.
(프레임 내 위치에 따라서 필터 계수의 전환을 행하는 예)
이어서, 화상 데이터(#100)의 좌표(x, y)에서의 화소의 프레임 내에서의 위치에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소의 프레임 내에서의 위치에 따라, 0 또는 1을 취하는 제어 변수 v_xy의 값을 1로 설정하고, 당해 제어 변수 v_xy를 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소의 프레임 내에서의 위치에 관련된 필터 기저 b_xy를 필터부(110)에 대하여 출력한다. 필터 기저 b_xy로서는, 예를 들어 상술한 에지 강조 기저나 상술한 DC 오프셋 기저 등을 사용하면 된다.
필터부(110)는, 이하의 수학식 22에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 22]
v (K)=w (K)+a_xy×v_xy×b_xy (K)
여기서, a_xy는 필터 기저 b_xy에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_xy를, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 예를 들어 화상 데이터(#100)의 좌표(x, y)에서의 화소가, 프레임의 상반면에 위치하는 경우에, 제어 변수 v_xy의 값을 1로 설정하고, 당해 화소가 프레임의 하반면에 위치하는 경우에, 제어 변수 v_xy의 값을 0으로 설정한다. 또한, 제어 변수 결정부(120)는, 제어 변수 v_xy를 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_xy를 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
상기와 같은 구성을 취함으로써, 프레임의 상반면에 대하여, DC 오프셋의 효과를 갖는 필터링을 행하고, 프레임의 하반면에 대하여, DC 오프셋의 효과를 갖지 않는 필터링을 행할 수 있다.
또한, 상기의 설명에서는, 필터 기저 b_xy로서, DC 오프셋 기저를 사용하는 경우를 예로 들었지만, 본 발명은 이것에 한정되는 것은 아니라, 필터 기저 b_xy로서, 상술한 에지 강조 기저를 사용할 수도 있다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_xy로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여, 유지해 두면 된다.
w' (4)=w (4)+a_xy×v_xy×b_xy (4)
=w (4)+a_xy×v_xy×-1
w' (5)=w (5)+a_xy×v_xy×2
w' (6)=w (6)+a_xy×v_xy×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_xy로 바꾸어 읽으면 된다. 또한, 필터 기저 b_xy로서 다른 기저를 취했을 경우도 마찬가지이다.
(양자화 파라미터의 크기에 따라서 필터 계수의 전환을 행하는 예)
이어서, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 양자화 파라미터 QP에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다.
여기서, 양자화 파라미터 QP란, 예를 들어 MPEG-2 및, H.264/AVC 규격에서, 양자화 스텝에 대응된 파라미터이며, 각 블록에 할당된 파라미터를 가리킨다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 양자화 파라미터의 크기에 따라, 0 또는 1을 취하는 제어 변수 v_qp의 값을 1로 설정하고, 당해 제어 변수 v_qp를 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 양자화 파라미터 QP의 크기에 관련된 필터 기저 b_qp를 필터부(110)에 대하여 출력한다. 필터 기저 b_qp로서는, 예를 들어 상술한 에지 강조 기저를 사용하면 된다.
필터부(110)는, 이하의 수학식 23에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 23]
v (K)=w (K)+a_qp×v_qp×b_qp (K)
여기서, a_qp는 필터 기저 b_qp에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_qp를, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 양자화 파라미터 QP의 값이, 미리 정해진 임계값 이상일 경우에, 제어 변수 v_qp의 값을 1로 설정하고, 양자화 파라미터 QP의 값이 당해 임계값보다도 작은 경우에, 제어 변수 v_qp의 값을 0으로 설정한다. 또한, 제어 변수 결정부(120)는, 제어 변수 v_qp를 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_qp를 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
일반적으로, 보다 큰 양자화 파라미터 QP가 관련된 블록은, 보다 희미함을 포함하기 쉽다는 경향이 있다.
상기와 같은 구성을 취함으로써, 양자화 파라미터 QP가 상기 임계값 이상일 경우에, 바림 효과를 갖는 필터링을 행하고, 양자화 파라미터 QP가 상기 임계값보다 작은 경우에, 바림 효과를 갖지 않는 필터링을 행할 수 있다.
따라서, 상기와 같은 구성을 취함으로써, 화상 데이터(#100)가 여러 가지 값의 양자화 파라미터를 포함하는 경우라도, 효과적인 필터링을 행할 수 있다.
또한, 상기한 바와 같이 양자화 파라미터 QP의 값에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 필터 대상 영역 T에 복수의 블록이 포함되는 것과 같을 경우에는, 당해 복수의 블록 중 어느 하나의 블록에 할당된 정보를 사용하면 된다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_qp로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여, 유지해 두면 된다.
w' (4)=w (4)+a_qp×_qp×b_qp (4)
=w (4)+a_qp×v_qp×-1
w' (5)=w (5)+a_qp×v_qp×2
w' (6)=w (6)+a_qp×v_qp×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_qp로 바꾸어 읽으면 된다. 또한, 필터 기저 b_qp로서 다른 기저를 취했을 경우도 마찬가지이다.
(DC 성분의 크기에 따라서 필터 계수의 전환을 행하는 경우)
이어서, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 DC 성분의 크기에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다.
여기서, 상기 DC 성분이란, 예를 들어 H.264/AVC 규격에서, 상기 블록에 포함되는 화소값에 대하여 주파수 변환을 행한 후의 각 계수 중 직류 성분에 대응하는 계수다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 DC 성분의 크기에 따라, 0 또는 1을 취하는 제어 변수v_dc'의 값을 1로 설정하고, 당해 제어 변수 v_dc'를 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 DC 성분의 크기에 관련된 필터 기저 b_dc'를 필터부(110)에 대하여 출력한다. 필터 기저 b_dc'로서는, 예를 들어 상술한 에지 강조 기저를 사용하면 된다.
필터부(110)는, 이하의 수학식 24에 의해 표현되는 각 성분 v (K)를 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 24]
v (K)=w (K)+a_dc'×_dc'×b_dc' (K)
여기서, a_dc'는 필터 기저 b_dc'에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_dc'를, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 DC 성분의 값이, 미리 정해진 임계값 이상일 경우에, 제어 변수 v_dc'의 값을 0으로 설정하고, DC 성분의 값이 당해 임계값보다도 작은 경우에, 제어 변수 v_dc'의 값을 1로 설정한다. 또한, 제어 변수 결정부(120)는, 제어 변수 v_dc'를 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_dc'를 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
일반적으로, 보다 작은 DC 성분이 관련된 블록에서는, 흐려짐이 보다 발생하기 쉬운 경향이 있다.
상기와 같은 구성을 취함으로써, DC 성분의 값이 상기 임계값보다도 작은 경우에, 바림 효과를 갖는 필터링을 행하고, DC 성분의 값이 상기 임계값 이상일 경우에, 바림 효과를 갖지 않는 필터링을 행할 수 있다.
따라서, 상기와 같은 구성을 취함으로써, 화상 데이터(#100)가 나타내는 화상이, 여러 가지 DC 성분을 갖는 블록으로 구성되는 경우라도, 효과적인 필터링을 행할 수 있다.
또한, 상기한 바와 같이 DC 파라미터의 값에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 필터 대상 영역 T에 복수의 블록이 포함되는 경우에는, 당해 복수의 블록 중 어느 하나의 블록에 할당된 정보를 사용하면 된다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_dc'로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하고, 유지해 두면 된다.
w' (4)=w (4)+a_dc'×v_dc'×b_dc' (4)
=w (4)+a_dc'×v_dc'×-1
w' (5)=w (5)+a_dc'×v_dc'×2
w' (6)=w (6)+a_dc'×v_dc'×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_dc'로 바꾸어 읽으면 된다. 또한, 필터 기저 b_dc'로서 다른 기저를 취했을 경우도 마찬가지이다.
(움직임 벡터의 크기에 따라서 필터 계수의 전환을 행하는 경우)
이어서, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 움직임 벡터의 크기에 따라, 필터 계수를 전환하는 경우에 대해서 설명한다.
여기서, 상기 움직임 벡터란, 예를 들어 H.264/AVC 규격에서, 화면 간 예측을 위해서 사용되는 움직임 벡터를 가리킨다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 움직임 벡터의 크기 따라, 0 또는 1을 취하는 제어 변수v_mv의 값을 1로 설정하고, 당해 제어 변수 v_mv를 필터부(110)에 대하여 출력한다.
또한, 제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 움직임 벡터의 크기에 관련된 필터 기저 b_mv를 필터부(110)에 대하여 출력한다. 필터 기저 b_mv로서는, 예를 들어 상술한 에지 강조 기저를 사용하면 된다.
필터부(110)는, 이하의 수학식 25에 의해 표현되는 각 성분 v (K)을 갖는 필터 계수 벡터 V의 각 계수를 교사 데이터(#200)를 참조하여 결정한다.
[수학식 25]
v (K)=w (K)+a_mv×v_mv×b_mv (K)
여기서, a_mv는, 필터 기저 b_mv에 대응한 계수(고정 계수)이다.
필터부(110)는, 슬라이스마다 또는, 프레임마다, 고정 계수 벡터의 각 성분 w (K), 계수 a_mv를, 예를 들어 상술한 통계적 방법에 의해 결정한다.
제어 변수 결정부(120)는, 화상 데이터(#100)의 좌표(x, y)에서의 화소가 속하는 블록에 관련된 움직임 벡터의 크기가, 미리 정해진 임계값 이상일 경우에, 제어 변수 v_mv의 값을 1로 설정하고, 움직임 벡터의 크기가 당해 임계값보다도 작은 경우에, 제어 변수 v_mv의 값을 0으로 설정한다. 또한, 제어 변수 결정부(120)는, 제어 변수 v_mv를 필터부(110)에 대하여 출력한다.
필터부(110)는, 제어 변수 결정부(120)로부터 공급되는 제어 변수 v_mv를 사용한 필터 계수 벡터 V에 기초하여, 필터 대상 영역 T마다 필터링을 행한다.
일반적으로, 보다 큰 움직임 벡터가 관련된 블록에서는, 흐려짐이 보다 발생하기 쉬운 경향이 있다.
상기와 같은 구성을 취함으로써, 움직임 벡터의 크기가 상기 임계값 이상일 경우에, 바림 효과를 갖는 필터링을 행하고, 움직임 벡터의 크기가 상기 임계값보다 작은 경우에, 바림 효과를 갖지 않는 필터링을 행할 수 있다.
따라서, 상기와 같은 구성을 취함으로써, 화상 데이터(#100)가 나타내는 화상이, 여러 가지 크기를 갖는 움직임 벡터가 관련된 블록으로 구성되는 경우라도, 효과적인 필터링을 행할 수 있다.
또한, 상기한 바와 같이 움직임 벡터의 크기에 따라서 필터 계수의 전환을 행하는 경우라도, 상술한 바와 같은 DC 오프셋에 대응하는 필터 기저 및, 필터 계수를 사용함으로써, DC 오프셋에 의한 휘도 변화의 효과를 갖는 필터링을 행할 수도 있다.
또한, 필터 대상 영역 T에 복수의 블록이 포함되는 경우에는, 당해 복수의 블록 중 어느 하나의 블록에 할당된 정보를 사용하면 된다.
또한, 상기 움직임 벡터의 크기 대신에, 상기 움직임 벡터와 예측 벡터와의 차분인 차분 움직임 벡터의 크기에 따라, 필터 계수를 전환하는 구성으로 해도 좋다.
이상, 본 실시 형태에 관한 적응 필터(100)에 의한 필터 계수의 전환의 예에 대해서 설명을 행했지만, 본 발명은, 상술한 예에 한정되는 것은 아니다. 예를 들어, 상기의 예를 적절히 조합함으로써, 필터 계수를 전환하는 경우도 본 발명에 포함된다. 즉, 제어 변수 결정부(120)가 상기의 예에서 설명한 제어 변수 및, 제어 기저 중, 복수의 제어 기저 및, 거기에 대응하는 복수의 제어 기저를 출력하는 구성으로 해도 좋다. 이와 같은 구성을 취함으로써, 보다 효과적인 필터링을 행할 수 있다.
또한, 본 동작예에서의 적응 필터(100)에 의한 구체적인 필터 계수 산출 처리로서는, 예를 들어 필터 기저 b_mv로서, 가로 방향 에지 강조 기저를 취했을 경우에는, 상기 <필터 계수 산출 처리>의 (예비 스텝)에서의 w' (i)를 이하의 식에 의해 산출하여, 유지해 두면 된다.
w' (4)=w (4)+a_mv×v_mv×b_mv (4)
=w (4)+a_mv×v_mv×-1
w' (5)=w (5)+a_mv×v_mv×2
w' (6)=w (6)+a_mv×v_mv×-1
또한, 상기 <필터 계수 산출 처리>에서의 다른 스텝에서는, 제어 변수 v_skip을 제어 변수 v_mv로 바꾸어 읽으면 된다. 또한, 필터 기저 b_mv로서 다른 기저를 취했을 경우도 마찬가지이다.
또한, 제어 변수 결정부(120)가, 복수의 제어 변수를 출력하는 경우에는, 제어 변수 결정부(120)는, 당해 복수의 제어 변수 중, 필터링에 대한 기여가 작은 복수의 제어 변수를 결정하고, 당해 기여가 작은 복수의 제어 변수의 선형합에 의해, 새로운 제어 변수를 설정하여, 당해 새로운 제어 변수의 값을 전환함으로써, 필터 계수를 전환하는 구성으로 해도 좋다.
예를 들어, 제어 변수 v_0, v_1, v_2 중, 제어 변수 v_0 및, 제어 변수 v_2에 대해서는, 필터링에 대한 기여가 작은 경우에는, 제어 변수 결정부(120)는, v_02=v_0+v_2에 의해, 새로운 제어 변수 v_02를 설정하고, 당해 제어 변수 v_02의 값을 전환함으로써, 필터 계수를 전환하는 구성으로 해도 좋다.
이와 같은 구성을 취함으로써, 필터링에 대한 기여가 작은 제어 변수의 수를 저감시킬 수 있으므로, 적응 필터(100)에서의 계산량을 삭감할 수 있다.
또한, 필터링에 대한 기여가 작은 복수의 제어 변수의 구체적인 결정 방법은, 본 발명을 한정하는 것이 아니지만, 예를 들어 제어 변수마다 상이한 값을 사용해서 필터링을 행하고, 필터링 전의 화소값과, 필터링 후의 화소값과의 차가 작은 제어 변수를 상기 기여가 작은 제어 변수로 동정(同定)하면 된다.
또한, 상기의 설명에서는, 제어 변수 결정부(120)로부터 출력된 필터 기저에 대하여, 상술한 통계적 방법에 의해, 당해 필터 기저에 대한 계수를 결정하는 구성을 예로 들었지만, 본 발명은 이것에 한정되는 것은 아니다.
예를 들어, 제어 변수 결정부(120)는, 상술한 통계적 방법에 의해 결정된 계수에 대한 최적인 필터 기저를 결정하는 구성으로 해도 좋다.
또한, 필터 기저를 고정해서 계수를 산출하는 공정과, 계수를 고정해서 최적인 필터 계수를 결정하는 공정을 반복함으로써, 화상 데이터(#100)에 대한 최적인 필터 계수 및, 필터 기저를 구할 수도 있다.
이상이, 본 실시 형태에 관한 적응 필터(100)에 관한 설명이다.
이하에서는, 적응 필터(100)가 구체적인 사용예로서, 적응 필터(100)를 구비한 동화상 부호화 장치 및, 동화상 복호 장치에 대해서, 도 5 내지 도 9를 참조하여 설명한다.
(동화상 부호화 장치로의 사용예)
우선, 적응 필터(100)를 구비하고 있는 동화상 부호화 장치(1)에 대해서 도 4을 참조하여 설명한다.
동화상 부호화 장치(1)는, 그 일부에 H.264/AVC 규격 및, KTA 소프트웨어에 채용된 기술을 사용하고 있는 동화상 부호화 장치다.
도 5는 동화상 부호화 장치(1)의 구성을 도시하는 블록도다.
도 5에 도시한 바와 같이, 동화상 부호화 장치(1)는, 변환·양자화부(11), 가변 길이 부호화부(12), 역양자화·역변환부(13), 버퍼 메모리(14), 인트라 예측 화상 생성부(15), 인터 예측 화상 생성부(16), 예측 방식 제어부(18), 움직임 벡터 용장성 삭감부(19), 가산기(21), 감산기(22), 디블로킹 필터(50) 및, 적응 필터(100)를 구비하고 있다.
동화상 부호화 장치(1)에는, 인접하는 복수의 화소로 구성되는 블록 화상(이하 「매크로 블록」이라고 함)에 분할된 입력 화상(#1)이 입력된다.
동화상 부호화 장치(1)는, 입력 화상(#1)의 부호화 처리를 행하여, 부호화 데이터(#2)를 출력한다.
변환·양자화부(11)는, 매크로 블록으로 분할된 입력 화상(#1)과, 후술하는 예측 방식 제어부(18)로부터 출력되는 예측 화상(#18a)과의 차분 화상(#22)을, DCT(Discrete Cosine Transform) 변환에 의해, 주파수 성분에 변환한 후, 당해 주파수 성분의 양자화를 행하여, 양자화 예측 잔차 데이터(#11)를 생성한다. 여기서, 상기 양자화란, 상기 주파수 성분을 정수값에 대응시키는 연산이다. 또한, 상기 DCT 변환 및, 양자화는 매크로 블록을 분할한 블록 단위로 행해진다. 이하에서는, 처리의 대상이 되는 매크로 블록을 「대상 매크로 블록」이라고 부르고, 처리의 대상이 되는 블록을 「대상 블록」이라고 부른다.
역양자화·역변환부(13)는, 양자화 예측 잔차 데이터(#11)의 복호를 행하고, 예측 잔차(#13)를 생성한다. 구체적으로는, 역양자화·역변환부(13)는, 양자화 예측 잔차 데이터(#11)의 역양자화, 즉, 양자화 예측 잔차 데이터(#11)를 구성하는 정수값의 주파수 성분에 대한 대응 및, 당해 주파수 성분의 역DCT 변환, 즉, 당해 주파수 성분에 기초한 대상 매크로 블록의 화소 성분에 대한 역변환을 행하고, 예측 잔차(#13)를 생성한다.
가산기(21)는, 예측 잔차(#13)와 예측 화상(#18a)을 가산하여, 복호 화상(#21)을 생성한다. 생성된 복호 화상(#21)은, 디블로킹 필터(50)에 공급된다.
디블로킹 필터(50)는, 복호 화상(#21)에서의 블록 경계 또는 매크로 블록 경계를 개재해서 서로 인접하는 화소의 화소값의 차가 미리 정해진 임계값보다도 작은 경우에, 복호 화상(#21)에서의 당해 블록 경계 또는 매크로 블록 경계에 대하여 디블로킹 처리를 실시한다. 디블로킹 처리가 실시된 화상 데이터는, 디블록 화상(#50)으로서 출력된다.
적응 필터(100)는, 디블록 화상(#50)에 대하여, <적응 필터(100)에 의한 필터링의 예>에서 설명한 필터링을 실시하고, 출력 화상 데이터(#110a)를 버퍼 메모리(14)에 대하여 출력한다. 여기서, 디블록 화상(#50)은, 상술한 화상 데이터(#100)에 대응하고 있다.
또한, 적응 필터(100)에는, 입력 화상(#1) 및, 복호 화상(#21) 및, 복호 화상(#21)에 관련된 사이드 정보가 입력된다. 여기서, 입력 화상(#1)은, 상술한 교사 데이터(#200)에 대응하고 있고, 상기 사이드 정보는, 상술한 사이드 정보(#100a)에 대응하고 있다.
또한, 적응 필터(100)는, 필터링에 사용한 필터 계수의 정보인 필터 계수 정보(#101)를 출력한다. 여기서, 필터 계수 정보(#101)는 상술한 필터 계수 정보(#110b)에 대응하고 있다. 즉, 필터 계수 정보(#101)에는, 고정 계수 벡터 W의 각 성분 w (K) 및, 필터링에 사용한 고정 계수가 포함된다. 예를 들어, 상술한 동작예와 같이, 적응 필터(100)가, 스킵 모드인지 여부에 따라서 필터 계수의 전환을 행하는 경우에는, 필터 계수 정보(#101)에는, 고정 계수 벡터 W의 각 성분 w (K) 및, 고정계수 a_skip이 포함된다. 또한, 다른 동작예에 대해서도 마찬가지이다.
또한, 본 사용예에서의 적응 필터(100)는, 거의 KTA에서의 ALF(Adaptive Loop Filter)에 대응하고 있다. 즉, 본 사용예에서의 적응 필터(100)는, 정수 좌표의 화소(이하, 정수 화소와 칭함)의 화소값을 입력으로 하여, 정수 화소의 화소값을 출력한다. 이것은, 수학식 1에서 x, y, x', 및, y'를 모두 정수로 취하는 것에 대응하고 있다.
또한, 동화상 부호화 장치(1)는 디블로킹 필터(50)를 구비하지 않는 구성이어도 좋다. 이 경우, 적응 필터(100)는, 디블록 화상(#50)이 아니고, 복호 화상(#21)에 직접 필터링을 행한다. 특히, 블록 경계를 포함할지 여부, 혹은, 블록 경계와의 거리를, 제어 변수로 하는 경우에는, 적응 필터(100)는 디블로킹 필터와 마찬가지 블록 노이즈를 삭제하는 성질을 갖게 할 수 있다. 이러한 경우, 디블로킹 필터(50) 처리를 생략하는 만큼, 처리량을 삭감하는 효과를 얻을 수 있다. 또한, 디블로킹 필터(50)로서, 디블로킹 필터에 특화한 적응 필터를 사용함으로써 종래의 디블로킹 필터보다도 높은 효과를 얻을 수 있다(예를 들어, 휘도의 값에 의해 바림 효과를 바꾸는 필터를 적용할 수 있음).
동화상 부호화 장치(1)는 디블로킹 필터와 적응 필터를 포함하는 구성, 디블로킹 필터를 포함하지 않고 적응 필터만을 포함하는 구성, 디블로킹 필터용 적응 필터와 적응 필터의 양자를 포함하는 구성 중 어느 것이든 좋다.
인트라 예측 화상 생성부(15)는, 버퍼 메모리(14)에 저장된 복호 화상(#21)으로부터 국소 복호 화상(#14a)(대상 매크로 블록과 같은 프레임의 기 복호 영역)을 추출하고, 국소 복호 화상(#14a)에 기초해서 프레임 내 예측을 행하여, 인트라 예측 화상(#15)을 생성한다.
인터 예측 화상 생성부(16)는, 입력 화상(#1) 상의 대상 블록에 대하여, 이미 프레임 전체가 복호되어, 버퍼 메모리(14)에 저장된 참조 화상(#14b)을 사용하여, 움직임 벡터(#17)을 산출하고, 할당한다. 산출된 움직임 벡터(#17)은, 예측 화상 생성부(16), 움직임 벡터 용장성 삭감부(19)에 대하여 출력됨과 함께, 버퍼 메모리(14)에 저장된다. 또한, 인터 예측 화상 생성부(16)은, 참조 화상(#14b)에 대하여, 블록마다, 움직임 벡터(#17)에 기초한 움직임 보상을 행하여, 인터 예측 화상(#16)을 생성한다.
예측 방식 제어부(18)는, 매크로 블록 단위에서, 인트라 예측 화상(#15)과, 인터 예측 화상(#16)과, 입력 화상(#1)을 비교하고, 인트라 예측 화상(#15) 또는, 인터 예측 화상(#16) 중, 어느 한쪽을 선택하여, 예측 화상(#18a)으로서 출력한다. 또한, 예측 방식 제어부(18)는, 인트라 예측 화상(#15) 또는, 인터 예측 화상(#16) 중, 어느 것을 선택할 것인지를 나타내는 정보인 예측 모드(#18b)를 출력한다. 예측 화상(#18a)은 감산기(22)에 입력된다.
예측 모드(#18b)는, 버퍼 메모리(14)에 저장됨과 함께, 가변 길이 부호화부(12)에 입력된다.
움직임 벡터 용장성 삭감부(19)는, 인터 예측 화상 생성부(16)에서 상기 대상 블록에 움직임 벡터(#17)가 할당된 후, 다른 블록에 할당되어, 버퍼 메모리(14)에 저장된 움직임 벡터 군(#14c)에 기초해서 예측 벡터를 산출한다. 또한, 움직임 벡터 용장성 삭감부(19)는, 당해 예측 벡터와, 움직임 벡터(#17)의 차분을 취하여, 차분 움직임 벡터(#19)를 생성한다. 생성된 차분 움직임 벡터(#19)는 가변 길이 부호화부(12)에 출력된다.
가변 길이 부호화부(12)는, 양자화 예측 잔차 데이터(#11), 차분 움직임 벡터(#19), 예측 모드(#18b) 및, 필터 계수 정보(#101)에 포함되는 필터 계수에 대하여 가변길이 부호화를 행하고, 부호화 데이터(#2)를 생성한다.
감산기(22)는, 대상 매크로 블록에 대하여, 입력 화상(#1)과, 예측 화상(#18a)과의 차분을 취하여, 차분 화상(#22)을 출력한다.
(필터 계수 정보(#101)의 부호화)
여기서, 필터 계수 정보(#101)의 부호화에 대해서, 도 6의 (a) 내지 (c)를 참조하여 구체적으로 설명한다. 도 6의 (a) 내지 (c)는, 각각 필터 계수 정보(#101)의 부호화 데이터의 구성을 도시하는 도면이다.
필터 계수 정보(#101)는, 필터 계수 혹은 필터 계수의 산출에 필요한 정보다. 예를 들어, 필터 계수 산출식 F가 수학식 9인 경우에는, 고정 계수 벡터 wi, 고정 계수 akj가 된다. 필터 계수 산출식 F가 수학식 6인 경우에는, w (i), i=1 내지 10 및 a_skip이 필터 계수 정보(#101)가 된다.
도 6의 (a)의 예는, 필터 계수 정보(#101)의 부호화 데이터가 고정 필터 파라미터로 구성된다. 필터 계수 정보(#101)의 각 값은, 중심 요소를 제외하고 0에 가까운 값의 출현 확률이 높기 때문에, 필터 계수 정보(#101)의 각 값을 부호와 절대값으로 나누고, 부호에 대해서는 1비트의 부호, 절대값에 대해서는 0에 가까울수록 짧은 부호어가 되는 부호를 할당하여 부호화한다. 부호화 방법은 이에 한정하지 않고 산술 부호 등을 적용해도 좋다. 중심 요소는 1에 가까운 값인 것을 이용한다.
또한, 필터 계수 정보(#101)의 예측값을 산출하여, 필터 계수 정보(#101)와 예측값의 차(예측 차분)를 부호화하는 것도 적당하다. 예측값으로서는 중심값이 1에 가깝고, 다른 요소는 0에 가까운 것을 이용해서 중심에 대응하는 w(5)의 예측값을 0.8, 그 주위의 w(i)의 예측값을 0.1로 하는 것 등을 하면 좋다. 예측 방법은 이것에 제한되지 않는다.
또한, 도 3을 사용해서 앞서 설명한 바와 같이, 필터 계수 벡터는, 제어 변수에 따라 변화하는 성분과, 변화하지 않는 성분으로 나눌 수 있다. 이 특성을 이용해서 부호화할 수도 있다. 도 6의 (b) 및 (c)는, 이 두가지 예를 도시하고 있다.
도 6의 (b)의 예는, (1) 제어 변수에 따라 변화하지 않는 각각의 성분에 관한 필터 계수와, (2) 제어 변수에 따라 변화하는 각각의 성분에 관한 필터 계수이며, 제어 변수의 각각의 값에 대응하는 필터 계수로 구성된다. 이 예에서는, 제어 변수에 따라 변화하지 않는 성분에 대해서는 필터 계수 v (i)를 그대로 부호화하고, 제어 변수에 따라 변화하는 성분에 대해서는, 제어 변수 v_skip이 0인 경우의 필터 계수 v (i), i=4, 5, 6과, 제어 변수 v_skip이 1인 경우의 필터 계수 v'(i), i=4, 5, 6을 부호화한다.
도 6의 (c)의 예는, (1) 제어 변수에 따라 변화하지 않는 각각의 성분에 관한 필터 계수(기본 계수라고 함)와, (2) 제어 변수에 따라 변화하는 각각의 성분에 관한, 필터 계수와 기본 계수와의 차분을 포함하는 구성이다. 이 예에서는, 우선, 제어 변수 v_skip이 0인 경우에 대응하는 필터 계수 벡터 V, v (i), i=1 내지 10을 부호화한다. 계속해서, 제어 변수에 따라 변화하는 필터 계수 벡터의 요소에 대해서, 제어 변수 v_skip이 0인 경우에 대응하는 필터 계수 v (i)와 제어 변수 v_skip이 1인 경우에 대응하는 필터 계수 v'(i)와의 차분 dv'(i), i=4, 5, 6을 부호화한다.
또한, 도 6의 (b) 및 (c)의 경우에서도, 필터 계수가 대칭(기저가 대칭)이면, 동일해지는 필터 계수에 대해서는 한쪽만을 부호화하면 된다.
상기의 예에서는, 제어 변수 v_skip에 따라 변화하는 성분이 3개이므로, 도 6의 (b), (c)와 같이, 필터 계수에 따라 변화하는 성분과 변화하지 않는 성분을 성분마다 부호화하는 것보다도, 제어 변수에 관계되는 부분의 필터 계수 정보(여기서는 a_skip)만을 부호화하는 (a)쪽이, 부호화하는 필터 계수 정보의 수가 적어져서 적합하다. 그러나, 제어 변수에 대응하는 기저로서 DC 오프셋 기저 b_dc를 사용한 경우와 같이, 제어 변수에 따라 변화하는 성분이 1개인 경우에는, 필터 계수에 따라 변화하는 성분과 변화하지 않는 성분을 성분마다 부호화하는 방법과, 제어 변수에 관계되는 부분의 필터 계수 정보만을 부호화하는 방법에서는 부호화하는 필터 계수 정보의 수는 동등해진다.
이와 같이, 본 발명에 따른 부호화 장치(동화상 부호화 장치(1))는, 상기 화상 필터(적응 필터(100))를 구비하고, 복호 화상에 상기 화상 필터를 작용시키는 것을 특징으로 하고 있다.
상기와 같이 구성된 본 발명에 따른 부호화 장치는, 당해 부호화 장치에 의해 부호화되어 다시 복호된 복호 화상에 대하여, 상기 화상 필터에 의한 필터링을 행할 수 있으므로, 상기 화상 필터와 마찬가지인 효과를 발휘한다. 또한, 상기와 같이 구성된 부호화 장치는, 상기 단위 영역마다 정해진 상기 고정 필터 계수 벡터(고정 계수 벡터 W로부터 산출되는 필터 계수 벡터)의 각 성분 및 상기 고정 계수를 사용하여, 상기 대상 영역마다 더욱 적절한 필터링을 행할 수 있으므로, 상기 대상 영역마다 상이한 성분을 갖는 필터 계수 벡터를 사용하는 경우에 비하여, 적은 수의 필터 계수 벡터의 성분을 사용해서 필터링을 행할 수 있다.
또한, 상기와 같이 구성된 부호화 장치를 사용함으로써, 상기 대상 영역 마다 상이한 성분을 갖는 필터 계수 벡터를 사용하는 경우에 비하여, 필터 계수 벡터의 부호량을 저감시킬 수 있다.
(인터 예측 화상 생성부에 대한 사용예)
또한, 본 발명에 따른 적응 필터(100)는, 동화상 부호화 장치(1)에서의 인터 예측 화상 생성부(16)에 대하여 사용할 수도 있다.
도 7은, 적응 필터(100)를 사용한 인터 예측 화상 생성부(16)의 구성을 도시하는 블록도다. 이하에서는 본 사용예에서의 적용 필터(100)를 적용 필터(100')라고 기재하기로 한다.
도 7에 도시한 바와 같이, 인터 예측 화상 생성부(16)는, 예측 화상 생성부(16a), 움직임 벡터 추정부(17) 및, 적응 필터(100')를 구비하고 있다. 또한, 본 사용예에서의 적응 필터(100')는, 거의 KTA에서의 AIF(Adaptive Interpolation Filter)에 대응하고 있다.
이하에서는, 인터 예측 화상 생성부(16)의 각 부의 동작에 대해서 설명한다.
(스텝 101)
버퍼 메모리(14)에 저장된 참조 화상(#14b)이 적응 필터(100')에 입력된다. 또한, 이하에서는, 참조 신호(#14b)를, 제1 참조 신호(#14b)라고 부르기로 한다.
적응 필터(100')는, 제1 참조 화상(#14b)에 대하여, 미리 정해진 필터 계수에 기초하여 필터링을 행하고, 제1 출력 화상 데이터(#110a')를 출력한다. 즉, 본 스텝에서의 적응 필터(100')는, 미리 정해진 필터 계수에 기초하여 필터링을 행하는 고정 필터로서 동작한다.
여기서, 상기 미리 정해진 필터 계수는, 예를 들어 H.264/AVC에서 사용되는 필터 계수를 사용하면 된다. 또한, 적응 필터(100')에 의한 필터링에 의해, 제1 참조 화상(#14b)에 포함되는 정수 화소의 화소값으로부터, 정수 화소 이하의 화소 정밀도의 화상 신호가 보간에 의해 생성된다. 이것은, 수학식 1에서, x', 및, y'를 정수 이외의 수로 취하는 것에 대응하고 있다. 따라서, 제1 출력 화상 데이터(100')는, 정수 화소의 화소값 및, 정수 화소 이하의 화소 정밀도의 보간 신호를 포함하는 화상 데이터다.
(스텝 102)
움직임 벡터 추정부(17)는, 제1 출력 화상 데이터(#110a')와, 입력 화상(#1)에 기초하여, 제1 움직임 벡터(#17')를 생성한다. 제1 움직임 벡터(#17')는 1 슬라이스 혹은 1 프레임만큼 행해진다.
(스텝 103)
적응 필터(100')는, 제1 참조 화상(#14b)에 대하여, <적응 필터(100)에 의한 필터링의 예>에서 설명한 처리에 의해 필터 계수를 구한다. 적응 필터(100')에 의한 필터링에서 생성되는 화상을, 제2 출력 화상 데이터(#110a")라고 부른다. 여기서, 제1 참조 화상(#14b)은, 상술한 화상 데이터(#100)에 대응하고 있고, 제2 출력 화상 데이터(#110a")는, 상술한 출력 화상 데이터(#110a)에 대응하고 있다. 또한, 입력 화상(#1)은, 상술한 교사 데이터(#200)로서, 적응 필터(100')에 입력된다.
적응 필터(100')는, 제1 참조 화상(#14b)에 포함되는 복수의 정수 좌표의 화소(정수 화소라고 함)의 화소값으로부터, 정수 화소 이하의 화소 정밀도의 화상 신호를 보간에 의해 생성한다. 이것은, 수학식 1에서, x', 및, y'를 정수 이외의 수로 취하는 것에 대응하고 있다. 따라서, 제2 출력 화상 데이터(#110a')는, 정수 화소의 화소값 및, 정수 화소 이하의 화소 정밀도의 보간 신호를 포함하는 화상 데이터다.
(스텝 104)
움직임 벡터 추정부(17)는, 제2 출력 화상 데이터(#110a")와, 입력 화상(#1)에 기초하여, 제2 움직임 벡터(#17")를 생성한다.
(스텝 105)
적응 필터(100')는, 제1 참조 화상(#14b)에 대하여 구한 필터 계수에 의한 필터링을 행하고, 제2 움직임 벡터(#17")에 기초한 움직임 보상 화상을 생성함으로써, 인터 예측 화상(#16)을 생성하여 출력한다.
또한, 적용 필터(100')는, 상기 제2 출력 화상 데이터(#110a')를 생성할 때, 출력 화상 데이터(#110a')에 포함되는 화소의 위치에 따라, 제어 변수 및, 필터 기저를 설정하는 구성으로 해도 좋다.
(동화상 복호 장치에 대한 사용예)
이하에서는, 적응 필터(100)를 구비하고 있는 동화상 복호 장치(2)에 대해서 도 8을 참조하여 설명한다.
동화상 복호 장치(2)는, 그 일부에 H.264/AVC 규격 및, KTA 소프트웨어에 채용되어 있는 기술을 사용하고 있는 동화상 복호 장치다.
도 8은, 동화상 복호 장치(2)의 구성을 도시하는 블록도다.
도 8에 도시한 바와 같이, 동화상 복호 장치(2)는, 가변길이 부호 복호부(23), 움직임 벡터 복원부(24), 버퍼 메모리(25), 인터 예측 화상 생성부(26), 인트라 예측 화상 생성부(27), 예측 방식 결정부(28), 역양자화·역변환부(29), 가산기(30), 디블로킹 필터(50) 및, 적응 필터(100)를 구비하고 있다.
동화상 복호 장치(2)는, 부호화 데이터(#2)를 받아, 출력 화상(#3)을 출력한다.
가변길이 부호 복호부(23)는, 부호화 데이터(#2)를 가변 길이 복호하고, 차분 움직임 벡터(#23a), 사이드 정보(#23b), 양자화 예측 잔차 데이터(#23c) 및, 필터 계수 정보(#23d)를 출력한다.
움직임 벡터 복원부(24)는, 차분 움직임 벡터(#23a) 및, 이미 복호되어 버퍼 메모리(25)에 저장된 움직임 벡터(#25a)로부터 대상 파티션의 움직임 벡터(#24)를 복호한다.
버퍼 메모리(25)에는, 적응 필터(100)로부터 출력되는 출력 화상 데이터(#110a), 움직임 벡터(#24) 및, 사이드 정보(#23b)가 저장된다.
인터 예측 화상 생성부(26)는, 움직임 벡터 복원부(24)에 의해 복호되어, 버퍼 메모리(25)를 경유한 움직임 벡터(#24) 및, 버퍼 메모리(25)에 저장된 참조 화상(#25d)에 기초하여, 인터 예측 화상(#26)을 생성한다. 또한, 움직임 벡터(#25c)는, 움직임 벡터(#24)와 동일한 움직임 벡터를 포함한다. 또한, 참조 화상(#25d)은, 후술하는 적용 필터(100)로부터 출력되는 출력 화상 데이터(#110a)에 대응하고 있다.
인트라 예측 화상 생성부(27)는, 버퍼 메모리(25)에 저장된, 대상 매크로 블록과 같은 화상 내의 국소 복호 화상(#25b)으로부터, 인트라 예측 화상(#27)을 생성한다.
예측 방식 결정부(28)는, 사이드 정보(#23b)에 포함되는 예측 모드 정보에 기초하여, 인트라 예측 화상(#27) 또는, 인터 예측 화상(#26) 중, 어느 한쪽을 선택하여, 예측 화상(#28)으로서 출력한다.
역양자화·역변환부(29)는, 양자화 예측 잔차 데이터(#23c)에 대하여, 역양자화 및, 역DCT 변환을 행하여, 예측 잔차(#29)를 출력한다.
가산기(30)는, 예측 잔차(#29) 및, 예측 화상(#28)을 가산하여, 복호 화상(#3)으로서 출력한다. 또한, 출력된 복호 화상(#3)은, 디블로킹 필터(50)에 공급된다.
디블로킹 필터(50)는, 복호 화상(#3)에서의 블록 경계 또는 매크로 블록 경계를 거쳐서 서로 인접하는 화소의 화소값의 차가 미리 정해진 임계값보다도 작은 경우에, 복호 화상(#3)에서의 당해 블록 경계 또는 매크로 블록 경계에 대하여 디블로킹 처리를 실시한다. 디블로킹 처리가 실시된 화상 데이터는, 디블록 화상(#50)으로서 출력된다.
적응 필터(100)는, 디블록 화상(#50)에 대하여 <적응 필터(100)에 의한 필터링의 예>에서 설명한 필터링을 실시한다. 여기서, 디블록 화상(#50)은, 상술한 화상 데이터(#100)에 대응하고 있다.
또한, 본 사용예에서의 적응 필터(100)는, 부호화 데이터(#2)로부터 복호된 필터 계수 정보(#23d)에 기초해서 필터 계수를 산출하고, 당해 필터 계수를 사용한 필터링을 행한다.
즉, 본 사용예에서의 적응 필터(100)는 <적응 필터(100)에 의한 필터링의 예>에서 설명한 통계적 방법에 의해 필터 계수를 결정하는 대신, 부호화 데이터(#2)로부터 복호된 필터 계수 정보(#23d)에 기초해서 필터 계수를 산출하고, 당해 필터 계수를 사용한 필터링을 행한다. 적응 필터(100)에서의 필터 계수의 전환에 대해서는, <적응 필터(100)에 의한 필터링의 예>에서 설명한 바와 같다.
적응 필터(100)는, 디블록 화상(#50)에 대하여 필터링을 실시함으로써 생성한 출력 화상 데이터(#110a)를 버퍼 메모리(25)에 대하여 출력한다.
또한, 적응 필터(100)에는, 사이드 정보(#23b)가 입력된다. 여기서, 사이드 정보(#23b)는, 대상 블록이 쌍방향 예측된 블록인지 또는, 단방향 예측된 블록인지에 대한 정보, 대상 매크로 블록에 스킵 모드가 적용되어 있는지 여부에 대한 정보, 대상 매크로 블록이 인트라 예측된 매크로 블록인지, 인터 예측된 매크로 블록인지에 대한 예측 모드 정보, 대상 블록에 관련된 양자화 파라미터 QP를 포함하는 것으로 한다. 또한, 사이드 정보(#23b)는, 상술한 사이드 정보(#100a)에 대응하고 있다.
또한, 본 사용예에서의 적응 필터(100)는, 거의 KTA에서의 ALF(Adaptive Loop Filter)에 대응하고 있다. 즉, 본 사용예에서의 적응 필터(100)는, 정수 화소의 화소값을 입력으로 하여, 정수 화소의 화소값을 출력한다. 이것은, 수학식 1에서, x, y, x', 및, y'를 모두 정수로 취하는 것에 대응하고 있다.
또한, 동화상 복호 장치(2)는 디블로킹 필터(50)를 구비하지 않는 구성이어도 좋다. 이 경우, 적응 필터(100)는, 디블록 화상(#50)이 아닌, 복호 화상(#3)에 직접 필터링을 행한다. 동화상 부호화 장치(1)와 마찬가지로, 처리량 삭감의 효과를 얻을 수 있다.
동화상 복호 장치(2)는, 또한, 동화상 부호화 장치(1)와 마찬가지로, 디블로킹 필터와 적응 필터를 포함하는 구성, 디블로킹 필터를 포함하지 않고 적응 필터만을 포함하는 구성, 디블로킹 필터용 적응 필터와 적응 필터의 양자를 포함하는 구성 중 어느 것이어도 좋다.
<필터 계수의 복호와 도출>
<도 6의 (a)의 예로 대표되는 경우>
고정 필터 파라미터 혹은 그 예측 차분 데이터가 부호화되어 있는 경우에는, 가변길이 부호 복호부(23)는, 필터 계수 정보(#23d)로서, 고정 필터 파라미터를 복호한다. 도 6의 (a)에서는 w (1) 내지 w (M×N+1)와 a_skip을 복호한다.
적응 필터(100)는, 수학식 8, 수학식 9 등으로 일반형이 나타내지는 필터 산출 함수 F에 고정 필터 파라미터와 제어 변수를 입력하여 필터 계수를 도출한다. 여기에서는, 수학식 6에 복호된 w(1) 내지 w (M×N+1)와 a_skip을 입력하여, 필터 계수 벡터 V를 도출한다.
<도 6의 (b)의 예로 대표되는 경우>
필터 계수 혹은 그 예측 차분 데이터가 부호화되어 있는 경우에는, 가변길이 부호 복호부(23)는 필터 계수 정보(#23d)로서, 필터 계수를 복호한다. 또한, 도 6의 (b)의 예에서는, 제어 변수에 따라 변화하지 않는 성분에 대해서는 하나의 필터 계수, 제어 변수에 따라 변화하는 성분은, 제어 변수의 값마다 복수의 필터 계수가 부호화되어 있다.
가변길이 부호 복호부(23)는, 제어 변수에 따라 변화하는지 여부에 의해 처리를 분기함으로써 필터 계수를 도출할 수 있다. 도 6의 (b)의 예에서는, 제어 변수에 따라 변화하지 않는 필터 계수 벡터의 요소, v (i), i=1, 2, 3, 7, 8, 9, 10을 우선 복호한다. 이어서, 제어 변수에 따라 변화하는 필터 계수 벡터의 요소에 대해서, 제어 변수 v_skip이 0인 경우에 대응하는 필터 계수 v (i), i=4, 5, 6과, 제어 변수 v_skip이 1인 경우에 대응하는 필터 계수 v'(i), i=4, 5, 6을 복호한다. 또한, 제어 변수에 따라 변화하지 않는 필터 계수 벡터의 요소에 대해서는 v'(i)=v (i)로 한다.
<도 6의 (c)의 예로 대표될 경우>
기본 필터 계수 및 기본 필터 계수와의 차분, 혹은 그들 예측 차분 데이터가 부호화되어 있다. 가변길이 부호 복호부(23)는 필터 계수 정보(#23d)로서, 기본 필터 계수를 복호하고, 그 후, 기본의 필터 계수와의 차분을 복호한다. 도 6의 (c)의 예에서는, 기본의 필터 계수로서 v (i), i=1 내지 10을 복호한다. 이들은, 제어 변수 v_skip이 0인 경우에 대응하는 필터 계수 벡터 V가 된다. 계속해서, 제어 변수에 따라 변화하는 필터 계수 벡터의 요소에 대해서, 기본의 차분과의 차분인dV(i), i=4, 5, 6을 복호한다. 제어 변수 v_skip이 1인 경우에 대응하는 필터 계수 v'(i)는, 제어 변수에 따라 변화하지 않는 성분의 경우에는, 기본의 필터 계수 v (i)를 사용하여, 이하에 의해 도출한다.
v'(i)=v (i), i=1, 2, 3, 7, 8, 9, 10
제어 변수에 따라 변화하는 성분의 경우에는, 기본의 필터 계수 v (i)와, 기본의 필터 계수와의 차분 dV(i)를 사용하여, 이하에 의해 도출한다.
v'(i)=v (i)+dV(i), i=4, 5, 6
이와 같이, 제어 변수에 따라 변화할지 여부로 성분마다 분기를 행함으로써 필터 계수를 도출할 수 있다.
<적응 필터(100)의 동작>
동화상 복호 장치(2)에서도, 적응 필터(100)는 도 3, 도 4에서 이미 설명한 바와 같은 동작을 행한다. 필터 계수 벡터를 분기에 의해 도출하는 경우에는, 도 3에 도시하는 플로우가 되고, 필터 계수 벡터를 수학식 9와 같은 합에 의해 도출하는 경우에는, 도 4에 도시하는 플로우가 된다. 또한, 필터 계수 벡터를 합에 의해 도출하는 경우에도 예비 스텝을 사용하여, 도 3의 플로우로 처리해도 좋고, 미리 필터 계수의 성분의 위치와 제어 변수의 값에 의해 정해지는 테이블을 도출하여, 테이블을 참조하여 처리해도 상관없다.
<예측값을 사용한 복호>
상기에서는, 복호하는 필터 계수 정보(#23d)로서, 필터 계수, 혹은, 필터 계수의 차분, 혹은, 필터 계수의 증가도를 복호하고 있었지만, 그들 예측값을 도출하여, 예측값과의 차분을 복호하는 구성으로 하여도 좋다.
이와 같이, 본 발명에 따른 복호 장치(동화상 복호 장치(2))는, 상기 화상 필터(적응 필터(100))를 구비하고, 복호 화상에 상기 화상 필터를 작용시키는 것을 특징으로 하고 있다.
상기와 같이 구성된 본 발명에 따른 복호 장치는, 상기 화상 필터와 마찬가지 효과를 발휘한다. 또한, 상기와 같이 구성된 복호 장치는, 상기 단위 영역마다 정해진, 상기 고정 필터 계수 벡터(고정 계수 벡터 W로부터 산출되는 필터 계수 벡터)의 각 성분 및 상기 고정 계수를 사용하여, 상기 대상 영역(필터 대상 영역 T)마다 보다 적절한 필터링을 행할 수 있으므로, 상기 대상 영역마다 상이한 성분을 갖는 필터 계수 벡터를 사용하는 경우에 비하여, 적은 수의 필터 계수 벡터의 성분을 사용해서 필터링을 행할 수 있다.
또한, 상기와 같이 구성된 복호 장치를 사용함으로써, 상기 대상 영역마다 상이한 성분을 갖는 필터 계수 벡터를 사용하는 경우에 비하여, 필터 계수 벡터의 부호량을 저감시킬 수 있다.
(인터 예측 화상 생성부에 대한 사용예)
또한, 본 발명에 따른 적응 필터(100)는, 동화상 복호 장치(2)에서의 인터 예측 화상 생성부(26)에 대하여 사용할 수도 있다.
도 9는, 적응 필터(100)를 사용한 인터 예측 화상 생성부(26)의 구성을 도시하는 블록도다. 이하에서는, 본 사용예에서의 적용 필터(100)를 적용 필터(100")라고 기재하기로 한다.
도 9에 도시한 바와 같이, 인터 예측 화상 생성부(26)는, 예측 화상 생성부(26a) 및, 적응 필터(100")를 구비하고 있다.
이하에서는, 인터 예측 화상 생성부(26)의 각 부의 동작에 대해서 설명한다.
적응 필터(100")는, 버퍼 메모리(25)에 저장된 참조 화상(#25d)에 대하여, 필터링을 실시한다. 여기서, 참조 화상(#25d)은, 상술한 화상 데이터(#100)에 대응하고 있다.
또한, 본 사용예에서의 적응 필터(100")는, 부호화 데이터(#2)로부터 복호된 필터 계수 정보(#23d)에 기초한 필터링을 행한다.
즉, 본 사용예에서의 적응 필터(100")는, <적응 필터(100)에 의한 필터링의 예>에서 설명한 통계적 방법에 의해 필터 계수를 결정하는 대신, 부호화 데이터(#2)로부터 복호된 필터 계수 정보(#23d)에 기초하여 필터링을 행한다. 적응 필터(100)에서의 필터 계수의 전환에 대해서는, <적응 필터(100)에 의한 필터링의 예>에서 설명한 바와 같다.
적응 필터(100")는, 참조 화상(#25d)에 대하여 필터링을 실시함으로써 생성한 출력 화상 데이터(#110a"')를 예측 화상 생성부(26a)에 대하여 출력한다.
또한, 적응 필터(100")에는, 사이드 정보(#23b)가 입력된다. 여기서, 사이드 정보(#23b)는, 대상 블록이 쌍방향 예측된 블록인지 또는, 단방향 예측된 블록인지에 대한 정보, 대상 매크로 블록에 스킵 모드가 적용되어 있는지 여부에 대한 정보, 대상 매크로 블록이 인트라 예측된 매크로 블록인지, 인터 예측된 매크로 블록인지에 대한 예측 모드 정보, 대상 블록에 관련된 양자화 파라미터 QP를 포함하는 것으로 한다. 또한, 사이드 정보(#23b)는, 상술한 사이드 정보(#100a)에 대응하고 있다.
또한, 본 사용예에서의 적응 필터(100")는 거의, KTA에서의 AIF(Adaptive Interpolation Filter)에 대응하고 있다. 즉, 본 사용예에서의 적응 필터(100")는, 정수 화소의 화소값을 입력으로 하여, 정수 화소 이하의 화소 정밀도의 화소값을 출력한다. 이것은, 화학식 1에서 x 및, y를 정수로 취하고, x', 및, y'를 정수 또는, 소수로 취하는 것에 대응하고 있다.
예측 화상 생성부(26a)는, 출력 화상 데이터(#110a"')에 대하여, 움직임 벡터(#25c)를 사용한 움직임 보상을 행함으로써, 인터 예측 화상(#26)을 생성하여 출력한다.
(부호화 데이터(#2)의 구성)
이하에서는, 동화상 부호화 장치(1)를 사용해서 생성한 부호화 데이터(#2)의 구성에 대해서, 도 10 및 도 11을 참조하여 설명한다.
도 10은, 동화상 부호화 장치(1)를 사용해서 생성하고, 동화상 복호 장치(2)에 참조되는 부호화 데이터(#2)의 슬라이스마다의 비트 스트림(#BS)을 도시하는 도면이다. 도 10에 도시한 바와 같이, 비트 스트림(#BS)은, 필터 계수 정보(FC), 매크로 블록 정보(MB1 내지 MBN)를 포함하고 있다.
도 11은, 필터 계수 정보(FC)의 구성의 일례를 나타내는 도면이다.
필터 계수 정보(FC)는, 적응 필터(100)에 의해 생성된 필터 계수 정보(#23d)를 포함하는 정보이며, 이미 도 6을 사용해서 설명한 필터 계수 정보(#101)와 마찬가지이다. 또한, 동화상 복호 장치(2)는, 필터 계수 정보(#23d) 외에, 사용하는 제어 변수의 종류를 나타내는 정보를 복호해도 좋다. 예를 들어, 0 내지 255까지의 8비트의 정보를 복호하고, 제어 변수에 평탄도를 사용하는 경우에는 1, 에지의 각도를 사용하는 경우에는 2, 휘도를 사용하는 경우에는 4, 색을 사용하는 경우에는 8, 에지를 포함할 것인지 여부를 사용하는 경우에는 16, 예측 방향을 사용하는 경우에는 32, 스킵/비스킵을 사용하는 경우에는 64, 인터/인트라를 사용하는 경우에는 128의 각 비트가 나타나는지 여부로, 사용하는 제어 변수의 종류를 판정해도 좋다. 또한, 이러한 부호화 데이터를 부호화함으로써 복수의 제어 변수를 자유로운 조합으로 선택할 수 있다. 선택할 수 있는 제어 변수는, 본 명세서에서 설명한 어느 제어 변수이어도 좋고, 설명하지 않는 제어 변수이어도 좋다.
또한, 제어 변수에 사용하는 기저의 종류를 복호해도 좋다. 예를 들어, 0 내지 255까지의 8비트의 정보를 복호하고, 가로 방향 에지 강조 기저를 1, 세로 방향 에지 강조 기저를 2, 표준 라플라스 기저를 4, 제1 경사 방향 라플라스 기저를 8, 제2 경사 방향 라플라스 기저를 16, DC 오프셋 기저를 32, …로 하여 각 값의 비트가 나타나고 있는지 여부로, 사용하는 기저의 종류를 판정해도 좋다. 또한, 동화상 복호 장치(2)는, 기저의 종류의 복호를, 제어 변수마다 복호함으로써, 복수의 제어 변수 각각에서 사용하는 기저의 종류를 선택할 수 있다. 도 11에서는 2개의 제어 변수 #1과 제어 변수 #2가 사용될 경우에 대하여, 각각의 기저를 지정하는 예가 나타나고 있다. 또한, 선택할 수 있는 기저는, 본 명세서에서 설명한 어느 기저이어도 좋고, 설명하지 않는 기저이어도 좋다.
또한, 동화상 복호 장치(2)는, 필터의 탭수에 관한 정보, 예를 들어 3×3 필터인 경우에 0, 5×5 필터인 경우에 1, 7×7 필터인 경우에 2, 9×9 필터인 경우에 3 등을 복호해도 상관없다. 이와 같이 하면 필터 효과에 따라, 필터 계수 벡터의 수를 변경할 수 있게 되어 부호화 효율이 향상된다. 또한, 동화상 복호 장치(2)는, 복호한 필터의 탭수에 따라서 기저의 탭수를 변경해도 상관없고, 필터의 탭수에 따라서 기저의 탭수는 변경하지 않아도 상관없다. 이 경우, 필터의 탭수가 5×5라도 기저는 3×3 등이 되는 경우도 생각할 수 있다. 필터의 탭수가 기저의 탭수보다도 큰 경우에는, 기저의 범위 외의 위치의 필터 계수 정보(#23d)의 값은, 필터 계수 벡터의 값 그 자체로서 복호한다. 이 경우, 기저의 범위 외 위치의 필터 계수 벡터의 값은, 제어 변수에 의해 변화하지 않는 성분이 된다. 또한, 필터의 탭수가 기저의 탭수보다도 작은 경우에는, 필터 계수 벡터의 값 자체는, 제어 변수에 따라 변화하는 성분으로서, 필터의 탭수의 범위 외에서도 정해지지만, 필터링에서는 필터의 탭수만큼의 필터 계수 벡터만이 사용된다.
또한, 동화상 복호 장치(2)는, 필터의 부호화 데이터 형식을 나타내는 정보, 예를 들어 도 6의 (a)의 형식인 경우에 0, 도 6의 (b)의 형식인 경우에 1, 도 6의 (c)의 형식인 경우에 2를 복호해도 상관없다. 필터 계수 벡터를 구하는 알고리즘 상, 도 6의 (a)의 형식으로 필터 계수 정보(#23d)를 구하는 것이 곤란한 부호화 장치에서도, 제어 변수에 따라서 사용하는 필터 계수 벡터를 변경하는 것에 의한 부호화 효율 향상이 가능하게 된다.
또한, 동화상 복호 장치(2)는, 필터 계수 정보의 비트 심도를 지정하는 정보를 복호해도 좋다. 예를 들어, 비트 심도가 8, 10, 12 비트인지를 복호한다. 비트 심도는, 필터 계수 정보의 양자화를 행하는 거칠기와 등가다.
또한 도 11에는 도시하지 않지만, 동화상 복호 장치(2)는, 제어 변수의 값의 범위, 예를 들어 0, 1인지, 0, 1, 2인지 등을 복호해도 좋다. 또한, 화상 데이터(#100) 및, 화상 데이터(#100)의 사이드 정보(#100a)로부터 제어 변수를 결정하는 경우에 사용하는 임계값을 나타내는 정보, 예를 들어 휘도나 평탄도로부터 제어 변수의 값을 판정하기 위한 임계값 정보를 복호해도 좋다. 또한, 필터링 단위를 복호해도 좋다. 필터링 단위는, 화소, 블록, 복수의 블록 중 어느 것이이어도 좋고, 다른 단위여도 좋다. 또한, 필터링을 행하는 단위 영역 중에, 필터링을 행하지 않는 영역을 설치하는 방법을 사용하여, 필터 영역의 유무를 특정하는 정보를 포함하고 있어도 좋다.
이들 정보는, 필터 계수 정보 제어 정보라고 부른다.
이와 같이, 제어 변수나 기저, 탭수 등의 필터 계수 정보 제어 정보를 복호함으로써, 시퀀스나 픽처, 슬라이스에 따른 최적인 필터 계수 벡터의 전환이 가능하게 되어, 부호화 효율이 향상된다. 또한, 부호화 장치의 연산 능력에 맞추어, 적당한 필터 계수 벡터의 전환이 가능하므로, 부호화 장치의 자유도가 향상된다. 예를 들어, 부호화 장치의 능력이 크면, 제어 변수의 수, 혹은 기저의 수를 증가시킴으로써, 부호화 효율을 높일 수 있다. 반대로 부호화 효율이 낮은 경우에는, 제어 변수나 기저의 수를 최소한으로 하는 것이나, 사용하지 않는 것도 가능하게 된다. 또한, 예를 들어 평탄도를 고속으로 산출 가능한 소프트웨어, 하드웨어를 탑재하고 있을 경우에는, 제어 변수에 평탄도를 사용하는 등, 탑재하는 소프트웨어, 하드웨어의 특성에 따라서 사용하는 제어 변수나 기저를 변경하는 것도 가능하게 된다. 이러한 자유도는 부호화 장치뿐만 아니라, 복호 장치에서도 편익이 있다. 즉, 복호 장치의 능력이 작다고 가정될 경우에는, 사용하는 제어 변수의 수나 기저의 수를 최소한으로 해서 부호화할 수 있다.
또한, 필터 계수 정보 제어 정보로서, 어느 쪽의 정보를 포함할 것인지 여부를 나타내는 정보(필터 계수 정보 형식 제어 정보)를, 부호화 데이터로부터 복호해도 상관없다. 예를 들어, 제어 변수 정보는 포함하지만, 탭 정보는 포함하지 않는 구성으로 해도 좋다. 또한, 필터 계수 정보(14b), 필터 계수 정보 제어 정보, 필터 계수 정보 형식 제어 정보는, 부호화 데이터 상의 각각의 위치에서 부호화해도 좋다. 예를 들어, 필터 계수 정보 제어 정보는 슬라이스 헤더로 부호화하지만, 필터 계수 정보 형식 제어 정보는 픽처 헤더, 필터 계수 정보 형식 제어 정보는, 시퀀스 헤더로 부호화해도 좋다. 또한 H.264/AVC에서의 픽처 파라미터 세트, 시퀀스 파라미터 세트에 상당하는 부호화 데이터로 부호화해도 좋다.
매크로 블록 정보 MB1 내지 MBN는, 당해 슬라이스에 포함되는 매크로 블록에 관한 정보이며, 매크로 블록의 예측 모드(#18b), 블록 분할 정보 등이 포함되어 있다. 여기서, N은, 당해 슬라이스에 포함되는 매크로 블록의 수를 나타내고 있다.
이와 같이, 본 발명에 따른 부호화 데이터의 데이터 구조는, 상기 화상 필터를 구비하고, 복호 화상에 상기 화상 필터를 작용시키는 복호 장치가 참조하는 부호화 데이터의 데이터 구조이며, 상기 고정 계수 벡터 혹은 고정 계수 벡터로부터 산출되는 고정 필터 계수 벡터의 각 성분 및 상기 고정 계수, 혹은, 그들 예측 차분 데이터를 포함하고 있다.
상기와 같이 구성된 부호화 데이터의 데이터 구조에 의하면, 당해 부호화 데이터에 기초하여 화상의 복호를 행하는 복호 장치에서, 당해 부호화 데이터에 포함되는 상기 고정 계수 벡터의 각 성분 및 상기 고정 계수를 사용함으로써, 상기 대상 영역마다 상이한 필터 계수를 포함하는 경우에 비하여, 적은 수의 필터 계수를 사용하면서, 상기 대상 영역마다 보다 적절한 필터링을 행할 수 있다.
(정리)
이상과 같이, 본 발명에 따른 화상 필터는, 입력 화상에서의 대상 영역에 속하는 각 화소의 화소값과 필터 계수 벡터로부터, 출력 화상에서의 대상 화소의 화소값을 산출하는 화상 필터이며, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 상기 필터 계수 벡터를 변경하는 필터 계수 벡터 변경 수단을 구비하고 있는 것을 특징으로 하고 있다.
상기의 구성에 의하면, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 상기 필터 계수 벡터를 변경하는 필터 계수 벡터 변경 수단을 구비하고 있기 때문에, 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라, 상기 대상 영역마다 적절한 필터링을 행할 수 있다는 효과를 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 필터 계수 벡터가, 상기 출력 화상을 구성하는 단위 영역마다 미리 정해진 고정 필터 계수 벡터와, 상기 필터 계수 벡터 변경 수단에 의해, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 변경되는 가변 필터 계수 벡터와의 합으로 분해 가능한 것이 바람직하다.
상기의 구성에 의하면, 상기 필터 계수 벡터는, 상기 출력 화상을 구성하는 단위 영역마다 미리 정해진 고정 필터 계수 벡터와 상기 가변 필터 계수 벡터와의 합으로 분해 가능하고, 상기 필터 계수 벡터 변경 수단은, 상기 가변 필터 계수 벡터를, 상기 입력 화상에서의 상기 대상 영역의 위치 및 상기 출력 화상에서의 상기 대상 화소의 위치 중 적어도 어느 하나에 따라서 변경할 수 있다.
따라서, 상기의 구성에 의하면, 단위 영역마다 미리 정해진 필터 계수를 사용하면서, 각 대상 영역에 적응된(각 대상 영역에서의 화상의 특성에 따른) 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 본 발명을 H.264에 적용하는 경우, 상기 단위 영역은, 슬라이스이어도 좋고, 매크로 블록이어도 좋으며, 블록이어도 좋다.
또한, 상기 고정 필터 계수 벡터 및, 상기 가변 필터 계수 벡터는, 오프셋 성분을 포함하도록 정의되어 있어도 좋다.
또한, 본 발명에 따른 화상 필터에서는, 상기 고정 필터 계수 벡터는, 상기 출력 화상을 구성하는 단위 영역마다 미리 정해진 고정 계수 벡터와, 기저로 분해 가능한 것이 바람직하다.
또한, 본 발명에 따른 화상 필터에서는, 상기 가변 필터 계수 벡터는, 또한, 상기 출력 화상을 구성하는 단위 영역마다 정해진 고정 계수와, 상기 필터 계수 벡터 변경 수단에 의해, 상기 입력 화상에서의 상기 대상 영역의 위치, 또는, 상기 출력 화상에서의 상기 대상 화소의 위치에 따라서 변경되는 가변 계수와, 미리 정해진 고정 벡터로 분해 가능한 것이 바람직하다.
상기의 구성에 의하면, 상기 가변 필터 계수 벡터는, 또한, 상기 출력 화상을 구성하는 단위 영역마다 정해진 고정 계수와, 상기 가변 계수와, 상기 고정 벡터로 분해 가능하다. 또한, 상기 고정 벡터는, 미리 정해져 있고, 상기 필터 계수 벡터 변경 수단은, 상기 입력 화상에서의 상기 대상 영역의 위치, 또는, 상기 출력 화상에서의 상기 대상 화소의 위치에 따라, 상기 가변 계수를 변경할 수 있으므로, 상기 대상 영역에서의 화상의 특성에 따라, 보다 적절한 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
상기의 구성에 의하면, 상기 출력 화상을 구성하는 단위 영역마다 정해진 상기 고정 계수 벡터(혹은 고정 필터 계수 벡터) 및 상기 고정 계수를 상기 화상 필터에 부여함으로써, 각 대상 영역에 적응한 원하는 타입의 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
예를 들어, 상기 단위 영역에서의 상기 대상 영역의 수가 10개이며, 상기 고정 계수 벡터(혹은 고정 필터 계수 벡터)의 성분의 수가 P개이며, 상기 고정 계수의 수가 1개라고 하면, 상기의 구성에 의하면, 합계 P+1개의 계수 데이터를 상기 화상 필터에 부여함으로써 10개의 대상 영역에 적응된 원하는 타입의 필터링을 행할 수 있다. 한편, 상기 10개의 대상 영역마다 상기 고정 계수 벡터를 개별로 산출했다고 하면, 10×P개의 계수 데이터가 필요하게 된다. 따라서, 상기의 구성에 의하면, 각 대상 영역에 대하여 고정 계수 벡터(혹은 필터 계수 벡터)를 산출하는 경우에 비하여, 적은 수의 계수 데이터에 의해, 각 대상 영역에 적응된 타입의 필터링을 행할 수 있다.
또한, 본 발명에 따른 화상 필터에서는, 상기 가변 계수는, 상기 필터 계수 벡터 변경 수단에 의해, 상기 대상 영역 상의 화상의 평탄도에 따라서 변경되고, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저인 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저이며, 상기 필터 계수 변경 수단은, 상기 가변 계수를, 상기 대상 영역의 위치에 의해 정해지는 상기 대상 영역 상의 화상의 평탄도에 따라서 변경할 수 있다. 따라서, 상기의 구성에 의하면, 상기 대상 영역 상의 화상의 평탄도에 따라, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 변화시킴으로써 보다 적절한 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 상기 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저는, 상기 고정 계수의 양과 음에 따라, 에지를 강조하는 효과 대신에, 에지를 바림하는 효과를 갖는다(이하 같음). 따라서, 상기의 구성에 의하면, 상기 대상 영역 상의 화상의 평탄도에 따라, 에지 바림 효과를 변화시킴으로써 보다 적절한 필터링을 행할 수 있다는 효과도 더욱 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 가변 계수는, 상기 필터 계수 벡터 변경 수단에 의해, 상기 대상 영역 상의 화상의 에지 각도에 따라서 변경되고, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저인 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저이며, 상기 필터 계수 변경 수단은, 상기 가변 계수를, 상기 대상 영역의 위치에 의해 정해지는 상기 대상 영역 상의 화상의 에지 각도에 따라서 변경할 수 있다. 따라서, 상기의 구성에 의하면, 상기 가변 계수를, 상기 대상 영역 상의 화상의 에지 각도에 따라, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 변화시킴으로써 보다 적절한 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 가변 계수는, 상기 필터 계수 벡터 변경 수단에 의해, 상기 대상 영역 상의 화상의 휘도에 따라서 변경되고, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저인 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저이며, 상기 필터 계수 변경 수단은, 상기 가변 계수를, 상기 대상 영역의 위치에 의해 정해지는 상기 대상 영역 상의 화상의 휘도에 따라서 변경할 수 있다. 따라서, 상기의 구성에 의하면, 상기 대상 영역 상의 화상의 휘도에 따라, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 변화시킴으로써 보다 적절한 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 가변 계수는, 상기 필터 계수 벡터 변경 수단에 의해, 상기 대상 영역 상의 화상의 색에 따라서 변경되고, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저인 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저이며, 상기 필터 계수 변경 수단은, 상기 가변 계수를, 상기 대상 영역의 위치에 의해 정해지는 상기 대상 영역 상의 화상의 색에 따라서 변경할 수 있다. 따라서, 상기의 구성에 의하면, 상기 대상 영역 상의 화상의 색에 따라, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 변화 시킴으로써 보다 적절한 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 가변 계수는, 상기 필터 계수 벡터 변경 수단에 의해, 상기 대상 영역이 블록 경계를 포함하는지 여부에 따라서 변경되고, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저인 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저이며, 상기 필터 계수 변경 수단은, 상기 가변 계수를, 상기 대상 영역이 블록 경계를 포함하는지 여부에 따라서 변경할 수 있다. 따라서, 상기의 구성에 의하면, 상기 대상 영역이 블록 경계를 포함하는지 여부에 따라, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 변화시킴으로써보다 적절한 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 가변 계수는, 상기 필터 계수 벡터 변경 수단에 의해, 상기 대상 영역을 포함하는 블록이 단방향 예측된 블록인지 또는 쌍방향 예측된 블록인지에 따라서 변경되고, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저인 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저이며, 상기 필터 계수 변경 수단은, 상기 가변 계수를, 상기 대상 영역을 포함하는 블록이 단방향 예측된 블록인지 또는 쌍방향 예측된 블록인지에 따라서 변경할 수 있다. 따라서, 상기의 구성에 의하면, 상기 대상 영역을 포함하는 블록이 단방향 예측된 블록인지 또는 쌍방향 예측된 블록인지에 따라, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 변화시킴으로써 보다 적절한 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 가변 계수는, 상기 필터 계수 벡터 변경 수단에 의해, 상기 대상 영역을 포함하는 블록이 스킵 모드가 적용된 블록인지 여부에 따라서 변경되고, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저인 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저이며, 상기 필터 계수 변경 수단은, 상기 가변 계수를, 상기 대상 영역을 포함하는 블록이 스킵 모드가 적용된 블록인지 여부에 따라서 변경할 수 있다. 따라서, 상기의 구성에 의하면, 상기 대상 영역을 포함하는 블록이 스킵 모드가 적용된 블록인지 여부에 따라, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 변화시킴으로써 보다 적절한 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 가변 계수는, 상기 필터 계수 벡터 변경 수단에 의해, 상기 대상 영역을 포함하는 블록이 인터 예측된 블록인지 또는 인트라 예측된 블록인지에 따라서 변경되고, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저인 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 벡터는, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 갖는 필터 기저이며, 상기 필터 계수 변경 수단은, 상기 가변 계수를, 상기 대상 영역을 포함하는 블록이 인터 예측된 블록인지 또는 인트라 예측된 블록인지에 따라서 변경할 수 있다. 따라서, 상기의 구성에 의하면, 상기 대상 영역을 포함하는 블록이 인터 예측된 블록인지 또는 인트라 예측된 블록인지에 따라, 에지 강조 효과 및 바림 효과 중 적어도 하나의 효과를 변화시킴으로써 보다 적절한 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 고정 필터 계수 벡터의 각 성분 및 상기 고정 계수는, 특정한 화상과, 상기 특정한 화상을 부호화/복호화해서 얻어지는 복호 화상을 입력 화상으로 했을 때의 출력 화상과의 차이를 최소화하도록 정해져 있는 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 필터 계수 벡터의 각 성분 및 상기 고정 계수는, 특정한 화상과, 상기 특정한 화상을 부호화/복호화해서 얻어지는 복호 화상을 입력 화상으로 했을 때의 출력 화상과의 차이를 최소화하도록 정해져 있기 때문에, 상기 단위 영역 전체에 대하여 최적화된 고정 필터 계수 벡터의 각 성분 및 상기 고정 계수를 사용해서 산출되는 가변 계수 벡터를 사용해서 필터링을 행할 수 있다는 효과를 더욱 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 고정 필터 계수 벡터와 가변 계수 벡터가 서로 직교하고 있는 것이 바람직하다.
상기의 구성에 의하면, 상기 고정 필터 계수 벡터와 상기 가변 계수 벡터가 서로 직교하고 있기 때문에, 상기 고정 필터 계수 벡터와 상기 가변 계수 벡터가, 서로 직교하고 있지 않은 경우에 비하여, 고정 필터 계수 벡터의 자유도를 저감시킬 수 있다. 따라서, 상기의 구성에 의하면, 보다 적은 수의 필터 계수에 의해, 상기 대상 영역마다 적절한 필터링을 행할 수 있다는 효과를 발휘한다.
또한, 본 발명에 따른 화상 필터에서는, 상기 고정 필터 계수 벡터와 상기 가변 계수 벡터가 서로 직교하지 않고 있어도 좋다.
또한, 본 발명에 따른 복호 장치는, 상기 화상 필터를 구비하고, 복호 화상에 상기 화상 필터를 작용시키는 것을 특징으로 하고 있다.
상기와 같이 구성된 본 발명에 따른 복호 장치는, 상기 화상 필터와 마찬가지인 효과를 발휘한다. 또한, 상기와 같이 구성된 복호 장치는, 상기 단위 영역마다 정해진, 상기 고정 계수 벡터(혹은 고정 계수 벡터)의 각 성분 및 상기 고정 계수를 사용하여, 상기 대상 영역마다 보다 적절한 필터링을 행할 수 있으므로, 상기 대상 영역마다 상이한 성분을 갖는 고정 계수 벡터(혹은 고정 계수 벡터)를 사용하는 경우에 비하여, 적은 수의 계수 데이터를 사용해서 필터 계수 벡터를 도출할 수 있다는 효과를 발휘한다.
또한, 상기와 같이 구성된 복호 장치를 사용함으로써, 상기 대상 영역마다 상이한 성분을 갖는 고정 계수 벡터(혹은 고정 필터 계수 벡터)를 사용하는 경우에 비하여, 계수 데이터(필터 계수 벡터)의 부호량을 저감시킬 수 있다는 효과를 발휘한다.
또한, 본 발명에 따른 부호화 장치는, 상기 화상 필터를 구비하고, 복호 화상에 상기 화상 필터를 작용시키는 것을 특징으로 하고 있다.
상기와 같이 구성된 본 발명에 따른 부호화 장치는, 당해 부호화 장치에 의해 부호화되어 다시 복호된 복호 화상에 대하여, 상기 화상 필터에 의한 필터링을 행할 수 있으므로, 상기 화상 필터와 마찬가지인 효과를 발휘한다. 또한, 상기와 같이 구성된 부호화 장치는, 상기 단위 영역마다 정해진, 상기 고정 계수 벡터의 각 성분 및 상기 고정 계수를 사용하여, 상기 대상 영역마다 보다 적절한 필터링을 행할 수 있으므로, 상기 대상 영역마다 상이한 성분을 갖는 고정 계수 벡터(혹은 고정 필터 계수 벡터)를 사용하는 경우에 비하여, 적은 수의 계수 데이터를 사용해서 필터 계수 벡터를 도출할 수 있다는 효과를 발휘한다.
또한, 상기와 같이 구성된 부호화 장치를 사용함으로써, 상기 대상 영역마다 상이한 성분을 갖는 고정 계수 벡터(고정 필터 계수 벡터)를 사용하는 경우에 비하여, 계수 데이터(필터 계수 벡터)의 부호량을 저감시킬 수 있다는 효과를 발휘한다.
또한, 본 발명에 따른 부호화 데이터의 데이터 구조는, 상기 화상 필터를 구비하고, 복호 화상에 상기 화상 필터를 작용시키는 복호 장치가 참조하는 부호화 데이터의 데이터 구조이며, 상기 고정 필터 계수 벡터의 각 성분 혹은 상기 고정 필터 계수 벡터를 표현하는 고정 계수 벡터 및 상기 고정 계수, 혹은, 상기 고정 필터 계수 벡터, 상기 고정 계수 벡터, 상기 고정 계수의 예측 차분 데이터를 포함하고 있는 것을 특징으로 하고 있다.
상기와 같이 구성된 부호화 데이터의 데이터 구조에 의하면, 당해 부호화 데이터에 기초하여 화상의 복호를 행하는 복호 장치에서, 당해 부호화 데이터로부터 복호되는 상기 고정 필터 계수 벡터의 각 성분 및 상기 고정 계수를 사용함으로써, 상기 대상 영역마다 상이한 필터 계수를 포함하는 경우에 비하여, 적은 수의 필터 계수를 사용하면서, 상기 대상 영역마다 보다 적절한 필터링을 행할 수 있다는 효과를 발휘한다.
본 발명은 상술한 각 실시 형태에 한정되는 것은 아니라, 청구항에 나타낸 범위에서 다양한 변경이 가능하고, 상이한 실시 형태에 각각 개시된 기술적 수단을 적절히 조합해서 얻어지는 실시 형태에 대해서도 본 발명의 기술적 범위에 포함된다.
본 발명은, 화상 데이터에 필터링을 행하는 화상 필터에 적절하게 사용할 수 있다. 또한, 본 발명은, 부호화된 화상 데이터를 복호하는 방송 수신 단말기나, 화상 데이터를 부호화해서 기록 매체에 기록하거나, 기록 매체에 기록된 화상 데이터를 복호하는 HDD 레코더 등에 적절하게 사용할 수 있다.
100: 적응 필터(화상 필터)
110: 필터부
120: 제어 변수 결정부(필터 계수 벡터 변경 수단)
1: 동화상 부호화 장치(부호화 장치)
2: 동화상 복호 장치(복호 장치)
16, 26: 인터 예측 화상 생성부
R: 필터 참조 영역
T: 필터 대상 영역

Claims (4)

  1. 동화상을 복호하는 복호 장치로서,
    상기 동화상을 가변 길이 복호하고, 양자화 예측 잔차 데이터 및 필터 계수 정보를 출력하는 가변길이 부호 복호부와,
    버퍼 메모리에 저장된 화상에 기초하여 예측 화상을 생성하는 예측 화상 생성부와,
    상기 양자화 예측 잔차 데이터에 대하여 역양자화 및 역변환을 행하고, 예측 잔차를 출력하는 역양자화·역변환부와,
    상기 예측 화상 및 상기 예측 잔차를 가산하고, 복호 화상을 출력하는 가산기와,
    상기 복호 화상에 대하여 디블로킹 처리를 실시하고, 디블록 화상을 출력하는 디블로킹 필터와,
    상기 필터 계수 정보에 기초하여 필터 계수를 산출하고, 상기 필터 계수를 사용하여 상기 디블록 화상에 대하여 필터링을 행하는 적응 필터를 구비하고,
    상기 적응 필터는, 상기 디블록 화상의 대상 영역에 포함되는 화소의 화소값의 편차에 기초하여 제어 변수를 설정하고, 상기 필터 계수 정보 및 상기 제어 변수에 기초하여 상기 필터 계수를 산출하고, 상기 필터 계수를 요소로 하는 필터 계수 벡터를 사용하여 상기 대상 영역에 필터링을 행하는 것을 특징으로 하는 복호 장치.
  2. 동화상을 복호하는 복호 방법으로서,
    상기 동화상을 가변 길이 복호하고, 양자화 예측 잔차 데이터 및 필터 계수 정보를 출력하는 가변길이 부호 복호 스텝과,
    버퍼 메모리에 저장된 화상에 기초하여 예측 화상을 생성하는 예측 화상 생성 스텝과,
    상기 양자화 예측 잔차 데이터에 대하여 역양자화 및 역변환을 행하고, 예측 잔차를 출력하는 역양자화·역변환 스텝과,
    상기 예측 화상 및 상기 예측 잔차를 가산하고, 복호 화상을 출력하는 가산 스텝과,
    상기 복호 화상에 대하여 디블로킹 처리를 실시하고, 디블록 화상을 출력하는 디블로킹 필터 스텝과,
    상기 필터 계수 정보에 기초하여 필터 계수를 산출하고, 상기 필터 계수를 사용하여 상기 디블록 화상에 대하여 필터링을 행하는 적응 필터 스텝을 갖고,
    상기 적응 필터 스텝은, 상기 디블록 화상의 대상 영역에 포함되는 화소의 화소값의 편차에 기초하여 제어 변수를 설정하고, 상기 필터 계수 정보 및 상기 제어 변수에 기초하여 상기 필터 계수를 산출하고, 상기 필터 계수를 요소로 하는 필터 계수 벡터를 사용하여 상기 대상 영역에 필터링을 행하는 스텝을 포함하는 것을 특징으로 하는 복호 방법.
  3. 삭제
  4. 삭제
KR1020197007933A 2009-12-18 2010-11-10 복호 장치 KR102060586B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2009-288448 2009-12-18
JP2009288448 2009-12-18
PCT/JP2010/070053 WO2011074357A1 (ja) 2009-12-18 2010-11-10 画像フィルタ、符号化装置、復号装置、および、データ構造

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187009830A Division KR20180038076A (ko) 2009-12-18 2010-11-10 복호 장치

Publications (2)

Publication Number Publication Date
KR20190031601A KR20190031601A (ko) 2019-03-26
KR102060586B1 true KR102060586B1 (ko) 2019-12-30

Family

ID=44167122

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020127018360A KR20120105509A (ko) 2009-12-18 2010-11-10 화상 필터, 부호화 장치, 복호 장치 및 데이터 구조
KR1020167022206A KR101729903B1 (ko) 2009-12-18 2010-11-10 복호 장치
KR1020187009830A KR20180038076A (ko) 2009-12-18 2010-11-10 복호 장치
KR1020177010031A KR101849891B1 (ko) 2009-12-18 2010-11-10 화상 필터 및 복호 장치
KR1020197007933A KR102060586B1 (ko) 2009-12-18 2010-11-10 복호 장치

Family Applications Before (4)

Application Number Title Priority Date Filing Date
KR1020127018360A KR20120105509A (ko) 2009-12-18 2010-11-10 화상 필터, 부호화 장치, 복호 장치 및 데이터 구조
KR1020167022206A KR101729903B1 (ko) 2009-12-18 2010-11-10 복호 장치
KR1020187009830A KR20180038076A (ko) 2009-12-18 2010-11-10 복호 장치
KR1020177010031A KR101849891B1 (ko) 2009-12-18 2010-11-10 화상 필터 및 복호 장치

Country Status (9)

Country Link
US (3) US20120251012A1 (ko)
EP (2) EP3301932A1 (ko)
JP (5) JPWO2011074357A1 (ko)
KR (5) KR20120105509A (ko)
CN (1) CN107071480A (ko)
AU (1) AU2010331511B2 (ko)
BR (1) BR112012014685A2 (ko)
CA (2) CA3038111C (ko)
WO (1) WO2011074357A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011086836A1 (ja) * 2010-01-12 2011-07-21 シャープ株式会社 符号化装置、復号装置、および、データ構造
DK2725797T3 (da) 2011-06-23 2019-01-02 Huawei Tech Co Ltd Offset dekoderanordning, offset koderanordning, billedfilteranordning og datastruktur
JP5789172B2 (ja) * 2011-10-20 2015-10-07 日本放送協会 画像処理装置及びプログラム
WO2013155899A1 (en) * 2012-04-16 2013-10-24 Mediatek Inc. Method and apparatus for sample adaptive offset coding with separate sign and magnitude
JP6055391B2 (ja) * 2012-11-05 2016-12-27 株式会社デンソーアイティーラボラトリ 関連性判定装置、関連性判定プログラム、及び関連性判定方法
JP5856580B2 (ja) * 2013-03-14 2016-02-10 日本電信電話株式会社 信号処理装置、及び信号処理方法
US9906790B2 (en) * 2014-03-14 2018-02-27 Qualcomm Incorporated Deblock filtering using pixel distance
WO2016037195A1 (en) 2014-09-03 2016-03-10 Aira Tech Corporation Media streaming methods, apparatus and systems
US9716871B2 (en) * 2014-09-30 2017-07-25 Apple Inc. YUV signal generation for high dynamic range video content
CN109417629B (zh) * 2016-07-12 2023-07-14 韩国电子通信研究院 图像编码/解码方法以及用于该方法的记录介质
TWI604731B (zh) * 2016-08-05 2017-11-01 瑞昱半導體股份有限公司 影像濾波方法及其影像濾波裝置
CN106846270B (zh) * 2017-01-05 2020-02-14 浙江大华技术股份有限公司 一种图像边缘增强方法及装置
CN110870319B (zh) * 2017-05-31 2022-12-06 交互数字麦迪逊专利控股公司 画面编码和解码的方法和设备
US11451833B2 (en) * 2017-12-01 2022-09-20 Sony Corporation Encoding device, encoding method, decoding device, and decoding method
KR102028908B1 (ko) 2018-03-15 2019-11-08 써멀마스터 주식회사 전기히터 내장 구조의 열교환기
WO2019189346A1 (ja) * 2018-03-30 2019-10-03 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP7073186B2 (ja) * 2018-05-14 2022-05-23 シャープ株式会社 画像フィルタ装置
JP7332753B2 (ja) * 2018-05-14 2023-08-23 シャープ株式会社 画像フィルタ装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3288811B2 (ja) * 1993-07-26 2002-06-04 日本無線株式会社 ビデオコーデックにおける後処理フィルタ制御方式及び後処理フィルタ制御回路
JPH08163561A (ja) * 1994-12-06 1996-06-21 Matsushita Electric Ind Co Ltd 画像データ圧縮装置
JPH0998417A (ja) * 1995-09-29 1997-04-08 Matsushita Electric Ind Co Ltd 画像通信装置及び画像通信方法
KR100244290B1 (ko) 1997-09-09 2000-02-01 구자홍 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법
EP1065881B1 (en) * 1998-03-05 2008-07-09 Matsushita Electric Industrial Co., Ltd. Image coding method, image coding / decoding method, image coder, or image recording/reproducing apparatus
JP2001275110A (ja) * 2000-03-24 2001-10-05 Matsushita Electric Ind Co Ltd 動的なループ及びポストフィルタリングのための方法及び装置
US7054500B1 (en) * 2000-12-06 2006-05-30 Realnetworks, Inc. Video compression and decompression system with postfilter to filter coding artifacts
ES2754625T3 (es) 2001-11-29 2020-04-20 Godo Kaisha Ip Bridge 1 Método de extracción de distorsión de codificación
JP2007143178A (ja) * 2001-11-29 2007-06-07 Matsushita Electric Ind Co Ltd 符号化歪除去方法
US20040062310A1 (en) 2002-01-17 2004-04-01 Zhong Xue Coding distortion removal method, video encoding method, video decoding method, and apparatus and program for the same
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
US8503530B2 (en) * 2004-05-27 2013-08-06 Zhourong Miao Temporal classified filtering for video compression
US20060007239A1 (en) * 2004-07-06 2006-01-12 Harrison Charles F Color correction system
US7773158B2 (en) * 2005-10-12 2010-08-10 Panasonic Corporation Visual processing device, display device, and integrated circuit
US8189934B2 (en) 2006-03-27 2012-05-29 Panasonic Corporation Image coding apparatus and image decoding apparatus
JP4784386B2 (ja) * 2006-05-01 2011-10-05 富士ゼロックス株式会社 復号化装置、逆量子化方法及びプログラム
WO2008032517A1 (fr) * 2006-09-14 2008-03-20 Mitsubishi Electric Corporation Dispositif et procédé de traitement d'image et dispositif et procédé de capture d'image
JP4785690B2 (ja) * 2006-09-19 2011-10-05 キヤノン株式会社 画像読取装置及び画像読取装置の制御方法
JP4872862B2 (ja) * 2006-09-28 2012-02-08 ソニー株式会社 画像データ演算装置および方法、プログラム、並びに記録媒体
KR100879536B1 (ko) * 2006-10-30 2009-01-22 삼성전자주식회사 영상의 화질 개선을 위한 방법 및 시스템
KR100922275B1 (ko) 2006-12-15 2009-10-15 경희대학교 산학협력단 경계 필터링 강도의 결정 방법 및 이를 이용한 디블록킹필터링 방법과 장치
US8942505B2 (en) * 2007-01-09 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Adaptive filter representation
EP2127391A2 (en) * 2007-01-09 2009-12-02 Nokia Corporation Adaptive interpolation filters for video coding
EP1944974A1 (en) * 2007-01-09 2008-07-16 Matsushita Electric Industrial Co., Ltd. Position dependent post-filter hints
JP4978402B2 (ja) * 2007-09-28 2012-07-18 富士通セミコンダクター株式会社 画像処理フィルタ、画像処理フィルタの画像処理方法及び画像処理フィルタを備える画像処理装置の画像処理回路
EP2249572A4 (en) * 2008-03-07 2012-05-23 Toshiba Kk METHOD AND DEVICE FOR DYNAMIC IMAGE CODING / DECODING
US8195001B2 (en) * 2008-04-09 2012-06-05 Intel Corporation In-loop adaptive wiener filter for video coding and decoding
WO2009133844A1 (ja) * 2008-04-30 2009-11-05 株式会社 東芝 エッジを考慮したフィルタリング機能を備えた動画像符号化/復号化方法及び装置
JPWO2009133938A1 (ja) * 2008-04-30 2011-09-01 株式会社東芝 動画像符号化及び復号装置
EP2457196A4 (en) * 2009-07-21 2013-02-06 Qualcomm Inc METHOD AND SYSTEM FOR DETECTION AND ENHANCEMENT OF VIDEO IMAGES
US8154632B2 (en) * 2009-08-24 2012-04-10 Lifesize Communications, Inc. Detection of defective pixels in an image sensor
JP5321439B2 (ja) * 2009-12-15 2013-10-23 株式会社Jvcケンウッド 画像符号化装置、画像復号化装置、画像符号化方法、及び、画像復号化方法
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
EP2592831A2 (en) * 2010-07-09 2013-05-15 Samsung Electronics Co., Ltd Method and apparatus for encoding video using adjustable loop filtering, and method and apparatus for decoding video using adjustable loop filtering
AU2013322008B2 (en) * 2012-09-26 2016-10-27 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus

Also Published As

Publication number Publication date
EP3301932A1 (en) 2018-04-04
KR20190031601A (ko) 2019-03-26
KR101729903B1 (ko) 2017-04-24
JP5834112B2 (ja) 2015-12-16
CN107071480A (zh) 2017-08-18
JP2014209760A (ja) 2014-11-06
US20150242999A1 (en) 2015-08-27
KR20120105509A (ko) 2012-09-25
AU2010331511A1 (en) 2012-07-26
CA3038111C (en) 2022-08-09
JP2018142978A (ja) 2018-09-13
US9641865B2 (en) 2017-05-02
BR112012014685A2 (pt) 2016-04-05
CA2784291A1 (en) 2011-06-23
US20170041636A1 (en) 2017-02-09
CA3038111A1 (en) 2011-06-23
EP2515541A1 (en) 2012-10-24
WO2011074357A1 (ja) 2011-06-23
JP2016036169A (ja) 2016-03-17
JP2017200198A (ja) 2017-11-02
CN102656888A (zh) 2012-09-05
EP2515541A4 (en) 2015-08-26
JPWO2011074357A1 (ja) 2013-04-25
JP6159376B2 (ja) 2017-07-05
AU2010331511B2 (en) 2015-01-15
KR101849891B1 (ko) 2018-04-17
KR20180038076A (ko) 2018-04-13
US20120251012A1 (en) 2012-10-04
US9514519B2 (en) 2016-12-06
KR20170045361A (ko) 2017-04-26
JP6335365B2 (ja) 2018-05-30
KR20160102085A (ko) 2016-08-26

Similar Documents

Publication Publication Date Title
KR102060586B1 (ko) 복호 장치
JP2021129313A (ja) 映像コーディングシステムにおけるイントラ予測による映像のデコーディング方法及び装置
US20190104323A1 (en) System and method for reducing blocking artifacts and providing improved coding efficiency
MX2013014726A (es) Metodo y aparato para prediccion de compensacion de movimiento.
JP7343817B2 (ja) 符号化装置、符号化方法、及び符号化プログラム
WO2011105231A1 (ja) フィルタ係数符号化装置、フィルタ係数復号装置、動画像符号化装置、動画像復号装置、および、データ構造
JP7357721B2 (ja) デブロッキングフィルタ制御装置及びプログラム
JP7460384B2 (ja) 予測装置、符号化装置、復号装置、及びプログラム
WO2020059341A1 (ja) 画像復号装置、画像符号化装置、画像処理システム及びプログラム
CN113395520A (zh) 解码预测方法、装置及计算机存储介质
KR20200134302A (ko) 이미지 처리 장치 및 방법
JP7483725B2 (ja) 符号化装置、復号装置、及びプログラム
JP7474772B2 (ja) 符号化装置、復号装置、及びプログラム
KR102550503B1 (ko) 부호화 장치, 복호 장치, 및 프로그램
JP2021052249A (ja) 符号化装置、復号装置、及びプログラム
JP2022066678A (ja) イントラ予測装置、符号化装置、復号装置、及びプログラム
JP2020109960A (ja) イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant