KR100281499B1 - 쌍일차필터,비디오영상리사이징방법및컴퓨터시스템 - Google Patents

쌍일차필터,비디오영상리사이징방법및컴퓨터시스템 Download PDF

Info

Publication number
KR100281499B1
KR100281499B1 KR1019970024266A KR19970024266A KR100281499B1 KR 100281499 B1 KR100281499 B1 KR 100281499B1 KR 1019970024266 A KR1019970024266 A KR 1019970024266A KR 19970024266 A KR19970024266 A KR 19970024266A KR 100281499 B1 KR100281499 B1 KR 100281499B1
Authority
KR
South Korea
Prior art keywords
resizing
filter
video
data
row
Prior art date
Application number
KR1019970024266A
Other languages
English (en)
Other versions
KR19980018133A (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 포만 제프리 엘
Publication of KR19980018133A publication Critical patent/KR19980018133A/ko
Application granted granted Critical
Publication of KR100281499B1 publication Critical patent/KR100281499B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)

Abstract

본 발명은 비디오 영상을 리사이징(resizing)하는 방법 및 장치를 제공한다. 본 발명의 바람직한 실시예에서는 쌍일차 필터(bilinear filter)를 갖는 어댑터(adapter)를 제공한다. 쌍일차 필터는 비디오 영상을 저장하는 두개의 FIFO 메모리 장치와, 영상을 수직 및 수평으로 리사이징하는 수직 및 수평 필터를 포함한다. 영상을 리사이징하기 위해, 영상을 나타내는 비디오 데이타는 M×M 픽셀 데이타 어레이로 그래픽 어댑터에 전송된다. 각각의 FIFO 메모리 장치는 한번에 한 행의 픽셀 데이타를 저장할 수 있다. 인접한 행은 수직 필터에 의한 수직 보간을 위해 FIFO 장치에 저장된다. FIFO 장치의 가장 오래된 행은 이후의 보간을 위해 새로운 행으로 대체된다. 각각의 행이 수평 필터에 전송되면, 중간 픽셀이 발생된다. 다른 실시예에 있어서, 모든 2개의 인접한 수평 블럭 사이를 보간하기 위해 데이타 엘리먼트를 보유하는 여분의 저장 장치가 사용된다.

Description

쌍일차 필터, 비디오 영상 리사이징 방법 및 컴퓨터 시스템{METHOD AND APPARATUS FOR RESIZING BLOCK ORDERED VIDEO IMAGE FRAMES WITH REDUCED ON-CHIP CACHE}
본 발명은 컴퓨터 그래픽 시스템(computer graphics systems)에 관한 것으로서, 보다 구체적으로는 보간적 비디오 업스케일링(interpolative video upscaling)을 위해 필요한 온칩 저장 영역을 감소시키는 비디오 가속기(video accelerator)가 구비된 디스플레이 그래픽 어댑터(display graphics adapter)에 관한 것이다.
비디오 리사이징(video resizing)은 비디오 모니터링 및 재생 응용을 위한 그래픽 및 멀티미디어 어댑터의 핵심적인 특징이다. 비디오 리사이징은 비디오 영상 프레임을 원하는 크기까지 업스케일링(upscaling)하거나 혹은 다운스케일링(downscaling)하는 것을 의미한다. 비디오 프레임은 실시간 소스 또는 비실시간 소스 중 어느 하나로부터 얻어질 수 있다. 실시간 소스는 비디오 카메라 또는 VCR을 포함한다. 비실시간 소스는 콤팩트 디스크 판독 전용 메모리(CD-ROM), 하드 디스크 저장 장치 또는 버스트 모드(즉, 화상 회의)로 데이터를 수신하는 컴퓨터에 접속된 네트워크를 포함한다.
비디오 카메라 또는 VCR은 TV 모니터상에 디스플레이될 수 있는 압축되지 않은 비디오 신호를 제공한다. NTSC(National Television Standards Committee) 방식을 따르는 비디오 신호(compliant video signal)가 디코딩되어 디지털화되면, 이 비디오 신호는 프레임당 640×480개의 픽셀을 갖는 스퀘어 픽셀 해상도(square pixel resolution)를 가질 것이다. 이 신호의 프레임은 각각 240개의 라인으로 구성되어 인터레이스되는 두 개의 필드(two interlaced fields)로 구성된다. 전술한 필드는 60Hz로 갱신(update)되어 디스플레이상에서 유연한 움직임을 제공한다. 비디오 신호가 구성 성분(components)별로 디코딩되면, 비디오 신호는 YUV 컬러 공간(color space)에 픽셀을 발생하며, 이 픽셀은 선형 변환을 통해 RGB 컬러 공간으로 용이하게 변환될 수 있다.
비디오 신호를 디지털화한 후 이를 저장하는데 상당량의 저장 공간이 필요하다. 예를 들어, 디지털화된 비디오 신호의 1초간의 RGB 데이터를 저장하는데 27 메가바이트(MBytes)의 저장 공간이 필요하다. 따라서, 저장 공간을 절약하기 위해 디지털 신호는 흔히 CD-ROM 또는 하드 디스크 저장 매체상에 저장되기 전에 (통상적으로 10∼50 계수(factor)로) 압축된다. 때때로, 저장 공간을 더욱 절약하기 위해 비디오 프레임은 압축되기 전에 다운스케일링(scale down)된다. 비디오 데이터를 디지털화하고 다운스케일링하고 압축하고 저장하는 프로세스는 캡쳐 동작(capture operation)으로서 알려져 있다. 이것의 역 동작은 재생 동작(playback operation)으로 일컬어진다.
따라서, 재생 동작은 비디오 데이터를 압축해제하는 단계와, 데이터를 YUV 컬러 공간으로부터 RGB 컬러 공간으로 변환하는 단계와, 압축해제된 이미지를 디스플레이 스크린상에 원하는 크기로 스케일링(리사이징)하는 단계를 포함한다. 이와 같은 리사이징 동작을 수행하는데 쌍일차 필터링(bilinear filtering)이 흔히 사용된다. 쌍일차 필터링은 많은 계산을 필요로 하며, 하드웨어내에서 그래픽 칩의 일부로서 또는 별도의 비디오 가속기 칩(video accelerator chip)으로서 구현된다. 쌍일차 필터링에서는 다음과 같은 선형 보간 알고리즘이 사용된다.
01= RF × p2+ (1 - RF) × p1;
02= 2RF × p2+ (1 - 2RF) × p1;
03= 3RF × p2+ (1 - 3RF) × p1;
04= 4RF …
여기서, 리사이즈 계수(RF) = (소스 영상 크기 - 1) / (타겟 영상 크기 - 1)이다.
p1, p2, …는 원래의 영상의 픽셀이고, 01, 02, …는 리사이징된 영상의 픽셀이다. 쌍일차 필터링은 선형 보간을 수직 및 수평 방향으로 수행하는 것에 해당한다.
쌍일차 필터링은 주로 재생 동작시 비디오 영상을 업스케일링하는데 사용되지만, 이와 같은 쌍일차 필터링은 비디오 영상의 업스케일링 뿐만 아니라 다운스케일링에도 사용될 수 있다. 쌍일차 필터링이 영상을 업스케일링하는데 사용되면, RF는 항상 1 보다 작다. 상기한 수식에서, RF의 배수들(예를 들어, 2RF, 3RF 등등)이 1보다 크게 되면(예를 들어, 1.2), 리사이징된 영상의 픽셀을 발생하기 위해 후속 픽셀(p3) 및 현재의 픽셀(p2)과 함께 소수값(fractional values)(예를 들어, 0.2)만이 사용되며, 이전의 픽셀(p1)은 버린다.
도 1은 비디오 영상을 리사이징하는데 사용되는 종래 기술의 쌍일차 필터(bilinear filter)(100)를 도시한 도면이다. 쌍일차 필터(100)는 수직 메모리(vertical memory)(120)에 접속된 수직 필터(vertical filter)(110)를 포함한다. 수직 필터(100)는 또한 버퍼(130)에 접속되고, 버퍼(130)는 수평 필터(horizontal filter)(140)에 접속된다. 수직 필터(110)는 영상을 수직으로 확장(expand)하는데 사용된다. 마찬가지로, 영상을 수평으로 확장하는데 수평 필터(140)가 사용된다. 전형적으로, 수직 메모리(120)는 적어도 하나의 주사 라인(scan line)의 픽셀을 저장하는 용량(768×3 바이트)을 갖는다. 버퍼(130)는 단지 2개의 픽셀을 저장하는 용량을 필요로 하지만, 각각의 새로운 픽셀을 획득하는데 필요한 시간을 줄이기 위해 통상적으로 3개의 픽셀 저장 용량이 제공된다.
비디오 재생 동안, 비디오 영상 픽셀의 프레임은 상부에서 하부까지 라인 단위로 주사(scan)되어 쌍일차 필터에 입력된다. 비디오 영상의 첫번째 라인이 주사되면, 이 라인은 수직 메모리(120)에 저장된다. 그 다음 라인이 주사되면, 수직 필터는 2개의 픽셀 라인 사이를 보간함으로써 중간 라인(intermediate lines)을 발생한다. 그후, 수직 필터(110)는 이후의 보간을 위해 수직 필터 메모리(120)내의 이전에 저장된 픽셀 라인을 현재 주사 라인으로 대체한다. 통상적으로 앵커 라인(anchor line)으로 일컬어지는 첫번째 라인과, 최종 라인과, 수직 보간된 주사 라인(vertically interpolated scan lines)이 수평 필터상으로 전달된다. 전체 프레임이 수직으로 확장될 때까지 프로세스가 계속 수행된다.
수직 필터(110)로 첫번째 픽셀 라인이 주사되면, 이 라인은 버퍼(130)에 또한 전송된다. 픽셀이 버퍼(130)에 전송되면, 수평 필터(140)는 버퍼(130)내에 저장된 2개의 픽셀 사이를 모두 보간한다. 이와 같은 프로세스는 수직 필터(110)로부터 수신된 각각의 픽셀 라인에 대해 반복된다. 그 결과, 비디오 출력에서 리사이징되거나 혹은 업스케일링된 입력 영상이 발생된다.
전술한 바와 같이, 쌍일차 필터(100)는 768×3 바이트(혹은, 각각 24비트인 768개의 픽셀)의 저장 용량을 갖는 메모리 장치를 사용한다. 이러한 저장 영역에 대한 요건은 비디오 가속기 칩의 다이(die)의 실영역 중 상당한 부분을 사용하며, 칩의 전체적인 비용에 직접적으로 영향을 미친다.
따라서, 최소의 저장 용량을 요구하면서 비용면에서 효율적인 비디오 가속기 칩의 기술이 요구된다.
상기한 기술의 요구가 본 발명에 의해 다루어진다. 본 발명은 비디오 영상을 리사이징하는 방법 및 장치를 제공한다. 본 발명의 바람직한 실시예에서는 쌍일차 필터를 갖는 어댑터를 제공한다. 쌍일차 필터는 비디오 영상을 저장하는 2개의 FIFO(first-in first-out) 메모리 장치와, 영상을 수직 및 수평으로 리사이징하는 수직 및 수평 필터를 포함한다. 영상은 다음과 같이 리사이징된다. 영상을 나타내는 비디오 데이터는 픽셀 데이터의 M×M 어레이의 그래픽 어댑터에 전송된다. 각각의 FIFO 메모리 장치는 한번에 한 행의 픽셀 데이터를 저장하는 능력을 갖고 있다. 어레이내의 픽셀 데이터의 인접한 행은 수직 필터에 의한 수직 보간을 위해 한쌍의 FIFO 장치에 저장된다. 임의의 두 행들간의 보간이 완료되면, 행은 수평 보간을 위해 수평 필터에 전송된다.
다른 실시예에서, 두개의 인접한 어레이 사이를 외삽(extrapolate)하거나 보간하기 위해 픽셀 데이터 엘리먼트를 보유하는데 여분의 저장 장치가 사용된다.
도 1은 비디오 영상을 리사이징하는 종래 기술의 쌍일차 필터의 블럭도,
도 2는 본 발명의 바람직한 실시예에 의해 사용되는 디지털 컴퓨터의 블럭도,
도 3은 그래픽 가속기 칩의 블럭도,
도 4는 데이터 픽셀 블럭의 일례를 도시한 도면,
도 5는 본 발명의 그래픽 어댑터에 대한 비디오 영상 프레임의 픽셀 블럭의 입력 포맷을 도시한 도면,
도 6은 MPEG 매크로 블럭의 Y, U, V 2차원 구성요소가 YUV 4:2:2 포맷으로 되는 전송 순서를 도시한 도면,
도 7은 비디오 영상을 리사이징하기 위한 본 발명의 쌍일차 필터의 블럭도.
도면의 주요 부분에 대한 부호의 설명
200 : 디지털 컴퓨터 205 : 호스트 컴퓨터
210 : 메인 메모리 220 : 메인 프로세서
225 : 하드 디스크 230 : I/O 제어기
250 : 그래픽 어댑터 255 : 비디오 그래픽 가속기
260 : 프레임 버퍼 270 : RAMDAC
285 : 그래픽 출력 장치 320 : 그래픽 파이프라인
330 : 비디오 입력 인터페이스 340 : FIFO
350 : 컬러 공간 변환기 360 : 쌍일차 필터
370 : 출력 FIFO 380 : 프레임 버퍼
502, 504 : FIFO 버퍼 510 : 수직 필터
520 : 버퍼 530 : 수평 필터
도 2는 본 발명의 바람직한 실시예에 의해 사용된 디지털 컴퓨터(200)의 블럭도이다. 컴퓨터는 메모리(210)에 접속된 메인 프로세서(들)(220) 및 하드 디스크(225)를 컴퓨터 박스(205)내에 포함한다. 메인 프로세서(220)는 메모리 제어기 및 PCI 브리지(215)를 통해 입력 장치(245)와 출력 장치(240)에 접속된다. 메모리 제어기 및 PCI 브리지(215)는 33MHz에서 동작하는 32비트 버스(290)와, 50MHz와 66MHz 사이에서 동작하는 64비트 버스(265)를 인터페이스한다. 입력 장치(245)는 키보드, 마우스, 테이블렛(tablet) 또는 다른 유형의 입력 장치를 포함할 수 있다. 출력 장치(240)는 텍스트 모니터, 플로터(plotter) 또는 다른 유형의 출력 장치를 포함할 수 있다. 자기 디스크 또는 CD-ROM과 같은 컴퓨터 판독 및 제거가능한 매체(245)는 디스크 드라이브 또는 CD-ROM 드라이브와 같은 입/출력 장치(235)내에 장착될 수 있다. I/O 장치 제어기(230)의 제어에 따라 데이터는 I/O 장치에 의해 제거가능한 매체로부터 판독되거나 혹은 이 매체상에 기록된다. I/O 장치 제어기는 64비트 PCI 버스(265)를 통해 메인 프로세서와 통신한다. 메인 메모리(210), 하드 디스크(225), 제거가능한 매체(245)는 모두 메인 프로세서(220)에 의해 처리되는 데이터를 저장하는 메모리로 지칭된다.
메인 프로세서(220)는 또한 그래픽 어댑터(250)를 통해 그래픽 디스플레이와 같은 그래픽 출력 장치에 접속된다. 그래픽 어댑터(250)는 메인 프로세서(210)로부터 그래픽에 대한 인스트럭션(instructions)을 64비트 PCI 버스(265)를 통해 수신한다. 이어서, 그래픽 어댑터(250)는 전술한 인스트럭션을 비디오 그래픽 가속기 칩(255)에서 실행하고, 이들 인스트럭션을 기초로 하여 프레임 버퍼(260)를 갱신한다. 프레임 버퍼(260)는 그래픽 출력 장치상에 디스플레이되는 모든 픽셀에 대한 데이터를 포함한다. 프레임 버퍼(260)에는 랜덤 액세스 메모리 및 D/A 변환기(RAMDAC)(270)가 접속된다. RAMDAC(270)는 프레임 버퍼내의 데이터에 의해 참조되는 컬러 팔레트(palette)를 구비한 참조 테이블(look up table: LUT)(275)과, 프레임 버퍼내에 저장된 디지털 데이터를 RGB 신호로 변환하고 이를 디스플레이를 위해 그래픽 디스플레이(285)에 제공하는 DAC(digital-to-analog converter)(280)를 포함한다.
본 발명은 그래픽 가속기 칩(255)에서 구현된다. 도 3은 그래픽 가속기 칩(255)의 블럭도이다. 그래픽 가속기 칩(255)은 입력 인터페이스(310)를 포함하며, 입력 인터페이스(310)는 그래픽 파이프라인(320) 및 비디오 입력 인터페이스(330)에 접속된다. 입력 인터페이스(310)는 그래픽 데이터를 그래픽 파이프라인(320)에 제공하거나 혹은 비디오 입력 인터페이스(330)에 제공한다. YUV로부터 RGB로 리사이징되거나 변환되어야 하는 경우가 빈번한 비디오 데이터는 비디오 입력 인터페이스(330)에 제공되고, 그래픽 데이터는 그래픽 파이프라인(320)에 직접 제공된다. 비디오 입력 인터페이스(330)는 FIFO(first in first out)(340) 및 쌍일차 필터(360)에 접속된다. 입력 데이터가 YUV 픽셀 데이터이면 비디오 입력 인터페이스(330)는 데이터를 FIFO(340)에 전송하지만, 데이터가 RGB 픽셀 데이터이면 비디오 입력 인터페이스(330)는 데이터를 쌍일차 필터(360)에 직접 전송한다. FIFO(340)내의 YUV 데이터는 컬러 공간(color space) 변환기(350)에 전송되어, 쌍일차 필터(360)에 제공되기 전에 RGB로 변환된다. 쌍일차 필터(360)에 의해 처리된 RGB 데이터는 출력 FIFO(370)를 통해 그래픽 파이프라인(320)에 전송된다. 그래픽 파이프라인(320)은 라인 드로잉, BLIT 전송 등과 같은 그래픽 동작을 가속화시키고, 디스플레이 모니터상에 디스플레이될 데이터를 프레임 버퍼(380)내에 저장한다. 그래픽 파이프라인의 구현은 본 기술 분야에 잘 알려져 있으므로, 더이상 기술되지 않을 것이다.
전술한 바와 같이, 오늘날 멀티미디어 컴퓨터상에서 가장 많이 사용되는 동작은 비디오 재생 동작이다. 재생 동작의 제 1 단계는 하드 디스크, CD-ROM 또는 네트워크와 같은 저장 장치로부터 수신된 비디오 화일을 압축해제하는 것이다. 이와 같은 태스크(task)는 통상적으로 메인 프로세서(220)에 의해 수행된다. 전형적으로, 비디오 데이터는 JPEG(Joint Photographic Experts Group), MPEG(Motion Pictures Experts Group) I 또는 II, 혹은 화상 회의용 P×64 등과 같은 표준의 블럭 지향적인 압축 알고리즘(standard block-oriented compression algorithms)들 중 어느 하나에 의해 압축된다. 이와 같은 데이터의 압축해제 동작에서는 블럭 지향된 출력을 픽셀 구성 성분의 블럭 또는 어레이 형태로 발생한다. 그후, 픽셀 구성 성분의 블럭 또는 어레이는 메인 메모리(210)에 저장되고, 나중에 그래픽 어댑터(250)내의 비디오 가속기(255)에 픽셀 데이터 프레임으로서 전송된다. 전술한 YUV 4:2:0 픽셀 데이터의 경우, 메인 프로세서(210)는 픽셀 데이터를 병합(merge)하여 픽셀 블럭 또는 어레이를 발생한다. 압축해제 및 병합 이후에, 대부분의 비디오 알고리즘은 YUV 4:2:2 픽셀 데이터를 발생한다. 도 4에는 YUV 4:2:2 픽셀 형태의 8×8 픽셀 블럭의 예가 도시되어 있다. 부호 1, 2, 3 …는 블럭이 발생되는 순서를 나타내고, 영문 부호 I, II는 한 프레임에 대해 스트립(strips)이 발생되는 순서를 나타낸다. 이와 같은 방식으로, 비디오 가속기(255)에 YUV 4:2:2 및 RGB 픽셀 데이터가 전송된다. 도 4의 I1, I2, I3 등의 픽셀 블럭은 이들 픽셀 블럭이 발생될 때 비디오 가속기(255)에 전송되거나 혹은 전체 비디오 프레임 또는 스트립이 압축해제된 후에 비디오 가속기(255)에 전송될 수 있다. 블럭간 필터링(interblock filtering)을 위해서는 각 블럭에서의 최종 픽셀의 행 뿐만 아니라 최종 픽셀의 열도 필요하다. 최종 픽셀의 열은 통상 블럭의 수직 블럭 스케일링이 이루어진 후에 비디오 가속기내에 저장되지만, 블럭내의 최종 픽셀 세그먼트(segment)는 저장되지 않는다. 따라서, 각 블럭내의 최종 행은 비디오 가속기(255)내에 다시 제공되거나 혹은 다시 주사되어야 한다. 도 5는 비디오 가속기(255)에 대한 도 4의 픽셀 블럭의 입력 포맷을 도시한 도면이다. 재전송될 픽셀들은 스트립 I 및 II 사이에 표시된 행에 도시되어 있다. 따라서, 비디오 가속기(255)는 다음과 같은 순서 즉, 스트립 I에 대해 블럭 1, 블럭 2, …; 스트립 2에 대해 블럭 1, …의 순서로 데이터를 수신한다.
메인 프로세서(220)는 픽셀 데이터를 그래픽 가속기(255)에 전송하기 전에, 한 프레임내의 스트립의 수와, 각각의 프레임의 블럭수와, 블럭의 크기를 지정한다. 그래픽 가속기(255)는 이 정보를 이용하여, 특히 최종 블럭이 충만된 블럭(full block)이 아닌 경우에 데이터를 적절하게 처리할 수 있다. 예를 들어, 메인 프로세서(220)가 10개의 픽셀 라인과 21개의 픽셀 열을 전송하고, 이들 픽셀이 8×8 블럭으로 분할되는 것으로 가정하면, 2개의 16비트 메시지는 그래픽 가속기(255)에 전송되어 비디오 입력 인터페이스(330)내의 2개의 레지스터, 즉, X 및 Y 레지스터에 저장된다. 전술한 예를 사용하면, X 레지스터는 0000000000010101을 보유할 것이고, Y 레지스터는 0000000000001010을 보유할 것이다. X 레지스터내의 메시지의 13개의 처음 디지트(digits)는 8개의 픽셀 열을 포함하는 블럭의 수(예를 들어, 0000000000010 = 2)를 나타내고, 마지막 3개의 디지트는 최종 블럭내의 픽셀 열의 개수(예를 들어, 101 = 5)를 나타낸다. Y 레지스터내의 처음 13개의 디지트는 8개의 행을 갖는 프레임내의 스트립의 수(예를 들어, 0000000000001 = 1)를 나타내고, 마지막 3개의 디지트는 최종 스트립의 픽셀 데이터의 라인수(예를 들어, 010 = 2)를 나타낸다. 비디오 입력 인터페이스(330)는 주사 끝(end of scan: eos) 태그를 어레이내의 각각의 행의 최종 픽셀에 부가(attach)한다. 또한, 블럭 끝(end of block: eob) 태그가 또한 어레이의 최종 픽셀에 부가된다. 각 스트립내의 최종 픽셀 및 각 프레임내의 최종 픽셀에는 제각기 라인 끝(end of line: eol) 및 프레임 끝(end of frame: eof)이 부가된다. 그 결과, 각각의 프레임내의 최종 블럭 및/또는 최종 스트립이 정확하게 프로세싱될 수 있다.
MPEG I 또는 II, 및 P×64를 이용하여 압축된 데이터가 소프트웨어 비디오 코덱(software video codec)(coder-decoder)에 의해 압축해제되면, 2차원 형태의 YUV 4:2:0 픽셀이 발생된다. 즉, 별도의 Y, U, V 성분 블럭으로 구성된 매크로 블럭(macro block)이 발생된다. 도 6은 MPEG 매크로 블럭을 YUV 4:2:0 픽셀 형태로 도시한 도면이다. 도 6에 도시된 바와 같이, Y 블럭은 16×16 바이트이고, U 및 V 블럭은 각각 8×8 바이트이다. 이들 블럭이 발생되면, 메인 프로세서(220)는 YUV 4:2:0의 2차원 블럭을 비디오 가속기(255)에 사전설정된 순서로 제공한다. 예를 들어, Y의 8 바이트, U의 4 바이트, V의 4 바이트 및 Y의 8 바이트가 전송된다. 그러면, Y의 8 바이트, U의 4 바이트, V의 4 바이트 및 Y의 8 바이트가 다시 전송된다. 이와 같은 프로세스는 전체 비디오 영상 프레임이 비디오 가속기(255)에 전송될 때까지 계속된다. 비디오 가속기(255)는 데이터가 수신됨에 따라 이를 YUV 4:2:2 형태로 조합한다. 바이트 전송의 순서는 도 6에 도시되어 있으며, 여기서 1, 2, 3, 4, … 등의 부호는 Y, U 및 V 라인 세그먼트가 전송되는 순서를 나타낸다. YUV 4:2:2 블럭 전송에서와 마찬가지로, 블럭간 세그먼트 성분이 재전송되어야 한다. 따라서, 라인 세그먼트(13, 14, 15, 16)가 재전송되고 라인 세그먼트(29, 30, 31, 32)도 마찬가지이다. 전체 데이터 프레임이 발생되고 나서 비디오 데이터가 전송되면, 프레임은 시스템 메모리에서 전술한 블럭 형태로 다시 포맷팅된다. 이 경우, DMA(direct memory access)를 통해 비디오 가속기 칩(255) 또는 프로세서가 전송을 개시할 수 있다.
도 3을 참조하면, 도 5에 도시된 것과 같은 픽셀 블럭은 비디오 입력 인터페이스(330) 또는 컬러 공간 변환기(350) 중 어느 하나로부터 쌍일차 필터(360)에 전송된다. 도 7은 비디오 영상을 리사이징하기 위한 본 발명의 쌍일차 필터의 블럭도이다. 본 발명의 쌍일차 필터는 수직 필터(510)에 접속된 FIFO 버퍼(502, 504)를 포함한다. 수직 필터(510)는 또한 버퍼(520)에 접속되고, 버퍼(520)는 수평 필터(530)에 접속된다.
쌍일차 필터는 픽셀의 행을 FIFO(502, 504)에 저장한다. 각각의 FIFO는 하나의 데이터 블럭내의 8개의 픽셀의 인접한 행을 저장한다. 예를 들어, 도 4의 블럭 1의 행(a)은 FIFO(502)에 저장될 수 있고, 행(b)은 FIFO(504)에 저장될 수 있다. 행(a) 및 행(b) 사이에 중간행이 발생된 후에, FIFO(502)에서 행(a)은 행(b)으로 대체되고, FIFO(504)에서 행(b)은 행(c)으로 대체되어 행(b) 및 행(c) 사이에 중간행이 발생되도록 한다. 이어서, 행(c)이 행(d)으로 대체되는 등 전술한 바와 같은 프로세스를 계속 수행하여, 블럭 1의 프로세싱을 완료한다. 블럭 1의 프로세싱이 완료될 때까지 행(d), (e) 등에 대해 이러한 프로세스가 계속될 것이다. 이러한 프로세스는 비디오 영상 데이터의 각각의 프레임에 대해 계속된다.
행이 프로세싱되거나 혹은 발생되고 나면, 행은 수평 보간을 위해 버퍼(520)에 전송된다. 종래 기술의 쌍일차 필터에서와 같이, 버퍼(520)는 2개의 픽셀 또는 3개의 픽셀 저장 용량을 가질 수 있다. 수평 필터(530)는 종래의 기술에서 설명한 방식으로 버퍼(520)내의 가장 오래된 두개의 픽셀들 사이를 보간한다. 그후, 버퍼내의 가장 오래된 픽셀은 새로운 픽셀로 대체되고, 버퍼내에 가장 오래된 두개의 픽셀들 사이에서 다시 보간된 픽셀이 발생된다. 이러한 프로세스는 수평 블럭 보간이 완료될 때까지 계속된다. 따라서, 비디오 출력측에서 리사이징된 영상이 쌍일차 필터에 의해 발생된다.
한 스트립내의 모든 두개의 블럭간의 인접한 블럭 필터링을 위해 FIFO(502, 504)의 여분의 5개의 픽셀 저장 용량이 사용된다. 도 5로 돌아가서, 블럭 1내의 픽셀 p0∼p7은 행(a)으로, 픽셀 p8∼p15은 행(b)으로, 픽셀 p16∼p23은 행(c)으로 구성되는 것으로 가정하면, 블럭 1이 프로세싱된 후 FIFO(502)의 5개의 픽셀 저장 공간 중 4개는 p7, p23, p39, p55을 포함하고, FIFO(504)의 5개의 픽셀 저장 공간 중 4개는 p15, p31, p47, p63을 포함할 것이다. 스트립 I의 블럭 2의 첫번째 픽셀인 p64가 FIFO(502)에 주사되면, p64는 FIFO(502)에서 사용되지 않은 저장 영역에 저장된다. 적절한 시기에, 픽셀 p7및 p64이 수평 보간을 위해 수평 필터(530)에 제공된다. 마찬가지로, FIFO(504)내의 픽셀 p15및 p72와 FIFO(502)내의 p23및 p80과, FIFO(504)내의 p31및 p88등이 스트립 I의 블럭 1과 블럭 2 사이의 수평 보간을 위해 사용된다. 블럭 2의 각각의 행의 최종 픽셀은 블럭 2와 블럭 3 사이의 수평 보간을 위해 FIFO(502, 504)의 5개의 픽셀 저장 용량 중 4개내에 있는 블럭 1의 픽셀을 대체할 것이다. 이러한 프로세스는 각각의 스트립이 완전히 프로세싱될 때까지 계속된다.
본 발명은 모니터링, 저작 및 화상 회의 응용 분야에 대해 사용되는 카메라, VCR 또는, 비디오 코덱 머신을 또한 지원한다. 이들 장치는 실시간 비디오 소스를 나타내며, 압축되지 않은 출력 영상 데이터를 제공한다. 그 결과, 이들 장치로부터의 영상 데이터는 프레임 버퍼(260)에 직접 저장되어 비디오 가속기(255)에 의해 프로세싱될 수 있다. 그러나, 프레임 버퍼(260)가 사용가능하지 않으면, 데이터를 저장하는데 시스템 메모리(210)를 사용할 수 있다. 데이터가 메인 메모리(210)에 저장되면, 데이터는 비디오 가속기(255)에 블럭 방식으로 전송된다. 데이터가 프레임 버퍼(260)에 저장되면, 데이터는 비디오 가속기(255)에 의해 직접 액세스되어 프로세싱된다. 어느 경우라도, 데이터는 비디오 가속기(255)에 블럭 순서화된 포맷으로 사용될 수 있다.
전술한 바와 같이, 본 발명의 쌍일차 필터는 26개의 픽셀을 저장할 수 있는 FIFO 시스템을 사용한다. 이러한 저장 용량은 종래의 쌍일차 필터의 메모리 시스템의 768개의 픽셀 저장 용량보다 훨씬 작다. 따라서, 비디오 가속기 칩은 보다 작은 온-칩 저장 장치를 요구하므로 훨씬 소형의 패키지로 제조될 수 있고 비용이 적게 소요된다.
본 발명은 특정한 실시예를 참조하여 기술되었지만, 본 기술 분야에 통상의 지식을 가진 자라면 다른 대체적인 실시예가 사용될 수도 있음을 명백하게 이해할 것이다. 따라서, 전술한 설명은 첨부된 특허 청구범위에 정의된 본 발명의 범위를 한정하지 않는다.
본 발명에 의한 쌍일차 필터는 26개의 픽셀을 저장할 수 있는 FIFO 시스템을 사용하므로, 종래의 쌍일차 필터의 메모리 시스템의 768개의 픽셀 저장 용량보다 훨씬 작은 저장 용량을 사용하게 되며, 그에 따라 비디오 가속기 칩은 보다 작은 온-칩 저장 장치를 요구하게 되어, 훨씬 소형의 패키지로 제조될 수 있고 비용이 적게 소요되는 효과가 있다.

Claims (15)

  1. M 행×M 열 데이터 엘리먼트 어레이들로 분할되는 비디오 영상을 리사이징(resizing)하기 위한 그래픽 어댑터(graphics adapter) 내의 쌍일차 필터(bilinear filter)에 있어서,
    각각 M개의 데이터 엘리먼트의 저장 용량 및 2개의 인접한 M×M 어레이들 사이를 보간(interpolating)하기 위한 데이터 엘리먼트를 저장하는 여분의 저장 용량을 가지며, 상기 어레이의 인접한 행들을 저장하는 적어도 2개의 FIFO(first-in first-out) 메모리 장치와,
    상기 FIFO 메모리 장치에 접속되고, 상기 행들 사이를 보간함으로써 상기 비디오 영상을 수직으로 리사이징하는 수단을 포함하는
    쌍일차 필터.
  2. 제 1 항에 있어서,
    상기 수직 리사이징 수단에 접속되고, 상기 수직 리사이징된 영상을 수평 리사이징하는 수단을 더 포함하는 쌍일차 필터.
  3. 제 2 항에 있어서,
    상기 수직 리사이징 수단은 상기 저장된 행들 사이에 중간 행을 생성하는 제 1 필터를 포함하는 쌍일차 필터.
  4. 제 3 항에 있어서
    상기 수평 리사이징 수단은 저장된 픽셀들(stored pixels) 사이에 중간 픽셀을 생성하는 제 2 필터를 포함하는 쌍일차 필터.
  5. 제 4 항에 있어서,
    상기 생성된 픽셀 데이터의 행을 저장하기 위해 상기 제 1 필터와 상기 제 2 필터 사이에 저장 수단을 더 포함하는 쌍일차 필터.
  6. 비디오 영상을 리사이징하는 방법에 있어서,
    ① 상기 영상을 M 행×M 열 데이터 엘리먼트 어레이들로 분할하는 단계와,
    ② 각각 M개의 데이터 엘리먼트의 저장 용량을 갖는 적어도 2개의 FIFO 메모리 장치에 인접 행들을 저장하고, 상기 적어도 2개의 FIFO 메모리 장치의 여분의 저장 공간에 상기 비디오 영상의 인접한 어레이들 사이를 보간하기 위한 데이터 엘리먼트를 저장하는 단계와,
    ③ 상기 인접한 행들 사이를 보간함으로써 상기 비디오 영상을 수직 리사이징하는 단계를 포함하는
    비디오 영상 리사이징 방법.
  7. 제 6 항에 있어서,
    상기 수직 리사이징된 영상을 수평 리사이징하는 단계를 더 포함하는 비디오 영상 리사이징 방법.
  8. 제 7 항에 있어서,
    상기 수직 리사이징 단계는 상기 M×M 어레이의 각각의 2개의 행들 사이에 중간 행을 생성하는 단계를 포함하는 비디오 영상 리사이징 방법.
  9. 제 8 항에 있어서,
    상기 수평 리사이징 단계는 행내의 각각의 두 픽셀들 사이에 중간 수평 픽셀을 생성하는 단계를 포함하는 비디오 영상 리사이징 방법.
  10. 제 9 항에 있어서,
    상기 생성된 중간 행들을 저장 수단에 저장하는 단계를 더 포함하는 비디오 영상 리사이징 방법.
  11. 비디오 영상을 리사이징하는 컴퓨터 시스템에 있어서,
    ① 상기 비디오 영상 데이터를 처리하여 M 행×M 열 데이터 엘리먼트 어레이들을 생성한 후, 상기 데이터 어레이를 전송하는 프로세서와,
    ② 상기 데이터 어레이를 수신하고, 쌍일차 필터를 구비하는 그래픽 어댑터를 포함하되,
    상기 쌍일차 필터는,
    각각 M개의 데이터 엘리먼트의 저장 용량 및 상기 비디오 영상의 2개의 인접한 어레이들 사이를 보간하기 위한 데이터 엘리먼트를 저장하는 여분의 저장 용량을 가지며, 상기 어레이의 인접한 행들을 저장하는 적어도 2개의 FIFO 메모리 장치와,
    상기 FIFO 메모리 장치에 접속되고, 상기 행들 사이를 보간함으로써 상기 비디오 영상을 수직으로 리사이징하는 수단을 포함하는
    컴퓨터 시스템.
  12. 제 11 항에 있어서,
    상기 쌍일차 필터는 상기 수직 리사이징 수단에 접속되어, 상기 수직 리사이징된 영상을 수평 리사이징하는 수단을 더 포함하는 컴퓨터 시스템.
  13. 제 12 항에 있어서,
    상기 수직 리사이징 수단은 적어도 2개의 저장된 행들 사이에 중간 행을 생성하는 제 1 필터를 포함하는 컴퓨터 시스템.
  14. 제 13 항에 있어서,
    상기 수평 리사이징 수단은 중간 열을 생성하는 제 2 필터를 포함하는 컴퓨터 시스템.
  15. 제 14 항에 있어서,
    상기 쌍일차 필터는 상기 생성된 중간 행을 저장하기 위해 상기 제 1 필터 및 상기 제 2 필터 사이에 저장 수단을 더 포함하는 컴퓨터 시스템.
KR1019970024266A 1996-08-19 1997-06-12 쌍일차필터,비디오영상리사이징방법및컴퓨터시스템 KR100281499B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/699,264 US5977947A (en) 1996-08-19 1996-08-19 Method and apparatus for resizing block ordered video image frames with reduced on-chip cache
US8/699,264 1996-08-19

Publications (2)

Publication Number Publication Date
KR19980018133A KR19980018133A (ko) 1998-06-05
KR100281499B1 true KR100281499B1 (ko) 2001-02-15

Family

ID=24808575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970024266A KR100281499B1 (ko) 1996-08-19 1997-06-12 쌍일차필터,비디오영상리사이징방법및컴퓨터시스템

Country Status (3)

Country Link
US (1) US5977947A (ko)
KR (1) KR100281499B1 (ko)
TW (1) TW347524B (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058459A (en) * 1996-08-26 2000-05-02 Stmicroelectronics, Inc. Video/audio decompression/compression device including an arbiter and method for accessing a shared memory
US6483951B1 (en) * 1998-06-26 2002-11-19 Lsi Logic Corporation Digital video filter sequence for bandwidth constrained systems
US6295322B1 (en) * 1998-07-09 2001-09-25 North Shore Laboratories, Inc. Processing apparatus for synthetically extending the bandwidth of a spatially-sampled video image
US6275253B1 (en) * 1998-07-09 2001-08-14 Canon Kabushiki Kaisha Stereographic image compression with image moment normalization
US6567098B1 (en) * 2000-06-22 2003-05-20 International Business Machines Corporation Method and apparatus in a data processing system for full scene anti-aliasing
GB2371459B (en) * 2001-01-19 2005-05-04 Pixelfusion Ltd Image scaling
US6755800B2 (en) * 2001-08-08 2004-06-29 Beiersdorf, Inc. Tennis elbow support comprising tendon pad
US6816622B2 (en) 2001-10-18 2004-11-09 Microsoft Corporation Generating resized images using ripple free image filtering
CA2360295A1 (en) * 2001-10-26 2003-04-26 Jaldi Semiconductor Corp. System and method for image warping
US6980598B2 (en) * 2002-02-22 2005-12-27 International Business Machines Corporation Programmable vertical filter for video encoding
US6996186B2 (en) * 2002-02-22 2006-02-07 International Business Machines Corporation Programmable horizontal filter with noise reduction and image scaling for video encoding system
US7084929B2 (en) * 2002-07-29 2006-08-01 Koninklijke Philips Electronics N.V. Video data filtering arrangement and method
US7356197B2 (en) * 2003-06-30 2008-04-08 Intel Corporation Variable tap filter architecture for image processing
US7346220B2 (en) * 2003-07-23 2008-03-18 Seiko Epson Corporation Method and apparatus for reducing the bandwidth required to transmit image data
US7421130B2 (en) * 2004-06-25 2008-09-02 Seiko Epson Corporation Method and apparatus for storing image data using an MCU buffer
US7386178B2 (en) * 2004-07-29 2008-06-10 Seiko Epson Corporation Method and apparatus for transforming the dimensions of an image
KR20070010910A (ko) * 2005-07-20 2007-01-24 삼성전자주식회사 영상신호의 크기에 기초한 적응적 영상 스케일러 및 영상스케일링 방법
US7519235B1 (en) 2005-10-24 2009-04-14 Adobe Systems Incorporated Using nonlinear filtering while resizing an image to preserve sharp image detail
JP4789753B2 (ja) * 2006-08-28 2011-10-12 富士通セミコンダクター株式会社 画像データバッファ装置、画像転送処理システム、及び画像データバッファ方法
EP2370934A4 (en) * 2008-08-29 2012-10-24 Angel Decegama SYSTEMS AND METHODS FOR COMPRESSION, TRANSMISSION AND DECOMPRESSION OF VIDEO CODECS
US8031782B2 (en) * 2008-08-29 2011-10-04 ADC2 Technologies LLC Systems and methods for compression, transmission and decompression of video codecs
JP5639436B2 (ja) * 2010-10-18 2014-12-10 株式会社メガチップス 画像処理装置、および画像処理装置の動作方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940023269A (ko) * 1993-03-31 1994-10-22 이헌조 디지탈 영상신호 처리회로

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2231460B (en) * 1989-05-04 1993-06-30 Sony Corp Spatial interpolation of digital video signals
US5355328A (en) * 1991-09-27 1994-10-11 Northshore Laboratories, Inc. Resampling apparatus suitable for resizing a video image
US5410616A (en) * 1992-05-28 1995-04-25 Unisys Corporation Loop-up table image scaling for rational factors
US5469222A (en) * 1992-12-23 1995-11-21 Intel Corporation Non-linear pixel interpolator function for video and graphic processing
US5406306A (en) * 1993-02-05 1995-04-11 Brooktree Corporation System for, and method of displaying information from a graphics memory and a video memory on a display monitor
US5438654A (en) * 1993-07-09 1995-08-01 Silicon Graphics, Inc. System and method for sharpening texture imagery in computer generated interactive graphics
KR0126330Y1 (ko) * 1993-10-23 1998-12-15 김광호 텔레비젼 수상기의 더블스캔 제어회로
US5657047A (en) * 1995-01-12 1997-08-12 Accelgraphics, Inc. Method and apparatus for zooming images on a video display
US5784047A (en) * 1995-04-28 1998-07-21 Intel Corporation Method and apparatus for a display scaler

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940023269A (ko) * 1993-03-31 1994-10-22 이헌조 디지탈 영상신호 처리회로

Also Published As

Publication number Publication date
TW347524B (en) 1998-12-11
US5977947A (en) 1999-11-02
KR19980018133A (ko) 1998-06-05

Similar Documents

Publication Publication Date Title
KR100282377B1 (ko) 비디오영상데이타전송방법및장치
KR100281499B1 (ko) 쌍일차필터,비디오영상리사이징방법및컴퓨터시스템
US5629719A (en) Displaying image signals using horizontal and vertical comparisons
US7536062B2 (en) Scaling images for display
EP0797181B1 (en) Hardware assist for YUV data format conversion to software MPEG decoder
US8723891B2 (en) System and method for efficiently processing digital video
JP2006014341A (ja) Mcuバッファを用いて画像データを格納するための方法及び装置
JP3137581B2 (ja) マルチメディア対応データ処理システムでビデオ・サイズをリアルタイムに変更するシステム
JPS63121364A (ja) テレビジヨン特殊効果装置の補間器
US6115507A (en) Method and apparatus for upscaling video images in a graphics controller chip
US5999112A (en) Data compression apparatus and method, data expansion apparatus and method, and recording medium
JP2001502492A (ja) ライン・ダブリングを使用したオンスクリーン表示メッセージを発生する装置および方法
US5768507A (en) Method and apparatus for overcoming a slope overload condition while using differential pulse code modulation scheme
US7469068B2 (en) Method and apparatus for dimensionally transforming an image without a line buffer
KR100352371B1 (ko) 영상 확대 디스플레이를 위한 라인 버퍼 및 그 제어 방법
JPH11288257A (ja) 圧縮表示方法及びその装置
Razavi et al. High-performance JPEG image compression chip set for multimedia applications
JPH04340634A (ja) 画像記憶及び読み出し方法
JPH05153618A (ja) 映像再生装置
MXPA99003539A (en) Apparatus and method for generating on-screen-display messages using true color mode
JPH0396071A (ja) ディザ画像データ圧縮方式
JPH07225574A (ja) 画像データ変換回路
JP2002232837A (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: 20101102

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee