KR101898464B1 - 모션 추정 장치 및 그것의 모션 추정 방법 - Google Patents

모션 추정 장치 및 그것의 모션 추정 방법 Download PDF

Info

Publication number
KR101898464B1
KR101898464B1 KR1020110024024A KR20110024024A KR101898464B1 KR 101898464 B1 KR101898464 B1 KR 101898464B1 KR 1020110024024 A KR1020110024024 A KR 1020110024024A KR 20110024024 A KR20110024024 A KR 20110024024A KR 101898464 B1 KR101898464 B1 KR 101898464B1
Authority
KR
South Korea
Prior art keywords
image block
reference image
motion estimation
bandwidth
cache memory
Prior art date
Application number
KR1020110024024A
Other languages
English (en)
Other versions
KR20120106133A (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 KR1020110024024A priority Critical patent/KR101898464B1/ko
Priority to US13/421,304 priority patent/US8837843B2/en
Publication of KR20120106133A publication Critical patent/KR20120106133A/ko
Priority to US14/466,526 priority patent/US9319676B2/en
Application granted granted Critical
Publication of KR101898464B1 publication Critical patent/KR101898464B1/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/423Methods 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 characterised by memory arrangements
    • 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/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)

Abstract

본 발명에 따른 모션 추정 장치는 참조 영상을 저장하는 메모리, 상기 메모리에 연결된 버스, 상기 버스를 통해 상기 메모리의 참조 영상으로부터 후보 영상 데이터를 추출하고, 상기 버스의 가용 대역폭에 근거하여 상기 추출되는 후보 영상 데이터의 크기의 제어를 통해 모션 추정을 하는 모션 추정기를 포함한다.

Description

모션 추정 장치 및 그것의 모션 추정 방법{MOTION ESTIMATION APPARATUS AND METHOD FOR ESTIMATING MOTION THEREOF}
본 발명은 영상 처리 장치에 관한 것으로서, 특히 모션 추정을 위한 모션 추정 장치 및 그것의 모션 추정 방법에 관한 것이다.
영상 처리 장치(또는 영상 인코딩 장치)는 압축 효율 향상을 위해 모션 추정을 한다. 영상 처리 장치는 모션 추정을 위한 모션 추정기를 포함할 수 있다. 모션 추정은 이전 영상으로부터 압축 처리될 현재의 영상과 유사한 위치를 찾아내는 동작이다. 이러한 모션 추정기는 모션 추정에 사용될 영상을 버스를 통해 외부의 메모리 등으로부터 로딩하여 사용할 수 있다.
하지만, 버스는 모션 추정기뿐만 아니라 영상 처리 장치 내부의 다양한 모듈들에 의해 공유된다. 현재 고화질 영상에 대한 요구의 증가에 따라 모션 추정을 위한 영상의 크기는 점차 증가하고 있으며, 영상 처리 장치의 복잡도 증가에 따라 다른 모듈들에 의한 버스의 사용량도 증가하는 추세에 있다.
하지만, 현재 모션 추정을 위해 모션 추정기는 미리 결정된 크기를 갖는 영상 데이터를 메모리로부터 로딩하여 사용한다. 메모리로부터 모션 추정기로 로딩되는 데이터의 크기가 증가하면 영상 추정 성능이 향상될 수 있다. 이를 위해, 모션 추정기가 메모리로부터 로딩하는 데이터 크기를 증가시키면, 모션 추정기의 점유 대역폭이 증가하게 된다. 이때, 모션 추정기에 의해 증가된 점유 대역폭은 버스에 연결된 다른 모듈들의 동작에 영향을 미칠 수 있다. 따라서, 모션 추정기는 다른 모듈들의 동작을 고려하여 미리 결정된 크기의 대역폭을 사용한다. 그러나 버스에서 사용 가능한 대역폭은 버스를 공유하는 모듈들의 동작에 따라서 가변될 수 있다.
그러나, 모션 추정 장치는 미리 결정된 크기의 영상 데이터만을 로딩함으로서 모션 추정 성능 향상을 위해 버스에서 사용되지 않는 대역폭을 충분히 활용하지 못한다는 문제점이 있었다.
본 발명은 상술한 기술적 과제를 해결하기 위해 제안된 것으로, 본 발명의 목적은 영상 데이터 획득을 위한 버스의 대역폭을 최대로 활용하는 모션 추정 장치 및 그것의 모션 추정 방법을 제공하는데 있다.
본 발명에 따른 모션 추정 장치는 참조 영상을 저장하는 메모리, 상기 메모리에 연결된 버스, 및 상기 버스를 통해 상기 참조 영상으로부터 모션 추정을 위한 적어도 하나의 참조 영상 블록을 추출할 때, 상기 버스의 가용 대역폭에 따라 상기 참조 영상 블록의 데이터 크기를 제어하는 모션 추정기를 포함한다.
이 실시예에 있어서, 상기 모션 추정기는 상기 참조 영상으로부터 상기 적어도 하나의 참조 영상 블록을 추출하고, 상기 적어도 하나의 참조 영상 블록 중에서 상기 현재 영상 블록에 대응되는 후보 영상 블록을 추출하는 캐쉬 메모리, 상기 가용 대역폭에 따라 기준 대역폭을 설정하는 기준 대역폭 설정부, 및 상기 기준 대역폭에 근거하여 상기 적어도 하나의 참조 영상 블록의 데이터 크기를 제어하고, 상기 후보 영상 블록을 사용하여 모션 추정을 하는 모션 추정부를 포함한다.
이 실시예에 있어서, 상기 기준 대역폭 설정부는 상기 가용 대역폭의 최대값과 최소값 사이에서 상기 기준 대역폭을 설정한다.
이 실시예에 있어서, 상기 모션 추정부는 상기 캐쉬 메모리의 점유 대역폭이 상기 기준 대역폭을 초과하면, 상기 캐쉬 메모리에서 추출되는 상기 적어도 하나의 참조 영상 블록의 개수와 크기 중 적어도 하나를 감소하도록 제어한다.
이 실시예에 있어서, 상기 모션 추정부는 상기 캐쉬 메모리의 점유 대역폭이 상기 기준 대역폭 이하이면, 상기 캐쉬 메모리에서 추출되는 참조 영상 블록의 개수와 크기 중 적어도 하나를 증가시키도록 제어하는 단계를 포함한다.
본 발명에 따른 모션 추정 장치의 모션 추정 방법은 버스의 점유 대역폭으로부터 가용 대역폭을 획득하는 단계, 상기 가용 대역폭에 근거하여 상기 버스를 통해 연결된 메모리 내의 참조 영상으로부터 모션 추정을 위한 적어도 하나의 참조 영상 블록의 데이터 크기를 제어하는 단계, 상기 적어도 하나의 참조 영상 블록의 데이터 크기 제어를 통해 상기 적어도 하나의 참조 영상 블록 중에서 현재 영상 블록에 대응되는 후보 영상 블록을 추출하는 단계, 및 상기 추출된 후보 영상 블록으로부터 모션 벡터의 추출을 통해 모션 추정을 하는 단계를 포함한다.
이 실시예에 있어서, 상기 데이터 크기를 제어하는 단계는 상기 현재 영상 블록을 포함한 현재 영상 내에서 모션 추정을 할 때 현재 영상 블록들의 간에 영상 변화량이 큰 시점에 상기 참조 영상 블록을 추출하도록 제어하는 단계를 포함한다.
이 실시예에 있어서, 상기 데이터 크기를 제어하는 단계는 상기 가용 대역폭의 최대값과 최소값 사이에서 기준 대역폭을 설정하는 단계를 포함한다.
이 실시예에 있어서, 상기 데이터 크기를 제어하는 단계는 상기 적어도 하나의 참조 영상 블록의 추출에 점유되는 대역폭이 상기 기준 대역폭을 초과하면, 상기 적어도 하나의 참조 영상 블록의 개수와 크기 중 적어도 하나를 감소시키는 단계를 더 포함한다.
이 실시예에 있어서, 상기 적어도 하나의 참조 영상 블록의 추출에 점유되는 대역폭이 상기 기준 대역폭 이하이면, 상기 적어도 하나의 참조 영상 블록의 개수와 크기 중 적어도 하나를 증가시키는 단계를 더 포함한다.
본 발명에 의하면, 모션 추정 장치는 버스의 가용 대역폭을 고려하여 메모리로부터 획득하는 영상 데이터의 크기를 제어함으로서 버스의 대역폭을 최대로 활용할 수 있다.
도 1은 본 발명의 실시예에 따른 모션 추정 장치를 도시한 도면,
도 2는 본 발명의 실시예에 따른 모션 추정기의 구조를 도시한 도면이다,
도 3은 본 발명의 실시예에 따른 모션 추정을 통한 후보 영상 블록을 선택하는 동작을 도시한 도면,
도 4는 본 발명의 실시예에 따른 모션 추정부의 참조 영상 블록 추출 시점을 설명하기 위한 도면,
도 5는 본 발명의 실시예에 따른 모션 추정 장치의 동작을 도시한 순서도이다.
이하, 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
도 1은 본 발명의 실시예에 따른 모션 추정 장치를 도시한 도면이다.
도 1을 참조하면, 모션 추정 장치(100)는 메모리(110), 버스(120), 및 모션 추정기(130)를 포함한다. 모션 추정 장치(100)는 다른 모듈들을 추가로 포함할 수도 있다.
메모리(110)는 영상들을 저장한다. 특히, 메모리(110)는 모션 추정을 위한 참조 영상 블록의 추출에 사용되는 참조 영상을 저장할 수 있다. 영상은 하나의 화면을 구성하는 영상 프레임이다. 일예로, 참조 영상은 현재 영상(n 프레임, n은 자연수)의 이전 영상(n-1 프레임)일 수 있다.
버스(120)는 데이터 전송에 공용으로 사용되는 전기적 통로이다. 버스(120)에서 전송되는 데이터 크기는 대역폭(BW: BandWidth)으로 나타낼 수 있다. 버스(120)는 메모리(110)와 모션 추정기(130) 각각에 연결된다. 그러므로 버스(120)는 메모리(110)와 모션 추정기(130) 간의 데이터 전송을 한다. 또한, 버스(120)는 다른 모듈들에 연결 또는 점유되어 데이터 전송을 할 수 있다.
모션 추정기(130)는 영상 압축을 위해 영상 내의 움직임 예측을 하는 모션 추정을 한다. 이를 위해, 모션 추정기(130)는 메모리(110)로부터 참조 영상 블록을 추출한다. 여기서, 참조 영상 블록은 한 개 또는 두 개 이상이 될 수 있다.
모션 추정기(130)는 현재 영상을 구성하는 현재 영상 블록과 참조 영상 블록 간에 비교를 한다. 모션 추정기(130)는 참조 영상 블록으로부터 현재 영상 블록에 가장 유사한 후보 영상 블록을 선택할 수 있다. 이를 통해, 모션 추정기(130)는 참조 영상으로부터 현재 영상 블록의 위치를 추정할 수 있는 모션 벡터를 획득할 수 있다. 모션 추정기(130)에서 획득한 모션 벡터는 현재 영상 블록의 인코딩에 사용된다. 그러므로, 모션 추정기(130)는 영상 인코더에 포함될 수 있다.
본 발명에서 모션 추정기(130)는 버스(120)의 가용 대역폭에 근거하여 메모리(110)의 참조 영상으로부터 추출할 참조 영상 블록의 데이터 크기와 개수 중 적어도 하나를 제어한다. 이를 통해 모션 추정기(130)는 버스(120)의 가용 대역폭 내에서 모션 추정 성능을 최대로 보장할 수 있도록 메모리로(110)부터 추출되는 후보 영상 블록의 데이터 크기와 개수 중 적어도 하나를 제어할 수 있다.
도 2는 본 발명의 실시예에 따른 모션 추정기의 구조를 도시한 도면이다.
도 2를 참조하면, 모션 추정기(130)는 캐쉬 메모리(131), 기준 대역폭 설정부(132), 및 모션 추정부(133)를 포함한다. 캐쉬 메모리(131)는 캐쉬 메모리(131)의 동작 제어를 위한 캐쉬 메모리 제어부(210)를 포함하고, 모션 추정부(133)는 모션 추정부(133)의 동작 제어를 위한 모션 추정 제어부(220)를 포함한다.
캐쉬 메모리(131)는 버스(120)를 통해 메모리(110)에 저장된 참조 영상으로부터 적어도 하나의 참조 영상 블록을 추출하고, 추출된 참조 영상 블록을 저장한다. 일예로, 참조 영상 블록 추출 시 캐쉬 메모리(131)는 참조 영상 내에 미리 설정된 검색 포인트(search point)를 기준으로 후보 영상 블록을 추출할 수 있다. 검색 포인트의 개수가 적어도 두 개 이상이면, 캐쉬 메모리(131)는 적어도 두 개의 검색 포인트 각각으로부터 참조 영상 블록을 추출할 수 있다. 캐쉬 메모리(131)는 추출된 적어도 하나의 후보 영상 블록을 저장한다.
캐쉬 메모리(131)는 모션 추정부(133)로부터의 요청에 따라 현재 영상 블록에 대응되는 후보 영상 블록을 모션 추정부(133)로 제공할 수 있다. 참조 영상 블록에서 현재 영상 블록에 대응되는 후보 영상 블록이 존재하면(히트(hit) 동작을 하면), 캐쉬 메모리(131)는 해당 후보 영상 블록을 모션 추정부(133)로 제공한다. 하지만, 참조 영상 블록에서 현재 영상 블록에 대응되는 후보 영상 블록이 캐쉬 메모리(131) 내부에 존재하지 않으면(미스(miss) 동작을 하면), 캐쉬 메모리(131)는 모션 추정부(133)에서 요청된 후보 영상 블록이 존재하도록 메모리(110)로부터 참조 영상 블록을 추가로 추출한다. 캐쉬 메모리(131)는 추가로 추출된 참조 영상 블록 중에서 모션 추정부(133)에서 요청된 현재 영상 블록에 대응되는 후보 영상 블록을 모션 추정부(133)로 제공할 수 있다.
따라서, 참조 영상 블록을 저장함에 따라 캐쉬 메모리(131)는 후보 영상 블록 추출 시 외부의 메모리(110)로부터 데이터를 읽는 동작(일예로, 참조 영상 블록 추출 동작)에 소요되는 시간과 버스(120)의 점유 대역폭을 감소시키는 기능을 갖는다.
캐쉬 메모리(131)는 히트 레이트를 통해 캐쉬 메모리(131)에서 사용되는 버스(120)의 점유 대역폭을 측정할 수 있다. 여기서, 히트 레이트(hit rate)는 모션 추정부(133)의 요청에 따른 후보 영상 블록의 히트 수를 모션 추정부(133)로부터 요청된 후보 영상 블록의 개수로 나눈 비율이다. 캐쉬 메모리(131)는 캐쉬 메모리(131)의 점유 대역폭을 모션 추정부(133)로 제공한다. 또한, 메모리(110)의 참조 영상으로부터 참조 영상 블록 추출 시 캐쉬 메모리(131)는 모션 추정부(133)의 제어에 의해 추출되는 참조 영상 블록의 크기와 개수 중 적어도 하나를 조절할 수 있다.
기준 대역폭 설정부(132)는 버스(120)의 점유 대역폭을 직접 측정하거나 다른 모듈들(미도시)로부터 버스(120)의 점유 대역폭 정보를 제공받을 수 있다. 기준 대역폭 설정부(132)는 점유 대역폭 정보를 이용하여 버스(120)의 전체 대역폭 중에서 점유되지 않은 대역폭, 즉 가용 대역폭에 근거하여 기준 대역폭을 설정한다. 가용 대역폭은 일예로, 버스(120)에서 제공할 수 있는 최대 대역폭(MAX_BW)과 최소 대역폭(MIN_BW)을 포함한다. 그러므로 기준 대역폭 설정부(132)는 최대 대역폭(MAX_BW)과 최소 대역폭(MIN_BW) 사이에서 하나의 기준 대역폭을 설정할 수 있다.
기준 대역폭 설정부(132)는 설정된 기준 대역폭을 모션 추정부(133)로 제공한다. 기준 대역폭 설정부(132)는 명령어 축소형 컴퓨터(RISC: Reduced Instruction Set Computer)로 구현될 수도 있다.
기준 대역폭 설정부(132)는 인코딩 동작 시 하나의 단위 영상(일예로, 영상의 슬라이스(slice) 단위 또는 프레임(frame) 단위)로 누적되어 있는 히트 레이트를 확인한다. 캐쉬 메모리(131) 또는 모션 추정부(133)를 통해 히트 레이트를 수신할 수 있다. 가용 대역폭 설정부(132)는 확인된 히트 레이트를 통해서 현재 인코딩 동작하고 있는 영상의 특성을 확인할 수 있다. 또한, 기준 대역폭 설정부(132)는 모션 추정을 통한 영상의 인코딩 방식, 일예로 모드 별 가중치, 모션 추정의 검색 방식 등을 결정할 수 있다.
모션 추정부(133)는 모션 추정을 위해 캐쉬 메모리(131)에 저장된 참조 영상 블록에서 현재 영상 블록과 유사한 후보 영상 블록을 추출한다.
모션 추정부(133)는 캐쉬 메모리(131)로부터 히트 레이트를 수신할 수 있다. 일예로, 히트 레이트(hit rate)가 증가하면, 모션 추정부(133)는 참조 영상 으로부터 추출되는 참조 영상 블록(또는 검색 포인트)의 개수를 감소시키도록 캐쉬 메모리(131)를 제어한다. 또한, 히트 레이트가 감소하면, 모션 추정부(133)는 참조 영상 블록으로부터 추출되는 참조 영상 블록(또는 검색 포인트)의 개수를 증가시키도록 캐쉬 메모리(131)를 제어한다. 이를 통해, 모션 추정부(133)는 히트 레이트의 급격한 변화를 방지함으로서 인코딩 시간을 안정적으로 유지할 수 있다.
이와 같이, 모션 추정부(133)는 후보 영상 블록을 추출할 때, 기준 대역폭을 이용할 수 있다. 즉, 모션 추정부(133)는 기준 대역폭에 대응되는 크기를 갖는 데이터(후보 영상 블록)를 추출하도록 캐쉬 메모리(131)를 제어한다.
예를 들어, 모션 추정부(133)는 버스(120)의 대역폭을 최적으로 사용하기 위해 메모리(110)로부터 캐쉬 메모리(131)로 추출되는 후보 영상 블록의 개수를 제어할 수 있다. 캐쉬 메모리(131)에서 기준 대역폭을 초과하는 버스 대역폭을 확인하면, 모션 추정부(133)는 캐쉬 메모리(131)로 추출하는 후보 영상 블록(또는 검색 포인트)의 개수를 감소시키도록 제어한다. 이와 반대로, 캐쉬 메모리(131)에서 기준 대역폭 미만의 버스 대역폭을 확인하면, 모션 추정부(133)는 캐쉬 메모리(131)로 추출하는 후보 영상 블록(또는 검색 포인트)의 개수를 증가시키도록 제어한다.
본 발명의 모션 추정부(133)는 버스(120)의 가용 대역폭에 근거하여 캐쉬 메모리(131)에 의해 메모리(110)로 요청되는 영상 데이터의 크기(일예로, 참조 영상 블록의 크기와 개수 중 적어도 하나)를 제어하도록 함으로서 모션 추정을 위한 버스(120)의 대역폭을 최대로 활용할 수 있다.
한편, 캐쉬 메모리 제어부(210)는 히트 레이트를 측정한다. 또한, 캐쉬 메모리 제어부(210)는 측정된 히트 레이트를 기반으로 버스(120)에 대한 캐쉬 메모리(131)의 점유 대역폭을 측정한다. 캐쉬 메모리 제어부(210)는 캐쉬 메모리(131)의 점유 대역폭을 모션 추정 제어부(220)로 제공한다.
모션 추정 제어부(220)는 기준 대역폭에 근거하여 후보 영상 블록의 추출을 제어 하는 제어 신호를 캐쉬 메모리 제어부(210)로 제공할 수 있다. 캐쉬 메모리(131)에서 기준 대역폭을 초과하는 대역폭이 점유되면, 모션 추정 제어부(220)는 캐쉬 메모리로 추출하는 참조 영상 블록(또는 검색 포인트)의 크기와 개수 중 적어도 하나를 감소시키는 제어 신호를 발생한다. 이와 반대로, 캐쉬 메모리(131)에서 기준 대역폭 이하의 대역폭이 점유되면, 모션 추정 제어부(220)는 캐쉬 메모리로 추출하는 참조 영상 블록(또는 검색 포인트)의 개수를 증가시키는 제어 신호를 발생한다.
모션 추정 제어부(220)에서 발생된 제어 정보는 캐쉬 메모리 제어부(210)로 제공될 수 있다.
예를 들어, 캐쉬 메모리(131)에서 추출되는 참조 영상 블록의 크기가 미리 결정된 고정 크기를 갖고, 복수개의 검색 포인트로부터 복수개의 참조 영상 블록들을 추출한다고 가정한다. 모션 추정 제어부(220)는 캐쉬 메모리 제어부(210)로부터 제공된 점유 대역폭에 근거하여 참조 영상 블록(검색 포인트)의 개수를 제어한다. 모션 추정 제어부(220)는 기준 대역폭 보다 점유 대역폭이 클 때, 추출될 참조 영상 블록들 중에서 제거하는 순서는 우선 순위에 따라 결정할 수 있다. 이때, 모션 추정 제어부(220)는 우선 순위가 다른 영상 블록들에 비해 상대적으로 낮은 참조 영상 블록을 제거하는 제어 신호를 캐쉬 메모리 제어부(210)로 제공한다.
또한, 모션 추정 제어부(220)는 기준 대역폭과 같거나 기준 대역폭보다 점유 대역폭이 작을 때, 추출될 참조 영상 블록에 포함시키는 순서는 우선 순위에 따라 결정할 수 있다. 이때, 모션 추정 제어부(220)는 우선 순위가 다른 영상 블록들에 비해 상대적으로 낮은 참조 영상 블록을 제거하는 제어 신호를 캐쉬 메모리 제어부(210)로 제공한다.
이때, 중복되는 모션 벡터를 갖는 참조 영상 블록들에 대해 모션 추정 제어부(220)는 제외된 참조 영상 블록들 중에서 우선 순위가 가장 높은 참조 영상 블록부터 추출될 참조 영상 블록에 포함시키도록 캐쉬 메모리(131)를 제어한다. 이때, 추가될 참조 영상 블록에 포함되는 참조 영상 블록은 기준 대역폭에 근거하여 허용 가능한 최대 대역폭 내에서 가장 높은 모션 추정 성능을 갖도록 선택될 수 있다.
여기서, 참조 영상 블록들의 우선 순위는 일예로, 기준 대역폭 설정부(132)에 의해 결정될 수 있다.
또한, 캐쉬 메모리 제어부(210)와 모션 추정 제어부(220)는 상호 간에 모션 추정을 위한 다른 정보들을 추가로 송수신할 수 있다.
도 3은 본 발명의 실시예에 따른 모션 추정을 통한 후보 영상 블록을 선택하는 동작을 도시한 도면이다.
도 3을 참조하면, (a)에서, 캐쉬 메모리(131)가 메모리(110)의 참조 영상(310)으로부터 참조 영상 블록들(320)을 추출하는 동작을 도시한다. 여기서는 캐쉬 메모리(131)가 복수개의 검색 포인트를 기준으로 복수개의 후보 영상 블록들을 추출하는 것을 일예로 설명하기로 한다. 하지만, 캐쉬 메모리(131)는 하나의 검색 포인트를 기준으로 하나의 참조 영상 블록을 추출할 수도 있다. 이때, 추출되는 참조 영상 블록들(320)은 다양한 크기를 가질 수 있다.
(b)에서, 모션 추정부(133)는 캐쉬 메모리(131)로 압축을 위한 현재 영상 블록(330)에 대응되는 후보 영상 블록을 요청한다. 캐쉬 메모리(131)는 참조 영상 블록들(320) 중에서 현재 영상 블록에 대응되는 후보 영상 블록(330)을 추출한다. 캐쉬 메모리(131)는 현재 영상 블록에 대응되는 후보 영상 블록(330)이 존재하지 않으면, 참조 영상(310)으로부터 참조 영상 블록을 추가로 추출할 수 있다. 캐쉬 메모리(131)는 참조 영상 블록들(320) 중에서 추출된 후보 영상 블록(330)을 모션 추정부(133)로 출력한다.
(c)에서, 캐쉬 메모리(131)로부터 현재 영상 블록에 대응되는 후보 영상 블록(330)을 수신하면, 모션 추정부(133)는 수신된 후보 영상 블록(330)을 현재 영상 블록(330)으로 선택할 수 있다.
도 3에서는 현재 영상 블록, 참조 영상 블록들(320), 현재 영상 블록(330) 모두가 동일한 경우에 해당한다.
도 4는 본 발명의 실시예에 따른 모션 추정부의 참조 영상 블록 추출 시점을 설명하기 위한 도면이다.
도 4를 참조하면, 모션 추정부(133)는 캐쉬 메모리(131)의 참조 영상 블록 추출 시점을 미리 설정된 시점을 주기로 설정하도록 할 수 있다.
모션 추정부(133)는 캐쉬 메모리(131)의 참조 영상 블록 추출 시점을 현재 영상 내의 모션 추정을 하는 현재 영상 블록들 간에 영상 변화량이 크게 변경되는 시점으로 설정할 수 있다.
예를 들어, 모션 추정부(133)는 현재 영상을 구성하는 복수개의 현재 영상 블록들의 라인을 기준으로 후보 영상 블록 추출 동작을 제어할 수 있다.
첫 번째 라인은 제 1 현재 영상 블록(MB1)부터 제 n 현재 영상 블록(MBn)으로 구성된다. 두 번째 라인은 제 n+1 현재 영상 블록(MBn+1)부터 제 2n 현재 영상 블록(MB2n)으로 구성된다.
점선 화살표로 도시된 바와 같이 래스터 스캔 순서(raster scan order)로 모션 추정부(133)는 현재 영상 블록들 각각에 대해 모션 추정을 한다.
하나의 라인 방향으로 연결된 현재 영상 블록들 간에는 영상 변화량이 크지 않다. 하지만, 다른 라인에 위치한 현재 영상 블록들 간에는 영상 변화량이 클 수 있다. 일예로, 모션 추정을 위한 블록이 제 n 현재 영상 블록(MBn)으로부터 제 n+1 현재 영상 블록(MBn+1)으로 변환되면, 히트 레이트는 감소될 수 있다. 이와 달리 모션 추정을 위한 블록이 제 n+1 현재 영상 블록(MBn+1)으로부터 제 2n 현재 영상 블록(MB2n)의 방향으로 변경될수록 히트 레이트는 증가될 수 있다.
따라서, 모션 추정부(133)는 캐쉬 메모리의 참조 영상 블록 추출 제어 동작을 현재 영상 블록들 각각의 라인 변경 시점(즉, MB 라인 변경 시점)을 기준으로 수행할 수 있다.도 5는 본 발명의 실시예에 따른 모션 추정 장치의 동작을 도시한 순서도이다.
도 5를 참조하면, 기준 대역폭 설정부(132)는 버스(120)의 가용 대역폭을 측정한다(S110단계).
기준 대역폭 설정부(132)는 가용 대역폭에 근거하여 참조 영상 블록의 추출을 위한 기준 대역폭을 설정한다(S120단계).
캐쉬 메모리(131)는 모션 추정부(133)로부터 요청된 현재 영상 블록에 대응되는 후보 영상 블록이 추출된 적어도 하나의 참조 영상 블록에 존재하는지 판단한다(S130단계).
S130단계의 판단결과, 캐쉬 메모리(131)는 적어도 하나의 참조 영상 블록에 현재 영상 블록에 대응되는 후보 영상 블록이 존재하면 S160단계로 진행한다. 그러나, S130단계의 판단결과, 캐쉬 메모리(131)는 적어도 하나의 참조 영상 블록에 현재 영상 블록에 대응되는 후보 영상 블록이 존재하지 않으면 S140단계로 진행한다.
캐쉬 메모리(131)는 참조 영상으로부터 참조 영상 블록을 추출한다(S140단계).
모션 추정부(133)는 가용 대역폭에 근거하여 참조 영상 블록의 데이터의 크기(일예로, 참조 영상 블록(검색 포인트)의 개수와 참조 영상 블록의 크기 중 적어도 하나)를 캐쉬 메모리(131)를 통해 제어한다(S150단계). 일예로, 모션 추정부(133)에서 캐쉬 메모리(131)로 참조 영상 블록의 데이터 크기를 제어하는 시점은 현재 영상 내에서 모션 추정을 하는 현재 영상 블록들 간의 변화량이 큰 시점, 일예로, 현재 영상 블록들의 라인(일예로, MB 라인) 변경 시점을 기준으로 할 수 있다. 또한, 모션 추정부(133)는 히트 레이트의 변화에 따라 캐쉬 메모리(131)를 통해 추출되는 참조 영상 블록의 데이터 크기를 추가로 제어할 수 있다. 캐쉬 메모리(131)는 참조 영상 블록들 중에서 현재 영상 블록에 대응되는 후보 영상 블록이 캐쉬 메모리(131) 내에 존재할 때까지 모션 추정부(133)의 제어에 따라 참조 영상 블록을 추출할 수 있다.
캐쉬 메모리(131)는 모션 추정부(133)에서 모션 추정을 위한 후보 영상 블록을 추출한다(S160단계). 캐쉬 메모리(131)는 선택된 후보 영상 블록을 모션 추정부(133)로 제공한다.
모션 추정부(133)는 선택된 후보 영상 블록을 사용하여 모션 추정을 한다(S170단계). 모션 추정부(133)는 모션 추정을 할 때, 버스(120)의 사용량의 누적을 통해 모션 추정 동작을 제어할 수도 있다. 모션 추정부(133)는 상기 후보 영상 블록을 통해 참조 영상으로부터의 모션 벡터를 획득할 수 있다.
모션 추정부(133)는 모션 추정 동작을 완료하였는지 판단한다(S180단계). S180단계의 판단결과, 모션 추정부(133)는 모션 추정 동작을 완료하지 못한 경우, S130단계로 진행한다. S180단계의 판단결과, 모션 추정부(133)는 모션 추정 동작을 완료한 경우, 동작을 종료한다.
이를 통해 본 발명의 모션 추정 장치는 모션 추정에 버스에서 사용되지 않는 대역폭을 최대로 활용할 수 있다. 이에 따라, 본 발명의 모션 추정 장치는 일예로, 영상 압축을 위한 인코더 등에 적용될 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 모션 추정 장치 110: 메모리
120: 버스 130: 모션 추정기
131: 캐쉬 메모리 132: 기준 대역폭 설정부
133: 모션 추정부 210: 캐쉬 메모리 제어부
220: 모션 추정 제어부

Claims (10)

  1. 참조 영상을 저장하는 메모리;
    상기 메모리에 연결된 버스; 및
    상기 버스를 통해 상기 참조 영상으로부터 모션 추정을 위한 적어도 하나의 참조 영상 블록을 추출하기 위한 모션 추정기를 포함하고,
    상기 모션 추정기는,
    상기 참조 영상으로부터 상기 적어도 하나의 참조 영상 블록을 추출하고, 상기 적어도 하나의 참조 영상 블록 중에서 현재 영상 블록에 대응되는 후보 영상 블록을 추출하는 캐쉬 메모리;
    상기 버스의 가용 대역폭에 따라 기준 대역폭을 설정하는 기준 대역폭 설정부; 및
    상기 캐쉬 메모리의 점유 대역폭과 상기 기준 대역폭을 비교하되, 상기 캐쉬 메모리의 히트 레이트가 증가하면 상기 적어도 하나의 참조 영상 블록의 개수와 크기 중 적어도 하나를 감소시키고, 상기 캐쉬 메모리의 상기 히트 레이트가 감소하면 상기 적어도 하나의 참조 영상 블록의 개수와 크기 중 적어도 하나를 증가시키고, 상기 후보 영상 블록을 사용하여 모션 추정을 하는 모션 추정부를 포함하는 모션 추정 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 기준 대역폭 설정부는 상기 가용 대역폭의 최대값과 최소값 사이에서 상기 기준 대역폭을 설정하는 모션 추정 장치.
  4. 삭제
  5. 삭제
  6. 캐쉬 메모리를 포함하는 모션 추정 장치에서 수행되는 방법에 있어서,
    버스의 점유 대역폭으로부터 가용 대역폭을 획득하는 단계;
    상기 가용 대역폭에 근거하여 상기 버스를 통해 연결된 메모리 내의 참조 영상으로부터 상기 캐쉬 메모리로 추출될 적어도 하나의 참조 영상 블록의 데이터 크기를 제어하는 단계;
    상기 적어도 하나의 참조 영상 블록의 데이터 크기 제어를 통해 상기 캐쉬 메모리로 추출된 상기 적어도 하나의 참조 영상 블록 중에서 현재 영상 블록에 대응되는 후보 영상 블록을 선택하는 단계; 및
    상기 선택된 후보 영상 블록으로부터 모션 벡터의 추출을 통해 모션 추정을 하는 단계를 포함하고,
    상기 데이터 크기를 제어하는 단계는, 상기 캐쉬 메모리의 히트 레이트가 증가하면 상기 적어도 하나의 참조 영상 블록의 개수와 크기 중 적어도 하나를 감소시키고, 상기 캐쉬 메모리의 상기 히트레이트가 감소하면, 상기 적어도 하나의 참조 영상 블록의 개수와 크기 중 적어도 하나를 증가시키는 단계를 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 데이터 크기를 제어하는 단계는,
    상기 현재 영상 블록을 포함한 현재 영상 내에서 모션 추정을 할 때 현재 영상 블록들 간에 영상 변화량이 기준 변화량보다 큰 시점에 상기 적어도 하나의 참조 영상 블록을 추출하도록 제어하는 단계를 포함하는 방법.
  8. 삭제
  9. 삭제
  10. 삭제
KR1020110024024A 2011-03-17 2011-03-17 모션 추정 장치 및 그것의 모션 추정 방법 KR101898464B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020110024024A KR101898464B1 (ko) 2011-03-17 2011-03-17 모션 추정 장치 및 그것의 모션 추정 방법
US13/421,304 US8837843B2 (en) 2011-03-17 2012-03-15 Motion estimation device to manage encoding time and associated method
US14/466,526 US9319676B2 (en) 2011-03-17 2014-08-22 Motion estimator and system on chip comprising the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110024024A KR101898464B1 (ko) 2011-03-17 2011-03-17 모션 추정 장치 및 그것의 모션 추정 방법

Publications (2)

Publication Number Publication Date
KR20120106133A KR20120106133A (ko) 2012-09-26
KR101898464B1 true KR101898464B1 (ko) 2018-09-13

Family

ID=46828504

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110024024A KR101898464B1 (ko) 2011-03-17 2011-03-17 모션 추정 장치 및 그것의 모션 추정 방법

Country Status (2)

Country Link
US (2) US8837843B2 (ko)
KR (1) KR101898464B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5222227B2 (ja) 2009-05-22 2013-06-26 キヤノン株式会社 画像処理方法、画像処理装置およびプログラム
KR101898464B1 (ko) * 2011-03-17 2018-09-13 삼성전자주식회사 모션 추정 장치 및 그것의 모션 추정 방법
US8972645B2 (en) * 2012-09-19 2015-03-03 Hewlett-Packard Development Company, L.P. Request sent to storage device based on moving average
US10805635B1 (en) * 2016-03-22 2020-10-13 NGCodec Inc. Apparatus and method for coding tree unit bit size limit management
CN110800301A (zh) * 2018-09-30 2020-02-14 深圳市大疆创新科技有限公司 编码设备的控制方法、装置及存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6895048B2 (en) * 1998-03-20 2005-05-17 International Business Machines Corporation Adaptive encoding of a sequence of still frames or partially still frames within motion video
SG111087A1 (en) * 2002-10-03 2005-05-30 St Microelectronics Asia Cache memory system
CN1757237A (zh) * 2003-03-03 2006-04-05 皇家飞利浦电子股份有限公司 视频编码
KR20060012626A (ko) * 2003-05-19 2006-02-08 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 비디오 처리 장치 및 방법
US7453940B2 (en) * 2003-07-15 2008-11-18 Lsi Corporation High quality, low memory bandwidth motion estimation processor
US20050024487A1 (en) * 2003-07-31 2005-02-03 William Chen Video codec system with real-time complexity adaptation and region-of-interest coding
JP4419608B2 (ja) 2004-02-27 2010-02-24 セイコーエプソン株式会社 動画像符号化装置
KR100621137B1 (ko) 2004-02-27 2006-09-13 세이코 엡슨 가부시키가이샤 동화상 부호화 장치 및 동화상 처리장치
KR100772379B1 (ko) * 2005-09-23 2007-11-01 삼성전자주식회사 외부 메모리 장치, 그 영상 데이터 저장 방법, 이를 이용한영상 처리 장치
US20070201554A1 (en) * 2006-02-24 2007-08-30 Samsung Electronics Co., Ltd. Video transcoding method and apparatus
US7773672B2 (en) * 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
KR100891116B1 (ko) * 2007-04-02 2009-03-30 삼성전자주식회사 대역폭 인식 움직임 보상 장치 및 그 방법
US20080285652A1 (en) * 2007-05-14 2008-11-20 Horizon Semiconductors Ltd. Apparatus and methods for optimization of image and motion picture memory access
KR101611408B1 (ko) * 2008-06-30 2016-04-12 삼성전자주식회사 점유 대역폭의 감소를 위한 영상 부호화 방법 및 장치, 그리고 영상 복호화 방법 및 장치
JP2010016696A (ja) 2008-07-04 2010-01-21 Canon Inc 動きベクトル探索装置及びその制御方法
US9001883B2 (en) * 2011-02-16 2015-04-07 Mediatek Inc Method and apparatus for slice common information sharing
KR101898464B1 (ko) * 2011-03-17 2018-09-13 삼성전자주식회사 모션 추정 장치 및 그것의 모션 추정 방법
KR20130103140A (ko) * 2012-03-09 2013-09-23 한국전자통신연구원 영상압축 전에 행해지는 전처리 방법, 영상 압축률 개선을 위한 적응성 움직임 추정방법 및 영상 타입별 영상 데이터 제공방법

Also Published As

Publication number Publication date
US20120237133A1 (en) 2012-09-20
US20140363094A1 (en) 2014-12-11
US8837843B2 (en) 2014-09-16
US9319676B2 (en) 2016-04-19
KR20120106133A (ko) 2012-09-26

Similar Documents

Publication Publication Date Title
US10057590B2 (en) Method and apparatus using software engine and hardware engine collaborated with each other to achieve hybrid video encoding
JP6286718B2 (ja) 高効率な次世代ビデオコーディングのためのフレーム階層応答型量子化を使用する、コンテンツ適応ビットレートおよび品質管理
US10291925B2 (en) Techniques for hardware video encoding
KR101898464B1 (ko) 모션 추정 장치 및 그것의 모션 추정 방법
CN108012163B (zh) 视频编码的码率控制方法及装置
US9307241B2 (en) Video encoding method and a video encoding apparatus using the same
US20200359034A1 (en) Techniques for hardware video encoding
US20140205012A1 (en) Method and apparatus using software engine and hardware engine collaborated with each other to achieve hybrid video encoding
US8654850B2 (en) Image coding device and image coding method
US9832477B2 (en) Data encoding with sign data hiding
US11025913B2 (en) Encoding video using palette prediction and intra-block copy
US20180184089A1 (en) Target bit allocation for video coding
GB2560548A (en) Video data processing system
US8451901B2 (en) High-speed motion estimation apparatus and method
CN112995679A (zh) 视频的运动适应性编码
KR20030029937A (ko) 제어된 벡터 통계들을 이용한 모션 추정 및 보상
US20160227243A1 (en) Video encoding apparatus and method
CN112715028A (zh) 传送控制的视频编码
CN116233453B (zh) 一种视频编码方法及装置
US20140177709A1 (en) Image encoding apparatus, image encoding method and computer program
EP3742734A1 (en) Method and device for selecting prediction direction in image encoding, and storage medium
US20110096082A1 (en) Memory access control device and method thereof
US20110099340A1 (en) Memory access control device and method thereof
US11825088B2 (en) Adaptively encoding video frames based on complexity
US10129551B2 (en) Image processing apparatus, image processing method, and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)