KR100734858B1 - 효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위메모리 인덱싱 방법 - Google Patents

효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위메모리 인덱싱 방법 Download PDF

Info

Publication number
KR100734858B1
KR100734858B1 KR1020050119060A KR20050119060A KR100734858B1 KR 100734858 B1 KR100734858 B1 KR 100734858B1 KR 1020050119060 A KR1020050119060 A KR 1020050119060A KR 20050119060 A KR20050119060 A KR 20050119060A KR 100734858 B1 KR100734858 B1 KR 100734858B1
Authority
KR
South Korea
Prior art keywords
pixel
block
quarter
pixels
memory
Prior art date
Application number
KR1020050119060A
Other languages
English (en)
Other versions
KR20070059785A (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 KR1020050119060A priority Critical patent/KR100734858B1/ko
Publication of KR20070059785A publication Critical patent/KR20070059785A/ko
Application granted granted Critical
Publication of KR100734858B1 publication Critical patent/KR100734858B1/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/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
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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

Abstract

본 발명에서는 H.264 비디오 코딩 표준에 사용되는 1/4 화소 단위 움직임 예측의 속도를 향상시키기 위한 메모리 인덱싱 방법을 제공한다. 최근에 높은 부호화 효율을 갖는 H.264 비디오 표준 기술이 등장하였으나 구현시 요구되는 메모리 대역폭과 연산량의 복잡도가 높기 때문에 실시간 응용에 적용하는데 어려움이 있다. 특히 기존의 1/2 화소 단위보다 복잡도가 높은 1/4 화소 단위의 움직임 예측을 수행함으로 인해 효율적인 화소 보간 방식과 움직임 예측 방식이 요구된다. 본 발명에서는 움직임 예측 알고리즘을 고려한 1/4 단위의 화소 보간의 메모리 저장법을 통해 속도를 높이고자 한다.
H.264, 메모리 인덱싱, 화소 보간

Description

효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위 메모리 인덱싱 방법{Efficient Memory Indexing Method of Quarter-sample Block for Quarter-sample-block Motion Estimation}
도 1은 1/4 화소 단위 블록 움직임 예측 방식을 설명하기 위한 다이어그램이다.
도 2는 1/2 화소 및 1/4 화소 보간 방식을 설명하기 위한 다이어그램이다.
도 3은 기존의 방식으로 저장된 1/4 보간된 화소의 접급 방식을 설명하기 위한 다이어그램이다.
도 4는 인덱싱을 이용한 1/4 보간된 화소의 메모리 방식을 설명하기 위한 다이어그램이다.
도 5는 인덱싱을 이용해 저장된 1/4 보간된 화소의 접급 방식을 설명하기 위한 다이어그램이다.
본 발명은 H.264 표준 부호화 기술에 관한 것으로, 보다 상세하게는 H.264 비디오 코딩 표준에 사용되는 1/4 화소 단위 움직임 예측의 속도를 향상시키기 위 한 메모리 인덱싱 방법에 관한 것이다.
최근 국제 비디오 부호화 표준기관인 ITU-T와 ISO가 함께 JVT(Joint Video Team)를 구성하고 기존의 MPEG-2, H.263, MPEG-4와 같은 비디오 부호화 표준보다 압축 성능이 나은 H.264를 발표하였다.
H.264 표준은 기존의 비디오 부호화 방식들과 마찬가지로, 이미 부호화된 이전 프레임으로부터의 움직임을 추정(Motion Estimation)하여 예측신호를 구성하고, 예측오류 신호를 움직임 보상(Motion Compensation)과 DCT 변환 방법을 혼합하여 구성한다. 여기서 H.264 표준에서는 압축 성능을 높이기 위해 기존의 방식에 비해 더 작은 블록 사이즈인 4x4 블록단위까지 움직임 예측을 수행하고, 1/4 화소 단위까지 움직임 보정을 수행한다. 이러한 기술들을 기반으로 H.264 비디오 부호화 표준은 기존의 비디오 부호화 표준인 MPEG-4 ASP에 비하여 2배의 압축 성능을 가진다.
H.264 코덱 표준 부호화 기술은 인터넷이나 이동통신, 또는 초고속정보통신망을 통한 다양한 멀티미디어 통신 서비스에 사용될 핵심적인 기술로 그 응용이 기대되고 있다. 따라서 H.264 비디오 코덱을 이용한 비디오 데이터를 압축하는 기술과 성능 향상을 위한 연구가 필요하다.
H.264 코덱 표준 부호화 기술은 구현시 요구되는 메모리 대역폭과 연산량의 복잡도가 높기 때문에 실시간 응용에 적용하는데 어려움이 있다. 특히 기존의 1/2 화소 단위보다 복잡도가 높은 1/4 화소 단위의 움직임 예측을 수행함으로 인해 효율적인 화소 보간 방식과 움직임 예측 방식이 요구된다.
기존에도 연산량을 줄여 부호화 속도를 향상시키는 방법으로 한국공개특허 2004-110755 (2004. 12. 31), 2005-61762 (2005. 6. 23), 및 2005-43511 (2005. 5. 11) 등이 있으나, 메모리 저장 방식의 변경을 통한 부호화 속도를 향상하는 것에 대한 가르침은 없다.
본 발명이 이루고자 하는 기술적 과제는 1/4 단위로 보간된 화소를 메모리에 저장할 때 1/4 단위의 움직임 예측 알고리즘을 고려한 인덱싱을 통해 저장함으로써 움직임 예측 시 속도를 높이는 효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위 메모리 인덱싱 방법을 제공한다.
본 발명은 상술한 기술적 과제를 달성하기 위하여, H.264 비디오 코딩 표준에서 사용되는 가변 블록 단위의 움직임 예측의 1/4 화소 단위 메모리 인덱싱 방법에 있어서,
하나의 매크로블록을 16x16, 16x8, 8x16, 8x8 블록으로 나누고 다시 8x8 블록을 8x4, 4x8, 4x4 블록으로 나누어 7가지 모드의 각 블록 모드에 대해서 정수 화소 단위의 탐색을 하여 정수 화소를 찾아 메모리 인덱싱하는 단계;
상기 구해진 정수 화소를 중심으로 하여 1/2 화소 보간을 수행하여 1/2 화소를 찾아 메모리 인덱싱하는 단계; 및
상기 구해진 1/2 화소를 중심으로 하여 1/4화소 보간을 수행하여 1/4화소를 찾아 메모리 인덱싱하는 단계를 포함하는 1/4 화소 단위 메모리 인덱싱 방법을 제공한다.
바람직하기로는 상기 1/4 단위의 화소 보간의 메모리 인덱스 구조는 각 블록의 화소 보간 결과값을 imgY[인덱스][컬럼][로우]에 저장함을 특징으로 한다.
이하, 본 발명의 바람직한 실시예에 대해서 첨부된 도면을 참조하여 상세히 설명하기로 한다.
H.264 비디오 코딩 표준에서 사용되는 가변 블록 단위의 움직임 예측은 도 1과 같다. 하나의 MB(Macro Block)를 16x16, 16x8, 8x16, 8x8 블록으로 나누고 다시 8x8 블록을 8x4, 4x8, 4x4 블록으로 나누어 7가지 모드의 움직임 예측을 한다. 각 블록 모드에 대해 정수 화소 단위에서는 주어진 검색 영역(101)에서 최적의 움직임 벡터(102)를 탐색하고, 1/2화소 단위에서는 정수 화소 단위에서 찾은 움직임 벡터 주변의 1/2 화소 단위의 ±1 화소(103)를 검색하여 1/2 화소 단위의 최적 움직임 벡터(104)를 찾는다. 다시 1/4 화소 단위에서는 1/2 화소 단위에서 찾은 움직임 벡터 주변의 1/4 화소 단위의 ±1 화소를 검색(105)하여 1/4 화소 단위의 최적 움직임 벡터(106)를 찾는다. 도 1에서, 101은 정수 화소 단위 탐색 영역을 나타내고, 102는 최적 정수 화소를 나타내고, 103은 1/2 화소 단위 탐색 영역을 나타내고, 104는 최적 1/2 화소를 나타내고, 105는 1/4화소 단위 탐색 영역을 나타내고, 106은 최적 1/4 화소를 나타낸다.
도 2는 H.264 비디오 코딩 표준에서 사용되는 움직임 예측을 하기 위해 1/2 화소 보간과 1/4 화소 보간을 수행하는 방식을 보여준다. 1/2 화소인 b 화소(201)와 h 화소(202)를 구하는 식은 다음과 같다.
b1=E-5F+20G+20H-5I+J
h1=A-5C+20G+20M-5R+T
Figure 112005071584981-pat00001
Figure 112005071584981-pat00002
도 2에서 aa 화소부터 hh 화소까지, 그리고 j, m, s 화소는 1/2 화소이고, 구하는 식은 위와 동일하다.
한편, 도 2에서 1/4 화소인 a 화소 (203), d 화소(204), e화소(205) 를 구하는 식은 다음과 같다.
Figure 112005071584981-pat00003
Figure 112005071584981-pat00004
Figure 112005071584981-pat00005
마찬가지로, 도 2에서 c, f, g, I, k, n, p, q, r 화소는 1/4 화소이고, 구하는 식은 위와 동일하다.
도 3은 도 2에서 설명한 1/2 화소 보간과 1/4 화소 보간을 수행한 후의 메모 리 상태를 보여준다. 각각의 화소는 8비트로 표현됨으로 현재의 32-비트 CPU에서는 4개의 화소가 하나의 워드(word)로 저장된다 (301). 이 상태에서 도 1에서 설명한 움직임 벡터 예측을 위해 1/2 화소 단위 블록이나 1/4 화소 단위 블록을 가져올 경우(303), 화소의 수만큼의 비트 연산이 이루어지게 된다 (302). 따라서 심각한 성능 저하를 가져온다.
상기의 성능 저하를 해결하기 위해 본 발명은 도 4와 같은 방식으로 1/2 화소 보간과 1/4 화소 보간을 수행한다. 도 4와 같이 2x2 블록을 화소 보간할 경우, 정수 화소(401)를 중심으로 1/2 화소 보간(402)을 수행한 후 1/4 화소 보간(403)을 수행한다. 이 때 화소 보간 방식은 위에서 설명한 방식과 동일하다. 각각의 화소안의 숫자는 화소 보간을 수행한 후에 저장될 메모리의 인덱스이다.
도 5에서는 화소 보간 후에 메모리에 저장되는 방식을 나타낸다. NxN 블록에서 사용되는 메모리의 자료 구조는 다음과 같다.
byte imgY[16][N+1][N+1] // [index][column][row]
이 때, 2x2 블록을 화소 보간 할 경우, 11x11 블록이 만들어지고 (501), 결과값을 위의 imgY[16][3][3] 자료 구조에 저장한다 (502). 이 상태에서 도 1에서 설명한 움직임 벡터 예측을 위해 1/2 화소 단위 블록이나 1/4 화소 단위 블록을 가져올 경우, 도 3에서와 같은 비트 연산 없이 메모리의 인덱스를 지정해 가져오게 됨으로써 비트 연산 감소만큼의 성능 향상을 가져온다.
H.264 코덱 표준 부호화 기술은 차세대 멀티미디어 통신 서비스에 사용될 핵 심적인 기술이므로, 부호화 과정에서의 최적화가 반드시 필요하다. 본 발명에서는 1/4 단위로 보간된 화소를 메모리에 저장할 때 1/4 단위의 움직임 예측 알고리즘을 고려한 인덱싱을 통해 저장함으로써 움직임 예측 시 속도를 높일 수 있다. 따라서 본 발명의 메모리 인덱싱 방법은 H.264 표준 부호화 기술을 실시간 응용에 적용하는데 효율적인 구현이 가능해 진다.

Claims (2)

  1. H.264 비디오 코딩 표준에서 사용되는 가변 블록 단위의 움직임 예측의 1/4 화소 단위 메모리 인덱싱 방법에 있어서,
    하나의 매크로블록을 16x16, 16x8, 8x16, 8x8 블록으로 나누고 다시 8x8 블록을 8x4, 4x8, 4x4 블록으로 나누어 7가지 모드의 각 블록 모드에 대해서 정수 화소 단위의 탐색을 하여 정수 화소를 찾아 메모리 인덱싱하는 단계;
    상기 구해진 정수 화소를 중심으로 하여 1/2 화소 보간을 수행하여 1/2 화소를 찾아 메모리 인덱싱하는 단계; 및
    상기 구해진 1/2 화소를 중심으로 하여 1/4화소 보간을 수행하여 1/4화소를 찾아 메모리 인덱싱하는 단계를 포함하는 1/4 화소 단위 메모리 인덱싱 방법.
  2. 제1항에 있어서, 상기 1/4 단위의 화소 보간의 메모리 인덱스 구조는 각 블록의 화소 보간 결과값을 imgY[인덱스][컬럼][로우]에 저장함을 특징으로 하는 1/4 화소 단위 메모리 인덱싱 방법.
KR1020050119060A 2005-12-07 2005-12-07 효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위메모리 인덱싱 방법 KR100734858B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050119060A KR100734858B1 (ko) 2005-12-07 2005-12-07 효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위메모리 인덱싱 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050119060A KR100734858B1 (ko) 2005-12-07 2005-12-07 효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위메모리 인덱싱 방법

Publications (2)

Publication Number Publication Date
KR20070059785A KR20070059785A (ko) 2007-06-12
KR100734858B1 true KR100734858B1 (ko) 2007-07-03

Family

ID=38356052

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050119060A KR100734858B1 (ko) 2005-12-07 2005-12-07 효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위메모리 인덱싱 방법

Country Status (1)

Country Link
KR (1) KR100734858B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100926752B1 (ko) 2007-12-17 2009-11-16 한국전자통신연구원 동영상 부호화를 위한 미세 움직임 추정 방법 및 장치
KR100946775B1 (ko) * 2008-01-28 2010-03-11 울산대학교 산학협력단 H.264에서의 부화소 움직임 추정을 위한 고속 움직임탐색 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040110755A (ko) * 2003-06-20 2004-12-31 서종수 예측 모드 선택 방법과 그 장치, 그 방법을 이용한 동영상압축 방법과 그 장치를 포함한 동영상 부호화기 및 상기방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 기록매체
KR20050043511A (ko) * 2003-11-06 2005-05-11 삼성전자주식회사 고속 움직임추정 알고리즘을 갖는 동영상 코딩방법 및 장치
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040110755A (ko) * 2003-06-20 2004-12-31 서종수 예측 모드 선택 방법과 그 장치, 그 방법을 이용한 동영상압축 방법과 그 장치를 포함한 동영상 부호화기 및 상기방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 기록매체
KR20050043511A (ko) * 2003-11-06 2005-05-11 삼성전자주식회사 고속 움직임추정 알고리즘을 갖는 동영상 코딩방법 및 장치
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
1020040110755
1020050043511
1020050061762

Also Published As

Publication number Publication date
KR20070059785A (ko) 2007-06-12

Similar Documents

Publication Publication Date Title
KR101834220B1 (ko) 다중 참조를 허용하는 비디오 코덱에서 모션 벡터를 예측하는 방법, 및 그 방법을 이용한 모션 벡터 부호화/복호화 장치
JP4555758B2 (ja) ビデオ圧縮におけるイントラ予測の符号化モード選択方法
KR100734858B1 (ko) 효율적인 1/4 화소 단위 움직임 예측을 위한 1/4 화소 단위메모리 인덱싱 방법
CA2200731A1 (en) Method and apparatus for regenerating a dense motion vector field
KR100723840B1 (ko) 영상 움직임 추정 장치
KR20140031974A (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 프로그램 및 화상 복호 프로그램
KR100870554B1 (ko) 웨이블릿 기반의 효율적인 스케일러블 비디오 부호화를위한 움직임 보상 시간적 필터링 방법 및 그 방법을실행하기 위한 프로그램이 기록된 기록매체
JP4184389B2 (ja) 動きベクトル復号装置および復号方法
KR101184571B1 (ko) 동영상 부호화를 위한 움직임 추정 방법 및 장치
KR100571907B1 (ko) 동영상 추정 알고리즘에 있어서 프로세싱 엘레멘트 수 결정 방법
KR101610028B1 (ko) 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치
KR101543200B1 (ko) 다중 참조를 허용하는 비디오 코덱에서 모션 벡터를 예측하는 방법, 및 그 방법을 이용한 모션 벡터 부호화/복호화 장치
AU681324C (en) Method and apparatus for regenerating a dense motion vector field
Fatemi et al. A cost-efficient bit-serial architecture for sub-pixel motion estimation of H. 264/AVC
JP4231097B2 (ja) 動きベクトル復号装置および復号方法
JP4184388B2 (ja) 動きベクトル符号化装置および符号化方法
KR100836534B1 (ko) 저전력 서브 픽셀 보간 블록 구조
Corrales-García et al. A GPU-Based DVC to H. 264/AVC Transcoder
Chan et al. Efficient reference picture selection algorithm for error-resilient video transcoding
KR20090065239A (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: 20130527

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee