KR20120049435A - 템플릿 매칭 및 방향 예측을 사용한 비디오 압축 방법 및 장치 - Google Patents

템플릿 매칭 및 방향 예측을 사용한 비디오 압축 방법 및 장치 Download PDF

Info

Publication number
KR20120049435A
KR20120049435A KR1020100110322A KR20100110322A KR20120049435A KR 20120049435 A KR20120049435 A KR 20120049435A KR 1020100110322 A KR1020100110322 A KR 1020100110322A KR 20100110322 A KR20100110322 A KR 20100110322A KR 20120049435 A KR20120049435 A KR 20120049435A
Authority
KR
South Korea
Prior art keywords
template
block
prediction
frame
intra prediction
Prior art date
Application number
KR1020100110322A
Other languages
English (en)
Other versions
KR101396754B1 (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 KR1020100110322A priority Critical patent/KR101396754B1/ko
Priority to US13/291,568 priority patent/US20120288002A1/en
Publication of KR20120049435A publication Critical patent/KR20120049435A/ko
Application granted granted Critical
Publication of KR101396754B1 publication Critical patent/KR101396754B1/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

인트라 예측을 적용함으로써 생성된 템플릿을 사용하는 움직임 추정 장치 및 방법이 제공된다. 현재 블록의 인트라 예측 정보를 포함하는 템플릿이 생성되며, 이러한 템플릿을 사용하는 템플릿 매칭을 수행함으로써 최적의 예측 영역이 탐색될 수 있다.

Description

템플릿 매칭 및 방향 예측을 사용한 비디오 압축 방법 및 장치{METHOD AND APPARATUS FOR COMPRESSING VIDEO USING TEMPLATE MATCHING AND MOTION PREDICTION}
아래의 실시예들은 비디오의 코딩 및 디코딩에 사용되는 템플릿을 생성하기 위한 방법 및 장치에 관한 것이다.
하이브리드(hybrid) 인코딩 방식을 채택하는 비디오 압축 방식은, 이산 코사인 변환(discrete cosine transform; DCT)를 사용하여 공간(spatial) 리던던시(redundancy)를 활용하고, 움직임 추정(motion estimation; ME)/보상(motion compensation; MC)을 활용하여 시간적(temporal) 리던던시를 제거함으로써 코딩의 효율을 증가시킨다.
H.264 비디오 압축 방식은 높은 효율을 갖는 비디오 코딩 방법이지만, 더욱 향상된 압축률을 갖는 새로운 비디오 코덱(codec)이 요구된다. 이에, HEVC(high efficiency video coding)의 표준화 및 아이디어가 검증된다.
본 발명의 일 실시예는, 주변 블록의 방향성을 이용하여 템플릿을 구성하는 방법 및 이러한 방법에 의해 생성된 템플릿을 제공할 수 있다.
본 발명의 일 실시예는, 인트라 예측을 적용함으로써 생성된 템플릿을 사용하는 움직임 추정 장치 및 방법을 제공할 수 있다.
본 발명의 일측에 따르면, 비디오 디코딩에 사용되는 템플릿에 있어서, 현재 프레임 내의 디코딩된 영역 중 디코딩의 대상인 현재 블록 주변의 하나 이상의 디코딩된 블록으로 구성된 주변 블록 템플릿 및 예측 위치에 기반하여 생성된 예측 블록 템플릿을 포함하고, 상기 예측 위치는 상기 하나 이상의 디코딩된 블록에 인트라 예측을 적용함으로써 생성된, 템플릿이 제공된다.
상기 현재 블록의 크기에 따라 상기 주변 블록의 크기가 변경될 수 있다.
상기 현재 블록의 크기에 따라 상기 인트라 예측의 방향성이 제한될 수 있다.
상기 현재 블록의 크기가 특정 크기 이하이면 상기 인트라 예측은 9개의 방향성을 가질 수 있고, 상기 현재 블록의 크기가 상기 특정 크기보다 크면 상기 인트라 예측은 4개의 방향성을 가질 수 있다.
상기 현재 블록의 모양에 따라 상기 인트라 예측의 방향성이 제한될 수 있다.
상기 현재 블록이 정사각형 모양 또는 직사각형 모양인지 여부에 따라 상기 인트라 예측의 방향성이 제한될 수 있다.
하나 이상의 디코딩된 블록의 방향성 정보는 상기 현재 프레임을 포함하는 비트스트림 내에 포함될 수 있다.
본 발명의 다른 일측에 따르면, 비디오 디코딩에 사용되는 움직임 추정 장치에 있어서, 디코딩의 대상인 현재 블록의 방향성 예측 정보를 포함하는 템플릿을 생성하는 템플릿 생성부 및 상기 생성된 템플릿 및 이전에 디코드된 프레임 간에 템플릿 매칭을 수행함으로써 예측 블록의 최적 위치를 검색하는 최적 위치 검색부를 포함하고, 상기 템플릿 매칭은 상기 방향성 예측 정보를 사용하는, 움직임 추정 장치가 제공된다.
상기 템플릿은, 현재 프레임 내의 디코딩된 영역 중 상기 현재 블록 주변의 하나 이상의 디코딩된 블록으로 구성된 주변 블록 템플릿 및 예측 위치에 기반하여 생성된 예측 블록 템플릿을 포함할 수 있고, 상기 예측 위치는 상기 하나 이상의 디코딩된 블록에 인트라 예측을 적용함으로써 생성될 수 있다.
상기 템플릿 매칭은 상기 주변 블록 템플릿을 사용한 템플릿 매칭 및 상기 예측 블록 템플릿을 사용한 템플릿 매칭의 가중치가 부여된 합일 수 있다.
상기 가중치는 상기 현재 프레임의 신택스 정보에 포함되어 전송될 수 있다.
상기 템플릿 매칭은 SAD(sum of absolute difference) 또는 SSD(sum of squared difference) 중 하나 이상에 기반하여 수행될 수 있다.
상기 현재 프레임의 신택스 정보는 상기 SAD 및 상기 SSD 중 어떤 것을 사용하여 상기 템플릿 매칭을 수행할지를 나타내는 정보를 포함할 수 있다.
본 발명의 또 다른 일측에 따르면, 비디오 디코딩에 사용되는 움직임 추정 방법에 있어서, 제1 프레임을 디코딩하는 단계, 제2 프레임의 제1 블록을 디코딩하는 단계, 상기 제1 블록 및 상기 제1 블록에 인트라 예측을 적용함으로써 생성된 제2 블록에 기반하여 템플릿을 생성하는 단계, 상기 템플릿 및 상기 제1 프레임 간의 템플릿 매칭에 기반하여 제3 블록을 결정하는 단계 및 상기 제3 블록에 기반하여 상기 제2 프레임의 제4 블록을 디코딩하는 단계를 포함하고, 상기 제1 블록인 상기 제4 블록의 주변 블록인, 움직임 추정 방법을 제공한다.
상기 템플릿은 상기 제1 블록에 기반하여 생성된 제1 템플릿 파트 및 상기 제1 블록에 인트라 예측을 적용함으로써 생성된 제2 템플릿 파트를 포함할 수 있다.
상기 템플릿 매칭은 상기 제1 템플릿 파트를 사용한 템플릿 매칭 및 상기 제2 템플릿 파트를 사용한 템플릿 매칭의 가중치가 부여된 합일 수 있다.
상기 제1 프레임은 상기 비디오에서 상기 제2 프레임의 시간적으로 앞선 프레임일 수 있다.
상기 탬플릿 매칭은 SAD 또는 SSD 중 하나 이상을 사용할 수 있다.
주변 블록의 방향성을 이용하여 템플릿을 구성하는 방법 및 이러한 방법에 의해 생성된 템플릿이 제공된다.
인트라 예측을 적용함으로써 생성된 템플릿을 사용하는 움직임 추정 장치 및 방법이 제공된다.
도 1은 본 발명의 일 예에 따른 H.264 비디오 인코더의 구조도이다.
도 2는 본 발명의 일 예에 따른 4x4 인트라 예측의 블록 구조를 설명한다.
도 3은 본 발명의 일 예에 따른 4x4 인트라 예측의 방향을 설명한다.
도 4는 본 발명의 일 예에 따른 4x4 인트라 예측 모드를 설명한다.
도 5는 본 발명의 일 예에 따른 16x16 인트라 예측 모드를 설명한다.
도 6은 본 발명의 일 예에 따른 템플릿(template) 매칭(matching) 방법을 설명한다.
도 7은 본 발명의 일 예에 따른 템플릿 기반 ME/MC 인코더의 구조도이다.
도 8은 본 발명의 일 실시예에 따른 인트라 예측을 사용된 템플릿의 구조 및 생성 방법을 설명한다.
도 9는 본 발명의 일 실시예에 따른 인트라 예측이 사용된 템플릿을 사용한 템플릿 매칭을 설명한다.
도 10은 본 발명의 일 실시예에 따른 움직임 추정 장치의 구조도이다.
도 11은 본 발명의 일 실시예에 따른 비디오 디코딩의 움직임 추정 방법의 흐름도이다.
이하에서, 본 발명의 일 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 예에 따른 H.264 비디오 인코더의 구조도이다.
H.264 비디오 인코더(100)는, 변환(transform) 코딩(coding)과 결합한, 시간적(temporal) 예측(prediction) 및 공간적(spatial) 예측의 하이브리드 인코딩 방식을 사용한다. H.264 비디오 인코더(100)는 DCT, 움직임 추정/보상, 인트라 예측, 루프(loop)-필터 등 여러 기술을 병합하여 사용한다.
H.264 비디오 인코더 (100)는 매크로블록에 대한 비디오 코딩 층을 보인다.
입력 비디오 신호가 나타내는 그림은 블록들로 분리된다. 시퀀스(sequence)의 제1 그림 또는 임의 접근 점(random access point)은 일반적으로 "인트라(intra)" 코드된다. (즉, 그림 자체에 포함된 것 이외의 정보를 사용하지 않고 코드된다.)
인트라 프레임 내의 블록의 샘플(sample) 각각은 이미(previously) 코드된 블록들의 공간적으로 이웃하는(neighboring) 샘플들을 사용하여 예측된다.
인코딩 프로세스(process)는 인트라 예측을 위해 어떻게 이웃하는 샘플들이 이용될 것인지를 선택한다. 이러한 선택은, 전송된(transmitted) 인트라 예측 측면(side) 정보를 사용하여, 인코더 및 디코더에서 동시에 수행(conduct)된다.
모든 시퀀스의 남은(remaining) 그림들 또는 임의 접근 점들 간의 남은 그림들을 위해, 일반적으로 "인터" 코딩이 사용된다. 인터 코딩은 다른 이전에 디코드된 그림들로부터의 예측(움직임 보상)을 채용한다(employ). 인터 예측을 위한 인코딩 프로세스(움직임 추정)는 움직임 데이터의 선택, 참조(reference) 그림의 구성(comprising) 및 블록의 모든 샘플들에게 가해지는(applied) 공간적 이동(displacement)으로 구성된다. 측면 정보로서 전송된 움직임 데이터는 인터 예측 신호(signal)를 동시에 제공하기 위해 인코더 및 디코더에 의해 사용된다.
예측(인트라 또는 인터 중 하나)의 레지듀얼(residual) - 이는 원래의(original) 블록 및 예측된 블록 간의 차이이다. - 은 변환된다. 변환 계수(coefficient)들은 스케일되고(scaled), 양자화된다(quantized). 양자화된 변환 계수들은 엔트로피(entropy) 코드되고, 인트라-프레임 또는 인터-프레임 예측을 위해 측면 정보와 함께 전송된다.
인코더는 다음 블록들 또는 다음 그림을 위한 예측을 수행하기 위해 디코더를 포함한다. 그러므로, 양자화된 변환 계수들은 디코더 측(side)에서와 동일한 방식으로 역(inverse) 스케일되고, 역 변환되어 디코드된 예측 레지듀얼을 결과로서 낳는다. 디코드된 예측 레지듀얼은 예측에 추가된다. 그 추가의 결과는 디코드된 비디오를 출력으로서 제공하는 디-블록킹 필터에게 공급(fed)된다.
H.264 비디오 인코더(100)는 코더 제어부(110), 엔트로피 코딩부(120), 변환/스케일링/양자화부(130), 디코더부(140), 스케일링 및 역 변환부(scaling & inverse transform)(150), 인트라-프레임 예측부(160), 움직임 보상부(170), 움직임 추정부(180) 및 디-블록킹 필터부(190)를 포함할 수 있다.
코더 제어부(110)는 입력 비디오 신호에 따른 제어 데이터를 생성하여 엔트로피 코딩부(120)를 제어한다.
엔트로피 코딩부(120)는 엔트로피 코딩을 수행한다.
변환/스케일링/양자화부(130)는 변환, 스케일링 및 양자화를 수행한다.
디코더부(140)는 전술된 디코더이다.
스케일링 및 역 변환부(scaling & inverse transform)(150)는 스케일링 및 역 변환을 수행한다.
인트라-프레임 예측부(160)는 인트라-프레임 예측을 수행한다.
움직임 보상부(170)는 움직임 보상을 수행한다.
움직임 추정부(180)는 움직임 추정을 수행한다.
전술된 코더의 제어, 엔트로피 코딩, 변환, 스케일링, 양자화, 디코딩, 역 변환, 인트라 프레임 예측, 움직임 보상 및 움직임 추정의 내용이 본 실시예 또는 본 발명의 다른 실시예들을 참조하여 구체적으로 설명된다.
도 2는 본 발명의 일 예에 따른 4x4 인트라 예측의 블록 구조를 설명한다.
인트라 4x4 모드가 사용될 때, 각각의 4x4 블록(210)은 공간적으로 이웃하는 샘플들로부터 예측된다.
즉, 4x4 블록(210)의 상측(upper), 좌측(left), 상좌측(upper left), 상우측(upper right)의 이미 디코드된 영상을 활용함으로써 현재 블록의 방향성이 결정되고, 결정된 방향성이 압축에 이용된다.
"a"에서 "p"까지의 레이블이 붙은 4x4 블록(210)의 16 개의 샘플들은 "A"에서 "P"까지의 레이블이 붙은 인접한 블록들(220) 내에 있는 이전에 디코드된 샘플들(220)을 사용하여 예측된다.
도 3은 본 발명의 일 예에 따른 4x4 인트라 예측의 방향을 설명한다.
9 개의 방향성(directional) 예측 모드가 도 3에서 도시되었다.
각각의 4x4 블록에 대해, 9 개의 방향성 모드들 중 하나가 이용될 수 있다. 이러한 모드들은 다양한 각도들에서의 모서리(edge)들과 같은, 그림 내의 방향성 구조(structure)들을 예측하는데 적합하다.
도 4는 본 발명의 일 예에 따른 4x4 인트라 예측 모드를 설명한다.
9개의 예측 모드(410 내지 490)가 각각 도시되었다.
모드 0(수직(vertical) 예측)(410)에서, 4x4 블록 위의 샘플들은 화살표들이 가리키는 것과 같이 블록들로 복사된다. 모드 1(420)에서(수평(horizontal) 예측)은, 4x4 블록의 좌측의 샘플들이 복사된다는 것을 제외하면 수직 예측과 유사하다. 모드 2(DC 예측)(430)에서, 인접한 샘플들은 도 4에서 도시된 것처럼 평균화(averaged)된다. 남은 6개의 모드들(440 내지490)은 대각선(diagonal) 예측 모드들이다. 대각선 예측 모드들은 각각 대각선 하향-좌향(diagonal down-left)(440), 대각상 하향-우향(down-right)(450), 수직-우향(460), 수평-하향(470), 수직-좌향(480) 및 수평-상향(horizontal-up)(490) 예측으로 불린다.
이름에서 가리키듯이, 모드들은 특정한 방향으로의 구조들을 갖는 텍스처(texture)를 예측하기에 적합화되었다.
도 5는 본 발명의 일 예에 따른 16x16 인트라 예측 모드를 설명한다.
16x16 인트라 예측 모드에서도 이미 디코드된 주변 블록이 활용되지만, 4개의 방향성만이 활용된다.
모드 0(수직 예측)(510), 모드 1(수평 예측)(520), 모드 2(DC 예측)(530) 및 모드 3(평면(plane) 예측)(540)이 각각 도시되었다.
평면 예측은 위치-특정 선형 조합(position-specific linear combination) 예측이고, 천천히 변하는 영역에 유리하다.
도 2 내지 도 5를 참조하여 전술된 인트라 예측에 따라, 현재 인코딩/디코딩할 블록(이하, 현재 블록으로 명명한다.) 주변의 이미 인코드/디코드된 정보를 활용함으로써 현재 블록이 방향성이 예측된다. 최적의 방향성 정보를 이용함으로써 현재 블록의 예측 블록이 획득된다. 원본 블록에서 예측 블록이 추출되고, 추출된 예측 블록은 DCT 및 양자화 과정을 거침으로서 인코드된다.
도 2 내지 도 5를 참조하여 전술된 인트라 예측은 H.264 비디오 인코딩 방법에서 사용되는 것일 수 있다.
도 6은 본 발명의 일 예에 따른 템플릿(template) 매칭(matching) 방법을 설명한다.
템플릿 기반(based) ME/MC는 현재 코딩할 현재 블록의 주변(상측, 좌측, 상좌측 및 상우측)의 이미 코딩/디코딩된 영상 정보를 템플릿으로 생성하고, 생성된 템플릿을 사용하여 참조 프레임에서 ME/MC를 수행한다.
현재 프레임(현재 디코드되는 프레임)(650)에서, 현재 블록(660) 이전까지 디코드된 영역(또는, 디코드된 영역의 일부)이 템플릿(670)으로 구성된다.
템플릿(670)이 구성되면, 이전에 디코드된 프레임(610) 내 일정 영역이 검색 영역(search range)(620)으로 설정된다. 설정된 검색 영역(620) 내에서 움직임 추정이 수행된다. 움직임 추정에 의해 최적 위치(630)가 검색된다.
최적 위치(630)에서 현재 블록(660)에 대응하는 예측 블록(640)이 획득된다. 획득된 예측 블록(640)은 현재 블록(660)의 예측에 사용된다.
코더 및 디코더가 전술된 동일한 프로세스(process)를 수행한다면, 디코더는 최적의 예측 영역을 찾을 수 있다. 따라서, 디코더에 (종래의 비디오 코덱들과는 달리) 움직임 벡터가 전송되지 않을 수 있다. 움직임 벡터는 코딩 시에 전송될 필요가 없고, 압축(또는 코딩) 효율이 향상된다.
그러나 이러한 프로세스에서는, 디코더가 ME/MC를 수행해야 하므로, 디코더의 계산량이 증대된다. 또한, 생성된 템플릿은 현재 블록을 포함할 수 없다(현재 블록은 아직 디코드되지 않음) 따라서, 템플릿의 효용이 떨어진다.
도 7은 본 발명의 일 예에 따른 템플릿 기반 ME/MC 인코더의 구조도이다.
템플릿 기반 인코더(700)는 전술된 H.264 비디오 인코더(100)의 코더 제어부(110), 엔트로피 코딩부(120), 변환/스케일링/양자화부(130), 디코더부(140), 스케일링 및 역 변환부(scaling & inverse transform)(150), 인트라-프레임 예측부(160), 움직임 보상부(170) 및 디-블록킹 필터부(190)를 포함할 수 있다. 상기 구성 요소들(110, 120, 130, 140, 150, 160, 170 및190)에 대한 전술된 설명은 생략한다.
템플릿 기반 인코더(700)는 움직임 추정부(180) 대신 템플릿 움직임 추정부(710)를 포함한다.
템플릿 움직임 추정부(710)는 도 2 내지 도 6을 참조하여 전술된 템플릿 매칭 방법에 기반한 움직임 추정을 수행한다.
템플릿 움직임 추정부는 하기의 수학식 1을 사용하여 SAD(Sum of Absolute Difference) 값을 계산함으로써 최적 위치를 검색할 수 있다.
Figure pat00001
vy, vx는 움직임 백터를 나타낸다. R은 참조 프레임(즉, 이전 디코드된 프레임(610))의 픽셀(pixel) 정보이고, T는 현재 블록(660)에 따라 구성된 템플릿(670)의 픽셀 정보이다.
즉, 수학식 1을 사용함으로써, R T 로 정의된 템플릿(670) 영역 및 이전 디코드된 프레임(610) 간의 SAD 값이 계산될 수 있다. 계산된 SAD 값을 이용함으로써 정해진 검색 영역(620) 내에서 최소의 SAD 값을 갖는 움직임 벡터가 구해진다(즉, 계산된다.) 움직임 벡터를 사용하여 템플릿의 위치가 계산될 수 있고, 예측 블록(640)이 구해진다.
수학식 1은 현재 프레임(650)의 현재 블록(660)에 대한 정보를 포함하지 않는다. 따라서, 본 실시예에서 사용한 템플릿 기반 인코딩의 예측 성능은 제한된다.
도 8은 본 발명의 일 실시예에 따른 인트라 예측을 사용된 템플릿의 구조 및 생성 방법을 설명한다.
인트라 예측이 사용된 템플릿(810)은 주변 블록 템플릿(820) 및 예측 블록 템플릿(830)을 포함할 수 있다. 일반적으로, 인트라 예측이 사용된 템플릿(810)은 주변 블록 템플릿((820) 및 예측 블록 템플릿(830)으로 구성된다. 도시된 것처럼, 템플릿(810)은 사각형 모양을 가질 수 있다. 수 있다. 예측 블록 템플릿(830)은 템플릿(810)의 하단 우측 등 한 모서리에 위치하는 사각형 모양을 가질 수 있다. 주변 블록 템플릿(820)은 템플릿(810)에서 예측 블록 템플릿(830)을 제외한 나머지 부분의 모양을 가질 수 있다.
현재 프레임(840)에서 디코딩되는 현재 블록(870)이 도시되었고, 이미 디코딩된 영역(860)이 도시되었다.
주변 블록(860)은 현재 프레임(840)의 디코딩된 영역(850) 내에 있는 현재 블록(870) 주변(상측, 좌측, 상좌측 및 상우측)의 하나 이상의 디코드된 블록들이다.
주변 블록 템플릿(820)은 주변 블록(860)이다. 즉, 주변 블록 템플릿(820)은 도 6에서 설명된 템플릿(670)일 수 있다.
도시된 것처럼, 주변 블록(860) 및 현재 블록(870)의 합쳐진 모양은 사각형일 수 있다. 현재 블록(870)은 합쳐진 사각형 모양의 하단 우측 등 한 모서리에 위치하는 사각형 모양을 가질 수 있다. 주변 블록(820)은 합쳐진 사각형에서 현재 블록(870)을 제외한 나머지 부분의 모양을 가질 수 있다.
주변 블록(860)에 인트라 예측이 적용되어 인트라 예측 블록(880)이 생성된다. 즉, 주변 블록에, 예컨대 H.264에서 사용되는 것과 같은, 인트라 예측이 적용됨으로써 최적의 예측 위치가 검색된다. 검색된 예측 위치에 기반하여 인트라 예측 블록(880)이 생성된다.
예측 블록 템플릿(830)은 인트라 예측 블록(880)이다.
즉, 인트라 예측이 사용된 템플릿(810)은 주변 블록(860) 및 인트라 예측 블록(880)으로 구성된 것으로 볼 수 있다.
현재 블록(870)은 다양한 크기를 가질 수 있다. 현재 블록(870)의 크기에 따라 디코딩된 블록 또는 주변 블록(860)의 크기도 변경될 수 있다
현재 블록(870)의 크기에 따라 인트라 예측의 방향성이 제한될 수 있다.
예컨대, 현재 블록(870)이 8x8 이하일 경우, 도 4를 참조하여 설명된 것과 같이, 인트라 예측은 9개의 방향성을 가질 수 있고, 현재 블록(870)이 8x8보다 클 경우, 인트라 예측은 4개의 방향성을 가질 수 있다.
현재 블록(870)의 모양에 따라 인트라 예측의 방향성이 제한될 수 있다.
예컨대, 현재 블록(800)이 4x4, 8x8 또는 16x16과 같은 정사각형이 아닌 4x8 또는 8x4와 같은 직사각형 모양을 가질 경우, 4개의 방향성만으로 예측 블록이 예측될 수 있다.
각 블록의 방향성 정보는 엔트로피 코딩될 수 있고, 현재 프레임을 포함하는 비트스트림 내에서 전송될 수 있다. 엔트로피 코딩은 H.264의 인트라 예측과 같은 방법으로 된 것일 수 있다.
인트라 예측이 사용된 템플릿(810)은 인트라 예측을 통한 방향성 예측으로, 템플릿이 현재 블록의 정보를 포함하고 있지 않을 경우의 단점을 보완한다.
인트라 예측이 사용된 템플릿(810)은 현재 블록의 방향성 예측 정보를 포함한다. 따라서, 인트라 예측이 사용된 템플릿(810)을 사용함으로써 템플릿 매칭의 정확성이 향상될 수 있다.
도 9는 본 발명의 일 실시예에 따른 인트라 예측이 사용된 템플릿(810)을 사용한 템플릿 매칭을 설명한다.
인트라 예측이 사용된 템플릿(810)이 구성되면, 이전에 디코드된 프레임(900) 내 일정 영역이 검색 영역(910)으로 설정된다. 설정된 검색 영역(910) 내에서 움 움직임 추정이 수행된다. 움직임 추정에 의해 최적 위치(920)가 검색된다.
최적 위치(920)에서 현재 블록(870)에 대응하는 예측 블록(930)이 획득된다. 획득된 예측 블록(930)은 현재 블록(870)의 예측에 사용된다.
탬플릿 매칭은 하기의 수학식 2에 의해 수행될 수 있다.
수학식 2에 따른 템플릿 매칭은 방향성 예측 정보를 사용하여 TSAD를 계산한다
Figure pat00002
vy, vx는 움직임 백터를 나타낸다.
T는 인트라 예측이 사용된 템플릿(810) 중 주변 블록 템플릿(820)의 영역(즉, 현재 블록(870)을 제외한 영역)을 나타낸다.
IP는 인트라 예측이 사용된 템플릿(810) 중 예측 블록 템플릿(830)의 영역(즉, 현재 블록(870)의 영역)을 나타낸다.
w는 가중치(weight) 값이다. w의 값이 1이면, 주변 블록 템플릿(820) 만을 사용하는 템플릿 매칭(또는, 움직임 예측)이 수행되며, w의 값이 0이면, 예측 블록 템플릿(830) 만을 사용하는 템플릿 매칭(또는, 움직임 예측)이 수행된다.
w는 주변 블록 템플릿(20) 및 예측 블록 템플릿(830)의 템플릿 매칭에 있어서의 중요도를 조절할 수 있다. 즉, 템플릿 매칭은 주변 블록 템플릿(820)을 사용한 템플릿 매칭 및 예측 블록 템플릿(830)을 사용한 템플릿 매칭의 가중치가 부여된 합일 수 있다. 이러한 가중치는 w의 값에 의해 조절된다.
w 값은 인코딩(또는, 압축) 시에 스트림의 신택스(syntax) 정보에 포함될 수 있다.
템플릿 매칭은 SAD 뿐만 아니라, SSD(sum of squared difference)에 기반하여 수행될 수 있다.
수학식 2에서 나타난 것 처럼, n의 값이 1이면 SAD가, 2이면 SSD가 템플릿 매칭에 사용된다.
n 값은 인코딩(또는, 압축) 시에 스트림의 신택스(syntax) 정보에 포함될 수 있다.
수학식 2에 의해 검색 영역(910) 내에서 최소의 TSAD 값이 계산될 수 있다. 최소의 TSAD 값에 대응하는 움직임 벡터 (vy, vx)가 추정된다.
움직임 벡터에 의해 TSAD 값에 대응하는 IP 영역이 결정되고, 결정된 IP 영역에 의해 디코드된 프레임(900) 내에서 예측 블록(930)이 검색된다.
일반적으로, 비디오 압축에서는 인터-프레임(화면간) 예측 및 인트라(intra)-프레임(화면내) 예측이 독립적으로 사용된다. 본 실시예는 인트라 예측을 템플릿 매칭에 활용하는 인트라-인터 프레임 예측 방법을 제시한다. 본 실시예는 인트라-프레임 및 인터-프레임 정보를 결합함으로써 압축 효율을 향상시킬 수 있다.
도 10은 본 발명의 일 실시예에 따른 움직임 추정 장치의 구조도이다.
움직임 추정 장치(1000)는 템플릿 생성부(1010), 최적 위치 검색부(1020)를 포함하고, 예측 블록 결정부(1030)를 더 포함할 수 있다.
템플릿 생성부(1010)는 디코딩의 대상인 현재 블록(870)의 방향성 예측 정보를 포함하는 템플릿(810)을 생성한다.
최적 위치 검색부는 생성된 템플릿(810) 및 이전에 디코드된 프레임(900) 간에 템플릿 매칭을 수행함으로써 예측 블록(930)의 최적 위치를 검색한다. 상기의 템플릿 매칭은 도 9를 참조하여 전술된 템플릿 매칭일 수 있다.
예측 블록 결정부(1030)는 검색된 최적 위치에 따라 이전에 디코드된 프레임(900) 내에서 예측 블록(930)을 결정한다.
앞서 도 1 내지 도 9를 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
도 11은 본 발명의 일 실시예에 따른 비디오 디코딩의 움직임 추정 방법의 흐름도이다.
단계(S1110)에서, 제1 프레임이 디코딩된다. 제1 프레임은 이전 디코딩된 프레임(900)일 수 있다.
단계(S1120)에서, 제2 프레임의 제1 블록이 디코딩된다. 제2 프레임은 현재 프레임(840)일 수 있다. 제1 블록은 주변 블록을 구성하는 블록들 중 하나 이상의 블록일 수 있다.
제1 프레임 및 제2 프레임은 비디오 스트림의 프레임이다. 제1 프레임은 제2 프레임의 시간적으로 앞선 프레임이다.
단계(S1130)에서, 제1 블록 및 제1 블록에 인트라 예측을 적용함으로써 생성된 제2 블록에 기반하여 템플릿이 생성된다. 제2 블록은 인트라 예측 블록(880)일 수 있다. 템플릿은 인트라 예측이 사용된 템플릿(810)일 수 있다.
템플릿은 제1 블록에 기반하여 생성된 제1 템플릿 파티 및 제1 블록에 인트라 예측을 적용함으로써 생성된 제2 템플릿 파트를 포함할 수 있다. 제1 템플릿 파트는 주변 블록 템플릿(810)일 수 있고, 제2 템플릿 파트는 예측 블록 템플릿(830)일 수 있다.
단계(S1140)에서, 템플릿 및 제1 프레임 간의 템플릿 매칭에 기반하여 제3 블록이 검색된다. 제3 블록은 예측 블록(930)일 수 있다.
단계(S1150)에서, 제3 블록에 기반하여 제2 프레임의 제4 블록이 디코딩된다. 제4 블록은 현재 블록(870)일 수 있다. 제1 블록은 제4 블록의 주변 블록일 수 있다.
앞서 도 1 내지 도 10을 참조하여 설명된 본 발명의 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
810: 인트라 예측이 사용된 템플릿
1000: 움직임 추정 장치

Claims (18)

  1. 비디오 디코딩에 사용되는 템플릿에 있어서,
    현재 프레임 내의 디코딩된 영역 중 디코딩의 대상인 현재 블록 주변의 하나 이상의 디코딩된 블록으로 구성된 주변 블록 템플릿; 및
    예측 위치에 기반하여 생성된 예측 블록 템플릿을 포함하고,
    상기 예측 위치는 상기 하나 이상의 디코딩된 블록에 인트라 예측을 적용함으로써 생성된, 템플릿.
  2. 제1항에 있어서,
    상기 현재 블록의 크기에 따라 상기 주변 블록의 크기가 변경되는, 템플릿.
  3. 제1항에 있어서,
    상기 현재 블록의 크기에 따라 상기 인트라 예측의 방향성이 제한되는, 템플릿.
  4. 제3항에 있어서,
    상기 현재 블록의 크기가 특정 크기 이하이면 상기 인트라 예측은 9개의 방향성을 갖고, 상기 현재 블록의 크기가 상기 특정 크기보다 크면 상기 인트라 예측은 4개의 방향성을 갖는, 템플릿.
  5. 제1항에 있어서,
    상기 현재 블록의 모양에 따라 상기 인트라 예측의 방향성이 제한되는, 템플릿.
  6. 제5항에 있어서,
    상기 현재 블록이 정사각형 모양 또는 직사각형 모양인지 여부에 따라 상기 인트라 예측의 방향성이 제한되는, 템플릿.
  7. 제1항에 있어서,
    상기 하나 이상의 디코딩된 블록의 방향성 정보는 상기 현재 프레임을 포함하는 비트스트림 내에 포함된, 템플릿.
  8. 비디오 디코딩에 사용되는 움직임 추정 장치에 있어서,
    디코딩의 대상인 현재 블록의 방향성 예측 정보를 포함하는 템플릿을 생성하는 템플릿 생성부; 및
    상기 생성된 템플릿 및 이전에 디코드된 프레임 간에 템플릿 매칭을 수행함으로써 예측 블록의 최적 위치를 검색하는 최적 위치 검색부;
    를 포함하고, 상기 템플릿 매칭은 상기 방향성 예측 정보를 사용하는, 움직임 추정 장치.
  9. 제8항에 있어서,
    상기 템플릿은,
    현재 프레임 내의 디코딩된 영역 중 상기 현재 블록 주변의 하나 이상의 디코딩된 블록으로 구성된 주변 블록 템플릿; 및
    예측 위치에 기반하여 생성된 예측 블록 템플릿을 포함하고,
    상기 예측 위치는 상기 하나 이상의 디코딩된 블록에 인트라 예측을 적용함으로써 생성된, 움직임 추정 장치.
  10. 제9항에 있어서,
    상기 템플릿 매칭은 상기 주변 블록 템플릿을 사용한 템플릿 매칭 및 상기 예측 블록 템플릿을 사용한 템플릿 매칭의 가중치가 부여된 합인, 움직임 추정 장치.
  11. 제10항에 있어서,
    상기 가중치는 상기 현재 프레임의 신택스 정보에 포함되어 전송되는, 움직임 추정 장치.
  12. 제8항에 있어서,
    상기 템플릿 매칭은 SAD(sum of absolute difference) 또는 SSD(sum of squared difference) 중 하나 이상에 기반하여 수행되는, 움직임 추정 장치.
  13. 제12항에 있어서,
    상기 현재 프레임의 신택스 정보는 상기 SAD 및 상기 SSD 중 어떤 것을 사용하여 상기 템플릿 매칭을 수행할지를 나타내는 정보를 포함하는, 움직임 추정 장치.
  14. 비디오 디코딩에 사용되는 움직임 추정 방법에 있어서,
    제1 프레임을 디코딩하는 단계;
    제2 프레임의 제1 블록을 디코딩하는 단계;
    상기 제1 블록 및 상기 제1 블록에 인트라 예측을 적용함으로써 생성된 제2 블록에 기반하여 템플릿을 생성하는 단계;
    상기 템플릿 및 상기 제1 프레임 간의 템플릿 매칭에 기반하여 제3 블록을 결정하는 단계; 및
    상기 제3 블록에 기반하여 상기 제2 프레임의 제4 블록을 디코딩하는 단계
    를 포함하고, 상기 제1 블록인 상기 제4 블록의 주변 블록인, 움직임 추정 방법.
  15. 제14항에 있어서,
    상기 템플릿은 상기 제1 블록에 기반하여 생성된 제1 템플릿 파트 및 상기 제1 블록에 인트라 예측을 적용함으로써 생성된 제2 템플릿 파트를 포함하는, 움직임 추정 방법.
  16. 제15항에 있어서,
    상기 템플릿 매칭은 상기 제1 템플릿 파트를 사용한 템플릿 매칭 및 상기 제2 템플릿 파트를 사용한 템플릿 매칭의 가중치가 부여된 합인, 움직임 추정 방법.
  17. 제14항에 있어서,
    상기 제1 프레임은 상기 비디오에서 상기 제2 프레임의 시간적으로 앞선 프레임인, 움직임 추정 방법.
  18. 제14항에 있어서,
    상기 탬플릿 매칭은 SAD 또는 SSD 중 하나 이상을 사용하는, 움직임 추정 방법.
KR1020100110322A 2010-11-08 2010-11-08 템플릿 매칭 및 방향 예측을 사용한 비디오 압축 방법 및 장치 KR101396754B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100110322A KR101396754B1 (ko) 2010-11-08 2010-11-08 템플릿 매칭 및 방향 예측을 사용한 비디오 압축 방법 및 장치
US13/291,568 US20120288002A1 (en) 2010-11-08 2011-11-08 Method and apparatus for compressing video using template matching and motion prediction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100110322A KR101396754B1 (ko) 2010-11-08 2010-11-08 템플릿 매칭 및 방향 예측을 사용한 비디오 압축 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120049435A true KR20120049435A (ko) 2012-05-17
KR101396754B1 KR101396754B1 (ko) 2014-05-28

Family

ID=46267215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100110322A KR101396754B1 (ko) 2010-11-08 2010-11-08 템플릿 매칭 및 방향 예측을 사용한 비디오 압축 방법 및 장치

Country Status (2)

Country Link
US (1) US20120288002A1 (ko)
KR (1) KR101396754B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018021585A1 (ko) * 2016-07-26 2018-02-01 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
KR20180032089A (ko) * 2016-09-21 2018-03-29 삼성전자주식회사 이미지를 표시하는 전자 장치 및 그 제어 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705627B2 (en) * 2008-07-25 2014-04-22 Sony Corporation Image processing apparatus and method
KR101356448B1 (ko) 2008-10-01 2014-02-06 한국전자통신연구원 예측 모드를 이용한 복호화 장치
US8867854B2 (en) * 2008-10-01 2014-10-21 Electronics And Telecommunications Research Institute Image encoder and decoder using undirectional prediction
US10911768B2 (en) * 2018-07-11 2021-02-02 Tencent America LLC Constraint for template matching in decoder side motion derivation and refinement
CN117426096A (zh) * 2021-05-13 2024-01-19 抖音视界有限公司 用于视频处理的方法、设备和介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222641B (zh) * 2007-01-11 2011-08-24 华为技术有限公司 帧内预测编解码方法及其装置
KR101365570B1 (ko) * 2007-01-18 2014-02-21 삼성전자주식회사 인트라 예측 부호화, 복호화 방법 및 장치
US20100118940A1 (en) * 2007-04-19 2010-05-13 Peng Yin Adaptive reference picture data generation for intra prediction
TWI500308B (zh) * 2008-03-09 2015-09-11 Lg Electronics Inc 視訊訊號之編碼或解碼方法及其裝置
JP2010016454A (ja) * 2008-07-01 2010-01-21 Sony Corp 画像符号化装置および方法、画像復号装置および方法、並びにプログラム
WO2010017166A2 (en) * 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
US20100246675A1 (en) * 2009-03-30 2010-09-30 Sony Corporation Method and apparatus for intra-prediction in a video encoder
JP2010258738A (ja) * 2009-04-24 2010-11-11 Sony Corp 画像処理装置および方法、並びにプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018021585A1 (ko) * 2016-07-26 2018-02-01 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 방법 및 장치
US11234003B2 (en) 2016-07-26 2022-01-25 Lg Electronics Inc. Method and apparatus for intra-prediction in image coding system
KR20180032089A (ko) * 2016-09-21 2018-03-29 삼성전자주식회사 이미지를 표시하는 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
US20120288002A1 (en) 2012-11-15
KR101396754B1 (ko) 2014-05-28

Similar Documents

Publication Publication Date Title
US9900610B2 (en) Method and device for encoding/decoding image by inter prediction using random block
KR101667282B1 (ko) 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치
KR101630147B1 (ko) 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치
CA2820901C (en) Method and apparatus for encoding/decoding motion vector
KR101396754B1 (ko) 템플릿 매칭 및 방향 예측을 사용한 비디오 압축 방법 및 장치
WO2012176381A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2009049519A (ja) 動画像符号化装置の予測動きベクトル生成装置
KR101286071B1 (ko) 부호화기 및 그 인트라 예측 방법
KR101525325B1 (ko) 인트라 예측 모드 결정 방법 및 그 장치
JP2007184846A (ja) 動画像符号化装置
KR20150031164A (ko) 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치
KR20130062960A (ko) 움직임 벡터를 복호화하는 방법
KR20130055316A (ko) 화면내 예측 부호화를 위한 영상 부호화/복호화 방법 및 장치

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
FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180426

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee