KR102320733B1 - 디블로킹 필터 방법 및 장치 - Google Patents
디블로킹 필터 방법 및 장치 Download PDFInfo
- Publication number
- KR102320733B1 KR102320733B1 KR1020217003574A KR20217003574A KR102320733B1 KR 102320733 B1 KR102320733 B1 KR 102320733B1 KR 1020217003574 A KR1020217003574 A KR 1020217003574A KR 20217003574 A KR20217003574 A KR 20217003574A KR 102320733 B1 KR102320733 B1 KR 102320733B1
- Authority
- KR
- South Korea
- Prior art keywords
- unit
- sub
- motion
- subunit
- affine motion
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/583—Motion compensation with overlapping blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compounds Of Unknown Constitution (AREA)
- Filters And Equalizers (AREA)
- Filtering Of Dispersed Particles In Gases (AREA)
Abstract
본 발명은 비디오 이미지 처리 분야에 관한 것으로, 블로킹 아티팩트를 제거하기 위한 필터링 방법 및 장치를 제공하여, 예측 유닛의 내부 보상 블록에 대해 필터링 처리가 수행될 수 없으므로 이미지의 주관적 품질 및 객관적 품질이 저하되는 문제점을 해결한다. 방법은: 예측 유닛을 적어도 2개의 서브 유닛으로 분할하는 단계; 적어도 2개의 서브 유닛 각각을 트래버스하고, 미리 설정된 규칙에 기초하여 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계를 결정하는 단계; 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값을 획득하는 단계 - 제1 서브 유닛 및 제2 서브 유닛은 필터링 경계에 인접함 -; 및 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대해 필터링 처리를 수행하는 단계를 포함한다.
Description
본 출원은 2016년 1월 29일자로 중국 특허청에 출원되었고, "블로킹 아티팩트를 제거하기 위한 필터링 방법 및 장치"라는 제목의 중국 특허 출원 제201610064753.8호에 대한 우선권을 주장하고, 이것은 그 전문이 인용에 의해 본 명세서에 포함된다.
본 발명은 비디오 이미지 처리 분야에 관한 것으로, 특히 블로킹 아티팩트를 제거하는 필터링 방법 및 장치에 관한 것이다.
비디오 코딩 압축 기술에서는, 블록 기반 하이브리드 비디오 코딩이 주로 실행되어, 하나의 프레임의 비디오 이미지를 복수의 블록(block)으로 분할하고, 및 예측(프레임 내 예측 및 프레임 간 예측을 포함), 변환, 양자화, 엔트로피 인코딩, 및 다른 단계를 통해서 블록 단위로 비디오 코딩 압축을 구현한다. 구체적으로는, 블록 단위의 움직임 보상 예측(Motion Compensation Prediction, MCP)을 통해 블록의 움직임 정보가 먼저 획득되고, 움직임 정보에 기초하여 블록의 예측된 픽셀 값이 결정되고; 이후 원래의 픽셀 값과 블록의 예측된 픽셀 값 사이의 잔차(residual)에 대해 변환 및 양자화가 수행되고; 및 마지막으로 엔트로피 인코딩 처리에 의해 양자화된 변환 계수들 및 코딩 모드 정보(코드 블록 크기, 예측 모드, 움직임 벡터, 및 기타 정보)가 비트 스트림들로 변환되어 디코더에 보내진다.
블록 기반 하이브리드 비디오 코딩은 각각의 이미지를 상이한 크기들의 블록들로 분할한 후 블록 예측, 블록 변환, 및 블록 양자화를 수행하기 때문에, 블록들 사이의 상관 관계가 간과되고 블록의 경계에 있는 픽셀 값의 재구성 정확도가 블록의 중간에 있는 픽셀 값의 것보다 낮아서, 블록 불일치, 즉 "블로킹 아티팩트(blocking artifact)"라는 결과를 낳는다. 결과적으로, 디코딩 및 재구성 후에 획득되는 이미지는 명백하게도 함께 스플라이스(splice)된 블록들처럼 표현된다. 따라서, 디코딩 및 재구성 후에, 이미지에 대해 "블로킹 아티팩트 제거" 처리가 수행될 필요가 있다.
현재 블로킹 아티팩트를 제거하는 일반적인 방법은 오버랩된 블록 움직임 보상(Overlapped Block Motion Compensation, OBMC)이다. 이 방법은 모든 움직임 벡터들을 연속적인 필드로 간주하고, 내부 픽셀이 현재 블록의 움직임 벡터에 의해 영향을 받을 뿐만 아니라 주변 움직임 벡터들에 의해 큰 정도로 영향을 받는다는 것을 제안한다. 현재 블록에 상, 하, 좌, 우 방향으로 인접한 서브 블록들의 움직임 벡터들을 획득한다. 움직임 벡터들이 존재하고 현재 서브 블록의 움직임 벡터와 상이한 경우, 움직임 벡터들을 이용하여 현재 블록에 대한 움직임 보상을 수행하여 현재 블록의 새로운 예측 신호를 획득하고, 현재 블록의 원래 예측 신호와 현재 블록의 새로운 예측 신호가 가중되고 필터링되어 "블로킹 아티팩트"를 제거한다.
전술한 방법은 병진 모델에 기초하여, 다시 말하면 이미지 블록에서의 모든 움직임들이 병진 움직임이라는 가정 하에 수행된다. 따라서, 기존의 OBMC는 상부 경계와 좌측 경계에 위치한 블록들만이 필터링되는 것을 제안한다. 이 경우, 예측 유닛이 비 병진 모드(예를 들면, 아핀(affine) 움직임 모델)의 예측 유닛들을 포함하고, 이들 예측 유닛 블록들의 움직임 벡터들이 상이한 경우에, 만약 전술한 방법이 여전히 사용된다면 유닛의 내부 예측 유닛들에 대해서는 필터링 처리가 수행될 수 없다. 따라서, 블록들 간에 여전히 "블로킹 아티팩트"가 존재하여 코딩 정밀도와 주관적 및 객관적인 효과에 영향을 미친다.
본 발명의 주된 목적은 블로킹 아티팩트를 제거하기 위한 필터링 방법 및 장치를 제공하고, 내부 예측 유닛 블록들 간의 "블로킹 아티팩트"가 처리될 수 없고, 코딩 정밀도 및 주관적이고 객관적인 효과가 영향을 받는 문제를 해결하기 위한 것이다.
전술한 목적을 달성하기 위해, 본 발명의 실시예에서는 다음의 기술적 해결책이 사용된다.
제1 양태에 따르면, 본 발명의 실시예는, 이미지 블록에 대해 필터링 처리를 수행하기 위해 사용되는 블로킹 아티팩트를 제거하는 필터링 방법을 제공하는데, 여기서 이미지 블록은 적어도 하나의 예측 유닛과 적어도 하나의 변환 유닛으로 분할되고, 예측 유닛은 비 병진 움직임 예측 유닛을 포함한다. 이 방법은 다음을 포함할 수 있다:
각각의 예측 유닛을 적어도 2개의 서브 유닛으로 분할하는 단계 - 각각의 서브 유닛은 N×N 픽셀을 포함하고, N은 1 이상의 정수임 -;
상기 적어도 2개의 서브 유닛 각각을 트래버스(traverse)하고, 미리 설정된 규칙에 기초하여 상기 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계를 결정하는 단계;
적어도 하나의 필터링 경계 중 임의의 것에 대해, 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값을 획득하는 단계 - 제1 서브 유닛 및 제2 서브 유닛은 필터링 경계에 인접함 -; 및
제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대해 필터링 처리를 수행하는 단계.
필터링 경계가 수직 필터링 경계인 경우, 제1 서브 유닛은 필터링 경계에 인접한 상부 서브 유닛이고, 제2 서브 유닛은 필터링 경계에 인접한 하부 서브 유닛이거나; 또는
필터링 경계가 수평 필터링 경계인 경우, 제1 서브 유닛은 상기 필터링 경계에 인접한 좌측 서브 유닛이고, 제2 서브 유닛은 상기 필터링 경계에 인접한 우측 서브 유닛이다.
이런 방식으로, 예측 유닛에서의 모든 필터링 경계가 결정되고, 필터링 경계들에 인접한 픽셀들에 대하여 필터링 처리가 수행되어, 상이한 움직임 벡터들을 갖는 유닛 블록들 사이의 "블로킹 아티팩트"가 제거되고, 이미지의 예측 정밀도 및 주관적 품질이 향상되도록 한다.
선택적으로, 제1 양태의 구현 가능한 방식에서, 적어도 2개의 서브 유닛 중 제1 서브 유닛에 대해, 서브 유닛의 제1 경계가 이미지 블록에서의 예측 유닛의 서브 블록 경계이거나 또는 서브 유닛의 제1 경계가 이미지 블록에서의 변환 유닛의 서브 블록 경계이면, 서브 유닛의 제1 경계는 필터링 경계로서 결정되고, 여기서 제1 경계는 서브 유닛의 임의의 경계이다. 또한, 서브 유닛이 비 병진 움직임 예측 유닛에 포함되는 경우, 제1 서브 유닛의 각각의 경계가 필터링 경계로서 결정된다.
이런 식으로, 예측 유닛에 있고 또한 예측 유닛의 서브 블록 경계에 위치된 경계 또는 변환 유닛의 서브 블록 경계가 필터링 경계로서 결정되고 후속 필터링 처리가 경계에 대해 수행될 뿐만 아니라, 비 병진 움직임 예측 유닛의 경계가 필터링 경계로서 결정될 수 있고, 예측 유닛에서의 비 병진 움직임 예측 유닛의 경계에 대해 필터링 처리가 수행되어, 예측 유닛에서의 비 병진 움직임 예측 유닛들 사이의 블로킹 아티팩트가 제거되도록 한다.
선택적으로, 제1 양태의 다른 구현 가능한 방식에서, 필터링 경계에 인접한 제1 서브 유닛의 제1 픽셀 값을 획득하는 단계는 다음을 포함한다:
상기 제1 서브 유닛의 제1 예측 픽셀 값을 획득하는 단계;
제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서 M개의 서브 유닛의 움직임 벡터를 계산하는 단계;
M개의 서브 유닛의 움직임 벡터들에 기초하여 상기 제1 서브 유닛의 M개의 제2 예측 픽셀 값을 획득하는 단계; 및
제1 서브 유닛의 제1 예측 픽셀 값 및 M개의 제2 예측 픽셀 값에 기초하여 제1 미리 설정된 알고리즘을 이용하여 제1 서브 유닛의 제1 픽셀 값을 획득하는 단계 - M은 1 내지 4 중 임의의 정수임 -.
제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛 각각의 움직임 벡터를 계산하는 것은:
제1 서브 유닛이 비 병진 움직임 예측 유닛에 포함되거나, 또는 제1 서브 유닛이 비 병진 움직임 예측 유닛의 하부 경계 또는 우측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛 각각의 움직임 벡터를 도출하는 것; 또는
상기 제1 서브 유닛이 상기 비 병진 움직임 예측 유닛의 상부 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 상기 제1 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 좌측 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 단계; 및 제1 서브 유닛에 인접한 상부 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재한다면, 제1 서브 유닛의 움직임 벡터를 상부 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 미리 설정된 비 병진 움직임 모델을 이용하여 상부 서브 유닛의 움직임 벡터를 도출하는 것; 또는
상기 제1 서브 유닛이 상기 비 병진 움직임 예측 유닛의 좌측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 상기 제1 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 상부 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 단계; 및 제1 서브 유닛에 인접한 좌측 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재하면, 제1 서브 유닛의 움직임 벡터를 좌측 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 상기 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 또는 상기 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 상기 미리 설정된 비 병진 움직임 모델을 이용하여 상기 좌측 서브 유닛의 움직임 벡터를 도출하는 것을 포함한다.
선택적으로, 제1 양태의 또 다른 구현 가능한 방식에서, 필터링 경계에 인접한 제1 서브 유닛의 제1 픽셀 값을 획득하는 단계는 하기를 추가로 포함할 수 있다:
상기 제1 서브 유닛(P)의 제1 예측 픽셀 값을 획득하는 단계;
미리 설정된 비 병진 움직임 모델에 기초하여, 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1), 하부 좌표(1.2), 좌측 좌표(1.3) 및 우측 좌표(1.4)에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1) 하부 좌표(2.2), 좌측 좌표(2.3) 및 우측 좌표(2.4)에서의 M개의 좌표 세트의 움직임 벡터들을 도출하는 단계 - 제1 꼭지점(1) 및 제2 꼭지점(2)은 제1 서브 유닛(P)의 임의의 두 개의 상이한 꼭지점이고, M은 1 내지 4 중 임의의 정수임 -;
제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1), 하부 좌표(1.2), 좌측 좌표(1.3) 및 우측 좌표(1.4)에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1) 하부 좌표(2.2), 좌측 좌표(2.3) 및 우측 좌표(2.4)에서의 M개의 좌표 세트의 움직임 벡터들을 그룹화함으로써 M개의 움직임 벡터 쌍을 획득하는 단계 - M개의 움직임 벡터 쌍에서 제1 움직임 벡터 쌍은 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 제1 좌표의 움직임 벡터 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 제1 좌표의 움직임 벡터를 포함하고, 제1 좌표는 상부 좌표 또는 하부 좌표 또는 좌측 좌표 또는 우측 좌표임 -;
상기 미리 설정된 비 병진 움직임 모델에 기초하여 상기 M개의 움직임 벡터 쌍에 대한 계산을 개별적으로 수행하여 상기 제1 서브 유닛(P)의 M개의 움직임 벡터를 획득하는 단계;
상기 제1 서브 유닛(P)의 상기 M개의 움직임 벡터에 기초하여 상기 제1 서브 유닛(P)의 M개의 제2 예측 픽셀 값을 획득하는 단계; 및
제1 서브 유닛(P)의 제1 예측 픽셀 값과 M개의 제2 예측 픽셀 값에 기초하여 제1 미리 설정된 알고리즘을 이용하여 제1 서브 유닛(P)의 제1 픽셀 값을 획득하는 단계.
이와 같이, 상이한 서브 유닛들의 움직임 벡터들의 상관을 고려하여, 제1 서브 유닛에 인접한 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대하여 움직임 보상을 수행하거나, 또는 제1 서브 유닛에 인접한 좌표 지점에 기초하여 제1 유닛의 움직임 벡터가 계산되어 제1 서브 유닛에 대한 움직임 보상을 수행한다. 따라서, 데이터 중복성 및 데이터 코딩 길이가 감소되고, 제1 서브 유닛의 예측 정밀도가 향상된다.
선택적으로, 제1 양태의 또 다른 구현 가능한 방식에서, 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여 필터링 경계에 인접한 픽셀들에 대해 필터링 처리를 수행하는 단계는 하기를 포함할 수 있다:
필터링 경계의 경계 강도 값을 결정하는 단계;
필터링 경계의 경계 강도 값, 초기 임계값들 및 , 제1 서브 유닛의 양자화 파라미터, 및 제2 서브 유닛의 양자화 파라미터에 기초하여, 필터링 경계에 대응하는 임계값 및 을 획득하는 단계; 및
, 및 필터링 경계에 인접하고 또한 제1 서브 유닛 및 제2 서브 유닛에 있는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행하는 단계 - M은 1이상의 정수임 -.
이러한 방식으로, 필터링 경계의 강도에 기초하여 필터링 경계에 인접한 픽셀들에 대한 필터링 처리가 수행되어, 변환 유닛 및 예측 유닛의 분할에 의해 야기되는 블로킹 아티팩트를 감소시킬 수 있다.
제2 양태에 따르면, 본 발명의 실시예는 제1 양태에서 설명된 방법을 수행하도록 구성된 필터링 장치를 추가로 제공한다. 필터링 장치는 하기를 포함할 수 있다:
각각의 예측 유닛을 적어도 2개의 서브 유닛으로 분할하도록 구성된 분할 유닛 - 각각의 서브 유닛은 N×N 픽셀을 포함하고, N은 1이상의 정수임 -;
분할에 의해 분할 유닛에 의해 획득되는 적어도 2개의 서브 유닛 각각을 트래버스하고 미리 설정된 규칙에 기초하여 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계를 결정하도록 구성된 결정 유닛;
결정 유닛에 의해 결정된 적어도 하나의 필터링 경계 중 임의의 하나에 대해, 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값을 획득하도록 구성된 획득 유닛 - 제1 서브 유닛 및 제2 서브 유닛은 필터링 경계에 인접함 -; 및
획득 유닛에 의해 획득된 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행하도록 구성된 필터링 유닛.
필터링 경계가 수직 필터링 경계인 경우, 제1 서브 유닛은 필터링 경계에 인접한 상부 서브 유닛이고, 제2 서브 유닛은 필터링 경계에 인접한 하부 서브 유닛이거나; 또는
상기 필터링 경계가 수평 필터링 경계인 경우, 상기 제1 서브 유닛은 상기 필터링 경계에 인접한 좌측 서브 유닛이고, 상기 제2 서브 유닛은 상기 필터링 경계에 인접한 우측 서브 유닛이다.
이런 방식으로, 예측 유닛에서의 모든 필터링 경계가 결정되고, 필터링 경계들에 인접한 픽셀들에 대하여 필터링 처리가 수행되어, 상이한 움직임 벡터들을 갖는 유닛 블록들 사이의 "블로킹 아티팩트"가 제거되고, 이미지의 예측 정밀도 및 주관적 품질이 향상되도록 한다.
선택적으로, 제2 양태의 구현 가능한 방식에서, 적어도 2개의 서브 유닛 중 임의의 하나에 대해, 결정 유닛은:
서브 유닛이 비 병진 움직임 예측 유닛에 포함되는 경우, 서브 유닛의 각각의 경계를 필터링 경계로서 결정하고; 또는 서브 유닛의 제1 경계가 이미지 블록에서의 예측 유닛의 서브 블록 경계이거나 서브 유닛의 제1 경계가 이미지 블록에서의 변환 유닛의 서브 블록 경계라면, 서브 유닛의 제1 경계를 필터링 경계로서 결정하도록 - 제1 경계는 서브 유닛의 임의의 경계임 - 구체적으로 구성된다.
이런 식으로, 예측 유닛에 있고 또한 예측 유닛의 서브 블록 경계에 위치된 경계 또는 변환 유닛의 서브 블록 경계가 필터링 경계로서 결정되고 후속 필터링 처리가 경계에 대해 수행될 뿐만 아니라, 비 병진 움직임 예측 유닛의 경계가 필터링 경계로서 결정될 수 있고, 예측 유닛에서의 비 병진 움직임 예측 유닛의 경계에 대해 필터링 처리가 수행되어, 예측 유닛에서의 비 병진 움직임 예측 유닛들 사이의 블로킹 아티팩트가 제거되도록 한다.
선택적으로, 제2 양태의 또 다른 구현 가능한 방식에서, 획득 유닛은:
제1 서브 유닛의 제1 예측 픽셀 값을 획득하고;
제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서의 M개의 서브 유닛의 움직임 벡터들을 계산하고 - M은 1 내지 4 중 임의의 정수임 -;
M개의 서브 유닛의 움직임 벡터들에 기초하여 제1 서브 유닛의 M개의 제2 예측 픽셀 값을 획득하고; 및
제1 서브 유닛의 제1 예측 픽셀 값과 M개의 제2 예측 픽셀 값에 기초하여 제1 미리 설정된 알고리즘을 이용하여 제1 서브 유닛의 제1 픽셀 값을 획득하도록 구체적으로 구성된다.
제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛 각각의 움직임 벡터를 계산하는 것은:
제1 서브 유닛이 비 병진 움직임 예측 유닛에 포함되거나, 또는 제1 서브 유닛이 비 병진 움직임 예측 유닛의 하부 경계 또는 우측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛 각각의 움직임 벡터를 도출하는 것; 또는
상기 제1 서브 유닛이 상기 비 병진 움직임 예측 유닛의 상부 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 상기 제1 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 좌측 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 것; 및 제1 서브 유닛에 인접한 상부 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재한다면, 제1 서브 유닛의 움직임 벡터를 상부 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 미리 설정된 비 병진 움직임 모델을 이용하여 상부 서브 유닛의 움직임 벡터를 도출하는 것; 또는
상기 제1 서브 유닛이 상기 비 병진 움직임 예측 유닛의 좌측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 상기 제1 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 상부 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 단계; 및 제1 서브 유닛에 인접한 좌측 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재하면, 제1 서브 유닛의 움직임 벡터를 좌측 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 상기 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 또는 상기 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 상기 미리 설정된 비 병진 움직임 모델을 이용하여 상기 좌측 서브 유닛의 움직임 벡터를 도출하는 것을 포함한다.
선택적으로, 제2 양태의 또 다른 구현 가능한 방식에서, 획득 유닛은:
제1 서브 유닛(P)의 제1 예측 픽셀 값을 획득하고;
미리 설정된 비 병진 움직임 모델에 기초하여, 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1), 하부 좌표(1.2), 좌측 좌표(1.3) 및 우측 좌표(1.4)에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1), 하부 좌표(2.2), 좌측 좌표(2.3) 및 우측 좌표(2.4)에서의 M개의 좌표 세트의 움직임 벡터들을 도출하고 -제1 꼭지점(1) 및 제2 꼭지점(2)은 제1 서브 유닛(P)의 임의의 두 개의 상이한 꼭지점이고, M은 1 내지 4 중 임의의 정수임- ;
제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1), 하부 좌표(1.2), 좌측 좌표(1.3) 및 우측 좌표(1.4)에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1), 하부 좌표(2.2), 좌측 좌표(2.3), 및 우측 좌표(2.4)에서의 M개의 좌표 세트의 움직임 벡터들을 그룹화함으로써 M개의 움직임 벡터 쌍을 획득하고 - M개의 움직임 벡터 쌍에서 제1 움직임 벡터 쌍은 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 제1 좌표의 움직임 벡터 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 제1 좌표의 움직임 벡터를 포함하고, 제1 좌표는 상부 좌표 또는 하부 좌표 또는 좌측 좌표 또는 우측 좌표임 -;
미리 설정된 비 병진 움직임 모델에 기초하여 M개의 움직임 벡터 쌍에 대한 계산을 개별적으로 수행하여 제1 서브 유닛(P)의 M개의 움직임 벡터를 획득하고;
제1 서브 유닛(P)의 M개의 움직임 벡터에 기초하여 제1 서브 유닛(P)의 M개의 제2 예측 픽셀 값을 획득하고; 및
제1 서브 유닛(P)의 제1 예측 픽셀 값과 M개의 제2 예측 픽셀 값에 기초하여 제1 미리 설정된 알고리즘을 이용하여 제1 서브 유닛(P)의 제1 픽셀 값을 획득하도록 추가로 구체적으로 구성된다.
이와 같이, 상이한 서브 유닛들의 움직임 벡터들의 상관을 고려하여, 제1 서브 유닛에 인접한 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대하여 움직임 보상을 수행하거나, 또는 제1 서브 유닛에 인접한 좌표 지점에 기초하여 제1 유닛의 움직임 벡터가 계산되어 제1 서브 유닛에 대한 움직임 보상을 수행한다. 따라서, 데이터 중복성 및 데이터 코딩 길이가 감소되고, 제1 서브 유닛의 예측 정밀도가 향상된다.
선택적으로, 제2 양태의 또 다른 구현 가능한 방식에서, 결정 유닛은 필터링 경계의 경계 강도 값을 결정하도록 추가로 구성되며; 및
필터링 유닛은 필터링 경계의 경계 강도 값, 초기 임계값들 및 , 제1 서브 유닛의 양자화 파라미터, 및 제2 서브 유닛의 양자화 파라미터에 기초하여, 필터링 경계에 대응하는 임계값 및 을 획득하고; 및
, 및 필터링 경계에 인접하고 또한 제1 서브 유닛 및 제2 서브 유닛에 있는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행하도록 - M은 1 이상의 정수임 - 구체적으로 구성된다.
이러한 방식으로, 필터링 경계의 강도에 기초하여 필터링 경계에 인접한 픽셀들에 대한 필터링 처리가 수행되어, 변환 유닛 및 예측 유닛의 분할에 의해 야기되는 블로킹 아티팩트를 감소시킬 수 있다.
제2 양태에서 설명된 기능 모듈들은, 하드웨어를 사용하여 구현될 수도 있고, 대응하는 소프트웨어를 실행하여 하드웨어로 구현될 수도 있다는 것을 유의해야 한다. 하드웨어 또는 소프트웨어는 전술한 기능들에 대응하는 하나 이상의 모듈, 예를 들어, 외부 네트워크 요소와 통신하도록 구성되는 통신 유닛; 분할 유닛, 결정 유닛, 획득 유닛 및 필터링 유닛의 기능들을 구현하도록 구성되는 프로세서; 및 대응하는 애플리케이션 프로그램을 저장하도록 구성되는 메모리를 포함한다. 프로세서, 통신 유닛, 및 메모리는 버스를 사용하여 접속되고 서로 통신한다. 특정 구현은 다음과 같다:
제3 양태에 따르면, 본 발명의 일 실시예는 제1 양태에서 설명된 방법을 수행하도록 구성되는 필터링 장치를 추가로 제공한다. 필터링 장치는 하기를 포함할 수 있다:
각각의 예측 유닛을 적어도 2개의 서브 유닛으로 분할하도록 구성된 분할 유닛 - 각각의 서브 유닛은 N×N 픽셀을 포함하고, N은 1이상의 정수임 -;
분할에 의해 분할 유닛에 의해 획득되는 적어도 2개의 서브 유닛 각각을 트래버스하고 미리 설정된 규칙에 기초하여 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계를 결정하도록 구성된 결정 유닛;
제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값을 획득하도록 구성된 획득 유닛- 제1 서브 유닛 및 제2 서브 유닛은 필터링 경계에 인접함 -; 및
획득 유닛에 의해 획득된 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행하도록 구성된 필터링 유닛.
구체적으로, 프로세서에 의해 수행되는 기능들에 대해서는, 제2 양태에서 제공되는 필터링 장치에서의 분할 유닛, 결정 유닛, 획득 유닛 및 필터링 유닛에 의해 수행되는 기능들을 참조한다.
본 발명의 실시예들은 블로킹 아티팩트를 제거하기 위한 필터링 방법 및 필터링 장치를 제공한다는 것을 위에서 알 수 있다. 각각의 예측 유닛은 적어도 2개의 서브 유닛으로 분할된다. 분할에 의해 분할 유닛에 의해 획득된 적어도 2개의 서브 유닛의 각각은 트래버스되고, 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계가 미리 설정된 규칙에 기초하여 결정된다. 제1 서브 유닛의 제1 픽셀 값과 제2 서브 유닛의 제1 픽셀 값이 획득되고, 여기서 제1 서브 유닛과 제2 서브 유닛은 필터링 경계에 인접한다. 필터링 처리는 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대해 수행된다. 이와 같이, 예측 유닛의 서브 블록 경계 또는 변환 유닛의 서브 블록 경계의 양측에 위치하는 예측 유닛에서의 유닛들의 픽셀들이 필터링될 뿐만 아니라, 예측 유닛에서의 비 병진 움직임 예측 유닛의 경계에 대해 필터링 처리가 수행될 수 있어서, 예측 유닛에서의 블로킹 아티팩트가 제거되고, 이미지의 예측 정밀도 및 주관적 품질을 향상시키게 되고, 필터링 연산은 예측 유닛의 상부 경계와 좌측 경계에서만 수행되고, 예측 유닛의 내부 움직임 보상 블록의 경계에 대해서는 어떠한 필터링 처리도 수행되지 않기 때문에, 블로킹 아티팩트가 완전히 제거될 수 없다는 문제점을 방지한다.
본 발명의 실시예에서의 또는 종래 기술에서의 기술적 해결책을 보다 명확하게 설명하기 위해, 실시예 또는 종래 기술을 설명하기 위해 필요한 첨부 도면을 이하에서 간략히 설명한다. 명백하게도, 다음의 설명에서의 첨부 도면은 본 발명의 단지 일부 실시예만을 보여주며, 본 기술분야의 통상의 기술자는 창의적인 노력 없이도 이들 첨부 도면으로부터 다른 도면을 여전히 유도할 수 있다.
도 1은 본 발명의 일 실시예에 따른 필터링 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따라 블로킹 아티팩트를 제거하기 위한 필터링 방법의 흐름도이다.
도 3은 본 발명의 실시예에 따른 이미지 블록의 개략도이다.
도 4는 본 발명의 일 실시예에 따른 이미지 블록의 개략도이다.
도 5는 본 발명의 일 실시예에 따른 이미지 블록의 개략도이다.
도 6은 본 발명의 일 실시예에 따른 필터링 장치의 구조도이다.
도 1은 본 발명의 일 실시예에 따른 필터링 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따라 블로킹 아티팩트를 제거하기 위한 필터링 방법의 흐름도이다.
도 3은 본 발명의 실시예에 따른 이미지 블록의 개략도이다.
도 4는 본 발명의 일 실시예에 따른 이미지 블록의 개략도이다.
도 5는 본 발명의 일 실시예에 따른 이미지 블록의 개략도이다.
도 6은 본 발명의 일 실시예에 따른 필터링 장치의 구조도이다.
본 발명의 주요 원리는 다음과 같다: 예측 유닛의 서브 블록 경계 또는 변환 유닛의 서브 블록 경계의 양측에 위치하는 예측 유닛에서의 유닛들의 픽셀들이 필터링될 뿐만 아니라, 예측 유닛에서의 비 병진 움직임 예측 유닛의 경계에 대해 필터링 처리가 수행될 수 있어서, 예측 유닛에서의 블로킹 아티팩트가 제거되고, 이미지의 예측 정밀도 및 주관적 품질을 향상시키게 되고, 필터링 연산은 비 병진 움직임 모듈을 사용하여 움직임 보상이 그에 대해 수행되는 예측 유닛의 상부 경계와 좌측 경계에서만 수행되고, 예측 유닛의 내부 움직임 보상 블록의 경계에 대해서는 어떠한 필터링 처리도 수행되지 않기 때문에, 블로킹 아티팩트가 완전히 제거될 수 없다는 문제점을 방지한다. 따라서, 이미지의 예측 정밀도 및 주관적 품질이 향상된다.
본 발명의 명세서, 청구 범위, 및 첨부 도면에 있어서의 "제1", "제2", "제3", "제4" 등의 용어(존재하는 경우)는 유사한 대상들을 구별하기 위해 의도된 것일 뿐이고, 반드시 특정 순서를 나타내는 것은 아니라는 것을 유의해야 한다. 이러한 방식으로 명명된 데이터는 적절한 환경에서 상호 교환 가능하여서, 본 명세서에서 설명된 본 발명의 실시예는 본 명세서에 도시되거나 설명된 순서와 상이한 순서로 구현될 수 있음을 이해해야 한다. 또한, 용어 "중심", "상향", "하향", "좌측", "우측", "상부", "하부", "내부", "외부" 등으로 표시되는 방향 또는 위치 관계는, 첨부 도면에 기초하여 보여지는 방향 또는 위치 관계이고, 지시된 시스템 또는 컴포넌트가 특정 배향을 가질 필요가 있거나 특정 배향으로 구축되고 동작될 필요가 있음을 나타내거나 암시하기보다는, 본 발명을 쉽게 설명하고 설명을 단순화하기 위해 사용될 뿐이고, 따라서 본 발명에 대한 제한으로 이해할 수는 없다.
이하, 본 발명의 실시예에 있어서의 기술적 해결책을, 본 발명의 실시예에 있어서의 첨부 도면을 참조하여 명확하고 철저하게 설명한다.
도 1은 본 발명에 제공된 방법을 수행할 수 있는 필터링 장치의 구조도이다. 필터링 장치는 이미지 블록에 대해 필터링 처리를 수행하도록 구성된다. 이미지 블록은 적어도 하나의 예측 유닛, 적어도 하나의 비 병진 움직임 예측 유닛, 및 적어도 하나의 변환 유닛으로 분할된다. 예측 유닛은 비 병진 움직임 예측 유닛을 포함한다. 필터링 장치는 비디오 코딩 장치 또는 비디오 디코딩 장치일 수 있다. 비디오 코딩 장치 또는 비디오 디코딩 장치는 비디오를 출력하거나 저장할 필요가 있는 임의의 장치, 예를 들어 노트북 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 이동 전화, 또는 비디오 서버일 수 있다. 도 1을 참조하면, 필터링 장치는 통신 인터페이스(1001), 프로세서(1002), 메모리(1003), 및 이들 컴포넌트들 간의 접속 및 상호 통신을 구현하도록 구성된 적어도 하나의 통신 버스(1004)를 포함할 수 있다.
통신 인터페이스(1001)는 외부 네트워크 요소와 데이터 통신을 수행하도록 구성될 수 있다.
프로세서(1002)는 CPU(central processing unit)일 수도 있고, ASIC(Application Specific Integrated Circuit)일 수도 있고, 또는 본 발명의 실시예를 구현하도록 구성된 하나 이상의 집적 회로, 예를 들어, 하나 이상의 마이크로프로세서(digital signal processor, DSP) 또는 하나 이상의 FPGA(Field Programmable Gate Array)일 수도 있다.
메모리(1003)는 RAM(random-access memory)과 같은 휘발성 메모리(volatile memory); 또는 ROM(read-only memory), 플래시 메모리(flash memory), HDD(hard disk drive)와 같은 비휘발성 메모리, 또는 SSD(solid-state drive); 또는 전술한 타입의 메모리들의 조합일 수 있고, 본 발명에 제공된 필터링 방법을 구현할 수 있는 애플리케이션 프로그램을 저장하도록 구성된다.
통신 버스(1004)는 어드레스 버스, 데이터 버스, 및 제어 버스 등으로 분류될 수 있고, ISA(Industry Standard Architecture) 버스, PCI(Peripheral Component Interconnect) 버스, EISA(Extended Industry Standard Architecture) 버스 등일 수 있다. 표기의 용이함을 위해, 통신 버스는 도 1에서 오직 하나의 굵은 선을 사용하여 표현되지만, 이것이 하나의 버스만이 또는 하나의 유형의 버스만이 있음을 나타내지는 않는다.
구체적으로, 프로세서(1002)는:
각각의 예측 유닛을 적어도 2개의 서브 유닛으로 분할하고 - 각각의 서브 유닛은 N×N 픽셀을 포함하고, N은 1 이상의 정수임 -;
적어도 2개의 서브 유닛 각각을 트래버스하고, 미리 설정된 규칙에 기초하여 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계를 결정하고;
제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값을 획득하고- 제1 서브 유닛 및 제2 서브 유닛은 필터링 경계에 인접함 -; 및
제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행하도록 구성된다.
필터링 경계가 수직 필터링 경계인 경우, 제1 서브 유닛은 필터링 경계에 인접한 상부 서브 유닛이고, 제2 서브 유닛은 필터링 경계에 인접한 하부 서브 유닛이거나; 또는
필터링 경계가 수평 필터링 경계인 경우, 제1 서브 유닛은 필터링 경계에 인접한 좌측 서브 유닛이고, 제2 서브 유닛은 필터링 경계에 인접한 우측 서브 유닛이다.
적어도 2개의 서브 유닛 중 임의의 하나에 대해, 서브 유닛이 비 병진 움직임 예측 유닛에 포함되는 경우, 서브 유닛의 각각의 경계는 필터링 경계로서 결정되고; 또는 서브 유닛의 제1 경계가 이미지 블록에서의 예측 유닛의 서브 블록 경계이거나 서브 유닛의 제1 경계가 이미지 블록에서의 변환 유닛의 서브 블록 경계라면, 서브 유닛의 제1 경계를 필터링 경계로서 결정되고, 제1 경계는 서브 유닛의 임의의 경계이다.
선택적으로, 프로세서(1002)는:
제1 서브 유닛의 제1 예측 픽셀 값을 획득하고;
제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서 M개의 서브 유닛의 움직임 벡터들을 계산하고;
M개의 서브 유닛의 움직임 벡터들에 기초하여 제1 서브 유닛의 M개의 제2 예측 픽셀 값을 획득하고; 및
제1 서브 유닛의 제1 예측 픽셀 값과 M개의 제2 예측 픽셀 값을 개별적으로 가중화하고, 가중화 후의 결과들을 평균하여 제1 서브 유닛의 제1 픽셀 값을 획득하도록 구성될 수 있고, 여기서 M은 1 내지 4 의 임의의 정수이다.
프로세서(1002)가 제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛 각각의 움직임 벡터를 계산한다는 것은:
제1 서브 유닛이 비 병진 움직임 예측 유닛에 포함되거나, 또는 제1 서브 유닛이 비 병진 움직임 예측 유닛의 하부 경계 또는 우측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛 각각의 움직임 벡터를 도출하는 것; 또는
상기 제1 서브 유닛이 상기 비 병진 움직임 예측 유닛의 상부 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 상기 제1 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 좌측 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 단계; 및 제1 서브 유닛에 인접한 상부 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재한다면, 제1 서브 유닛의 움직임 벡터를 상부 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 미리 설정된 비 병진 움직임 모델을 이용하여 상부 서브 유닛의 움직임 벡터를 도출하는 것; 또는
상기 제1 서브 유닛이 상기 비 병진 움직임 예측 유닛의 좌측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 상기 제1 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 상부 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 단계; 및 제1 서브 유닛에 인접한 좌측 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재하면, 제1 서브 유닛의 움직임 벡터를 좌측 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 상기 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 또는 상기 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 상기 미리 설정된 비 병진 움직임 모델을 이용하여 상기 좌측 서브 유닛의 움직임 벡터를 도출하는 것일 수 있다.
선택적으로, 프로세서(1002)는:
제1 서브 유닛의 제1 예측 픽셀 값을 획득하고;
미리 설정된 비 병진 움직임 모델에 기초하여, 제1 서브 유닛의 제1 꼭지점에 인접한 상부 좌표, 하부 좌표, 좌측 좌표, 및 우측 좌표에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛의 제2 꼭지점에 인접한 상부 좌표, 하부 좌표, 좌측 좌표, 및 우측 좌표에서의 M개의 좌표 세트의 움직임 벡터들을 도출하고 - 제1 꼭지점 및 제2 꼭지점은 제1 서브 유닛의 임의의 두 개의 상이한 꼭지점이고, M은 1 내지 4 중 임의의 정수임 -;
제1 서브 유닛의 제1 꼭지점에 인접한 상부 좌표, 하부 좌표, 좌측 좌표 및 우측 좌표에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛의 제2 꼭지점에 인접한 상부 좌표, 하부 좌표, 좌측 좌표 및 우측 좌표에서의 M개의 좌표 세트의 움직임 벡터들을 그룹화함으로써 M개의 움직임 벡터 쌍을 획득하고 - M개의 움직임 벡터 쌍에서 제1 움직임 벡터 쌍은 제1 서브 유닛의 제1 꼭지점에 인접한 제1 좌표의 움직임 벡터 및 제1 서브 유닛의 제2 꼭지점에 인접한 제1 좌표의 움직임 벡터를 포함하고, 제1 좌표는 상부 좌표 또는 하부 좌표 또는 좌측 좌표 또는 우측 좌표임 -;
미리 설정된 비 병진 움직임 모델에 기초하여 M개의 움직임 벡터 쌍에 대한 계산을 개별적으로 수행하여, 제1 서브 유닛의 M개의 움직임 벡터를 획득하고;
제1 서브 유닛의 M개의 움직임 벡터에 기초하여 제1 서브 유닛의 M개의 제2 예측 픽셀 값을 획득하고; 및
제1 서브 유닛의 제1 예측 픽셀 값과 M개의 제2 예측 픽셀 값에 기초하여 제1 미리 설정된 알고리즘을 이용하여 제1 서브 유닛의 제1 픽셀 값을 획득하도록 추가로 구성될 수 있다.
선택적으로, 프로세서(1002)는:
필터링 경계의 경계 강도 값을 결정하고; 및
필터링 경계의 경계 강도 값, 초기 임계값들 및 , 및 필터링 경계에 인접하고 또한 제1 서브 유닛 및 제2 서브 유닛에 있는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행하도록 추가로 구성될 수 있다.
전술한 것으로부터 본 발명의 실시예에서 제공된 필터링 장치는 각각의 예측 유닛을 적어도 2개의 서브 유닛으로 분할하고; 분할에 의해 분할 유닛에 의해 획득되는 적어도 2개의 서브 유닛 각각을 트래버스하고 미리 설정된 규칙에 기초하여 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계를 결정하고; 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값을 획득하고- 제1 서브 유닛 및 제2 서브 유닛은 필터링 경계에 인접함 -; 및 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행한다는 것을 알 수 있다. 이와 같이, 예측 유닛의 서브 블록 경계 또는 변환 유닛의 서브 블록 경계의 양측에 위치하는 예측 유닛에서의 유닛들의 픽셀들이 필터링될 뿐만 아니라, 예측 유닛에서의 비 병진 움직임 예측 유닛의 경계에 대해 필터링 처리가 수행될 수 있어서, 예측 유닛에서의 블로킹 아티팩트가 제거되고, 이미지의 예측 정밀도 및 주관적 품질을 향상시키게 되고, 필터링 연산은 예측 유닛의 상부 경계와 좌측 경계에서만 수행되고, 예측 유닛의 내부 움직임 보상 블록의 경계에 대해서는 어떠한 필터링 처리도 수행되지 않기 때문에, 블로킹 아티팩트가 완전히 제거될 수 없다는 문제점을 방지한다.
설명의 편의를 위해, 실시예 1은 본 발명에서 제공되는 블로킹 아티팩트를 제거하기 위한 필터링 방법을 단계의 형태로 보여주고 상세하게 설명한다. 도시된 단계들은 또한 예를 들어 도 1에 도시된 장치 이외의 실행 가능한 명령어들의 세트를 포함하는 컴퓨터 시스템에서 수행될 수 있다. 또한, 도면에 논리적 순서가 도시되어 있지만, 도시된 또는 설명된 단계들은 몇몇 경우에 상이한 순서로 수행될 수 있다.
실시예 1
도 2는 본 발명의 일 실시예에 따른 블로킹 아티팩트 제거를 위한 필터링 방법의 흐름도이다. 이 방법은 도 1에 도시된 필터링 장치에 의해 수행되고, 이미지 블록에 대한 필터링 처리를 수행하기 위해 사용된다. 이미지 블록은 적어도 하나의 예측 유닛 및 적어도 하나의 변환 유닛으로 분할된다. 예측 유닛은 비 병진 움직임 예측 유닛을 포함한다.
이미지 블록은 코딩 이미지 블록일 수도 있고, 디코딩 이미지 블록일 수도 있다. 필터링 장치가 비디오 코딩 장치일 때, 이미지 블록은 코딩 이미지 블록이다. 필터링 장치가 비디오 디코딩 장치일 때, 이미지 블록은 디코딩 이미지 블록이다.
HEVC(High Efficiency Video Coding) 표준에서, 이미지 블록의 크기는 64×64, 32×32, 16×16, 및 8×8의 4가지 레벨로 분류될 수 있다. 각각의 레벨의 이미지 블록은 프레임 내 예측 및 프레임 간 예측에 기초하여 상이한 크기의 예측 유닛들로 분할될 수 있다. 각각의 예측 유닛은 병진 움직임 모델 기반의 움직임 보상 예측 및 비 병진 움직임 모델 기반의 움직임 보상 예측에 기초하여 병진 움직임 예측 유닛과 비 병진 움직임 예측 유닛으로 분류될 수 있다. 각각의 레벨의 이미지 블록은 상이한 변환 방법들에 기초하여 상이한 크기의 변환 유닛들로 분할될 수 있다.
본 발명에서 설명된 비 병진 움직임은 아핀 움직임, 스케일 움직임, 회전 움직임, 또는 원근(perspective) 움직임과 같은 임의의 불규칙 움직임을 포함할 수 있음에 유의해야 한다. 예측 유닛이 비 병진 움직임 예측 유닛을 포함한다는 것은 예측 유닛이 비 병진 움직임 예측 유닛과 교차(intersect)한다는 것을 의미한다. 선택적으로, 예측 유닛은 병진 움직임 예측 유닛 및 비 병진 움직임 예측 유닛을 포함할 수 있다.
예를 들어, 도 3에 도시된 대로, 32×32 이미지 블록에 대해 프레임 간 예측이 수행되면, 32×32 이미지 블록은 하나의 예측 유닛으로서 독립적으로 사용될 수 있다. 비 병진 움직임 모듈을 사용하여 예측 유닛에 대해 움직임 보상 예측을 수행하는 경우, 예측 유닛은 각각의 비 병진 움직임 예측 유닛에 기초하여 상이한 크기의 비 병진 움직임 예측 유닛들로 분할될 수 있다. 32×32 이미지 블록에서 상이한 크기의 유닛들에 대해 상이한 변환 모드들이 사용되는 경우, 32×32 이미지 블록은 각각의 변환 유닛에 기초하여 상이한 크기의 변환 유닛들로 분할될 수 있다.
비 병진 움직임 모델에 기초하여 획득되는 인접 유닛들의 움직임 벡터들은 상이하다. 따라서, 비 병진 움직임 모델에 기초하여 움직임 보상 예측이 수행되는 예측 유닛에 있는 인접한 유닛들 간의 블로킹 아티팩트를 제거하기 위해서는, 필터링 처리가 경계 부근의 픽셀에 대해 수행될 수 있도록 인접한 유닛들 간의 경계가 추가로 발견될 필요가 있다. 도 2에 도시된 바와 같이, 방법은 다음 단계들을 포함할 수 있다.
S101. 각각의 예측 유닛을 적어도 2개의 서브 유닛으로 분할하고, 여기서 각각의 서브 유닛은 N×N 픽셀을 포함하고, N은 1이상의 정수이다.
N의 값은 필요에 따라 설정될 수 있고, 이것은 본 발명의 실시예에서 제한되지 않는다. 선택적으로, N은 디폴트로 4이다.
예를 들어, w×h 예측 유닛은 복수의 4×4 서브 유닛으로 분할될 수 있다. 본 발명의 실시예에서, 4x4 서브 유닛은 4x4 픽셀을 포함하는 서브 유닛을 나타낼 수 있다.
S102. 적어도 2개의 서브 유닛 각각을 트래버스하고, 미리 설정된 규칙에 기초하여 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계를 결정한다.
선택적으로, 적어도 2개의 서브 유닛 중 임의의 하나에 대해, 미리 설정된 규칙에 기초하여 서브 유닛의 필터링 경계를 결정하는 단계는:
서브 유닛이 비 병진 움직임 예측 유닛에 포함되는 경우, 서브 유닛의 각각의 경계를 필터링 경계로서 결정하는 단계; 또는 서브 유닛의 제1 경계가 이미지 블록에서의 예측 유닛의 서브 블록 경계이거나 또는 서브 유닛의 제1 경계가 이미지 블록에서의 변환 유닛의 서브 블록 경계라면, 서브 유닛의 제1 경계를 필터링 경계로서 결정하는 단계- 제1 경계는 서브 유닛의 임의의 경계임 -를 포함할 수 있다.
이와 같이, 예측 유닛의 서브 블록 경계 또는 변환 유닛의 서브 블록 경계에 위치하는 예측 유닛에서의 픽셀들이 발견될 뿐만 아니라, 비 병진 움직임 모델에 기초하여 움직임 보상 예측이 수행되는 예측 유닛에 있는 인접한 유닛들 사이의 경계가 획득될 수 있다.
예를 들어, 도 3에 도시된 바와 같이, 32×32 예측 유닛은 64개의 4×4 서브 유닛으로 분할될 수 있다(도 3에서 음영 1로 도시됨). 각각의 서브 유닛은 상부 경계, 하부 경계, 좌측 경계, 및 우측 경계의 네 개의 경계를 포함할 수 있다. 도 3의 음영 2에 의해 도시된 서브 유닛은 예측 유닛의 내부 서브 유닛이다. 움직임 보상 예측은 비 병진 움직임 모델을 사용하여 수행되기 때문에, 서브 유닛의 움직임 벡터는 그 인접한 서브 유닛들의 것들과는 상이하다. 서브 유닛이 예측 유닛의 내부 서브 유닛이기 때문에, 기존 필터링 방식이 사용되면, 서브 유닛에 대해 어떠한 필터링 처리도 수행되지 않으며, 결과적으로 서브 유닛과 그 인접 서브 유닛들 사이의 "블로킹 아티팩트"가 제거되지 않는다. 그러나, 단계 S102에서, 서브 유닛의 경계를 필터링 경계로서 결정할 수 있고, 서브 유닛의 경계 부근의 픽셀에 대해 후속 단계에서의 처리를 통해 필터링 처리가 수행될 수 있어서, 서브 유닛과 그 인접한 서브 유닛들 사이의 "블로킹 아티팩트"를 최대한 제거하고, 그에 의해 예측 유닛의 내부 서브 유닛에 대한 필터링 처리를 구현하고 비디오 이미지의 주관적 품질 및 객관적 품질을 향상시킨다.
도 3에 도시된 서브 유닛의 상, 하, 좌, 우의 경계들은 설명을 위한 예일 뿐이고, 서브 유닛의 경계들은 이 예에서의 명명 방식을 포함하지만 이에 한정되지는 않는다는 것을 유의해야 한다.
S103. 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값을 획득하고, 여기서 제1 서브 유닛 및 제2 서브 유닛은 필터링 경계에 인접해 있다.
필터링 경계가 수직 필터링 경계인 경우, 제1 서브 유닛은 필터링 경계에 인접한 상부 서브 유닛이고, 제2 서브 유닛은 필터링 경계에 인접한 하부 서브 유닛이거나; 또는
필터링 경계가 수평 필터링 경계인 경우, 상기 제1 서브 유닛은 상기 필터링 경계에 인접한 좌측 서브 유닛이고, 상기 제2 서브 유닛은 상기 필터링 경계에 인접한 우측 서브 유닛이다.
수직 필터링 경계는 변환 유닛 또는 비 병진 움직임 예측 유닛의 서브 블록들이 수평 배치된 변환 유닛 또는 비 병진 움직임 예측 유닛의 서브 블록 경계이고, 수평 필터링 경계는 변환 유닛 또는 비 병진 움직임 예측 유닛의 서브 블록들이 수직으로 배치된 변환 유닛 또는 비 병진 움직임 예측 유닛의 서브 블록 경계라는 것을 유의해야 한다. 본 발명에서, 이미지 블록은 x축(즉, 수평 방향) 및 y축(수직 방향)을 포함하는 평면인 것으로 이해될 수 있다. 따라서 "수평"은 x축과 평행한 것을 의미하고 "수직"은 y축과 평행한 것을 의미한다. 예를 들어, 도 3에 도시된 대로, 변환 유닛의 서브 블록 경계는 수직 필터링 경계이고, 여기서 변환 유닛의 서브 블록들은 x축과 평행하게 배치된다.
예를 들어, 제1 서브 유닛 또는 제2 서브 유닛의 제1 픽셀 값은 다음의 방식 1 또는 방식 2에서 획득될 수 있다. 제1 서브 유닛의 제1 픽셀 값을 획득하는 방식은 제2 서브 유닛의 제1 픽셀 값을 획득하는 방식과 동일하므로, 설명의 편의를 위해 제1 서브 유닛의 제1 픽셀 값을 획득하는 것만이 방식 1 또는 방식 2를 설명하기 위한 예로서 이용된다.
방식 1: 제1 서브 유닛의 제1 예측 픽셀 값을 획득하고;
제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서의 M개의 서브 유닛의 움직임 벡터들을 계산하고 - M은 1 내지 4 중 임의의 정수임 -;
M개의 서브 유닛의 움직임 벡터들에 기초하여 제1 서브 유닛의 M개의 제2 예측 픽셀 값을 획득하고; 및
제1 서브 유닛의 제1 예측 픽셀 값과 M개의 제2 예측 픽셀 값에 기초하여 제1 미리 설정된 알고리즘을 이용하여 제1 서브 유닛의 제1 픽셀 값을 획득한다.
본 발명의 실시예에서, 움직임 벡터는 수평 성분 및 수직 성분을 포함한다는 것을 유의해야 한다. 수평 성분은 x축에 평행한 성분이고, 수직 성분은 y축에 평행한 성분이다.
제1 서브 유닛의 제1 예측 픽셀 값은 움직임 모델에 기초하여 도출된 원래의 픽셀 값일 수 있다. 예를 들어, 제1 서브 유닛이 아핀 움직임 유닛인 경우, 이하의 아핀 움직임 모델 (1)에 기초하여, 제1 서브 유닛에서의 각각의 픽셀의 움직임 벡터를 획득할 수 있다. 그 다음, 제1 서브 유닛에서의 각각의 픽셀은 픽셀의 움직임 벡터에 기초한 지정된 참조 프레임에서 그 픽셀과 매칭되는 픽셀을 찾기 위해 트래버스된다. 참조 프레임에서의 픽셀의 픽셀 값은 제1 서브 유닛에서의 픽셀의 예측 픽셀 값으로서 사용된다. 모든 픽셀을 트래버스하여 획득되는 예측 픽셀 값들은 제1 서브 유닛의 제1 예측 픽셀 값들이 되도록 조합된다. 제1 서브 유닛이 N×N 픽셀을 포함한다면, 제1 서브 유닛의 획득된 제1 예측 픽셀 값들은 N×N 행렬인 것으로 이해될 수 있다. 또한, 기존의 보간 필터링 알고리즘이, 픽셀의 움직임 벡터에 기초한 지정된 참조 프레임에서 픽셀과 매칭되는 픽셀을 찾는 데 사용될 수 있고, 여기서는 상세히 설명하지 않는다. 본 발명의 실시예에서, 참조 프레임은 포워드 참조 프레임일 수 있거나 백워드 참조 프레임일 수 있다는 것을 유의해야 한다.
아핀 움직임 모델 (1)에서, 은 보통 제1 서브 유닛의 좌측 꼭지점 (0, 0)의 움직임 벡터일 수 있고, 은 보통 제1 서브 유닛의 우측 꼭지점 (w, 0)의 움직임 벡터일 수 있고, 여기서 w는 제1 서브 유닛의 폭일 수 있고, 은 제1 서브 유닛에서의 픽셀 의 움직임 벡터이다.
제1 서브 유닛에 인접한 상부 서브 유닛은 제1 서브 유닛의 상부 경계에 인접한 서브 유닛이고, 제1 서브 유닛에 인접한 하부 서브 유닛은 제1 서브 유닛의 하부 경계에 인접한 서브 유닛이고, 제1 서브 유닛에 인접한 좌측 서브 유닛은 제1 서브 유닛의 좌측 경계에 인접한 서브 유닛이고, 제1 서브 유닛에 인접한 우측 서브 유닛은 제1 서브 유닛의 우측 경계에 인접한 서브 유닛이다.
예를 들어, 도 3에 도시된 바와 같이, 제1 서브 유닛이 서브 유닛 2인 경우, 서브 유닛 a는 제1 서브 유닛의 상부 서브 유닛이고, 서브 유닛 b는 제1 서브 유닛의 하부 서브 유닛이고, 서브 유닛 c는 제1 서브 유닛의 좌측 서브 유닛이고, 서브 유닛 d는 제1 서브 유닛의 우측 서브 유닛이다.
선택적으로, 제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서의 M개 서브 유닛의 움직임 벡터들을 계산하는 것은 하기를 포함할 수 있다:
제1 서브 유닛이 비 병진 움직임 예측 유닛에 포함되거나, 또는 제1 서브 유닛이 비 병진 움직임 예측 유닛의 하부 경계 또는 우측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서의 M개의 서브 유닛의 움직임 벡터를 도출하는 것; 또는
상기 제1 서브 유닛이 상기 비 병진 움직임 예측 유닛의 상부 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 상기 제1 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 좌측 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 것; 및 제1 서브 유닛에 인접한 상부 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재한다면, 제1 서브 유닛의 움직임 벡터를 상부 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 미리 설정된 비 병진 움직임 모델을 이용하여 상부 서브 유닛의 움직임 벡터를 도출하는 것; 또는
상기 제1 서브 유닛이 상기 비 병진 움직임 예측 유닛의 좌측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 상기 제1 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 상부 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 것; 및 제1 서브 유닛에 인접한 좌측 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재하면, 제1 서브 유닛의 움직임 벡터를 좌측 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 상기 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 또는 상기 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 상기 미리 설정된 비 병진 움직임 모델을 이용하여 상기 좌측 서브 유닛의 움직임 벡터를 도출하는 것.
본 발명의 실시예에서, 비 병진 움직임은 아핀 움직임, 스케일 움직임, 회전 움직임, 또는 원근 움직임과 같은 임의의 불규칙 움직임일 수 있다. 따라서, 상이한 비 병진 움직임들에 대응하여, 미리 설정된 비 병진 움직임 모델을 사용하여 서브 유닛의 움직임 벡터를 도출하는 것은 다음을 포함할 수 있다:
아핀 움직임 모델 (1)에 기초하여 서브 유닛의 움직임 벡터를 도출하는 것; 또는
스케일 움직임 모델 (2)에 기초하여 서브 유닛의 움직임 벡터를 도출하는 것;
여기서, 스케일 움직임 모델 (2)에서, 은 보통은 제1 서브 유닛의 좌측 꼭지점 (0, 0)의 움직임 벡터일 수 있고, 은 미리 설정된 스케일 인자들의 세트이고, 은 수평 방향의 스케일 인자이고, 은 수직 방향의 스케일 인자이고, 은 제1 서브 유닛에서의 픽셀 의 움직임 벡터이고; 또는
회전 움직임 모델 (3)에 기초하여 서브 유닛의 움직임 벡터를 도출하는 것:
원근 움직임 모델 (4)에 기초하여 서브 유닛의 움직임 벡터를 도출하는 것;
여기서 원근 움직임 모델 (4)에서, 은 보통은 제1 서브 유닛의 좌측 꼭지점 (0, 0)의 움직임 벡터일 수 있고, 은 보통은 제1 서브 유닛의 우측 꼭지점 (w, 0)의 움직임 벡터일 수 있고, 은 보통은 제1 서브 유닛의 하부 좌측 꼭지점 (0, h)의 움직임 벡터일 수 있고, 은 보통은 제1 서브 유닛의 하부 우측 꼭지점 (w, h)의 움직임 벡터일 수 있고, 여기서 w는 제1 서브 유닛의 폭일 수 있고, h는 제1 서브 유닛의 높이이고, 은 제1 서브 유닛에서의 픽셀 의 움직임 벡터이다.
제2 픽셀 값은 제1 서브 유닛에 인접한 서브 유닛을 이용하여 제1 서브 유닛에 대해 움직임 보상을 수행하여 획득된 새로운 픽셀 값일 수 있다.
선택적으로, M이 4일 때, M개의 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛의 M개의 제2 예측 픽셀 값을 획득하는 것은 다음을 포함할 수 있다:
하나의 제2 예측 픽셀 값을 획득하기 위해, 제1 서브 유닛에 인접한 상부 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하는 것;
하나의 제2 예측 픽셀 값을 획득하기 위해, 제1 서브 유닛에 인접한 하부 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하는 것;
하나의 제2 예측 픽셀 값을 획득하기 위해, 제1 서브 유닛에 인접한 좌측 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하는 것; 및
하나의 제2 예측 픽셀 값을 획득하기 위해, 제1 서브 유닛에 인접한 우측 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하는 것.
하나의 제2 예측 픽셀 값을 얻기 위해 제1 서브 유닛에 인접한 상부 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하는 구현은 기본적으로 제1 서브 유닛에 인접한 하부 서브 유닛 또는 좌측 서브 유닛 또는 우측 서브 유닛에 기초하여 움직임 보상을 수행하는 것과 동일하다는 것을 유의해야 한다. 여기서, 설명의 편의상, 제1 서브 유닛에 인접한 상부 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하여 하나의 제2 예측 픽셀 값을 획득하는 구현만이 설명의 예로 사용된다.
예를 들어, 제1 서브 유닛에 인접한 상부 서브 유닛의 움직임 벡터는 제1 서브 유닛의 움직임 벡터로서 사용될 수 있고, 그 후 제1 서브 유닛과 매칭되는 유닛이 움직임 벡터에 기초하여 지정된 참조 프레임에서 발견되고, 참조 프레임에서의 매칭된 유닛의 픽셀 값은 제1 서브 유닛의 제2 예측 픽셀 값으로서 사용된다.
선택적으로, 제1 미리 설정된 알고리즘을 사용하여 제1 서브 유닛의 제1 예측 픽셀 값 및 M개의 제2 예측 픽셀 값에 기초하여 제1 서브 유닛의 제1 픽셀 값을 획득하는 것은:
제1 서브 유닛의 제1 예측 픽셀 값과 M 개의 제2 예측 픽셀 값을 개별적으로 가중화하고, 가중화 후의 결과들을 평균화하여 제1 서브 유닛의 제1 픽셀 값을 획득하는 것을 포함할 수 있다.
구체적으로는, 제1 서브 유닛의 제1 예측 픽셀 값 및 각각의 제2 예측 픽셀 값은 하기 수학식 (5)에 기초하여 먼저 가중화되어, M개의 가중 픽셀 값을 획득할 수 있고, M개의 가중 픽셀 값은 평균화되어 제1 서브유닛의 제1 픽셀 값을 획득하게 된다:
수학식 (5)에서, 은 제1 서브 유닛의 제1 예측 픽셀 값이고, 은 제1 서브 유닛의 제2 예측 픽셀 값이고, 은 제2 예측 픽셀 값 에 대응하는 가중 행렬이고, 은 제1 서브 유닛의 제1 픽셀 값 및 제2 픽셀 값을 가중한 후에 획득되는 픽셀 값이고, M의 값은 1 내지 4의 범위일 수 있다.
예를 들어, 제1 서브 유닛이 4×4 픽셀을 포함하는 경우, 제1 서브 유닛의 제1 예측 픽셀 값 및 제2 예측 픽셀 값은 모두 4×4 행렬이다. 일반적으로, 상부, 하부, 좌측, 우측 서브 유닛들의 4개의 서브 유닛을 이용하여 움직임 보상을 수행하는 것에 의해 획득되는 예측 픽셀 값들 , , , 및 에 대응하는 가중치 행렬 , , , 및 은 다음과 같다:
방식 2: 제1 서브 유닛(P)의 제1 예측 픽셀 값을 획득하고;
미리 설정된 비 병진 움직임 모델에 기초하여, 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1), 하부 좌표(1.2), 좌측 좌표(1.3) 및 우측 좌표(1.4)에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1), 하부 좌표(2.2), 좌측 좌표(2.3) 및 우측 좌표(2.4)에서의 M개의 좌표 세트의 움직임 벡터들을 도출하고 -M은 1 내지 4 중 임의의 정수임-;
제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1), 하부 좌표(1.2), 좌측 좌표(1.3) 및 우측 좌표(1.4)에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1), 하부 좌표(2.2), 좌측 좌표(2.3), 및 우측 좌표(2.4)에서의 M개의 좌표 세트의 움직임 벡터들을 그룹화함으로써 M개의 움직임 벡터 쌍을 획득하고 - M개의 움직임 벡터 쌍에서 제1 움직임 벡터 쌍은 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 제1 좌표의 움직임 벡터 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 제1 좌표의 움직임 벡터를 포함하고, 제1 좌표는 상부 좌표 또는 하부 좌표 또는 좌측 좌표 또는 우측 좌표임 -;
미리 설정된 비 병진 움직임 모델에 기초하여 M개의 움직임 벡터 쌍들에 대한 계산을 개별적으로 수행하여 제1 서브 유닛 P의 M개의 움직임 벡터를 획득하고;
제1 서브 유닛(P)의 M개의 움직임 벡터에 기초하여 제1 서브 유닛(P)의 M개의 제2 예측 픽셀 값을 획득하고; 및
제1 서브 유닛(P)의 제1 예측 픽셀 값과 M개의 제2 예측 픽셀 값에 기초하여 제1 미리 설정된 알고리즘을 이용하여 제1 서브 유닛(P)의 제1 픽셀 값을 획득한다.
제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1)는 제1 서브 유닛의 상부 경계에 인접한 서브 유닛의 제1 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 하부 좌표(1.2)는 제1 서브 유닛(P)의 하부 경계에 인접한 서브 유닛의 제1 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제1 꼭지점에 인접한 좌측 좌표(1.3)는 제1 서브 유닛의 좌측 경계에 인접한 서브 유닛의 제1 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제1 꼭지점에 인접한 우측 좌표(1.4)는 제1 서브 유닛의 우측 경계에 인접한 서브 유닛의 제1 꼭지점의 좌표일 수 있다.
제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1)는 제1 서브 유닛의 상부 경계에 인접한 서브 유닛의 제2 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 하부 좌표(2.2)는 제1 서브 유닛의 하부 경계에 인접한 서브 유닛의 제2 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 좌측 좌표(2.3)는 제1 서브 유닛의 좌측 경계에 인접한 서브 유닛의 제2 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 우측 좌표(2.4)는 제1 서브 유닛의 우측 경계에 인접한 서브 유닛의 제2 꼭지점의 좌표일 수 있다. 본 발명의 실시예에서, 서브 유닛의 제1 꼭지점은 서브 유닛의 좌측 상부 꼭지점, 좌측 하부 꼭지점, 우측 상부 꼭지점, 및 우측 하부 꼭지점의 4개의 꼭지점 중 임의의 하나일 수 있고, 서브 유닛의 제2 꼭지점은 서브 유닛의 좌측 상부 꼭지점, 좌측 하부 꼭지점, 우측 상부 꼭지점, 및 우측 하부 꼭지점의 4개의 꼭지점 중 제1 꼭지점 이외의 꼭지점들 중 임의의 하나일 수 있다는 것을 유의해야 한다. 서브 유닛의 꼭지점은 꼭지점의 위치에서 픽셀의 좌표 지점일 수 있다. 일반적으로, 제1 서브 유닛(P)의 좌측 상부 꼭지점은 원점(0, 0)으로서 설정되고, 원점의 위치에 기초하여 다른 꼭지점들의 좌표가 그에 대응하여 설정된다.
예를 들어, 도 4에 도시된 대로, 제1 서브 유닛(P)은 4×4 서브 유닛이다. 4×4는 픽셀의 양이고, 수평 방향 또는 수직 방향에서의 인접 픽셀들 사이의 간격은 1이다. 제1 서브 유닛(P)의 제1 꼭지점(1)은 좌측 상부 꼭지점의 픽셀 (0, 0)이라고 가정한다. 제1 서부 유닛의 좌측 상부 꼭지점과 우측 상부 꼭지점은 3 픽셀만큼 이격되어 있다. 따라서, 제1 서브 유닛(P)의 제2 꼭지점(2)은 우측 상부 꼭지점의 픽셀 (3, 0)이고, 제1 꼭지점(1)에 인접한 상부 좌표(1.1)는 제1 서브 유닛(P)의 상부 경계에 인접한 상부 서브 유닛의 좌측 상부 꼭지점에서의 픽셀 (0,-4)이고, 제1 꼭지점(1)에 인접한 하부 좌표(1.2)는 제1 서브 유닛(P)의 하부 경계에 인접한 하부 서브 유닛의 좌측 상부 꼭지점에서의 픽셀 (0, 4)이고, 제1 꼭지점(1)에 인접한 좌측 좌표(1.3)는 제1 서브 유닛(P)의 좌측 경계에 인접한 좌측 서브 유닛의 좌측 상부 꼭지점에서의 픽셀 (-4, 0)이고, 제1 꼭지점(1)에 인접한 우측 좌표(1,4)는 제1 서브 유닛(P)의 우측 경계에 인접한 우측 서브 유닛의 좌측 상부 꼭지점에서의 픽셀 (4, 0)이다. 마찬가지로, 도 4에 도시된 대로, 픽셀 (3, 0)인 제2 꼭지점(2)에 인접한 상부 좌표(2.1)는 제1 서브 유닛(P)의 상부 경계에 인접한 상부 서브 유닛의 우측 상부 꼭지점에서의 픽셀 (3, -4)이고, 제2 꼭지점(2)에 인접한 하부 좌표(2.2)는 제1 서브 유닛(P)의 하부 경계에 인접한 하부 서브 유닛의 우측 상부 꼭지점의 픽셀 (3,4)이고, 제2 꼭지점(2)에 인접한 좌측 좌표(2.3)는 제1 서브 유닛(P)의 좌측 경계에 인접한 좌측 서브 유닛의 우측 상부 꼭지점에서의 픽셀 (-1, 0)이고, 및 제2 꼭지점(2)에 인접한 우측 좌표(2.4)는 제1 서브 유닛(P)의 우측 경계에 인접한 우측 서브 유닛의 우측 상부 꼭지점에서의 픽셀 (7,0)이다.
예를 들어, M = 4인 경우, 제1 서브 유닛의 제1 꼭지점에 인접한 상부 좌표, 하부 좌표, 좌측 좌표, 및 우측 좌표의 4개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛의 제2 꼭지점에 인접한 상부 좌표, 하부 좌표, 좌측 좌표, 및 우측 좌표의 4개의 좌표 세트의 움직임 벡터들은 미리 설정된 비 병진 움직임 모델에 기초하여 도출될 수 있다.
제1 움직임 벡터 쌍은 제1 서브 유닛의 제1 꼭지점에 인접한 상부 좌표의 움직임 벡터 및 제1 서브 유닛의 제2 꼭지점에 인접한 상부 좌표의 움직임 벡터를 포함한다. 제2 움직임 벡터 쌍은 제1 서브 유닛의 제1 꼭지점에 인접한 하부 좌표의 움직임 벡터 및 제1 서브 유닛의 제2 꼭지점에 인접한 하부 좌표의 움직임 벡터를 포함한다. 제3 움직임 벡터 쌍은 제1 서브 유닛의 제1 꼭지점에 인접한 좌측 좌표의 움직임 벡터 및 제1 서브 유닛의 제2 꼭지점에 인접한 좌측 좌표의 움직임 벡터를 포함한다. 제4 움직임 벡터 쌍은 제1 서브 유닛의 제1 꼭지점에 인접한 우측 좌표의 움직임 벡터 및 제1 서브 유닛의 제2 꼭지점에 인접한 우측 좌표의 움직임 벡터를 포함한다.
미리 설정된 비 병진 움직임 모델에 기초하여 제1 움직임 벡터 쌍, 제2 움직임 벡터 쌍, 제3 움직임 벡터 쌍, 및 제4 움직임 벡터 쌍에 대해 개별적으로 계산이 수행되어, 제1 서브 유닛의 4개의 움직임 벡터를 획득한다. 제1 서브 유닛의 4개의 제2 예측 픽셀 값은 제1 서브 유닛의 4개의 움직임 벡터에 기초하여 획득된다. 제1 서브 유닛의 제1 예측 픽셀 값과 4개의 제2 예측 픽셀 값은 개별적으로 가중화된다. 가중화 후의 결과는 제1 서브 유닛의 제1 픽셀 값을 획득하기 위해 평균화된다.
방식 2에서 제1 서브 유닛의 제1 예측 픽셀 값을 획득하는 방법은 방식 1에서 제1 서브 유닛의 제1 예측 픽셀 값을 획득하는 방법과 동일하고, 상세한 사항은 다시 여기서 설명되지 않는다.
또한, 방식 2에서, 제1 서브 유닛의 M개의 제2 예측 픽셀 값이 제1 서브 유닛의 M개의 움직임 벡터에 기초하여 획득되고, 제1 서브 유닛의 제1 예측 픽셀 값 및 M개의 제2 예측 픽셀 값이 개별적으로 가중화되고, 및 가중화 후의 결과가 평균화되어 제1 서브 유닛의 제1 픽셀 값을 획득하는 방식은 방식 1과 또한 동일하므로, 상세한 사항은 여기서 다시 설명되지 않는다.
제1 서브 유닛의 제1 꼭지점 또는 제2 꼭지점에 인접한 상부, 하부, 좌측, 및 우측 좌표의 움직임 벡터들은 미리 설정된 비 병진 움직임 모델 (1) 또는 (2) 또는 (3) 또는 (4)에 기초하여 도출될 수 있다는 것을 이해할 수 있다.
S104. 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행한다.
선택적으로, 필터링 경계의 경계 강도 값이 설정될 수 있고, 필터링 경계의 경계 강도 값, 초기 임계값들 및 , 및 필터링 경계에 인접하고 제1 서브 유닛 및 제2 서브 유닛에 있는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들에 기초하여, 필터링 경계에 인접한 픽셀들에 대해, 제2 미리 설정된 알고리즘을 이용하여 필터링 처리가 수행될 수 있는데, 여기서 M은 1 이상의 정수이다.
예를 들어, 필터링 경계의 경계 강도 값, 초기 임계값들 및 , 제1 서브 유닛의 양자화 파라미터, 및 제2 서브 유닛의 양자화 파라미터에 기초하여 필터링 경계에 대응하는 임계값들 및 가 획득될 수 있다.
, , 및 필터링 경계에 인접하고 또한 제1 서브 유닛 및 제2 서브 유닛에 있는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리가 수행되고, 여기서 M은 1이상의 정수이다.
필터링 경계의 경계 강도 값은 다음과 같은 방식으로 설정될 수 있다:
제1 서브 유닛 또는 제2 서브 유닛이 위치하는 이미지 블록에 적어도 하나의 프레임 내 예측 유닛이 존재하면, 필터링 경계의 경계 강도 값을 2로 설정하고; 또는 제1 서브 유닛 또는 제2 서브 유닛이 위치하는 상기 이미지 블록에 프레임 내 예측 유닛이 존재하지 않고, 필터링 경계는 변환 유닛의 서브 블록 경계이고, 제1 서브 유닛 또는 제2 서브 유닛이 위치하는 변환 유닛은 적어도 하나의 0이 아닌 계수를 가진다면, 필터링 경계의 경계 강도 값을 1로 설정하고; 또는 제1 서브 유닛 또는 제2 서브 유닛이 위치하는 이미지 블록에 프레임 내 예측 유닛이 존재하지 않고, 다음 조건 (1) 내지 (3) 중 임의의 하나가 참 조건일 때, 필터링 경계의 경계 강도 값을 1로 설정하고; 그렇지 않은 경우, 필터링 경계의 경계 강도 값을 0으로 설정한다:
(1) 제1 서브 유닛과 제2 서브 유닛이 위치하는 예측 유닛들의 참조 이미지들 또는 움직임 벡터들의 양이 동일하고; 제1 서브 유닛이 위치하는 예측 유닛이 하나의 움직임 벡터를 가지고; 제2 서브 유닛이 위치하는 예측 유닛이 하나의 움직임 벡터를 가지고; 및 제1 서브 유닛의 움직임 벡터와 제2 서브 유닛의 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 움직임 벡터 차이가 움직임 벡터 차이 임계값 T 이상인 경우;
(2) 제1 서브 유닛이 위치하는 예측 유닛이 2개의 움직임 벡터를 가지고, 2개의 움직임 벡터가 나타내는 참조 이미지들이 상이하고; 제2 서브 유닛이 위치하는 예측 유닛이 2개의 움직임 벡터를 가지고, 2개의 움직임 벡터가 나타내는 참조 이미지들이 상이하고; 및 동일한 예측 이미지를 사용하는 2개의 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 움직임 벡터 차이가 움직임 벡터 차이 임계값 T 이상인 경우; 및
(3) 제1 서브 유닛이 위치하는 예측 유닛이 2개의 움직임 벡터를 가지고, 2개의 움직임 벡터가 나타내는 참조 이미지들이 동일하고; 제2 서브 유닛이 위치하는 예측 유닛이 2개의 움직임 벡터를 가지고, 2개의 움직임 벡터가 나타내는 참조 이미지들이 동일하고; 및 다음의 두 개의 조건 a 및 b가 참 조건이다:
(a) 포워드 참조 후보 리스트 list0을 나타내는 두 개의 움직임 벡터의 수평 성분들 또는 수직 성분들 사이의 차이가 움직임 벡터 차이 임계값 T 이상이고; 또는 백워드 참조 후보 리스트 list1을 나타내는 2개의 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상인 경우; 및
(b) 포워드 참조 후보 리스트 list0을 나타내고 또한 제1 서브 유닛이 위치하는 예측 유닛의 것인 움직임 벡터 및 백워드 참조 후보 리스트 list1을 나타내고 또한 제2 서브 유닛이 위치하는 예측 유닛의 것인 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상이고; 또는 백워드 참조 후보 리스트 list1을 나타내고 또한 제1 서브 유닛이 위치하는 예측 유닛의 것인 움직임 벡터 및 포워드 참조 후보 리스트 list0을 나타내고 또한 제2 서브 유닛이 위치하는 예측 유닛의 것인 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상인 경우.
움직임 벡터 차이 임계값 T는 휘도 샘플링 정밀도의 1/4의 4배가 될 수 있고; 또는 제1 서브 유닛과 제2 서브 유닛이 위치하는 예측 유닛들의 움직임 모델들이 상이한 경우, 움직임 벡터 차이 임계값 T는 휘도 샘플링 정밀도의 1/4이 되고, 또는 제1 유닛 및 제2 서브 유닛이 위치하는 예측 유닛들의 움직임 모델들이 동일하다면, 움직임 벡터 차이 임계값 T는 휘도 샘플링 정밀도의 1/4의 4배가 된다.
및 , 및 필터링 경계에 인접하고 또한 제1 서브 유닛 및 상기 제2 서브 유닛에 존재하는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들에 기초하여, 필터링 경계에 인접한 픽셀들에 대하여 필터링 처리를 수행하는 것은 다음을 포함할 수 있다:
먼저 초기 임계값들 및 , 제1 서브 유닛의 양자화 파라미터, 및 제2 서브 유닛의 양자화 파라미터를 수학식 에 대입하여 을 획득하고 - 은 제1 서브 유닛의 양자화 파라미터이고, 은 제2 서브 유닛의 양자화 파라미터임 -;
이후 수학식들 및 에 기초하여 2개의 값을 획득하고, 미리 설정된 테이블에 질의하여 수학식 에 기초하여 획득되는 값에 대응하는 을 획득하고, 또한 수학식 에 기초하여 획득되는 값에 대응하는 을 획득하고;
필터링 경계에 인접하고 또한 제1 서브 유닛 및 제2 서브 유닛에 있는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들을 및 와 비교하여, 필터링 경계에 인접한 픽셀들에 대해 필터링 처리가 수행될 필요가 있는지를 결정한다.
예를 들어, 도 5는 수평 필터링 경계에 인접한 서브 유닛의 구조도이다. 도 5에 도시된 바와 같이, 제1 서브 유닛(P)과 제2 서브 유닛(Q) 각각은 4×4 픽셀을 포함한다. P 및 Q의 픽셀들의 픽셀 값들이 다음의 수학식을 만족하면, 수평 필터링 경계에 인접한 픽셀들에 대해 필터링 처리를 수행하도록 결정된다:
P의 제1 행과 제4 행의 픽셀들과 Q의 제1 행과 제4 행의 픽셀들이 다음 수학식을 충족하면:
수평 필터링 경계에 인접한 픽셀들에 대해 강한 필터링이 수행되거나, 또는 전술한 조건이 충족되지 않으면 약한 필터링이 수행되는데, 여기서 i의 값은 0 또는 3이다.
선택적으로, 수평 필터링 경계에 인접한 픽셀들에 대해 강한 필터링을 수행하는 것은 수평 필터링 경계에 인접한 8개의 픽셀을 획득하고 및 5개의 탭을 갖는 필터를 사용하여 필터링을 수행하는 것일 수 있다. 예를 들어, P의 제1 행의 4개의 픽셀 및 Q의 제1 행의 4개의 픽셀이 선택될 수 있고, 8개의 픽셀은 5개의 탭을 갖는 필터를 사용하여 필터링된다.
수평 필터링 경계에 인접한 픽셀들에 대해 약한 필터링을 수행하는 것은 수평 필터링 경계에 인접한 6개의 픽셀을 획득하는 것 및 3개의 탭을 갖는 필터를 사용하여 필터링하는 것일 수 있다. 본 발명의 실시예에서, P의 제1 행의 4개의 픽셀과 Q의 제1 행의 4개의 픽셀로부터 6개의 픽셀이 무작위로 선택될 수 있고, 3개의 탭을 갖는 필터를 사용하여 필터링된다는 것을 유의해야 한다.
전술한 테이블은 필요에 따라 설정될 수 있고, 이것은 본 발명의 실시예에서 한정되지는 않는다. 예를 들어, 테이블이 테이블 1인 경우, 수학식 에 기초하여 획득된 값은 11이고, 수학식 에 기초하여 획득된 Q 값은 24이고, 테이블 1로부터 은 0이고, 은 1이라는 것을 알 수 있다.
[테이블 1]
상기로부터, 본 발명의 실시예에서 제공되는 블로킹 아티팩트를 제거하기 위한 필터링 방법에 따르면, 각각의 예측 유닛은 적어도 2개의 서브 유닛으로 분할되고; 분할에 의해 분할 유닛에 의해 획득된 적어도 2개의 서브 유닛의 각각은 트래버스되고, 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계가 미리 설정된 규칙에 기초하여 결정되고; 제1 서브 유닛의 제1 픽셀 값과 제2 서브 유닛의 제1 픽셀 값이 획득되고, 여기서 제1 서브 유닛과 제2 서브 유닛은 필터링 경계에 인접하고; 및 필터링 처리는 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대해 수행된다는 것을 알 수 있다. 이와 같이, 예측 유닛의 서브 블록 경계 또는 변환 유닛의 서브 블록 경계의 양측에 위치하는 예측 유닛에서의 유닛들의 픽셀들이 필터링될 뿐만 아니라, 예측 유닛에서의 비 병진 움직임 예측 유닛의 경계에 대해 필터링 처리가 수행될 수 있어서, 예측 유닛에서의 블로킹 아티팩트가 제거되고, 이미지의 예측 정밀도 및 주관적 품질을 향상시키게 되고, 필터링 연산은 예측 유닛의 상부 경계와 좌측 경계에서만 수행되고, 예측 유닛의 내부 움직임 보상 블록의 경계에 대해서는 어떠한 필터링 처리도 수행되지 않기 때문에, 블로킹 아티팩트가 완전히 제거될 수 없다는 문제점을 방지한다.
실시예 2
도 6은 본 발명의 실시예에 따른 필터링 장치(10)의 구성도이다. 필터링 장치(10)는 이미지 블록에 대해 필터링 처리를 수행하도록 구성된다. 이미지 블록은 적어도 하나의 예측 유닛 및 적어도 하나의 변환 유닛으로 분할된다. 예측 유닛은 비 병진 움직임 예측 유닛을 포함한다. 필터링 장치는 비디오 코딩 장치 또는 비디오 디코딩 장치일 수 있다. 비디오 코딩 장치 또는 비디오 디코딩 장치는 비디오를 출력하거나 저장할 필요가 있는 임의의 장치, 예를 들어 노트북 컴퓨터, 태블릿 컴퓨터, 개인용 컴퓨터, 이동 전화, 또는 비디오 서버일 수 있다. 도 6에 도시된 바와 같이, 필터링 장치(10)는 다음을 포함할 수 있다:
각각의 예측 유닛을 적어도 2개의 서브 유닛으로 분할하도록 구성된 분할 유닛(101) - 각각의 서브 유닛은 N×N 픽셀을 포함하고, N은 1이상의 정수임 -;
분할에 의해 분할 유닛에 의해 획득되는 적어도 2개의 서브 유닛 각각을 트래버스하고 미리 설정된 규칙에 기초하여 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계를 결정하도록 구성된 결정 유닛(102);
제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값을 획득하도록 구성된 획득 유닛(103)- 제1 서브 유닛 및 제2 서브 유닛은 필터링 경계에 인접함 -; 및
획득 유닛(103)에 의해 획득된 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행하도록 구성된 필터링 유닛(104).
필터링 경계가 수직 필터링 경계인 경우, 제1 서브 유닛은 필터링 경계에 인접한 상부 서브 유닛이고, 제2 서브 유닛은 필터링 경계에 인접한 하부 서브 유닛이거나; 또는
필터링 경계가 수평 필터링 경계인 경우, 제1 서브 유닛은 필터링 경계에 인접한 좌측 서브 유닛이고, 제2 서브 유닛은 필터링 경계에 인접한 우측 서브 유닛이다.
수직 필터링 경계는 변환 유닛 또는 비 병진 움직임 예측 유닛의 서브 블록들이 수평 배치된 변환 유닛 또는 비 병진 움직임 예측 유닛의 서브 블록 경계이고, 수평 필터링 경계는 변환 유닛 또는 비 병진 움직임 예측 유닛의 서브 블록들이 수직으로 배치된 변환 유닛 또는 비 병진 움직임 예측 유닛의 서브 블록 경계라는 것을 유의해야 한다. 본 발명에서, 이미지 블록은 x축(즉, 수평 방향) 및 y축(수직 방향)을 포함하는 평면인 것으로 이해될 수 있다. 따라서 "수평"은 x축과 평행한 것을 의미하고 "수직"은 y축과 평행한 것을 의미한다. 예를 들어, 도 3에 도시된 대로, 변환 유닛의 서브 블록 경계는 수직 필터링 경계이고, 여기서 변환 유닛의 서브 블록들은 x축과 평행하게 배치된다.
또한, 적어도 2개의 서브 유닛 중 어느 하나에 대해, 결정 유닛(102)은:
서브 유닛이 비 병진 움직임 예측 유닛에 포함되는 경우, 서브 유닛의 각각의 경계를 필터링 경계로서 결정하고; 또는 서브 유닛의 제1 경계가 이미지 블록에서의 예측 유닛의 서브 블록 경계이거나 서브 유닛의 제1 경계가 이미지 블록에서의 변환 유닛의 서브 블록 경계라면, 서브 유닛의 제1 경계를 필터링 경계로서 결정하도록 - 제1 경계는 서브 유닛의 임의의 경계임 - 구체적으로 구성된다.
이런 식으로, 예측 유닛에 있고 또한 예측 유닛의 서브 블록 경계에 위치된 경계 또는 변환 유닛의 서브 블록 경계가 필터링 경계로서 결정되고 후속 필터링 처리가 경계에 대해 수행될 뿐만 아니라, 비 병진 움직임 예측 유닛의 경계가 필터링 경계로서 결정될 수 있고, 예측 유닛에서의 비 병진 움직임 예측 유닛의 경계에 대해 필터링 처리가 수행되어, 예측 유닛에서의 비 병진 움직임 예측 유닛들 사이의 블로킹 아티팩트가 제거되도록 한다.
또한, 획득 유닛(103)은 다음의 방식 1 또는 방식 2로 제1 서브 유닛의 제1 픽셀 값을 획득하도록 구성될 수 있다.
방식 1: 제1 서브 유닛의 제1 예측 픽셀 값을 획득하고;
제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서의 M개의 서브 유닛의 움직임 벡터들을 계산하고 - M은 1 내지 4 중 임의의 정수임 -; 및
제1 서브 유닛의 제1 예측 픽셀 값과 M개의 제2 예측 픽셀 값에 기초하여 제1 미리 설정된 알고리즘을 이용하여 제1 서브 유닛의 제1 픽셀 값을 획득한다.
본 발명의 실시예에서, 움직임 벡터는 수평 성분 및 수직 성분을 포함한다는 것을 유의해야 한다. 수평 성분은 x축에 평행한 성분이고, 수직 성분은 y축에 평행한 성분이다.
제1 서브 유닛의 제1 예측 픽셀 값은 움직임 모델에 기초하여 도출된 원래의 픽셀 값일 수 있다. 예를 들어, 제1 서브 유닛이 아핀 움직임 유닛인 경우, 전술한 아핀 움직임 모델 (1)에 기초하여, 제1 서브 유닛에서의 각각의 픽셀의 움직임 벡터를 획득할 수 있다. 그 다음, 제1 서브 유닛에서의 각각의 픽셀은 픽셀의 움직임 벡터에 기초한 지정된 참조 프레임에서 그 픽셀과 매칭되는 픽셀을 찾기 위해 트래버스된다. 참조 프레임에서의 픽셀의 픽셀 값은 제1 서브 유닛에서의 픽셀의 예측 픽셀 값으로서 사용된다. 모든 픽셀을 트래버스하여 획득되는 예측 픽셀 값들은 제1 서브 유닛의 제1 예측 픽셀 값들이 되도록 조합된다. 제1 서브 유닛이 N×N 픽셀을 포함한다면, 제1 서브 유닛의 획득된 제1 예측 픽셀 값들은 N×N 행렬인 것으로 이해될 수 있다. 또한, 기존의 보간 필터링 알고리즘이, 픽셀의 움직임 벡터에 기초한 지정된 참조 프레임에서 픽셀과 매칭되는 픽셀을 찾는 데 사용될 수 있고, 여기서는 상세히 설명하지 않는다.
제1 서브 유닛에 인접한 상부 서브 유닛은 제1 서브 유닛의 상부 경계에 인접한 서브 유닛이고, 제1 서브 유닛에 인접한 하부 서브 유닛은 제1 서브 유닛의 하부 경계에 인접한 서브 유닛이고, 제1 서브 유닛에 인접한 좌측 서브 유닛은 제1 서브 유닛의 좌측 경계에 인접한 서브 유닛이고, 제1 서브 유닛에 인접한 우측 서브 유닛은 제1 서브 유닛의 우측 경계에 인접한 서브 유닛이다.
예를 들어, 도 3에 도시된 바와 같이, 제1 서브 유닛이 서브 유닛 2인 경우, 서브 유닛 a는 제1 서브 유닛의 상부 서브 유닛이고, 서브 유닛 b는 제1 서브 유닛의 하부 서브 유닛이고, 서브 유닛 c는 제1 서브 유닛의 좌측 서브 유닛이고, 서브 유닛 d는 제1 서브 유닛의 우측 서브 유닛이다.
선택적으로, 제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서의 M개 서브 유닛의 움직임 벡터들을 계산하는 것은 하기를 포함할 수 있다:
제1 서브 유닛이 비 병진 움직임 예측 유닛에 포함되거나, 또는 제1 서브 유닛이 비 병진 움직임 예측 유닛의 하부 경계 또는 우측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 제1 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서의 M개의 서브 유닛의 움직임 벡터를 도출하는 것; 또는
제1 서브 유닛이 비 병진 움직임 예측 유닛의 상부 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 제1 서브 유닛에 인접한 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 단계; 및 제1 서브 유닛에 인접한 상부 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재한다면, 제1 서브 유닛의 움직임 벡터를 상부 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 미리 설정된 비 병진 움직임 모델을 이용하여 상부 서브 유닛의 움직임 벡터를 도출하는 것; 또는
제1 서브 유닛이 상기 비 병진 움직임 예측 유닛의 좌측 경계에 인접한 서브 유닛이라면, 미리 설정된 비 병진 움직임 모델에 기초하여 제1 서브 유닛에 인접한 하부 서브 유닛, 상부 서브 유닛, 및 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 단계; 및 제1 서브 유닛에 인접한 좌측 서브 유닛이 위치하는 예측 유닛의 움직임 벡터가 존재하면, 제1 서브 유닛의 움직임 벡터를 좌측 서브 유닛의 움직임 벡터로서 이용하는 것; 또는 제1 서브 유닛에 대해 프레임 내 코딩 모드가 사용되거나 또는 제1 서브 유닛의 움직임 벡터가 존재하지 않으면, 미리 설정된 비 병진 움직임 모델을 이용하여 좌측 서브 유닛의 움직임 벡터를 도출하는 것.
본 발명의 실시예에서, 비 병진 움직임은 아핀 움직임, 스케일 움직임, 회전 움직임, 또는 원근 움직임과 같은 임의의 불규칙 움직임일 수 있다. 따라서, 상이한 비 병진 움직임들에 대응하여, 미리 설정된 비 병진 움직임 모델을 사용하여 서브 유닛의 움직임 벡터를 도출하는 것은 다음을 포함할 수 있다:
아핀 움직임 모델 (1)에 기초하여 서브 유닛의 움직임 벡터를 도출하는 것; 또는
스케일 움직임 모델 (2)에 기초하여 서브 유닛의 움직임 벡터를 도출하는 것; 또는
회전 움직임 모델 (3)에 기초하여 서브 유닛의 움직임 벡터를 도출하는 것: 또는
원근 움직임 모델 (4)에 기초하여 서브 유닛의 움직임 벡터를 도출하는 것.
제2 픽셀 값은 제1 서브 유닛에 인접한 서브 유닛을 이용하여 제1 서브 유닛에 대해 움직임 보상을 수행하여 획득된 새로운 픽셀 값일 수 있다. 구체적으로는, M이 4인 경우, 획득 유닛(103)은:
하나의 제2 예측 픽셀 값을 획득하기 위해, 제1 서브 유닛에 인접한 상부 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하고;
하나의 제2 예측 픽셀 값을 획득하기 위해, 제1 서브 유닛에 인접한 하부 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하고;
하나의 제2 예측 픽셀 값을 획득하기 위해, 제1 서브 유닛에 인접한 좌측 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하고;
하나의 제2 예측 픽셀 값을 획득하기 위해, 제1 서브 유닛에 인접한 우측 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하고; 및
제1 서브 유닛의 제1 예측 픽셀 값과 4개의 제2 예측 픽셀 값을 개별적으로 가중화하고, 가중화 후의 결과들을 평균화하여 제1 서브 유닛의 제1 픽셀 값을 획득하도록 구성될 수 있다.
하나의 제2 예측 픽셀 값을 획득하기 위해 제1 서브 유닛에 인접한 상부 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하는 구현은 기본적으로 제1 서브 유닛에 인접한 하부 서브 유닛 또는 좌측 서브 유닛 또는 우측 서브 유닛에 기초하여 움직임 보상을 수행하는 것과 동일하다는 것을 유의해야 한다. 여기서, 설명의 편의상, 제1 서브 유닛에 인접한 상부 서브 유닛의 움직임 벡터에 기초하여 제1 서브 유닛에 대해 움직임 보상을 수행하여 하나의 제2 예측 픽셀 값을 획득하는 구현만이 설명의 예로 사용된다.
예를 들어, 획득 유닛(103)은 제1 서브 유닛에 인접한 상부 서브 유닛의 움직임 벡터를 제1 서브 유닛의 움직임 벡터로서 사용하고, 그 후 움직임 벡터에 기초하여 지정된 참조 프레임에서, 제1 서브 유닛과 매칭되는 유닛을 찾아내고, 참조 프레임에서의 매칭된 유닛의 픽셀 값을 제1 서브 유닛의 제2 예측 픽셀 값으로서 사용할 수 있다.
선택적으로, 제1 서브 유닛의 제1 예측 픽셀 값과 M 개의 제2 예측 픽셀 값을 개별적으로 가중화하고, 가중화 후의 결과들을 평균화하여 제1 서브 유닛의 제1 픽셀 값을 획득하는 것은 다음을 포함할 수 있다:
먼저 수학식 (5)에 기초하여 제1 서브 유닛의 제1 예측 픽셀 값 및 각각의 제2 예측 픽셀 값을 가중화하여 M개의 가중화된 픽셀 값을 획득하고, M개의 가중된 픽셀 값을 평균화하여 제1 서브 유닛의 제1 픽셀 값을 획득하는 것.
방식 2: 제1 서브 유닛(P)의 제1 예측 픽셀 값을 획득하고;
미리 설정된 비 병진 움직임 모델에 기초하여, 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1), 하부 좌표(1.2), 좌측 좌표(1.3) 및 우측 좌표(1.4)에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1), 하부 좌표(2.2), 좌측 좌표(2.3) 및 우측 좌표(2.4)에서의 M개의 좌표 세트의 움직임 벡터들을 도출하고 - M은 1 내지 4의 임의의 정수임-;
제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1), 하부 좌표(1.2), 좌측 좌표(1.3) 및 우측 좌표(1.4)에서의 M개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1), 하부 좌표(2.2), 좌측 좌표(2.3), 및 우측 좌표(2.4)에서의 M개의 좌표 세트의 움직임 벡터들을 그룹화함으로써 M개의 움직임 벡터 쌍을 획득하고 - M개의 움직임 벡터 쌍에서 제1 움직임 벡터 쌍은 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 제1 좌표의 움직임 벡터 및 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 제1 좌표의 움직임 벡터를 포함하고, 제1 좌표는 상부 좌표 또는 하부 좌표 또는 좌측 좌표 또는 우측 좌표임 -;
미리 설정된 비 병진 움직임 모델에 기초하여 M개의 움직임 벡터 쌍들에 대한 계산을 개별적으로 수행하여 제1 서브 유닛 P의 M개의 움직임 벡터를 획득하고;
제1 서브 유닛(P)의 M개의 움직임 벡터에 기초하여 제1 서브 유닛(P)의 M개의 제2 예측 픽셀 값을 획득하고; 및
제1 서브 유닛(P)의 제1 예측 픽셀 값과 M개의 제2 예측 픽셀 값에 기초하여 제1 미리 설정된 알고리즘을 이용하여 제1 서브 유닛(P)의 제1 픽셀 값을 획득한다.
예를 들어, M = 4인 경우, 제1 서브 유닛의 제1 꼭지점에 인접한 상부 좌표, 하부 좌표, 좌측 좌표, 및 우측 좌표의 4개의 좌표 세트의 움직임 벡터들, 및 제1 서브 유닛의 제2 꼭지점에 인접한 상부 좌표, 하부 좌표, 좌측 좌표, 및 우측 좌표의 4개의 좌표 세트의 움직임 벡터들은 미리 설정된 비 병진 움직임 모델에 기초하여 도출될 수 있다.
제1 움직임 벡터 쌍은 제1 서브 유닛의 제1 꼭지점에 인접한 상부 좌표의 움직임 벡터 및 제1 서브 유닛의 제2 꼭지점에 인접한 상부 좌표의 움직임 벡터를 포함한다. 제2 움직임 벡터 쌍은 제1 서브 유닛의 제1 꼭지점에 인접한 하부 좌표의 움직임 벡터 및 제1 서브 유닛의 제2 꼭지점에 인접한 하부 좌표의 움직임 벡터를 포함한다. 제3 움직임 벡터 쌍은 제1 서브 유닛의 제1 꼭지점에 인접한 좌측 좌표의 움직임 벡터 및 제1 서브 유닛의 제2 꼭지점에 인접한 좌측 좌표의 움직임 벡터를 포함한다. 제4 움직임 벡터 쌍은 제1 서브 유닛의 제1 꼭지점에 인접한 우측 좌표의 움직임 벡터 및 제1 서브 유닛의 제2 꼭지점에 인접한 우측 좌표의 움직임 벡터를 포함한다.
미리 설정된 비 병진 움직임 모델에 기초하여 제1 움직임 벡터 쌍, 제2 움직임 벡터 쌍, 제3 움직임 벡터 쌍, 및 제4 움직임 벡터 쌍에 대해 개별적으로 계산이 수행되어, 제1 서브 유닛의 4개의 움직임 벡터를 획득한다. 제1 서브 유닛의 4개의 제2 예측 픽셀 값은 제1 서브 유닛의 4개의 움직임 벡터에 기초하여 획득된다. 제1 서브 유닛의 제1 예측 픽셀 값과 4개의 제2 예측 픽셀 값은 개별적으로 가중화된다. 가중화 후의 결과는 제1 서브 유닛의 제1 픽셀 값을 획득하기 위해 평균화된다.
방식 2에서 제1 서브 유닛의 제1 예측 픽셀 값을 획득하는 방법은 방식 1에서 제1 서브 유닛의 제1 예측 픽셀 값을 획득하는 방법과 동일하고, 상세한 사항은 다시 여기서 설명되지 않는다.
또한, 방식 2에서, 제1 서브 유닛의 M개의 제2 예측 픽셀 값이 제1 서브 유닛의 M개의 움직임 벡터에 기초하여 획득되고, 제1 서브 유닛의 제1 예측 픽셀 값 및 M개의 제2 예측 픽셀 값이 개별적으로 가중화되고, 및 가중화 후의 결과가 평균화되어 제1 서브 유닛의 제1 픽셀 값을 획득하는 방식은 방식 1과 또한 동일하므로, 상세한 사항은 여기서 다시 설명되지 않는다.
제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 상부 좌표(1.1)는 제1 서브 유닛의 상부 경계에 인접한 서브 유닛의 제1 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제1 꼭지점(1)에 인접한 하부 좌표(1.2)는 제1 서브 유닛(P)의 하부 경계에 인접한 서브 유닛의 제1 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제1 꼭지점에 인접한 좌측 좌표(1.3)는 제1 서브 유닛의 좌측 경계에 인접한 서브 유닛의 제1 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제1 꼭지점에 인접한 우측 좌표(1.4)는 제1 서브 유닛의 우측 경계에 인접한 서브 유닛의 제1 꼭지점의 좌표일 수 있다.
제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 상부 좌표(2.1)는 제1 서브 유닛의 상부 경계에 인접한 서브 유닛의 제2 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 하부 좌표(2.2)는 제1 서브 유닛의 하부 경계에 인접한 서브 유닛의 제2 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 좌측 좌표(2.3)는 제1 서브 유닛의 좌측 경계에 인접한 서브 유닛의 제2 꼭지점의 좌표일 수 있다. 제1 서브 유닛(P)의 제2 꼭지점(2)에 인접한 우측 좌표(2.4)는 제1 서브 유닛의 우측 경계에 인접한 서브 유닛의 제2 꼭지점의 좌표일 수 있다. 본 발명의 실시예에서, 서브 유닛의 제1 꼭지점은 서브 유닛의 좌측 상부 꼭지점, 좌측 하부 꼭지점, 우측 상부 꼭지점, 및 우측 하부 꼭지점의 4개의 꼭지점 중 임의의 하나일 수 있고, 서브 유닛의 제2 꼭지점은 서브 유닛의 좌측 상부 꼭지점, 좌측 하부 꼭지점, 우측 상부 꼭지점, 및 우측 하부 꼭지점의 4개의 꼭지점 중 제1 꼭지점 이외의 꼭지점들 중 임의의 하나일 수 있다는 것을 유의해야 한다. 서브 유닛의 꼭지점은 꼭지점의 위치에서 픽셀의 좌표 지점일 수 있다. 일반적으로, 제1 서브 유닛(P)의 좌측 상부 꼭지점은 원점 (0, 0)으로서 설정되고, 원점의 위치에 기초하여 다른 꼭지점들의 좌표가 그에 대응하여 설정된다.
제1 서브 유닛의 제1 꼭지점 또는 제2 꼭지점에 인접한 상부, 하부, 좌측, 및 우측 좌표의 움직임 벡터들은 미리 설정된 비 병진 움직임 모델 (1) 또는 (2) 또는 (3) 또는 (4)에 기초하여 도출될 수 있다는 것을 이해할 수 있다.
결정 유닛(102)은, 필터링 유닛(104)이, 획득 유닛(103)에 의해 획득된 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여 필터링 경계에 인접한 픽셀들에 대해 필터링 처리를 수행하기 전에 필터링 경계의 경계 강도 값을 결정하도록 추가로 구성된다.
필터링 유닛(104)은: 필터링 경계의 경계 강도 값, 초기 임계값들 및 , 제1 서브 유닛의 양자화 파라미터, 및 제2 서브 유닛의 양자화 파라미터에 기초하여 임계값들 및 를 획득하고; 및
, , 및 필터링 경계에 인접하고 또한 제1 서브 유닛 및 제2 서브 유닛에 있는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행하도록 구체적으로 구성될 수 있다 - M은 1 이상의 정수임 -.
결정 유닛(102)은 이하의 것을 하도록 구체적으로 구성된다:
제1 서브 유닛 또는 제2 서브 유닛이 위치하는 이미지 블록에 적어도 하나의 프레임 내 예측 유닛이 존재하면 필터링 경계의 경계 강도 값을 2로 설정하고; 또는 제1 서브 유닛 또는 제2 서브 유닛이 위치하는 이미지 블록에 어떠한 프레임 내 예측 유닛도 존재하지 않고, 필터링 경계는 변환 유닛의 서브 블록 경계이고, 제1 서브 유닛 또는 상기 제2 서브 유닛이 위치하는 변환 유닛은 적어도 하나의 0이 아닌 계수를 가진다면, 필터링 경계의 경계 강도 값을 1로 설정하고; 또는 제1 서브 유닛 또는 제2 서브 유닛이 위치하는 이미지 블록에 프레임 내 예측 유닛이 존재하지 않고, 및 다음 조건 (1) 내지 (3) 중 어느 하나가 참 조건일 때, 필터링 경계의 경계 강도 값을 1로 설정하고; 그렇지 않은 경우, 필터링 경계의 경계 강도 값을 0으로 설정한다:
(1) 제1 서브 유닛과 제2 서브 유닛이 위치하는 예측 유닛들의 참조 이미지들이 상이하거나, 제1 서브 유닛과 제2 서브 유닛이 위치하는 예측 유닛들의 움직임 벡터들의 양들이 상이하고; 제1 서브 유닛이 위치하는 예측 유닛이 하나의 움직임 벡터를 가지고; 제2 서브 유닛이 위치하는 예측 유닛이 하나의 움직임 벡터를 가지고; 및 제1 서브 유닛의 움직임 벡터와 제2 서브 유닛의 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 움직임 벡터 차이가 움직임 벡터 차이 임계값 T 이상인 경우;
(2) 제1 서브 유닛이 위치하는 예측 유닛이 2개의 움직임 벡터를 가지고, 2개의 움직임 벡터가 나타내는 참조 이미지들이 상이하고; 제2 서브 유닛이 위치하는 예측 유닛이 2개의 움직임 벡터를 가지고, 2개의 움직임 벡터가 나타내는 참조 이미지들이 상이하고; 및 동일한 예측 이미지를 사용하는 2개의 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 움직임 벡터 차이가 움직임 벡터 차이 임계값 T 이상인 경우; 및
(3) 제1 서브 유닛이 위치하는 예측 유닛이 2개의 움직임 벡터를 가지고, 2개의 움직임 벡터가 나타내는 참조 이미지들이 동일하고; 제2 서브 유닛이 위치하는 예측 유닛이 2개의 움직임 벡터를 가지고, 2개의 움직임 벡터가 나타내는 참조 이미지들이 동일하고; 및 다음의 두 개의 조건 a 및 b가 참 조건인 경우:
(a) 포워드 참조 후보 리스트 list0을 나타내는 두 개의 움직임 벡터의 수평 성분들 또는 수직 성분들 사이의 차이가 움직임 벡터 차이 임계값 T 이상이고; 또는 백워드 참조 후보 리스트 list1을 나타내는 2개의 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상인 경우; 및
(b) 포워드 참조 후보 리스트 list0을 나타내고 또한 제1 서브 유닛이 위치하는 예측 유닛의 것인 움직임 벡터 및 백워드 참조 후보 리스트 list1을 나타내고 또한 제2 서브 유닛이 위치하는 예측 유닛의 것인 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상이고; 또는 백워드 참조 후보 리스트 list1을 나타내고 또한 제1 서브 유닛이 위치하는 예측 유닛의 것인 움직임 벡터 및 포워드 참조 후보 리스트 list0을 나타내고 또한 제2 서브 유닛이 위치하는 예측 유닛의 것인 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상인 경우.
움직임 벡터 차이 임계값 T는 휘도 샘플링 정밀도의 1/4의 4배가 될 수 있고; 또는 제1 서브 유닛과 제2 서브 유닛이 위치하는 예측 유닛들의 움직임 모델들이 상이한 경우, 움직임 벡터 차이 임계값 T는 휘도 샘플링 정밀도의 1/4이 되고, 또는 제1 유닛 및 제2 서브 유닛이 위치하는 예측 유닛들의 움직임 모델들이 동일하다면, 움직임 벡터 차이 임계값 T는 휘도 샘플링 정밀도의 1/4의 4배가 된다.
또한, 필터링 유닛(104)은, , , 및 필터링 경계에 인접하고 또한 제1 서브 유닛 및 제2 서브 유닛에 있는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들에 기초하여 필터링 경계에 인접한 픽셀들에 대하여 필터링 처리를 수행하도록 구체적으로 구성된 것은 다음을 포함할 수 있다:
먼저 초기 임계값들 및 , 제1 서브 유닛의 양자화 파라미터, 및 제2 서브 유닛의 양자화 파라미터를 수학식 에 대입하여 을 획득하고 - 은 제1 서브 유닛의 양자화 파라미터이고 은 제2 서브 유닛의 양자화 파라미터임 -;
이후 수학식들 및 에 기초하여 2개의 값을 획득하고, 미리 설정된 테이블에 질의하여 수학식 에 기초하여 획득되는 값에 대응하는 을 획득하고, 또한 수학식 에 기초하여 획득되는 값에 대응하는 을 획득하고;
필터링 경계에 인접하고 또한 제1 서브 유닛 및 제2 서브 유닛에 있는 M개의 픽셀의 픽셀 값들 사이의 픽셀 차이들을 및 과 비교하여, 필터링 경계에 인접한 픽셀들에 대해 필터링 처리가 수행될 필요가 있는지를 결정하는 것.
도 6에 도시된 필터링 장치의 분할 유닛, 획득 유닛, 결정 유닛, 및 필터링 유닛은 도 1에 도시된 필터링 장치와 독립적으로 배치된 프로세서일 수 있거나, 또는 구현을 위해 필터링 장치에서의 프로세서 내에 통합될 수 있다는 것을 유의해야 한다. 또한, 도 1에 도시된 필터링 장치의 메모리에 프로그램 코드의 형태로 분할 유닛, 획득 유닛, 결정 유닛, 및 필터링 유닛의 실행 프로세스가 저장될 수 있고, 필터링 장치의 프로세서는 프로그램 코드를 호출하고 질의 유닛 및 대체 유닛의 실행 프로세스를 구현한다. 여기서 설명된 프로세서는 CPU(Central Processing Unit), 또는 ASIC(Application Specific Integrated Circuit), 또는 본 발명의 실시예를 구현하도록 구성되는 하나 이상의 집적 회로일 수 있다.
전술한 것으로부터 본 발명의 실시예에서 제공된 필터링 장치는 각각의 예측 유닛을 적어도 2개의 서브 유닛으로 분할하고; 분할에 의해 분할 유닛에 의해 획득되는 적어도 2개의 서브 유닛 각각을 트래버스하고 미리 설정된 규칙에 기초하여 적어도 2개의 서브 유닛의 적어도 하나의 필터링 경계를 결정하고; 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값을 획득하고 - 제1 서브 유닛 및 제2 서브 유닛은 필터링 경계에 인접함 -; 및 제1 서브 유닛의 제1 픽셀 값 및 제2 서브 유닛의 제1 픽셀 값에 기초하여, 필터링 경계에 인접한 픽셀들에 대한 필터링 처리를 수행한다는 것을 알 수 있다. 이와 같이, 예측 유닛의 서브 블록 경계 또는 변환 유닛의 서브 블록 경계의 양측에 위치하는 예측 유닛에서의 유닛들의 픽셀들이 필터링될 뿐만 아니라, 예측 유닛에서의 비 병진 움직임 예측 유닛의 경계에 대해 필터링 처리가 수행될 수 있어서, 예측 유닛에서의 블로킹 아티팩트가 제거되고, 이미지의 예측 정밀도 및 주관적 품질을 향상시키게 되고, 필터링 연산은 예측 유닛의 상부 경계와 좌측 경계에서만 수행되고, 예측 유닛의 내부 움직임 보상 블록의 경계에 대해서는 어떠한 필터링 처리도 수행되지 않기 때문에, 블로킹 아티팩트가 완전히 제거될 수 없다는 문제점을 방지한다.
편리하고 간단한 설명 목적을 위해, 전술한 유닛 및 시스템의 특정 동작 프로세스에 대한 전술한 방법 실시예에서의 대응하는 프로세스를 참조하는 것이 본 기술분야의 통상의 기술자에게는 명확하게 이해될 수 있고, 상세한 사항은 다시 여기에 설명되지 않는다.
본 출원에 제공된 몇몇 실시예에서, 개시된 시스템, 디바이스, 및 방법은 다른 방식으로 구현될 수 있다는 것을 이해해야 한다. 예를 들어, 전술한 디바이스 실시예는 단지 예일 뿐이다. 예를 들어, 유닛 구분은 논리적인 기능 구분일 뿐이며 실제 구현에서는 다른 구분일 수 있다. 예를 들어, 복수의 유닛 또는 컴포넌트가 조합되거나 또 다른 시스템에 통합되거나, 또는 일부 특징이 무시되거나 수행되지 않을 수 있다.
분리된 부분들로 설명된 유닛들은 물리적으로 분리될 수도 있고 그렇지 않을 수도 있고, 유닛들로서 표시되는 부분들은 물리적 유닛들일 수도 있고 아닐 수도 있고, 어느 한 위치에 위치될 수도 있고, 또는 복수의 네트워크 유닛 상에 분산될 수도 있다. 유닛들의 일부 또는 전부는 실시예의 해결책의 목적을 달성하기 위해 실제 요건에 따라 선택될 수 있다.
또한, 본 발명의 실시예에서의 기능 유닛들은 하나의 처리 유닛에 통합되거나, 또는 각각의 유닛들이 물리적으로 단독으로 존재할 수도 있고, 또는 2 이상의 유닛이 하나의 유닛으로 통합될 수도 있다. 통합 유닛은 하드웨어의 형태로 구현될 수 있거나, 또는 소프트웨어 기능 유닛에 부가하여 하드웨어의 형태로 구현될 수 있다.
전술한 통합 유닛이 소프트웨어 기능 유닛의 형태로 구현되는 경우, 통합 유닛은 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 소프트웨어 기능 유닛은 저장 매체에 저장되고, 컴퓨터 디바이스(개인용 컴퓨터, 서버, 또는 네트워크 디바이스일 수 있음)에게 본 발명의 실시예에 설명된 방법들의 단계들 중 일부를 수행하도록 지시하기 위한 몇 개의 명령어들을 포함한다. 전술한 저장 매체는 USB 플래시 드라이브, 착탈식 하드 디스크, ROM(Read-Only Memory), RAM(Random Access Memory), 자기 디스크, 또는 광 디스크와 같이 프로그램 코드를 저장할 수 있는 임의의 매체를 포함한다.
실시예들에서 방법들의 모든 단계 또는 일부 단계가 관련 하드웨어(프로세서와 같은 것)에게 지시하는 프로그램에 의해 구현될 수 있다는 것은 본 기술분야의 통상의 기술자에 의해 이해될 수 있다. 프로그램은 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 저장 매체는 판독 전용 메모리, 랜덤 액세스 메모리, 자기 디스크, 광학 디스크 등을 포함할 수 있다.
마지막으로, 전술한 실시예는 본 발명을 제한하기 위한 것이 아니라 본 발명의 기술적 해결책을 단순히 설명하기 위한 것임에 유의해야 한다. 본 발명이 전술한 실시예들을 참조하여 상세히 설명되었지만, 본 기술분야의 통상의 기술자는 본 발명의 실시예의 기술적 해결책의 사상 및 범위를 벗어나지 않고서, 전술한 실시예들에서 설명된 기술적 해결책들에 여전히 수정을 가할 수 있거나 또는 전술한 실시예들의 몇몇 기술적 특징들에 대한 동등한 대체물을 만들 수 있음을 이해해야 한다.
Claims (14)
- 이미지 블록에 대해 필터링 처리를 수행하기 위한 방법으로서,
상기 이미지 블록은 이미지의 복수의 이미지 블록 중 하나인 아핀 움직임(affine motion) 이미지 블록이고, 상기 아핀 움직임 이미지 블록은 2개 이상의 아핀 움직임 서브 유닛으로 분할되고, 각각의 아핀 움직임 서브유닛은 복수의 픽셀을 포함하고, 상기 방법은,
상기 아핀 움직임 이미지 블록에 포함된 아핀 움직임 서브 유닛에 대해, 상기 아핀 움직임 서브 유닛의 경계를 필터링 경계로 결정하는 단계;
상기 필터링 경계에 대해, 제1 아핀 움직임 서브 유닛의 픽셀 값들 및 제2 아핀 움직임 서브 유닛의 픽셀 값들을 획득하는 단계 - 상기 제1 아핀 움직임 서브 유닛 및 상기 제2 아핀 움직임 서브 유닛은 상기 필터링 경계에 인접하고 상기 2개 이상의 아핀 움직임 서브 유닛 내에 있음 -; 및
상기 제1 아핀 움직임 서브 유닛의 상기 픽셀 값들 및 상기 제2 아핀 움직임 서브 유닛의 상기 픽셀 값들에 기초하여, 상기 필터링 경계에 인접한 픽셀들에 대해 필터링 처리를 수행하는 단계를 포함하고,
상기 제1 및 제2 아핀 움직임 서브 유닛은 아핀 움직임 모델을 사용하는 아핀 움직임 서브 유닛들이고,
상기 제1 아핀 움직임 서브 유닛의 상기 픽셀 값들과 상기 제2 아핀 움직임 서브 유닛의 상기 픽셀 값들에 기초하여, 상기 필터링 경계에 인접한 픽셀들에 대해 필터링 처리를 수행하기 전에, 상기 방법은:
상기 필터링 경계의 경계 강도 값을 결정하는 단계를 더 포함하고;
상기 제1 아핀 움직임 서브 유닛의 상기 픽셀 값들과 상기 제2 아핀 움직임 서브 유닛의 상기 픽셀 값들에 기초하여, 상기 필터링 경계에 인접한 픽셀들에 대해 필터링 처리를 수행하는 단계는:
상기 제1 아핀 움직임 서브 유닛의 상기 픽셀 값들, 상기 제2 아핀 움직임 서브 유닛의 상기 픽셀 값들 및 상기 필터링 경계의 상기 경계 강도 값에 기초하여, 상기 필터링 경계에 인접한 픽셀들에 대해 필터링 처리를 수행하는 단계를 포함하고;
상기 필터링 경계의 경계 강도 값을 결정하는 단계는:
다음 조건들 (1) 내지 (4) 중 임의의 하나가 참 조건일 때, 상기 필터링 경계의 경계 강도 값을 1로 설정하는 단계를 포함하고:
(1) 상기 제2 아핀 움직임 서브 유닛 및 상기 제1 아핀 움직임 서브 유닛의 참조 이미지들이 상이하거나, 상기 제2 아핀 움직임 서브 유닛 및 상기 제1 아핀 움직임 서브 유닛의 움직임 벡터들의 양들이 상이한 경우;
(2) 상기 제1 아핀 움직임 서브 유닛이 하나의 움직임 벡터를 가지고; 상기 제2 아핀 움직임 서브 유닛이 하나의 움직임 벡터를 가지고; 및 상기 제1 아핀 움직임 서브 유닛의 움직임 벡터와 상기 제2 아핀 움직임 서브 유닛의 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상인 경우;
(3) 상기 제1 아핀 움직임 서브 유닛이 2개의 움직임 벡터를 가지고, 상기 2개의 움직임 벡터에 대응하는 2개의 참조 이미지가 상이하고; 상기 제2 아핀 움직임 서브 유닛이 2개의 움직임 벡터를 가지고, 상기 2개의 움직임 벡터에 대응하는 상기 2개의 참조 이미지가 상이하고; 및 동일한 참조 이미지에 대응하는 2개의 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상인 경우; 또는
(4) 상기 제1 아핀 움직임 서브 유닛이 동일한 참조 이미지에 대응하는 2개의 움직임 벡터를 가지고; 상기 제2 아핀 움직임 서브 유닛이 동일한 참조 이미지에 대응하는 2개의 움직임 벡터를 가지고; 및 다음의 두 개의 조건 a 및 b가 참 조건인 경우:
(a) 포워드 참조 후보 리스트(list0)에 대응하는 두 개의 움직임 벡터의 수평 성분들 또는 수직 성분들 사이의 차이가 움직임 벡터 차이 임계값 T 이상이고; 또는 백워드 참조 후보 리스트(list1)에 대응하는 2개의 움직임 벡터의 수평 성분들 또는 수직 성분들의 차이가 움직임 벡터 차이 임계값 T 이상인 경우; 및
(b) 포워드 참조 후보 리스트(list0)에 대응하고 또한 상기 제1 아핀 움직임 서브 유닛의 것인 움직임 벡터 및 백워드 참조 후보 리스트(list1)에 대응하고 또한 상기 제2 아핀 움직임 서브 유닛의 것인 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상이고; 또는 백워드 참조 후보 리스트(list1)에 대응하고 또한 상기 제1 아핀 움직임 서브 유닛의 것인 움직임 벡터 및 포워드 참조 후보 리스트(list0)에 대응하고 또한 상기 제2 아핀 움직임 서브 유닛의 것인 움직임 벡터의 수평 성분들 또는 수직 성분들 간의 차이가 움직임 벡터 차이 임계값 T 이상인 경우인 것을 특징으로 하는, 방법. - 제1항에 있어서, 상기 아핀 움직임 서브 유닛은 상기 제1 아핀 움직임 서브 유닛 및 상기 제2 아핀 움직임 서브 유닛 중 하나인, 방법.
- 제1항 또는 제2항에 있어서, 상기 제1 아핀 움직임 서브 유닛의 픽셀 값들을 획득하는 단계는:
상기 제1 아핀 움직임 서브 유닛의 움직임 벡터에 기초하여 상기 제1 아핀 움직임 서브 유닛의 제1 예측 픽셀 값들을 획득하는 단계;
상기 제1 아핀 움직임 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서 M개의 서브 유닛의 움직임 벡터들을 획득하는 단계 - M은 임의의 정수이고 1≤M≤4임 -;
상기 M개의 서브 유닛의 움직임 벡터들에 기초하여 상기 제1 아핀 움직임 서브 유닛의 M개의 제2 예측 픽셀 값을 획득하는 단계; 및
상기 제1 아핀 움직임 서브 유닛의 상기 제1 예측 픽셀 값들 및 상기 M개의 제2 예측 픽셀 값에 기초하여 상기 제1 아핀 움직임 서브 유닛의 상기 픽셀 값들을 획득하는 단계를 포함하는, 방법. - 제3항에 있어서, M=4이고, 상기 제1 아핀 움직임 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서 M개의 서브 유닛의 움직임 벡터들을 획득하는 단계는:
상기 제1 아핀 움직임 서브 유닛이 상기 아핀 움직임 이미지 블록의 하부 경계 또는 우측 경계에 인접한 서브 유닛이라면, 아핀 움직임 모델에 기초하여 상기 제1 아핀 움직임 서브 유닛에 인접한 상기 상부 서브 유닛, 상기 하부 서브 유닛, 상기 좌측 서브 유닛, 및 상기 우측 서브 유닛 각각의 움직임 벡터를 도출하는 단계를 포함하는 방법. - 제3항에 있어서, M=4이고, 상기 제1 아핀 움직임 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서 M개의 서브 유닛의 움직임 벡터들을 획득하는 단계는:
상기 제1 아핀 움직임 서브 유닛이 상기 아핀 움직임 이미지 블록의 상부 경계에 인접한 서브 유닛이라면, 미리 설정된 아핀 움직임 모델에 기초하여 상기 제1 아핀 움직임 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 좌측 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 단계; 및
상기 제1 아핀 움직임 서브 유닛에 인접한 상기 상부 서브 유닛의 움직임 벡터가 이용가능하다면, 상기 상부 서브 유닛의 움직임 벡터를 획득하고; 또는
상기 제1 아핀 움직임 서브 유닛에 인접한 상기 상부 서브 유닛의 움직임 벡터가 이용가능하지 않다면, 상기 아핀 움직임 모델에 기초하여 상기 상부 서브 유닛의 움직임 벡터를 도출하는 단계를 포함하는, 방법. - 제3항에 있어서, M=4이고, 상기 제1 아핀 움직임 서브 유닛에 인접한 상부 서브 유닛, 하부 서브 유닛, 좌측 서브 유닛, 및 우측 서브 유닛에서 M개의 서브 유닛의 움직임 벡터들을 획득하는 단계는:
상기 제1 아핀 움직임 서브 유닛이 상기 아핀 움직임 이미지 블록의 좌측 경계에 인접한 서브 유닛이라면, 미리 설정된 아핀 움직임 모델에 기초하여 상기 제1 아핀 움직임 서브 유닛에 인접한 상기 하부 서브 유닛, 상기 상부 서브 유닛, 및 상기 우측 서브 유닛의 3개의 서브 유닛의 움직임 벡터들을 도출하는 단계; 및
상기 제1 아핀 움직임 서브 유닛에 인접한 상기 좌측 서브 유닛의 움직임 벡터가 이용가능하다면, 상기 좌측 서브 유닛의 움직임 벡터를 획득하고; 또는
상기 제1 아핀 움직임 서브 유닛에 인접한 상기 좌측 서브 유닛의 움직임 벡터가 이용가능하지 않다면, 상기 아핀 움직임 모델에 기초하여 상기 좌측 서브 유닛의 움직임 벡터를 도출하는 단계를 포함하는, 방법. - 제1항 또는 제2항에 있어서, 상기 필터링 경계에 인접한 제1 아핀 움직임 서브 유닛의 픽셀 값들을 획득하는 단계는:
상기 제1 아핀 움직임 서브 유닛(P)의 제1 예측 픽셀 값들을 획득하는 단계;
아핀 움직임 모델에 기초하여, 상기 제1 아핀 움직임 서브 유닛(P)의 제1 꼭지점(1)에 대응하는 상기 제1 꼭지점(1)을 구비하는 상기 제1 아핀 움직임 서브 유닛(P)의 위, 아래, 좌측 및 우측에 인접하는 서브 유닛들에서의 좌표들(1.1, 1.2, 1.3, 1.4)에서의 M개의 좌표 세트의 움직임 벡터들, 및 상기 제1 아핀 움직임 서브 유닛(P)의 제2 꼭지점(2)에 대응하는 상기 제2 꼭지점(2)을 구비하는 상기 제1 아핀 움직임 서브 유닛(P)의 위, 아래, 좌측 및 우측에 인접하는 서브 유닛들에서의 좌표들(2.1, 2.2, 2.3, 2.4)에서의 M개의 좌표 세트의 움직임 벡터들을 도출하는 단계 - 상기 제1 꼭지점(1) 및 상기 제2 꼭지점(2)은 상기 제1 아핀 움직임 서브 유닛(P)의 임의의 두 개의 상이한 꼭지점이고, M은 임의의 정수이고 1≤M≤4임 -;
상기 제1 아핀 움직임 서브 유닛(P)의 상기 제1 꼭지점(1)에 대응하는 상기 제1 꼭지점(1)을 구비하는 상기 제1 아핀 움직임 서브 유닛(P)의 위, 아래, 좌측 및 우측에 인접하는 상기 서브 유닛들에서의 상기 좌표들(1.1, 1.2, 1.3, 1.4)에서의 상기 M개의 좌표 세트의 움직임 벡터들, 및 상기 제1 아핀 움직임 서브 유닛(P)의 상기 제2 꼭지점(2)에 대응하는 상기 제2 꼭지점(2)을 구비하는 상기 제1 아핀 움직임 서브 유닛(P)의 위, 아래, 좌측 및 우측에 인접하는 상기 서브 유닛들에서의 상기 좌표들(2.1, 2.2, 2.3, 2.4)에서의 상기 M개의 좌표 세트의 움직임 벡터들을 그룹화함으로써 M개의 움직임 벡터 쌍을 획득하는 단계 - 상기 M개의 움직임 벡터 쌍에서 제1 움직임 벡터 쌍은 상기 제1 아핀 움직임 서브 유닛(P)의 상기 제1 꼭지점(1)에 대응하는 제1 좌표들의 움직임 벡터 및 상기 제1 아핀 움직임 서브 유닛(P)의 상기 제2 꼭지점(2)에 대응하는 제1 좌표들의 움직임 벡터를 포함하고, 상기 제1 좌표들은 상부 좌표 또는 하부 좌표 또는 좌측 좌표 또는 우측 좌표임 -;
상기 아핀 움직임 모델에 기초하여 상기 M개의 움직임 벡터 쌍에 대한 계산을 수행하여 상기 제1 아핀 움직임 서브 유닛(P)의 M개의 움직임 벡터를 획득하는 단계;
상기 제1 아핀 움직임 서브 유닛(P)의 M개의 움직임 벡터에 기초하여 상기 제1 아핀 움직임 서브 유닛(P)의 M개의 제2 예측 픽셀 값을 획득하는 단계; 및
상기 제1 아핀 움직임 서브 유닛(P)의 상기 제1 예측 픽셀 값들과 상기 M개의 제2 예측 픽셀 값에 기초하여 상기 제1 아핀 움직임 서브 유닛(P)의 픽셀 값들을 획득하는 단계를 포함하는, 방법. - 삭제
- 삭제
- 제1항에 있어서,
상기 움직임 벡터 차이 임계값 T는 휘도 샘플링 정밀도의 1/4의 4배이고; 또는
상기 제1 아핀 움직임 서브 유닛과 상기 제2 아핀 움직임 서브 유닛의 움직임 모델들이 상이하다면, 상기 움직임 벡터 차이 임계값 T는 휘도 샘플링 정밀도의 1/4이고, 또는 상기 제1 아핀 움직임 서브 유닛 및 상기 제2 아핀 움직임 서브 유닛의 움직임 모델들이 동일하다면, 상기 움직임 벡터 차이 임계값 T는 휘도 샘플링 정밀도의 1/4의 4배인, 방법. - 제1항 또는 제2항에 따른 방법에 의해 생성된 비트스트림을 포함하는 컴퓨터 판독가능 매체.
- 이미지 블록 상에 필터링 처리를 수행하는 인코딩 장치로서,
상기 이미지 블록은 아핀 움직임 이미지 블록이고 상기 아핀 움직임 이미지 블록은 2개 이상의 아핀 움직임 서브 유닛으로 분할되고, 각각의 아핀 움직임 서브 유닛은 복수의 픽셀을 포함하고, 상기 장치는:
명령어들을 포함하는 메모리; 및
상기 메모리와 통신하고 상기 명령어들이 실행될 때 제1항 또는 제2항에 따른 방법을 수행하도록 구성되는 프로세서
를 포함하는 것을 특징으로 하는 인코딩 장치. - 이미지 블록 상에 필터링 처리를 수행하는 디코딩 장치로서,
상기 이미지 블록은 아핀 움직임 이미지 블록이고 상기 아핀 움직임 이미지 블록은 두 개 이상의 아핀 움직임 서브 유닛으로 분할되고, 각각의 아핀 움직임 서브 유닛은 복수의 픽셀을 포함하고, 상기 장치는:
명령어들을 포함하는 메모리; 및
상기 메모리와 통신하고 상기 명령어들이 실행될 때 제1항 또는 제2항에 따른 방법을 수행하도록 구성되는 프로세서
를 포함하는 것을 특징으로 하는 디코딩 장치. - 프로세서상에서 실행될 때 상기 프로세서로 하여금 제1항 또는 제2항에 따른 방법을 수행하도록 하는 명령어들을 저장한 컴퓨터 판독 가능 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020217035045A KR102438246B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610064753.8 | 2016-01-29 | ||
CN201610064753.8A CN107027040B9 (zh) | 2016-01-29 | 2016-01-29 | 一种去除块效应的滤波方法及装置 |
KR1020187024722A KR102214937B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
PCT/CN2016/089797 WO2017128634A1 (zh) | 2016-01-29 | 2016-07-12 | 一种去除块效应的滤波方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187024722A Division KR102214937B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217035045A Division KR102438246B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210016649A KR20210016649A (ko) | 2021-02-16 |
KR102320733B1 true KR102320733B1 (ko) | 2021-11-03 |
Family
ID=59397220
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187024722A KR102214937B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
KR1020227029544A KR102495550B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
KR1020217035045A KR102438246B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
KR1020217003574A KR102320733B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187024722A KR102214937B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
KR1020227029544A KR102495550B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
KR1020217035045A KR102438246B1 (ko) | 2016-01-29 | 2016-07-12 | 디블로킹 필터 방법 및 장치 |
Country Status (11)
Country | Link |
---|---|
US (3) | US11265572B2 (ko) |
EP (2) | EP4304172A1 (ko) |
JP (1) | JP6825765B2 (ko) |
KR (4) | KR102214937B1 (ko) |
CN (2) | CN107027040B9 (ko) |
ES (1) | ES2960755T3 (ko) |
HU (1) | HUE062914T2 (ko) |
PL (1) | PL3407609T3 (ko) |
PT (1) | PT3407609T (ko) |
SG (2) | SG10202100279XA (ko) |
WO (1) | WO2017128634A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017034089A1 (ko) * | 2015-08-23 | 2017-03-02 | 엘지전자(주) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
CN109495759B (zh) * | 2018-11-27 | 2021-04-27 | 深圳大学 | 图像处理方法及装置 |
KR20200073124A (ko) | 2018-12-13 | 2020-06-23 | 에스케이텔레콤 주식회사 | 필터링 방법 및 영상 복호화 장치 |
CN118042169A (zh) | 2018-12-13 | 2024-05-14 | Sk电信有限公司 | 视频编码方法、视频解码方法和发送方法 |
CN109889853A (zh) * | 2019-02-26 | 2019-06-14 | 北京大学深圳研究生院 | 一种去块效应滤波方法、系统、设备及计算机可读介质 |
BR112021014861A2 (pt) * | 2019-02-27 | 2021-10-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Método e aparelho para desbloquear pelo menos um contorno vertical ou horizontal de uma unidade de codificação, e, portadora |
CN110267036B (zh) * | 2019-03-11 | 2020-07-10 | 杭州海康威视数字技术股份有限公司 | 一种滤波方法及设备 |
KR20240044064A (ko) | 2022-09-28 | 2024-04-04 | 삼성전자주식회사 | 3차원 반도체 소자 및 그의 제조 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130051480A1 (en) * | 2010-02-05 | 2013-02-28 | Telefonaktiebolaget L M Ericsson (Publ) | De-Blocking Filtering Control |
US20140341271A1 (en) | 2013-05-20 | 2014-11-20 | Texas Instruments Incorporated | Method and apparatus of hevc de-blocking filter |
US20140355684A1 (en) * | 2013-05-31 | 2014-12-04 | Panasonic Corporation | Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus |
US20150085935A1 (en) * | 2013-09-26 | 2015-03-26 | Qualcomm Incorporated | Sub-prediction unit (pu) based temporal motion vector prediction in hevc and sub-pu design in 3d-hevc |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI246338B (en) * | 2004-04-09 | 2005-12-21 | Asustek Comp Inc | A hybrid model sprite generator and a method to form a sprite |
CN101653008A (zh) * | 2007-04-09 | 2010-02-17 | Lg电子株式会社 | 用于处理视频信号的方法和装置 |
KR101611437B1 (ko) * | 2009-10-28 | 2016-04-26 | 삼성전자주식회사 | 복수의 프레임을 참조하여 영상을 부호화, 복호화하는 방법 및 장치 |
KR101457396B1 (ko) | 2010-01-14 | 2014-11-03 | 삼성전자주식회사 | 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치 |
CN106131549B (zh) * | 2010-04-13 | 2019-04-05 | 三星电子株式会社 | 执行去块滤波的对视频进行解码的设备 |
KR20110125153A (ko) | 2010-05-12 | 2011-11-18 | 에스케이 텔레콤주식회사 | 영상의 필터링 방법 및 장치와 그를 이용한 부호화/복호화를 위한 방법 및 장치 |
US9883203B2 (en) | 2011-11-18 | 2018-01-30 | Qualcomm Incorporated | Adaptive overlapped block motion compensation |
US9270993B2 (en) * | 2012-09-10 | 2016-02-23 | Apple Inc. | Video deblocking filter strength derivation |
CN103916676B (zh) * | 2012-12-31 | 2017-09-29 | 华为技术有限公司 | 一种边界强度确定方法、去块效应滤波方法、及装置 |
US9621917B2 (en) * | 2014-03-10 | 2017-04-11 | Euclid Discoveries, Llc | Continuous block tracking for temporal prediction in video encoding |
US20150271514A1 (en) * | 2014-03-18 | 2015-09-24 | Panasonic Intellectual Property Management Co., Ltd. | Prediction image generation method, image coding method, image decoding method, and prediction image generation apparatus |
CN103957425B (zh) * | 2014-04-23 | 2018-01-23 | 华为技术有限公司 | 图像处理方法及系统 |
WO2016008157A1 (en) * | 2014-07-18 | 2016-01-21 | Mediatek Singapore Pte. Ltd. | Methods for motion compensation using high order motion model |
CN112087629B (zh) * | 2014-09-30 | 2021-08-20 | 华为技术有限公司 | 图像预测方法、装置及计算机可读存储介质 |
CN109005407B (zh) * | 2015-05-15 | 2023-09-01 | 华为技术有限公司 | 视频图像编码和解码的方法、编码设备和解码设备 |
-
2016
- 2016-01-29 CN CN201610064753.8A patent/CN107027040B9/zh active Active
- 2016-07-12 ES ES16887513T patent/ES2960755T3/es active Active
- 2016-07-12 JP JP2018539821A patent/JP6825765B2/ja active Active
- 2016-07-12 HU HUE16887513A patent/HUE062914T2/hu unknown
- 2016-07-12 PL PL16887513.6T patent/PL3407609T3/pl unknown
- 2016-07-12 CN CN201680080487.6A patent/CN108605144B/zh active Active
- 2016-07-12 KR KR1020187024722A patent/KR102214937B1/ko active IP Right Grant
- 2016-07-12 KR KR1020227029544A patent/KR102495550B1/ko active IP Right Grant
- 2016-07-12 KR KR1020217035045A patent/KR102438246B1/ko active IP Right Grant
- 2016-07-12 SG SG10202100279XA patent/SG10202100279XA/en unknown
- 2016-07-12 SG SG11201806449SA patent/SG11201806449SA/en unknown
- 2016-07-12 PT PT168875136T patent/PT3407609T/pt unknown
- 2016-07-12 WO PCT/CN2016/089797 patent/WO2017128634A1/zh active Application Filing
- 2016-07-12 EP EP23175530.7A patent/EP4304172A1/en active Pending
- 2016-07-12 EP EP16887513.6A patent/EP3407609B1/en active Active
- 2016-07-12 KR KR1020217003574A patent/KR102320733B1/ko active IP Right Grant
-
2018
- 2018-07-27 US US16/047,325 patent/US11265572B2/en active Active
-
2022
- 2022-02-01 US US17/590,580 patent/US11889102B2/en active Active
-
2023
- 2023-12-13 US US18/538,941 patent/US20240267553A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130051480A1 (en) * | 2010-02-05 | 2013-02-28 | Telefonaktiebolaget L M Ericsson (Publ) | De-Blocking Filtering Control |
US20140341271A1 (en) | 2013-05-20 | 2014-11-20 | Texas Instruments Incorporated | Method and apparatus of hevc de-blocking filter |
US20140355684A1 (en) * | 2013-05-31 | 2014-12-04 | Panasonic Corporation | Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus |
US20150085935A1 (en) * | 2013-09-26 | 2015-03-26 | Qualcomm Incorporated | Sub-prediction unit (pu) based temporal motion vector prediction in hevc and sub-pu design in 3d-hevc |
Non-Patent Citations (1)
Title |
---|
"Algorithm Description of Joint Exploration Test Model 1 (JEM 1)", ISO/IEC JTC1/SC29/WG11/N15790 October 2015, Geneva, CH, N15790, (2015.10.23.)* |
Also Published As
Publication number | Publication date |
---|---|
US11265572B2 (en) | 2022-03-01 |
CN107027040A (zh) | 2017-08-08 |
BR112018015476A2 (pt) | 2018-12-18 |
KR102495550B1 (ko) | 2023-02-06 |
KR20220123341A (ko) | 2022-09-06 |
KR20210016649A (ko) | 2021-02-16 |
WO2017128634A1 (zh) | 2017-08-03 |
CN108605144B (zh) | 2021-01-29 |
KR102438246B1 (ko) | 2022-08-30 |
SG11201806449SA (en) | 2018-08-30 |
CN107027040B9 (zh) | 2020-08-28 |
HUE062914T2 (hu) | 2023-12-28 |
CN108605144A (zh) | 2018-09-28 |
KR20180107778A (ko) | 2018-10-02 |
JP2019503629A (ja) | 2019-02-07 |
SG10202100279XA (en) | 2021-02-25 |
PL3407609T3 (pl) | 2023-12-11 |
US20240267553A1 (en) | 2024-08-08 |
ES2960755T3 (es) | 2024-03-06 |
PT3407609T (pt) | 2023-11-02 |
KR102214937B1 (ko) | 2021-02-10 |
EP3407609A4 (en) | 2019-08-14 |
CN107027040B (zh) | 2020-03-20 |
KR20210134073A (ko) | 2021-11-08 |
JP6825765B2 (ja) | 2021-02-03 |
US20180359484A1 (en) | 2018-12-13 |
US20220159292A1 (en) | 2022-05-19 |
EP3407609B1 (en) | 2023-09-06 |
EP4304172A1 (en) | 2024-01-10 |
US11889102B2 (en) | 2024-01-30 |
EP3407609A1 (en) | 2018-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102320733B1 (ko) | 디블로킹 필터 방법 및 장치 | |
JP7252282B2 (ja) | 画像予測方法および関連装置 | |
KR102173475B1 (ko) | 픽처 예측 방법 및 픽처 예측 장치 | |
KR102334151B1 (ko) | 이미지 예측 방법 및 관련 장치 | |
KR102005007B1 (ko) | 픽쳐 예측 방법 및 관련 장치 | |
WO2015070739A1 (en) | Method of block-based adaptive loop filtering | |
EP3900336A1 (en) | Adaptive loop filtering classification in video coding | |
JP7486595B2 (ja) | ビデオフィルタリングのための方法及び装置 | |
JP7434588B2 (ja) | ビデオ・フィルタリングのための方法および装置 | |
WO2022077490A1 (zh) | 一种帧内预测方法、编码器、解码器及存储介质 | |
EP4256787A1 (en) | Method for using adaptive loop filter and system thereof | |
JP2022540982A (ja) | 情報処理方法及び装置、設備、記憶媒体 | |
KR102721487B1 (ko) | 영상의 부호화/복호화 방법 및 장치 | |
WO2024006231A1 (en) | Methods and apparatus on chroma motion compensation using adaptive cross-component filtering | |
CN118592024A (zh) | 利用预定义模式顺序进行几何分区模式拆分模式重排序的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |