KR20090065239A - 동영상 부호화를 위한 움직임 추정 방법 및 장치 - Google Patents

동영상 부호화를 위한 움직임 추정 방법 및 장치 Download PDF

Info

Publication number
KR20090065239A
KR20090065239A KR1020070132717A KR20070132717A KR20090065239A KR 20090065239 A KR20090065239 A KR 20090065239A KR 1020070132717 A KR1020070132717 A KR 1020070132717A KR 20070132717 A KR20070132717 A KR 20070132717A KR 20090065239 A KR20090065239 A KR 20090065239A
Authority
KR
South Korea
Prior art keywords
cme
odd
buffer
macro block
current frame
Prior art date
Application number
KR1020070132717A
Other languages
English (en)
Other versions
KR100928272B1 (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 KR1020070132717A priority Critical patent/KR100928272B1/ko
Publication of KR20090065239A publication Critical patent/KR20090065239A/ko
Application granted granted Critical
Publication of KR100928272B1 publication Critical patent/KR100928272B1/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/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

Landscapes

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

Abstract

본 발명은 현재 프레임의 매크로 블록에서 홀수 단위의 행만을 저장하는 CME 매크로 블록 버퍼, 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 홀수 단위 행만을 저장하는 CME 참조 영역 버퍼 및 상기 CME 매크로 블록 버퍼 및 상기 CME 참조 영역 버퍼에 저장된 값에 상응하여 2 화소 추정을 수행하는 2화소 추정부를 포함하는 동영상 부호화에서 움직임 추정 장치를 제공할 수 있다.
H.264, 움직임 추정

Description

동영상 부호화를 위한 움직임 추정 방법 및 장치{Apparatus and Method for motion estimation for moving picture coding}
본 발명은 동영상 부호화를 위한 움직임 추정 방법 및 장치에 관한 것이다. 특히 존 발명은 H.264 동영상 부호화를 위하여 실행되는 움직임 추정 방법에서 프로세서가 효율적으로 동작하기 위한 움직임 추정 방법 및 장치에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-026-01,과제명: MPCore 플랫폼 기반 모바일 멀티미디어 SoC]
국제 비디오 부호화 표준기관인 ITU-T와 ISO가 함께 JVT를 구성하고 H.264를 발표하였다. H.264표준은 기존의 비디오 부호화 방식들과 마찬가지로, 이미 부호화된 이전 프레임으로부터의 움직임을 추정(Motion Estimation)하여 추정신호를 구성하고, 추정오류 신호를 움직임 보상(Motion Compensation)과 DCT 변환 방법을 혼합하여 구성한다. 이기서 H.264 표준에서는 압축 성능을 높이기 위해 기존의 방식에 비해 더 작은 블록 사이즈인 4x4 블록 단위까지 움직임 추정을 수행하고, 1/4 화소 단위까지 움직임 보정을 수행한다. 이러한 기술들을 기반으로 H.264 비디오 부호화 표준은 기존의 비디오 부호화 표준인 MPEG-4 ASP에 비하여 2배의 압축성능을 가지게 되었다. 그리하여 다양한 멀티미디어 통신 서비스에 사용될 핵심 기술로 그 응용이 기대되고 있고 H.264 비디오 코덱을 이용한 비디오 데이터를 압축하는 기술과 성능 향상을 위한 연구가 활발히 되고 있다.
그러나 H.264 코덱 표준 부호화기술은 구현시 요구되는 메모리 대역폭과 연산의 복잡도가 높기 때문에 실시간 응용에 적용하는데 어려움이 있다. 특히 기존의 1/2 화소 단위보다 복잡도가 높은 1/4 화소 단위의 움직임 추정을 수행함으로 인해 효율적인 화소 보간 방식과 움직임 추정 방식이 요구되었다. 또한, 복잡한 방법을 사용함에 따라 각 추정 단계에서 메모리의 효율적인 사용이 요청되었다.
본 발명은 동영상 부호화를 위한 움직임 추정 방법 및 장치를 제공하는 것을 목적으로 한다.
또한 본 발명은 H.264 동영상 부호화시 움직임 추정을 할 때 메모리의 사용을 효율적으로 할 수 있는 동영상 부호화를 위한 움직임 추정 방법 및 장치를 제공하는 것을 목적으로 한다.
상술한 목적들을 달성하기 위하여, 본 발명의 일 측면에 따르면, 현재 프레임의 매크로 블록에서 홀수 단위의 행만을 저장하는 CME(Coarse Mode Estimation) 매크로 블록 버퍼, 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 홀수 단위 행만을 저장하는 CME 참조 영역 버퍼 및 상기 CME 매크로 블록 버퍼 및 상기 CME 참조 영역 버퍼에 저장된 값에 상응하여 2 화소 추정을 수행하는 2화소 추정부를 포함하는 동영상 부호화에서 움직임 추정 장치를 제공할 수 있다.
바람직한 실시예에 있어서, 상기 CME 매크로 블록 버퍼는 홀수 열만을 저장하는 제1 CME 매크로 블록 버퍼 및 짝수 열만을 저장하는 제2 CME 매크로 블록 버퍼를 더 포함할 수 있다. 또한, 상기 CME 참조 영역 버퍼는 홀수 열만을 저장하는 제1 CME 참조 영역 버퍼 및 짝수 열만을 저장하는 제2 CME 참조 영역 버퍼를 더 포함할 수 있다.
또한, 상기 CME 참조 영역 버퍼에 저장된 값 및 상기 2화소 추정부에서 추정된 모션 벡터 값을 입력받아 FME 참조 영역 버퍼에 상응하는 값으로 전송하는 CME 참조 영역 버퍼 제어부를 더 포함할 수 있다. 또한, 상기 현재 프레임의 매크로 블록에서 짝수 단위의 행은 상기 움직임 추정 장치의 다음 단에 연결되는 1/4 움직임 조정 장치의 FME 매크로 블록 버퍼에 포함되는 것을 특징으로 할 수 있다. 또한, 상기 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 짝수 단위 행은 상기 움직임 추정 장치의 다음 단에 연결되는 1/4 움직임 조정 장치의 FME 참조 영역 버퍼에 포함되는 것을 특징으로 할 수 있다.
본 발명의 다른 일 측면을 참조하면, 현재 프레임의 매크로 블록에서 홀수 단위의 행만을 저장하는 단계, 상기 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 홀수 단위 행만을 저장하는 단계 및 상기 저장된 상기 현재 프레임 매크로 블록 홀수 단위의 행 및 상기 참조 프레임의 휘도 신호의 홀수 단위 행에 상응하여 2화소 단위 움직임을 추정하는 단계를 포함하는 동영상 부호화에서 움직임 추정 방법을 제공할 수 있다.
바람직한 실시예에 있어서, 현재 프레임의 매크로 블록에서 짝수 단위의 행만을 저장하는 단계, 상기 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 짝수 단위 행만을 저장하는 단계 및 상기 저장된 현재 프레임 매크로 블록의 짝수 단위 행, 홀수 단위 행, 참조 프레임의 휘도 신호의 홀수 단위 행 및 짝수 단위 행에 상응하여 1/4 화소 단위 움직임을 추정하는 단계를 더 포함할 수 있다. 또한, 상기 현재 프레임의 매크로 블록에서 홀수 단위의 행만을 저장하는 단계는 상기 홀수 단위 행 중 홀수 열 및 상기 홀수 단위 행 중 짝수 열을 물리적으로 서로 다른 메모리에 저장하는 단계를 더 포함할 수 있다. 또한, 상기 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 홀수 단위 행만을 저장하는 단계는 상기 홀수 단위 행 중 홀수 열 및 상기 홀수 단위 행 중 짝수 열을 물리적으로 서로 다른 메모리에 저장하는 단계를 더 포함할 수 있다. 또한, 상기 참조 프레임의 휘도 신호의 홀수 단위 행에 포함된 값 및 상기 2화소 움직임 추정된 모션 벡터 값을 입력받아 FME 참조 영역 버퍼에 상응하는 값으로 변환하는 단계를 더 포함할 수 있다.
본 발명에 따르면 동영상 부호화를 위한 움직임 추정 방법 및 장치를 제공할 수 있다.
또한 본 발명은 H.264 동영상 부호화시 움직임 추정을 할 때 메모리의 사용을 효율적으로 할 수 있는 동영상 부호화를 위한 움직임 추정 방법 및 장치를 제공할 수 있다.
이하 첨부된 도면을 참조하여 본 발명에 따른 동영상 부호화를 위한 움직임 추정 방법 및 장치에 대하여 상세히 설명한다.
도 1은 본 발명이 적용되는 H.264 부호화 장치를 전체적으로 설명하는 구성도이다.
도 1을 참조하면 본 발명이 적용되는 H.264 부호화 장치는 양자화부(101), 역양자화부(103), 엔트로피 부호화부(105), 블록 해제부(107), 참조 프레임 재현부(109), 움직임 보상부(111), 움직임 추정부(113) 및 인트라 예측부(115)를 포함한다.
양자화부(101)는 외부에서 입력되는 매크로 블록을 소정 방식에 따라 변환한 후 양자화하는 역할을 담당한다. 이러한 양자화부(101)에서 양자화하는 대표적인 영상 변환 기법으로는 DCT(Discrete Cosine Transform)이 있다.
역양자화부(103)는 양자화부(101)로부터 변환 후 양자화된 영상 데이터를 입력받아 역양자화 및 역변환하는 역할을 담당한다.
엔트로피 부호화부(105)는 최종 h.264 부호화 작업이 종료된 최종 매크로 블록을 엔트로피 부호화하여 출력 비트 스트림을 생성하는 역할을 담당한다.
블록 해제부(107) 역양자화된 매크로 블록의 블록을 해제하여 자연스러운 화상을 제공하는 역할을 담당한다.
참조 프레임 재현부(109)는 상기 블록 해제부(107)로부터 입력받은 화상을 이용하여 다수의 참조 프레임 화상을 생성하고 저장하는 역할을 담당한다. 이러한 참조 프레임은 움직임 추정이나 움직임 보상을 할 때 참조 화면으로 사용되는 복수의 프레임 화상이다.
움직임 보상부(111, MC : Motion Compensation)는 상기 참조 프레임 재현 부(109)에서 저장된 참조 프레임 및 움직임 추정부(113)에서 추정된 모션 벡터 및 비용값을 기준으로 매크로 블록을 보상하는 역할을 담당한다.
움직임 추정부(113)는 상기 참조 프레임 재현부(109)에서 저장된 참조 프레임을 이용하여 현재 매크로 블록의 움직임을 추정하여 그 모션 벡터 및 비용을 계산하는 역할을 담당한다. 이러한 움직임 추정부는 기존의 MPEG 방식과 달리 1/4 화소 단위의 움직임까지 추정하므로 계산이 매우 많고 복잡하다. 특히 상기 움직임 추정부(113)는 거친 움직임 추정부(CME : Coarse Mode Estimation) 및 미세 움직임 추정부(FME : Fine Motion Estimation)로 구분 될 수 있으며 이러한 움직임을 추정하는 방법은 본 발명의 핵심적인 부분으로 이하의 도면에서 더욱 상세히 설명하도록 한다.
인트라 예측부(115)는 상기 참조 프레임 재현부(109)에서 저장된 참조 프레임을 이용하여 매크로 블록 내의 예측 부호화 즉 인트라 예측을 수행하는 역할을 담당한다.
도 2는 본 발명에 따른 움직임 추정부의 구조를 설명하는 도면이다.
도 2를 참조하면 본 발명에 따른 움직임 추정부는 크게 CME 부(220) 및 FME부(230)를 포함한다. CME부는 CME 참조 영역 버퍼(221), CME 매크로 블록 버퍼(223) 및 2 화소 추정부(225)를 포함한다. 한 편 FME부(230)는 FME 참조 영역 버퍼(233), FME 매크로 블록 버퍼(231) 및 1/4 화소 추정부(237)를 포함한다.
CME 참조 영역 버퍼(221)는 참조 프레임 재현부에 포함된 참조 프레임 및 현 재 프레임을 모두 저장하고 있는 메모리(210)로부터 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 홀수 단위 행만을 저장하는 역할을 담당한다. 기존의 CME 참조 영역 버퍼는 현재 참조 프레임의 휘도 신호를 모두 저장하였지만, 본 발명에서는 홀수 단위 행만을 저장하여, 메모리의 크기를 현저히 줄일 수 있을 뿐 아니라 210번으로부터의 반복된 전송시간을 줄일 수 있다.
CME 매크로 블록 버퍼(223)는 참조 프레임 재현부에 포함된 참조 프레임 및 현재 프레임을 모두 저장하고 있는 메모리(210)로부터 현재 프레임의 매크로 블록의 홀수 단위 열만을 저장하는 역할을 담당한다. 기존의 CME 매크로 블록 버퍼는 현재 참조 프레임의 매크로 블록 신호를 모두 저장하였지만, 본 발명에서는 홀수 단위 행만을 저장하여, 메모리의 크기를 현저히 줄일 수 있다. 즉 기존의 CME 매크로 블록 버퍼에 저장되는 현재 프레임의 매크로 블록 신호는 16x16개가 된다면 본 발명에서는 8x16개가 된다.
2화소 추정부(225)는 상기 CME 매크로 블록 버퍼(223) 및 CME 참조 영역 버퍼(221)에 저장된 값을 이용하여 2화소 단위 움직임 벡터를 추정하는 역할을 담당한다. 이러한 추정 방법은 도 3에서 설명하도록 한다.
FME 참조 영역 버퍼(233)는 움직임 보상할 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 매크로 블록에서 1화소 단위로 저장하는 버퍼이다.
FME 매크로 블록 버퍼(231)는 메모리(210)에 존재하는 현재 프레임의 화소 값 중에서 실제로 현재 연산되는 매크로 블록의 값만을 저장하는 버퍼이다.
특히, 상기 FME 참조 영역 버퍼(233) 및 FME 매크로 블록 버퍼(231)는 본 발 명에서는 현재 프레임 매크로 블록의 짝수 열만을 저장한다. 이는 상기에서 설명된 CME 참조 영역 버퍼(221) 및 CME 매크로 블록 버퍼(223)에서 이미 홀수 열이 저장되어 있으므로, 상기 CME 부에 저장된 홀수 열을 그대로 이용할 수 있기 때문이다.
1/4 화소 추정부(237)는 FME 참조 영역 버퍼(233), 및 FME 매크로 블록 버퍼(231)에 저장된 값 및 CME 부에 저장된 값을 이용하여 1화소 단위 , 1/2 화소 단위 및 1/4 화소 단위로 모션 벡터를 추정하는 역할을 담당한다.
도 3은 본 발명이 적용되는 휘도 움직임 추정을 설명하기 위한 도면이다.
도 3을 참조하면, 본 발명에서 적용되는 휘도 움직임 추정은 현재 입력되는 프레임의 매크로 블록(300) 및 과거의 복수의 프레임으로부터 설정되는 참조 프레임의 매크로 블록(310)과의 차이 값(Δx,Δy)을 이용하여 움직임 벡터 및 그 비용을 계산하는 방식이다. 이러한 움직임 추정이 가능한 경우 움직임을 추정한 값을 보상한 프레임 과 그 움직임의 차이 값을 나타내는 움직임 벡터만을 전송하면 연속적인 화면의 구성이 가능하여 동영상 신호의 크기를 크게 줄일 수 있다.
여기서 움직임 추정은 상기 현재 프레임 매크로 블록(300)과 참조 프레임 매크로 블록(310)의 화소의 절대 값의 차를 구하여 그 비용을 계산하고, 참조 프레임의 검색 창 과 현재 프레임 매크로 블록(300)과의 가장 적은 비용을 가지는 화소 지점(Δx,Δy)을 움직임 벡터로 정의할 수 있다.
이러한 움직임 벡터 및 비용값은
Motion Vector = (Δx,Δy)MinCost
MINCOST = MIN{Cost(Δx,Δy)}
단, Cost(Δx,Δy) =
Figure 112007090751711-PAT00001
Figure 112007090751711-PAT00002
Figure 112007090751711-PAT00003
Figure 112007090751711-PAT00004
로 계산될 수 있다. 여기서 Luma는 휘도를 나타낸다.
도 4는 본 발명에 따른 CME 매크로 블록 버퍼에서 현재 프레임 매크로 블록을 저장하는 방법을 나타내는 도면이다.
도 4를 참조하면, 현재 프레임 매크로 블록(400)이 16x16개의 블록을 가진다고 가정하면, 본 발명에서 CME 부에 포함된 CME 매크로 블록 버퍼(411)에는 상기 도면의 실선 화살표에 해당하는 프레임 매크로 블록(400)의 홀수 열만이 저장된다.
또한 상기 CME 부의 다음 단인 FME 부에 포함된 FME 매크로 블록 버퍼(413)에는 상기 CME 매크로 블록 버퍼(411)에서 저장되지 않은 프레임 매크로 블록(400)의 짝수 열이 저장된다.
이렇게 각 버퍼에 현재 프레임 매크로 블록(400)이 번갈아 저장되는 경우, 상기 CME 부에서 수행하는 2화소 추정(421)은 현재 프레임 매크로 블록(400)에 포함된 값 중에서 매크로 블록에서 가로 및 세로로 홀수 칸에 포함된 값만을 대상으로 추정을 실행하므로 실제적으로 현재 프레임 매크로 블록(400)에 포함된 모든 값을 이용하여 추정을 수행하는 것이 아니라 상기 매크로 블록에 포함된 값 중 홀수 칸에 포함된 값만을 대상으로 한다. 즉 16x16 매크로 블록 중에서 실제로 사용되는 값은 홀수 칸에 포함된 값인 8x8의 값만이 대상이 된다.
따라서 CME 매크로 블록 버퍼(411)는 CME에 포함된 2 화소 추정만을 수행하기 위한 현재 프레임의 매크로 블록 값만을 저장하면 되므로, 홀수 행에 해당하는 값만을 저장하면 된다.
한편, CME 다음에 수행되는 FME에서는 1/4 화소 단위까지 움직임 추정을 수행하게 되는데, 이때 1/4 화소 추정(423)에서부터 현재 프레임의 매크로 블록(400)의 모든 값이 이용된다.
따라서 FME 매크로 블록 버퍼(413)에는 상기 CME 매크로 블록 버퍼(411)에 저장되지 않은 매크로 블록의 나머지 짝수 행의 값을 저장한다.
그런 다음 FME 부에서 1/4 화소 추정(423)을 수행하는 경우 상기 FME 매크로 블록 버퍼(413)에 포함된 짝수 행의 값뿐만 아니라 상기 CME 매크로 블록 버퍼(411)에 포함된 홀수 행의 값을 모두 이용하게 된다.
도 5는 본 발명에 따른 CME 매크로 블록 버퍼의 메모리 저장 방법을 나타내는 도면이다.
도 5를 참조하면, 본 발명에 따른 CME 매크로 블록 버퍼(500)는 현재 프레임 매크로 블록 버퍼의 홀수 행(501)을 저장한다. 이러한 경우, 일반적인 32 비트 환경에서 동작하고, 상기 각 블록값 값은 8비트의 값을 가지므로 한번의 프로세스에서 읽어 들이는 블록은 4 칸의 블록이 될 것이다.
한편 본 발명의 2화소 추정에서 필요한 값은 홀수 행 및 홀수 열에 해당하는 블록 칸의 값이 필요하므로, 실제적으로 한번의 프로세스에서 읽어 들이는 4칸의 블록 중 본 도면에서 A로 표시된 홀수 열의 블록칸에 해당하는 값만이 필요하게 된다.
따라서 본 발명의 CME 매크로 블록 버퍼는 홀수 행만을 포함하는 현재 프레임 매크로 블록(501)에서 홀수 열의 블록(511)만을 저장하는 제1 CME 매크로 블록 버퍼(510) 및 짝수 열의 블록(513)만을 저장하는 제2 CME 매크로 블록 버퍼(520)를 물리적으로 분리하여 구성한다. 이러한 경우 2화소 추정을 수행할 경우에 실제적으로 필요한 버퍼는 제1 CME 매크로 블록 버퍼(510)일 뿐으로, 한 번의 프로세스에서 읽어 들이는 4 개의 블록값이 모두 실질적으로 움직임 추정에 사용되어 읽기 횟수를 줄일 수 있다.
도 6은 본 발명에 따른 CME 참조 영역 버퍼에서 현재 프레임 참조 블록을 저장하는 방법을 나타내는 도면이다.
도 6을 참조하면, 현재 프레임 참조 블록(600)중 본 발명에서 CME 부에 포함된 CME 참조 영역 버퍼(611)에는 상기 도면의 실선 화살표에 해당하는 프레임 참조 블록(600)의 홀수 열만이 저장된다.
또한 상기 CME 부의 다음 단인 FME 부에 포함된 FME 참조 영역 버퍼(613)에는 상기 CME 참조 영역 버퍼(611)에서 저장되지 않은 프레임 참조 블록(600)의 짝수 열이 저장된다.
이렇게 각 버퍼에 현재 프레임 참조 블록(600)이 번갈아 저장되는 경우, 상기 CME 부에서 수행하는 2화소 추정(621)은 현재 프레임 참조 블록(600)에 포함된 값 중에서 참조 블록에서 가로 및 세로로 홀수 칸에 포함된 값만을 대상으로 추정을 실행하므로 실제적으로 현재 프레임 참조 블록(600)에 포함된 모든 값을 이용하여 추정을 수행하는 것이 아니라 상기 참조 블록에 포함된 값 중 홀수에 포함된 값만을 대상으로 한다.
따라서 CME 참조 영역 버퍼(611)는 CME에 포함된 2 화소 추정만을 수행하기 위한 현재 프레임의 참조 블록 값만을 저장하면 되므로, 홀수 행에 해당하는 값만을 저장하면 된다.
한편, CME 부 다음에 수행되는 FME 부에서는 1/4 화소 단위 추정을 수행하게 되는데, 이때 1/4화소 추정(623)에서부터 현재 프레임의 참조 블록(600)의 모든 값이 이용된다.
따라서 FME 참조 영역 버퍼(613)에는 상기 CME 참조 영역 버퍼(611)에 저장되지 않은 참조 블록의 나머지 짝수 행의 값을 저장한다.
그런 다음 FME 부에서 1화소 추정(623)을 수행하는 경우 상기 FME 참조 영역 버퍼(613)에 포함된 짝수 행의 값뿐만 아니라 상기 CME 참조 영역 버퍼(611)에 포함된 홀수 행의 값을 모두 이용하게 된다.
이러한 경우 FME 참조 영역 버퍼(613)에 포함되는 참조 프레임의 블록값은 CME 모션 벡터(617)를 기준으로 x 축으로 -4/4 및 y 축으로 -4/4만큼 확장된 값을 가지게 된다. 따라서 상기 CME 참조 영역 버퍼(611)에 포함된 값을 그대로 사용할 수는 없어, FME 제어부(615)를 추가하여, 상기 CME부에서 구해진 CME 모션 벡터(617)값을 상기 CME 참조 영역 버퍼(611)에 적용하여 현재 매크로 블록을 기준으 로 x 축으로 -4 및 y 축으로 -4인 지점에서 12x24 만큼을 읽어오는 FME 제어부(615)를 더 포함한다.
이러한 FME 제어부(615)에 의하여 상기 FME 단계에서 1/4화소 추정(623)을 하는 경우에 현재 프레임 참조 블록의 홀수 행 값 및 짝수 행 값을 모두 구할 수 있다.
도 7은 본 발명에 따른 CME 참조 영역 버퍼의 메모리 저장 방법을 나타내는 도면이다.
도 7을 참조하면, 본 발명에 따른 CME 참조 영역 버퍼(700)는 현재 프레임 참조 영역 버퍼의 홀수 행(701)을 저장한다. 이러한 경우, 일반적인 32 비트 환경에서 동작하고, 상기 각 블록 값은 8비트 크기를 가지므로 한번의 프로세스에서 읽어 들이는 블록은 4 개의 블록이 될 것이다.
한편 본 발명의 2화소 추정에서 필요한 값은 홀수 행 및 홀수 열에 해당하는 블록 값이 필요하므로, 실제적으로 한번의 프로세스에서 읽어 들이는 4개의 블록 중 본 도면에서 A로 표시된 홀수 열의 블록 값만이 필요하게 된다.
따라서 본 발명의 CME 참조 영역 버퍼는 홀수 행만을 포함하는 현재 프레임 매크로 블록(701)에서 홀수 열의 블록(711)만을 저장하는 제1 CME 참조 영역 버퍼(710) 및 짝수 열의 블록(713)만을 저장하는 제2 CME 참조 영역 버퍼(720)를 물리적으로 분리하여 구성한다. 이러한 경우 2화소 추정을 수행할 경우에 실제적으로 필요한 버퍼는 제1 CME 참조 영역 버퍼(710)일 뿐으로, 한 번의 프로세스에서 읽어 들이는 4 개의 블록 값이 모두 실질적으로 움직임 추정에 사용되어 읽기 횟수를 줄 일 수 있다.
본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.
도 1은 본 발명이 적용되는 H.264 부호화 장치를 전체적으로 설명하는 구성도.
도 2는 본 발명에 따른 움직임 추정부의 구조를 설명하는 도면.
도 3은 본 발명이 적용되는 휘도 움직임 추정을 설명하기 위한 도면.
도 4는 본 발명에 따른 CME 매크로 블록 버퍼에서 현재 프레임 매크로 블록을 저장하는 방법을 나타내는 도면.
도 5는 본 발명에 따른 CME 매크로 블록 버퍼의 메모리 저장 방법을 나타내는 도면.
도 6은 본 발명에 따른 CME 참조 영역 버퍼에서 현재 프레임 참조 블록을 저장하는 방법을 나타내는 도면.
도 7은 본 발명에 따른 CME 참조 영역 버퍼의 메모리 저장 방법을 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
220 : CME 부 230 : FME 부
221 : CME 참조 영역 버퍼 223 : CME 매크로 블록 버퍼
225 : 2 화소 추정부 233 : FME 참조 영역 버퍼
231 : FME 매크로 블록 버퍼 237 : 1/4 화소 추정부

Claims (11)

  1. 현재 프레임의 매크로 블록에서 홀수 단위의 행만을 저장하는 CME(Coarse Mode Estimation) 매크로 블록 버퍼;
    현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 홀수 단위 행만을 저장하는 CME 참조 영역 버퍼 및
    상기 CME 매크로 블록 버퍼 및 상기 CME 참조 영역 버퍼에 저장된 값에 상응하여 2 화소 추정을 수행하는 2화소 추정부
    를 포함하는 동영상 부호화에서 움직임 추정 장치.
  2. 제1항에 있어서,
    상기 CME 매크로 블록 버퍼는 홀수 열만을 저장하는 제1 CME 매크로 블록 버퍼 및 짝수 열만을 저장하는 제2 CME 매크로 블록 버퍼를 더 포함하는 동영상 부호화에서 움직임 추정 장치.
  3. 제1항에 있어서,
    상기 CME 참조 영역 버퍼는 홀수 열만을 저장하는 제1 CME 참조 영역 버퍼 및 짝수 열만을 저장하는 제2 CME 참조 영역 버퍼를 더 포함하는 동영상 부호화에서 움직임 추정 장치.
  4. 제1항에 있어서,
    상기 CME 참조 영역 버퍼에 저장된 값 및 상기 2화소 추정부에서 추정된 모션 벡터 값을 입력받아 FME 참조 영역 버퍼에 상응하는 값으로 전송하는 CME 참조 영역 버퍼 제어부를 더 포함하는 동영상 부호화에서 움직임 추정 장치.
  5. 제1항에 있어서,
    상기 현재 프레임의 매크로 블록에서 짝수 단위의 행은 상기 움직임 추정 장치의 다음 단에 연결되는 1/4 움직임 조정 장치의 FME 매크로 블록 버퍼에 포함되는 것을 특징으로 하는 동영상 부호화에서 움직임 추정 장치.
  6. 제1항에 있어서,
    상기 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 짝수 단위 행은 상기 움직임 추정 장치의 다음 단에 연결되는 1/4 움직임 조정 장치의 FME 참조 영역 버퍼에 포함되는 것을 특징으로 하는 동영상 부호화에서 움직임 추정 장치.
  7. 현재 프레임의 매크로 블록에서 홀수 단위의 행만을 저장하는 단계;
    상기 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 홀수 단위 행만을 저장하는 단계 및
    상기 저장된 상기 현재 프레임 매크로 블록 홀수 단위의 행 및 상기 참조 프 레임의 휘도 신호의 홀수 단위 행에 상응하여 2화소 단위 움직임을 추정하는 단계
    를 포함하는 동영상 부호화에서 움직임 추정 방법.
  8. 제7항에 있어서,
    현재 프레임의 매크로 블록에서 짝수 단위의 행만을 저장하는 단계;
    상기 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 짝수 단위 행만을 저장하는 단계 및
    상기 저장된 현재 프레임 매크로 블록의 짝수 단위 행, 홀수 단위 행, 참조 프레임의 휘도 신호의 홀수 단위 행 및 짝수 단위 행에 상응하여 1/4 화소 단위 움직임을 추정하는 단계
    를 더 포함하는 동영상 부호화에서 움직임 추정 방법.
  9. 제7항에 있어서,
    상기 현재 프레임의 매크로 블록에서 홀수 단위의 행만을 저장하는 단계는
    상기 홀수 단위 행 중 홀수 열 및 상기 홀수 단위 행 중 짝수 열을 물리적으로 서로 다른 메모리에 저장하는 단계를 더 포함하는 동영상 부호화에서 움직임 추정 방법.
  10. 제7항에 있어서,
    상기 현재 프레임의 매크로 블록에 상응하는 참조 프레임의 휘도 신호의 홀 수 단위 행만을 저장하는 단계는
    상기 홀수 단위 행 중 홀수 열 및 상기 홀수 단위 행 중 짝수 열을 물리적으로 서로 다른 메모리에 저장하는 단계를 더 포함하는 동영상 부호화에서 움직임 추정 방법.
  11. 제7항에 있어서,
    상기 참조 프레임의 휘도 신호의 홀수 단위 행에 포함된 값 및 상기 2화소 움직임 추정된 모션 벡터 값을 입력받아 FME 참조 영역 버퍼에 상응하는 값으로 변환하는 단계를 더 포함하는 동영상 부호화에서 움직임 추정 방법.
KR1020070132717A 2007-12-17 2007-12-17 동영상 부호화를 위한 움직임 추정 방법 및 장치 KR100928272B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070132717A KR100928272B1 (ko) 2007-12-17 2007-12-17 동영상 부호화를 위한 움직임 추정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070132717A KR100928272B1 (ko) 2007-12-17 2007-12-17 동영상 부호화를 위한 움직임 추정 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090065239A true KR20090065239A (ko) 2009-06-22
KR100928272B1 KR100928272B1 (ko) 2009-11-24

Family

ID=40993638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070132717A KR100928272B1 (ko) 2007-12-17 2007-12-17 동영상 부호화를 위한 움직임 추정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100928272B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100778468B1 (ko) * 2000-12-12 2007-11-21 엘지전자 주식회사 움직임 추정 최적화 방법 및 장치
KR100451584B1 (ko) * 2001-12-20 2004-10-08 엘지전자 주식회사 웨이블릿 변환과 움직임 추정을 이용한 동영상 부호화 및복호화 장치
JP2005136893A (ja) 2003-10-31 2005-05-26 Hitachi Ltd 復号化処理プログラムおよび復号化処理装置

Also Published As

Publication number Publication date
KR100928272B1 (ko) 2009-11-24

Similar Documents

Publication Publication Date Title
US8218638B2 (en) Method and system for optical flow based motion vector estimation for picture rate up-conversion
RU2409005C2 (ru) Способ масштабируемого кодирования и декодирования видеосигнала
JP4542447B2 (ja) 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
JP2009531980A (ja) デジタルビデオエンコーダの内部予測及びモード決定処理の計算を低減する方法
JP2004096757A (ja) 動き補償のための補間方法及びその装置
JP2005510150A (ja) より大きな画素グリッド動き補償を利用した複雑さが減少されたビデオ復号化
JP2009089332A (ja) 動き予測方法及び動き予測装置
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
JP2009290463A (ja) 符号化装置/復号化装置、符号化方法/復号化方法及びプログラム
JP4360093B2 (ja) 画像処理装置および符号化装置とそれらの方法
US8098946B2 (en) Apparatus and method for image encoding and decoding using prediction
US8594192B2 (en) Image processing apparatus
JP2007221697A (ja) 画像復号化装置及び画像復号化方法
KR100926752B1 (ko) 동영상 부호화를 위한 미세 움직임 추정 방법 및 장치
JP4318019B2 (ja) 画像処理装置および方法、記録媒体、並びにプログラム
US20130156114A1 (en) Data Movement Reduction In Video Compression Systems
KR101691380B1 (ko) 시프팅 매트릭스를 이용한 dct 기반의 부화소 단위 움직임 예측 방법
KR100928272B1 (ko) 동영상 부호화를 위한 움직임 추정 방법 및 장치
US20130170565A1 (en) Motion Estimation Complexity Reduction
JP6735370B2 (ja) 復号化方法
JP2004349812A (ja) 画像復号化装置及び画像復号化方法
JP6647432B2 (ja) 復号化方法
JP2009278473A (ja) 画像処理装置、それを搭載した撮像装置、および画像再生装置
KR100248651B1 (ko) 움직임 보상장치
JP5310620B2 (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
FPAY Annual fee payment

Payment date: 20121031

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131024

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141027

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee