KR20180006972A - 비디오 모션 보상을 위한 장치 및 방법 - Google Patents

비디오 모션 보상을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20180006972A
KR20180006972A KR1020177036075A KR20177036075A KR20180006972A KR 20180006972 A KR20180006972 A KR 20180006972A KR 1020177036075 A KR1020177036075 A KR 1020177036075A KR 20177036075 A KR20177036075 A KR 20177036075A KR 20180006972 A KR20180006972 A KR 20180006972A
Authority
KR
South Korea
Prior art keywords
block
motion
frame
motion vector
current
Prior art date
Application number
KR1020177036075A
Other languages
English (en)
Other versions
KR102162856B1 (ko
Inventor
즈지에 자오
이췬 리우
요른 오스터만
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20180006972A publication Critical patent/KR20180006972A/ko
Application granted granted Critical
Publication of KR102162856B1 publication Critical patent/KR102162856B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

본 발명은 비디오 스트림의 적어도 하나의 기준 프레임을 저장하도록 적응된 프레임 버퍼(306) - 상기 기준 프레임은 비디오 스트림의 현재 프레임과 상이함 -, 기준 프레임의 기준 블록과 현재 프레임의 현재 블록 간의 모션을 추정함으로써 모션 벡터를 생성하도록 적응된 모션 추정 유닛(307), 모션 벡터의 배향에 따라 복수의 블러링 필터들 중 하나를 선택하도록 적응된 블러링 필터 선택 유닛(313), 선택된 블러링 필터를 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하도록 적응된 필터링 유닛(314), 현재 블록, 모션 벡터 및 필터링된 기준 블록에 기초하여 현재 블록의 필터링된 예측 블록을 생성하도록 적응된 모션 보상 유닛(308)을 제공한다.

Description

비디오 모션 보상을 위한 장치 및 방법
본 발명은 일반적으로 비디오 처리의 분야와 비디오 모션 보상을 위한 장치에 관한 것으로, 구체적으로 비디오 내의 프레임들을 예측하기 위해 모션 보상을 지원하는 비디오 코더와 비디오 디코더에 관한 것이다. 본 발명은 또한 모션 보상을 사용하여 비디오 스트림을 코딩하는 방법과 디코딩하는 방법에 관한 것이다. 마지막으로, 본 발명은 이러한 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램에 관한 것이다.
비디오 처리의 분야에서, 그리고 특히 하이브리드 비디오 코딩 및 압축의 분야에서, 변환 코딩뿐만 아니라 인터 및 인트라 화상 예측을 사용하는 것이 공지되어 있다. 이러한 하이브리드 비디오 코딩 기술들은 H.261, H.263, MPEG-1, 2, 4, H.264/AVC 또는 HEVC와 같은 공지된 비디오 압축 표준들에서 사용된다.
도 1은 최신 기술적 수준에 따른 비디오 코더를 도시한다. 비디오 코더(100)는 입력 화상들을 수신하는 입력 및 코딩된 비디오 스트림을 생성하는 출력을 포함한다. 비디오 코더(100)는 예측, 변환, 양자화, 및 엔트로피 코딩을 비디오 시퀀스에 적용하도록 적응된다. 변환, 양자화, 및 엔트로피 코딩은 각각 변환 및 양자화 유닛(101)에 의해 그리고 엔트로피 인코더(103)에 의해 수행된다. 변환 및 양자화 유닛(101)과 엔트로피 인코더(103) 사이에, 스캔 유닛(102)이 제공된다.
비디오 시퀀스는 복수의 입력 화상들에 대응하고, 각각의 화상은 인트라 또는 인터 코딩되는 소정 크기의 블록들로 나누어진다. 비디오 시퀀스의 제1 화상의 블록들은 인트라 예측 유닛(109)에 의해 인트라 코딩된다. 인트라 화상은 동일한 화상 내의 정보만을 사용하여 코딩되므로, 그것은 독립적으로 디코딩될 수 있고 그것은 랜덤 액세스를 위한 비트 스트림 내에 엔트리 포인트를 제공할 수 있다.
인터 코딩된 화상들을 위해, 기준 화상들이라고 하는 이전의 및/또는 미래의 코딩된 화상들로부터의 정보는 시간적 중복을 감소시키기 위해 사용된다. 기준 화상들은 역스캔, 역양자화, 역변환 유닛(104)에 의해, 디블록킹 및 SAO(샘플 어댑티브 오프셋) 필터들(105)에 의해 처리되고 프레임 버퍼(106) 내에 저장된다. 인터 코딩된 화상의 각각의 블록은 기준 화상들 내의 동일한 크기의 블록으로부터 예측된다.
모션 추정은 예를 들어 모션 벡터(MV), 모드 결정, 및 기준 프레임들과 같은 모션 데이터를 선택하기 위해 모션 추정 유닛(107)에 의해 적용된다. 모션 추정 유닛(107)은 인터 코딩될 입력 화상 및 기준 화상을 포함한다. 모션 데이터는 원래의 블록과 그것의 예측된 블록 간의 차이를 최소화하기 위해 소정의 코스트 함수에 기초하여 선택된다. 코더 제어 유닛(110)은 레이트 왜곡 최적화 절차에 기초하여, 모션 벡터 또는 기준 프레임 인덱스와 같은, 모션 정보를 선택한다.
모션 보상 유닛(108)에 의해 수행된 모션 보상은 예측 신호들 또는 모션 보상된 프레임 신호들을 생성하기 위해, 부수 정보로서 코딩되어 디코더에 송신된 모션 데이터를 사용한다. 잔차 또는 예측 에러라고 하는, 원래의 블록과 그것의 예측 간의 차이는 다음에 변환된다. 변환 계수들은 일반적으로 모션 데이터와 함께 양자화, 스캔, 엔트로피 코딩 및 송신된다.
비디오 코더(100)의 일부인 디코더 처리가 도 1에서 파선 박스(111) 내에 도시된다. 도 2는 최신 기술적 수준에 따른 비디오 디코더(200)를 도시한다. 비디오 디코더(200)는 비디오 코더(100)와 유사하게, 엔트로피 디코더(203), 역스캔, 역양자화, 역변환 유닛(204), 디블록킹 필터 및 SAO 유닛(205), 프레임 버퍼(206), 모션 보상 유닛(208) 및 인트라 예측 유닛(209)을 포함한다.
비디오 코더(100)와 비디오 디코더(200) 둘 다는 동일한 예측들을 생성한다. 잔차 데이터는 역스캔, 역양자화, 역변환 유닛(204)에 의해 재구성된다. 근사화된 입력 화상은 예측에 잔차를 가산함으로써 블록-와이즈 재구성된다. 가산의 결과는 아티팩트들을 해결하기 위해 루프 필터들 내로 더 공급될 수 있다. 최종 재구성된 화상은 다음에 화상 또는 프레임 버퍼(206) 내에 저장되어, 후속하는 화상들의 예측을 위해 사용될 수 있다.
예를 들어 도 1의 비디오 코더(100) 및 도 2의 비디오 디코더에서 적용되는 것과 같은, 모션 보상은 하이브리드 비디오 코딩/디코딩에서 가장 중요한 요소들 중 하나이다. 모션 보상은 현재 블록을 예측하기 위해 시간적 정보를 이용하고 그럼으로써 비디오의 중복을 감소시킨다. 예측의 정확도는 기준 블록과 현재 블록 간의 내용의 유사성에 의존한다. 액션 및 스포츠 영화에서 전형적으로 예상되는, 카메라 또는 장면 내의 소정의 물체들의 속도의 변화에 따라, 모션 블러가 프레임마다 다르고 예측 정확도가 감소하게 된다.
비디오 코딩 표준들로부터의 일반적인 모션 보상 방법은 고정 물체들 또는 일정한 속도의 이동하는 물체들에는 잘 된다. 그러나, 그것의 정확도는 모션 블러가 변화하는 경우에 제한된다. 모션 블러는 물체가 노출 시간 동안 이동하는 경우에 물체 모션의 검출 시에 발생한다. 가속된 물체는 이전의 기준 프레임보다 현재 프레임에서 더 희미하게 보이지만 감속된 물체는 더 선명하게 나타난다. 연속하는 프레임들 간의 블러의 변화 정도는 일반적으로 예측 에러를 확대시킨다. 그러므로 이것은 감소된 압축 효율 및 결과적으로 인터-예측된 블록들의 잔차에 대한 증가된 데이터 레이트를 초래한다.
이 맥락에서, 모션 블러 보상을 변화시키기 위해 기준 프레임을 필터링함으로써 예측 에러를 감소시키는 것은 공지되어 있다. 예를 들어, 복수의 블러링 필터들을 미리 정하고 이들 블러링 필터를 프레임 버퍼(106) 내에 저장된 기준 프레임에 적용하는 것은 공지되어 있다. 레이트 왜곡 최적화의 면들에서 각각의 필터의 성능을 반복적으로 테스트함으로써, 최상의 블러 필터가 비디오 코더에 의해 선택된다. 비디오 디코더가 생성된 비트 스트림을 디코딩하게 하기 위해, 비디오 코더에 의해 선택된 블러링 필터가 비트 스트림 내의 부수 정보로서 디코더에 시그널링된다.
그럼에도 불구하고, 이러한 기술이 기준 프레임과 현재 프레임 간의 블러 변화가 인터 코딩되는 경우에 예측 에러의 감소에 이르게 할 수 있지만, 비디오 코더로부터 비디오 디코더로의 선택된 블러링 필터의 시그널링은 인코딩된 비트 스트림 내에서 추가의 비트들을 필요로 한다. 이 추가의 시그널링은 인코딩된 비트 스트림에서 예측 에러를 인코딩하기 위해 사용될 수 있는 비트들의 수를 결국 감소시킨다.
위에 언급된 단점들 및 문제들을 인식하므로, 본 발명은 최신 기술적 수준을 개선시키는 것을 목표로 한다. 특히, 본 발명의 목적은 후속하는 프레임들의 비디오 스트림의 개선된 코딩 및 디코딩을 위한 비디오 코더, 코딩 방법, 비디오 디코더, 및 디코딩 방법을 제공하는 것이다.
본 발명은 특히 예측 신호의 정확도를 개선시킴으로써 인터 예측 코딩의 질을 개선시키고자 한다. 본 발명은 또한 인코딩된 비트 스트림 내의 시그널링 비트들의 수를 감소시키고자 한다.
본 발명의 위에 언급된 목적은 첨부된 독립 청구항들에 제공된 해결책에 의해 달성된다. 본 발명의 유리한 구현들은 각각의 종속 청구항들에서 더 정의된다.
본 발명의 제1 양태는 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하는 비디오 코더를 제공한다. 비디오 코더는 비디오 스트림의 적어도 하나의 기준 프레임을 저장하도록 적응된 프레임 버퍼를 포함하고, 상기 기준 프레임은 비디오 스트림의 현재 프레임과 상이하다. 비디오 코더는 기준 프레임의 기준 블록과 현재 프레임의 현재 블록 간의 모션을 추정함으로써 모션 벡터를 생성하도록 적응된 모션 추정 유닛을 포함한다. 비디오 코더는 모션 벡터의 배향에 따라 복수의 필터들 중 하나를 선택하도록 적응된 필터 선택 유닛을 포함한다. 비디오 코더는 선택된 필터를 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하도록 적응된 필터링 유닛을 포함한다. 비디오 코더는 현재 블록 및 필터링된 기준 블록에 기초하여 현재 블록의 필터링된 예측 블록을 생성하도록 적응된 모션 보상 유닛을 포함한다.
그럼으로써, 종래 기술은 후속하는 프레임들의 비디오 스트림에 대한 비트 스트림에서 코딩될 추가의 정보를 요구하는 반면, 본 발명은 이미 인터-예측 지원을 위한 비트 스트림의 부분인, 모션 벡터를 사용한다. 그러므로, 추가의 시그널링이 기준 프레임/블록의 필터링을 지원하기 위해 필요하지 않다. 다음에서, 필터링 및 예측은 프레임의 블록에 심지어 프레임 자체에 적용될 수 있기 때문에 특징들 "프레임"과 "블록"은 상호 교환가능하다.
제1 양태에 따른 비디오 코더의 제1 구현 형태에서, 모션 보상 유닛은 현재 블록 및 기준 블록에 기초하여 현재 블록의 비필터링된 예측 블록을 더 생성하고, 필터링된 예측 블록 및 비필터링된 예측 블록 중에서, 예측 에러를 최소화하는 예측 블록을 출력하도록 적응되고, 상기 예측 에러는 현재 블록과 각각의 예측 블록 간의 차이이다.
그럼으로써, 레이트 왜곡 최적화가 필터링된 또는 비필터링된 기준 블록이 인코딩된 예측 에러를 생성하기 위해 사용되도록 행해질 수 있다.
제1 양태에 따른 비디오 코더의 추가 구현 형태에서, 모션 추정 유닛은 필터링된 기준 블록과 현재 블록 간의 모션을 추정함으로써 제2 모션 벡터를 생성하도록 적응된다. 기준 블록과 현재 블록 간의 모션 벡터와 제2 모션 벡터의 비교에 따라 필터링된 기준 블록이 인코딩된 비디오 비트 스트림을 생성하기 위해 고려 또는 무시된다.
그럼으로써, 블록의 예측은 제2 모션 추정의 평가에 의해 보다 정확할 수 있다.
제1 양태에 따른 비디오 코더의 추가 구현 형태에서, 비디오 코더는 모션 보상 유닛에 의해 출력된 예측 블록에 대응하는 예측 에러에 기초하여 인코딩된 비디오 비트 스트림을 생성하도록 적응된 인코딩 수단을 포함한다.
그럼으로써, 효율적인 예측 코딩이 구현될 수 있다.
제1 양태에 따른 비디오 코더의 추가 구현 형태에서, 비디오 코더는 인코딩된 비디오 비트 스트림이 모션 정보 및 필터 정보를 포함하도록 인코딩된 비디오 비트 스트림을 생성하도록 적응된 인코딩 수단을 포함한다. 모션 정보는 모션 벡터를 포함하고, 필터 정보는 인코딩된 비디오 비트 스트림이 현재 블록과 필터링된 예측 블록 간의 예측 에러에 기초하는지 또는 현재 블록과 비필터링된 예측 블록 간의 예측 에러에 기초하는지를 명시한다.
그럼으로써, 필터 정보는 비디오 디코더가 기준 블록의 추가의 필터링이 예측 디코딩을 수행하기 위해 행해져야 하는지 여부를 신속히 결정하게 한다.
제1 양태에 따른 비디오 코더의 추가 구현 형태에서, 인코딩 수단은 각각의 예측 코딩된 현재 블록에 대한 블록 레벨에서, 프레임 레벨에서, GOP 레벨에서, PPS 레벨에서 또는 SPS 레벨에서 필터 정보를 인코딩된 비디오 비트 스트림에 추가하도록 적응된다.
그럼으로써, 시그널링이 최적화될 수 있도록 필터 정보를 원하는 입도로 적응적으로 설정하는 것이 가능하다.
제1 양태에 따른 비디오 코더의 추가 구현 형태에서, 비디오 코더는 변환 계수들을 생성하고, 변환 계수들을 양자화하도록 선형 공간적 변환에 의해 예측 에러를 변환하도록 적응된 변환 및 양자화 유닛, 및 인코딩된 비디오 비트 스트림을 생성하도록 양자화된 변환 계수들을 스캔 및 엔트로피 코딩하도록 각각 적응된 스캐닝 유닛 및 엔트로피 인코더를 포함한다.
그럼으로써, 비디오 비트 스트림 내의 예측 에러를 송신하기 위한 비트들의 수가 더욱 감소될 수 있다.
제1 양태에 따른 비디오 코더의 추가 구현 형태에서, 필터 선택 유닛은 예를 들어 양의 수평 축에 대한 모션 벡터의 각도를 유도하고, 이 각도에 따라 복수의 필터들 중 상기 하나를 선택하도록 적응된다.
그럼으로써, 기준 블록에 적용될 필터의 선택이 간소화되고 어느 더 이상의 시그널링 비트들 없이 수행될 수 있다.
제1 양태에 따른 비디오 코더의 추가 구현 형태에서, 비디오 코더는 비디오 스트림의 단일-층 코딩을 위한 비디오 코더이다.
제1 양태에 따른 비디오 코더의 추가 구현 형태에서, 필터 선택 유닛은 모션 벡터의 배향에 따라 복수의 블러링 및/또는 디블러링 필터들 중 하나를 선택하도록 적응된다.
그럼으로써, 비디오 스트림 내의 모션 가속 또는 감속의 경우에 기준 블록으로부터 블러를 추가 또는 제거하는 것이 가능하다.
본 발명의 추가 양태는 이러한 비디오 코더를 포함하는 인트라- 및 인터-프레임 예측을 위한 하이브리드 비디오 인코더를 제공한다.
본 발명의 추가 양태는 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하는 방법을 제공한다. 방법은 비디오 스트림의 적어도 하나의 기준 프레임을 저장하는 단계 - 상기 기준 프레임은 비디오 스트림의 현재 프레임과 상이함 -, 기준 프레임의 기준 블록과 현재 프레임의 현재 블록 간의 모션을 추정함으로써 모션 벡터를 생성하는 것을 포함하는 모션 추정 단계, 모션 벡터의 배향에 따라 복수의 필터들 중 하나를 선택하는 단계, 선택된 필터를 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하는 단계, 현재 블록 및 필터링된 기준 블록에 기초하여 현재 블록의 필터링된 예측 블록을 생성하는 것을 포함하는 모션 보상 단계를 포함한다.
본 발명의 추가 양태는 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 예측 코딩함으로써 획득된 인코딩된 비디오 비트 스트림을 디코딩하는 비디오 디코더로서, 인코딩된 비디오 비트 스트림은 예측 인코딩된 현재 프레임 및 기준 프레임의 기준 블록과 현재 프레임의 현재 블록 간의 모션을 반영하는 인코딩된 모션 벡터를 포함하고, 상기 기준 프레임은 현재 프레임과 상이하다. 비디오 디코더는 기준 프레임 및 모션 벡터를 생성하도록 인코딩된 기준 프레임 및 인코딩된 모션 벡터를 디코딩하도록 적응된 디코더, 기준 프레임을 저장하도록 적응된 프레임 버퍼, 모션 벡터의 배향에 따라 복수의 필터들 중 하나를 선택하도록 적응된 필터 선택 유닛, 선택된 필터를 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하도록 적응된 필터링 유닛, 모션 벡터 및 필터링된 기준 블록에 기초하여 예측 인코딩된 현재 프레임의 현재 블록을 생성하도록 적응된 모션 보상 유닛을 포함한다.
그럼으로써, 종래 기술은 후속하는 프레임들의 비디오 스트림에 대한 비트 스트림에서 코딩될 추가의 정보를 요구하는 반면, 본 발명은 이미 인터-예측 지원을 위한 비트 스트림의 부분인, 모션 벡터를 사용한다. 그러므로, 추가의 시그널링이 기준 프레임/블록의 필터링을 지원하기 위해 필요하지 않다. 또한, 현재 프레임을 넘는 정보가 필터를 선택하고 선택된 필터를 기준 프레임 블록에 적용하기 위해 필요하지 않다.
추가 양태에 따른 비디오 디코더의 구현 형태에서, 인코딩된 비디오 비트 스트림은 현재 블록에 관련된 필터 정보를 포함한다. 디코더는 필터 정보를 디코딩하도록 적응된다. 모션 보상 유닛은, 필터링되지 않은 기준 블록, 즉 선택된 필터에 의해 처리되지 않은 기준 블록에 대응하는, 모션 벡터 및 필터링된 기준 블록에 기초하여, 또는 모션 벡터 및 기준 블록에 기초하여, 필터 정보의 값에 따라 예측 인코딩된 현재 프레임의 현재 블록을 생성하도록 적응된다.
추가 양태에 따른 비디오 디코더의 추가 구현 형태에서, 필터 선택 유닛은 예를 들어 양의 수평 축에 대한 모션 벡터의 각도를 유도하고, 이 각도에 따라 복수의 필터들 중 상기 하나를 선택하도록 적응된다.
추가 양태에 따른 비디오 디코더의 추가 구현 형태에서, 비디오 디코더는 비디오 스트림의 단일-층 코딩을 위한 비디오 디코더이다.
추가 양태에 따른 비디오 디코더의 추가 구현 형태에서, 필터 선택 유닛은 모션 벡터의 배향에 따라 복수의 블러링 및/또는 디블러링 필터들 중 하나를 선택하도록 적응된다.
본 발명의 추가 양태는 이러한 비디오 디코더를 포함하는 인트라- 및 인터-프레임 예측을 위한 하이브리드 비디오 디코더를 제공한다.
본 발명의 추가 양태는 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 예측 코딩함으로써 획득된 인코딩된 비디오 비트 스트림을 디코딩하는 방법을 제공한다. 인코딩된 비디오 비트 스트림은 적어도 하나의 인코딩된 기준 프레임, 예측 인코딩된 현재 프레임 - 상기 기준 프레임은 현재 프레임과 상이함 -, 및 기준 프레임의 기준 블록과 현재 프레임의 현재 블록 간의 모션을 반영하는 인코딩된 모션 벡터를 포함한다. 방법은 기준 프레임 및 모션 벡터를 생성하도록 인코딩된 기준 프레임 및 인코딩된 모션 벡터를 디코딩하는 단계, 기준 프레임을 저장하는 단계, 모션 벡터의 배향에 따라 복수의 필터들 중 하나를 선택하는 단계, 선택된 필터를 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하는 단계, 모션 벡터 및 필터링된 기준 블록에 기초하여 예측 인코딩된 현재 프레임의 현재 블록을 생성하는 것을 포함하는 모션 보상 단계를 포함한다.
본 발명의 추가 양태는 컴퓨터 프로그램이 컴퓨팅 디바이스 상에서 실행할 때 이러한 코딩 및/또는 디코딩 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램을 제공한다.
본원에서 설명된 모든 디바이스들, 요소들, 유닛들 및 수단들은 소프트웨어 또는 하드웨어 요소들 또는 이들의 임의 종류의 조합에서 구현될 수 있다는 점에 주목하여야 한다. 본원에서 설명된 다양한 실체들에 의해 수행되는 모든 단계들뿐만 아니라 다양한 실체들에 의해 수행될 설명된 기능성들은 각각의 실체가 각각의 단계들 및 기능성들을 수행하도록 적응 또는 구성되는 것을 의미하고자 한다. 특정한 실시예들의 다음의 설명에서, 영구적인 실체들에 의해 완전 형성될 특정한 기능성 또는 단계는 그 특정한 단계 또는 기능성을 수행하는 그 실체의 특정한 상세한 요소의 설명에서 반영되지 않지만, 이들 방법들 및 기능성들은 각각의 소프트웨어 또는 하드웨어 요소, 또는 이들의 임의 종류의 조합에서 구현될 수 있다는 것이 통상의 기술자에게 분명할 것이다.
본 발명의 상기 양태들 및 구현 형태들이 첨부된 도면과 관련하여 특정한 실시예들의 다음의 설명에서 설명될 것이다.
도 1은 최신 기술적 수준에 따른 비디오 코더를 도시한다.
도 2는 최신 기술적 수준에 따른 비디오 디코더를 도시한다.
도 3은 본 발명의 실시예에 따른 비디오 코더를 도시한다.
도 4는 본 발명의 실시예에 따른 비디오 디코더를 도시한다.
도 5(a)는 본 발명에 따른 모션 블러 보상의 실시예를 도시한다.
도 5(b)는 본 발명에 따른 모션 블러 보상의 실시예를 도시한다.
도 6은 도 5(a)의 실시예에 의해 획득된 모션 벡터들의 예들을 도시한다.
도 7은 본 발명에 따른 필터의 실시예를 도시한다.
도 8은 본 발명에 따른 필터의 실시예를 도시한다.
도 9는 본 발명에 따른 필터 계수들의 실시예를 도시한다.
도 3은 본 발명의 실시예에 따른 비디오 코더, 및 특히 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하는 하이브리드 비디오 코더(300)를 도시한다.
비디오 코더(300)는 특히 프레임 버퍼(306), 모션 추정 유닛(307), 필터 선택 유닛(313), 필터링 유닛(314) 및 모션 보상 유닛(308)을 포함한다.
프레임 버퍼(306)는 비디오 스트림의 적어도 하나의 기준 프레임을 저장하도록 적응된다. 상기 기준 프레임은 비디오 스트림의 현재 프레임과 상이하다. 본 발명의 맥락에서, 현재 프레임은 현재 인코딩된 비디오 스트림의 프레임이다. 현재 프레임은 인터 코딩 기술을 사용하여 인코딩되고, 즉, 현재 프레임은 하나 또는 복수의 기준 프레임들로부터 예측된다. 기준 프레임은 이전의 프레임, 즉, 후속하는 프레임들의 비디오 스트림 내의 현재 프레임 전에 위치하는 프레임일 수 있다. 대안적으로 순방향 예측이 사용되면, 기준 프레임은 미래의 프레임, 즉, 현재 프레임 다음에 위치하는 프레임일 수 있다. 복수의 기준 프레임들의 경우에, 적어도 하나는 이전의 프레임일 수 있고 그들 중 적어도 하나는 미래의 프레임일 수 있다. 기준 프레임은 인트라 코딩될 수 있으므로, 즉, 어느 더 이상의 프레임을 사용하지 않고 다른 프레임들과의 어떤 종속 없이 코딩될 수 있으므로, 그것은 독립적으로 디코딩될 수 있고 그것은 랜덤 비디오 액세스를 위한 엔트리 포인트의 역할을 할 수 있다.
모션 추정 유닛(307)은 기준 프레임의 기준 블록과 현재 프레임의 현재 블록 사이의 모션을 추정함으로써 모션 벡터를 생성하도록 적응된다. 도 3은 따라서 모션 추정 유닛(307)이 프레임 버퍼(306) 내에 저장된 기준 프레임을 위한 입력, 및 현재 프레임에 대응하는 입력 화상을 위한 입력을 포함하는 것을 도시한다.
모션 벡터는 블록 모션 추정을 사용하여 생성된다. 기준 블록 및 현재 블록은 바람직하게는 기준 프레임 및 현재 프레임의 각각의 영역 또는 서브-영역이다. 이러한 블록은 규칙적인 직사각형 형상 또는 불규칙적인 형상을 가질 수 있다. 대안적으로, 블록들은 프레임들과 동일 크기를 가질 수 있다. 현재 블록과 기준 블록 둘 다는 동일한 크기를 갖는다. 블록들의 크기는 블록 모드에 의해 정해진다. 블록은 프레임의 부분을 포함하는 미리 정해진 크기의 비디오 시퀀스의 기본 코딩 구조, 예를 들어, 64×64 화소들인 코딩 단위(CU)에 대응한다.
인터 코딩되는 현재 프레임의 현재 블록은 기준 프레임의 기준 블록으로부터 예측된다. 인터 프레임 예측을 위한 인코딩 과정은 현재 블록을 예측하기 위해 적용될 기준 인덱스 및 모션 벡터를 포함하는 모션 데이터를 선택하는 것을 포함한다. 기준 인덱스는 기준 블록의 및/또는 기준 프레임의 인덱스이다.
필터 선택 유닛(313)은 모션 벡터의 배향에 따라 복수의 필터들 중 하나를 선택하도록 적응된다. 필터링 유닛(314)은 선택된 필터를 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하도록 적응된다. 모션 보상 유닛(308)은 현재 블록 및 필터링된 기준 블록에 기초하여 현재 블록의 필터링된 예측 블록을 생성하도록 적응된다.
도 3은 따라서 모션 추정 유닛(307)이 필터 선택 유닛(313)에 모션 벡터를 송신하는 것을 도시한다. 필터 선택 유닛(313)의 출력은 선택된 필터를 식별한다. 필터링 유닛(314)은 다음에 모션 보상 유닛(308)에 송신된 필터링된 기준 블록을 생성하도록, 프레임 버퍼(306) 내에 저장된 기준 프레임의 기준 블록에 필터 선택 유닛(313)에 의해 선택된 필터를 적용한다. 모션 보상 유닛(308)은 다음에 현재 프레임의 현재 블록 및 필터링된 기준 블록에 기초하여 필터링된 예측 블록을 생성한다. 바람직하게는, 필터링된 예측 블록은 현재 블록, 모션 벡터, 및 필터링된 기준 블록에 기초하여 생성된다.
특히, 하이브리드 비디오 코딩을 위해, 상기 모션 추정(307)은 기준 프레임 내의 최상의 예측 유닛을 포인팅하는 모션 벡터를 찾기 위해 인코딩 중에 수행된다. 모션 보상(308)은 부수 정보로서 코딩되고 디코더에 송신된 모션 데이터를 사용하여, 예측 신호들을 생성한다. 예측 신호들은 예측 프레임을 획득하도록 조합될 수 있는 예측 블록들을 참조한다.
도 3의 비디오 코더(300)는 도 1의 비디오 코더(100)와 유사하게 추가 유닛들을 포함한다. 특히, 비디오 코더(300)는 변환 및 양자화 유닛(301)), 스캔 유닛(302), 엔트로피 인코더(103), 역스캔, 역양자화, 역변환 유닛(304), 디블록킹 및 SAO 필터들 유닛(305)인 유사한 유닛들을 포함한다. 비디오 코더(300)는 모션 추정 유닛(307), 모션 보상 유닛(308), 예를 들어 기준 프레임을 위한 인트라 예측을 담당하는 인트라 예측(309), 및 코더 제어(310)인 추가의 유사한 유닛들을 포함한다.
도 3에 도시한 하이브리드 비디오 코더(300)에서, 예를 들어, 블록 또는 코딩 단위에 대해 모션 추정(307) 동안 생성된 모션 벡터에 기초하여, 미리 정해진 필터는 상기 모션 벡터의 배향에 따라, 그리고 특히 수평 축에 대한 상기 모션 벡터의 각도에 따라 선택된다(313). 이 각도는 현재 블록의 모션 벡터에 기초하여 계산된다. 다음에, 선택된 필터는 프레임 버퍼(306) 내에 저장된 기준 프레임에 적용된다.
비디오 인코더(300)에서, 모션 보상 유닛(308)은 현재 블록 및 기준 블록에 기초하여, 그리고 특히 현재 블록, 모션 벡터 및 기준 블록에 기초하여 현재 블록의 비필터링된 예측 블록을 더 생성하도록 적응된다. 여기서 고려된 기준 블록은 프레임 버퍼(306) 내에 저장된 기준 프레임의 비필터링된 기준 블록이다. 모션 보상 유닛(308)은 필터링된 예측 블록 및 비필터링된 예측 블록 중에서, 예측 에러를 최소화하는 예측 블록을 출력하도록 더욱이 적응되고, 상기 예측 에러는 현재 블록과 각각의 예측 블록 간의 차이이다.
이것은 필터링된 예측 블록과 비필터링된 예측 블록의 레이트 왜곡 성능이 비교될 것이라는 것을 의미한다. 보다 양호한 레이트 왜곡 성능을 제시하는 옵션이 다음에 선택된다. 이 비교 및 이 선택은 코더 제어(310)에 의해 수행될 수 있다. 코더 제어(310)는 모션 벡터 및 기준 인덱스와 같은 모션 정보, 및 블러링 플래그와 같은 필터 정보를 레이트 왜곡 최적화 절차에 기초하여 선택할 수 있다.
엔트로피 인코더(303)는 인코딩된 비디오 비트 스트림이 모션 정보 및 필터 정보를 포함하도록 인코딩된 비디오 비트 스트림을 생성하도록 적응된다. 모션 정보는 유닛에 의해 선택된 모션 벡터, 및 유리하게는 또한 현재 블록 및/또는 현재 프레임의 예측 코딩을 위해 사용된 기준 블록 및/또는 기준 프레임을 식별할 인덱스인 기준 인덱스를 포함한다. 필터 정보는 인코딩된 비디오 비트 스트림이 현재 블록과 필터링된 예측 블록 간의 예측 에러에 기초하는지 또는 현재 블록과 비필터링된 예측 블록 간의 예측 에러에 기초하는지를 명시한다. 특히, 필터 정보는 인코딩된 비트 스트림이 필터링된 예측 블록 및 비필터링된 예측 블록에 기초하여 생성된 것인지를 명시한다.
필터 선택 유닛(313)은 모션 벡터의 배향에 따라 복수의 블러링 또는 디블러링 필터들 중 하나를 선택하도록 적응된다. 필터들은 코더(300)와 도 4에 도시한 디코더(400)로서 대응하는 디코더 둘 다에 있는 미리 결정된 필터들일 수 있다. 대안적으로, 필터들을 정하는 것은 비트 스트림 내의 대응하는 필터 시그널링에 의해 코더(300)로부터 디코더(400)에 송신될 수 있다. 이것은 고정된 필터들이 미리 정해진 필터들을 보낼 필요가 없도록 모든 비디오 시퀀스들을 위해 사용되고, 또는 주문 제작된 필터들이 예를 들어, 비디오들의 차이 카테고리들에 대해 정해지는 것을 의미한다. 후자의 경우에, 필터들은 디코더에 SEI(보충 향상 정보) 메시지를 통해 보내질 수 있다.
비트 스트림 내에 송신된 필터 정보는 필터 플래그일 수 있다. 예를 들어, 블러링 플래그는 인터 예측으로, 즉, 인터 모드에 따라 코딩된 각각의 블록에 대해 정해질 수 있다. 블록 레벨에서의 플래그는 블러링 또는 디블러링 필터가 현재 블록을 위해 사용되었는지를 표시하기 위해 사용될 수 있다. 또한, 슬라이스 헤더 내에 부가된 블러링 플래그는 블러링/디블러링 필터가 현재 슬라이스를 위해 사용되었는지를 표시하기 위해 사용될 수 있다. SPS(시퀀스 파라미터 세트) 내의 이러한 플래그는 블러링/디블러링 필터가 코딩된 비디오 시퀀스를 위해 사용되었는지를 표시하기 위해 사용될 수 있다. PPS(화상 파라미터 세트) 내의 이러한 플래그는 블러링/디블러링 필터가 코딩된 화상을 위해 사용되었는지를 표시하기 위해 사용될 수 있다. 대안적으로, 블러링 플래그는 블러링 필터가 현재 블록을 위해 사용되었는지를 표시하기 위해 사용될 수 있고 디블러링 플래그는 디블러링 필터가 현재 블록을 위해 사용되었는지를 표시하기 위해 사용될 수 있다.
인트라-프레임 및 인터-프레임 예측(스킵을 포함)인 공지된 표준 코딩 방법들 외에, 본 발명은 하이브리드 비디오 코딩을 위한 모션 블러 보상 모드인 추가 모드를 제안한다. 이 모션 블러 보상은 소정 블록의 코딩 중에, HEVC와 같은, 하이브리드 비디오 코딩의 인터 모드(스킵을 포함)의 보완으로서 고려될 수 있다. 본 발명은 모션 추정(307)에 의해 획득된 모션 벡터로부터 유도된 각도 θ의 필터로 프레임 버퍼(306) 내에 저장된 재구성된 프레임을 필터링(314)함으로써 시간적 기준 프레임들을 생성하는 것을 제안한다.
이들 필터링된 기준 프레임들 및/또는 기준 블록들은 다음에 모션 블러 보상을 위해 사용된다. 블러링 필터가 기준 프레임에 적용되는 경우에, 프레임 버퍼(306) 내에 저장된 필터링된 기준 프레임과 원래의 기준 프레임은 동일한 기준 인덱스를 공유한다. 즉, 기준 인덱스는 하이브리드 비디오 코딩의 일반적인 모션 추정에서의 재구성된 프레임, 또는 제안된 모션 블러 보상의 모션 추정을 위해 사용된 블러된 시간적 프레임을 참조한다.
본 발명에 따른 모션 블러 보상의 모션 추정은 HEVC에서의 모션 추정과 같은, 하이브리드 비디오 코딩의 통상적인 모션 추정 이후에 실행된다.
블러링 플래그는 모든 분할 크기들(2N×2N, 2N×N, 2N×Nu, 2N×Nd, ...)을 위한 인터 모드(스킵을 포함)로 코딩된 각각의 블록 또는 코딩 단위에 대해 정해질 수 있다. 디코더(400)는 기준 프레임이 CU의 재구성 중에 블러되는지를 결정하고 인코딩된 MV로부터 유도된 각도 θ를 사용하여 기준 프레임의 블러링을 복제할 수 있다. 블러링 플래그는 레이트 왜곡(RD) 최적화 내에서 고려된다.
블록 또는 코딩 단위 레벨에서의 플래그는 블러링/디블러링 필터가 코딩 단위를 위해 사용되었는지를 표시하기 위해 사용될 수 있다. 이것에 부가하여, SPS 내의 플래그는 블러링/디블러링 필터가 코딩된 비디오 시퀀스를 위해 사용되었는지를 표시하기 위해 사용될 수 있다. PPS 내의 플래그는 또한 블러링/디블러링 필터가 코딩된 화상을 위해 사용되었는지를 표시하기 위해 사용될 수 있다.
도 4는 본 발명의 실시예에 따른 비디오 디코더를 도시한다. 이 비디오 디코더(400)는 그것이 도 3의 파선 박스(311) 내에 위치한 비디오 코더(300)의 요소들을 포함한다는 점에서 비디오 코더(300)에 대응한다. 디코더(400)는 비디오 코더(300)에 의해 생성된 비트 스트림을 디코딩하도록 적응되고, 디코더(400)와 코더 둘 다는 동일한 예측들을 생성한다.
비디오 디코더(400)는 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 예측 코딩함으로써 획득된 인코딩된 비디오 비트 스트림을 디코딩하는 디코더이다. 인코딩된 비디오 비트 스트림은 예측 에러에 대응하는 예측 인코딩된 현재 프레임, 및 기준 프레임의 기준 블록과 현재 프레임의 현재 블록 간의 모션을 반영하는 인코딩된 모션 벡터를 포함하고, 상기 기준 프레임은 현재 프레임과 상이하다.
비디오 디코더(400)는 디코더(403), 프레임 버퍼(406), 필터 선택 유닛(413), 필터링 유닛(414), 및 모션 보상 유닛(408)을 포함한다. 디코더(403)는 기준 프레임 및 모션 벡터를 생성하도록 인코딩된 기준 프레임 및 인코딩된 모션 벡터를 디코딩하도록 적응된다. 프레임 버퍼(406)는 기준 프레임을 저장하도록 적응된다. 필터 선택 유닛(413)은 모션 벡터의 배향에 따라 복수의 필터들 중 하나를 선택하도록 적응된다. 필터링 유닛(414)은 선택된 필터를 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하도록 적응된다. 모션 보상 유닛(408)은 모션 벡터 및 필터링된 기준 블록에 기초하여 예측 인코딩된 현재 프레임의 현재 블록을 생성하도록 적응된다.
계속해서 또한, 인코딩된 비디오 비트 스트림은 현재 블록에 관련된 필터 정보를 포함한다. 디코더(403)는 필터 정보를 디코딩하도록 적응되고, 모션 보상 유닛(408)은 모션 벡터 및 필터링된 기준 블록에 기초하여, 또는 모션 벡터 및 기준 블록에 기초하여 필터 정보의 값에 따라, 예측 인코딩된 현재 프레임의 현재 블록을 생성하도록 적응된다. 상기 기준 블록은 사실상 비필터링된 기준 블록, 즉, 선택된 필터에 의해 처리되지 않는 기준 블록에 대응한다.
필터 선택 유닛(413)은 양의 수평 축에 대한 모션 벡터의 각도를 유도하고, 이 각도에 따라 복수의 필터들 중 상기 하나를 선택하도록 적응된다.
도 4는 코딩된 비디오 스트림, 즉, 비트 스트림이 역스캔, 역양자화, 역변환 유닛(404) 및 디블록킹 및 SAO 필터들(405)을 통해 현재 블록/프레임에 대한 기준 프레임 및 예측 에러를 디코딩하는 엔트로피 디코더(403)에 공급되는 것을 도시한다. 기준 프레임은 프레임 버퍼(406) 내에 저장된다. 한편, 디코더(403)은 모션 벡터 및 블러링/디블러링 플래그를 각각 포함하는 모션 정보 및 필터 정보를 필터 선택 유닛(413)에 및 모션 보상 유닛(408)에 송신한다.
블러링/디블러링 플래그와 같은 필터 정보는 예를 들어, 2N×2N, 2N×N, 2N×Nu, 2N×Nd, ...를 포함하는 모든 분할 크기들에 대한 인터 모드(스킵을 포함)로 코딩된 각각의 블록 또는 코딩 단위에 대해 정해질 수 있다. 블러링/디블러링 플래그는 슬라이스 헤더, PPS 또는 SPS에 존재할 수 있다. 디코더(400)는 기준 프레임이 블록의 재구성 중에 블러되는지를 결정하고 인코딩된 모션 벡터로부터 유도된 각도 θ를 사용하여 기준 프레임의 블러링을 복제할 수 있다. 디코더(400) 내의 디코딩된 프레임들이 재구성된 것들과 동일한 것을 확실히 하기 위해, 동일한 필터가 디코더(400)에 의해 그리고 코더(300)에 의해 현재 블록에 적용되고, 필터는 디코딩된 모션 벡터의 배향을 사용함으로써 결정된다. 다음에 모션 블러링 필터가 기준 프레임/블록에 적용된다. 모션 보상은 필터 정보에 따라, 그리고 특히 블러링/디블러링 플래그가 필터, 예를 들어, 블러링 필터가 인코더(300)에서 적용되었다는 것을 표시하는 경우에 블러링 필터링된 신호를 이용한다.
제안된 모션 보상, 즉, 인코더에서의 모션 블러 보상의 2가지 실시예들이 다음에 설명된다.
도 5(b)는 본 발명에 따른 모션 블러 보상의 실시예를 도시한다. 본 실시예는 현재 블록 또는 코딩 단위(CU)를 인코딩(500)할 때, 모션 추정(501)이 기준 블록과 현재 블록 간의 모션을 추정함으로써 모션 벡터를 생성하기 위해 모션 추정 유닛(307)에 의해 수행된다는 점에서 하나의 모션 추정을 포함한다. 필터 생성(503) 중에, 필터 선택 유닛(313)은 모션 벡터의 배향, 즉, 예를 들어, 수평에 대한 모션 벡터의 각도 θ에 대응하는 필터를 선택한다. 각도 θ에 대한 범위 [0, π]는 서브-범위들 [0, θ1], [θ1, θ2]... [θn -1, θn], [θn, π]로 세분되고, n은 정수 값이고, 각각의 서브-범위는 하나의 미리 정해진 필터와 연관된다.
필터가 생성되거나 또는 선택되고 나서, 이 필터는, 예를 들어 블러된 기준 블록/프레임(504)과 같은 필터링된 기준 블록/프레임을 생성하기 위해 기준 블록 또는 프레임에 적용된다. 도 5(b)는 필터링된 기준 블록/프레임이 필터 플래그에 대해 생성되고, 즉, 블러링 플래그가 참이고(502), 반면에 기준 블록/프레임이 필터 플래그에 대해 필터링되지 않은, 즉, 블러링 플래그가 거짓(505)인 것을 도시한다. 모션 보상(506)은 필터링된 기준 블록/프레임과 비필터링된 기준 블록/프레임 둘 다에 적용된다. 다음의 레이트 왜곡 최적화(507)에 기초하여, 필터링된 또는 비필터링된 기준 블록이 예측 에러를 생성하기 위해 사용되는지가 결정된다.
도 5(a)는 본 발명에 따른 모션 블러 보상의 추가 실시예를 도시한다. 도 5(b)의 실시예와 대조적으로, 블러된 기준 블록/프레임(504)이 모션 보상(506)에 보내지지 않지만 제2 모션 추정을 수행하기 위해 사용된다.
따라서, 모션 추정 유닛(307)은 필터링된 기준 블록(504)에 기초하여 제2 모션 추정(510)을 수행하여, 필터링된 기준 블록(504)과 현재 블록 간의 모션을 추정함으로써 제2 모션 벡터를 생성하도록 적응된다. 비교(511)가 다음에 기준 블록과 현재 블록 간에, 제1 모션 추정(501)에 의해 생성된 제1 모션 벡터와 제2 모션 추정(510)에 의해 생성된 제2 모션 벡터 사이에서 수행된다. 이 비교(511)에 따라, 필터링된 기준 블록이 인코딩된 비디오 비트 스트림을 생성하기 위해 고려 또는 무시된다.
그래서, 도 5(a)의 실시예는 2회의 모션 추정(501, 510)을 포함하고, 제2 모션 추정(510)은 필터링된 기준 블록/프레임에 기초하여 수행된다. 필터링/블러링 방법은 그럼으로써 제1 및 제2 모션 벡터들이 섹터-기반 알고리즘에 따라 동일한 정해진 각도 섹터 내에 위치하는 않는 경우에 무시된다(512).
소정의 블록 또는 코딩 단위의 코딩(501) 중에, 인코딩 과정에서의 섹터-기반 알고리즘의 하나의 요소는 제2 모션 추정(510)이 필터링된/블러된 기준 블록/프레임에 기초하여 이루어진 후에 제2 모션 벡터에 대응하는, 예측된 모션 벡터의 유효성 체크이다.
유효성 체크는 다음의 3가지 판단 기준을 갖는다:
1) 제1 모션 벡터와 제2 모션 벡터는 동일한 섹터 내에 있다.
2) 제2 모션 벡터는 비제로 벡터이다.
3) 모션 벡터는 정해진 탐색 범위, 즉, 수평 및 수직 방향들에서 ±64 내부이다.
도 6은 섹터-기반 알고리즘을 사용하여 도 5(a)의 실시예에 의해 획득된 모션 벡터들의 예들을 도시한다. 도 6은 [0, π/4], [π/4, π/2], [π/2, 3π/4], 및 [3π/4, π]인 4개의 상이한 각도 섹터들을 도시한다. 제1 모션 추정(501)에 의해 획득된 제1 모션 벡터는 "1. MV"로 표시되고 제1 섹터 내에 위치한다.
제1 예에 따라, 제2 모션 추정(510)이 다음에 적용되고 그 결과 제2 모션 벡터는 "유효 2. MV"로 표시된다. 제2 모션 벡터는 제1 모션 벡터와 동일한 섹터 내에 위치하기 때문에, 블러링 플래그는 참이다(513). 이것은 필터링된 기준 블록에 기초한 모션 보상이 가능하다는 것을 의미한다. 이 경우에, 모션 보상(506)은 프레임 버퍼로부터 필터링된 기준 블록과 비필터링된 기준 블록 둘 다에 대해 수행된다. 다음의 레이트 왜곡 최적화가 필터링된 또는 비필터링된 버전을 선택하도록 수행된다.
제2 예에 따라, "무효 2. MV"로 표시된 제2 모션 벡터는 제1 모션 벡터의 섹터와 상이한 섹터 내에 위치한다. 결과적으로, 필터링이 무시되고(512) 모션 보상이 비필터링된 기준 블록에 대해서만 적용된다.
바꾸어 말하면, 블러링 동작(504) 후에, 블러링 플래그만이 제1 모션 벡터와 제2 모션 벡터가 동일한 정해진 섹터 내에 위치하는 경우에 참으로 설정된다(513). 그렇지 않으면, 블러링 플래그는 거짓으로 설정된다(512). 반면에, 도 5(b)의 실시예에서 제2 회 모션 추정은 필요하지 않다. 블러링 플래그는 블러링(504)이 수행되는 경우에 참으로 설정된다(502). 이들 실시예는 블러링 필터가 사용되어야 하는지를 어떻게 결정하는 것에 관한 코더-관련 실시예들이다.
도 5(a)의 실시예로 다시 돌아오면, 제1 판단 기준은 바람직하게는 대표 방향이 각각의 미리 정해진 섹터에 대해 정해지는 것을 의미한다. 대표 방향은 바람직하게는 섹터의 중간에 놓인다. 예를 들어, 도 6은 제1 섹터에 대한 대표 방향을 도시하고, 상기 방향은 "대표 MV"로 표시된다. 블러링 필터들은 그들 대표 방향에 기초하여 생성된다. 섹터들의 수는 상이한 정확도 요건들에 따라 주어질 수 있고 대응하는 블러링 필터들의 동일한 수가 코딩이 시작하기 전에 계산된다.
제1과 제2 모션 벡터들이 동일한 섹터에 속하면, 동일한 블러링 필터뿐만 아니라 동일한 대표 방향이 인코더 및 디코더에 의해 사용된다. 디코더는 단지 송신된 모션 벡터에 의해 이동된 방향을 알아내야 하고 동일한 재구성된 블록 또는 코딩 단위를 갖도록 정확한 필터링을 한다.
도 6의 예에서, 각각의 필터는 4개의 섹터들이 선택되는 경우에 π/4=45°의 각도를 커버한다. 제1 모션 벡터는 제1 섹터 내에 들기 때문에, 대표 모션 벡터는 섹터의 중간에서의 방향을 포인팅한다. 제2 모션 벡터 "유효 2. MV"가 동일한 섹터 내에 들면, 값 참이 유효성 체크에 의해 주어지고 디코더는 동일한 대표 모션 벡터를 찾는다.
바람직하게는, 제2 모션 벡터는 다음에 디코더에 송신된다. 이것은 비디오 코더가 인코딩된 비디오 비트 스트림이 모션 정보를 포함하도록 인코딩된 비디오 비트 스트림을 생성하도록 적응된 인코딩 수단(303)을 포함하고, 모션 정보는 제2 모션 벡터를 포함하는 것을 의미한다.
제2 모션 벡터 "무효 2. MV"가 제2 벡터에 대한 다른 대표 모션 벡터에 이르면, 값 거짓이 유효성 체크에 의해 주어질 것이다.
유리하게는, 제2 판단 기준은 제2 모션 벡터가 비제로 벡터라는 점에 있다. 이 판단 기준은 노출 중의 물체들과 카메라들 간에 상대적 모션이 있는 경우에 모션 블러가 발생한다는 사실에 기초한다. 제로 모션 벡터는 모션이 블록 또는 코딩 단위에 대해 발견되지 않고, 그러므로 블러가 없어야 하고 결과적으로 유효성 체크에 의해 거짓이 주어지는 것을 의미한다. 필터는 다음에 기준 블록에 적용되지 않는다(314). 이 제2 판단 기준은 제1 판단 기준에 부가하여 또는 단독으로 고려될 수 있다.
마지막으로, 제3 판단 기준에 따라, 제2 모션 벡터는 참으로 될 유효성 체크에 대한 모션 추정의 탐색 범위 내에 있어야 한다. 이 제3 판단 기준은 제1 및/또는 제2 판단 기준에 부가하여 고려될 수 있다.
섹터들의 수의 상승에 따라, 블러링의 방향은 보다 정확할 것이지만 제2 모션 벡터의 유효성 비율이 감소하여, 코딩 이득 및 효율이 떨어지게 될 수 있다. 그러므로 필터 정확도와 유효성 비율 간의 절충이 있다.
도 5(a)의 실시예와 비교하여, 도 5(b)의 실시예의 인코딩 구조는 섹터에 기초하는 제2 모션 추정 및 유효성 체크 대신에 필터링된 기준에 기초하여 동일한 모션 벡터를 모션 보상(MC)에 적용함으로써 간소화된다. 도 5(b)의 실시예는 그러므로 실행 시간을 줄일 수 있다. 실제로 본 실시예는 하나의 추가 모션 추정뿐만 아니라, 블러링의 영역을 아낀다. 표준 모션 추정에 의해 커버된 전체 영역을 블러링하는 것 대신에, 단지 모션 벡터에 의해 포인팅된 기준 프레임 및 나중의 보간에 의해 사용될 그것의 주변에 대해 블록 또는 코딩 단위를 블러하는 것이 요구된다. 도 5(a)의 실시예에서의 위와 동일한 이유로, 또한 여기서 제로 모션 벡터가 모션 블러 보상으로부터 제외된다.
도 5(a)의 실시예는 인코더와 디코더가 동일한 블러링 방향을 공유하는 것을 확실히 하기 위해 필터링된 기준 프레임들에 대한 제2 모션 추정 및 섹터-기반 유효성 체크를 도입한다. 도 5(a)의 실시예에서, 블록 또는 코딩 단위의 예측은 필터들의 수의 증가에 따라, 즉, 섹터들의 수의 증가에 따라 보다 정확하게 되는데, 왜냐하면 생성된 필터들이 방향들에 있어서 보다 정밀하기 때문이다. 다른 한편으로, 보다 높은 수의 필터들은 제2 모션 벡터에 대한 유효 각도들의 범위가 감소하고 모션 블러 보상이 더 자주 무시된다는 것을 의미한다. 9개의 필터들의 사용이 양호한 절충이다.
다음에서, 모션 블러 보상을 위해 사용될 수 있는 블러링 필터들의 실시예가 보여질 것이다.
연속하는 시간 도메인 내의 통상적으로 사용되는 선형의 균일한 모션 블러 점 분산 함수(PSF)가 선분 L 및 수평 축에 대한 각도 θ로 표현되는데, 다음 식으로 주어진다:
Figure pct00001
(1)
여기서 L은 모션 속도 및 노출 기간에 비례하고, θ는 모션 방향을 표시하고 (x,y)는 직각 좌표계 내의 위치이다. 이 함수는 예를 들어, "Photo consistent motion blur modeling for realistic image synthesis", H. Lin 및 C. Chang, PSIVT 2006으로부터 공지되어 있다.
식(1)의 이산 버전이 "Parametric Blur Estimation for Blind Restoration of Natural Images: Linear Motion and Out-of-Focus", J. Oliveira, M. Figueiredo, 및 J. Bioucas-Dias, Image Processing, IEEE Transactions on Image Processing, 2014로부터 공지된 것과 같이, 일정한 속도로 노출 시간 동안 선분에 의해 커버된 센서들을 가로질러 횡단하는 밝은 스폿을 고려함으로써 취득된다. 블러 커널의 각각의 계수는 각각의 센서 요소 상에서 소요된 시간에 비례한다. 일정한 모션을 가정하면, 필터 계수들은 도 7에 도시된 바와 같이, 선분의 격자 내의 각각의 화소와의 교차의 정규화된 길이에 의해 주어진다. 상기 도 7은 θ=arctan 4/5을 갖는 선형 모션 블러의 이산 버전을 도시한다.
모션 블러가 변화하는 경우에, 필터링된 기준은 코딩 성능을 개선시킬 수 있다. 모션 블러뿐만 아니라 모션 블러의 변화는 식(1)에 의해 표현될 수 있다고 가정한다. 모션은 단일 프레임의 노출 시간에 대해 일정한 것으로 고려될 수 있다. 2개의 인접한 프레임들 간의 시간 간격은 50fps 비디오 시퀀스에 대해 단지 0.02초이기 때문에, 우리는 모션 블러 크기의 변화가 대부분의 경우들에서 작은 것을 제안한다. 그러므로, 우리는 블러링의 변화의 현상을 설명하기 위해 3개 화소들의 고정된 크기, 즉, L=3을 채용한다. 그러므로 휘도 성분에 대한 2차원 블러링 필터는 3×3의 치수를 갖는다.
블러링 필터에 대한 다른 자유도는 각도 θ이다. 그것은 HEVC와 같은 하이브리드 비디오 코딩에서 사용된 모션 벡터로부터 유도된다. 그러므로 표준 하이브리드 비디오 코딩 모션 탐색은 블러링 필터가 확립되기 전에 실행된다. 블러된 기준 프레임은 모션 벡터들의 방향들을 사용하여 생성된다.
3×3 필터의 일반적인 이산 버전은 대칭성으로 인해 5개의 상이한 계수들 a, b, c, d 및 e를 갖고 도 8을 사용하여 임의의 각도 θ에 따라 계산된다. 제안된 필터는 저역 통과 필터이다. 한 예로서, θ=15°및 θ=60°에 대한 필터 계수들이 도 9에 리스트되어 있다.
실시예에서, 우리는 테스트 시퀀스가 4:2:0 형식을 갖는 경우 이러한 3×3 필터를 사용함으로써 기준의 휘도 성분을 단지 블러할 것이다. 색도 화소들은 휘도 성분 [6]의 매 다른 화소 위치에 놓인다. 단지 3개 화소들의 블러 크기로, 3개의 이웃하는 휘도 화소들이지만 단지 1개의 색도 화소가 고려되어야 한다. 이웃하는 색도 화소는 블러링의 영향 범위 밖에 있으므로, 필터가 요구되지 않는다. 4:4:4 크로마 서브샘플링의 시퀀스의 경우에, 휘도 성분에 대한 동일한 필터가 색도 성분들에 대해 적용될 것이다.
제안된 모션 블러 모델 및 제안된 블러링 필터는 예들이다. 다른 블러링 필터가 역시 제안된 발명에 따라 적용될 수 있고, 여기서 현재 코딩 단위/블록의 모션 벡터가 하이브리드 비디오 코딩에서 코딩 효율 개선을 위해 미리 정해진 필터들을 선택하기 위해 사용된다.
본 발명이 예들뿐만 아니라 구현예들로서 다양한 실시예들과 함께 설명되었다. 그러나, 다른 변형들이 본 기술 분야의 통상의 지식을 갖고 청구된 발명을 실시하는 기술자들에 의해, 도면, 본 개시내용 및 독립 청구항들을 연구한다면 이해되고 실행될 수 있다. 설명에서 뿐만 아니라 청구범위에서 단어 "포함하는"은 다른 요소들 또는 단계들을 배제하지 않으며 단수 표현은 복수를 배제하지 않는다. 단일 요소 또는 다른 유닛은 청구범위에 나열된 여러가지 실체들 또는 항목들의 기능들을 수행할 수 있다. 소정의 수단들이 상호 상이한 종속 청구항들에서 나열된 사실만으로 이들 수단의 조합이 유리한 구현에서 사용될 수 없다는 것을 나타내지 않는다.

Claims (20)

  1. 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하는 비디오 코더로서,
    상기 비디오 스트림의 적어도 하나의 기준 프레임을 저장하도록 적응된 프레임 버퍼(306) - 상기 기준 프레임은 상기 비디오 스트림의 현재 프레임과 상이함 -,
    상기 기준 프레임의 기준 블록과 상기 현재 프레임의 현재 블록 간의 모션을 추정함으로써 모션 벡터를 생성하도록 적응된 모션 추정 유닛(307),
    상기 모션 벡터의 배향에 따라 복수의 필터들 중 하나의 필터를 선택하도록 적응된 필터 선택 유닛(313),
    상기 선택된 필터를 상기 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하도록 적응된 필터링 유닛(314),
    상기 현재 블록 및 상기 필터링된 기준 블록에 기초하여 상기 현재 블록의 필터링된 예측 블록을 생성하도록 적응된 모션 보상 유닛(308)
    을 포함하는 비디오 코더.
  2. 제1항에 있어서,
    상기 모션 보상 유닛(308)은 상기 현재 블록 및 상기 기준 블록에 기초하여 상기 현재 블록의 비필터링된 예측 블록을 더 생성하고,
    상기 필터링된 예측 블록 및 상기 비필터링된 예측 블록 중에서, 예측 에러를 최소화하는 예측 블록을 출력하도록 적응되고, 상기 예측 에러는 상기 현재 블록과 각각의 상기 예측 블록 간의 차이인 비디오 코더.
  3. 제1항 또는 제2항에 있어서,
    상기 모션 추정 유닛(307, 510)은 상기 필터링된 기준 블록과 상기 현재 블록 간의 모션을 추정함으로써 제2 모션 벡터를 생성하도록 적응되고,
    상기 기준 블록과 상기 현재 블록 간의 모션 벡터와 상기 제2 모션 벡터의 비교(511)에 따라, 상기 필터링된 기준 블록이 상기 인코딩된 비디오 비트 스트림을 생성하기 위해 고려 또는 무시되는 비디오 코더.
  4. 제2항 또는 제3항에 있어서,
    상기 모션 보상 유닛(308)에 의해 출력된 상기 예측 블록에 대응하는 상기 예측 에러에 기초하여 상기 인코딩된 비디오 비트 스트림을 생성하도록 적응된 인코딩 수단(303)을 포함하는 비디오 코더.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 인코딩된 비디오 비트 스트림이 모션 정보 및 필터 정보를 포함하도록 상기 인코딩된 비디오 비트 스트림을 생성하도록 적응된 인코딩 수단(303)을 포함하고, 상기 모션 정보는 상기 모션 벡터를 포함하고,
    상기 필터 정보는 상기 인코딩된 비디오 비트 스트림이 상기 현재 블록과 상기 필터링된 예측 블록 간의 예측 에러에 기초하는지 또는 상기 현재 블록과 상기 비필터링된 예측 블록 간의 예측 에러에 기초하는지를 명시하는 비디오 코더.
  6. 제5항에 있어서,
    상기 인코딩 수단(303)은 각각의 예측 코딩된 현재 블록에 대한 블록 레벨에서, 프레임 레벨에서, GOP(화상들의 그룹) 레벨에서, PPS(화상 파라미터 세트) 레벨에서 또는 SPS(시퀀스 파라미터 세트) 레벨에서 상기 필터 정보를 상기 인코딩된 비디오 비트 스트림에 추가하도록 적응된 비디오 코더.
  7. 제4항 내지 제6항 중 어느 한 항에 있어서,
    변환 계수들을 생성하고, 상기 변환 계수들을 양자화하도록 선형 공간적 변환에 의해 상기 예측 에러를 변환하도록 적응된 변환 및 양자화 유닛(301), 및
    상기 인코딩된 비디오 비트 스트림을 생성하기 위해 상기 양자화된 변환 계수들을 스캔 및 엔트로피 코딩하도록 각각 적응된 스캐닝 유닛(302) 및 엔트로피 인코더(303)를 포함하는 비디오 코더.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 필터 선택 유닛(210)은 예를 들어 양의 수평 축에 대한 모션 벡터의 각도를 유도하고, 이 각도에 따라 복수의 필터들 중 상기 하나의 필터를 선택하도록 적응된 비디오 코더.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 비디오 스트림의 단일-층 코딩을 위한 비디오 코더.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 필터 선택 유닛(313)은 상기 모션 벡터의 상기 배향에 따라 복수의 블러링 및/또는 디블러링 필터들 중 하나의 필터를 선택하도록 적응된 비디오 코더.
  11. 제1항 내지 제10항 중 어느 한 항에 따른 비디오 코더를 포함하는 인트라- 및 인터-프레임 예측을 위한 하이브리드 비디오 인코더.
  12. 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 인코딩된 비디오 비트 스트림으로 예측 코딩하는 방법으로서,
    상기 비디오 스트림의 적어도 하나의 기준 프레임을 저장하는 단계 - 상기 기준 프레임은 상기 비디오 스트림의 현재 프레임과 상이함 -,
    상기 기준 프레임의 기준 블록과 상기 현재 프레임의 현재 블록 간의 모션을 추정함으로써 모션 벡터를 생성하는 것을 포함하는 모션 추정 단계,
    상기 모션 벡터의 배향에 따라 복수의 필터들 중 하나의 필터를 선택하는 단계,
    상기 선택된 필터를 상기 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하는 단계,
    상기 현재 블록 및 상기 필터링된 기준 블록에 기초하여 상기 현재 블록의 필터링된 예측 블록을 생성하는 것을 포함하는 모션 보상 단계
    를 포함하는 방법.
  13. 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 예측 코딩함으로써 획득된 인코딩된 비디오 비트 스트림을 디코딩하는 비디오 디코더로서, 상기 인코딩된 비디오 비트 스트림은 예측 인코딩된 현재 프레임 및 상기 기준 프레임의 기준 블록과 상기 현재 프레임의 현재 블록 간의 모션을 반영하는 인코딩된 모션 벡터를 포함하고, 상기 기준 프레임은 상기 현재 프레임과 상이하고,
    기준 프레임 및 모션 벡터를 생성하도록 상기 인코딩된 기준 프레임 및 상기 인코딩된 모션 벡터를 디코딩하도록 적응된 디코더(403),
    상기 기준 프레임을 저장하도록 적응된 프레임 버퍼(406),
    상기 모션 벡터의 배향에 따라 복수의 필터들 중 하나의 필터를 선택하도록 적응된 필터 선택 유닛(413),
    상기 선택된 필터를 상기 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하도록 적응된 필터링 유닛(414),
    상기 모션 벡터 및 상기 필터링된 기준 블록에 기초하여 상기 예측 인코딩된 현재 프레임의 상기 현재 블록을 생성하도록 적응된 모션 보상 유닛(408)
    을 포함하는 비디오 디코더.
  14. 제13항에 있어서,
    상기 인코딩된 비디오 비트 스트림은 상기 현재 블록에 관련된 필터 정보를 포함하고,
    상기 디코더(403)는 상기 필터 정보를 디코딩하도록 적응되고,
    상기 모션 보상 유닛(408)은 상기 모션 벡터 및 상기 필터링된 기준 블록에 기초하여, 또는 상기 모션 벡터 및 상기 기준 블록에 기초하여, 상기 필터 정보의 값에 따라 상기 예측 인코딩된 현재 프레임의 상기 현재 블록을 생성하도록 적응된 비디오 디코더.
  15. 제13항 또는 제14항에 있어서,
    상기 필터 선택 유닛(413)은 예를 들어 양의 수평 축에 대한 상기 모션 벡터의 각도를 유도하고, 이 각도에 따라 복수의 필터들 중 상기 하나의 필터를 선택하도록 적응된 비디오 디코더.
  16. 제13항 내지 제15항 중 어느 한 항에 있어서, 상기 비디오 스트림의 단일-층 코딩을 위한 비디오 디코더.
  17. 제13항 내지 제16항 중 어느 한 항에 있어서,
    상기 필터 선택 유닛(413)은 상기 모션 벡터의 상기 배향에 따라 복수의 블러링 및/또는 디블러링 필터들 중 하나의 필터를 선택하도록 적응된 비디오 디코더.
  18. 제13항 내지 제17항 중 어느 한 항에 따른 비디오 디코더를 포함하는 인트라- 및 인터-프레임 예측을 위한 하이브리드 비디오 디코더.
  19. 모션 보상에 따라 후속의 프레임들의 비디오 스트림을 예측 코딩함으로써 획득된 인코딩된 비디오 비트 스트림을 디코딩하는 방법으로서, 상기 인코딩된 비디오 비트 스트림은 적어도 하나의 인코딩된 기준 프레임, 예측 인코딩된 현재 프레임 - 상기 기준 프레임은 상기 현재 프레임과 상이함 -, 및 상기 기준 프레임의 기준 블록과 상기 현재 프레임의 현재 블록 간의 모션을 반영하는 인코딩된 모션 벡터를 포함하고, 상기 방법은
    기준 프레임 및 모션 벡터를 생성하도록 상기 인코딩된 기준 프레임 및 상기 인코딩된 모션 벡터를 디코딩하는 단계,
    상기 기준 프레임을 저장하는 단계,
    상기 모션 벡터의 배향에 따라 복수의 필터들 중 하나의 필터를 선택하는 단계,
    상기 선택된 필터를 상기 기준 블록에 적용함으로써 필터링된 기준 블록을 생성하는 단계,
    상기 모션 벡터 및 상기 필터링된 기준 블록에 기초하여 상기 예측 인코딩된 현재 프레임의 상기 현재 블록을 생성하는 것을 포함하는 모션 보상 단계
    를 포함하는 방법.
  20. 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램이 컴퓨팅 디바이스 상에서 실행할 때, 제12항 또는 제19항에 따른 방법을 수행하기 위한 프로그램 코드를 갖는 컴퓨터 프로그램.
KR1020177036075A 2015-05-21 2015-05-21 비디오 모션 보상을 위한 장치 및 방법 KR102162856B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2015/061278 WO2016184527A1 (en) 2015-05-21 2015-05-21 Apparatus and method for video motion compensation

Publications (2)

Publication Number Publication Date
KR20180006972A true KR20180006972A (ko) 2018-01-19
KR102162856B1 KR102162856B1 (ko) 2020-10-07

Family

ID=53276093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177036075A KR102162856B1 (ko) 2015-05-21 2015-05-21 비디오 모션 보상을 위한 장치 및 방법

Country Status (13)

Country Link
US (1) US10536716B2 (ko)
EP (1) EP3286917A1 (ko)
JP (1) JP6593934B2 (ko)
KR (1) KR102162856B1 (ko)
CN (1) CN107646194B (ko)
AU (1) AU2015395514B2 (ko)
BR (1) BR112017024902A2 (ko)
CA (1) CA2986613C (ko)
HK (1) HK1244136A1 (ko)
MX (1) MX2017014914A (ko)
MY (1) MY190056A (ko)
RU (1) RU2684193C1 (ko)
WO (1) WO2016184527A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019143178A1 (ko) 2018-01-19 2019-07-25 주식회사 엘지화학 분리형 고전압 커넥터 어셈블리 및 그 제조 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694181B2 (en) * 2017-01-27 2020-06-23 Qualcomm Incorporated Bilateral filters in video coding with reduced complexity
EP3468198A1 (en) * 2017-10-05 2019-04-10 Thomson Licensing Method and apparatus for video encoding and decoding based on illumination compensation
CN109348222B (zh) * 2018-11-22 2020-08-07 随锐科技集团股份有限公司 一种参考帧的选取方法
WO2020113074A1 (en) * 2018-11-27 2020-06-04 Op Solutions, Llc Adaptive temporal filter for an unavailable reference picture cross-reference to related applications
US20220312004A1 (en) * 2021-03-23 2022-09-29 Tencent America LLC Method and apparatus for video coding
CN113259669B (zh) * 2021-03-25 2023-07-07 浙江大华技术股份有限公司 编码方法、装置、电子设备及计算机可读存储介质
CN117795974A (zh) * 2021-08-05 2024-03-29 三星电子株式会社 支持图像数据去模糊的电子装置和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130070862A1 (en) * 2010-05-20 2013-03-21 Galaxia Communications Co., Ltd. Video compression encoding device implementing an applied motion compensation technique using a selective motion search, and method for determining selective motion compensation

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2286740B (en) * 1994-02-21 1998-04-01 Sony Uk Ltd Coding and decoding of video signals
US7412002B2 (en) * 2000-04-28 2008-08-12 Texas Instruments Incorporated Image preprocessing with selective lowpass filtering from motion compensation
US7450641B2 (en) * 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US6965645B2 (en) * 2001-09-25 2005-11-15 Microsoft Corporation Content-based characterization of video frame sequences
DE602004022865D1 (de) * 2003-12-01 2009-10-08 Koninkl Philips Electronics Nv Bewegungskompensierte invers-filterung mit bandpassfiltern für die bewegungsverschmierungsreduktion
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
US7337358B2 (en) * 2004-12-20 2008-02-26 Microsoft Corporation Method and computer-readable medium for verifying and saving an electronic document
US20060171569A1 (en) 2005-01-10 2006-08-03 Madhukar Budagavi Video compression with blur compensation
JP2008536414A (ja) * 2005-04-13 2008-09-04 ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー ビデオの拡張された符号化方法及び装置
JP2009505477A (ja) * 2005-08-12 2009-02-05 エヌエックスピー ビー ヴィ ディジタル画像安定化のための方法及びシステム
CN101491099B (zh) 2006-07-11 2011-09-21 汤姆森特许公司 使用虚拟参考画面的方法及装置
KR101103724B1 (ko) * 2007-07-02 2012-01-11 니폰덴신뎅와 가부시키가이샤 동화상 스케일러블 부호화 방법 및 복호 방법, 그 장치, 그 프로그램 및 프로그램을 기록한 기록 매체
KR101392482B1 (ko) * 2007-08-30 2014-05-07 삼성전자주식회사 블록킹 효과 제거 시스템 및 방법
WO2009088976A1 (en) * 2008-01-07 2009-07-16 Thomson Licensing Methods and apparatus for video encoding and decoding using parametric filtering
US8451902B2 (en) * 2008-04-23 2013-05-28 Telefonaktiebolaget L M Ericsson (Publ) Template-based pixel block processing
JP4613990B2 (ja) * 2008-07-31 2011-01-19 ソニー株式会社 画像処理装置、画像処理方法、プログラム
JP2012502552A (ja) * 2008-09-04 2012-01-26 トムソン ライセンシング 暗黙的な動き予測を使用した予測精緻化のための方法及び装置
CN101527847B (zh) * 2009-01-04 2012-01-04 炬力集成电路设计有限公司 运动补偿插值装置和方法
FR2952497B1 (fr) * 2009-11-09 2012-11-16 Canon Kk Procede de codage et de decodage d'un flux d'images; dispositifs associes
JP2011139208A (ja) * 2009-12-28 2011-07-14 Sony Corp 画像処理装置および方法
JP5047344B2 (ja) * 2009-12-28 2012-10-10 キヤノン株式会社 画像処理装置及び画像処理方法
JP5805991B2 (ja) * 2010-05-07 2015-11-10 トムソン ライセンシングThomson Licensing ピクチャ・シーケンスを符号化する方法、それに対応する再構築方法、および当該シーケンスを表す符号化データのストリーム
KR101373814B1 (ko) * 2010-07-31 2014-03-18 엠앤케이홀딩스 주식회사 예측 블록 생성 장치
JPWO2012066866A1 (ja) * 2010-11-17 2014-05-12 三菱電機株式会社 動きベクトル検出装置、動きベクトル検出方法、フレーム補間装置及びフレーム補間方法
US9560372B2 (en) * 2010-12-27 2017-01-31 Stmicroelectronics, Inc. Directional motion vector filtering
CN102547272B (zh) * 2010-12-30 2015-03-11 中国移动通信集团公司 一种解码方法、装置及终端
US9319716B2 (en) 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
US8982960B2 (en) * 2011-02-23 2015-03-17 Qualcomm Incorporated Multi-metric filtering
JPWO2012147622A1 (ja) * 2011-04-28 2014-07-28 ソニー株式会社 画像処理装置、及び、画像処理方法
US9420307B2 (en) * 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9270993B2 (en) * 2012-09-10 2016-02-23 Apple Inc. Video deblocking filter strength derivation
WO2015051011A1 (en) * 2013-10-02 2015-04-09 Arris Enterprises, Inc. Modified hevc transform tree syntax
TWI549489B (zh) * 2014-04-16 2016-09-11 智原科技股份有限公司 移動偵測電路與方法
FR3022724A1 (fr) * 2014-06-19 2015-12-25 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
US10819978B2 (en) * 2016-01-11 2020-10-27 Samsung Electronics Co., Ltd. Image encoding method and apparatus, and image decoding method and apparatus
US20190068967A1 (en) * 2016-02-03 2019-02-28 Sharp Kabushiki Kaisha Predicted-image generation device, video decoding device, and video coding device
EP3296950A1 (en) * 2016-09-15 2018-03-21 Thomson Licensing Method and device for blurring a virtual object in a video
IT201600094414A1 (it) * 2016-09-20 2018-03-20 St Microelectronics Srl Un procedimento per rilevare un veicolo in sorpasso, relativo sistema di elaborazione, sistema di rilevazione di un veicolo in sorpasso e veicolo

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130070862A1 (en) * 2010-05-20 2013-03-21 Galaxia Communications Co., Ltd. Video compression encoding device implementing an applied motion compensation technique using a selective motion search, and method for determining selective motion compensation

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Jinik Jang, et al. Pre-filtering with locally adaptive filter set for reference frame in video compression. IEEE International Conference on Multimedia and Expo. 2011.07.11.* *
Lai, PoLin, et al. "Adaptive filtering for video coding with focus change." 2007 IEEE International Conference on Acoustics, Speech and Signal Processing-ICASSP'07. Vol. 1. IEEE, 2007.(2007.04.15.) *
Laude, Thorsten, et al. "Motion blur compensation in scalable hevc hybrid video coding." Picture Coding Symposium (PCS), 2013. IEEE, 2013.(2013.12.31.) *
Madhukar Budagavi. Video compression using blur compensation. IEEE International Conference on Image Processing 2005. 2005.09.11.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019143178A1 (ko) 2018-01-19 2019-07-25 주식회사 엘지화학 분리형 고전압 커넥터 어셈블리 및 그 제조 방법

Also Published As

Publication number Publication date
CA2986613A1 (en) 2016-11-24
HK1244136A1 (zh) 2018-07-27
RU2684193C1 (ru) 2019-04-04
JP2018520565A (ja) 2018-07-26
US10536716B2 (en) 2020-01-14
WO2016184527A1 (en) 2016-11-24
US20180160142A1 (en) 2018-06-07
AU2015395514A1 (en) 2017-12-21
EP3286917A1 (en) 2018-02-28
JP6593934B2 (ja) 2019-10-23
AU2015395514B2 (en) 2019-10-10
MX2017014914A (es) 2018-06-13
CN107646194B (zh) 2020-08-07
CN107646194A (zh) 2018-01-30
BR112017024902A2 (pt) 2018-07-31
KR102162856B1 (ko) 2020-10-07
CA2986613C (en) 2020-04-28
MY190056A (en) 2022-03-23

Similar Documents

Publication Publication Date Title
KR101972407B1 (ko) 영상 부호화 및 복호화 장치 및 그 방법
KR102162856B1 (ko) 비디오 모션 보상을 위한 장치 및 방법
CA2935340C (en) Selection of motion vector precision
JP5330647B2 (ja) 適応参照画像の発生
US8649431B2 (en) Method and apparatus for encoding and decoding image by using filtered prediction block
JP4565010B2 (ja) 画像復号装置および画像復号方法
US20140078394A1 (en) Selective use of chroma interpolation filters in luma interpolation process
KR102357142B1 (ko) 비디오 코딩을 위한 인터 예측 장치 및 방법을 위한 보간 필터
KR20180056735A (ko) 비디오 모션 보상을 위한 장치 및 방법
US11202082B2 (en) Image processing apparatus and method
CN116113985A (zh) 利用基于深度学习的环内滤波器进行视频编码和解码
JP7229682B2 (ja) ループフィルタ制御装置、画像符号化装置、画像復号装置、及びプログラム
Liu et al. Motion blur compensation in HEVC using fixed-length adaptive filter
WO2024006231A1 (en) Methods and apparatus on chroma motion compensation using adaptive cross-component filtering

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant