KR100555646B1 - 모션추정 및 모션보상 연산을 위한 라인메모리를 공유하여라인메모리를 감축하는 프레임레이트변환장치 및 그 방법 - Google Patents
모션추정 및 모션보상 연산을 위한 라인메모리를 공유하여라인메모리를 감축하는 프레임레이트변환장치 및 그 방법 Download PDFInfo
- Publication number
- KR100555646B1 KR100555646B1 KR1020030058070A KR20030058070A KR100555646B1 KR 100555646 B1 KR100555646 B1 KR 100555646B1 KR 1020030058070 A KR1020030058070 A KR 1020030058070A KR 20030058070 A KR20030058070 A KR 20030058070A KR 100555646 B1 KR100555646 B1 KR 100555646B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- image data
- motion
- unit
- motion vector
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0127—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0135—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
- H04N7/014—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Systems (AREA)
Abstract
제1프레임을 기준으로 제2프레임에 대한 모션벡터를 구하고, 이를 토대로 제1프레임 및 제2프레임 사이를 보간하는 제3프레임을 형성하여 프레임레이트를 가변하는 프레임레이트 변환장치는, 제1프레임을 기준으로 제2프레임에 대한 모션벡터를 산출하는 모션추정부, 제1프레임과 산출된 모션벡터를 토대로, 제3프레임에 대한 영상 데이터를 구성하는 모션보정부, 모션추정부와 모션보정부를 교대로 선택하는 선택부 및 선택부의 선택에 따라, 제1프레임과 상기 제2프레임을 구성하는 영상 데이터의 소정 영역을 선택적으로 저장하고, 선택에 따라 모션추정부와 모션보정부 중 어느 하나에 인가하는 라인메모리부를 포함한다. 따라서, 요구되는 라인메모리 용량을 상당히 줄일 수 있다.
모션 추정, 모션 보상, 모션 벡터, 프레임레이트 변환
Description
도 1은 일반적인 블럭 정합 방식을 이용하여 프레임레이트 변환(Frame Rate Conversion : FRC)을 수행하는 방법을 설명하기 위해 도시한 도면,
도 2는 일반적인 프레임레이트변환 알고리즘에 따른 모션추정/보상 장치를 개략적으로 도시한 블럭도,
도 3은 모션보정부의 라인메모리 이용을 설명하기 위한 블럭도,
도 4는 모션추정부의 라인메모리 이용을 설명하기 위한 블럭도,
도 5는 본 발명의 바람직한 실시예에 따른 프레임레이트 변환장치를 도시한 블럭도, 그리고
도 6은 본 발명의 바람직한 실시예에 따른 프레임레이트 변환장치의 동작을 나타낸 흐름도이다.
* 도면의 주요 부분에 대한 설명 *
510: MMU 520 : 제1변환부
530 : 제1선택부 540 : 라인메모리부
550 : 제2변환부 560 : 제2선택부
570 : 모션추정부 580 : 모션보정부
본 발명은 프레임레이트 변환장치 및 그 방법에 관한 것으로서, 보다 상세하게는, 프레임레이트 변환장치내에서 모션추청장치와 모션보상장치가 라인메모리를 공유하게 함으로써 최소의 라인메모리만을 필요로 하는 프레임레이트 변환장치 및 그 방법에 관한 것이다.
최근 세계적으로 적용되고 있는 TV 방송방식에는 NTSC(National Television System Committee) 방식, PAL(Phase Alternate Line) 방식 등이 있다. NTSC 방식은 1/60초 주기(즉, 60Hz)를 채용하여 1초에 30 프레임을 디스플레이한다. 반면, PAL 방식은 1/50초 주기(즉, 50Hz)를 채용하여 1초에 25 프레임을 디스플레이하므로, NTSC 방식에 비해 낮은 프레임 레이트(Frame Rate)를 가지고 있으나, 더 많은 주사선 및 더 높은 대역폭을 사용하므로 해상도가 높다. 프레임 레이트는 1초당 화면에 표시되는 프레임수를 의미한다.
한편, 각 국가마다 적용하는 TV 방송방식이 다르므로, 방송 규격별로 NTSC 방식의 신호는 PAL 방식의 신호로 또는 PAL 방식의 신호는 NTSC 방식의 신호로 변환해 주어야 하는 경우가 발생한다. 프레임 레이트 변환(Frame Rate Conversion, 이하 "FRC"라 한다) 알고리즘은 이러한 신호 변환을 수행하기 위해 이용된다.
FRC에 의해 50Hz 영상을 60Hz 영상으로 변환하기 위해서는 기본적으로 시간축상에 존재하지 않는 새로운 프레임을 생성하여 보간을 수행하여야 한다. 예를 들어, PAL 방식의 신호를 NTSC 방식의 신호로 변환하는 경우 새로운 프레임을 생성하여야 하는데, 이는 NTSC 방식은 PAL 방식에 비해 1초 당 하나의 프레임을 더 주사하기 때문이다.
이를 위해, 종래의 FRC 알고리즘은 화소 단위 또는 블럭 단위로 모션 추정(Motion Estimation)을 통해 모션벡터를 구하고 이를 이용하여 모션보상(Motion Compensation)을 수행하여 새로운 프레임을 생성한다. 종래의 FRC 알고리즘에서 모션추정을 위해 사용되는 방법으로 블럭 정합 방식(Block Matching Algorithm : BMA)이 있다.
도 1은 일반적인 블럭 정합 방식을 이용하여 프레임레이트 변환을 수행하는 방법을 설명하기 위해 도시한 도면이고, 도 2는 일반적인 프레임레이트변환 알고리즘에 따른 모션추정/보상 장치를 개략적으로 도시한 블럭도이다.
도 1을 참조하면, 제1프레임(110)은 현재프레임이며, 제2프레임(120)은 시간축상 제1프레임 전에 디스플레이되는 화면으로서 이전프레임이고, 제3프레임(130)은 제1프레임(110) 및 제2프레임(120)을 이용하여 보간될 프레임을 의미한다.
이러한 연속되는 영상프레임의 영상 데이터는 상기한 프레임변환을 수행하기전에 일단 영상데이터저장부(미도시)에 저장된다. 영상데이터저장부(미도시)는 연속되는 적어도 둘 이상의 프레임에 대한 영상 데이터를 동시에 저장하여야 하므로, 그 저장용량 요구량이 커서 일반적으로 SDRAM등의 메모리를 사용한다.
블럭 정합 방식은 제1프레임(110)과 제2프레임(120)처럼 연속입력되는 두 장의 프레임을 블럭 단위로 비교하되, 제1프레임 내의 비교되는 블럭 내의 화소들이 병진운동(translation)을 한다는 가정하에서 블럭당 하나의 모션벡터(Motion Vector: MV)를 추정한다.
그리고, 모션벡터가 추정되면, 종래의 FRC 알고리즘은 추정된 모션벡터를 이용하여 모션보상을 수행한다. 즉, 종래의 FRC 알고리즘은 하나의 블럭 당 하나의모션벡터를 추정하여 보간프레임인 제3프레임(130)의 보상용 화소값을 산출한다.
도 2를 참조하면, 종래의 모션추정/보상 장치는 모션추정부(230) 및 모션보상부(260)를 포함한다. 모션추정부(230)는 SAD부(230), 모션벡터재산출부(240) 및 모션필터부(250)를 포함한다.
SAD부(230)는 공지된 SAD(Sum of Absolute Difference) 값을 이용하여 모션벡터를 산출한다. 즉, SAD부(230)는 영상데이터저장부(미도시)에 저장되어 있는 제1프레임(110) 및 제2프레임(120)의 영상 데이터 중 휘도 데이터를 출력하여, 제1프레임(110)의 기준블럭과 제2프레임(120)의 비교블럭에 대한 휘도 데이터를 이용하여 SAD값을 산출하고, 산출된 SAD값 중에서 가장 작은 값을 나타내는 모션벡터를 모션벡터메모리(210)에 저장한다.
모션벡터재산출부(240)는 SAD부(230)에서 산출한 모션벡터의 정밀성을 향상시키기 위해, 그 검색범위를 줄여서 다시 한번 SAD를 수행하여 모션벡터를 산출하여 모션벡터메모리(210)에 저장한다. 그리고, 모션필터부(250)는 프레임내에서 주변블럭과의 상관성까지 고려하여 최종 모션벡터를 산출하여 모션벡터메모리(210)에 저장한다.
따라서, 모션보상부(260)는 모션벡터메모리(210)에 저장된 최종 모션벡터를 이용하여, 보간 프레임인 제3프레임(130)을 구성하기 위해 필요한 영상 데이터 값을 영상데이터저장부(미도시)로부터 출력된 영상 데이터 중에서 선택하고, 선택된 영상 데이터를 이용하여 모션보상을 위한 연산을 수행한다.
도 3은 모션보정부의 라인메모리 이용을 설명하기 위한 블럭도이다. 도 3을 참조하면, 모션보정부(260)는 MMU(Memory Management Unit)(310), 라인메모리부(320), 제2선택부(330) 및 모션보정연산부(340)를 포함한다. MMU(310)는 SDRAM과 같은 영상데이터저장부(미도시)로부터 모션보정연산을 위해 필요한 영상 데이터를 선택적으로 출력하고, 이를 라인메모리(320)에서 소정의 시간동안 임시로 지연시킨다.
라인메모리(320)는 제1프레임의 영상 데이터와 제2프레임의 영상 데이터를 제1프레임을 구성하는 기준블럭을 기준으로 각 라인별로 저장한다. 따라서, 모션추정부(230)의 연산에 필요한 영상 데이터가 순차로 임시 저장되고 출력되어 사용될 수 있다.
모션추정부(230)에서 산출한 모션벡터 및 라인메모리에서 출력된 데이터는 제2선택부(330)에 입력되어 정렬되고 선택적으로 모션보정연산부(340)로 입력되어 모션보정을 위한 연산에 이용된다.
라인메모리부(320)는 휘도 데이터인 Y 데이터를 위한 제1라인메모리(320-1)와 색상 데이터인 Cb, Cr 데이터를 위한 제2라인메모리(320-2)를 포함한다. 이러한 라인메모리는 Y 데이터, C 데이터 각각에 대해서 8개가 필요하고 제1프레임과 제2프레임의 데이터를 동시에 처리하기 위해서는 총 32개의 라인메모리가 필요하게 된다.
도 3은 모션보정부의 라인메모리 이용을 설명하기 위한 블럭도이다. 도 4를 참조하면, 모션추정부(230)는 MMU(410), 라인메모리부(420) 및 모션추정연산부(430)를 포함한다. 모션추정부(230)는 휘도 데이터만을 사용한다. 여기서 MMU(410)의 기능은 도 3의 MMU(310)와 동일하다. 라인메모리부(420)는 제1프레임(110)의 데이터를 위한 라인메모리(420-1) 및 제2프레임(120)의 데이터를 위한 라인메모리(420-2 내지 420-4)를 포함한다. 모션추정연산부(430)는 라인메모리부(420)에 임시 저장된 데이터를 이용하여 모션추정을 위한 연산을 수행한다.
따라서, 제1프레임의 기준블럭에 대해서 8개의 라인메모리가 필요하며 제2프레임의 비교블럭에 대해서 24라인의 라인메모리가 필요하며, 제1프레임과 제2프레임의 데이터를 동시에 처리하기 위해서 총 64개의 라인메모리가 필요하게 된다.
도 3 및 도 4에 도시한 바와같이 종래의 모션추정/보상장치는 많은 수의 라인메모리를 필요로 한다. 즉, 모션추정 연산과 모션보상 연산을 수행하기 위해서 각각 따로 라인메모리가 필요하며, 한 개의 라인메모리가 약 3만 게이트의 크기를 가지므로, 모션추정을 위해 필요한 라인메모리의 크기가 64만 게이트이고 모션보정을 위해 필요한 라인메모리의 크기 또한 64만 게이트 정도가 되어 총 128만 게이트의 라인메모리가 필요하게 되어 하드웨어적인 부담이 크다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 프레임레이트 변환시 모션추청 연산 및 모션보상 연산을 위한 라인메모리를 공유하게 함으로써 최소의 라인메모리만을 필요로 하는 프레임레이트 변환장치를 제공하는 데 있다.
상기와 같은 기술적 과제를 해결하기 위한, 본 발명에 따른 제1프레임을 기준으로 제2프레임에 대한 모션벡터를 구하고, 이를 토대로 상기 제1프레임 및 상기 제2프레임 사이를 보간하는 제3프레임을 형성하여 프레임레이트를 가변하는 프레임레이트 변환장치는, 상기 제1프레임을 기준으로 상기 제2프레임에 대한 모션벡터를 산출하는 모션추정부, 상기 제1프레임과 상기 산출된 상기 모션벡터를 토대로, 상기 제3프레임에 대한 영상 데이터를 구성하는 모션보정부, 상기 모션추정부와 상기 모션보정부를 교대로 선택하는 선택부 및 상기 선택부의 선택에 따라, 상기 제1프레임과 상기 제2프레임을 구성하는 영상 데이터의 소정 영역을 선택적으로 저장하고, 상기 선택에 따라 상기 모션추정부와 상기 모션보정부 중 어느 하나에 인가하는 라인메모리부를 포함한다.
바람직하게는, 상기 모션추정부 및 상기 모션보정부는 동시에 동작하지 않으며, 상기 선택부는 동작하는 어느 하나를 선택하는 것을 특징으로 한다. 또한, 상기 모션보정부로 인가될 상기 영상 데이터의 비트수를 각각 이등분하여 상기 라인메모리부에 저장하는 제1변환부를 더 포함하는 것이 바람직하다.
또한, 비트수가 이등분되어 저장된 상기 영상 데이터를 각각 두 개씩 조합하여, 그 비트수를 이등분전과 동일하게 변환하여 상기 모션보정부로 인가하는 제2변 환부를 더 포함하는 것이 바람직하다. 또한, 상기 제1프레임 및 상기 제2프레임을 구성하는 영상 데이터를 저장하는 영상데이터저장부를 더 포함하고, 상기 모션추정부는 상기 영상데이터저장부로부터 영상 데이터를 입력받아 입력된 상기 영상 데이터의 비트수를 절반으로 변환하고, 비트수가 변환된 상기 영상 데이터를 상기 선택부로 출력하는 것이 바람직하다.
상기와 같은 기술적 과제를 해결하기 위한, 본 발명에 따른 제1프레임을 기준으로 제2프레임에 대한 모션벡터를 구하고 이를 토대로 상기 제1프레임 및 상기 제2프레임 사이를 보간하는 제3프레임을 형성하여 프레임레이트를 변환하는 프레임레이트 변환방법은 상기 모션벡터를 산출하기 위해 상기 제1프레임 및 상기 제2프레임을 구성하는 영상 데이터를 선택하는 단계, 선택된 상기 영상 데이터를 상기 제1프레임의 기준블럭을 구성하는 각 라인별로 임시 저장하는 제1저장단계, 상기 제1저장단계에서 저장된 상기 영상 데이터를 이용하여, 상기 제1프레임을 기준으로, 상기 제2프레임에 대한 모션벡터를 산출하는 단계, 상기 제3프레임에 대한 영상 데이터를 구성하기 위해 상기 제1프레임 및 상기 제2프레임의 영상 데이터를 선택하는 단계, 상기 제3프레임의 영상 데이터 구성을 위해 선택된 상기 영상 데이터를 임시 저장하는 제2저장단계 및 상기 산출된 모션벡터와 상기 제2저장단계에서 저장된 상기 영상 데이터를 토대로 상기 제3프레임에 대한 영상 데이터를 구성하는 단계를 포함하는 것을 특징으로 한다.
바람직하게는, 상기 제2저장단계는, 선택된 상기 영상 데이터의 비트수를 각각 이등분하여 저장하고, 상기 제3프레임의 영상 데이터 구성단계는, 비트수가 이 등분된 상기 영상 데이터를 두 개씩 조합하여, 상기 비트수를 이등분전과 동일하게 변환한다. 또한, 상기 제1저장단계는, 선택된 상기 영상 데이터의 비트수를 절반으로 변환하여 저장하고, 상기 모션벡터 산출단계는, 비트수가 변환되어 저장된 상기 영상 데이터를 이용하여 상기 모션벡터를 산출하는 것이 바람직하다.
이하, 첨부된 도면들을 참조하여 본 발명을 보다 상세히 설명한다.
도 5는 본 발명의 바람직한 실시예에 따른 프레임레이트 변환장치를 개략적으로 도시한 블럭도이다. 도 5를 참조하면, 본 발명에 따른 프레임레이트 변환장치는 도 1에 도시한 바와 같은 기준/현재 프레임인 제1프레임(110) 및 비교/이전 프레임인 제2프레임(120)에 대한 모션벡터를 산출하는 모션추정부(570) 및 산출된 모션벡터를 토대로 제1프레임 및 제2프레임 사이를 보간하는 제3프레임(130)에 대한 영상 데이터를 형성하는 모션보정부(580)를 포함한다.
또한, 본 발명에 따른 프레임레이트 변환장치는 MMU(510), 제1변환부(520), 제1선택부(530), 라인메모리부(540), 제2변환부(550) 및 제2선택부(560)를 포함한다. MMU(510)는 SDRAM과 같은 영상데이터저장부(미도시)로부터 모션추정부(570) 또는 모션보정부(570)로 입력될 영상 데이터를 선택적으로 출력한다. 영상데이터저장부(미도시)는 종래 기술에서 설명한 바와 같이 연속되는 영상프레임의 영상 데이터를 전송받아 저장한다.
MMU(510)는 모션추정부(570)가 동작하는 경우에는 모션벡터를 산출하기 위해 필요한 제1프레임 및 제2프레임의 영상 데이터를 영상데이터저장부(미도시)로부터 선택적으로 출력하여 모션추정부(570)에 입력한다. 또한, 모션보정부(580)가 동작 하는 경우에는, MMU(510)는 모션보정부(580)가 모션보정을 위해 제3프레임에 대한 영상 데이터를 형성하기 위한 연산을 수행하기위해 필요한 영상 데이터를 영상데이터저장부(미도시)로부터 선택적으로 출력하여 제1변환부(520)에 입력한다.
제1변환부(520)는 MMU(510)에서 출력된 영상 데이터로서, 휘도 데이터인 Y 데이터와 색상 데이터인 C 데이터의 비트수를 각각 상위 비트와 하위 비트로 이등분한다. 이를 위해 제1변환부(520)는 휘도데이터변환부(520-1) 및 색상데이터변환부(520-2)를 포함한다. 여기서는, 예를 들어 8 bit 영상 데이터를 사용하며, 따라서 8bit Y 데이터 및 C 데이터는 휘도데이터변환부(520-1) 및 색상데이터변환부(520-2)에 의해 각각 두 개의 4bit 데이터로 그 비트수가 이등분된다.
제1선택부(530)는, 모션추정부(570)와 모션보정부(580)가 라인메모리부(540)를 공유할 수 있도록, 모션추정부(570)가 동작하는 경우에는 모션추정부(570)로부터 출력된 데이터를 선택하고, 모션보정부(580)가 동작하는 경우에는 제1변환부(520)로부터 출력된 데이터를 선택하여 라인메모리부(540)에 임시 저장하는 기능을 수행한다. 따라서, 라인메모리부(540)는 모션추정부(570) 및 모션보정부(580) 중 어느 하나로 출력될 영상 데이터를 선택적으로 저장하게 된다.
이를 위해, 본 발명에 따른 프레임레이트 변환장치는 모션 추정 및 변환을 동시에 수행하지 않는 프레임레이트 변환 알고리즘을 사용한다. 50Hz의 영상은 초당 25 프레임이고 60Hz의 영상은 초당 30 프레임이므로, 50Hz를 60Hz로 바꾸는 가장 손쉬운 방법은 5 프레임마다 1 개의 새로운 프레임을 끼워 넣는 방법이다. 그러 나, 1 개의 프레임만 삽입하게 되면 모션의 연결이 부자연스러운 현상이 나타나게 된다.
따라서, 본 발명에 따른 프레임레이트 변환 알고리즘에서는 3장의 프레임을 그대로 사용하고, 3번째와 4번째 프레임을 이용하여 보간 프레임인 4번째 프레임을 만들고, 4번째와 5번째 프레임을 이용하여 보간 프레임인 5번째 프레임을 만들어 삽입한 다음, 마지막 프레임인 5번째 프레임을 6번째 프레임으로 사용하여, 50Hz 영상을 60Hz 영상으로 변환한다.
라인메모리부(540)는 모션추정부(570) 및 모션보정부(580)로 출력될, 기준프레임인 제1프레임 및 비교프레임인 제2프레임의 영상 데이터를 소정의 시간동안 임시로 저장한다. 라인메모리부(540)는 한 프레임의 데이터를 모두 저장하기 위해서는 8라인을 갖는 라인메모리 4개가 필요하므로, 제1프레임과 제2프레임 모두를 위해서는 모두 64개의 라인메모리가 필요하다.
라인메모리부(540)는 4개의 라인메모리블럭(540-1 내지 540-4)을 구비하며, 각 라인메모리블럭은 8라인을 갖는 라인메모리 2개로 구성된다. 따라서, 라인메모리부(570)는 모션보정부(580)로 출력될 영상 데이터를 저장하는 경우, 라인메모리블럭(540-1 및 540-2)에는 제1프레임 및 제2프레임의 영상 데이터 중 비트수가 이등분된 Y 데이터를 각각 저장하고, 라인메모리블럭(540-3 및 540-4)에는 제1프레임 및 제2프레임의 영상 데이터 중 비트수가 이등분된 C 데이터를 각각 저장한다.
모션추정부(570)는 MMU(510)로부터 입력된 제1프레임 및 제2프레임의 영상 데이터를 처리하여 처리된 영상 데이터를 제1프레임의 기준블럭을 구성하는 각 라 인 별로 라인메모리부(540)에 소정의 시간동안 지연한 후 출력하여 모션벡터를 산출하기 위해 이용하게 된다.
한편, 본 발명의 일 실시예에 따르면, 모션추정부(570)는 하드웨어적인 부담을 덜기 위해 8bit 영상 데이터가 아닌 4bit 영상 데이터를 사용할 수 있다. 또한, 모션벡터를 산출하기 위해서는 영상데이터 중에서 휘도 데이터인 Y 데이터만을 사용하여 연산하는 것이 가능하므로, 모션추정부(570)는 MMU(510)로부터 Y 데이터만을 입력받아 8bit 데이터를 4bit로 변환하고, 변환된 데이터를 병렬적으로 라인메모리부(540)에 임시 저장한 후 출력하여 모션벡터를 산출한다.
즉, 모션추정부(570)의 동작시, 영상 데이터는 일단 모션추정부(570)에 입력되어 비트수 변환 또는 병렬데이터화 등 데이터처리 과정을 거치고, 소정의 시간동안 라인메모리부(540)에서 지연된 후 모션벡터 산출에 이용된다.
따라서, 모션추정부(570)와 모션보정부(580)는 라인메모리부(540)를 공유하게 되나, 본 발명의 프레임레이트 변환 알고리즘에 따른 모션추정부(570)와 모션보정부(580)는 동시에 동작을 수행하지 않으므로, 서로 다른 시간에 라인메모리부(540)를 사용할 수 있게 되어 충돌이 발생하지 않는다.
이를 위해 제1선택부(530)는 연속되는 각 프레임의 번호를 정보로하여 동작하며, 4번째와 5번째 프레임을 만들 때는 모션보정부(580)가 동작하고 제1선택부(530)는 제1변환부(520)로부터 출력된 데이터를 선택하며, 그 이외의 프레임에 대해서는 모션추정부(570)가 동작하고 모션추정부(570)로부터 출력된 데이터를 선택한다. 따라서, 모션추정부(570)와 모션보정부(580)는 시간을 달리하여 라 인메모리부(540)를 공유하는 것이 가능하게 된다.
모션보정부(580)가 동작하는 경우에는 상기한 바와같이 MMU(510)로부터 Y 데이터 및 C 데이터가 제1변환부(520)로 입력되고, 제1변환부(520)는 입력된 Y 데이터와 C 데이터의 비트수를 각각 이등분한다. 이를 위해 제1변환부(520)는 Y 데이터 및 C 데이터 각각의 비트수 이등분을 위해 Y데이터변환기(520-1) 및 C데이터변환기(520-2)를 구비할 수 있다.
상기한 바와같이, 모션보정부(580)가 동작하는 경우 제1선택부(530)는 제1변환부(520)에서 출력된 영상 데이터를 선택하여 라인메모리부(540)에 저장한다. 라인메모리부(540)에 임시 저장된 영상 데이터는 소정의 시간동안 지연된 후 제3프레임에 대한 영상 데이터를 형성하기 위한 연산에 이용하기 위해 모션보정부(580)로 출력된다.
라인메모리부(540)에서 출력된 영상 데이터는 제1변환부(520)로 입력되기 전의 영상 데이터보다 그 비트수가 이등분되어 있으므로, 출력된 영상 데이터를 두 개씩 조합하여 원 데이터의 비트수와 동일하게 변환하는 과정이 필요하다. 따라서, 제2변환부(550)는 라인메모리부(540)에서 출력된, 그 비트수가 이등분된 영상 데이터를 각각 두 개씩 조합하여, 제1변환부(520)로 입력되기 전의 영상 데이터의 비트수와 동일하게 변환한다. 여기서는, 라인메모리부(540)에 저장하기 위해 두 개의 4bit 데이터로 그 비트수가 이등분된 데이터가 제2변환부(550)에서 하나의 8bit 데이터로 변환된다.
제2선택부(560)는 제2변환부(550)에서 출력된 영상 데이터와 모션추정부(570)에서 출력된 모션벡터를 입력받아 모션보정부(580)에서 필요한 데이터를 정렬하고 선택하는 기능을 수행한다. 따라서, 모션보정부(580)는 제2선택부(560)에서 출력된 영상 데이터와 모션벡터를 이용하여 제3프레임에 대한 영상 데이터를 형성하기 위한 연산을 수행하여 새로운 프레임을 보간함으로써, 프레임레이트를 변환하게 된다.
도 6은 본 발명의 바람직한 실시예에 따른 프레임레이트 변환장치의 동작을 나타낸 흐름도이다. 본 발명에 따른 프레임레이트 변환장치는, 상기한 바와 같이 모션벡터를 산출하는 과정과 제1프레임과 제2프레임 사이를 보간하기 위한 제3프레임에 대한 영상 데이터를 형성하기 위한 연산 과정을 동시에 수행하지 않는다. 따라서, 우선 모션벡터 산출과정을 수행하고, 이어서 제3프레임의 영상 데이터 형성을 위한 연산과정을 수행하는 순서로 진행된다.
본 발명에 따른 프레임레이트 변환방법은, 모션벡터를 산출하기 위해 모션추정부(570)가 우선 동작한다. 제1프레임 및 제2프레임의 영상 데이터는 먼저 모션추정부(570)로 입력된다. 모션추정부(570)는 모션벡터 산출을 위해 휘도 데이터인 Y 데이터를 사용한다.
또한, 모션추정부(570)는 휘도 데이터의 비트수의 절반만을 이용하여 연산을 수행할 수 있다. 이경우 연산의 정확도가 다소 손상되나 그 연산 속도는 빨라진다. 따라서, 모션추정부(570)는 이를 위해 휘도 데이터의 비트수가 원 비트수의 절반이 되도록 변환하고, 라인메모리부(540)에는 그 비트수가 절반으로 변환된 휘도 데이터를 저장한다. 모션추정부(570)는 입력된 영상 데이터의 비트수가 절반이 되도록( 여기서는 8bit 영상 데이터를 4bit 영상 데이터로) 변환하고, 변환된 영상 데이터를 제1선택부(530)로 출력한다.
제1선택부(530)는 모션벡터를 구하기 위해 상기 제1프레임 및 상기 제2프레임의 영상 데이터를 선택하고(S610), 모션벡터 산출을 위해 선택된 제1프레임 및 제2프레임의 영상 데이터는, 제1프레임의 기준블럭을 구성하는 각 라인별로 라인메모리부(540)에 임시 저장된다(S620). 이어서, 모션추정부(570)는 라인메모리부(540)에 임시 저장된 데이터를 출력하고 이를 이용하여 모션벡터를 산출한다(S630).
모션추정부(570)의 모션벡터 산출을 위한 동작이 종료하여 모션벡터를 산출하면, 모션보상부(580)는 산출된 모션벡터를 이용하여 모션보상을 위한 연산을 수행한다. 이를 위해, 제1선택부(530)는 제3프레임에 대한 영상 데이터를 형성하기 위해 상기 제1프레임 및 상기 제2프레임의 영상 데이터를 선택한다(S640).
모션보상부(580)는 제3프레임의 영상 데이터 형성을 위한 연산을 위해 제1프레임 및 제2프레임의 영상 데이터인 Y 데이터 및 C 데이터의 비트수를 각각 이등분하여 라인메모리부(540)에 저장한다(S650). 라인메모리부(540)에 그 비트수가 각각 이등분되어 라인메모리부(540)에 임시 저장된 영상 데이터는 각각 두 개씩 조합되어, 이등분되기 전의 비트수로 변환된 후 모션보상부(580)로 출력되어 제3프레임의 영상 데이터를 형성하기 위한 연산에 이용된다(S660).
다시말해, 라인메모리부(540)로부터 출력된 영상 데이터는 원 데이터의 비트수의 절반에 해당하므로, 비트수가 이등분된 영상 데이터를 두 개씩 조합하여 원 데이터의 비트수와 동일하게 변환하는 과정이 수행되고, 모션보정부(580)는 변환된 데이터와 산출된 모션벡터를 이용하여 제3프레임의 영상 데이터를 형성하기 위한 연산을 수행하고, 프레임레이트 변환을 위한 새로운 프레임을 보간하게 된다.
본 발명에 따른 프레임레이트 변환장치는 모션벡터 산출 및 보간 프레임에 대한 영상 데이터 구성시 필요한 영상 데이터를 임시로 저장하는 라인메모리를 공유하도록 하여 요구되는 라인메모리 용량을 종래 기술에 비해 절반 정도로 줄일 수 있다.
따라서, 모션추정 연산 및 모션보정 연산에 있어서 라인메모리의 용량이 지나치게 요구되어 그 하드웨어적 부담이 컸던 문제점을 해결하고 라인메모리 용량에서 약 80만 게이트 정도의 게이트 수를 줄일 수 있어, 효율적인 하드웨어 설계가 가능하고 제조 비용을 절감할 수 있다.
Claims (8)
- 제1프레임을 기준으로 제2프레임에 대한 모션벡터를 구하고, 이를 토대로 상기 제1프레임 및 상기 제2프레임 사이를 보간하는 제3프레임을 형성하여 프레임레이트를 가변하는 프레임레이트 변환장치에 있어서,상기 제1프레임을 기준으로 상기 제2프레임에 대한 모션벡터를 산출하는 모션추정부;상기 제1프레임과 상기 산출된 상기 모션벡터를 토대로, 상기 제3프레임에 대한 영상 데이터를 구성하는 모션보정부;상기 모션추정부와 상기 모션보정부를 교대로 선택하는 선택부; 및상기 선택부의 선택에 따라, 상기 제1프레임과 상기 제2프레임을 구성하는 영상 데이터의 소정 영역을 선택적으로 저장하고, 상기 선택에 따라 상기 모션추정부와 상기 모션보정부 중 어느 하나에 인가하는 라인메모리부;를 포함하는 것을 특징으로 하는 프레임레이트변환장치.
- 제 1항에 있어서,상기 모션추정부 및 상기 모션보정부는 동시에 동작하지 않으며, 상기 선택부는 동작하는 어느 하나를 선택하는 것을 특징으로 하는 프레임레이트 변환장치.
- 제 1항에 있어서,상기 모션보정부로 인가될 상기 영상 데이터의 비트수를 각각 이등분하여 상기 라인메모리부에 저장하는 제1변환부;를 더 포함하는 것을 특징으로 하는 프레임레이트 변환장치.
- 제 3항에 있어서,비트수가 이등분되어 저장된 상기 영상 데이터를 각각 두 개씩 조합하여, 그 비트수를 이등분전과 동일하게 변환하여 상기 모션보정부로 인가하는 제2변환부;를 더 포함하는 것을 특징으로 하는 프레임레이트 변환장치.
- 제 1항에 있어서,상기 제1프레임 및 상기 제2프레임을 구성하는 영상 데이터를 저장하는 영상데이터저장부를 더 포함하고, 상기 모션추정부는 상기 영상데이터저장부로부터 영상 데이터를 입력받아 입력된 상기 영상 데이터의 비트수를 절반으로 변환하고, 비트수가 변환된 상기 영상 데이터를 상기 선택부로 출력하는 것을 특징으로 하는 프레임레이트 변환장치.
- 제1프레임을 기준으로 제2프레임에 대한 모션벡터를 구하고 이를 토대로 상기 제1프레임 및 상기 제2프레임 사이를 보간하는 제3프레임을 형성하여 프레임레이트를 변환하는 프레임레이트 변환방법에 있어서,상기 모션벡터를 산출하기 위해 상기 제1프레임 및 상기 제2프레임을 구성하는 영상 데이터를 선택하는 단계;선택된 상기 영상 데이터를 상기 제1프레임의 기준블럭을 구성하는 각 라인별로 임시 저장하는 제1저장단계;상기 제1저장단계에서 저장된 상기 영상 데이터를 이용하여, 상기 제1프레임을 기준으로, 상기 제2프레임에 대한 모션벡터를 산출하는 단계;상기 제3프레임에 대한 영상 데이터를 구성하기 위해 상기 제1프레임 및 상기 제2프레임의 영상 데이터를 선택하는 단계;상기 제3프레임의 영상 데이터 구성을 위해 선택된 상기 영상 데이터를 임시 저장하는 제2저장단계; 및상기 산출된 모션벡터와 상기 제2저장단계에서 저장된 상기 영상 데이터를 토대로 상기 제3프레임에 대한 영상 데이터를 구성하는 단계;를 포함하는 것을 특징으로 하는 프레임레이트 변환방법.
- 제 6항에 있어서,상기 제2저장단계는, 선택된 상기 영상 데이터의 비트수를 각각 이등분하여 저장하고,상기 제3프레임의 영상 데이터 구성단계는, 비트수가 이등분된 상기 영상 데이터를 두 개씩 조합하여, 상기 비트수를 이등분전과 동일하게 변환하는 것을 특징으로 하는 프레임레이트 변환장치.
- 제 6항에 있어서,상기 제1저장단계는, 선택된 상기 영상 데이터의 비트수를 절반으로 변환하여 저장하고, 상기 모션벡터 산출단계는, 비트수가 변환되어 저장된 상기 영상 데이터를 이용하여 상기 모션벡터를 산출하는 것을 특징으로 하는 프레임레이트 변환장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030058070A KR100555646B1 (ko) | 2003-08-21 | 2003-08-21 | 모션추정 및 모션보상 연산을 위한 라인메모리를 공유하여라인메모리를 감축하는 프레임레이트변환장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020030058070A KR100555646B1 (ko) | 2003-08-21 | 2003-08-21 | 모션추정 및 모션보상 연산을 위한 라인메모리를 공유하여라인메모리를 감축하는 프레임레이트변환장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050020287A KR20050020287A (ko) | 2005-03-04 |
KR100555646B1 true KR100555646B1 (ko) | 2006-03-03 |
Family
ID=37229228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030058070A KR100555646B1 (ko) | 2003-08-21 | 2003-08-21 | 모션추정 및 모션보상 연산을 위한 라인메모리를 공유하여라인메모리를 감축하는 프레임레이트변환장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100555646B1 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100774923B1 (ko) * | 2005-12-09 | 2007-11-09 | 엘지전자 주식회사 | 프레임 비율 상향 변환기. |
KR100740625B1 (ko) * | 2005-12-29 | 2007-07-18 | 엠텍비젼 주식회사 | 영상 처리 시스템의 라인 메모리 공유 방법 |
KR100810391B1 (ko) * | 2006-10-31 | 2008-03-04 | 삼성전자주식회사 | 움직임 보간을 이용한 프레임 레이트 변환 방법 |
KR100836534B1 (ko) * | 2006-12-01 | 2008-06-10 | 한국과학기술원 | 저전력 서브 픽셀 보간 블록 구조 |
KR100994983B1 (ko) | 2008-11-11 | 2010-11-18 | 한국전자통신연구원 | 고속 움직임 탐색 장치 및 그 방법 |
KR101498207B1 (ko) * | 2008-11-26 | 2015-03-03 | 삼성전자주식회사 | 초고해상도 영상의 프레임 레이트 변환 장치 및 방법 |
-
2003
- 2003-08-21 KR KR1020030058070A patent/KR100555646B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20050020287A (ko) | 2005-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2251820C2 (ru) | Экстраполяция вектора движения для перекодировки видеопоследовательности | |
US8155199B2 (en) | Video coding method and apparatus for calculating motion vectors of the vertices of a patch of an image and transmitting information of horizontal and vertical components of the motion vectors | |
KR100226684B1 (ko) | 반화소 움직임 추정장치 | |
US20010028681A1 (en) | Motion estimator | |
EP0488795A2 (en) | Motion vector detection and band compression apparatus | |
KR20100114499A (ko) | 후광현상이 줄어든 영상보간 장치 및 방법 | |
US8135224B2 (en) | Generating image data | |
KR100364762B1 (ko) | 순차주사 영상 변환 장치 및 방법과, 그를 이용한 수직주사율 변환 장치 | |
KR100555646B1 (ko) | 모션추정 및 모션보상 연산을 위한 라인메모리를 공유하여라인메모리를 감축하는 프레임레이트변환장치 및 그 방법 | |
KR100732683B1 (ko) | 움직임 보상을 수행하는 영상변환장치 및 움직임 보상방법 | |
US7421150B2 (en) | Coordinate conversion apparatus and method | |
JP4470280B2 (ja) | 画像信号処理装置及び画像信号処理方法 | |
JPH1093929A (ja) | 画像情報変換装置および方法 | |
US20090148067A1 (en) | Image processing method and related apparatus for performing image processing operation according to image blocks in horizontal direction | |
JP4470324B2 (ja) | 画像信号変換装置および方法 | |
US20040120402A1 (en) | Motion estimation apparatus for image data compression | |
WO2000065830A1 (fr) | Dispositif et procede de conversion d'image | |
JP4078719B2 (ja) | 画像情報変換装置、変換方法および画像表示装置 | |
KR100926440B1 (ko) | 영상부호화를 위한 블록 매칭 움직임 추정 장치 | |
JP3800638B2 (ja) | 画像情報変換装置および方法 | |
JP4174891B2 (ja) | 画像情報変換装置および方法 | |
JP5742048B2 (ja) | カラー動画像構造変換方法及びカラー動画像構造変換装置 | |
JP3767019B2 (ja) | 積和演算回路および方法 | |
KR20000061568A (ko) | 비디오 신호의 프레임 율 변환 방법 | |
KR100565791B1 (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 | ||
LAPS | Lapse due to unpaid annual fee |