KR102142938B1 - 비디오 모션 보상을 위한 장치 및 방법 - Google Patents
비디오 모션 보상을 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR102142938B1 KR102142938B1 KR1020187010664A KR20187010664A KR102142938B1 KR 102142938 B1 KR102142938 B1 KR 102142938B1 KR 1020187010664 A KR1020187010664 A KR 1020187010664A KR 20187010664 A KR20187010664 A KR 20187010664A KR 102142938 B1 KR102142938 B1 KR 102142938B1
- Authority
- KR
- South Korea
- Prior art keywords
- sharpening
- block
- filter
- prediction block
- frame
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 67
- 239000013598 vector Substances 0.000 claims abstract description 125
- 239000000872 buffer Substances 0.000 claims abstract description 18
- 230000003044 adaptive effect Effects 0.000 claims description 69
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims description 22
- 238000001914 filtration Methods 0.000 claims description 20
- 238000006073 displacement reaction Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 2
- 230000011664 signaling Effects 0.000 description 34
- 238000013139 quantization Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/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/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
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)
Abstract
본 개시는 모션 보상에 따른 후속 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하기 위한 비디오 코더에 관한 것으로, 비디오 스트림의 적어도 하나의 참조 프레임을 저장하도록 구성되는 프레임 버퍼(207), 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하도록 구성되는 인터 예측 유닛(210)을 포함한다. 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성되고, 상기 분수-화소 해상도는 모션 벡터의 각각의 정수 위치에 대해 복수의 관련된 분수 위치들을 정의한다. 이러한 비디오 코더는 예측 블록을 필터링하도록 구성되는 샤프닝 필터(211), 및 예측 블록을 생성하는데 사용되는 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터(211)를 제어하도록 구성되는 제어 유닛(212)을 추가로 포함한다.
Description
본 발명은 일반적으로 비디오 처리의 분야 및 비디오 모션 보상을 위한 장치에 관한 것으로, 구체적으로는 비디오에서 프레임들을 예측하는 모션 보상을 지원하기 위한 비디오 코더 및 비디오 디코더에 관한 것이다. 본 발명은 추가로 모션 보상을 사용하여 비디오 스트림을 코딩하기 위한 방법 및 디코딩하기 위한 방법에 관한 것이다. 마지막으로, 본 발명은 이러한 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램에 관한 것이다.
비디오 처리의 분야에는, 그리고 특히 하이브리드 비디오 코딩 및 압축의 분야에는, 변환 뿐만 아니라 인터 및 인트라 예측 코딩을 사용하는 것이 알려져 있다. 이러한 하이브리드 비디오 코딩 기술들은 H.261, H.263, MPEG-1, 2, 4, H.264/AVC 또는 H.265/HEVC와 같은 알려진 비디오 압축 표준들에서 사용된다.
도 1은 종래 기술에 따른 비디오 코더를 도시한다. 비디오 코더(100)는 비디오 스트림의 프레임들 또는 픽처들의 입력 블록들을 수신하기 위한 입력 및 인코딩된 비디오 비트 스트림을 생성하기 위한 출력을 포함한다. 비디오 코더(100)는 예측, 변환, 양자화, 및 엔트로피 코딩을 비디오 스트림에 적용하도록 적응된다. 변환, 양자화, 및 엔트로피 코딩이 변환 유닛(101), 양자화 유닛(102) 및 엔트로피 인코딩 유닛(103)에 의해 각각 수행되어 인코딩된 비디오 비트 스트림을 출력으로서 생성한다.
비디오 스트림은 복수의 프레임들에 대응하고, 각각의 프레임은 인트라 또는 인터 코딩되는 특정 크기의 블록들로 분할된다. 예를 들어 비디오 스트림의 제1 프레임의 블록들이 인트라 예측 유닛(109)에 의해 인트라 코딩된다. 인트라 프레임은 동일한 프레임 내의 정보만을 사용하여 코딩되어, 이것은 독립적으로 디코딩될 수 있고 이것은 랜덤 액세스를 위한 비트 스트림에서 엔트리 포인트를 제공할 수 있다. 비디오 스트림의 다른 프레임들의 블록들은 인터 예측 유닛(110)에 의해 인터 코딩된다. 재구성된 참조 프레임들이라 불리는 코딩된 프레임들로부터의 정보는 시간적 중복성을 감소시키는데 사용되어, 인터 코딩된 프레임의 각각의 블록은 재구성된 참조 프레임에서 동일한 크기의 블록으로부터 예측된다. 모드 선택 유닛(108)은 프레임의 블록이 인트라 예측 유닛(109) 또는 인터 예측 유닛(110)에 의해 처리될지 선택한다.
인터 예측을 수행하기 위해, 코딩된 참조 프레임들은 역 양자화 유닛(104), 역 변환 유닛(105)에 의해 처리되고, 다음으로 예측 블록에 추가되고 루프 필터링 유닛(106)에 의해 처리되어 시간적 인터 프레임 예측에 사용되도록 프레임 버퍼(107)에 저장되는 재구성된 참조 프레임들을 획득한다.
인터 예측 유닛(110)은 인터 코딩될 현재 프레임 또는 픽처 및 프레임 버퍼(107)로부터의 하나 이상의 참조 프레임 또는 픽처를 입력으로서 포함한다. 모션 추정 및 모션 보상은 인터 예측 유닛(110)에 의해 적용된다. 모션 추정은 특정 비용 함수에 기초하여 모션 벡터 및 참조 프레임을 획득하는데 사용된다. 모션 보상은 참조 프레임의 참조 블록을 현재 프레임으로 변환하는 관점에서 현재 프레임의 현재 블록을 설명한다. 인터 예측 유닛(110)은 현재 블록에 대한 예측 블록을 출력하고, 상기 예측 블록은 코딩될 현재 블록과 그 예측 블록 사이의 차이를 최소화한다, 즉 잔여 블록을 최소화한다. 잔여 블록의 최소화는 예를 들어 비율-왜곡 최적화 프로시저에 기초한다.
현재 블록과 그 예측, 즉, 잔여 블록 사이의 차이는 변환 유닛(101)에 의해 변환된다. 변환 계수들은 양자화 유닛(102) 및 엔트로피 인코딩 유닛(103)에 의해 양자화되고 엔트로피 코딩된다. 이렇게 생성되는 인코딩된 비디오 비트 스트림은 인트라 코딩된 블록들 및 인터 코딩된 블록들을 포함한다.
이러한 하이브리드 비디오 코딩은 예측 에러의 변환 코딩과 조합되는 모션-보상된 예측을 포함한다. 각각의 블록에 대해, 인코딩된 비디오 비트 스트림에서 시그널링 데이터로서 추정된 모션 벡터가 또한 송신된다. 오늘날의 표준들 H.264/AVC 및 H.265/HEVC는 모션 벡터에 대한 ¼ 화소 변위 해상도에 기초한다. 분수-화소 변위들을 추정하고 보상하기 위해, 참조 프레임은 분수-화소 위치들 상에 보간되어야 한다. 이러한 분수-화소 위치들 상의 보간된 프레임을 획득하기 위해, 보간 필터가 인터 예측 유닛(110)에서 사용된다.
보간된 프레임의 품질은 사용된 보간 필터의 특성들에 강하게 의존한다. 쇼트-탭 필터들, 예를 들어, 바이리니어 필터들은 높은 주파수들을 억제하고 보간된 프레임을 흐리게 만들 수 있다. 롱-탭 필터들 같은 다른 필터들은 높은 주파수들을 유지하지만 날카로운 에지들의 근처에 일부 링잉 아티팩트들(ringing artifacts)을 생성할 수 있다. 다른 문제점은 모션 보상이 이전에 인코딩되고 재구성된 프레임을 참조 프레임으로 사용한다는 점이다: 참조 프레임은 변환 계수의 양자화에 의해 야기되는 아티팩트들을 포함할 수 있고, 이는 Gibbs 효과로서 참조된다. 이러한 아티팩트들 때문에, 에지들 뿐만 아니라 에지들 주변의 영역 또한 왜곡될 수 있다.
샤프닝 또는 디-블러링 포스트-필터를 디코딩된 프레임에 적용하는 것에 의해 에지들의 품질이 향상될 수 있다는 점이 종래 기술에서 알려져 있다. 이러한 포스트-필터링 설계의 문제점은 샤프닝 필터가 인코딩 프로세스에 포함되지 않는다는 점이다. 따라서 샤프닝 필터의 효과는 비율-왜곡 최적화 프로시저 동안 고려될 수 없다. 이로 인해 PSNR(peak signal-to-noise-ratio)와 같은 객관적 품질 메트릭들이 감소될 수 있다.
객관적 품질을 향상시키기 위해, 샤프닝 필터를 루프 필터링 유닛(106)에 포함시키는 것이 종래 기술에서 또한 알려져 있다. 따라서, 샤프닝 필터는 재구성된 참조 프레임에 적용되고, 참조 프레임에서 압축 아티팩트들을 제거하는 것에 의해 모션-보상된 예측을 향상시킬 수 있다. 그러나 이러한 루프 필터링 기술은 모션 보간 필터에 의해 야기되는 아티팩트들을 제거할 수 없다.
위에 언급된 단점들 및 문제점들을 인식하여, 본 발명은 종래 기술을 향상시키는 것을 목적으로 한다. 특히, 본 발명의 목적은 후속 프레임들의 비디오 스트림의 향상된 코딩 및 디코딩을 위한 비디오 코더, 코딩 방법, 비디오 디코더, 및 디코딩 방법을 제공하는 것이다.
본 발명은 특히 인터 예측 코딩의 품질을 향상시키고자 한다. 특히, 본 발명은 모션 추정 및 모션 보상에 의해 야기되는 아티팩트들을 제거하고자 한다. 구체적으로, 본 발명의 목적은 모션 보간 필터의 부정적 효과들을 감소시키는 것, 즉, 참조 프레임의 양자화 아티팩트들을 감소시킴으로써 예측의 품질을 향상시킬 뿐만 아니라 분수-화소 위치들에 대한 참조 프레임의 보간의 부정적 효과들을 감소시키는 것이다.
본 발명의 위에 언급된 목적은 첨부된 독립 청구항들에 제공되는 해결책에 의해 달성된다. 본 발명의 유리한 구현들은 각각의 종속 청구항들에서 추가로 정의된다.
본 발명의 제1 양태는 모션 보상에 따른 후속 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하기 위한 비디오 코더를 제공한다. 비디오 코더는 비디오 스트림의 적어도 하나의 참조 프레임을 저장하도록 구성되는 프레임 버퍼를 포함하고, 상기 참조 프레임은 비디오 스트림의 현재 프레임과 상이하다. 비디오 코더는 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하도록 구성되는 인터 예측 유닛을 포함한다. 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성되고, 상기 분수-화소 해상도는 모션 벡터의 각각의 정수 위치에 대해 복수의 관련된 분수 위치들을 정의한다. 비디오 코더는 예측 블록을 필터링하도록 구성되는 샤프닝 필터를 포함한다. 비디오 코더는 예측 블록을 생성하는데 사용되는 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터를 제어하도록 구성되는 제어 유닛을 포함한다.
그렇게 함으로써, 샤프닝 필터를 예측 블록에 적용하는 것은, 분수-화소 위치들 상의 참조 프레임/블록의 보간에 의해 야기되는, 즉 모션 보간 필터에 의해 야기되는 링잉 아티팩트들을 제거하거나 또는 적어도 감소 시키는 한편, 보간된 에지들의 품질을 유리하게 유지한다는 점에서 인터 예측 코딩의 품질을 향상시킨다. 이것은 또한 참조 블록에서 변환 계수들의 양자화로 인해 야기되는, Gibbs 효과로서 또한 참조되는, 링잉 아티팩트들을 제거하거나 또는 적어도 감소시킨다. 이것은 추가로 양자화 및 모션 보간에 의해 야기되는 에지들의 블러링을 감소시키고, 모션 블러에 의해 야기되는 에지들의 블러링을 또한 감소시킨다. 추가적으로, 본 발명은 재구성된 프레임/블록에서 에지들의 주관적 품질을 향상시킨다.
그렇게 함으로써, 모션 보간 필터 이후에, 즉 인터 예측 유닛 이후에 본 발명에 따른 샤프닝 필터를 배치하는 것은, 샤프닝 필터로 하여금 루프 내 참조 필터들의, 즉, 루프 필터링 유닛의 작업을 수행하게 하는 한편, 동시에 모션 보간 필터링에 의해 야기되는 아티팩트들이 제거되거나 또는 적어도 감소될 수 있다. 또한, 샤프닝 필터를 제어하기 위한 분수 모션 벡터 위치들의 사용은, 분수 모션 벡터 위치들을 시그널링 포인트들로서 사용하는 것에 의해 필터의 적응형 계수들 뿐만 아니라 샤프닝 필터를 인에이블 또는 디스에이블하는 직접 시그널링을 회피한다는 점에서, 그리고 시그널링 오버헤드를 감소시켜 적응형 샤프닝 예측 필터 툴에 대해 더 우수한 비율-왜곡 트레이드-오프를 찾게 한다는 점에서 유리하다. 제안된 접근방식은 비디오 콘텐츠의 그리고 특히 예측 블록의 로컬 특징들에 적응하는 것을 가능하게 하여, 훨씬 작은 블록들의 코딩만이 디코더로의 송신에 대해 감소된 시그널링 오버헤드를 요구한다.
제1 양태에 따른 비디오 코더의 구현 형태에서, 샤프닝 필터는 적어도 하나의 적응형 파라미터를 포함한다. 제어 유닛은 모션 벡터의 정수 또는 분수 위치에 의존하여 적응형 파라미터에 대한 파라미터 값을 선택하는 것에 의해, 그리고 선택된 파라미터 값을 샤프닝 필터에 적용하는 것에 의해 샤프닝 필터를 제어하도록 구성된다.
그렇게 함으로써, 예측 블록은 비디오의 특정 콘텐츠에 적응될 수 있는 샤프닝 필터에 의해 필터링된다. 적응은 비디오 콘텐츠의 로컬 특징들을 고려할 수 있고, 요구되는 시그널링 오버헤드는 샤프닝 필터를 제어하기 위한 분수 모션 벡터 위치들의 사용으로 인해 제한될 수 있다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 모션 벡터의 각각의 정수 또는 분수 위치는 적응형 파라미터에 대한 파라미터 값과 관련된다. 적응형 샤프닝 필터가 여러 적응형 파라미터들을 갖는 경우 모션 벡터의 각각의 정수 또는 분수 위치는 적응형 파라미터들의 값들의 세트와 관련될 수 있다.
그렇게 함으로써, 각각의 모션 벡터의 위치는 파라미터 값을 획득하는데 그리고 따라서 샤프닝 필터를 제어하는데 사용될 수 있다는 점이 보장된다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 모션 벡터의 적어도 하나의 정수 또는 분수 위치는 관련된 파라미터 값을 갖지 않는다. 제어 유닛은 어떠한 파라미터 값도 모션 벡터의 위치와 관련되지 않으면 샤프닝 필터의 바이패스를 야기하도록 구성된다.
그렇게 함으로써, 추가적인 시그널링 데이터를 디코더에 전송할 필요없이 샤프닝 필터를 바이패스할 수 있다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 비디오 코더는 예측 블록을 필터링하도록 구성되는 복수의 샤프닝 필터들을 포함한다. 제어 유닛은 모션 벡터의 정수 또는 분수 위치에 의존하여 복수의 샤프닝 필터들 중 하나를 선택하도록 구성된다. 제어 유닛은 선택된 샤프닝 필터를 예측 블록에 적용하도록 구성된다.
그렇게 함으로써, 이러한 해결책은 비디오 스트림의 콘텐츠에 대한 비디오 코더의 적응성을 추가적으로 증가시킨다. 제어 유닛은 사실 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터들 중 하나를 선택한다는 점에서 복수의 샤프닝 필터들을 제어할 수 있다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 샤프닝 필터는 소스 블록의 에지 맵을 생성하도록 적응되는 에지 맵 계산 유닛을 포함하고, 상기 소스 블록은 참조 블록 또는 예측 블록이다. 샤프닝 필터는 소스 블록의 에지 맵을 블러링하도록 적응되는 블러링 필터를 포함한다. 샤프닝 필터는, 블러링된 에지 맵을 하이-패스 필터링하는 것에 의해, 소스 블록의 각각의 위치에 대한 미분 벡터를 생성하도록 적응되는 하이-패스 필터를 포함한다. 샤프닝 필터는 샤프닝 강도 계수로 미분 벡터를 스케일링하는 것에 의해 변위 벡터를 생성하도록 적응되는 스케일링 유닛을 포함한다. 샤프닝 필터는 변위 벡터에 기초하여 예측 블록을 워핑하도록 적응되는 워핑 유닛을 포함한다. 적응형 파라미터는 샤프닝 강도 계수이다.
그렇게 함으로써, 샤프닝 필터의 이러한 구조는 링잉 아티팩트들의 제거라는 관점에서 더 우수한 결과를 유리하게 제공할 수 있는 비-선형 샤프닝 필터를 정의한다. 또한, 적응형 파라미터로서 샤프닝 강도 계수를 사용하는 것은 하나의 적응형 파라미터만이 요구되는 것을 의미하며, 이는 시그널링 오버헤드를 추가로 감소시킨다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 제어 유닛은 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터에 의한 예측 블록 필터링의 바이패스 및 적용 중 적어도 하나를 제어하도록 구성된다.
그렇게 함으로써, 제어 유닛에 의해 샤프닝 필터를 적용하거나 또는 바이패스하는 결정이 취해질 수 있다. 이러한 결정은 각각의 특정 경우에, 예를 들어 인코딩될 특정 비디오 스트림에 적용될 수 있다. 또한, 샤프닝 필터는 바이패스되어 비디오 코더에서 계산 리소스들을 절약할 수 있다. 다른 한편, 보간 품질의 향상 및 아티팩트들의 감소에 우선 순위가 주어지면 샤프닝 필터가 적용될 수 있다. 모션 벡터의 위치에 대한 의존성은 시그널링 오버헤드를 추가로 감소시킨다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 샤프닝 패턴은 모션 벡터의 정수 위치 및 하나 이상의 관련된 분수 위치들에 대한 샤프닝 정보를 각각 정의한다. 제어 유닛은 적어도 하나의 샤프닝 패턴을 이용하도록, 그리고 그렇게 함으로써 예측 블록을 생성하는데 사용되는 모션 벡터에 대응하는 위치에서 적어도 하나의 샤프닝 패턴에 정의되는 샤프닝 정보에 의존하여 샤프닝 필터를 제어하도록 구성된다.
그렇게 함으로써, 예를 들어, 하나의 프레임에 대한 여러 상이한 분수 시그널링 패턴들의 제공은 콘텐츠 적응성을 추가적으로 증가시킬 수 있다는 점에서 유리하다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 제어 유닛은 단일 샤프닝 패턴을 이용하도록 구성된다.
그렇게 함으로써, 샤프닝 필터의 제어에 대해 요구되고 디코더에 송신되는 시그널링 오버헤드가 감소될 수 있다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 제어 유닛은 단일 샤프닝 패턴을 수정하도록 구성되고, 특히 단일 샤프닝 패턴을 각각의 예측 블록에 대해, 현재 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로 또는 SPS(sequence parameter set) 레벨로 수정하도록 구성된다.
그렇게 함으로써, 샤프닝 패턴을 원하는 세분화로 설정하는 것이 가능하여 시그널링이 최적화될 수 있다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 복수의 샤프닝 패턴들이 정의되고 제어 유닛은 잔여 블록의 최소화에 기초하여- 상기 잔여 블록은 현재 블록과 예측 블록 사이의 차이임 -, 또는 예를 들어 비율 왜곡 최적화인 비용 기준에 기초하여 샤프닝 패턴들 중 하나를 선택하도록 구성된다.
그렇게 함으로써, 모션 보상이 추가로 향상될 수 있다. 상이한 샤프닝 패턴들에 대해 획득되는 잔여 블록들이 비교될 수 있다. 잔여 블록을 최소화하거나 또는 비용 기준을 최소화하는 예측 블록을 선택하는 것에 의해, 모션 보상이 향상될 수 있다. 선택된 예측 블록에 대응하는 샤프닝 패턴은 상이한 샤프닝 패턴들 중에서 선택되어 모션 보상을 향상시킨다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 비디오 코더는 인코딩된 비디오 비트 스트림을 생성하도록, 그리고 제어 유닛에 의해 선택되는 샤프닝 패턴의 인덱스를 인코딩된 비디오 비트 스트림에 추가하도록 구성되는 인코딩 유닛을 포함한다.
그렇게 함으로써, 인코딩된 비디오 비트 스트림을 디코딩할 때, 이러한 샤프닝 패턴 인덱스를 획득하고 이에 따라 디코더 측 상의 샤프닝 필터를 제어하는 것이 가능하여, 정확한 디코딩을 보장할 수 있다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 적어도 하나의 샤프닝 패턴은 제어 유닛에 의해 액세스 가능한 메모리에 미리 저장된다. 예를 들어, 샤프닝 패턴은 상기 인코딩된 비디오 비트 스트림을 디코딩하도록 구성되는 비디오 디코더의 메모리에 미리 저장될 수 있다.
그렇게 함으로써, 인코딩된 비디오 비트 스트림에 적어도 하나의 샤프닝 패턴을 시그널링 정보로서 추가할 필요가 없다. 그러면 전반적인 시그널링이 감소될 수 있다. 샤프닝 패턴이 사전에 알려져 있다는 사실(즉, 미리 저장됨)은, 예를 들어, 상기 비디오 스트림을 인코딩 또는 디코딩하기 이전에 적어도 하나의 샤프닝 패턴이 제어 유닛에 미리 저장된다는 것을 의미한다. 복수의 샤프닝 패턴들의 경우, 선택된 샤프닝 패턴의 식별 또는 인덱스를 인코딩된 비디오 비트 스트림에 추가하는 것에 의해 선택된 샤프닝 패턴을 디코더에 시그널링하는 것이 가능하다. 디코더가 이러한 식별 또는 인덱스를 획득한 이후, 디코더에 미리 저장된 패턴들로부터 정확한 패턴을 선택하는 것이 가능하다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 비디오 코더는 인코딩된 비디오 비트 스트림을 생성하도록, 그리고 인코딩된 비디오 비트 스트림에 제어 유닛의 적어도 하나의 샤프닝 패턴을 추가하도록 구성되는 인코딩 유닛을 포함한다.
그렇게 함으로써, 디코더는 샤프닝 패턴을 획득하고 인코딩된 비디오를 정확하게 디코딩할 수 있다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 제어 유닛은 샤프닝 패턴들의 수 및/또는 적어도 하나의 샤프닝 패턴의 샤프닝 정보를 변경하도록 구성된다.
그렇게 함으로써, 코더는 필요하다면 샤프닝 패턴을 적응시킬 수 있다. 비디오 코더는 또한, 예를 들어, 샤프닝 패턴들의 수를 증가시킬 수 있어 비디오 콘텐츠에 대하여 증가된 적응성을 제공한다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 샤프닝 패턴들의 수 및/또는 적어도 하나의 샤프닝 패턴의 샤프닝 정보는 각각의 예측 블록에 대해, 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로 또는 SPS(sequence parameter set) 레벨로 변경된다.
그렇게 함으로써, 샤프닝 패턴들의 콘텐츠 및 수를 원하는 세분화로 설정할 수 있어 시그널링이 최적화될 수 있다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 샤프닝 정보는 샤프닝 필터의 적응형 파라미터의 값이거나 또는 샤프닝 필터의 적용 또는 바이패싱을 정의하는 값이다.
그렇게 함으로써, 샤프닝 패턴은 샤프닝 필터의 제어에 필요한 정보를 포함할 수 있다.
제1 양태에 따른 비디오 코더의 추가의 구현 형태에서, 인터 예측 유닛은 분수 위치에서 참조 블록을 보간하도록 구성되는 보간 유닛을 포함한다.
그렇게 함으로써, 인터 예측이 향상될 수 있고, 보간의 분수 위치가 샤프닝 필터의 제어에 사용될 수 있다.
본 발명의 제2 양태는 모션 보상에 따른 후속 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하기 위한 방법을 제공한다. 이러한 방법은 비디오 스트림의 적어도 하나의 참조 프레임을 저장하는 단계를 포함하고, 상기 참조 프레임은 비디오 스트림의 현재 프레임과 상이하다. 이러한 방법은 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하는 단계를 포함한다. 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성되고, 상기 분수-화소 해상도는 모션 벡터의 각각의 정수 위치에 대해 복수의 관련된 분수 위치들을 정의한다. 이러한 방법은 샤프닝 필터를 예측 블록에 적용하는 단계를 포함한다. 이러한 방법은 예측 블록을 생성하는데 사용되는 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터의 적용을 제어하는 단계를 포함한다.
본 발명의 제2 양태에 따른 방법의 추가의 특징들 또는 구현들은 본 발명의 제1 양태에 따른 비디오 코더 및 그 상이한 구현 형태들의 기능성을 수행할 수 있다.
본 발명의 제3 양태는 모션 보상에 따른 후속 프레임들의 비디오 스트림을 예측 코딩하는 것에 의해 획득되는 인코딩된 비디오 비트 스트림을 디코딩하기 위한 비디오 디코더를 제공한다. 비디오 디코더는 인코딩된 비디오 비트 스트림으로부터 획득되는 적어도 하나의 참조 프레임을 저장하도록 구성되는 프레임 버퍼를 포함하고, 상기 참조 프레임은 인코딩된 비디오 비트 스트림의 현재 프레임과 상이하다. 비디오 디코더는 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하도록 구성되는 인터 예측 유닛을 포함한다. 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성되고, 상기 분수-화소 해상도는 모션 벡터의 각각의 정수 위치에 대해 복수의 관련된 분수 위치들을 정의한다. 비디오 디코더는 예측 블록을 필터링하도록 구성되는 샤프닝 필터를 포함한다. 비디오 디코더는 예측 블록을 생성하는데 사용되는 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터를 제어하도록 구성되는 제어 유닛을 포함한다.
그렇게 함으로써, 제1 양태에 따른 비디오 코더에 대하여 획득되는 이점들이 제3 양태에 따른 비디오 디코더에 대하여 또한 주어진다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 제어 유닛은 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터에 의한 제1 예측 블록 필터링의 바이패스 및 적용 중 적어도 하나를 제어하도록 구성된다.
그렇게 함으로써, 샤프닝 필터 유닛을 바이패스하거나 또는 적용하는 결정이 각각의 특정 경우에 적용될 수 있다. 또한, 샤프닝 필터는 비디오 코더 및 비디오 디코더에서의 계산 리소스들을 절약하도록 바이패스될 수 있다. 다른 한편, 보간 품질의 향상 및 아티팩트들의 감소에 우선 순위가 주어지면 샤프닝 필터가 적용될 수 있다. 모션 벡터의 위치에 대한 의존성은 시그널링 오버헤드를 추가로 감소시킨다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 샤프닝 패턴 샤프닝 패턴은 모션 벡터의 정수 위치 및 하나 이상의 관련된 분수 위치들에 대한 샤프닝 정보를 각각 정의한다. 제어 유닛은 적어도 하나의 샤프닝 패턴을 이용하도록, 그리고 그렇게 함으로써 예측 블록을 생성하는데 사용되는 모션 벡터에 대응하는 위치에서 적어도 하나의 샤프닝 패턴에 정의되는 샤프닝 정보에 의존하여 샤프닝 필터를 제어하도록 구성된다.
그렇게 함으로써, 예를 들어, 하나의 프레임에 대한 여러 상이한 분수 시그널링 패턴들의 제공은 콘텐츠 적응성을 추가적으로 증가시킬 수 있다는 점에서 유리하다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 비디오 디코더는 인코딩된 비디오 비트 스트림으로부터 적어도 하나의 샤프닝 패턴을 디코딩하도록 구성되는 디코딩 유닛을 포함한다. 제어 유닛은 디코딩 유닛에 의해 디코딩되는 샤프닝 패턴에 정의되는 샤프닝 정보에 의존하여 샤프닝 필터를 제어하도록 구성된다.
그렇게 함으로써, 비디오 디코더는 샤프닝 패턴을 획득하고 인코딩된 비디오를 정확하게 디코딩할 수 있다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 적어도 하나의 샤프닝 패턴은 제어 유닛에 의해 액세스 가능한 메모리에 미리 저장된다. 예를 들어, 샤프닝 패턴은 상기 인코딩된 비디오 비트 스트림을 생성하도록 구성되는 비디오 코더의 메모리에 미리 저장될 수 있다.
그렇게 함으로써, 인코딩된 비디오 비트 스트림에 적어도 하나의 샤프닝 패턴을 시그널링 정보로서 추가할 필요가 없다. 그러면 전반적인 시그널링이 감소될 수 있다. 샤프닝 패턴이 미리 알려져 있다는 사실은 예를 들어 적어도 하나의 샤프닝 패턴이 상기 인코딩된 비디오 비트 스트림을 수신 및 디코딩하기 이전에 미리 저장된다는 점을 의미한다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 샤프닝 패턴은 인코딩된 비디오 비트 스트림의 선택된 샤프닝 패턴 정보에 의존하여 각각의 예측 블록에 대해, 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로 또는 SPS(sequence parameter set) 레벨로 사용된다.
그렇게 함으로써, 샤프닝 패턴의 세분화를 조정하는 것이 가능하여 시그널링이 최적화될 수 있다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 제어 유닛은 단일 샤프닝 패턴을 이용하도록 구성된다.
그렇게 함으로써, 샤프닝 필터의 제어를 위해 요구되는 시그널링 오버헤드가 감소될 수 있다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 단일 샤프닝 패턴은 제어 유닛에 의해 액세스 가능한 메모리에 미리 저장된다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 제어 유닛은 단일 샤프닝 패턴을 각각의 예측 블록에 대해, 현재 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로 또는 SPS(sequence parameter set) 레벨로 수정하도록 구성된다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 제어 유닛은 단일 샤프닝 패턴을 인코딩된 비디오 비트 스트림의 샤프닝 패턴 정보에 의존하여 각각의 예측 블록에 대해, 현재 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로 또는 SPS(sequence parameter set) 레벨로 수정하도록 구성된다.
제3 양태에 따른 비디오 디코더의 구현 형태에서, 샤프닝 정보는 샤프닝 필터의 적응형 파라미터의 값이거나 또는 샤프닝 필터의 적용 또는 바이패싱을 정의하는 값이다.
예를 들어, 샤프닝 필터 및 그 구조에 관한, 본 발명의 제1 양태에 따른 비디오 코더의 추가의 특징들 또는 구현들은 본 발명의 제3 양태에 따른 비디오 디코더에 또한 적용 가능하다.
본 발명의 제4 양태는 모션 보상에 따른 후속 프레임들의 비디오 스트림을 예측 코딩하는 것에 의해 획득되는 인코딩된 비디오 비트 스트림을 디코딩하기 위한 방법을 제공한다. 이러한 방법은 인코딩된 비디오 비트 스트림으로부터 획득되는 적어도 하나의 참조 프레임을 저장하는 단계를 포함하고, 상기 참조 프레임은 인코딩된 비디오 비트 스트림의 현재 프레임과 상이하다. 이러한 방법은 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하는 단계를 포함한다. 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성되고, 상기 분수-화소 해상도는 모션 벡터의 각각의 정수 위치에 대해 복수의 관련된 분수 위치들을 정의한다. 이러한 방법은 샤프닝 필터를 예측 블록에 적용하는 단계를 포함한다. 이러한 방법은 예측 블록을 생성하는데 사용되는 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터 적용을 제어하는 단계를 포함한다.
본 발명의 제4 양태에 따른 방법의 추가의 특징들 또는 구현들은 본 발명의 제3 양태에 따른 비디오 디코더 및 그 상이한 구현 형태들의 기능성을 수행할 수 있다.
본 발명의 제5 양태는 컴퓨터 프로그램이 컴퓨팅 디바이스 상에서 실행될 때 이러한 코딩 및/또는 디코딩 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램을 제공한다.
본 발명은 적응형 샤프닝 필터를 모션 예측 신호에, 즉, 예측 블록들에 적용하는 것에 의해 모션 보상 향상을 제안한다. 모션 예측 블록들에서 링잉 아티팩트들을 감소시키고 에지들의 샤프니스를 증가시키는 것에 의해 모션 보상을 향상시키는 것이 제안된다. 모션 보상 강화를 위해 코더 및 디코더 양자 모두에 배치될 수 있는 예측 필터로서 샤프닝 필터를 적용하는 것이 제안된다. 본 발명은, 예를 들어, 샤프닝 필터를 적용하거나 또는 바이패스하기 위한, 그리고 이러한 필터가 적용되는 경우 적응형 샤프닝 필터 파라미터(들)를 시그널링하기 위한 시그널링 포인트들로서 모션 벡터 위치들을 사용하는 것을 제안한다. 분수 위치들은 적응형 파라미터/계수의 값 또는 상이한 값들을 시그널링하는데 사용될 수 있다. 비-선형 샤프닝 예측 필터는 모션 보상 향상에 사용될 수 있고, 단일 적응형 파라미터만이 있는 구현들을 포함한다. 콘텐츠 적응성을 추가적으로 증가시키기 위해 하나의 프레임에 대해 여러 상이한 분수 시그널링 패턴들이 정의될 수 있다. 코딩 픽처의 각각의 특정 영역에 대해 최적의 패턴이 선택되고 시그널링될 수 있다.
본 출원에서 설명되는 모든 디바이스들, 엘리먼트들, 유닛들 및 수단들은 소프트웨어 또는 하드웨어 엘리먼트들 또는 이들의 임의 종류의 조합으로 구현될 수 있다는 점이 주목되어야 한다. 본 출원에서 설명되는 다양한 엔티티들에 의해 수행되는 모든 단계들 뿐만 아니라 다양한 엔티티들에 의해 수행되는 것으로 설명되는 기능성들은 각각의 엔티티가 각각의 단계들 및 기능성들을 수행하도록 적응되거나 또는 구성된다는 점을 의미하고자 한다. 구체적인 실시예들의 다음의 설명에서, 영구적인 엔티티들에 의해 완전 형성될 구체적인 기능성 또는 단계는 그 구체적인 단계 또는 기능성을 수행하는 그 엔티티의 구체적인 상세한 엘리먼트의 설명에서 반영되지 않더라도, 이러한 방법들 및 기능성들은 각각의 소프트웨어 또는 하드웨어 엘리먼트들, 또는 이들의 임의의 종류의 조합으로 구현될 수 있다는 점이 기술자에게는 분명할 것이다.
본 발명의 위 양태들 및 구현 형태들이 첨부된 도면들과 관련하여 구체적인 실시예들의 다음의 설명에서 설명될 것이다.
도 1은 종래 기술에 따른 비디오 코더를 도시한다.
도 2는 본 발명의 실시예에 따른 비디오 코더를 도시한다.
도 3은 본 발명의 실시예에 따른 비디오 디코더를 도시한다.
도 4는 본 발명에 따른 샤프닝 필터의 실시예를 도시한다.
도 5는 본 발명의 실시예에 따른 비디오 코딩 방법을 도시한다.
도 6은 본 발명의 실시예에 따른 비디오 디코딩 방법을 도시한다.
도 7은 본 발명의 실시예에 따른 샤프닝 패턴을 도시한다.
도 8은 본 발명의 추가의 실시예에 따른 샤프닝 패턴을 도시한다.
도 9는 상이한 샤프닝 패턴들이 있는 본 발명의 실시예를 도시한다.
도 1은 종래 기술에 따른 비디오 코더를 도시한다.
도 2는 본 발명의 실시예에 따른 비디오 코더를 도시한다.
도 3은 본 발명의 실시예에 따른 비디오 디코더를 도시한다.
도 4는 본 발명에 따른 샤프닝 필터의 실시예를 도시한다.
도 5는 본 발명의 실시예에 따른 비디오 코딩 방법을 도시한다.
도 6은 본 발명의 실시예에 따른 비디오 디코딩 방법을 도시한다.
도 7은 본 발명의 실시예에 따른 샤프닝 패턴을 도시한다.
도 8은 본 발명의 추가의 실시예에 따른 샤프닝 패턴을 도시한다.
도 9는 상이한 샤프닝 패턴들이 있는 본 발명의 실시예를 도시한다.
도 2는 본 발명의 실시예에 따른 비디오 코더, 및 특히 모션 보상에 따른 후속 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하기 위한 비디오 코더(200)를 도시한다.
비디오 코더(200)는 특히 프레임 버퍼(207), 인터 예측 유닛(210), 샤프닝 필터(211) 및 제어 유닛(212)을 포함한다.
프레임 버퍼(207)는 비디오 스트림의 적어도 하나의 참조 프레임 또는 픽처를 저장하도록 구성된다. 상기 참조 프레임은 비디오 스트림의 현재 프레임과 상이하다. 특히 그리고 본 발명의 맥락에서, 현재 프레임은 현재 인코딩되는 비디오 스트림의 프레임인 한편, 참조 프레임은 이미 인코딩된 비디오 스트림의 프레임이다. 다음에서, 특징 "프레임(frame)"에 대한 임의의 참조는 특징 "픽처(picture)"에 대한 참조로 대체될 수 있다.
인터 예측 유닛(210)은 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하도록 적응된다. 참조 프레임이 바람직하게는 프레임 버퍼(207)에 저장되는 참조 프레임인 한편, 현재 블록이 바람직하게는 도 2에서 비디오 블록으로서 참조되는 비디오 코더(200)의 입력에 대응한다.
상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성되고, 상기 분수-화소 해상도는 모션 벡터의 각각의 정수 위치에 대해 복수의 관련된 분수 위치들을 정의하고, 특히, 현재 프레임은 인터 코딩 기술을 사용하여 인코딩된다, 즉, 현재 프레임은 현재 프레임과 구별되는 적어도 하나의 참조 프레임으로부터 예측된다. 참조 프레임은 이전 프레임, 즉, 후속 프레임들의 비디오 스트림 내에서 현재 프레임 이전에 위치되는 프레임일 수 있다. 대안적으로 순방향 예측이 사용되면, 참조 프레임은 미래 프레임, 즉, 현재 프레임 이후에 위치되는 프레임일 수 있다. 복수의 참조 프레임들의 경우, 적어도 하나는 이러한 이전 프레임일 수 있고, 이들 중 적어도 하나는 이러한 미래 프레임일 수 있다. 참조 프레임은 인트라 코딩될 수 있다, 즉, 추가의 이상의 프레임을 전혀 사용하지 않고 다른 프레임들에 대한 의존성이 전혀 없이 코딩될 수 있어, 이것은 독립적으로 디코딩될 수 있고 이것은 랜덤 비디오 액세스를 위한 엔트리 포인트로서 역할을 할 수 있다.
특히, 인터 예측 유닛(210)은 모션 벡터를 생성하고 참조 프레임의 참조 블록과 현재 프레임의 현재 블록 사이의 모션을 추정하는 것에 의해 모션 추정을 수행하도록 적응된다. 위에 언급된 바와 같이, 모션 벡터는 분수-화소 해상도를 갖는다, 즉, 이것은 정수 위치 또는 분수 위치를 제시할 수 있다. 상기 모션 추정은 예를 들어 비율-왜곡 최적화인 특정 비용 함수에 기초하여 참조 프레임에서 최상의 참조 블록을 가리키는 모션 벡터를 찾기 위해 인코딩 동안 수행된다. 모션 추정 이외에, 인터 예측 유닛(210)은 모션 벡터 및 참조 블록에 기초하여 현재 블록에 대한 예측 블록을 생성하는 것에 의해 모션 보상을 수행하도록 추가로 적응된다.
특히, 모션 예측은 모션 추정 유닛 및 모션 보상 유닛을 포함한다. 모션 벡터는 모션 추정 유닛을 사용하여 생성된다. 참조 블록 및 현재 블록이 바람직하게는 참조 프레임 및 현재 프레임의 각각의 영역 또는 서브-영역이다. 이러한 블록은, 예를 들어, 직사각형 형상과 같은 규칙적인 형상, 또는 불규칙한 형상을 가질 수 있다. 대안적으로, 블록들은 프레임들과 동일한 크기를 가질 수 있다. 현재 블록과 참조 블록 양자 모두 동일한 크기를 갖는다. 블록들의 크기는 사이드 정보 또는 시그널링 데이터로서 디코더에 송신되는 블록 모드 정보에 의해 정의될 수 있다. 블록은, 프레임의 일부를 포함하는, 미리 정해진 크기, 예를 들어, 64x64 픽셀들의 비디오 시퀀스의 기본 코딩 구조인 코딩 단위에 대응할 수 있다.
예측 블록은 참조 블록을 고려하여 현재 블록에 대해 생성된다. 특히, 복수의 예측 블록들이 복수의 참조 블록들을 고려하여 현재 프레임의 복수의 현재 블록들에 대해 생성될 수 있다. 이러한 참조 블록들은 단일 참조 프레임의 일부일 수 있거나 또는 상이한 참조 프레임으로부터 선택될 수 있다. 현재 프레임에 대해 여러 예측 블록들이 생성될 수 있고, 현재 프레임에 대해 생성되는 예측 블록들이 조합되어 현재 프레임의 예측 프레임을 획득할 수 있다.
샤프닝 필터(211)는 예측 블록을 적응형으로 필터링하도록 구성되는 적응형 샤프닝 필터이다. 샤프닝 필터(211)는 따라서 인터 예측 유닛(210)에 의해 생성되는 예측 블록에 적용된다. 본 발명에 의해 제안되는 샤프닝 필터(211)는 인터 예측 유닛(210) 이후에 추가되어 인터 예측에 의해 획득되는, 즉, 모션 추정 및 모션 보상을 포함하는 모션 예측에 의해 획득되는 예측 블록을 강화한다. 샤프닝 필터(211)는 따라서 샤프닝된 예측 블록을 생성하도록 적응된다.
제어 유닛(212)은 예측 블록을 생성하는데 사용되는 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터를 제어하도록 구성된다.
제어 유닛(212)은 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터를 적용하거나 또는 바이패스하도록, 그리고 선택된 파라미터 값을 적응형 샤프닝 필터(211)에 공급하도록 구성된다.
샤프닝 필터(211)가 유리하게는 적어도 하나의 적응형 파라미터를 이용한다. 제어 유닛(212)은 모션 벡터의 정수 또는 분수 위치에 의존하여 적응형 파라미터의 파라미터 값을 선택하도록, 그리고 샤프닝 필터가 적용될 때 적응형 샤프닝 필터(211)에 선택된 파라미터 값을 적용하도록 구성될 수 있다.
바람직하게는, 적응형 샤프닝 필터(211)는 제어 유닛(212)에 의해 설정되는 하나의 적응형 파라미터만을 이용한다.
도 2의 비디오 코더(200)는 특히 하이브리드 비디오 코딩을 지원하기 위해 도 1의 비디오 코더(100)와 유사한 추가의 유닛들을 포함한다. 예를 들어, 비디오 코더(200)는, 해당 분야에서 이미 알려진 바와 같이, 주파수 도메인으로의 변환을 통해 변환 계수들을 생성하고, 이러한 계수들을 양자화하여 양자화된 계수들을 예를 들어 시그널링 데이터와 함께 엔트로피 코딩하기 위한 변환 유닛(201), 양자화 유닛(202) 및 엔트로피 인코더 또는 엔트로피 인코딩 유닛(203)인 유사한 유닛들을 포함한다. 변환 유닛(201)의 입력은, 도 2에서 비디오 블록으로서 참조되는, 현재 프레임의 현재 블록과, 인터 예측 유닛(210), 샤프닝 필터(211) 또는 인트라 예측 유닛(209)에 의해 출력되는 예측 블록 사이의 차이로서 정의되는 잔여 블록이다. 엔트로피 인코딩 유닛(203)은 인코딩된 비디오 비트 스트림을 출력으로서 생성하도록 적응된다. 엔트로피 인코딩 유닛(203)은 인터 예측 유닛(210)에 의해 생성되는 모션 벡터를 시그널링 데이터로서 인코딩된 비디오 비트 스트림에 추가하도록 추가로 적응된다.
비디오 코더(200)는 역 양자화 유닛(204), 역 변환 유닛(205) 및 루프 필터링 유닛(206)인 추가의 유사한 유닛들을 포함한다. 양자화 유닛(202)에 의해 생성되는 양자화된 변환 계수들은 역 양자화 유닛(204) 및 역 변환 유닛(205) 각각에 의해 역 양자화되고 역 변환되어 변환 유닛(201)에 공급되는 잔여 블록에 대응하는 재구성된 잔여 블록을 획득한다. 재구성된 잔여 블록은 다음으로 잔여 블록을 생성하기 위해 이전에 사용된 예측 블록에 추가되어, 현재 블록에 대응하는 재구성된 현재 블록을 획득하고, 이러한 재구성된 현재 블록은 도 2에서 재구성된 비디오 블록으로서 참조된다.
재구성된 현재 블록은 루프 필터링 유닛(206)에 의해 처리되어 블록 방식 처리 및 양자화에 의해 도입되는 아티팩트들을 평활화할 수 있다. 적어도 하나의 현재 블록 또는 유리하게는 복수의 현재 블록들을 포함하는 현재 프레임이 재구성된 현재 블록(들)으로부터 재구성될 수 있다. 이러한 재구성된 현재 프레임은 비디오 스트림의 다른 프레임의 인터 예측에 대한 참조 프레임으로서 역할을 하기 위해 프레임 버퍼(207)에 저장될 수 있다.
비디오 코더(200)에는 인트라 예측 유닛(209) 또는 인터 예측 유닛(210)에 의해 비디오 코더(200)의 입력 블록이 처리될지 선택하기 위한, 도 1과 유사한, 모드 선택 유닛(208)이 제공된다. 모드 선택 유닛(208)은 프레임의 블록이 이러한 프레임으로부터의 정보만을 사용하여 인트라 코딩될 것인지, 또는 다른 프레임들, 즉 ,프레임 버퍼(207)에 저장되는 적어도 하나의 참조 프레임으로부터의 추가 정보를 사용하여 인터 코딩될 것인지를 이에 대응하여 선택한다.
인트라 예측 유닛(209)은 인트라 예측을 담당하고, 인트라 예측에 기초하여 예측 블록을 생성한다. 위에 언급된 같이, 인터 예측 유닛(210)은 인터 예측을 담당하고, 참조 프레임에서 동일한 크기의 블록으로부터 예측되는 예측 블록을 생성하여, 시간적 중복성을 감소시킨다.
특히, 샤프닝 필터(211)는 항상 적용될 수 있다. 이것은, 인터 예측 유닛(210)에 의해 생성되는 예측 블록이 항상 샤프닝 필터(211)에 공급된다는 점, 샤프닝 필터(211)에 의해 출력되는 샤프닝된 예측 블록과 현재 블록의 차이에 의해 잔여 블록이 항상 획득된다는 점을 의미한다.
대안적으로, 샤프닝 필터(211)는 적용되거나 또는 바이패스될 수 있다. 샤프닝 필터(211)가 적용되는 경우, 샤프닝 필터(211)는 샤프닝된 예측 블록을 생성하고, 샤프닝 필터(211)에 의해 출력되는 샤프닝된 예측 블록과 현재 블록의 차이에 의해 잔여 블록이 획득된다. 샤프닝 필터(211)가 바이패스되는 경우, 인터 예측 유닛(210)에 의해 출력되는 예측 블록과 현재 블록의 차이에 의해 잔여 블록이 획득된다.
샤프닝 필터(211)의 적용 및 바이패싱 중 적어도 하나는 모션 벡터의 정수 또는 분수 위치에 의존하여 제어 유닛(212)에 의해 제어될 수 있다. 특히, 모션 벡터의 정수 또는 분수 위치들 중 일부는 적응형 파라미터에 대한 파라미터 값과 관련될 수 있다. 일부 위치들은 관련된 값들을 갖지 않을 수 있다. 다음으로, 샤프닝 필터(211)를 적용하거나 바이패스하는 제어 유닛(212)의 결정은 주어진 정수 또는 분수 위치가 적응형 파라미터에 대한 관련된 값을 갖는지 여부에 의존한다.
바람직하게는, 샤프닝 패턴은 모션 벡터의 정수 위치 및 하나 이상의 관련된 분수 위치들에 대한 샤프닝 정보를 각각 정의한다. 샤프닝 정보가 바람직하게는 샤프닝 필터(211)에 대한 적응형 파라미터의 하나 이상의 값을 포함하거나, 또는 샤프닝 필터(211)의 적용 또는 바이패싱을 정의하는 값이다.
제어 유닛(212)은 적어도 하나의 샤프닝 패턴을 이용할 수 있고, 예측 블록을 생성하는데 사용되는 모션 벡터에 대응하는 위치에 대한 샤프닝 패턴에서 정의되는 샤프닝 정보에 의존하여 샤프닝 필터(211)를 제어하도록 구성된다. 즉, 도 7 내지 도 9에서 보다 상세하게 설명되는 바와 같이, 샤프닝 정보는 모션 벡터에 매칭되는 위치에 관련되거나 또는 할당된다. 적어도 하나의 샤프닝 패턴이 제어 유닛(212)에 의해 액세스 가능한 메모리(213)에 미리 저장될 수 있다. 도 2는 메모리(213)가 비디오 코더(200)에 위치되는 실시예를 도시한다. 대안적으로, 메모리는, 그 콘텐츠가 제어 유닛(212)에 대해 액세스 가능한 한, 비디오 코더(200)의 외부에 위치될 수 있다.
적응형 파라미터 정보 및/또는 샤프닝 필터 정보의 세분화는 다양할 수 있다. 샤프닝 필터 정보를 포함하는 샤프닝 패턴이 코더 및 디코더 양자 모두에 미리 저장될 수 있다. 콘텐츠에 대한 적응성을 증가시키기 위해 샤프닝 패턴은 예를 들어 각각의 예측 블록에 대한 블록 레벨로, 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로 또는 SPS(sequence parameter set) 레벨로 변경될 수 있다. 인코딩 유닛(203)은 샤프닝 패턴이 변경된 동일한 레벨로 인코딩된 비트 스트림에 샤프닝 패턴 정보를 추가할 수 있다.
도 3은 본 발명의 실시예에 따른 비디오 디코더, 특히 모션 보상에 따른 후속 프레임들의 비디오 스트림을 예측 코딩하는 것에 의해 획득되는 인코딩된 비디오 비트 스트림을 디코딩하기 위한 비디오 디코더(300)를 도시한다.
비디오 디코더(300)는 특히 프레임 버퍼(307), 인터 예측 유닛(310), 및 적응형 샤프닝 필터(311)를 포함한다. 프레임 버퍼(307)는 인코딩된 비디오 비트 스트림으로부터 획득되는 적어도 하나의 참조 프레임을 저장하도록 적응되고, 상기 참조 프레임은 인코딩된 비디오 비트 스트림의 현재 프레임과 상이하다. 인터 예측 유닛(310)은 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하도록 적응된다. 적응형 샤프닝 필터(311)는 예측 블록을 적응형으로 필터링하도록 구성된다.
유리하게는, 비디오 디코더(300)가 제어 유닛(312)을 포함하고, 적응형 샤프닝 필터(311)가 적어도 하나의 적응형 파라미터를 이용한다. 제어 유닛(312)은, 샤프닝 필터가 적용되어야 하는지 또는 바이패스되어야 하는지 결정하도록, 적응형 파라미터의 파라미터 값을 선택하도록, 그리고 필터가 적용되는 경우 적응형 샤프닝 필터(311)에 선택된 파라미터 값을 공급하도록 구성된다.
제어 유닛(312)은 특히, 샤프닝 필터가 적용되어야 하는지 또는 바이패스되어야 하는지를 결정하도록 그리고 예측 블록을 생성하는데 사용되는 모션 벡터의 정수 또는 분수 위치에 의존하여 적응형 파라미터의 파라미터 값을 선택하도록 구성된다.
특히, 모션 벡터는 인코딩된 비디오 비트 스트림으로부터 디코더(300)에 의해 획득된다. 비디오 코더(200)에 의해 생성되는 인코딩된 비디오 비트 스트림은 사실 시그널링 데이터로서 상기 모션 벡터를 포함한다. 디코더(300)는 인코딩된 비디오 비트 스트림으로부터 엔트로피 디코딩 유닛(303)에 의해 모션 벡터를 획득하도록 적응된다.
특히, 모션 벡터의 정수 또는 분수 위치들 중 일부는 적응형 파라미터에 대한 관련된 파라미터 값을 가질 수 있다. 일부 위치들은 관련된 값들을 갖지 않을 수 있다. 특정 정수 또는 분수 위치가 관련된 파라미터 값을 가지면, 적응형 샤프닝 필터는 관련된 값을 적응형 파라미터로서 사용하여 예측 블록에 적용될 수 있다.
디코더(300)는 비디오 코더(200)에 의해 생성되는 인코딩된 비디오 비트 스트림을 디코딩하도록 적응되고, 디코더(300) 및 코더(200) 양자 모두가 동일한 예측들을 생성한다. 프레임 버퍼(307), 인터 예측 유닛(310), 및 샤프닝 필터(311)의 특징들은 도 2의 프레임 버퍼(207), 인터 예측 유닛(210), 및 샤프닝 필터(211)의 특징들과 유사하다.
코더 측 및 디코더 측 상에서 동일한 예측을 보장하기 위해, 샤프닝 필터의 사용을 정의하는 그리고 존재한다면 모션 벡터의 각각의 정수 또는 분수 위치에 대한 대응하는 적응형 파라미터(들)을 정의하는 샤프닝 패턴이 코더 및 디코더 측에 모두 알려져야 한다. 샤프닝 패턴은 코더에, 예를 들어, 도 2에 도시되는 메모리(213) 상에, 그리고 디코더 측에 모두 미리 저장될 수 있다. 디코더 측에서, 샤프닝 패턴은 제어 유닛(312)에 의해 액세스 가능한 메모리(313)에 미리 저장될 수 있다. 도 3은 메모리(313)가 비디오 디코더(300)에 위치되는 실시예를 도시한다. 대안적으로, 메모리는, 그 콘텐츠가 제어 유닛(312)에 대해 액세스 가능한 한, 비디오 디코더의 외부에 위치될 수 있다.
샤프닝 패턴은 원하는 세분화로 업데이트될 수 있다. 샤프닝 패턴이 코더에 의해 업데이트되는 경우, 엔트로피 디코딩 유닛(303)은 인코딩된 비디오 비트 스트림에 비디오 코더(200)에 의해 추가되는 대응하는 샤프닝 패턴 정보를 디코딩하도록 적응된다.
특히, 비디오 디코더(300)는, 예를 들어, 역 양자화 유닛(304), 역 변환 유닛(305), 루프 필터링 유닛(306) 및 인트라 예측 유닛(309)과 같이, 비디오 코더(200)에 또한 존재하는 추가 유닛들을 포함고, 이들은 비디오 코더(200)의 역 양자화 유닛(204), 역 변환 유닛(205), 루프 필터링 유닛(206) 및 인트라 예측 유닛(209)에 각각 대응한다. 엔트로피 디코딩 유닛(303)은 수신된 인코딩된 비디오 비트 스트림을 디코딩하도록 그리고 이에 대응하여 양자화된 잔여 변환 계수들 및, 존재한다면, 샤프닝 필터 정보를 획득하도록 적응된다. 양자화된 잔여 변환 계수들은 역 양자화 유닛(304)와 역 변환 유닛(305)에 공급되어 잔여 블록을 생성한다. 잔여 블록이 예측 블록에 추가되고, 이러한 추가는 루프 필터링 유닛(306)에 공급되어 디코딩된 비디오를 획득한다. 디코딩된 비디오의 프레임들은 프레임 버퍼(307)에 저장될 수 있고, 인터 예측을 위한 참조 프레임으로서 역할을 할 수 있다.
도 4는 본 발명에 따른 적응형 샤프닝 필터(400)의 실시예, 특히 비디오 코더(200)의 적응형 샤프닝 필터(211)의 실시예를 도시한다. 비디오 디코더(300)의 적응형 샤프닝 필터(311)는 도 4에 도시되는 적응형 샤프닝 필터(211)와 약간 상이하고, 이러한 차이는 이하 논의된다.
샤프닝 필터(400)가 바람직하게는 비-선형 필터이다. 선형 필터 대신에, 비-선형 샤프닝 필터의 사용은, 모션 보간 필터 및 참조 블록 또는 프레임의 양자화에 의해 야기되는 아티팩트들을 제거하는데 적합하다. 비-선형 필터의 선택은 샤프닝 필터(400)의 적응형 파라미터들의 수를 감소시킬 수 있다. 특히, 비-선형 필터는 단일 적응형 파라미터를 이용할 수 있어, 인코딩된 비디오 비트 스트림의 시그널링 오버헤드가 감소된다. 본 발명은 하나보다 많은 적응형 파라미터의 사용을 또한 커버하지만, 단일 적응형 파라미터를 이용하는 샤프닝 필터(400)가 특히 유리한 실시예이다.
특히, 샤프닝 필터(400)는 에지 맵 계산 유닛(401, 402), 블러링 필터(404), 하이-패스 필터(405), 스케일링 유닛(406) 및 워핑 유닛(407)을 포함한다.
에지 맵 계산 유닛(401, 402)은 소스 블록의 에지 맵을 생성하도록 적응되고, 상기 소스 블록은 참조 블록 또는 예측 블록이다. 블러링 필터(404)는 소스 블록의 에지 맵을 블러링하도록 적응된다. 하이-패스 필터(405)는, 블러링된 에지 맵을 하이-패스 필터링하는 것에 의해, 소스 블록의 각각의 위치에 대한 미분 벡터(d2x, d2y)를 생성하도록 구성된다. 스케일링 유닛(406)은 샤프닝 강도 계수 k로 미분 벡터(d2x, d2y)를 스케일링하는 것에 의해 변위 벡터(wx, wy)를 생성하도록 적응된다. 워핑 유닛(407)은 변위 벡터(wx, wy)에 기초하여 예측 블록을 워핑하도록 구성된다.
그렇게 함으로써, 샤프닝 필터(400)의 적응형 파라미터는 샤프닝 강도 계수 k이다. 도 4에 도시되는 샤프닝 필터(400)는 단 하나의 적응형 파라미터가 있는 본 발명의 실시예이다.
에지 맵 계산 유닛(401, 402)은 소스 블록의 각각의 위치에 대한 기울기 벡터(dx, dy)를 생성하도록 적응되는 기울기 벡터 유닛(401), 및 각각의 위치의 기울기 벡터(dx, dy)의 길이를 계산하여 소스 블록의 에지 맵을 생성하도록 적응되는 기울기 벡터 길이 유닛(402)을 포함할 수 있다. 그렇게 함으로써, 이러한 구조는 블러링 필터, 하이-패스 필터 및 스케일링 유닛에 의해 추가로 처리되어 워핑 변위 벡터를 생성할 수 있는 에지 맵의 생성을 허용한다.
기울기 벡터는 dx 및 dy에 대해 개별적으로, 즉, 도 4에서 소스 블록으로서 참조되는 소스 블록의 수평 및 수직 방향 양자 모두에 대해 개별적으로 1차 미분을 취하는 것에 의해, 이하의 수학식들에 따라 대응하는 Prewitt 필터를 적용하는 것에 의해 획득될 수 있다:
에지 맵은 이하의 수학식에 따라 기울기 벡터 길이를 계산하는 것에 의해 기울기 벡터 길이 유닛(402)에 의해 획득될 수 있다:
유리하게는, 샤프닝 필터(400)는 소스 블록의 에지 맵을 클리핑하도록 구성되는 클리핑 유닛(403)을 포함하고, 상기 클리핑 유닛(403)은 에지 맵 계산 유닛(401, 402)과 블러링 필터(404) 사이에 위치된다. 그렇게 함으로써, 임계값들이 있는 에지 맵의 클리핑은 워핑 벡터들의 극히 높은 값 및 낮은 값의 처리를 방지한다는 점에서 유리하다.
클리핑된 에지 맵의 블러링 단계는 다음과 같이 정의될 수 있는 Gaussian 필터의 형태인 블러링 필터(404)에 의해 획득될 수 있다:
하이-패스 필터는, d2x 및 d2y에 대해 개별적으로, 예를 들어, 다음에 따라, 2차 미분을 획득하는데 사용된다.
변위 벡터(wx, wy)는 계수 k로 2차 미분 벡터(d2x, d2y)를 스케일링하는 것에 의해 획득되고, 계수 k는, 다음 수학식들에 따라, 샤프닝 강도로서 고려될 수 있다:
워핑 유닛(407)은 예를 들어 분수-화소 위치들에서 샘플 값들을 획득하는 쌍-선형(bi-linear) 보간 필터인 보간 필터를 포함한다. 워핑 유닛(407)은 스케일링 유닛(406)에 의해 생성되는 변위 벡터를 사용한다. 그렇게 함으로써, 원하는 분수-화소 위치들 상에 참조 프레임/블록의 보간을 제공하는 동시에 비디오 코더의 전반적인 품질이 향상된다.
감산 유닛(408)은 워핑 유닛(407)에 의해 생성되는 샤프닝된 예측 블록과 현재 블록 사이의 차이를 구축하도록 적응되고, 상기 현재 블록은 인코딩될 블록에 대응한다. 감산 유닛(408)은 실제로 잔여 블록을 생성한다. 적응형 샤프닝 필터(400), 또는 적응형 샤프닝 필터(400)를 제어하는 제어 유닛(211)은 예를 들어 잔여 블록을 최소화하는 것에 의해 또는, 예를 들어, 비율-왜곡에 기초하는 비용 기준에 의해 최적 샤프닝 강도 k를 찾도록 적응된다.
비디오 코더(200)의 적응형 샤프닝 필터와 비디오 디코더(300)의 적응형 샤프닝 필터 사이의 차이가 바람직하게는 감산 유닛(408)에 그리고 잔여 블록의 최소화에 있다. 비디오 디코더(300)에서, 적응형 파라미터, 즉, 계수 k는 감산 유닛(408) 및 잔여 블록의 최소화에 의해 설정되지 않을 수 있다. 대신에, 적응형 파라미터는, 바람직하게는 계수 k의 값을 반영하는 시그널링 데이터에 의존하여, 비디오 디코더(300)에서 설정될 수 있고, 상기 시그널링 데이터는 인코딩된 비디오 비트 스트림의 일부이고 비디오 코더(200)에 의해 설정된다.
예를 들어, 도 7 내지 도 9에서 보다 상세하게 설명되는 바와 같이, 모션 벡터는, 예를 들어, 샤프닝 강도 계수 ki, i=1..16과 같은, 샤프닝 정보와 (미리 결정된 또는 적응형 방식으로) 관련된다. 따라서, 인코딩된 비디오 비트 스트림에서 시그널링 데이터로서 인코딩되는 모션 벡터는 샤프닝 강도 계수 ki에 대한 값을 간접적으로 시그널링할 수 있다.
샤프닝 필터(400)는 소스 블록으로부터 계산되는 변위 벡터에 기초하는 워핑을 포함하고, 이러한 소스 블록은 도 4에서 모션 예측 블록으로서 참조된다.
도 4에 도시되지 않은 실시예에 따르면, 소스 블록은 프레임 버퍼(207, 307)에 저장되는 참조 프레임의 참조 블록이어서, 변위 벡터(wx, wy)가 참조 블록으로부터 유도된다. 그렇게 함으로써, 참조 블록은 샤프닝 변위 벡터들 또는 워핑 변위 벡터들이라고 또한 불리는 변위 벡터들을 획득하기 위한 소스 블록으로서 사용된다. 워핑은 획득되는 변위 벡터를 사용하여 예측 블록에 적용된다. 이러한 실시예는 코더 측 상의 계산 리소스들을 절약한다는 점에서 유리하다.
도 4의 대안적인 실시예에 따르면, 소스 블록은 인터 예측 유닛(210, 310)에 의해 생성되는 예측 블록이어서, 변위 벡터(wx, wy)는 예측 블록으로부터 유도된다.
그렇게 함으로써, 소스 블록으로서 예측 블록을 선택하는 것은 예측 블록의 워핑을 수행하기에 적합한 변위 벡터들의 계산을 허용한다. 또한, 샤프닝 필터는 예측 블록에 대해 하나의 입력을 요구하기만 하고, 참조 블록에 대한 제2 입력은 필요하지 않다.
도 5는 본 발명의 실시예에 따른 비디오 코딩 방법, 특히 모션 보상에 따른 후속 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하기 위한 방법(500)을 도시한다.
방법(500)은 비디오 스트림의 적어도 하나의 참조 프레임을 저장하는 단계(501)를 포함하고, 상기 참조 프레임은 비디오 스트림의 현재 프레임과 상이하다.
방법(500)은 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하는 것을 포함하는 인터 예측 단계(502)를 추가로 포함한다. 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성되고, 상기 분수-화소 해상도는 모션 벡터의 각각의 정수 위치에 대해 복수의 관련된 분수 위치들을 정의한다.
방법(500)은 샤프닝 필터 단계(503)를 추가로 포함하고, 이는 샤프닝 필터를 예측 블록에 적용하는 것을 포함한다.
방법(500)은 예측 블록을 생성하는데 사용되는 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터 단계의 적용을 제어하는 단계(504)를 추가로 포함한다. 상기 제어 단계는, 예를 들어, 도 7 내지 도 9에서 보다 상세히 설명된다.
도 6은 본 발명의 실시예에 따른 비디오 디코딩 방법, 특히 모션 보상에 따른 후속 프레임들의 비디오 스트림을 예측 코딩하는 것에 의해 획득되는 인코딩된 비디오 비트 스트림을 디코딩하기 위한 방법(600)을 도시한다.
방법(600)은 인코딩된 비디오 비트 스트림으로부터 획득되는 적어도 하나의 참조 프레임을 저장하는 단계(601)를 포함하고, 상기 참조 프레임은 인코딩된 비디오 비트 스트림의 현재 프레임과 상이하다.
방법(600)은 참조 프레임의 참조 블록으로부터 현재 프레임의 현재 블록의 예측 블록을 생성하는 것을 포함하는 인터 예측 단계(602)를 포함한다. 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성되고, 상기 분수-화소 해상도는 모션 벡터의 각각의 정수 위치에 대해 복수의 관련된 분수 위치들을 정의한다. 바람직하게는, 모션 벡터는 인코딩된 비디오 비트 스트림으로부터 획득되고, 상기 모션 벡터는 인코딩된 비디오 비트 스트림에서 시그널링 데이터로서 인코딩된다.
방법(600)은 샤프닝 필터 단계(603)를 포함하고, 이는 샤프닝 필터를 예측 블록에 적용하는 것을 포함한다.
방법(600)은 예측 블록을 생성하는데 사용되는 모션 벡터의 정수 또는 분수 위치에 의존하여 샤프닝 필터 단계(603)를 제어하는 단계(604)를 포함한다. 상기 제어 단계는, 예를 들어, 도 7 내지 도 9에서 보다 상세히 설명된다.
비디오 코더(200) 또는 비디오 디코더(300)에 대하여 설명되는 추가의 양태들 및 특징들은 코딩 방법(500) 및 디코딩 방법(600)에 또한 적용 가능하다.
도 7은 본 발명의 실시예에 따른 샤프닝 패턴을 도시한다.
샤프닝 패턴은 적응형 파라미터의 어떠한 계수가 코딩/최적화 동안 코더에 의해 선택되었는지를 비디오 코더로부터 비디오 디코더에 효과적으로 시그널링하는데 이용될 수 있다.
모션 벡터들의 분수 공간은 여러 화소 위치들을 포함한다. H.264/AVC 및 H.265/HEVC와 같은 현대 비디오 코덱들에서, 모션 벡터는 X 및 Y 차원들 양자 모두에서 통상적으로 ¼ 화소 해상도를 갖는다. 도 7은 이러한 ¼ 화소 해상도에 따른 본 발명의 실시예를 도시한다. 이러한 해상도는 총 4x4=16개의 가능한 위치들을 의미한다. 이러한 가능한 위치들은 정사각형 'a'로서 식별되는 하나의 정수 위치(701) 뿐만 아니라 정수 위치(701)와 관련된 15개의 분수 위치들(702 내지 716)을 포함한다. 분수 위치들은 원들 'c', 'i' 및 'k'로서 도 7에서 식별되는 3개의 ½ 화소 위치들(703, 709, 711) 뿐만 아니라 도 7에서 대응하는 삼각형들로서 식별되는 12개의 ¼ 화소 위치들(702, 704, 705, 706, 707, 708, 710, 712, 713, 714, 715, 716)을 포함한다.
실시예들은 정수 위치만을, ½ 화소 위치들만을, ¼ 화소 위치들만을, 또는, 도 7에 도시되는 바와 같이, 이들의 조합을 포함할 수 있다. 정수 위치와 관련된 하나 이상의 분수 위치들은, 예를 들어, 하위 복수의 모션 벡터들만이 샤프닝 필터의 적용을 트리거링하게 하는 값(예를 들어, 샤프닝 정보)을 할당받을 수 있다.
도 7의 샤프닝 패턴은, 예를 들어, 각각의 샤프닝 강도 계수 ki, i = 1..16과 같은, 각각의 샤프닝 정보를, 각각의 분수 및/또는 정수 위치에 대해, 정의한다. 특정 분수 또는 정수 위치(701 내지 716)에 대한 모션 보간 이후, 샤프닝 필터는 이러한 특정 분수 또는 정수 위치(701 내지 716)에 대해 샤프닝 패턴에 정의되는 대응하는 적응형 파라미터로, 즉 대응하는 샤프닝 강도 계수 ki로 적용된다.
도 7에 도시되는 샤프닝 패턴은 정수 위치(701) 뿐만 아니라 그 15개의 분수 위치들(702 내지 716)을 포함한다. 정수 위치(701) 이외에, 도 7은 추가의 정수 위치들(720, 721, 722)을 또한 도시한다. 이러한 추가의 정수 위치들은 추가의 샤프닝 패턴들(도 7에 도시되지 않음)과 각각 관련될 수 있다. 이러한 추가의 샤프닝 패턴들은 정수 위치(701)의 샤프닝 패턴과 동일할 수 있거나, 또는 그와 상이할 수 있다.
계수들 ki는 일정하고 및/또는 오프라인 트레이닝에 의해 미리 정의되거나 또는 예를 들어 이전 코딩 실험들에 기초하여 선택될 수 있다. 계수들 ki는 또한 가변적이고 시퀀스 레벨, GOP 레벨, 프레임 레벨 또는 영역 레벨로 적응형일 수 있다. 그러한 경우, 사이드 정보와 같은 추가적인 시그널링이 요구된다.
도 8은 본 발명의 추가의 실시예에 따른 예시적인 샤프닝 패턴을 도시한다.
일부 분수 또는 정수 위치들은 관련된 샤프닝 정보를 갖지 않을 수 있다. 이것은 이러한 위치들에 대해 샤프닝 필터가 적용되지 말아야 한다는 점을 의미한다. 이러한 경우, 추가적인 샤프닝 포스트-필터링을 사용하지 않고 통상의 모션 보간만 적용된다.
이에 대응하여, 도 8의 샤프닝 패턴은 샤프닝 패턴의 위치들의 서브세트(802)에 대해서만 샤프닝 정보, 예를 들어, 적응형 파라미터 ki를 정의한다. 계수 ki는, 예를 들어, 위치(706, 707, 708, 710, 712, 714, 715 및 716)에 대해서만 정의된다. 위치들(701, 702, 703, 704, 705, 709, 713)을 포함하는 샤프닝 패턴의 서브세트(801) 뿐만 아니라, 위치(711)를 포함하는 추가의 서브세트(803)는 계수 k와 관련되지 않고, 이는 이러한 위치들에 대해 샤프닝 필터가 바이패스되어야 한다는 점을 의미한다.
모션 벡터의 분수 위치는 따라서 샤프닝 패턴에서 샤프닝 필터(211)의 적응형 파라미터의 값 및/또는 샤프닝 필터의 바이패스 또는 적용을 정의하는 값을 정의할 수 있다. 샤프닝 패턴은 코더 및 디코더 양자 모두에 의해 알려질 수 있다. 이것은 사전 정의되거나 적응형이고 사이드 정보로서 구성될 수 있다.
예를 들어, 실시예들은 미리 결정된/미리 저장된 샤프닝 패턴들을 포함할 수 있고, 그 안의 값들(즉, 샤프닝 정보)은 사이드 정보에 의해 설정된다. 사이드 정보는, 도 9에서 추가로 설명되는 바와 같이, 사전 결정된 또는 적응형인 방식으로 샤프닝 패턴들을 추가로 또는 대안적으로 정의할 수 있다.
도 9는 상이한 샤프닝 패턴들이 있는 본 발명의 실시예를 도시한다.
프레임의 일부 영역들에 대해, 샤프닝 예측 포스트-필터는 제한된 유용성의 것일 수 있다. 이것은, 예를 들어, 비디오 프레임의 평평한 영역들에 대한 경우이다. 이러한 경우, 모든 분수 포인트들에 대해 샤프닝되지 않은 예측을 사용하는 것이 더 우수하다. 프레임의 다른 영역들에서는, 상이한 분수 위치들에 대한 샤프닝 파라미터들을 정의하는 것이 최적일 수 있다.
이러한 변형들을 커버하기 위해, 프레임의 일부 로컬 영역들에 대해 여러 상이한 샤프닝 패턴들을 정의하고, 예를 들어, 비율 왜곡 최적화와 같은 비용 기준에 기초하여 최상의 샤프닝 패턴을 선택하고, 주어진 영역에서 모션 보간을 위해 어떠한 샤프닝 패턴이 사용되어야 하는지를 디코더에 시그널링하는 것이 제안된다.
이에 대응하여, 도 9는 몇몇 영역들(901, 902, 903, 904, 905, 906)을 포함하는 프레임을 도시하는 한편, 예를 들어, 2개의 상이한 샤프닝 패턴들이 사용된다. 제1 패턴(907)은 모든 위치들에 대해 샤프닝 필터가 바이패스되어야 한다는 점을 정의하는 한편, 제2 패턴(908)은 패턴의 위치들 중 적어도 일부에 대해 샤프닝 정보를 정의한다. 예를 들어, 샤프닝 패턴(908)은 도 8에 도시되는 패턴에 대응할 수 있다.
코더는 영역들(901 및 905)에 대해서는 제1 패턴(907)을 그리고 나머지 영역들(902, 903, 904 및 906)에 대해서는 제2 패턴(908)을 선택한다. 이것은 샤프닝 예측 포스트-필터가 영역들(901, 905)에 적용되지 않는다는 점을 의미한다. 인코딩 프로세스 동안, 최상의 샤프닝 패턴이 각각의 특정 영역에 대해- 예를 들어, 각각의 LCU(largest coding unit)에 대해 - 선택될 수 있고, 하나의 비트로 디코더에 시그널링될 수 있으며, 상기 비트는 제1 또는 제2의 샤프닝 패턴(907, 908)을 결정한다.
본 발명이 예들 뿐만 아니라 구현들로서 다양한 실시예들과 함께 설명되었다. 그러나, 다른 변형들이 해당 분야에서 숙련되고 청구된 발명을 실시하는 사람들에 의해, 도면들, 본 개시내용 및 독립 청구항들의 연구로부터, 이해되고 실행될 수 있다. 청구항들에서 뿐만 아니라 명세서에서 "포함하는(comprising)"이라는 단어는 다른 엘리먼트들 또는 단계들 배제하지 않고 부정 관사 "a" 또는 "an"은 복수를 배제하지 않는다. 단일 엘리먼트 또는 다른 유닛은 청구항들에 나열되는 여러 엔티티들 또는 아이템들의 기능들을 달성할 수 있다. 달리 명시하지 않는 한, "제1(first)" 및 "제2(second)"와 같은 용어들은 이러한 용어들이 설명하는 엘리먼트들 사이에서, 특히 청구항 종속성 이유로 임의로 구별하는데 사용된다. 따라서, 이러한 용어들이 반드시 이러한 엘리먼트들의 시간적인 또는 다른 우선 순위화를 표시하고자 의도되는 것은 아니다(예를 들어, 제1 및 제2 예측 블록 필터링).
특정 조치들이 상호 상이한 종속 청구항들에서 나열된다는 단순한 사실이 이러한 조치들의 조합이 유리한 구현에서 사용될 수 없다는 점을 표시하는 것은 아니다.
Claims (32)
- 모션 보상에 따른 후속 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하기 위한 비디오 코더로서,
상기 비디오 스트림의 적어도 하나의 참조 프레임을 저장하도록 구성되는 프레임 버퍼- 상기 참조 프레임은 상기 비디오 스트림의 현재 프레임과 상이함 -,
상기 참조 프레임의 참조 블록으로부터 상기 현재 프레임의 현재 블록의 예측 블록을 생성하도록 구성되는 인터 예측 유닛- 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성됨 -,
상기 예측 블록을 필터링하도록 구성되는 비-선형 샤프닝 필터, 및
상기 예측 블록을 생성하는데 사용되는 상기 모션 벡터의 정수 또는 분수 위치에 의존하여 상기 샤프닝 필터를 제어하도록 구성되는 제어 유닛
을 포함하는 비디오 코더. - 제1항에 있어서,
상기 샤프닝 필터는 적어도 하나의 적응형 파라미터를 포함하고, 상기 적응형 파라미터는 샤프팅 강도 계수(k)이며,
상기 제어 유닛은 상기 모션 벡터의 정수 또는 분수 위치에 의존하여 상기 적응형 파라미터에 대한 파라미터 값을 선택하는 것에 의해, 그리고 상기 선택된 파라미터 값을 상기 샤프닝 필터에 적용하는 것에 의해 상기 샤프닝 필터를 제어하도록 구성되는 비디오 코더. - 제2항에 있어서,
상기 모션 벡터의 각각의 정수 또는 분수 위치는 상기 적응형 파라미터에 대한 파라미터 값과 관련되는 비디오 코더. - 제2항에 있어서,
상기 모션 벡터의 적어도 하나의 정수 또는 분수 위치는 관련된 파라미터 값을 갖지 않고, 상기 제어 유닛은 어떠한 파라미터 값도 상기 모션 벡터의 위치와 관련되지 않으면 상기 샤프닝 필터의 바이패스를 야기하도록 구성되는 비디오 코더. - 제2항에 있어서,
상기 예측 블록을 필터링하도록 구성되는 복수의 샤프닝 필터들을 포함하고,
상기 제어 유닛은 상기 모션 벡터의 정수 또는 분수 위치에 의존하여 상기 복수의 샤프닝 필터들 중 하나를 선택하도록, 그리고 상기 선택된 샤프닝 필터를 상기 예측 블록에 적용하도록 구성되는 비디오 코더. - 제2항 내지 제5항 중 어느 한 항에 있어서,
상기 샤프닝 필터는,
소스 블록의 에지 맵을 생성하도록 적응되는 에지 맵 계산 유닛- 상기 소스 블록은 상기 참조 블록 또는 상기 예측 블록임 -,
상기 소스 블록의 에지 맵을 블러링하도록 적응되는 블러링 필터(blurring filter),
상기 블러링된 에지 맵을 하이-패스 필터링하는 것에 의해, 상기 소스 블록의 각각의 위치에 대한 미분 벡터를 생성하도록 적응되는 하이-패스 필터,
상기 미분 벡터를 상기 샤프닝 강도 계수로 스케일링하는 것에 의해 변위 벡터를 생성하도록 적응되는 스케일링 유닛, 및
상기 변위 벡터에 기초하여 상기 예측 블록을 워핑하도록 적응되는 워핑 유닛(warping unit)
을 포함하는 비디오 코더. - 제1항 내지 제5항 중 어느 한 항에 있어서,
상기 제어 유닛은 상기 모션 벡터의 정수 또는 분수 위치에 의존하여 상기 샤프닝 필터에 의한 예측 블록 필터링의 바이패스 및 적용 중 적어도 하나를 제어하도록 구성되는 비디오 코더. - 제1항 내지 제5항 중 어느 한 항에 있어서,
샤프닝 패턴은 모션 벡터의 정수 위치 및 하나 이상의 관련된 분수 위치들에 대한 샤프닝 정보를 각각 정의하고,
상기 제어 유닛은 적어도 하나의 샤프닝 패턴을 이용하도록, 그리고 그렇게 함으로써 상기 예측 블록을 생성하는데 사용되는 모션 벡터에 대응하는 위치에서 상기 적어도 하나의 샤프닝 패턴에 정의되는 샤프닝 정보에 의존하여 상기 샤프닝 필터를 제어하도록 구성되고,
상기 샤프닝 정보는 상기 샤프닝 필터의 적응형 파라미터의 값이거나 또는 상기 샤프닝 필터의 적용 또는 바이패싱을 정의하는 값인 비디오 코더. - 제8항에 있어서,
상기 제어 유닛은 단일 샤프닝 패턴을 이용하도록 구성되는 비디오 코더. - 제9항에 있어서,
상기 제어 유닛은
각각의 예측 블록에 대해,
상기 현재 프레임의 임의의 또는 규칙적인 영역에 대해,
프레임 레벨로,
GOP(group of pictures) 레벨로,
PPS(picture parameter set) 레벨로, 또는
SPS(sequence parameter set) 레벨로
상기 단일 샤프닝 패턴을 수정하도록 구성되는 비디오 코더. - 제8항에 있어서,
상기 제어 유닛은 복수의 샤프닝 패턴들을 이용하도록 구성되고, 상기 샤프닝 패턴들 중 하나를 각각의 예측 블록에 대해, 상기 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로, 또는 SPS(sequence parameter set) 레벨로 선택하도록 추가로 구성되는 비디오 코더. - 제11항에 있어서,
상기 제어 유닛은 잔여 블록의 최소화에 기초하여- 상기 잔여 블록은 상기 현재 블록과 상기 예측 블록 사이의 차이임 -, 또는, 예를 들어, 비율 왜곡 최적화인 비용 기준에 기초하여 상기 샤프닝 패턴들 중 하나를 선택하도록 구성되는 비디오 코더. - 제11항에 있어서,
상기 인코딩된 비디오 비트 스트림을 생성하도록, 그리고 상기 제어 유닛에 의해 선택되는 샤프닝 패턴을 상기 인코딩된 비디오 비트 스트림에 추가하도록 구성되는 인코딩 유닛(203)을 포함하는 비디오 코더. - 제8항에 있어서,
상기 적어도 하나의 샤프닝 패턴은 상기 제어 유닛에 의해 액세스 가능한 메모리에 미리 저장되는 비디오 코더. - 제8항에 있어서,
상기 인코딩된 비디오 비트 스트림을 생성하도록, 그리고 상기 제어 유닛의 적어도 하나의 샤프닝 패턴을 상기 인코딩된 비디오 비트 스트림에 추가하도록 구성되는 인코딩 유닛을 포함하는 비디오 코더. - 제8항에 있어서,
상기 제어 유닛은 샤프닝 패턴들의 수 및/또는 상기 적어도 하나의 샤프닝 패턴의 샤프닝 정보를 변경하도록 구성되는 비디오 코더. - 제16항에 있어서,
상기 샤프닝 패턴들의 수 및/또는 상기 적어도 하나의 샤프닝 패턴의 샤프닝 정보는 각각의 예측 블록에 대해, 상기 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로, 또는 SPS(sequence parameter set) 레벨로 변경되는 비디오 코더. - 모션 보상에 따른 후속 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하기 위한 방법으로서,
상기 비디오 스트림의 적어도 하나의 참조 프레임을 저장하는 단계- 상기 참조 프레임은 상기 비디오 스트림의 현재 프레임과 상이함 -,
상기 참조 프레임의 참조 블록으로부터 상기 현재 프레임의 현재 블록의 예측 블록을 생성하는 단계- 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성됨 -,
상기 예측 블록에 비-선형 샤프닝 필터를 적용하는 단계, 및
상기 예측 블록을 생성하는데 사용되는 상기 모션 벡터의 정수 또는 분수 위치에 의존하여 상기 샤프닝 필터의 적용을 제어하는 단계
를 포함하는 방법. - 모션 보상에 따른 후속 프레임들의 비디오 스트림을 예측 코딩하는 것에 의해 획득되는 인코딩된 비디오 비트 스트림을 디코딩하기 위한 비디오 디코더로서,
상기 인코딩된 비디오 비트 스트림으로부터 획득되는 적어도 하나의 참조 프레임을 저장하도록 구성되는 프레임 버퍼- 상기 참조 프레임은 상기 인코딩된 비디오 비트 스트림의 현재 프레임과 상이함 -,
상기 참조 프레임의 참조 블록으로부터 상기 현재 프레임의 현재 블록의 예측 블록을 생성하도록 구성되는 인터 예측 유닛- 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성됨 -,
상기 예측 블록을 필터링하도록 구성되는 비-선형 샤프닝 필터, 및
상기 예측 블록을 생성하는데 사용되는 상기 모션 벡터의 정수 또는 분수 위치에 의존하여 상기 샤프닝 필터를 제어하도록 구성되는 제어 유닛
을 포함하는 비디오 디코더. - 제19항에 있어서,
상기 제어 유닛은 상기 모션 벡터의 정수 또는 분수 위치에 의존하여 상기 샤프닝 필터에 의한 제1 예측 블록 필터링의 바이패스 및 적용 중 적어도 하나를 제어하도록 구성되는 비디오 디코더. - 제19항에 있어서,
샤프닝 패턴은 모션 벡터의 정수 위치 및 하나 이상의 관련된 분수 위치들에 대한 샤프닝 정보를 각각 정의하고,
상기 제어 유닛은 적어도 하나의 샤프닝 패턴을 이용하도록, 그리고 그렇게 함으로써 상기 예측 블록을 생성하는데 사용되는 모션 벡터에 대응하는 위치에서 상기 적어도 하나의 샤프닝 패턴에 정의되는 샤프닝 정보에 의존하여 상기 샤프닝 필터를 제어하도록 구성되고,
상기 샤프닝 정보는 상기 샤프닝 필터의 적응형 파라미터의 값이거나 또는 상기 샤프닝 필터의 적용 또는 바이패싱을 정의하는 값인 비디오 디코더. - 제21항에 있어서,
상기 인코딩된 비디오 비트 스트림으로부터 적어도 하나의 샤프닝 패턴을 디코딩하도록 구성되는 디코딩 유닛을 포함하고,
상기 제어 유닛은 상기 디코딩 유닛에 의해 디코딩되는 샤프닝 패턴에 정의되는 샤프닝 정보에 의존하여 상기 샤프닝 필터를 제어하도록 구성되는 비디오 디코더. - 제21항에 있어서,
상기 샤프닝 패턴은 상기 인코딩된 비디오 비트 스트림의 선택된 샤프닝 패턴 정보에 의존하여 각각의 예측 블록에 대해, 상기 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로, 또는 SPS(sequence parameter set) 레벨로 사용되는 비디오 디코더. - 제21항에 있어서,
상기 적어도 하나의 샤프닝 패턴은 상기 제어 유닛에 의해 액세스 가능한 메모리에 미리 저장되는 비디오 디코더. - 제21항에 있어서,
상기 제어 유닛은 단일 샤프닝 패턴을 이용하도록 구성되는 비디오 디코더. - 제25항에 있어서,
상기 단일 샤프닝 패턴은 상기 제어 유닛에 의해 액세스 가능한 메모리에 미리 저장되는 비디오 디코더. - 제26항에 있어서,
상기 제어 유닛은 상기 단일 샤프닝 패턴을 각각의 예측 블록에 대해, 상기 현재 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로, 또는 SPS(sequence parameter set) 레벨로 수정하도록 구성되는 비디오 디코더. - 제26항에 있어서,
상기 제어 유닛은 상기 단일 샤프닝 패턴을 상기 인코딩된 비디오 비트 스트림의 샤프닝 패턴 정보에 의존하여 각각의 예측 블록에 대해, 상기 현재 프레임의 임의의 또는 규칙적인 영역에 대해, 프레임 레벨로, GOP(group of pictures) 레벨로, PPS(picture parameter set) 레벨로, 또는 SPS(sequence parameter set) 레벨로 수정하도록 구성되는 비디오 디코더. - 모션 보상에 따른 후속 프레임들의 비디오 스트림을 예측 코딩하는 것에 의해 획득되는 인코딩된 비디오 비트 스트림을 디코딩하기 위한 방법으로서,
상기 인코딩된 비디오 비트 스트림으로부터 획득되는 적어도 하나의 참조 프레임을 저장하는 단계- 상기 참조 프레임은 상기 인코딩된 비디오 비트 스트림의 현재 프레임과 상이함 -,
상기 참조 프레임의 참조 블록으로부터 상기 현재 프레임의 현재 블록의 예측 블록을 생성하는 단계- 상기 예측 블록은 분수-화소 해상도를 갖는 모션 벡터에 의해 생성됨 -,
상기 예측 블록에 비-선형 샤프닝 필터를 적용하는 단계, 및
상기 예측 블록을 생성하는데 사용되는 상기 모션 벡터의 정수 또는 분수 위치에 의존하여 상기 샤프닝 필터의 적용을 제어하는 단계
를 포함하는 방법. - 컴퓨팅 디바이스 상에서 실행될 때, 제18항 또는 제29항에 따른 방법을 수행하기 위한 프로그램 코드를 포함하는 프로그램이 저장된 컴퓨터 판독가능 저장 매체.
- 삭제
- 삭제
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2015/000610 WO2017052405A1 (en) | 2015-09-25 | 2015-09-25 | Apparatus and method for video motion compensation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180054735A KR20180054735A (ko) | 2018-05-24 |
KR102142938B1 true KR102142938B1 (ko) | 2020-08-10 |
Family
ID=55752682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187010664A KR102142938B1 (ko) | 2015-09-25 | 2015-09-25 | 비디오 모션 보상을 위한 장치 및 방법 |
Country Status (10)
Country | Link |
---|---|
US (1) | US10820008B2 (ko) |
EP (1) | EP3354026B1 (ko) |
JP (1) | JP6556942B2 (ko) |
KR (1) | KR102142938B1 (ko) |
CN (1) | CN108141603B (ko) |
AU (1) | AU2015409726B2 (ko) |
CA (1) | CA2999848C (ko) |
MY (1) | MY185713A (ko) |
WO (1) | WO2017052405A1 (ko) |
ZA (1) | ZA201802145B (ko) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI463878B (zh) * | 2009-02-19 | 2014-12-01 | Sony Corp | Image processing apparatus and method |
US9264508B2 (en) | 2011-08-19 | 2016-02-16 | Time Warner Cable Enterprises Llc | Apparatus and methods for reduced switching delays in a content distribution network |
US10652594B2 (en) | 2016-07-07 | 2020-05-12 | Time Warner Cable Enterprises Llc | Apparatus and methods for presentation of key frames in encrypted content |
CN106846270B (zh) * | 2017-01-05 | 2020-02-14 | 浙江大华技术股份有限公司 | 一种图像边缘增强方法及装置 |
JP7300985B2 (ja) * | 2017-04-17 | 2023-06-30 | ソニーグループ株式会社 | 情報処理装置および情報処理方法 |
US10958948B2 (en) * | 2017-08-29 | 2021-03-23 | Charter Communications Operating, Llc | Apparatus and methods for latency reduction in digital content switching operations |
BR112020008896A2 (pt) * | 2017-11-07 | 2020-10-20 | Huawei Technologies Co., Ltd. | filtro de interpolação para um aparelho e método de interpredição para codificação de vídeo |
US10939142B2 (en) | 2018-02-27 | 2021-03-02 | Charter Communications Operating, Llc | Apparatus and methods for content storage, distribution and security within a content distribution network |
US10798407B2 (en) * | 2018-06-01 | 2020-10-06 | Tencent America LLC | Methods and apparatus for inter prediction with a reduced above line buffer in video coding |
CN111083489B (zh) | 2018-10-22 | 2024-05-14 | 北京字节跳动网络技术有限公司 | 多次迭代运动矢量细化 |
CN113170093B (zh) * | 2018-11-20 | 2023-05-02 | 北京字节跳动网络技术有限公司 | 视频处理中的细化帧间预测 |
KR20200060589A (ko) * | 2018-11-21 | 2020-06-01 | 삼성전자주식회사 | 병합된 프레임율 컨버터와 비디오 코덱을 갖는 시스템 온 칩 및 그것의 프레임율 변환 방법 |
CN114245115B (zh) * | 2018-12-30 | 2023-03-21 | 北京达佳互联信息技术有限公司 | 用于对视频进行编码的方法和装置 |
WO2020177756A1 (en) | 2019-03-06 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Size dependent inter coding |
WO2020247577A1 (en) * | 2019-06-04 | 2020-12-10 | Beijing Dajia Internet Information Technology Co., Ltd. | Adaptive motion vector resolution for affine mode |
WO2021040037A1 (ja) * | 2019-08-29 | 2021-03-04 | 日本放送協会 | 符号化装置、復号装置、及びプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101452861B1 (ko) * | 2010-09-30 | 2014-10-27 | 삼성전자주식회사 | 평활화 보간 필터를 이용하여 영상을 보간하는 방법 및 그 장치 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6175656B1 (en) | 1999-03-25 | 2001-01-16 | Sony Corporation | Non-linear video sharpening filter |
US20020063807A1 (en) | 1999-04-19 | 2002-05-30 | Neal Margulis | Method for Performing Image Transforms in a Digital Display System |
US6864916B1 (en) | 1999-06-04 | 2005-03-08 | The Trustees Of Columbia University In The City Of New York | Apparatus and method for high dynamic range imaging using spatially varying exposures |
JP3995854B2 (ja) | 1999-06-10 | 2007-10-24 | 富士フイルム株式会社 | 画像処理方法および装置並びに記録媒体 |
FI117533B (fi) | 2000-01-20 | 2006-11-15 | Nokia Corp | Menetelmä digitaalisten videokuvien suodattamiseksi |
US7266150B2 (en) | 2001-07-11 | 2007-09-04 | Dolby Laboratories, Inc. | Interpolation of video compression frames |
US7116831B2 (en) | 2002-04-10 | 2006-10-03 | Microsoft Corporation | Chrominance motion vector rounding |
JP4120301B2 (ja) | 2002-04-25 | 2008-07-16 | ソニー株式会社 | 画像処理装置およびその方法 |
US7471845B2 (en) | 2004-01-06 | 2008-12-30 | Sharp Laboratories Of America, Inc. | De-ringing filter |
US7397853B2 (en) | 2004-04-29 | 2008-07-08 | Mediatek Incorporation | Adaptive de-blocking filtering apparatus and method for MPEG video decoder |
JP4576930B2 (ja) | 2004-08-26 | 2010-11-10 | カシオ計算機株式会社 | 動きベクトル検出装置、および、プログラム |
RU2008106939A (ru) | 2005-04-19 | 2009-08-27 | Самсунг Электроникс Ко., Лтд. (KR) | Способ и устройство адаптивного выбора контекстной модели для кодирования по энтропии |
WO2007044556A2 (en) | 2005-10-07 | 2007-04-19 | Innovation Management Sciences, L.L.C. | Method and apparatus for scalable video decoder using an enhancement stream |
EP1841230A1 (en) | 2006-03-27 | 2007-10-03 | Matsushita Electric Industrial Co., Ltd. | Adaptive wiener filter for video coding |
JP2008054267A (ja) * | 2006-07-28 | 2008-03-06 | Hitachi Ltd | 画像処理装置、画像符号化装置及び画像復号化装置 |
US9014280B2 (en) | 2006-10-13 | 2015-04-21 | Qualcomm Incorporated | Video coding with adaptive filtering for motion compensated prediction |
US7751873B2 (en) | 2006-11-08 | 2010-07-06 | Biotronik Crm Patent Ag | Wavelet based feature extraction and dimension reduction for the classification of human cardiac electrogram depolarization waveforms |
US8199812B2 (en) | 2007-01-09 | 2012-06-12 | Qualcomm Incorporated | Adaptive upsampling for scalable video coding |
US20080205508A1 (en) * | 2007-02-22 | 2008-08-28 | Streaming Networks (Pvt.) Ltd. | Method and apparatus for low complexity video encoding and decoding |
US8576906B2 (en) | 2008-01-08 | 2013-11-05 | Telefonaktiebolaget L M Ericsson (Publ) | Adaptive filtering |
EP2081386A1 (en) | 2008-01-18 | 2009-07-22 | Panasonic Corporation | High precision edge prediction for intracoding |
US8705622B2 (en) | 2008-04-10 | 2014-04-22 | Qualcomm Incorporated | Interpolation filter support for sub-pixel resolution in video coding |
US20090257499A1 (en) | 2008-04-10 | 2009-10-15 | Qualcomm Incorporated | Advanced interpolation techniques for motion compensation in video coding |
US8811484B2 (en) | 2008-07-07 | 2014-08-19 | Qualcomm Incorporated | Video encoding by filter selection |
US10123050B2 (en) | 2008-07-11 | 2018-11-06 | Qualcomm Incorporated | Filtering video data using a plurality of filters |
JP4763026B2 (ja) | 2008-08-27 | 2011-08-31 | シャープ株式会社 | 画像処理装置、画像形成装置、画像処理方法、画像処理プログラム及びコンピュータ読み取り可能な記録媒体 |
US9078007B2 (en) | 2008-10-03 | 2015-07-07 | Qualcomm Incorporated | Digital video coding with interpolation filters and offsets |
EP2499829B1 (en) | 2009-10-14 | 2019-04-17 | Dolby International AB | Methods and devices for depth map processing |
US8548065B2 (en) | 2009-10-22 | 2013-10-01 | The Chinese University Of Hong Kong | Parametric interpolation filter for motion-compensated prediction |
WO2011129100A1 (ja) | 2010-04-13 | 2011-10-20 | パナソニック株式会社 | 画像符号化方法および画像復号化方法 |
US20110299604A1 (en) | 2010-06-04 | 2011-12-08 | Apple Inc. | Method and apparatus for adaptive video sharpening |
US9154807B2 (en) | 2010-06-25 | 2015-10-06 | Qualcomm Incorporated | Inclusion of switched interpolation filter coefficients in a compressed bit-stream |
US8761245B2 (en) | 2010-12-21 | 2014-06-24 | Intel Corporation | Content adaptive motion compensation filtering for high efficiency video coding |
US9172972B2 (en) | 2011-01-05 | 2015-10-27 | Qualcomm Incorporated | Low complexity interpolation filtering with adaptive tap size |
TW201301199A (zh) * | 2011-02-11 | 2013-01-01 | Vid Scale Inc | 視訊及影像放大以邊為基礎之視訊內插 |
US8780971B1 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method of encoding using selectable loop filters |
JP5552092B2 (ja) | 2011-06-13 | 2014-07-16 | 日本電信電話株式会社 | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム |
US9232233B2 (en) * | 2011-07-01 | 2016-01-05 | Apple Inc. | Adaptive configuration of reference frame buffer based on camera and background motion |
US9432700B2 (en) * | 2011-09-27 | 2016-08-30 | Broadcom Corporation | Adaptive loop filtering in accordance with video coding |
US9462298B2 (en) | 2011-10-21 | 2016-10-04 | Qualcomm Incorporated | Loop filtering around slice boundaries or tile boundaries in video coding |
US9596463B2 (en) * | 2012-02-22 | 2017-03-14 | Qualcomm Incorporated | Coding of loop filter parameters using a codebook in video coding |
WO2013147495A1 (ko) | 2012-03-26 | 2013-10-03 | 엘지전자 주식회사 | 스케일러블 비디오 인코딩/디코딩 방법 및 장치 |
EP2866440B1 (en) | 2012-06-24 | 2018-08-08 | Lg Electronics Inc. | Image decoding method and apparatus using same |
US9344718B2 (en) | 2012-08-08 | 2016-05-17 | Qualcomm Incorporated | Adaptive up-sampling filter for scalable video coding |
US20140072048A1 (en) | 2012-09-13 | 2014-03-13 | Samsung Electronics Co., Ltd | Method and apparatus for a switchable de-ringing filter for image/video coding |
US9596465B2 (en) | 2013-01-04 | 2017-03-14 | Intel Corporation | Refining filter for inter layer prediction of scalable video coding |
US20140192862A1 (en) | 2013-01-07 | 2014-07-10 | Research In Motion Limited | Methods and systems for prediction filtering in video coding |
US20140254659A1 (en) | 2013-03-11 | 2014-09-11 | Mediatek Inc. | Video coding method using at least evaluated visual quality and related video coding apparatus |
EP2979447B1 (en) * | 2013-03-28 | 2018-01-03 | Huawei Technologies Co., Ltd. | Method for determining predictor blocks for a spatially scalable video codec |
US20160105685A1 (en) | 2014-10-08 | 2016-04-14 | Qualcomm Incorporated | Boundary filtering and cross-component prediction in video coding |
-
2015
- 2015-09-25 CN CN201580083396.3A patent/CN108141603B/zh active Active
- 2015-09-25 AU AU2015409726A patent/AU2015409726B2/en active Active
- 2015-09-25 KR KR1020187010664A patent/KR102142938B1/ko active IP Right Grant
- 2015-09-25 JP JP2018515524A patent/JP6556942B2/ja active Active
- 2015-09-25 MY MYPI2018701170A patent/MY185713A/en unknown
- 2015-09-25 EP EP15851627.8A patent/EP3354026B1/en active Active
- 2015-09-25 WO PCT/RU2015/000610 patent/WO2017052405A1/en active Application Filing
- 2015-09-25 CA CA2999848A patent/CA2999848C/en active Active
-
2018
- 2018-03-23 US US15/934,098 patent/US10820008B2/en active Active
- 2018-04-03 ZA ZA2018/02145A patent/ZA201802145B/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101452861B1 (ko) * | 2010-09-30 | 2014-10-27 | 삼성전자주식회사 | 평활화 보간 필터를 이용하여 영상을 보간하는 방법 및 그 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN108141603A (zh) | 2018-06-08 |
AU2015409726B2 (en) | 2019-12-19 |
CA2999848C (en) | 2020-08-18 |
WO2017052405A1 (en) | 2017-03-30 |
ZA201802145B (en) | 2019-01-30 |
BR112018005796A2 (pt) | 2018-10-16 |
AU2015409726A1 (en) | 2018-04-26 |
CA2999848A1 (en) | 2017-03-30 |
MY185713A (en) | 2021-05-31 |
KR20180054735A (ko) | 2018-05-24 |
US10820008B2 (en) | 2020-10-27 |
US20180213251A1 (en) | 2018-07-26 |
CN108141603B (zh) | 2020-12-15 |
JP6556942B2 (ja) | 2019-08-07 |
EP3354026A1 (en) | 2018-08-01 |
WO2017052405A8 (en) | 2018-04-12 |
EP3354026B1 (en) | 2021-09-15 |
JP2018533291A (ja) | 2018-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102142938B1 (ko) | 비디오 모션 보상을 위한 장치 및 방법 | |
US10841605B2 (en) | Apparatus and method for video motion compensation with selectable interpolation filter | |
US10834416B2 (en) | Apparatus and method for video motion compensation | |
US10848784B2 (en) | Apparatus and method for video motion compensation | |
JP6797247B2 (ja) | ビデオ動き補償用の装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |