KR20000037705A - 저 전송률 비디오 코덱을 위한 움직임 예측장치 - Google Patents

저 전송률 비디오 코덱을 위한 움직임 예측장치 Download PDF

Info

Publication number
KR20000037705A
KR20000037705A KR1019980052354A KR19980052354A KR20000037705A KR 20000037705 A KR20000037705 A KR 20000037705A KR 1019980052354 A KR1019980052354 A KR 1019980052354A KR 19980052354 A KR19980052354 A KR 19980052354A KR 20000037705 A KR20000037705 A KR 20000037705A
Authority
KR
South Korea
Prior art keywords
data
reference block
value
block
inter
Prior art date
Application number
KR1019980052354A
Other languages
English (en)
Other versions
KR100282614B1 (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 KR1019980052354A priority Critical patent/KR100282614B1/ko
Publication of KR20000037705A publication Critical patent/KR20000037705A/ko
Application granted granted Critical
Publication of KR100282614B1 publication Critical patent/KR100282614B1/ko

Links

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
    • 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/103Selection of coding mode or of prediction mode
    • 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/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

Landscapes

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

Abstract

본 발명은 저 전송률 비디오 코덱(H.261/H.263)에 적용할 수 있는 움직임 예측기를 제안한다. 본 발명에서 사용한 완전 탐색블록 정합 알고리즘은 움직임 예측을 통해 움직임 벡터를 추출하는 방법 중 가장 정확한 방법이나, 구현할 경우 계산시간이 많이 소요되고, 하드웨어의 비용이 많이 필요하게 된다. 본 발명에서 제안하는 병렬 구조와 메모리 구조를 통하여 시스템의 효율을 최대로하여 수행 시간을 단축함과 동시에 하드웨어의 비용도 줄였다. 또한 본 움직임 예측기에는 인코딩 연산 중의 마크로 블록이 인트라/인터(Intra/Inter) 블록을 결정하는 부분을 포함하고 있다. 인트라/인터 결정 연산에는 기준블록 데이터를 위한 별도의 메모리와 연산장치 및 제어장치가 필요하게 된다. 본 발명에서는 이 부분을 움직임 예측기에 있는 기준블록 데이터를 이용하여 연산하므로써 별도의 메모리를 줄이고, 인트라/인터 결정 부분을 움직임 예측기에서 이루어지도록 하여 코덱 전체 제어기의 부담을 줄이게 하였다.

Description

저 전송률 비디오 코덱을 위한 움직임 예측장치
본 발명은 저 전송률 비디오 코덱에 적용할 수 있는 움직임 예측기에 관한 것으로, 특히 기준블록의 인터/인트라 결정을 하는 부분을 움직임 예측기 내부에 두고, 탐색영역 데이터를 로드함에 있어 2포트 램을 사용하여 지역메모리의 크기를 줄이면서 연속적인 연산이 가능하도록 함으로써, 전체 비디오 코덱의 크기를 줄일 수 있도록 한 저 전송률 비디오 코덱을 위한 움직임 검출장치에 관한 것이다.
일반적으로 화상데이터 압축 시스템에서 영상블록의 프레임간 움직임을 보상하는 방법에 있어서, 현재블록(기준블록)과 실제적으로 동일한 정보를 갖는 한 프레임 이전 블록(탐색영역 블록)들로부터 현재 블록에 대한 움직임 벡터를 생성하고, 한 프레임 이전 블록과의 비교에 의해 발생한 현재 블록에 관한 움직임 벡터중에서 그 크기 및 방향이 현재 블록에 인접한 블록의 움직임 벡터와 가장 유사한 움직임 벡터를 검출하여 움직임을 추정하고 있다.
그런데, 움직임 벡터를 생성하기 위한 탐색 영역 데이터를 한번에 로드시켜야 하므로 메모리 용량이 많이 필요하고, 움직임 벡터를 검출한 기준블록에 대하여 인트라(intra)/인터(inter) 결정을 위하여 별도의 하드웨어를 구성하여야 하므로 전체 시스템의 게이트 수가 많아지고 하드웨어가 커지는 문제점이 있다.
따라서, 본 발명에서는 움직임 예측 연산에 필요한 기준블록 데이터와 탐색영역 데이터를 모두 움직임 예측기의 지역 메모리(Local Memory)에 로드한 후 직접 움직임 예측 연산을 하지않고, 기준 블록은 16 x 16 한 마크로 블록을 로드하고, 탐색영역 데이터는 (탐색영역크기 x 16) 만큼을 초기에 로드한 후 연산 중에 필요한 데이터를 움직임 예측 연산에 영향을 미치지 않으면서 로드하여 지속적인 움직임 예측 연산이 가능하도록 하였다.
이는 탐색영역 데이터 저장 메모리를 2 포트 램(Two Port RAM)을 사용하여 읽기와 쓰기가 동시에 가능하도록 구현하였고, 이러한 설계는 초기에 탐색영역 데이터의 로드로 인한 시간을 줄이고, 데이터 로드 시점을 분산하므로써 전체 비디오 코덱 시스템의 외부 비디오 데이터 메모리 접근 스케슐링에 도움이 되고, 무엇보다 탐색영역 데이터를 모두 저장하는 것 보다 작은 메모리를 사용한다.
또한 비디오 코덱의 Intra/Inter 결정은 기준블록의 평균 화소값을 구하고 다시 기준 블록의 각 화소와 평균 화소값과의 차의 합을 구한 다음 움직임 벡터에서 선택된 후보 블록에서 얻은 최소 SAD값을 비교하여 해당 기준블록이 Intra인지 또는 Inter인지를 결정하는 부분이다. 이를 독립적으로 구성할 경우 기준블록을 비디오 메모리로부터 로드를 해야하고, 각각의 화소값을 읽어 그 평균값을 계산하며, 또한 평균값과 각 화소값과의 차의 절대치 값을 구해야하는 하드웨어가 필요하게된다.
본 발명에서는 이 부분을 움직임 예측기에 두어 독립적으로 구성될 경우에 비디오 코덱의 전체적인 설계에서 중복되는 기준블록의 로드에 따른 메모리, 연산을 위한 여러 덧셈기, 메모리에서 화소 데이터를 읽기 위한 주소 생성기 및 제어부분을 구성하는 하드웨어를 줄이고, 비디오 메모리에서 기준블록 데이터를 중복하여 읽지않아 시스템 전체의 메모리 대역폭을 낮추고, 추가되는 제어부분 역시 간소화하였다.
도 1은 본 발명에 의한 움직임 예측장치의 전체적인 구조도.
도 2는 본 발명에 의한 기준블록과 탐색영역 데이터의 구조 및 탐색영역 데이터의 슬라이스 구조도.
도 3은 본 발명의 탐색영역 데이터 저장을 위한 탐색영역 지역메모리 구조도.
도 4는 본 발명의 움직임 예측기의 연산중 데이터 흐름을 설명하기 위한 타이밍도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 지역 메모리 101 : 기준블록 데이터 메모리
102 : 탐색영역 데이터 메모리 110 : 움직임 예측부
111 : 연산기 어레이 112 : 부분합 저장 및 비교기
113 : 벡터생성 및 인트라/인터 결정부
120 : 인트라/인터 결정정보 제공부
121 : 평균 화소값 연산부 122 : 화소값 차의 합 연산부
130 : 제어부 131 : 상태 카운터 및 상태 제어부
132 : DMA 및 IF부 133 : 쓰기 어드레스 제어부
134 : 읽기 어드레스 제어부 135 : 연산기 어레이 제어부
136 : 벡터생성 제어부
이하, 본 발명의 실시예를 첨부된 도면을 참조해서 상세히 설명하면 다음과 같다.
도 1은 본 발명에서 설계한 움직임 예측기의 전체 블록도이다.
비디오 메모리(도시않됨)로부터 데이터를 입력받아 저장하여 현재 데이터에 대한 16 x 16 하나의 마크로 블록을 기준블록으로 로드하고, (탐색영역크기 x 16)의 탐색영역 데이터로서 로드시키는 지역 메모리(100)와, 상기 지역 메모리(100)로부터 현재 데이터인 기준블록 데이터를 입력받아 기준블록의 평균 화소값을 구하고 다시 기준 블록의 각 화소와 평균 화소값과의 차의 합을 구하여 인터/인트라 결정을 위한 정보로서 제공하는 인터/인트라 결정정보 제공부(120)와, 기준블록과 탐색영역 블록의 행단위로 입력받아 차의 절대치 합에 대한 부분합을 구하여 저장하고 부분합들을 누적하여 SAD 값들을 생성하고, 비교하여 가장 작은 SAD 값을 갖는 후보블록을 찾은 후, 현재의 SAD값과 비교하여 최소 SAD 값을 선택하고, 그 선택된 SAD값을 가지는 블록의 움직임 벡터값을 생성함과 아울러 상기 인터/인트라 결정정보 제공부에서 제공되는 현재 데이터에 따른 기준블록의 SAD값과 상기 움직임 벡터에서 선택된 후보 블록의 SAD값을 비교하여 해당 기준블록이 Intra인지 또는 Inter인지를 결정하는 움직임 벡터 예측부(110)와;
상태 카운터 및 상태 제어부의 제어에 의거하여 상기 지역 메모리의 입/출력을 위한 어드레스와, 움직임 예측부의 부분합 연산을 위한 제어신호 및 상기 벡터 발생을 위한 제어신호 등을 제어하는 제어부(130)로 구성된다.
상기 지역 메모리(100)는, 16 x 16의 하나의 마크로 블록 데이터를 기준블록 데이터(현재데이터)로 입력받아 저장하는 기준블록 데이터 메모리(101)와, (탐색영역크기 x 16) 탐색영역의 16개의 행으로 구성된 탐색영역 슬라이스 데이터를 입력받아 저장하고 홀수 행 데이터와 짝수 행 데이터별로 출력하는 탐색데이터 메모리(102)로 구성된다.
상기 움직임 예측부(110)는, 상기 지역 메모리(100)로부터 기준블록과 매 탐색영역 슬라이스의 홀수 행과 짝수 행을 입력받아 병렬 연산의 반복을 통하여 움직임 벡터 추출을 위한 기준블록과 후보 블록들간의 부분 차의 절대치 합(PSAD ; Partial Sum of Absolute Difference)을 연산하는 연산기 어레이(111)와, 그 연산기 어레이(111)에서 출력되는 부분 합의 누적합을 구하고 기준블록의 마지막 행과 한 슬라이스 데이터의 마지막 행에 대한 연산 값이 입력되면 한 탐색영역 슬라이스에 포함된 탐색 후보 블록들의 최종 SAD 값을 비교하여 최소의 SAD 값을 가지는 후보블록의 벡터와 해당 SAD 값을 출력하는 부분합 저장 및 비교기(112)와, 그 부분합 저장 및 비교기(112)에서 출력되는 후보블록의 SAD 값과 현재의 최소 SAD 값이 비교되어 전체 탐색영역에서 가장 작은 SAD 값과 해당 블록의 벡터값을 생성하고, 상기 인트라/인터 결정 정보 제공부(120)에서 제공되는 기준블록의 SAD값과 상기 최소 SAD값을 비교하여 해당 기준블록이 Intra인지 또는 Inter인지를 결정하는 벡터 생성 및 인트라/인터 결정부(113)로 구성된다.
상기 인트라/인터 결정 정보 제공부(120)는, 지역 메모리(100)로부터 현재 데이터인 기준블록 데이터를 입력받아 기준블록의 평균 화소값을 구하는 평균화소값 연산부(121)와, 상기 기준 블록의 각 화소와 평균 화소값과의 차의 합을 구하는 부분합 연산부(122)로 구성되어 인터/인트라 결정을 위한 정보로서 제공하도록 구성된다.
상기 제어부(130)는, 기준블록 데이터 및 탐색 영역 데이터의 입/출력과 연산 타이밍을 제어하기 위한 클럭을 카운트하는 상태 카운터 및 상태 제어부(131)와, DMA 및 IF제어부(132)와, 상기 상태 카운터 및 상태 제어부(131)의 출력에 의거하여 상기 지역메모리(100)의 쓰기 어드레스를 발생하는 쓰기 어드레스 발생기(133), 읽기 어드레스를 발생하는 읽기 어드레스 발생기(134), 상기 연산기 어레이(111)를 제어하는 연산기 어레이 제어부(135)와, 상기 벡터 생성 및 인트라/인터 결정부(113)를 제어하는 벡터발생 제어기(136)로 구성된다.
도 2는 기준블록과 탐색영역 데이터의 모양을 나타낸 것이다.
도 2의 기준블록 데이터는 현재의 입력 데이터로서, 모두 도 1의 기준블록 데이터 메모리(101)에 저장된다. 도 2에서 탐색영역의 16개의 행으로 구성된 부분을 탐색영역 슬라이스(221)라 한다. 도 1의 탐색영역 데이터 메모리(102)에는 한 개의 탐색영역 슬라이스가 저장된다.
본 발명의 움직임 예측부(110)는, 기준블록과 한 개의 탐색영역 슬라이스가 병렬연산의 반복을 통하여 움직임 벡터 추출연산이 이루어진다. 초기화된 데이터는 움직임 벡터의 추출을 위해 연산기 어레이(111)로 입력된다.
본 발명의 연산기 어레이(111)에 탐색영역 데이터는 매 탐색영역 슬라이스의 홀수 행과 짝수 행이 동시에 입력된다. 입력된 데이터에 의해 연산기 어레이(111)에서는 기준블록과 후보 블록들간의 부분 차의 절대치 합(PSAD(Partial Sum of Absolute Difference))이 부분합 저장 및 비교기(112)에 전달된다. 기준블록의 마지막 행과 한 슬라이스 데이터의 마지막 행이 입력되면 부분합 저장 및 비교기(112)에서는 한 탐색영역 슬라이스에 포함된 탐색 후보 블록들의 최종 SAD 값을 비교하여 최소의 SAD 값을 가지는 후보블록의 벡터와 해당 SAD 값을 벡터생성기 및 Intra/Inter 결정부(113)에 전달한다.
이와 같은 연산이 마지막 탐색영역 슬라이스가 처리될 때 까지 반복되고 마지막 탐색영역 슬라이스 데이터가 입력되고 부분합 및 비교기(112)에서는 가장 마지막 슬라이스에서 가장 작은 SAD 값과 해당 벡터값이 벡터생성기 및 Intra/Inter 결정부(113)에 전달된다. 전달된 값은 지금까지의 최소 SAD 값과 비교되어 전체 탐색영역에서 가장 작은 SAD 값과 해당 벡터가 결정된다. 이와 같이 반복되는 기준 블록과 탐색영역 슬라이스와의 연산이 가능하도록 새로운 슬라이스 데이터가 연산중의 슬라이스 데이터가 모두 연산기 어레이(111)에 입력되기 전에 준비되어야 한다.
도 3은 도 1의 탐색영역 데이터 메모리로 한 개의 탐색영역 슬라이스를 저장하기 위한 탐색영역 메모리를 나타내고 있다. 도 3에서와 같이 탐색영역 데이터는 16개의 뱅크로 구성되며, 각 뱅크의 물리적 시작 주소는 탐색영역의 한 행의 최대 화소 수에 의해 정해지며, 그 데이터 폭은 16비트로 두개의 화소 데이터가 기억되므로 0, 24, 47, ..., 360이 된다. 한 뱅크에는 탐색영역 데이터의 한 행을 구성하는 데이터가 저장된다.
도 3에서는 탐색영역 범위는 탐색영역의 한 행에 포함된 데이터가 최대 48개가 되고, 만일 탐색영역이 이전 프레임의 가장자리일 경우는 32개가 되며, 이 경우 한 뱅크는 32개의 화소 데이터가 저장되고 나머지 뒤 부분은 데이터가 없는 상태가 된다. 이로써 초기에 로드되는 탐색영역 데이터는 움직임 예측 연산을 위한 1개의 탐색영역 슬라이스가 된다.
도 4는 상위에서 설명한 연산 과정을 데이터의 흐름으로 나타낸 것이다. 도 4에서 첫번째 탐색영역 슬라이스(221)에 해당되는 연산은 이미 초기화된 상태에서 시작된다. 즉 기준블록의 R0∼R15의 16개 행이 저장되고, 탐색영역 데이터는 탐색영역 데이터중 첫번째 슬라이스를 구성하는 S0∼S15 까지가 로드되어 각각의 뱅크(Bank)0∼뱅크(Bank)15에 한 행씩 저장된다.
기준 블록 데이터의 첫번째 행(R0)과 첫번째 탐색영역 슬라이스 데이터의 첫번째 행(S0) 데이터, 즉 Bank0 데이터가 각각 연산기 어레이(111)로 입력되고, 기준블록의 두번째 행이 입력되는 시점과 같이 탐색영역 슬라이스의 두번째 행(S1)이 입력된다. 이때 두개의 탐색영역 데이터는 각각 홀수 행과 짝수 행 데이터 경로를 통해서 연산기 어레이(111)로 입력된다. 슬라이스의 첫번째 홀수 행은 Bank0에 있는 데이터가 되고, 첫번째 짝수 행은 Bank1에 있는 데이터가 된다. Bank0 데이터가 모두 입력되고 난 다음 계속해서 같은 경로를 통해 Bank2 데이터가 입력된다. 이 시점부터 Bank0에 저장되어 있던 데이터는 더 이상 사용하지 않게 된다. 본 발명에서는 이 시점부터 다음 슬라이스(222)의 가장 마지막 행이 될 S16이 첫번째 탐색영역 슬라이스에 대한 연산이 끝날 때까지 Bank0에 로드된다.
도 4에서 첫번째 탐색영역 슬라이스에 대한 연산이 끝난 후 두번째 탐색영역 슬라이스(222)는 Bank1 ∼ Bank15, Bank0 데이터로 구성되고, Bank1, Bank3, ... 데이터는 홀수 행 경로를 통해서 입력되고, Bank2, Bank4, ... 데이터는 짝수 행 경로를 통해서 연산기 어레이에 입력된다.
이와 같은 반복된 연산은 탐색영역 데이터를 구성하는 슬라이스의 개수 만큼 반복된다. 위의 설명에서와 같이 본 발명의 움직임 예측부는 연산중 데이터 로드를 통하여 연속적인 연산이 가능하여 연산기의 효율을 최대로 하였고, 탐색영역 데이터 저장을 위한 메모리를 줄였다.
본 발명 움직임 예측부(110)로 한 기준블록에 대해서 움직임 벡터를 추출하기 위해서는 탐색영역 슬라이스의 개수만큼 기준블록을 반복해서 지역 메모리(100)에서 읽게된다. 본 발명에서는 이렇게 반복해서 기준블록을 읽는 것을 이용하여 Intra/Inter 결정 정보 제공부(120)를 움직임 예측기에 두어 해당 연산을 한다.
도 1에서 첫번째 기준블록 데이터를 읽을 때 이 기준블록 데이터를Intra/Inter 결정 정보 제공부(120)에도 입력하여 기준블록의 평균화소 값 계산부(121)에서 계산하고, 두번째 기준블록을 읽을때 각 화소값과 평균 화소 값과의 차의 절대치 합 연산부(122)를 통해 연산을 하도록 설계하였다. 그런 다음 최종 움직임 예측 연산이 종료되어 움직임 벡터와 해당 벡터의 SAD 값이 결정되면, 벡터 생성 및 Intra/Inter 결정부(113)에 입력되어 해당 기준블록의 Intra/Inter 여부를 결정한다.
한편, 상기한 연산의 제어는, 제어부(130)의 상태 카운터와 상태 제어부(131)에 의해 쓰기/읽기 어드레스 발생부(133, 134)가 상기 기준 메모리(100)의 쓰기 읽기 어드레스를 발생시키고, 연산기 어레이 제어부(135)가 상기 연산기 어레이(111)의 어드레스를 제어하며, 벡터 발생 제어기(136)가 상기 벡터 발생 및 인트라/인터 결정부(113)의 벡터 발생 타이밍을 제어하게 된다.
이상에서 상세히 설명한 바와 같이, 본 발명에서는 움직임 예측기의 움직임 예측을 위한 연산에 필요한 탐색영역 데이터를 로드함에 있어 2포트램을 사용하여 지역메모리의 크기를 줄이면서 연속적인 연산이 가능하도록 하여 전체 비디오 코덱의 크기(Gate 개수)를 줄였다.
본 발명에서는 Intra/Inter 결정 부분을 움직임 예측기 내부에 두어 중복되는 기준블록의 저장 메모리와 별도의 데이터를 메모리에서 읽기위한 주소 생성부분과 제어부분이 필요하지 않게되어 비디오 코덱 전체적인 제어를 간소화하였으며, 비디오 코덱의 크기를 줄었다.
본 발명은 상위 두 방법으로 저 전송률 비디오 코덱에 적합한 움직임 예측기를 구현하였다.

Claims (6)

  1. 비디오 메모리로부터 하나의 마크로 블록에 해당하는 기준블록과, 탐색영역 블록의 데이터를 입력받아 저장하는 지역 메모리와;
    상기 지역 메모리의 기준블록 데이터를 입력받아 평균 화소값을 구하고 각 화소와 평균 화소값의 차의 합을 구하는 인터/인트라 결정 정보 제공부와;
    기준블록과 탐색영역 블록의 행단위로 입력받아 차의 절대치 합에 대한 부분합을 구하고, 누적하여 SAD 값들을 생성하고, 비교하여 가장 작은 SAD 값을 갖는 후보블록을 한 탐색영역 슬라이스마다 찾은 후, 현재의 최소 SAD값과 비교하여 최소 SAD 값을 선택하여 벡터값을 생성함과 아울러 상기 인터/인트라 결정정보 제공부에서 제공되는 기준블록의 SAD값과 상기 최소 SAD값을 비교하여 해당 기준블록이 인트라인지 또는 인터인지를 결정하는 움직임 벡터 예측부와;
    상태 카운터 및 상태 제어부의 제어에 의거하여 상기 지역 메모리의 입/출력을 위한 어드레스와, 움직임 예측부의 부분합 연산을 위한 어드레스 및 상기 벡터 발생을 위한 어드레스를 제어하는 제어부;로 구성된 것을 특징으로 하는 비디오 코덱을 위한 움직임 예측장치.
  2. 제 1 항에 있어서, 상기 지역 메모리는,
    16 x 16의 하나의 마크로 블록 데이터를 기준블록 데이터로 입력받아 저장하는 기준블록 데이터 메모리와;
    (탐색영역크기 x 16) 탐색영역의 16개의 행으로 구성된 탐색영역 슬라이스 데이터를 입력받아 저장하고 홀수 행 데이터와 짝수 행 데이터별로 출력하는 탐색데이터 메모리;로 구성된 것을 특징으로 하는 비디오 코덱을 위한 움직임 예측장치.
  3. 제 1 항에 있어서, 상기 움직임 예측부는,
    상기 지역 메모리로부터 기준블록과 매 탐색영역 슬라이스의 홀수 행과 짝수 행을 입력받아 병렬 연산의 반복을 통하여 움직임 벡터 추출을 위한 기준블록과 후보 블록들간의 부분 차의 절대치 합을 연산하는 연산기 어레이와;
    그 연산기 어레이에서 출력되는 부분 합을 저장하고 기준블록의 마지막 행과 한 슬라이스 데이터의 마지막 행에 대한 연산 값이 입력되면 한 탐색영역 슬라이스에 포함된 탐색 후보 블록들의 최종 SAD 값을 비교하여 최소의 SAD 값을 가지는 후보블록의 벡터와 해당 SAD 값을 출력하는 부분합 저장 및 비교기와;
    그 부분합 저장 및 비교기에서 출력되는 후보블록의 SAD 값과 현재의 최소 SAD 값이 비교되어 전체 탐색영역에서 가장 작은 SAD 값과 해당 블록의 벡터값을 생성하고, 상기 인트라/인터 결정 정보 제공부에서 제공되는 기준블록의 SAD값과 상기 최소 SAD값을 비교하여 해당 기준블록이 인트라인지 또는 인터인지를 결정하는 벡터 생성 및 인트라/인터 결정부;로 구성된 것을 특징으로 하는 비디오 코덱을 위한 움직임 예측장치.
  4. 제 1 항에 있어서, 상기 인트라/인터 결정 정보 제공부는,
    상기 지역 메모리로부터 현재 데이터인 기준블록 데이터를 입력받아 기준블록의 평균 화소값을 구하는 평균화소값 연산부와;
    상기 기준 블록의 각 화소와 평균 화소값과의 차의 합을 구하는 부분합 연산부;로 구성되어 인터/인트라 결정을 위한 정보로서 제공하도록 구성된 것을 특징으로 하는 비디오 코덱을 위한 움직임 예측장치.
  5. 제 1 항에 있어서, 상기 기준 메모리는,
    상기 기준 메모리의 탐색영역 데이터 저장 메모리를 2 포트 램(Two Port RAM)을 사용하여 읽기와 쓰기가 동시에 가능하도록 구현하고, 움직임 예측부로 홀수/짝수 행 단위로 로드시켜 연산 중 탐색영역의 다음 한 행을 읽어 다음 연산에 사용 되어질 탐색영역 슬라이스를 구성하도록 이루어진 것을 특징으로 하는 비디오 코덱을 위한 움직임 예측장치.
  6. 기준블록과 탐색영역 블록의 행단위 데이터의 차의 절대치 합에 대한 부분합을 구하고, 부분합들을 누적하여 SAD 값들을 생성하고, 비교하여 가장 작은 SAD 값을 갖는 후보블록을 찾아 현재의 SAD값과 비교하여 최소 SAD 값을 선택하여 움직임 벡터값을 생성하는 움직임 예측기에 있어서,
    상기 기준블록 데이터의 평균 화소값을 구하고 각 화소와 평균 화소값의 차의 합을 구하여 상기 최소 SAD값과의 비교에 의거하여 상기 기준블록의 인터/인트라 결정을 하는 부분을 움직임 예측기 내부에 두어 기준블록 데이터를 움직임 예측과 인트라/인터 결정을 위한 연산에 동시에 사용하는 것을 특징으로 하는 비디오 코덱을 위한 움직임 예측장치.
KR1019980052354A 1998-12-01 1998-12-01 저 전송률 비디오 코덱을 위한 움직임 예측장치 KR100282614B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980052354A KR100282614B1 (ko) 1998-12-01 1998-12-01 저 전송률 비디오 코덱을 위한 움직임 예측장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980052354A KR100282614B1 (ko) 1998-12-01 1998-12-01 저 전송률 비디오 코덱을 위한 움직임 예측장치

Publications (2)

Publication Number Publication Date
KR20000037705A true KR20000037705A (ko) 2000-07-05
KR100282614B1 KR100282614B1 (ko) 2001-02-15

Family

ID=19560844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980052354A KR100282614B1 (ko) 1998-12-01 1998-12-01 저 전송률 비디오 코덱을 위한 움직임 예측장치

Country Status (1)

Country Link
KR (1) KR100282614B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030024411A (ko) * 2001-09-18 2003-03-26 엘지전자 주식회사 H.26l에서의 b 픽쳐 코딩 방법
KR20040039809A (ko) * 2002-11-05 2004-05-12 엘지전자 주식회사 동영상 부호화기 및 이를 이용한 부호화 방법
KR100549919B1 (ko) * 2000-12-15 2006-02-06 주식회사 케이티 소요클럭사이클수 감축을 위한 초대규모 집적회로 장치
US7864859B2 (en) 2005-02-02 2011-01-04 Samsung Electronics Co., Ltd. Method and circuit for coding mode determinations recognizing auto exposure control of input image
KR101848078B1 (ko) * 2017-04-28 2018-04-11 주식회사 마루이엔지 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100549919B1 (ko) * 2000-12-15 2006-02-06 주식회사 케이티 소요클럭사이클수 감축을 위한 초대규모 집적회로 장치
KR20030024411A (ko) * 2001-09-18 2003-03-26 엘지전자 주식회사 H.26l에서의 b 픽쳐 코딩 방법
KR20040039809A (ko) * 2002-11-05 2004-05-12 엘지전자 주식회사 동영상 부호화기 및 이를 이용한 부호화 방법
US7864859B2 (en) 2005-02-02 2011-01-04 Samsung Electronics Co., Ltd. Method and circuit for coding mode determinations recognizing auto exposure control of input image
KR101848078B1 (ko) * 2017-04-28 2018-04-11 주식회사 마루이엔지 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법

Also Published As

Publication number Publication date
KR100282614B1 (ko) 2001-02-15

Similar Documents

Publication Publication Date Title
EP0896300B1 (en) Device and method for motion vector detection
US5838828A (en) Method and apparatus for motion estimation in a video signal
US6690730B2 (en) Motion estimator
US20050238102A1 (en) Hierarchical motion estimation apparatus and method
KR100273629B1 (ko) 이동 벡터 평가 방법 및 장치
US8345764B2 (en) Motion estimation device having motion estimation processing elements with adder tree arrays
US4800425A (en) System for displacement vector searching during digital image analysis
US8451901B2 (en) High-speed motion estimation apparatus and method
US6169766B1 (en) Method and apparatus for detecting motion vector and image coding apparatus
US8064523B2 (en) Motion vector search apparatus
KR100282614B1 (ko) 저 전송률 비디오 코덱을 위한 움직임 예측장치
US6584212B1 (en) Apparatus for motion estimation with control part implemented by state transition diagram
US7072240B2 (en) Apparatus for processing data, memory bank used therefor, semiconductor device, and memory for reading out pixel data
CN112738510A (zh) 预测单元尺寸决策的方法、装置、电子设备及介质
KR0178302B1 (ko) 양방향 병렬 파이프라인 구조에 근거한 탐색 이동 예측처리기
US5548665A (en) Vector correlation detecting circuit
US20040120402A1 (en) Motion estimation apparatus for image data compression
KR100359091B1 (ko) 움직임추정장치
WO2000064182A1 (en) Motion estimation
US6968011B2 (en) Motion vector detecting device improved in detection speed of motion vectors and system employing the same devices
US5715175A (en) Device for providing pixels to a series of operators of a circuit for compressing motion pictures
KR100926440B1 (ko) 영상부호화를 위한 블록 매칭 움직임 추정 장치
JP2000165883A (ja) 動きベクトル検出装置
WO1998030016A2 (en) Method and apparatus for half pixel sad generation
KR100205146B1 (ko) 디지탈 비데오 인코더 시스템에서 움직임 예측 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20071024

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee