KR102121558B1 - 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더 - Google Patents

비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더 Download PDF

Info

Publication number
KR102121558B1
KR102121558B1 KR1020130028249A KR20130028249A KR102121558B1 KR 102121558 B1 KR102121558 B1 KR 102121558B1 KR 1020130028249 A KR1020130028249 A KR 1020130028249A KR 20130028249 A KR20130028249 A KR 20130028249A KR 102121558 B1 KR102121558 B1 KR 102121558B1
Authority
KR
South Korea
Prior art keywords
motion vectors
block data
point
calculating
affine
Prior art date
Application number
KR1020130028249A
Other languages
English (en)
Other versions
KR20140113855A (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 삼성전자주식회사
Priority to KR1020130028249A priority Critical patent/KR102121558B1/ko
Priority to US14/195,942 priority patent/US9674547B2/en
Priority to CN201410099194.5A priority patent/CN104053001B/zh
Publication of KR20140113855A publication Critical patent/KR20140113855A/ko
Application granted granted Critical
Publication of KR102121558B1 publication Critical patent/KR102121558B1/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/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/64Imaging systems using optical elements for stabilisation of the lateral and angular position of the image
    • G02B27/646Imaging systems using optical elements for stabilisation of the lateral and angular position of the image compensating for small deviations, e.g. due to vibration or shake
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Abstract

비디오 이미지의 안정화를 위하여, 디코딩 장치로부터 매크로블록들의 각각에 대한 재구성 블록 데이터 및 디코딩 정보를 수신한다. 상기 재구성 블록 데이터 및 상기 디코딩 정보에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들을 제공한다. 상기 글로벌 아핀 계수들에 기초하여 상기 재구성 블록 데이터에서 상기 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터를 제공한다.

Description

비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더{Method of stabilizing video image, post-processing device and video encoder including the same}
본 발명은 비디오 데이터의 처리에 관한 것으로서, 더욱 상세하게는 핸드 지터 노이즈(hand jitter noise)를 효율적으로 보상하기 위한 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더에 관한 것이다.
비디오 부호화는 국제표준기구인 ISO/IEC 산하의 MPEG (Moving Picture Expert Group)과 ITU-T 산하의 VCEG (Video Coding Expert Group)에서 국제 표준을 주도해 오고 있다. MPEG과 VCEG은 공동으로 JVT (Joint Video Team)를 결성하여 비디오 부호화 국제표준인 H.264/AVC (Advanced Video Coding)을 완료하였다. H.264/AVC는 기존의 다른 비디오 코덱(예를 들어, MPEG-2, MPEG-4, H.261, H.263)과 달리 가변 블록 사이즈 움직임 추정(Variable Block Size Motion Estimation), 1/4 픽셀 움직임 벡터 해상도(1/4 pixel Motion Vector Resolution), 다중 참조 영상 움직임 추정(Multiple Reference Picture Motion Estimation) 등이 도입됨으로써 기존 코덱 대비 탁월한 압축 성능을 보여준다.
이러한 기능들의 추가에 의해서 인코더와 디코더의 복잡도 및 압축된 데이터의 스트림 사이즈가 증가하게 되었으며, 데이터의 처리 속도를 향상시키는 것이 용이하지 않게 되었다.
일반적으로 촬영 장치를 이용하여 비디오 이미지를 촬영할 때 사용자의 손 떨림과 움직임에 의해 촬영된 비디오 이미지의 화질의 열화가 발생한다. 종래에는 비디오 이미지를 압축하기 전에 전처리(pre-processing)를 통하여 핸드 지터 노이즈(hand jitter noise)를 보상하였다. 그러나 이러한 방법은 연산량 및 하드웨어 복잡도를 증가시키고 동작 속도를 감소시킨다. 한편 종래의 기술로서 비디오 이미지의 글로벌 모션 벡터를 분석하여 핸드 지터 노이즈를 보상하는 방법이 있다. 그러나 이러한 방법은 평행 이동에 의한 노이즈 성분만을 검출하기 때문에 다양한 형태로 나타나는 핸드 지터 노이즈에 대처하지 못한다는 문제점이 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은, 효율적으로 핸드 지터 노이즈를 검출하고 보상할 수 있는 비디오 이미지의 안정화 방법을 제공하는 것이다.
본 발명의 일 목적은, 디코딩 결과를 이용하여 효율적으로 핸드 지터 노이즈를 검출하고 보상할 수 있는 후처리(post-processing) 장치를 제공하는 것이다.
본 발명의 일 목적은, 효율적으로 핸드 지터 노이즈를 검출하고 보상할 수 있는 후처리 장치를 포함하는 비디오 디코더를 제공하는 것이다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비디오 이미지의 안정화 방법은, 디코딩 장치로부터 매크로블록들의 각각에 대한 재구성 블록 데이터 및 디코딩 정보를 수신하는 단계; 상기 재구성 블록 데이터 및 상기 디코딩 정보에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들을 제공하는 단계; 및 상기 글로벌 아핀 계수들에 기초하여 상기 재구성 블록 데이터에서 상기 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터를 제공하는 단계를 포함한다.
상기 글로벌 아핀 계수들은 상기 프레임 영상의 평면 이동(translation), 회전 이동(rotation) 및 크기 변화(scaling)를 모두 포함하는 상기 아핀 모션을 나타낼 수 있다.
상기 글로벌 아핀 계수들을 제공하는 단계는, 상기 재구성 블록 데이터 및 상기 디코딩 정보에 기초하여 상기 프레임 영상에 포함된 사물의 윤곽을 나타내는 특징 점들의 각각에 대한 포인트 모션 벡터들을 계산하는 단계; 및 상기 포인트 모션 벡터들에 기초하여 상기 글로벌 아핀 계수들을 프레임 단위로 결정하는 단계를 포함할 수 있다.
라스터 스캔(raster-scan) 순서에 의해 상기 재구성 블록 데이터를 매크로블록 단위로 분석하여 상기 포인트 모션 벡터들을 계산할 수 있다.
상기 포인트 모션 벡터들을 계산하는 단계는, 상기 재구성 블록 데이터를 분석하여 상기 특징 점들을 검출하는 단계; 및 상기 디코딩 정보에 포함되는 상기 매크로블록들의 각각에 대한 블록 모션 벡터들에 기초하여 상기 포인트 모션 벡터들을 계산하는 단계를 포함할 수 있다.
상기 특징 점들을 검출하는 단계는, 상기 디코딩 정보에 포함되는 상기 매크로블록들의 각각에 대한 부호화 모드들에 기초하여 매크로블록 단위로 특징 점들의 검출 동작의 수행 여부를 결정하는 단계를 포함할 수 있다.
상기 매크로블록 단위로 특징 점들의 검출 동작의 수행 여부를 결정하는 단계는, 상기 부호화 모드가 인트라 모드인 매크로블록에 대하여 상기 특징 점들의 검출을 생략하는 단계를 포함할 수 있다.
상기 매크로블록 단위로 특징 점들의 검출 동작의 수행 여부를 결정하는 단계는, 상기 부호화 모드가 인터 모드인 매크로블록에 대하여 상기 디코딩 정보에 포함되는 상기 매크로블록들의 각각에 대한 잔차 블록 데이터의 크기를 계산하는 단계; 및 상기 잔차 블록 데이터의 크기가 기준 값보다 큰 경우 상기 특징 점들의 검출을 생략하는 단계를 포함할 수 있다.
상기 잔차 블록 데이터의 크기를 계산하는 단계는, 상기 잔차 블록 데이터에 포함된 각각의 픽셀 데이터의 절대 값들을 계산하는 단계; 및 상기 절대 값들의 합산 값을 계산하고, 상기 합산 값을 상기 잔차 블록 데이터의 크기로 결정하는 단계를 포함할 수 있다.
현재의 프레임이 인트라 프레임에 해당하는 경우 상기 포인트 모션 벡터들의 계산을 생략할 수 있다.
상기 블록 모션 벡터들에 기초하여 상기 포인트 모션 벡터들을 계산하는 단계는, 상기 각각의 특징 점이 속하는 기준 매크로 블록 및 상기 기준 매크로 블록의 주변 매크로블록들에 대한 상기 블록 모션 벡터들을 추출하는 단계; 상기 각각의 특징 점과 상기 블록 모션 벡터들의 공간적인 밀접성을 나타내는 공간적 가중치들을 계산하는 단계; 및 상기 공간적 가중치들을 적용하여 상기 추출된 블록 모션 벡터들의 가중치 평균을 계산하고, 상기 가중치 평균을 상기 각각의 특징 점에 대한 포인트 모션 벡터로 결정하는 단계를 포함할 수 있다.
상기 공간적 가중치들의 각각은, 상기 기준 매크로블록 및 상기 주변 매크로블록들의 각각의 중심점과 상기 각각의 특징 점 사이의 거리의 역수 값일 수 있다.
상기 블록 모션 벡터들에 기초하여 상기 포인트 모션 벡터들을 계산하는 단계는, 상기 각각의 특징 점이 속하는 기준 매크로블록 및 상기 기준 매크로블록의 주변 매크로블록들에 대한 상기 블록 모션 벡터들을 추출하는 단계; 상기 각각의 특징 점에 대한 상기 블록 모션 벡터들의 시간적인 밀접성을 나타내는 시간적 가중치들을 계산하는 단계; 상기 시간적 가중치들을 적용하여 상기 추출된 블록 모션 벡터들을 보정한 스케일드 블록 모션 벡터들을 계산하는 단계; 상기 각각의 특징 점과 상기 블록 모션 벡터들의 공간적인 밀접성을 나타내는 공간적 가중치들을 계산하는 단계; 및 상기 공간적 가중치들을 적용하여 상기 스케일드 블록 모션 벡터들의 가중치 평균을 계산하고, 상기 가중치 평균을 상기 각각의 특징 점에 대한 포인트 모션 벡터로 결정하는 단계를 포함할 수 있다.
상기 시간적 가중치들의 각각은, 상기 기준 매크로블록 및 상기 주변 매크로블록들이 속한 현재의 프레임의 번호와 각각의 상응하는 참조 블록이 속한 참조 프레임의 번호의 차이의 역수 값일 수 있다.
상기 글로벌 아핀 계수들을 프레임 단위로 결정하는 단계는, 현재의 프레임에 포함되는 상기 특징 점들을 복수의 서브 영역들로 그룹화하는 단계; 상기 포인트 모션 벡터들에 기초하여 상기 서브 영역들 중에서 배경에 해당하는 적어도 하나의 기준 서브 영역을 결정하는 단계; 및 상기 기준 서브 영역에 포함되는 상기 특징 점들의 상기 포인트 모션 벡터들에 기초하여 상기 현재의 프레임에 대한 아핀 계수들을 계산하는 단계를 포함할 수 있다.
상기 기준 서브 영역을 결정하는 단계는, 상기 서브 영역들의 각각에 대하여, 포인트 모션 벡터들의 방향 및 크기에 대한 산포도를 계산하는 단계; 상기 산포도를 기준 산포도와 비교하는 단계; 및 상기 산포도가 상기 기준 산포도보다 작은 경우의 상기 서브 영역을 상기 기준 서브 영역으로 결정하는 단계를 포함할 수 있다.
상기 글로벌 아핀 계수들을 프레임 단위로 결정하는 단계는, 상기 현재의 프레임에 대하여 상기 계산된 아핀 계수들을 다음의 프레임에 대하여 상기 재구성 블록 데이터를 보정하기 위한 상기 글로벌 아핀 계수들로 제공하는 단계를 더 포함할 수 있다.
상기 글로벌 아핀 계수들을 프레임 단위로 결정하는 단계는, 상기 현재의 프레임 및 하나 이상의 이전의 프레임들에 대한 상기 계산된 아핀 계수들에 기초하여 다음의 프레임에 대한 아핀 계수들을 추정하는 단계; 및 상기 추정된 아핀 계수들을 다음의 프레임에 대하여 상기 재구성 블록 데이터를 보정하기 위한 상기 글로벌 아핀 계수들로 결정하는 단계를 더 포함할 수 있다.
상기 안정화 블록 데이터를 제공하는 단계는, 상기 글로벌 아핀 계수들에 기초하여 상기 아핀 변환의 역 변환을 나타내는 보상 아핀 계수들을 계산하는 단계; 및 상기 보상 아핀 계수들 및 상기 재구성 블록 데이터에 기초하여 상기 안정화 블록 데이터를 계산하는 단계를 포함할 수 있다.
상기 안정화 블록 데이터를 계산하는 단계는, 상기 보상 아핀 계수들에 기초하여 정수 값을 갖는 픽셀 좌표들을 보상 좌표들로 변환하는 단계; 및 상기 보상 좌표들에 매핑된 상기 재구성 블록 데이터에 기초하여 상기 픽셀 좌표들에 매핑된 상기 안정화 블록 데이터를 픽셀 단위로 계산하는 단계를 포함할 수 있다.
상기 안정화 블록 데이터를 픽셀 단위로 계산하는 단계는, 상기 하나의 픽셀 좌표의 인접한 상기 보상 좌표들을 보상 그룹으로 결정하는 단계; 상기 보상 그룹에 속한 상기 보상 좌표들과 상기 하나의 픽셀 좌표 사이의 거리들의 역수 값들에 상응하는 가중치들을 계산하는 단계; 및 상기 가중치들을 적용하여 상기 보상 그룹에 속한 상기 보상 좌표들에 매핑된 상기 재구성 블록 데이터들의 가중치 평균을 계산하고, 상기 가중치 평균을 상기 하나의 픽셀 좌표에 매핑된 상기 안정화 블록 데이터로 결정하는 단계를 포함할 수 있다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 비디오 인코더는, 매크로블록들의 각각에 대한 재구성 블록 데이터 및 디코딩 정보를 제공하는 디코딩 장치; 및 상기 재구성 블록 데이터 및 상기 디코딩 정보에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들을 결정하고, 상기 글로벌 아핀 계수들에 기초하여 상기 재구성 블록 데이터에서 상기 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터를 제공하는 후처리 장치를 포함한다.
상기 후처리 장치는, 상기 재구성 블록 데이터 및 상기 디코딩 정보에 기초하여 상기 글로벌 아핀 계수들을 제공하는 아핀 모션 추정부; 및 상기 글로벌 아핀 계수들에 기초하여 상기 안정화 블록 데이터를 제공하는 아핀 모션 보상부를 포함할 수 있다.
상기 아핀 모션 추정부는, 프레임 단위로 상기 글로벌 아핀 계수들을 갱신하여 제공할 수 있다.
상기 디코딩 장치의 상기 재구성 블록 데이터의 제공 및 상기 아핀 모션 보상부의 상기 안정화 블록 데이터의 제공은 매크로블록 단위의 파이프라인 방식으로 수행될 수 있다.
상기 일 목적을 달성하기 위해, 본 발명의 실시예들에 따른 후처리 장치는, 디코딩 장치로부터 수신되는 매크로블록들의 각각에 대한 재구성 블록 데이터 및 디코딩 정보에 기초하여 프레임 영상에 포함된 사물의 윤곽을 나타내는 특징 점들을 검출하는 포인트 검출부; 상기 디코딩 정보에 포함되는 상기 매크로블록들의 각각에 대한 블록 모션 벡터들에 기초하여 상기 특징 점들의 각각에 대한 포인트 모션 벡터들을 계산하는 벡터 계산부; 상기 포인트 모션 벡터들에 기초하여 아핀 계수들을 계산하는 아핀 계수 계산부; 상기 현재의 프레임 및 하나 이상의 이전의 프레임들에 대하여 상기 계산된 아핀 계수들에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들을 추정하는 추적부; 및 상기 글로벌 아핀 계수들에 기초하여 상기 재구성 블록 데이터에서 상기 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터를 제공하는 아핀 모션 보상부를 포함한다.
본 발명의 실시예들에 따른 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더는, 디코딩 장치와 후처리 장치가 파이프라인 방식으로 동작하여 처리 데이터의 저장을 위한 메모리의 용량을 감소시키고 이미지 안정화를 위한 데이터 처리 속도를 증가시킬 수 있다.
본 발명의 실시예들에 따른 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더는, 특징 점들의 아핀 변환을 이용하여 프레임 영상의 평행 이동(translation), 회전 이동(rotation) 및 크기 변화(scaling)를 포함하는 다양한 형태의 핸드 지터 노이즈를 효율적으로 보상하여 비디오 이미지의 화질을 개선할 수 있다.
도 1은 본 발명의 실시예들에 따른 비디오 이미지의 안정화 방법을 나타내는 흐름도이다.
도 2는 본 발명의 실시예들에 따른 후처리 장치를 포함하는 비디오 디코더를 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 글로벌 아핀 계수들의 결정 방법을 나타내는 흐름도이다.
도 4, 5 및 6은 특징 점들의 검출 및/또는 포인트 모션 벡터들의 계산을 위한 라스터 스캔 방법을 설명하기 위한 도면들이다.
도 7은 본 발명의 일 실시예에 따른 특징 점들의 검출 동작의 수행 여부를 결정하는 방법을 나타내는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 특징 점들의 검출 동작의 생략을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 공간적 가중치들을 이용한 포인트 모션 벡터들의 계산 방법을 나타내는 흐름도이다.
도 10은 도 9의 포인트 모션 벡터들의 계산 방법에 이용되는 공간적 가중치들의 일 예를 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 시간적 가중치들 및 공간적 가중치들을 이용한 포인트 모션 벡터들의 계산 방법을 나타내는 흐름도이다.
도 12는 규칙적인 영상 그룹 설정의 일 예를 나타내는 도면이다.
도 13 및 14는 도 11의 포인트 모션 벡터들의 계산 방법에 이용되는 시간적 가중치들의 일 예를 설명하기 위한 도면들이다.
도 15는 본 발명의 일 실시예에 따른 글로벌 아핀 계수들을 결정하는 방법을 나타내는 흐름도이다.
도 16은 본 발명의 일 실시예에 따른 특징 점들의 그룹화를 이용한 글로벌 아핀 계수들의 결정 방법을 설명하기 위한 도면이다.
도 17은 본 발명의 일 실시예에 따른 안정화 블록 데이터를 제공하는 방법을 나타내는 흐름도이다.
도 18은 아핀 변환의 일 예를 나타내는 도면이다.
도 19는 본 발명의 일 실시예에 따른 안정화 블록 데이터를 픽셀 단위로 계산하는 방법을 나타내는 흐름도이다.
도 20은 도 19의 방법에 따른 픽셀 데이터의 보상을 설명하기 위한 도면이다.
도 21은 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다.
도 22는 본 발명의 실시예들에 따른 비디오 디코더를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 23의 도 22의 컴퓨팅 시스템에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 비디오 이미지의 안정화 방법을 나타내는 흐름도이고, 도 2는 본 발명의 실시예들에 따른 후처리 장치를 포함하는 비디오 디코더를 나타내는 블록도이다.
도 1 및 2를 참조하면, 비디오 디코더(10)의 후처리 장치(30)는 디코딩 장치(20)로부터 매크로블록들의 각각에 대한 재구성 블록 데이터(MBi) 및 디코딩 정보(DINF)를 수신한다(단계 S200). 본 명세서에서 매크로블록이라 함은 특정한 표준 등에서 사용하는 의미에 한정되는 것이 아니고, 임의의 디코딩 단위가 되는 데이터의 집합을 나타낸다.
후처리 장치(30)의 아핀 모션 추정부(100)는 재구성 블록 데이터(MBi) 및 디코딩 정보(DINF)에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들(GAP)을 제공한다(단계 S400).
후처리 장치(30)의 아핀 모션 보상부(500)는 글로벌 아핀 계수들(GAP)에 기초하여 재구성 블록 데이터(MBi)에서 상기 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터(SBi)를 제공한다(단계 S600).
도 2에 도시된 바와 같이, 디코딩 장치(20)는 엔트로피 디코딩부(EDU: entropy decoding unit), 역양자화부(IQU: inverse quantization unit), 역변환부(ITU: inverse transformation unit), 모션 보상부(MCU: motion compensation unit) 및 루프 필터(LP: loop filter)를 포함하여 구현될 수 있다.
엔트로피 디코딩부(EDU)는 입력 비디오 스트림(VIN)을 파싱하여 디코딩 정보(DINF)와 영상 정보를 분리한다. 예를 들어, 엔트로피 디코딩부(EDU)는 가변장 복호화기(VLD: variable length decoder)를 포함할 수 있다. 디코딩 정보(DINF)는 본 발명의 실시예들에 따른 후처리 장치(30)로 제공된다. 후처리 장치(30)로 제공되는 디코딩 정보(DINF)에는 적어도 프레임의 순번을 나타내는 영상 순서 카운트(POC: picture order count), 프레임의 부호화 모드를 나타내는 프레임 타입(FT: frame type), 매크로블록의 모션 벡터(Vi), 매크로블록의 부호화 모드를 나타내는 블록 타입(BTi), 잔차 블록 데이터(RBi: residual block data)를 포함할 수 있다. 역양자화부(IQU), 역변환부(ITU)는 손실 부호화된 데이터를 역으로 복호화하여 재구성 영상(reconstructed picture)을 복원하기 위하여 사용된다. 역양자화부(IQU)는 양자화된 데이터를 역양자화한다. 이러한 역양자화 과정은 인코딩 장치에서 수행되는 양자화 과정의 역에 해당한다. 역변환부(ITU)는 상기 역양자화 결과를 역 공간적 변화하여 이를 모션 보상부(MCU)에 제공한다. 모션 보상부(MCU)는 입력된 부가정보를 이용하여 프레임 메모리 등에 저장된 기준영상에서 현재 프레임의 영상을 모션 보상하여 출력한다. 루프 필터(LP)는 움직임 보상된 데이터를 필터링하여 재구성 영상을 출력한다. 이러한 디코딩 과정은 매크로블록 단위로 수행되며, 디코딩 장치(20)는 매크로블록들의 각각에 대한 재구성 블록 데이터(MBi) 및 디코딩 정보(DINF)를 매크로블록 단위로 제공한다. 디코딩 정보(DINF)의 일부는 프레임 단위로 제공될 수 있다.
후처리 장치(post-processing device)(30)는 아핀 모션 추정부(affine motion estimation block)(100) 및 모션 보상부(motion compensation block)(500)를 포함한다. 아핀 모션 추정부(100)는 재구성 블록 데이터(MBi) 및 디코딩 정보(DINF)에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들(GAP: global affine parameters)을 결정하여 제공한다. 모션 보상부(500)는 글로벌 아핀 계수들(GAP)에 기초하여 상기 재구성 블록 데이터에서 상기 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터(SBi)를 제공한다.
아핀 모션 추정부(100)는 포인트 검출부(FPDU: feature point detection unit)(110), 벡터 계산부(PVCU: point vector calculation unit)(120), 아핀 계수 계산부(APCU: affine parameter calculation unit)(130) 및 추적부(TU: trajectory unit)(140)를 포함할 수 있다.
포인트 검출부(110)는 디코딩 장치(20)터 수신되는 매크로블록들의 각각에 대한 재구성 블록 데이터(MBi) 및 디코딩 정보(DINF)에 기초하여 프레임 영상에 포함된 사물의 윤곽을 나타내는 특징 점들(FP: feature point)을 검출한다. 벡터 계산부(120)는 디코딩 정보(DINF)에 포함되는 매크로블록들의 각각에 대한 블록 모션 벡터들(MVi)에 기초하여 특징 점들(FP)의 각각에 대한 포인트 모션 벡터들(PMV)을 계산한다. 아핀 계수 계산부(130)는 포인트 모션 벡터들(PMV)에 기초하여 아핀 계수(AP)들을 계산한다. 포인트 모션 벡터들(PMV)은 포인트 버퍼(PBUF)(150)에 저장되고 아핀 계수 계산부(130)는 저장된 포인트 모션 벡터들(PMV)에 기초하여 매 프레임마다 아핀 계수(AP)들을 계산할 수 있다. 추적부(140)는 현재의 프레임 및 하나 이상의 이전의 프레임들에 대하여 상기 계산된 아핀 계수들(AP)에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들(GAP)을 추정한다.
모션 보상부(500)는 글로벌 아핀 계수들(GAP)에 기초하여 재구성 블록 데이터(MBi)에서 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터(SBi)를 제공한다. 안정화 블록 데이터(SBi)는 프레임 버퍼(FBUF)(520)에 버퍼링되어 안정화된 이미지 데이터(SIMG)로 출력될 수 있다.
글로벌 아핀 계수들(GAP)은 프레임 영상의 평면 이동(translation), 회전 이동(rotation) 및 크기 변화(scaling)를 모두 포함하는 아핀 모션을 나타낼 수 있다. 이와 같이, 특징 점들을 검출하고 이를 기초로 글로벌 아핀 계수들(GAP)을 결정하여 아핀 모션 보상을 수행함으로써, 비디오 이미지의 품질을 향상시킬 수 있다.
도 3은 본 발명의 일 실시예에 따른 글로벌 아핀 계수들의 결정 방법을 나타내는 흐름도이다.
도 2 및 3을 참조하면, 포인트 검출부(110) 및 벡터 계산부(120)는 재구성 블록 데이터(MBi) 및 디코딩 정보(DINF)에 기초하여 프레임 영상에 포함된 사물의 윤곽을 나타내는 특징 점들(FP)의 각각에 대한 포인트 모션 벡터들(PMV)을 계산한다. 포인트 검출부(110)는 재구성 블록 데이터(MBi)를 분석하여 특징 점들(FP)을 검출하고(단계 S410), 벡터 계산부(120)는 디코딩 정보(DINF)에 포함되는 매크로블록들의 각각에 대한 블록 모션 벡터들(MVi)에 기초하여 포인트 모션 벡터들(PMV)을 계산할 수 있다(단계 S430). 특징 점들(FP)의 검출과 포인트 모션 벡터들(PMV)의 계산은 매크로블록 단위로 함께 수행될 수도 있고, 하나의 프레임에 대한 특징 점들(FP)의 검출이 완료된 후에 검출된 특징 점들(FP)에 대해서 포인트 모션 벡터들(PMV)이 순차적으로 계산될 수도 있다. 특징 점들(FP)의 검출과 포인트 모션 벡터들(PMV)의 계산은 도 4, 5 및 6을 참조하여 후술하는 바와 같이 라스터 스캔(raster-scan) 순서로 수행될 수 있다.
아핀 계수 계산부(130) 및 추적부(140)는 포인트 모션 벡터들(PMV)에 기초하여 글로벌 아핀 계수들(GAP)을 프레임 단위로 결정할 수 있다(단계 S450).
도 4, 5 및 6은 특징 점들의 검출 및/또는 포인트 모션 벡터들의 계산을 위한 라스터 스캔 방법을 설명하기 위한 도면들이다.
도 4에는 m*n의 매크로블록들을 포함하는 프레임의 첫 번째 행에 속하는 매크로블록들에 대한 특징 점 검출 과정이, 도 5에는 프레임의 두 번째 행에 속하는 매크로블록들에 대한 특징 점 검출 과정이, 도 6에는 프레임의 마지막 행에 속하는 매크로블록들에 대한 특징 점 검출 과정이 도시되어 있다.
도 4, 5 및 6에 도시된 바와 같이, 특징 점들(FP)의 검출 및 검출된 특징 점들(FP)의 각각에 대한 포인트 모션 벡터들(PMV)의 계산은 라스터 스캔(raster-scan) 순서에 의해 재구성 블록 데이터를 매크로블록 단위로 분석하여 수행될 수 있다. 라스터-순서에 의해 첫 번째 매크로블록 MB(0, 0) 내지 마지막 매크로블록 MB(m,n)에 대하여 왼쪽에서 오른쪽으로 그리고 위쪽에서 아래쪽으로 스캔하면서 분석 및 계산이 수행될 수 있다. 특징 점들(FP)의 검출은 일반적인 에지 검출 방법이 이용될 수 있으며, 포인트 모션 벡터들(PMV)의 계산은 도 10을 참조하여 후술한다.
특징 점(FP)의 검출은 주변의 점들에 대한 픽셀 데이터들에 기초하여 수행되므로 특징 점 검출을 위한 일정한 사이즈(W)의 윈도우가 설정된다. 현재의 매크로블록에 대한 재구성 블록 데이터가 모두 수신되더라도 분석 가능한 부분은 현재의 매크로블록의 일부로 제한되고, 상기 제한된 부분에 대한 분석은 다음 매크로블록에 대한 재구성 블록 데이터가 수신될 때가지 지연된다.
도 7은 본 발명의 일 실시예에 따른 특징 점들의 검출 동작의 수행 여부를 결정하는 방법을 나타내는 흐름도이다.
도 7에는 하나의 프레임에 대하여 특징 점들의 검출 동작의 수행 여부를 결정하는 방법이 도시되어 있다. 순차적으로 입력되는 프레임에 대하여 동일한 과정들이 반복될 수 있다.
도 2 및 7을 참조하면, 포인트 검출부(110)는 디코딩 장치(20)로부터 현재의 프레임의 부호화 모드를 나타내는 프레임 타입(FT)을 수신한다(단계 S210). 프레임 타입에 의해 각각의 프레임은 I 프레임(intra frame), P 프레임 (predictive frame) 또는 B 프레임(bi-directional predictive frame)으로 구분될 수 있다. I 프레임은 다른 프레임을 참조하지 않고 현재의 프레임 내에서 부호화가 수행된 것을 나타낸다. P 프레임의 경우는 이전의 영상만을 참조하여 부호화된 것을 나타내고, B 프레임의 경우에는 이전의 영상 및/또는 이후의 영상을 참조하여 부호화된 것을 나타낸다.
포인트 검출부(110)는 프레임 타입(FT)에 기초하여 현재의 프레임이 I 프레임인지를 판단한다(단계 S411). 현재의 프레임이 I 프레임인 경우(단계 S411: YES)에는 특징 점들의 검출 및 포인트 모션 벡터들의 계산을 생략한다. 현재의 프레임이 I 프레임이 아닌 경우(단계 S411: NO), 즉 현재의 프레임이 P 프레임 또는 B 프레임인 경우에는 포인트 검출부(110)는 현재의 매크로블록에 대한 재구성 블록 데이터(MBi), 블록 타입(BTi) 및 잔차 블록 데이터(RBi)를 수신한다(단계 S220). 포인트 검출부(110)는 블록 타입(BTi)에 기초하여 현재의 매크로블록의 부호화 모드가 인트라 모드인지를 판단한다(단계 S412). 현재의 매크로블록의 부호화 모드가 인트라 모드인 경우(단계 S412: YES)에는 특징 점들의 검출 및 포인트 모션 벡터들의 계산을 생략한다. 현재의 매크로블록의 부호화 모드가 인트라 모드가 아닌 경우(단계 S412: NO), 즉 인터 모드인 경우에는 잔차 블록 데이터(RBi)의 크기(RSDi)를 계산한다(단계 S413). 예를 들어, 잔차 블록 데이터(RBi)에 포함된 각각의 픽셀 데이터의 절대 값들을 계산하고, 상기 절대 값들의 합산 값을 계산하여 상기 합산 값을 상기 잔차 블록 데이터(RBi)의 크기(RSDi)로 결정할 수 있다.
포인트 검출부(110)는 잔차 블록 데이터(RBi)의 크기(RSDi)와 기준 값(TH)을 비교한다(단계 S414). 잔차 블록 데이터(RBi)의 크기(RSDi)가 기준 값(TH)보다 큰 경우(단계 S414: YES) 특징 점들의 검출 및 포인트 모션 벡터들의 계산을 생략한다. 잔차 블록 데이터(RBi)의 크기(RSDi)가 기준 값(TH)보다 작거나 같은 경우(단계 S414: NO) 포인트 검출부(110)는 전술한 바와 같은 특징 점(FP) 검출 및/또는 포인트 모션 벡터(PMV) 계산을 수행한다(단계 S415). 이러한 일련의 과정은 하나의 프레임에 대한 매크로블록들의 분석이 완료될 때(단계 S416: YES)까지 순차적으로 입력되는 매크로블록들에 대하여 반복된다(단계 S417).
이와 같이, 디코딩 장치(20)로부터 제공되는 디코딩 정보(DINF)에 포함되는 프레임 타입(FT), 블록 타입(BTi), 즉 프레임들의 각각 또는 매크로블록들의 각각에 대한 부호화 모드들에 기초하여 매크로블록 단위로 특징 점들의 검출 동작의 수행 여부를 결정할 수 있다.
도 8은 본 발명의 일 실시예에 따른 특징 점들의 검출 동작의 생략을 설명하기 위한 도면이다.
도 7을 참조하여 설명한 바와 같이, 도 8에 도시된 매크로블록 MB(1, 1)이 인트라 블록인 경우 또는 상대적으로 큰 잔차 블록 데이터의 크기(RSDi)를 갖는 인터 블록인 경우에는 포인트 모션 벡터(PMV)의 계산 값을 신뢰할 수 없으므로 특징 점들의 검출 및 포인트 모션 벡터들의 계산을 생략한다. 이와 같이, I 프레임, 인트라 블록 및 인터 블록의 일부에 대해서 특징 점들의 검출 및 포인트 모션 벡터들의 계산을 생략함으로써 데이터 처리의 연산량을 감소시키고 후처리 장치 및 이를 포함하는 비디오 디코더의 동작 속도를 향상시킬 수 있다.
도 9는 본 발명의 일 실시예에 따른 공간적 가중치들을 이용한 포인트 모션 벡터들의 계산 방법을 나타내는 흐름도이고, 도 10은 도 9의 포인트 모션 벡터들의 계산 방법에 이용되는 공간적 가중치들의 일 예를 설명하기 위한 도면이다.
도 2, 9 및 10을 참조하면, 벡터 계산부(120)는 각각의 특징 점(FP)이 속하는 기준 매크로블록(MBe) 및 기준 매크로블록(MBe)의 주변 매크로블록들(MBa, MBb, MBc, MBd)에 대한 블록 모션 벡터들(MVa, MVb, MVc, MVd, MVe)을 추출한다(단계 S432). 도 10에 예시된 주변 매크로블록들(MBa, MBb, MBc, MBd)의 설정은 도 4, 5 및 6을 참조하여 설명한 라스터 스캔 방식에 부합하는 예이며, 주변 매크로블록들의 설정 방법은 스캔 방식에 따라 변경될 수 있다.
블록 모션 벡터(MVi)는 예측 모션 벡터(PMVi: predictive motion vector) 및 모션 벡터 차분(MVDi: motion vector difference)의 형태로 디코딩 장치(20)로부터 제공될 수 있다. 스킵 모드의 매크로블록인 경우에는 MVi=PMVi를 만족하고 인터 모드의 매크로블록인 경우에는 MVi=MVDi+PMVi를 만족한다.
벡터 계산부(120)는 각각의 특징 점(FP)과 블록 모션 벡터들(MVa, MVb, MVc, MVd, MVe)의 공간적인 밀접성을 나타내는 공간적 가중치들을 계산한다(단계 S434). 예를 들어, 상기 공간적 가중치들(Wa, Wb, Wc, Wd, We)의 각각은, 기준 매크로블록(MBe) 및 주변 매크로블록들(MVa, MVb, MVc, MVd)의 각각의 중심점과 특징 점(FP) 사이의 거리(Da, Db, Dc, Dd, De)의 역수 값(Wa=1/Da, Wb=1/Db, Wc=1/Dc, Wd=1/Dd, We=1/De)으로 설정될 수 있다.
벡터 계산부(120)는 공간적 가중치들(Wa, Wb, Wc, Wd, We)을 적용하여 추출된 블록 모션 벡터들(MVa, MVb, MVc, MVd, MVe)의 가중치 평균, 즉 (Wa*MVa+Wb*MVb+Wc*MVc+Wd*MVd+We*MVe)/(Wa+Wb+Wc+Wd+We)을 계산하고, 상기 가중치 평균을 특징 점(FT)에 대한 포인트 모션 벡터(PMV)로 결정할 수 있다(단계 S436).
도 11은 본 발명의 일 실시예에 따른 시간적 가중치들 및 공간적 가중치들을 이용한 포인트 모션 벡터들의 계산 방법을 나타내는 흐름도이고, 도 12는 규칙적인 영상 그룹 설정의 일 예를 나타내는 도면이고, 도 13 및 14는 도 11의 포인트 모션 벡터들의 계산 방법에 이용되는 시간적 가중치들의 일 예를 설명하기 위한 도면들이다.
먼저 도 12를 참조하여 프레임 타입의 설정에 대해 설명한다. 도 12에는 규칙적인 영상 그룹(GOP: group of pictures) 설정이 예시되어 있으나, 영상 그룹의 사이즈 및 영상 타입의 패턴은 불규칙적으로 설정될 수도 있다. 이하에서 영상(picture)이라 함은 순차 스캔 방식(progressive scan form)에서의 프레임(frame)에 상응할 수도 있고 비월 스캔 방식(interlaced scan form)에서의 필드(field)에 상응할 수도 있다.
영상 그룹은 I 영상의 할당에 의해 그 사이즈가 결정되며, P 영상 및/또는 B 영상의 배열에 의해서 그 구조가 결정된다. 다른 영상을 참조하여 부호화되는 인터 영상, 즉 P 영상과 B 영상의 배열에 의해 부호화되는 데이터의 비트수를 감소시킬 수 있으며, 다른 영상을 참조하지 않고 부호화되는 인트라 영상, 즉 I 영상을 간헐적으로 할당하여 영상 그룹의 사이즈를 제한함으로써 오류 전파(error propagation)를 방지할 수 있다.
도 12에 도시된 영상 순서 카운트(POC: picture order count)는 디스플레이 순서(displaying order)를 나타내며, 영상 그룹의 구조에 따라서 디스플레이 순서와 복호화 순서(decoding order)는 상이할 수 있다. I 영상으로 할당된 제1 영상부터 제N 영상까지가 제1 영상 그룹(GOP1)에 해당하고, 다음의 I 영상으로 할당된 제N+1 영상부터 제2N 영상까지가 제2 영상 그룹(GOP2)에 해당한다. 마찬가지로 제2N+1 영상부터 N개의 영상이 제3 영상 그룹(GOP3)으로 설정된다.
영상 타입에 따라서 참조 영상이 상이하기 때문에 복호화 순서와 디스플레이 순서가 서로 다르게 된다. 예를 들어 P 영상인 제4 영상은 B 영상인 제2 및 제3 영상들보다 먼저 복호화되고, 제2 및 제3 영상은 먼저 부호화된 제4 영상을 참조하여 복호화될 수 있다.
H.264 표준에 따르면, 매크로블록의 가용 부호화 모드는 인터 모드와 인트라 모드로 대별된다. 인터 모드는 SKIP, 16*16, 8*16, 16*8, 8*8의 5가지 움직임 보상 모드를 포함하고, 8*8 움직임 보상 모드는 각각의 8*8 서브블록(sub-block)에 대하여 8*4, 4*8, 4*4의 3가지 서브 모드(Sub-mode)를 포함한다. 인트라 모드는 4개의 16*16 인트라 예측 모드 및 9개의 4*4 인트라 예측 모드를 포함한다.
도 2, 10, 11, 12 및 13을 참조하면, 벡터 계산부(120)는 도 10을 참조하여 전술한 바와 같이 각각의 특징 점(FP)이 속하는 기준 매크로블록(MBe) 및 기준 매크로블록(MBe)의 주변 매크로블록들(MBa, MBb, MBc, MBd)에 대한 블록 모션 벡터들(MVa, MVb, MVc, MVd)을 추출한다(단계 S441).
벡터 계산부(120)는 각각의 특징 점(FP)에 대한 블록 모션 벡터들(MVa, MVb, MVc, MVd)의 시간적인 밀접성을 나타내는 시간적 가중치(Ta, Tb, Tc, Td)들을 계산한다(단계 S442). 예를 들어, 시간적 가중치(Ta, Tb, Tc, Td)들의 각각은, 기준 매크로블록(MBe) 및 주변 매크로블록들이 속한 현재의 프레임의 번호와 각각의 상응하는 참조 블록이 속한 참조 프레임의 번호의 차이의 역수 값으로 설정될 수 있다. 만약 도 13에서와 같이 특징 점이 영상 순서 카운트(POC)가 h인 P 프레임에 위치하고 참조 블록(RMB)이 영상 순서 카운트(POC)가 k인 이전의 I 또는 P 프레임에 위치하는 경우, 시간적 가중치는 상기 프레임 번호의 차이(h-k)의 역수 1/(h-k)로 설정될 수 있다. 만약 도 14에서와 같이 특징 점이 영상 순서 카운트(POC)가 r인 B 프레임에 위치하고 참조 블록(RMB1)이 영상 순서 카운트(POC)가 s인 이전의 I 또는 P 프레임에 위치하는 경우, 시간적 가중치는 상기 프레임 번호의 차이(r-s)의 역수 1/(r-s)로 설정될 수 있다. 마찬가지로, 특징 점이 영상 순서 카운트(POC)가 r인 B 프레임에 위치하고 참조 블록(RMB2)이 영상 순서 카운트(POC)가 q인 이후의 I 또는 P 프레임에 위치하는 경우, 시간적 가중치는 상기 프레임 번호의 차이(q-r)의 역수 1/(q-r)로 설정될 수 있다.
벡터 계산부(120)는 시간적 가중치들(Ta, Tb, Tc, Td)을 적용하여 상기 추출된 블록 모션 벡터들을 보정한 스케일드 블록 모션 벡터(SMVa=Ta*MVa, SMVb=Tb*MVb, SMVc=Tc*MVc, SMVd=Td*MVd, SMVe=MVd)들을 계산한다(단계 S443).
도 10을 참조하여 설명한 바와 같이, 벡터 계산부(120)는 각각의 특징 점(FP)과 블록 모션 벡터들(MVa, MVb, MVc, MVd)의 공간적인 밀접성을 나타내는 공간적 가중치들(Wa, Wb, Wc, Wd)을 계산한다(단계 S444).
벡터 계산부(120)는 공간적 가중치들(Wa, Wb, Wc, Wd, We)을 적용하여 스케일드 블록 모션 벡터(SMVa, SMVb, SMVc, SMVd, SMVe)의 가중치 평균, 즉 (Wa*SMVa+Wb*SMVb+Wc*SMVc+Wd*SMVd+SMVe)/(Wa+Wb+Wc+Wd+We)을 계산하고, 상기 가중치 평균을 특징 점(FT)에 대한 포인트 모션 벡터(PMV)로 결정할 수 있다(단계 S445).
도 9 내지 14를 참조하여 설명한 바와 같이, 공간적 가중치들(Wa, Wb, Wc, Wd, We) 및/또는 시간적 가중치들(Ta, Tb, Tc, Td)을 이용하여 포인트 모션 벡터(PMV)를 더욱 정밀하게 결정할 수 있다.
도 15는 본 발명의 일 실시예에 따른 글로벌 아핀 계수들을 결정하는 방법을 나타내는 흐름도이고, 도 16은 본 발명의 일 실시예에 따른 특징 점들의 그룹화를 이용한 글로벌 아핀 계수들의 결정 방법을 설명하기 위한 도면이다.
도 2, 15 및 16을 참조하면, 아핀 계수 계산부(130)는 현재의 프레임에 포함되는 특징 점들(FP)을 복수의 서브 영역들로 그룹화한다(단계 S451). 도 16에는 제1 서브 영역(SB1), 제2 서브 영역(SB2) 및 서브 영역들(SB1, SB2) 내의 포인트 모션 벡터들의 분포가 예시되어 있다. 도 16에는 두 개의 서브 영역들(SB1, SB2)만을 도시하였으나, 서브 영역들의 형태 및 개수는 다양하게 결정될 수 있다.
아핀 계수 계산부(130)는 포인트 모션 벡터들에 기초하여 서브 영역들(SB1, SB1) 중에서 배경에 해당하는 적어도 하나의 기준 서브 영역을 결정할 수 있다 (단계 S453). 예를 들어, 아핀 계수 계산부(130)는 서브 영역들(SB1, SB2)의 각각에 대하여, 포인트 모션 벡터들의 방향 및 크기에 대한 산포도를 계산하고 상기 계산된 산포도를 미리 결정된 기준 산포도와 비교한다. 상기 계산된 산포도가 기준 산포도보다 작은 경우의 상기 서브 영역을 상기 기준 서브 영역으로 결정할 수 있다. 다른 실시예에서, 서브 영역들의 산포도들을 비교하여 상대적으로 작은 산포도를 갖는 적어도 하나의 서브 영역을 기준 서브 영역으로 결정할 수 있다. 도 16의 예시에서는, 상대적으로 작은 산포도를 갖는 제1 서브 영역(SB1)이 기준 서브 영역으로 결정될 수 있다. 이는 산포도가 작을수록 배경에 해당할 가능성이 크고, 산포도가 클수록 영상 내에서 움직이는 사물일 가능성이 크기 때문이다.
아핀 계수 계산부(130)는 기준 서브 영역(SB1)에 포함되는 특징 점들의 포인트 모션 벡터들에 기초하여 현재의 프레임에 대한 아핀 계수들을 계산할 수 있다 (단계 S455). 이와 같이, 영상 내의 움직이는 사물을 배제하고, 배경만을 선택함으로써 더욱 정밀하게 아핀 계수들(AP)을 결정할 수 있다.
추적부(140)는 현재의 프레임 및 하나 이상의 이전의 프레임들에 대한 상기 계산된 아핀 계수들(AP)에 기초하여 다음의 프레임에 대한 아핀 계수들을 추정할 수 있다 (단계 S457). 추적부(140)는 상기 추정된 아핀 계수들을 다음의 프레임에 대하여 재구성 블록 데이터(MBi)를 보정하기 위한 글로벌 아핀 계수들(GAP)로 결정할 수 있다.
다른 실시예에서, 추적부(140)는 생략될 수도 있으며, 이 경우, 현재의 프레임에 대하여 계산된 아핀 계수들(AP)을 다음의 프레임에 대하여 재구성 블록 데이터(MBi)를 보정하기 위한 글로벌 아핀 계수들(GAP)로 제공할 수 있다.
도 17은 본 발명의 일 실시예에 따른 안정화 블록 데이터를 제공하는 방법을 나타내는 흐름도이고, 도 18은 아핀 변환의 일 예를 나타내는 도면이다.
도 2, 17 및 18을 참조하면, 아핀 모션 보상부(510)는 글로벌 아핀 계수들(GAP)에 기초하여 아핀 변환의 역 변환을 나타내는 보상 아핀 계수들(CAP)을 계산한다(단계 S610). 일반적으로 아핀 변환은 2*2 행렬로 표현될 수 있으며, 글로벌 아핀 계수들(GAP)은 상기 행렬의 성분들에 해당할 수 있다. 상기 역 변환은 상기 행렬의 역행렬로 표현될 수 있으며, 상기 보상 아핀 계수들(CAP)은 상기 역행렬의 성분들에 해당할 수 있다.
보상 아핀 계수들(CAP) 및 재구성 블록 데이터(MBi)에 기초하여 안정화 블록 데이터(SBi)를 계산할 수 있다.
예를 들어, 아핀 모션 보상부(510)는 보상 아핀 계수들(CAP)에 기초하여 정수 값을 갖는 픽셀 좌표들을 보상 좌표들로 변환할 수 있다(단계 S630). 도 18에서 Pi(i=1~8 및 c)들이 픽셀 좌표들이고, Pi'들이 보상 좌표들에 해당한다. 도 18에 도시된 바와 같이, 글로벌 아핀 계수들(GAP)을 이용함으로써, 프레임 영상의 평면 이동(TR) 뿐만 아니라 회전 이동(RT)을 보상할 수 있다. 도 18에 표현되지는 않았으나, 글로벌 아핀 계수들(GAP)은 프레임 영상의 평면 이동(translation), 회전 이동(rotation) 및 크기 변화(scaling)를 모두 포함하는 아핀 모션을 나타낼 수 있다.
도 19 및 20을 참조하여 설명하는 바와 같이, 아핀 모션 보상부(510)는 보상 좌표들(Pi')에 매핑된 재구성 블록 데이터(MBi)에 기초하여 픽셀 좌표들(Pi)에 매핑된 안정화 블록 데이터(SBi)를 픽셀 단위로 계산할 수 있다(단계 S650).
도 19는 본 발명의 일 실시예에 따른 안정화 블록 데이터를 픽셀 단위로 계산하는 방법을 나타내는 흐름도이고, 도 20은 도 19의 방법에 따른 픽셀 데이터의 보상을 설명하기 위한 도면이다.
도 2, 19 및 20을 참조하면, 아핀 모션 보상부(510)는 하나의 픽셀 좌표(P)의 인접한 보상 좌표들(Pa, Pb, Pc, Pd, Pe, Pf, Pg, Ph, Pi)을 보상 그룹으로 결정할 수 있다. 도 20에는 9개의 보상 좌표들(Pa, Pb, Pc, Pd, Pe, Pf, Pg, Ph, Pi)이 보상 그룹에 포함되는 예를 도시하였으나, 보상 그룹의 설정 기준에 따라서 보상 그룹에 포함되는 보상 좌표들의 개수는 다양하게 결정될 수 있다. 예를 들어, 상기 보상 그룹은 픽셀 좌표(P)와 보상 좌표 사이의 거리를 기초로 결정될 수 있다.
아핀 모션 보상부(510)는 보상 그룹에 속한 보상 좌표들(Pa, Pb, Pc, Pd, Pe, Pf, Pg, Ph, Pi)과 픽셀 좌표(P) 사이의 거리들(a, b, c, d, e, f, g, h, i)의 역수 값들(1/a, 1/b, 1/c, 1/d, 1/e, 1/f, 1/g, 1/h, 1/i)에 상응하는 가중치들(Wa=1/a, Wb=1/b, Wc=1/c, Wd=1/d, We=1/e, Wf=1/f, Wg=1/g, Wh=1/h, Wi=1/i)을 계산한다(단계 S654).
아핀 모션 보상부(510)는 가중치들(Wa=1/a, Wb=1/b, Wc=1/c, Wd=1/d, We=1/e, Wf=1/f, Wg=1/g, Wh=1/h, Wi=1/i)을 적용하여 상기 보상 그룹에 속한 보상 좌표들(Pa, Pb, Pc, Pd, Pe, Pf, Pg, Ph, Pi)에 매핑된 재구성 블록 데이터들(D(Pa), D(Pb), D(Pc), D(Pd), D(Pe), D(Pf), D(Pg), D(Ph), D(Pi))의 가중치 평균 SUM[Wk*D(Pk)]/SUM[Wk] (k=a, b, c, d, e, f, g, h, i)을 계산하고, 상기 가중치 평균을 하나의 픽셀 좌표(P)에 매핑된 안정화 블록 데이터(D(P))로 결정할 수 있다 (단계 S656).
도 21은 본 발명의 실시예들에 따른 시스템을 나타내는 블록도이다.
도 21을 참조하면, 시스템(900)은 인코더(911)를 포함하는 송신기(910), 디코더(921)를 포함하는 수신기(920) 및 송신기(910)와 수신기(920) 사이의 신호 전송을 매개하는 채널(930)을 포함할 수 있다.
송신기(910)의 인코더(911)에 의해 H.264와 같은 정해진 표준에 따라서 인코딩된 전송 비트스트림(TBS)이 채널(930)로 출력된다. 수신기(920)는 채널(930)을 통하여 수신 비트스트림(RBS)를 수신하고 수신기(920)의 디코더(921)는 수신 비트스트림(RBS)에 기초하여 디코딩 동작을 수행한다.
디코더(921)는 전술한 바와 같이 본 발명의 실시예들에 따라서 재구성 블록 데이터(MBi) 및 디코딩 정보(DINF)에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들(GAP)을 결정하고, 글로벌 아핀 계수들(CAP)에 기초하여 재구성 블록 데이터(MBi)에서 상기 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터(SBi)를 제공하는 이미지 안정화 후처리 장치(ISPP:image stabilization post-processor)(922)를 포함한다.
일반적으로 채널(930)은 무선 매체 등과 같이 대역폭이 제한된 매체이다. 무선 채널의 경우, 송신 비트스트림은 송신기(910)에 의해 무선 통신에 적합한 포맷으로 변환되고 수신기(920)에 의해 복원될 수 있다. 유선 채널이든 무선 채널이든 어떠한 상황에서도 송신 비트스트림(TBS)과 수신 비트스트림(RBS) 사이에는 데이터 손실이 있을 수 있다. H.264 표준의 FMO 방식은 매크로블록들을 기설정된 매크로블록 구성 및 슬라이스 그룹 순서로 송신함으로써 데이터 손실에 대한 복원성을 크게 향상시킨다. 즉 디코더(921)가 이용 가능한 다른 슬라이스 그룹의 매크로블록들을 이용하여 한 슬라이스 그룹의 손실 또는 손상된 매크로블록을 복구하도록 하는데 이용될 수 있다.
도 22는 본 발명의 실시예들에 따른 비디오 디코더를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 22를 참조하면, 컴퓨팅 시스템(1000)은 프로세서(1010), 메모리 장치(1020), 저장 장치(1030), 입출력 장치(1040), 파워 서플라이(1050) 및 촬영 장치(900)를 포함할 수 있다. 한편, 도 22에는 도시되지 않았지만, 컴퓨팅 시스템(1000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.
프로세서(1010)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 프로세서(1010)는 비디오 코덱(1011)을 포함할 수 있다. 비디오 코텍(1011)은 도 1 내지 20을 참조하여 설명한 후처리 장치를 포함하는 비디오 디코더를 포함한다. 또한 비디오 코텍(1011)은 상기 비디오 디코더에 제공되는 압축 데이터를 부호화하기 위한 비디오 인코더를 더 포함할 수 있다. 상기 비디오 인코더와 상기 비디오 인코더는 하나로 통합되어 구현될 수 있다. 실시예에 따라, 프로세서(1010)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(1010)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 메모리 장치(1020), 저장 장치(1030), 촬영 장치(900) 및 입출력 장치(1040)와 통신을 수행할 수 있다. 실시예에 따라, 프로세서(1010)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다. 메모리 장치(1020)는 컴퓨팅 시스템(1000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(1020)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다. 저장 장치(1030)는 솔리드 스테이트 드라이브(solid state drive), 하드 디스크 드라이브(hard disk drive), 씨디롬(CD-ROM) 등을 포함할 수 있다. 입출력 장치(1040)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 파워 서플라이(1050)는 전자 기기(1000)의 동작에 필요한 동작 전압을 공급할 수 있다.
촬영 장치(900)는 상기 버스들 또는 다른 통신 링크를 통해서 프로세서(1010)와 연결되어 통신을 수행할 수 있다. 촬영 장치(900)는 프로세서(1010)와 함께 하나의 칩에 집적될 수도 있고, 서로 다른 칩에 각각 집적될 수도 있다.
컴퓨팅 시스템(1000)은 다양한 형태들의 패키지로 구현될 수 있다. 예를 들어, 컴퓨팅 시스템(1000)의 적어도 일부의 구성들은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 패키지들을 이용하여 실장될 수 있다.
한편, 컴퓨팅 시스템(1000)은 본 발명의 실시예들에 따른 동작 인식 방법을 수행하는 모든 컴퓨팅 시스템으로 해석되어야 할 것이다. 예를 들어, 컴퓨팅 시스템(1000)은 디지털 카메라, 이동 전화기, 피디에이(Personal Digital Assistants; PDA), 피엠피(Portable Multimedia Player; PMP), 스마트폰 등을 포함할 수 있다.
도 23은 도 22의 컴퓨팅 시스템에서 사용되는 인터페이스의 일 예를 나타내는 블록도이다.
도 23을 참조하면, 컴퓨팅 시스템(1100)은 MIPI 인터페이스를 사용 또는 지원할 수 있는 데이터 처리 장치로 구현될 수 있고, 어플리케이션 프로세서(1110), 이미지 센서(1140) 및 디스플레이(1150) 등을 포함할 수 있다. 어플리케이션 프로세서(1110)의 CSI 호스트(1112)는 카메라 시리얼 인터페이스(Camera Serial Interface; CSI)를 통하여 이미지 센서(1140)의 CSI 장치(1141)와 시리얼 통신을 수행할 수 있다. 일 실시예에서, CSI 호스트(1112)는 디시리얼라이저(DES)를 포함할 수 있고, CSI 장치(1141)는 시리얼라이저(SER)를 포함할 수 있다. 어플리케이션 프로세서(1110)의 DSI 호스트(1111)는 디스플레이 시리얼 인터페이스(Display Serial Interface; DSI)를 통하여 디스플레이(1150)의 DSI 장치(1151)와 시리얼 통신을 수행할 수 있다.
일 실시예에서, DSI 호스트(1111)는 시리얼라이저(SER)를 포함할 수 있고, DSI 장치(1151)는 디시리얼라이저(DES)를 포함할 수 있다. 나아가, 컴퓨팅 시스템(1100)은 어플리케이션 프로세서(1110)와 통신을 수행할 수 있는 알에프(Radio Frequency; RF) 칩(1160)을 더 포함할 수 있다. 컴퓨팅 시스템(1100)의 PHY(1113)와 RF 칩(1160)의 PHY(1161)는 MIPI(Mobile Industry Processor Interface) DigRF에 따라 데이터 송수신을 수행할 수 있다. 또한, 어플리케이션 프로세서(1110)는 PHY(1161)의 MIPI DigRF에 따른 데이터 송수신을 제어하는 DigRF MASTER(1114)를 더 포함할 수 있다.
한편, 컴퓨팅 시스템(1100)은 지피에스(Global Positioning System; GPS)(1120), 스토리지(1170), 마이크(1180), 디램(Dynamic Random Access Memory; DRAM)(1185) 및 스피커(1190)를 포함할 수 있다. 또한, 컴퓨팅 시스템(1100)은 초광대역(Ultra WideBand; UWB)(1210), 무선 랜(Wireless Local Area Network; WLAN)(1220) 및 와이맥스(Worldwide Interoperability for Microwave Access; WIMAX)(1230) 등을 이용하여 통신을 수행할 수 있다. 다만, 컴퓨팅 시스템(1100)의 구조 및 인터페이스는 하나의 예시로서 이에 한정되는 것이 아니다.
해당 기술분야의 숙련된 당업자는 본 발명의 실시예들이 시스템, 방법, 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 프로그램 코드를 포함하는 제품 등의 형태로 구현될 수 있음을 이해할 것이다. 상기 컴퓨터로 판독 가능한 프로그램 코드는 다양한 컴퓨터 또는 다른 데이터 처리 장치의 프로세서로 제공될 수 있다. 상기 컴퓨터로 판독 가능한 매체는 컴퓨터로 판독 가능한 신호 매체 또는 컴퓨터로 판독 가능한 기록 매체일 수 있다. 상기 컴퓨터로 판독 가능한 기록 매체는 명령어 실행 시스템, 장비 또는 장치 내에 또는 이들과 접속되어 프로그램을 저장하거나 포함할 수 있는 임의의 유형적인 매체일 수 있다.
본 발명의 실시예들에 따른 후처리 장치, 비디오 인코더 및 비디오 이미지의 안정화 방법은 비디오 데이터를 부호화하고 복호화하는 임의의 장치 및 시스템에 유용하게 이용될 수 있다. 특히 본 발명의 실시예들에 따른 후처리 장치, 비디오 인코더 및 비디오 이미지의 안정화 방법은 MPEG, H.261, H.262, H.263, H.264 등의 표준에 따르는 임의의 장치 및 시스템에 적용될 수 있으며, CATV(Cable TV on optical networks, copper, etc.), DBS(Direct broadcast satellite video services), DSL(Digital subscriber line video services), DTTB(Digital terrestrial television broadcasting), ISM(Interactive storage media (optical disks, etc.)), MMM(Multimedia mailing), MSPN(Multimedia services over packet networks), RTC(Real-time conversational services (videoconferencing, videophone, etc.)),RVS(Remote video surveillance), SSM(Serial storage media (digital VTR, etc.)) 등의 기술분야에서 유용하게 이용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.

Claims (20)

  1. 디코딩 장치로부터 매크로블록들의 각각에 대한 재구성 블록 데이터 및 디코딩 정보를 수신하는 단계;
    상기 재구성 블록 데이터 및 상기 디코딩 정보에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들을 제공하는 단계; 및
    상기 글로벌 아핀 계수들에 기초하여 상기 재구성 블록 데이터에서 상기 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터를 제공하는 단계를 포함하고,
    상기 글로벌 아핀 계수들을 제공하는 단계는,
    상기 재구성 블록 데이터 및 상기 디코딩 정보에 기초하여 상기 프레임 영상에 포함된 사물의 윤곽을 나타내는 특징 점들의 각각에 대한 포인트 모션 벡터들을 계산하는 단계; 및
    상기 포인트 모션 벡터들에 기초하여 상기 글로벌 아핀 계수들을 프레임 단위로 결정하는 단계를 포함하고,
    상기 포인트 모션 벡터들을 계산하는 단계는,
    상기 재구성 블록 데이터를 분석하여 상기 특징 점들을 검출하는 단계; 및
    상기 디코딩 정보에 포함되는 상기 매크로블록들의 각각에 대한 블록 모션 벡터들에 기초하여 상기 포인트 모션 벡터들을 계산하는 단계를 포함하고,
    상기 특징 점들을 검출하는 단계는,
    상기 디코딩 정보에 포함되는 상기 매크로블록들의 각각에 대한 부호화 모드들에 기초하여 매크로블록 단위로 특징 점들의 검출 동작의 수행 여부를 결정하는 단계를 포함하는 비디오 이미지의 안정화 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1 항에 있어서, 상기 매크로블록 단위로 특징 점들의 검출 동작의 수행 여부를 결정하는 단계는,
    상기 부호화 모드가 인트라 모드인 매크로블록에 대하여 상기 특징 점들의 검출을 생략하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지의 안정화 방법.
  8. 제1 항에 있어서, 상기 매크로블록 단위로 특징 점들의 검출 동작의 수행 여부를 결정하는 단계는,
    상기 부호화 모드가 인터 모드인 매크로블록에 대하여 상기 디코딩 정보에 포함되는 상기 매크로블록들의 각각에 대한 잔차 블록 데이터의 크기를 계산하는 단계; 및
    상기 잔차 블록 데이터의 크기가 기준 값보다 큰 경우 상기 특징 점들의 검출을 생략하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지의 안정화 방법.
  9. 제8 항에 있어서, 상기 잔차 블록 데이터의 크기를 계산하는 단계는,
    상기 잔차 블록 데이터에 포함된 각각의 픽셀 데이터의 절대 값들을 계산하는 단계; 및
    상기 절대 값들의 합산 값을 계산하고, 상기 합산 값을 상기 잔차 블록 데이터의 크기로 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지의 안정화 방법.
  10. 제1 항에 있어서,
    현재의 프레임이 인트라 프레임에 해당하는 경우 상기 포인트 모션 벡터들의 계산을 생략하는 것을 특징으로 하는 비디오 이미지의 안정화 방법.
  11. 제1 항에 있어서, 상기 블록 모션 벡터들에 기초하여 상기 포인트 모션 벡터들을 계산하는 단계는,
    상기 각각의 특징 점이 속하는 기준 매크로블록 및 상기 기준 매크로블록의 주변 매크로블록들에 대한 상기 블록 모션 벡터들을 추출하는 단계;
    상기 각각의 특징 점과 상기 블록 모션 벡터들의 공간적인 밀접성을 나타내는 공간적 가중치들을 계산하는 단계; 및
    상기 공간적 가중치들을 적용하여 상기 추출된 블록 모션 벡터들의 가중치 평균을 계산하고, 상기 가중치 평균을 상기 각각의 특징 점에 대한 포인트 모션 벡터로 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지의 안정화 방법.
  12. 제11 항에 있어서,
    상기 공간적 가중치들의 각각은, 상기 기준 매크로블록 및 상기 주변 매크로블록들의 각각의 중심점과 상기 각각의 특징 점 사이의 거리의 역수 값인 것을 특징으로 하는 비디오 이미지의 안정화 방법.
  13. 제1 항에 있어서, 상기 블록 모션 벡터들에 기초하여 상기 포인트 모션 벡터들을 계산하는 단계는,
    상기 각각의 특징 점이 속하는 기준 매크로블록 및 상기 기준 매크로블록의 주변 매크로블록들에 대한 상기 블록 모션 벡터들을 추출하는 단계;
    상기 각각의 특징 점에 대한 상기 블록 모션 벡터들의 시간적인 밀접성을 나타내는 시간적 가중치들을 계산하는 단계;
    상기 시간적 가중치들을 적용하여 상기 추출된 블록 모션 벡터들을 보정한 스케일드 블록 모션 벡터들을 계산하는 단계;
    상기 각각의 특징 점과 상기 블록 모션 벡터들의 공간적인 밀접성을 나타내는 공간적 가중치들을 계산하는 단계; 및
    상기 공간적 가중치들을 적용하여 상기 스케일드 블록 모션 벡터들의 가중치 평균을 계산하고, 상기 가중치 평균을 상기 각각의 특징 점에 대한 포인트 모션 벡터로 결정하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지의 안정화 방법.
  14. 제13 항에 있어서,
    상기 시간적 가중치들의 각각은, 상기 기준 매크로블록 및 상기 주변 매크로블록들이 속한 현재의 프레임의 번호와 각각의 상응하는 참조 블록이 속한 참조 프레임의 번호의 차이의 역수 값인 것을 특징으로 하는 비디오 이미지의 안정화 방법.
  15. 제1 항에 있어서, 상기 글로벌 아핀 계수들을 프레임 단위로 결정하는 단계는,
    현재의 프레임에 포함되는 상기 특징 점들을 복수의 서브 영역들로 그룹화하는 단계;
    상기 포인트 모션 벡터들에 기초하여 상기 서브 영역들 중에서 배경에 해당하는 적어도 하나의 기준 서브 영역을 결정하는 단계; 및
    상기 기준 서브 영역에 포함되는 상기 특징 점들의 상기 포인트 모션 벡터들에 기초하여 상기 현재의 프레임에 대한 아핀 계수들을 계산하는 단계를 포함하는 것을 특징으로 하는 비디오 이미지의 안정화 방법.
  16. 매크로블록들의 각각에 대한 재구성 블록 데이터 및 디코딩 정보를 제공하는 디코딩 장치; 및
    상기 재구성 블록 데이터 및 상기 디코딩 정보에 기초하여 프레임 영상의 아핀 변환을 나타내는 글로벌 아핀 계수들을 결정하고, 상기 글로벌 아핀 계수들에 기초하여 상기 재구성 블록 데이터에서 상기 아핀 변환에 상응하는 아핀 모션을 보상한 안정화 블록 데이터를 제공하는 후처리 장치를 포함하고,
    상기 후처리 장치는,
    상기 재구성 블록 데이터 및 상기 디코딩 정보에 기초하여 상기 프레임 영상에 포함된 사물의 윤곽을 나타내는 특징 점들의 각각에 대한 포인트 모션 벡터들을 계산하고, 상기 포인트 모션 벡터들에 기초하여 상기 글로벌 아핀 계수들을 프레임 단위로 결정하고, 현재의 프레임에 포함되는 상기 특징 점들을 복수의 서브 영역들로 그룹화하고, 상기 포인트 모션 벡터들에 기초하여 상기 서브 영역들 중에서 배경에 해당하는 적어도 하나의 기준 서브 영역을 결정하고, 상기 기준 서브 영역에 포함되는 상기 특징 점들의 상기 포인트 모션 벡터들에 기초하여 상기 현재의 프레임에 대한 아핀 계수들을 계산하는 비디오 디코더.
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020130028249A 2013-03-15 2013-03-15 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더 KR102121558B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020130028249A KR102121558B1 (ko) 2013-03-15 2013-03-15 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
US14/195,942 US9674547B2 (en) 2013-03-15 2014-03-04 Method of stabilizing video, post-processing circuit and video decoder including the same
CN201410099194.5A CN104053001B (zh) 2013-03-15 2014-03-17 对视频进行稳定化的方法和包括后处理电路的视频解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130028249A KR102121558B1 (ko) 2013-03-15 2013-03-15 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더

Publications (2)

Publication Number Publication Date
KR20140113855A KR20140113855A (ko) 2014-09-25
KR102121558B1 true KR102121558B1 (ko) 2020-06-10

Family

ID=51505315

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130028249A KR102121558B1 (ko) 2013-03-15 2013-03-15 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더

Country Status (3)

Country Link
US (1) US9674547B2 (ko)
KR (1) KR102121558B1 (ko)
CN (1) CN104053001B (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106303543B (zh) 2015-05-15 2018-10-30 华为技术有限公司 视频图像编码和解码的方法、编码设备和解码设备
KR20180028513A (ko) 2015-08-04 2018-03-16 엘지전자 주식회사 비디오 코딩 시스템에서 인터 예측 방법 및 장치
CN117354536A (zh) * 2016-02-25 2024-01-05 株式会社Kt 用于处理视频信号的方法和设备
WO2017147765A1 (en) * 2016-03-01 2017-09-08 Mediatek Inc. Methods for affine motion compensation
EP3301643A1 (en) * 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for rectified motion compensation for omnidirectional videos
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US10873744B2 (en) * 2017-01-03 2020-12-22 Lg Electronics Inc. Method and device for processing video signal by means of affine prediction
KR102317094B1 (ko) * 2017-09-28 2021-10-25 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2019117659A1 (ko) * 2017-12-14 2019-06-20 엘지전자 주식회사 움직임 벡터 도출을 기반으로 하는 영상 코딩 방법 및 그 장치
KR20200133327A (ko) * 2018-04-12 2020-11-27 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN110536135B (zh) * 2018-05-25 2021-11-05 腾讯美国有限责任公司 用于视频编解码的方法和设备
KR102592642B1 (ko) 2018-07-13 2023-10-23 엘지전자 주식회사 영상 코딩 시스템에서 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
WO2020072397A1 (en) * 2018-10-04 2020-04-09 Interdigital Vc Holdings, Inc. Block size based motion vector coding in affine mode
WO2020085953A1 (en) * 2018-10-25 2020-04-30 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for inter prediction
US11212521B2 (en) * 2018-11-07 2021-12-28 Avago Technologies International Sales Pte. Limited Control of memory bandwidth consumption of affine mode in versatile video coding
WO2020098814A1 (en) 2018-11-16 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. History-based affine parameters inheritance
CN113196750A (zh) * 2018-12-14 2021-07-30 北京字节跳动网络技术有限公司 Mv位置的高准确度
JP7303330B2 (ja) 2019-04-28 2023-07-04 北京字節跳動網絡技術有限公司 対称動きベクトル差分符号化
CN110223219B (zh) * 2019-05-22 2023-04-28 北京卡路里信息技术有限公司 3d图像的生成方法及装置
KR20220003116A (ko) 2019-06-24 2022-01-07 엘지전자 주식회사 머지 후보를 이용하여 예측 샘플을 도출하는 영상 디코딩 방법 및 그 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080152007A1 (en) 1997-02-13 2008-06-26 Shunichi Sekiguchi Moving picture prediction system
US20120242870A1 (en) 2011-03-22 2012-09-27 Canon Kabushiki Kaisha Image capturing apparatus

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69416717T2 (de) * 1993-05-21 1999-10-07 Nippon Telegraph & Telephone Bewegtbildkoder und -dekoder
KR0181034B1 (ko) * 1995-03-18 1999-05-01 배순훈 특징점 기반 움직임 추정을 이용한 움직임 벡터 검출 방법 및 장치
US5668608A (en) * 1995-07-26 1997-09-16 Daewoo Electronics Co., Ltd. Motion vector estimation method and apparatus for use in an image signal encoding system
CN1125568C (zh) 1996-01-22 2003-10-22 松下电器产业株式会社 预测图像解码方法以及预测图像编码方法
JP3495040B1 (ja) 1996-01-22 2004-02-09 松下電器産業株式会社 デジタル画像符号化、復号化方法及びそれを用いたデジタル画像符号化、復号化装置
US6037988A (en) * 1996-03-22 2000-03-14 Microsoft Corp Method for generating sprites for object-based coding sytems using masks and rounding average
US6084912A (en) * 1996-06-28 2000-07-04 Sarnoff Corporation Very low bit rate video coding/decoding method and apparatus
US6285711B1 (en) * 1998-05-20 2001-09-04 Sharp Laboratories Of America, Inc. Block matching-based method for estimating motion fields and global affine motion parameters in digital video sequences
KR20000037945A (ko) 1998-12-03 2000-07-05 구자홍 영상의 윤곽선을 고려한 효율적인 움직임 추정 장치
WO2001041451A1 (en) * 1999-11-29 2001-06-07 Sony Corporation Video/audio signal processing method and video/audio signal processing apparatus
KR100359115B1 (ko) * 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
KR100683849B1 (ko) * 2000-06-28 2007-02-15 삼성전자주식회사 디지털 영상 안정화기능을 갖는 디코더 및 디지털영상안정화방법
GB0227570D0 (en) * 2002-11-26 2002-12-31 British Telecomm Method and system for estimating global motion in video sequences
WO2005027491A2 (en) * 2003-09-05 2005-03-24 The Regents Of The University Of California Global motion estimation image coding and processing
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
JP2005166226A (ja) 2003-11-14 2005-06-23 Sharp Corp 記録媒体再生装置、及び記録媒体再生方法
US7616782B2 (en) * 2004-05-07 2009-11-10 Intelliview Technologies Inc. Mesh based frame processing and applications
US7508990B2 (en) * 2004-07-30 2009-03-24 Euclid Discoveries, Llc Apparatus and method for processing video data
EP1647937A1 (en) * 2004-10-15 2006-04-19 Sony Deutschland GmbH Method for motion estimation
EP1755342A1 (en) * 2005-08-19 2007-02-21 Thomson Licensing Method and apparatus for iteratively calculating a set of global motion parameters for a picture sequence from block motion vectors
KR100762578B1 (ko) 2005-11-21 2007-10-01 엘지전자 주식회사 영상신호의 후처리 필터링 장치 및 방법
CN100440933C (zh) * 2005-12-31 2008-12-03 北京中星微电子有限公司 一种用于手持数码摄像设备的防抖方法及装置
US8116576B2 (en) * 2006-03-03 2012-02-14 Panasonic Corporation Image processing method and image processing device for reconstructing a high-resolution picture from a captured low-resolution picture
US8340185B2 (en) * 2006-06-27 2012-12-25 Marvell World Trade Ltd. Systems and methods for a motion compensated picture rate converter
US8559514B2 (en) 2006-07-27 2013-10-15 Qualcomm Incorporated Efficient fetching for motion compensation video decoding process
KR101356735B1 (ko) * 2007-01-03 2014-02-03 삼성전자주식회사 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
JP4427553B2 (ja) 2007-02-06 2010-03-10 シャープ株式会社 動画像復号化装置
KR101366242B1 (ko) * 2007-03-29 2014-02-20 삼성전자주식회사 움직임 모델 파라메터의 부호화, 복호화 방법 및 움직임모델 파라메터를 이용한 영상의 부호화, 복호화 방법 및장치
KR101003105B1 (ko) * 2008-01-29 2010-12-21 한국전자통신연구원 어파인 변환 기반의 움직임 보상을 이용한 비디오 부호화 및 복호화 방법 및 장치
JP4544334B2 (ja) * 2008-04-15 2010-09-15 ソニー株式会社 画像処理装置および画像処理方法
US8184200B1 (en) * 2008-04-22 2012-05-22 Marvell International Ltd. Picture rate conversion system for high definition video
US20090278921A1 (en) * 2008-05-12 2009-11-12 Capso Vision, Inc. Image Stabilization of Video Play Back
JP4506875B2 (ja) * 2008-05-19 2010-07-21 ソニー株式会社 画像処理装置および画像処理方法
JP2009290827A (ja) * 2008-06-02 2009-12-10 Sony Corp 画像処理装置および画像処理方法
KR20100032235A (ko) 2008-09-17 2010-03-25 세종대학교산학협력단 압축영상 트랜스코딩 방법 및 장치
US8411750B2 (en) * 2009-10-30 2013-04-02 Qualcomm Incorporated Global motion parameter estimation using block-based motion vectors
KR20110055022A (ko) 2009-11-19 2011-05-25 한국전자통신연구원 데이터 및 기능적 분할 방식에 기반한 동영상 복호화 장치 및 방법
US20110150093A1 (en) * 2009-12-22 2011-06-23 Stephen Mangiat Methods and apparatus for completion of video stabilization
US8179446B2 (en) * 2010-01-18 2012-05-15 Texas Instruments Incorporated Video stabilization and reduction of rolling shutter distortion
EP2526698A1 (en) * 2010-01-22 2012-11-28 Thomson Licensing Methods and apparatus for sampling -based super resolution video encoding and decoding
US8896715B2 (en) * 2010-02-11 2014-11-25 Microsoft Corporation Generic platform video image stabilization
CN101951464A (zh) * 2010-05-19 2011-01-19 上海稳像信息技术有限公司 基于积分图特征块匹配的实时视频稳像方法
CN101951463A (zh) * 2010-05-19 2011-01-19 上海稳像信息技术有限公司 基于简易快速全局运动参数估计的实时视频稳像方法
CN101951465A (zh) * 2010-05-19 2011-01-19 上海稳像信息技术有限公司 基于概率运动滤波的实时视频稳像方法
US8797414B2 (en) * 2010-12-23 2014-08-05 Samsung Electronics Co., Ltd. Digital image stabilization device
JP2012142829A (ja) * 2011-01-05 2012-07-26 Sony Corp 画像処理装置および画像処理方法
JP2013031060A (ja) * 2011-07-29 2013-02-07 Sony Corp 画像処理装置、画像処理方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080152007A1 (en) 1997-02-13 2008-06-26 Shunichi Sekiguchi Moving picture prediction system
US20120242870A1 (en) 2011-03-22 2012-09-27 Canon Kabushiki Kaisha Image capturing apparatus

Also Published As

Publication number Publication date
US9674547B2 (en) 2017-06-06
CN104053001A (zh) 2014-09-17
KR20140113855A (ko) 2014-09-25
CN104053001B (zh) 2019-06-11
US20140269923A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
KR102121558B1 (ko) 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
US10205953B2 (en) Object detection informed encoding
US10291925B2 (en) Techniques for hardware video encoding
US10397574B2 (en) Video coding quantization parameter determination suitable for video conferencing
US9591326B2 (en) Power efficient motion estimation techniques for video encoding
US9591313B2 (en) Video encoder with transform size preprocessing and methods for use therewith
KR20140110221A (ko) 비디오 인코더, 장면 전환 검출 방법 및 비디오 인코더의 제어 방법
US20110026596A1 (en) Method and System for Block-Based Motion Estimation for Motion-Compensated Frame Rate Conversion
WO2006041879A1 (en) Adaptive overlapped block matching for accurate motion compensation
US20120027091A1 (en) Method and System for Encoding Video Frames Using a Plurality of Processors
US20150163486A1 (en) Variable bitrate encoding
US20140354771A1 (en) Efficient motion estimation for 3d stereo video encoding
US9438925B2 (en) Video encoder with block merging and methods for use therewith
US20150208082A1 (en) Video encoder with reference picture prediction and methods for use therewith
US20150163484A1 (en) Variable bitrate encoding for multiple video streams
US20160316220A1 (en) Video encoder management strategies
CN107409211A (zh) 一种视频编解码方法及装置
US8126277B2 (en) Image processing method, image processing apparatus and image pickup apparatus using the same
KR20130032807A (ko) 동영상 부호화 장치 및 방법
JP5171675B2 (ja) 画像処理装置、およびそれを搭載した撮像装置
US20130170565A1 (en) Motion Estimation Complexity Reduction
US11930188B2 (en) Reference region determination apparatus and program
CN115550662A (zh) 用于视频编码的细粒度前瞻增强
JP2012222460A (ja) 動画像符号化装置、動画像符号化方法及びプログラム
JP2016026439A (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