KR100776943B1 - Video capture card having a high quality and capture method of multichannel video - Google Patents
Video capture card having a high quality and capture method of multichannel video Download PDFInfo
- Publication number
- KR100776943B1 KR100776943B1 KR1020060074556A KR20060074556A KR100776943B1 KR 100776943 B1 KR100776943 B1 KR 100776943B1 KR 1020060074556 A KR1020060074556 A KR 1020060074556A KR 20060074556 A KR20060074556 A KR 20060074556A KR 100776943 B1 KR100776943 B1 KR 100776943B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- frame buffer
- buffering
- pci
- video
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 239000000872 buffer Substances 0.000 claims abstract description 109
- 230000003139 buffering effect Effects 0.000 claims abstract description 81
- 230000005540 biological transmission Effects 0.000 claims abstract description 27
- 239000000284 extract Substances 0.000 claims abstract description 8
- 238000000605 extraction Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000002093 peripheral effect Effects 0.000 abstract description 2
- 238000007796 conventional method Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 16
- 229920006395 saturated elastomer Polymers 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013481 data capture Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 101150112732 GNT1 gene Proteins 0.000 description 1
- 101100524346 Xenopus laevis req-a gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/44—Receiver circuitry for the reception of television signals according to analogue transmission standards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0024—Peripheral component interconnect [PCI]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Description
도 1은 종래 범용의 비디오 캡쳐용 IC(CX23880)의 구성을 도시한 블럭도이다.Fig. 1 is a block diagram showing the structure of a conventional general video capture IC (CX23880).
도 2는 종래 다채널 구현을 위한 복수의 비디오 캡쳐용 IC와 PCI 브릿지 IC의 연결상태를 도시한 도면이다.2 is a diagram illustrating a connection state of a plurality of video capturing ICs and a PCI bridge IC for a conventional multi-channel implementation.
도 3은 종래의 PCI 카드(40, 50, 60)와 브릿지 사이의 데이터 전송 과정을 도시한 타이밍 도이다. 3 is a timing diagram illustrating a data transmission process between a conventional PCI card (40, 50, 60) and a bridge.
도 4는 본 발명의 고성능 비디오 캡쳐 시스템을 도시한 블럭도이다.4 is a block diagram illustrating a high performance video capture system of the present invention.
도 5는 본 발명의 비디오 캡쳐 카드를 도시한 블럭도이다.5 is a block diagram illustrating a video capture card of the present invention.
도 6은 본 발명의 버퍼링 제어부의 구성을 보다 상세히 도시한 블럭도이다.6 is a block diagram illustrating in detail the configuration of the buffering control unit of the present invention.
도 7은 본 발명의 PCI 인터페이스부를 통한 프레임 버퍼와 PC 시스템 메모리 사이의 데이터 전송과정을 도시한 도면이다.7 is a diagram illustrating a data transmission process between a frame buffer and a PC system memory through the PCI interface unit of the present invention.
도 8은 본 발명의 프레임 버퍼의 구조를 도시한 도면이다.8 is a diagram showing the structure of a frame buffer of the present invention.
< 도면의 주요 부분에 대한 설명 ><Description of Main Parts of Drawings>
10 : 비디오 캡쳐용 IC 11,120 : 비디오 디코더10: video capture IC 11,120: video decoder
12 : 스케일러 13,133,151 : FIFO12: scaler 13,133,151: FIFO
14 : DMA 15 : PCI 인터페이스14: DMA 15: PCI interface
16,170 : PCI 버스 20 : PCI 브릿지 IC16170: PCI bus 20: PCI bridge IC
30 : PCI 2차 버스 40, 50, 60 : PCI 카드30: PCI
70 : 브릿지 80 : CPU70: bridge 80: CPU
100 : 하드웨어 110 : 비디오 캡쳐 카드100: hardware 110: video capture card
130 : 버퍼링 제어부 131 : 비디오 신호 인터페이스 수단130: buffering control unit 131: video signal interface means
132 : 타이밍 정보 추출 모듈 134 : 프레임 버퍼 주소설정 모듈132: timing information extraction module 134: frame buffer address setting module
135 : 프레임 버퍼 주소제공 모듈 136 : SDRAM 컨트롤러135: frame buffer address providing module 136: SDRAM controller
137 : SDRAM 아비터 138 : 비디오 데이터 독출 수단 137: SDRAM arbiter 138: video data reading means
140 : 프레임 버퍼 150 : PCI 인터페이스부 140: frame buffer 150: PCI interface unit
160 : 로컬 버스 200 : 디바이스 드라이버 160: local bus 200: device driver
300 : 응용 소프트웨어 400 : PC 시스템 메모리300: Application Software 400: PC System Memory
본 발명은 버퍼링 제어부와 SDRAM(synchronous dynamic random access memory)을 사용하여 비디오 프레임을 더블 버퍼링함으로써 종래 1 채널용 비디오 캡쳐 IC를 다채널 고성능의 캡쳐 시스템에 적용 가능 하도록한 고성능 비디오 캡쳐 카드 및 다채널 비디오 캡쳐 방법에 관한 것이다.The present invention provides a high-performance video capture card and a multi-channel video that enable the conventional 1-channel video capture IC to be applied to a multi-channel high performance capture system by double buffering a video frame using a buffering controller and synchronous dynamic random access memory (SDRAM). To a capture method.
아날로그 비디오 신호를 디지털 비디오 신호로 변환하여 사용하는 기술은 많은 분야에서 사용된다. 대표적인 예로 일반 PC에서 사용되는 TV 수신카드, 의료용으로 사용되는 PACS(picture archiving and communication system), 산업용으로 사용되는 머신 비젼(Machine Vision) 등을 들 수 있다. 이러한 기술 개발을 위해서는 아날로그 비디오 신호를 디지털 비디오 신호로 변환하는 기술, 프레임 버퍼를 제어하는 기술, PCI(peripheral component interconnect) 버스를 효율적으로 사용하여 데이터를 전송하는 기술, 고난이도의 디바이스 드라이버를 작성하는 기술 등이 요구된다.The technology of converting an analog video signal into a digital video signal is used in many fields. Typical examples include TV reception cards used in general PCs, picture archiving and communication systems (PACS) used for medical purposes, and machine vision used for industrial purposes. The development of this technology involves converting analog video signals into digital video signals, controlling frame buffers, efficiently transferring data using a peripheral component interconnect (PCI) bus, and writing highly difficult device drivers. Etc. are required.
이 중에서 특히 프레임 버퍼를 관리하는 기술은 근래에 비디오 데이터의 압축, 복원, 처리 등에서 폭넓게 사용되고 있다. 보다 상세히, 프레임 버퍼를 제어하는 방법은 비디오 캡쳐 시스템뿐만 아니라, MPEG(Moving Picture Experts Group) 1/2, 인코더/디코더 등 비디오 처리 시스템에서 거의 필수적으로 사용된다. 특히, 비디오 처리 시스템은 실시간으로 비디오 데이터를 처리하기 때문에 프레임 버퍼의 대역폭을 얼마나 효율적으로 사용하는가가 중요한 문제이다. 이를 위하여 현재 요청되는 데이터 처리량에 맞춰 동작 주파수, 데이터버스 폭, 버스트 길이, 버퍼링 기법, 밝기와 색 정보의 별도 저장 등 많은 기법들이 연구되고 있다.Among them, in particular, a technique for managing a frame buffer has been widely used in compression, decompression, and processing of video data. More specifically, the method of controlling the frame buffer is almost essential in a video processing system such as a moving picture expert group (MPEG) 1/2, an encoder / decoder, as well as a video capture system. In particular, since the video processing system processes the video data in real time, how efficiently the bandwidth of the frame buffer is used is an important problem. To this end, many techniques such as operating frequency, data bus width, burst length, buffering technique, and separate storage of brightness and color information have been studied according to the data throughput.
특히, 최근에는 비디오 감시 장비로 사용되는 DVR(Digital Video Recorder)의 등장으로 1 채널뿐만 아니라 4 채널, 8 채널, 16 채널의 멀티 채널과 캡쳐 성능도 30 ~ 240 FPS(frame per second, 320x240 해상도 기준)까지의 고성능 비디오 캡쳐 카드가 등장하고 있다. 대부분의 비디오 캡쳐 카드들이 범용의 비디오 캡쳐용 IC들을 사용하고 있다. 최근 가장 많이 사용되는 IC로는 Conexant 사의 CX23880와 Philips 사의 SAA7146를 들 수 있다. 이하, 상기 CX23880을 예로 들어 종래 고성능 비디오 캡쳐 카드의 구성을 살펴보고, 멀티 채널, 고성능 비디오 캡쳐 시의 문제점을 살펴본다.In particular, with the advent of digital video recorders (DVRs), which are used as video surveillance equipment recently, not only 1 channel but also 4, 8, 16 channels, multi-channel and capture performance based on 30 to 240 frames per second (320x240 resolution) The high-performance video capture card up to) comes up. Most video capture cards use general purpose video capture ICs. The most popular ICs in recent years include the Conexant CX23880 and Philips SAA7146. Hereinafter, the configuration of a conventional high performance video capture card will be described using the CX23880 as an example, and the problems in capturing multi-channel and high performance video will be described.
도 1은 종래 범용의 비디오 캡쳐용 IC(CX23880)의 구성을 도시한 블럭도이다.Fig. 1 is a block diagram showing the structure of a conventional general video capture IC (CX23880).
도 1에 도시된 바와 같이, 비디오 캡쳐용 IC(10)는 아날로그 비디오 신호의 캡쳐를 위하여 ADC(analog-to-digital converter), 비디오 디코더(11), 스케일러(12), 비디오 FIFO(video first-in first-out, 13), DMA(direct memory access, 14), PCI 인터페이스(15)를 포함한다.As shown in FIG. 1, the
상기 비디오 캡쳐용 IC(10)를 통한 데이터 캡쳐 과정을 살펴보면, 상기 비디오 디코더(11)는 아날로그 비디오 입력 신호를 디지털 비디오 신호로 변환한다. 이 후, 상기 스케일러(12)를 통해 변환된 디지털 비디오 신호를 원하는 해상도로 스케일링 한 후, 상기 비디오 FIFO(13)에 버퍼링 한다. 상기 비디오 FIFO(13)에 쌓인 데이터가 특정 레벨이 되면 상기 DMA(14) 엔진을 사용하여, 상기 데이터를 상기 PCI 인터페이스(15)를 거쳐 PCI 버스(16)로 전송한다. Looking at the data capture process through the
상기 비디오 데이터는 최대 초당 24 MBytes/sec (PAL(phase alternation by line system)의 경우, 768 Pixel x 625 Lines x 2 Bytes x 25 Frame = 24,000,000 Bytes)의 속도로 상기 비디오 캡쳐용 IC(10)에 입력될 수 있다. 상기 PCI 버스(16) 의 최대 대역폭은 132 MBytes/sec(33 Mhz * 4 Bytes)이므로 상기 비디오 데이터의 입력 속도를 커버할 수 있으나, 하나의 PCI 버스(16)를 여러 디바이스가 공유하므로, 비디오 데이터를 전송할 때 상기 PCI 버스(16)를 즉시 사용할 수 없는 경우가 발생할 수 있다. 이를 방지하기 위해서는 적절한 데이터 량의 버퍼링이 필요하다. 상기 비디오 캡쳐용 IC(10)의 경우 4 라인을 버퍼링할 수 있는 양의 FIFO(13)를 내장하고 있다. 4 라인을 Bytes 수로 계산하면 6144 Bytes(768 Pixel / Line * 2 Bytes / Pixel * 4 Line = 6144 Bytes), 시간으로 계산하면 256 us(6144 Bytes / 24 MBytes/sec = 256 us)이다. 최대 256 us 안에 적어도 한번은 상기 PCI 버스(16)를 사용하여 비디오 데이터를 호스트 컴퓨터로 전송해야 상기 FIFO(13)에 오버플로 (Overflow)가 발생하지 않는다. 만약 상기 FIFO(13)에 오버플로가 한번이라도 발생하면 캡쳐된 이미지는 왜곡될 수 있다.The video data is input to the
또한, 상기 256 us 동안 상기 PCI 버스(16)를 통해 전송할 수 있는 최대 데이터 양은 33 KBytes(132 MBytes/sec * 256 us = 33792 Bytes)이다. 만약 상기 PCI 버스(16)에 연결된 장치 중 일부가 순간적으로 33 KBytes 이상의 데이터를 연속하여 전송하는 경우 이미지는 왜곡될 수 있다. 또는 상기 PCI 버스(16)에 여러 장치가 연결되어 있고, 이 장치들이 순간적으로 모두 데이터를 전송하는 경우도 이미지 왜곡이 발생할 수 있다.In addition, the maximum amount of data that can be transmitted through the
도 2는 종래 다채널 구현을 위한 복수의 비디오 캡쳐용 IC와 PCI 버스의 연결상태를 도시한 도면이다.FIG. 2 is a diagram illustrating a connection state between a plurality of video capturing ICs and a PCI bus for implementing a conventional multi-channel.
도 2를 참조하여, 상기 비디오 캡쳐용 IC(10)를 사용하여 16 채널, 120 FPS 로 동작 가능한 고성능의 비디오 캡쳐 카드의 구현 가능성을 살펴본다. 16 채널 비디오 신호의 입력을 위해서는 비디오 캡쳐용 IC(10) 16 개와 상기 비디오 캡쳐용 IC(10)와 상기 PCI 버스(16)를 상호 연결하는 PCI 브릿지(Bridge) IC(20)가 요구된다. 상기 PCI 브릿지 IC(20)는 상기 16 개의 비디오 캡쳐용 IC(10)와 원활한 통신을 하기 위하여 PCI 2차 버스(Secondary Bus;30)에 최대한 많이 연결될 수 있을 것이 요구된다. 예를 들어 PLX Technology 사의 PCI6156 IC 는 상기 PCI 2차 버스(30)에 상기 비디오 캡쳐용 IC(10)를 10 개까지 연결할 수 있다. 편의상 도 2에서는 하나의 PCI 브릿지 IC(20)에 연결된 8 개의 비디오 캡쳐용 IC(10)만이 도시되었으나, 실제 구현시에는 PCI 브릿지 IC(20) 2 개에 비디오 캡쳐용 IC(10) 16 개가 연결된다.Referring to FIG. 2, the possibility of implementing a high-performance video capture card capable of operating at 16 channels and 120 FPS using the video capture IC 10 will be described. In order to input a 16-channel video signal, 16
또한, PCI 버스(16)에는 상술한 비디오 캡쳐용 IC(10)와 PCI 브릿지 IC(20)를 포함하는 PCI 카드(40) 이외에도 다른 PCI 카드(50, 60)가 연결될 수 있다. 또한, PCI 버스(16)에는 PCI 카드들(40, 50, 60)의 요청 신호(req)를 수신하고, PCI 버스(16)를 점유할 수 있는 PCI 카드를 알려주는 응답 신호(gnt)를 송신하는 브릿지(특히 브릿지의 아비터(arbiter)가 상술한 기능을 수행함, 70)가 연결된다. 브릿지(70)는 일반적으로 호스트 버스를 통하여 CPU(80)에 접속된다. In addition,
위에서와 같은 다채널의 대용량 실시간 데이터를 캡쳐하기 위하여 각 비디오 캡쳐용 IC(10)는 상기 PCI 브릿지 IC(20)에 요청 신호를 전송하고, 상기 PCI 브릿지 IC(20)는 브릿지(70)에 요청 신호(req1)를 전송하고, 상기 브릿지(70)이 제1 PCI 카드(40)에 응답 신호(gnt1)를 전송하면, PCI 브릿지 IC(20)는 해당 비디오 캡쳐용 IC(10)에 응답 신호를 전송하여 비디오 캡쳐용 IC로부터의 데이터를 PCI 버스(16)를 통하여 브릿지(70)로 전송한다. 이하, 도 3을 참조하여 상기 캡쳐된 비디오 데이터의 전송 타이밍을 살펴본다.Each
도 3은 종래의 PCI 카드(40, 50, 60)와 브릿지 사이의 데이터 전송 과정을 도시한 타이밍 도이다. 3 is a timing diagram illustrating a data transmission process between a conventional PCI card (40, 50, 60) and a bridge.
도 3을 참조하면, 3개의 PCI 카드(40, 50, 60)로부터 브릿지(70)에 요청 신호(req 1, req 2, req 3)가 전송된다고 가정할 때, 상기 브릿지(70)는 상기 요청 신호의 전달 순서에 따라 차례로 PCI 카드(40, 50, 60)에 응답 신호(gnt 1, gnt 2, gnt 3)를 전송한다. 그러나, 요청 신호와는 달리 응답 신호의 전송은 특정 PCI 카드의 PCI 버스(16) 독점을 의미하기 때문에 선순위의 응답 신호 (gnt 3)를 수신한 제3 PCI 카드(60)로부터 브릿지(70)로 데이터 전송이 완료될 때까지 후순위의 PCI 카드(40, 50)는 응답 신호(gnt 1, gnt 2)의 수신을 대기하게 된다. 도면과 같이 제1 PCI 카드(40)보다 선순위인 2개의 PCI 카드(50, 60)가 있는 경우, 선순위의 PCI 카드(50, 60)의 상기 PCI 버스(16) 독점으로 인하여 요청 신호와 응답 신호 사이의 레이턴시(latency)는 후순위인 제1 PCI 카드(40)로 갈수록 증가하기 때문에 데이터 버퍼링의 중요성을 더욱 커진다.Referring to FIG. 3, assuming that request signals
예를 들어, 제1 PCI 카드(40)에 포함된 비디오 캡쳐용 IC(10)가 256us 만큼의 데이터 버퍼링이 가능하고, 비디오 캡쳐용 IC(10)의 FIFO(13)에 128us 이상에 해당하는 데이터가 찬 경우에 제1 PCI 카드(40)가 브릿지(70)로 요청 신호(req 1)를 송신하는 경우에는, 상기 레이턴시가 128us를 넘으면 비디오 캡쳐용 IC(10)의 FIFO(13)는 오버플로가 발생하게 된다. 즉, 비디오 캡쳐용 IC(10)를 통하여 캡쳐된 이미지는 왜곡되어 정상적인 전송을 하지 못한다. For example, the
상기 레이턴시로 인한 이미지 왜곡을 방지하기 위해서는 대용량의 버퍼를 사용한 원활한 데이터 버퍼링이 필연적으로 요구된다. 이를 위하여 비디오 캡쳐용 IC (10)의 FIFO(13) 용량을 증가시킬 수 있으나, 상기 FIFO(13)를 구성하는 SRAM의 가격이 고가여서 한계가 있으며, 상기 FIFO(13)의 용량 확장은 핀 수의 증가를 초래하여 시스템의 구성에 장애를 초래할 수 있다.In order to prevent image distortion due to the latency, smooth data buffering using a large buffer is inevitably required. To this end, the capacity of the
상기 문제점을 해결하기 위하여 안출된 본 발명은 종래 1 채널용 비디오 캡쳐 IC를 다채널 고성능의 캡쳐 시스템에 적용할 때 발생할 수 있는 문제점을 해결하는 것을 목적으로 한다. 보다 상세히, 버퍼링 제어부와 SDRAM을 사용하여 비디오 프레임을 버퍼링함으로써 고성능 비디오 캡쳐 카드를 제공하는 것을 목적으로 한다.The present invention devised to solve the above problems is an object of the present invention to solve the problems that may occur when applying a conventional one-channel video capture IC to a multi-channel high-performance capture system. More specifically, it is an object to provide a high performance video capture card by buffering video frames using a buffering control unit and SDRAM.
상술한 목적을 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 적어도 하나의 채널의 디지털 비디오 신호를 입력받아 데이터 버퍼링을 위한 정보를 추출하고, 버퍼링 과정을 제어하는 버퍼링 제어부; 상기 버퍼링 제어부의 제어 신호에 따라 상기 적어도 하나의 채널에 각각 대응하는 적어도 하나의 저장 영역에 디지털 비디오 데이터를 버퍼링하는 프레임 버퍼; 및 상기 적어도 하나의 저장 영역 중 하나 이상의 저장 영역에 기준치 이상의 데이터가 저장되는 경우 PCI 버스에 데이터 전송 요청 신호를 송신하고, 상기 PCI 버스로부터 데이터 전송 수락 신호를 수신하면 상기 프레임 버퍼에 저장된 데이터를 독출하여 상기 PCI 버스로 전송하는 PCI 인터페이스부를 포함하는 비디오 캡쳐 카드를 제공한다. As a technical means for achieving the above object, a first aspect of the present invention receives a digital video signal of at least one channel to extract information for data buffering, the buffering control unit for controlling the buffering process; A frame buffer for buffering digital video data in at least one storage area corresponding to the at least one channel, respectively, according to a control signal of the buffering controller; And transmitting a data transmission request signal to a PCI bus when data above a reference value is stored in at least one storage area of the at least one storage area, and reading data stored in the frame buffer when receiving a data transmission acceptance signal from the PCI bus. To provide a video capture card including a PCI interface for transmitting to the PCI bus.
바람직하게, 상기 프레임 버퍼의 기준치는 상기 프레임 버퍼의 하나의 저장 영역에 할당된 용량의 1/2이다. 또한, 상기 프레임 버퍼는 SDRAM으로 형성된다. 또한, 상기 프레임 버퍼는 상기 적어도 하나의 저장 영역 각각을 두 영역으로 분할하여 핑퐁 방식으로 데이터를 버퍼링한다. 또한, 상기 버퍼링 제어부는 상기 프레임 버퍼의 사용을 위한 신호를 전송하는 복수의 비디오 신호 인터페이스 수단과, 상기 PCI 인터페이스부에 프레임 메모리의 주소와 전송할 데이터의 크기를 설정하고, 원하는 채널의 데이터를 상기 전송 크기만큼 독출하는 비디오 데이터 독출 수단과, 상기 프레임 버퍼의 제어를 위한 SDRAM 컨트롤러, 및 상기 프레임 버퍼와 연동하는 상기 복수의 비디오 신호 인터페이스 수단과, 상기 비디오 데이터 독출 수단을 중재하는 SDRAM 아비터를 포함한다. 또한, 상기 비디오 신호 인터페이스 수단은 입력된 디지털 비디오 신호로부터 타이밍 정보를 추출하고, 프레임의 시작을 판단하는 타이밍 정보 추출 모듈과, 상기 타이밍 정보 추출 모듈을 통하여 결정된 유효 픽셀을 저장하고, 프레임 버퍼의 버스트 액세스를 조력하는 FIFO, 및 상기 타이밍 정보 추출 모듈로부터 추출되는 수직 싱크와 필드 신호를 기준으로 데이터 프레임의 시작을 판단하고, 상기 프레임 버퍼의 주소를 동기화시키는 프레임 버퍼 주소설정 모듈을 포함한다. Preferably, the reference value of the frame buffer is 1/2 of the capacity allocated to one storage area of the frame buffer. The frame buffer is also formed of SDRAM. The frame buffer divides each of the at least one storage area into two areas to buffer data in a ping-pong manner. The buffering controller may further include a plurality of video signal interface means for transmitting a signal for using the frame buffer, an address of a frame memory and a size of data to be transmitted, and transmitting data of a desired channel to the PCI interface unit. Video data reading means for reading the data by size, an SDRAM controller for controlling the frame buffer, a plurality of video signal interface means interworking with the frame buffer, and an SDRAM arbiter for arbitrating the video data reading means. . In addition, the video signal interface means extracts timing information from an input digital video signal, stores a timing information extraction module for determining the start of a frame, valid pixels determined through the timing information extraction module, and bursts a frame buffer. And a frame buffer addressing module configured to determine the start of a data frame based on the vertical sync and field signals extracted from the timing information extraction module and to synchronize the address of the frame buffer.
본 발명의 제2 측면은 복수의 채널을 통하여 디지털 비디오 신호를 입력받아 데이터 버퍼링을 위한 정보를 추출하고, 프레임 버퍼를 통한 버퍼링 과정을 제어하는 버퍼링 제어부; 상기 프레임 버퍼에 기준치 이상의 데이터가 저장되는 경우 PCI 버스에 데이터 전송 요청 신호를 송신하고, 상기 PCI 버스로부터 데이터 전송 수락 신호를 수신하면, 상기 프레임 버퍼에 저장된 데이터를 독출하여 PCI 버스로 전송하는 PCI 인터페이스부를 포함하는 PCI 인터페이스 칩을 제공한다. According to a second aspect of the present invention, a buffering controller receives a digital video signal through a plurality of channels, extracts information for data buffering, and controls a buffering process through a frame buffer; The PCI interface transmits a data transmission request signal to the PCI bus when data higher than a reference value is stored in the frame buffer, and reads the data stored in the frame buffer and transmits the data to the PCI bus when the data transmission acceptance signal is received from the PCI bus. It provides a PCI interface chip including a unit.
바람직하게, 상기 프레임 버퍼는 SDRAM이다. 또한, 상기 버퍼링 제어부는 상기 프레임 메모리를 상기 복수의 채널에 각각 대응하는 복수의 저장 영역으로 구분하고, 상기 복수의 채널 각각을 통하여 입력되는 디지털 비디오 신호를 상기 복수의 저장 영역 중 상기 복수의 채널 각각에 대응하는 저장 영역에 저장한다. 또한, 상기 기준치 이상의 데이터는 상기 복수의 저장 영역 각각의 용량의 1/2이다. 또한, 상기 버퍼링 제어부는 상기 복수의 저장 영역 각각을 두 영역으로 분할하여 핑퐁 방식으로 데이터를 버퍼링한다. Preferably, the frame buffer is SDRAM. The buffering controller divides the frame memory into a plurality of storage regions respectively corresponding to the plurality of channels, and divides the digital video signal input through each of the plurality of channels into each of the plurality of channels among the plurality of storage regions. Store in the storage area corresponding to. The data above the reference value is 1/2 of the capacity of each of the plurality of storage areas. The buffering controller divides each of the plurality of storage areas into two areas to buffer data in a ping-pong manner.
본 발명의 제3 측면은 (A) 입력된 디지털 비디오 신호를 버퍼링 제어부의 제어 신호에 따라 프레임 버퍼의 각 채널에 대응되는 저장 영역에 버퍼링하는 단계; (B) 상기 프레임 버퍼의 저장 영역에 기준치 이상의 데이터가 적재되는 채널 발생 시 이를 PCI 인터페이스부에 통지하는 단계; (C) 상기 통지를 수신한 PCI 인터페이 스부가 PCI 버스에 데이터 전송 요청 신호를 전송하는 단계; (D) 상기 요청 신호에 대한 응답으로 상기 PCI 버스로부터 데이터 전송 수락 신호를 수신하는 경우, 상기 프레임 버퍼에 저장되어 있던 데이터를 독출하여 PCI 인터페이스부로 전송하는 단계; 및 (E) 상기 데이터를 PCI 인터페이스부로부터 PCI 버스로 전송하는 단계를 포함하는 다채널 비디오 캡쳐 방법을 제공한다. According to a third aspect of the present invention, there is provided a method comprising: (A) buffering an input digital video signal in a storage area corresponding to each channel of a frame buffer according to a control signal of a buffering controller; (B) notifying the PCI interface unit when a channel in which data equal to or greater than a reference value is loaded is stored in the storage area of the frame buffer; (C) the PCI interface receiving the notification transmits a data transmission request signal to the PCI bus; (D) when receiving a data transmission acceptance signal from the PCI bus in response to the request signal, reading data stored in the frame buffer and transmitting the data to the PCI interface unit; And (E) transmitting the data from the PCI interface unit to the PCI bus.
바람직하게, 상기 (D) 단계는, 상기 프레임 버퍼로부터 전송받은 데이터를 PCI 인터페이스부에 내재된 FIFO로 재차 버퍼링하는 단계가 더 포함된다. 또한, 상기 기준치는 저장 영역 용량의 1/2이다. 또한, 상기 프레임 버퍼는 SDRAM으로 형성된다. 또한, 상기 프레임 버퍼는 상기 저장 영역을 두 영역으로 분할하여 핑퐁 방식으로 데이터를 버퍼링한다. Preferably, the step (D) further includes the step of buffering the data received from the frame buffer to the FIFO embedded in the PCI interface unit. In addition, the reference value is 1/2 of the storage area capacity. The frame buffer is also formed of SDRAM. In addition, the frame buffer divides the storage area into two areas to buffer data in a ping-pong manner.
본 발명과 본 발명의 동작성의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야 한다.DETAILED DESCRIPTION In order to fully understand the present invention, the advantages of the operability of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings that illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
도 4는 본 발명의 고성능 비디오 캡쳐 시스템을 도시한 블럭도이다.4 is a block diagram illustrating a high performance video capture system of the present invention.
도 4에 도시된 바와 같이, 고성능 비디오 캡쳐 시스템은 크게 하드웨 어(100), 디바이스 드라이버(200), 응용 소프트웨어(300) 세 부분으로 구성된다. 상기 하드웨어(100)는 아날로그 비디오 신호를 디지털 비디오 신호로 변환하고, 변환된 디지털 비디오 신호를 프레임 버퍼(도 5의 도면부호 140 참조)에 버퍼링한 뒤, PCI 버스(도 7의 도면부호 170 참조)를 통해 PC의 메인 메모리로 전송한다. 상기 디바이스 드라이버(200)는 상기 하드웨어(100)의 초기화, 세팅 설정 및 비디오 캡쳐 등을 수행한다. 상기 응용 소프트웨어(300)는 상기 디바이스 드라이버(200)에서 캡쳐된 비디오 데이터를 독출하여 화면에 디스플레이하고, 사용자의 각종 입력을 처리한다.As shown in FIG. 4, the high performance video capture system is largely composed of three parts, the
본 발명은 상기 고속 비디오 캡쳐 시스템의 각 구성요소 중 특히 하드웨어(100)의 개선을 통한 다채널 데이터 캡쳐 시 고속의 데이터 전송 방안을 제공한다. 종래 비디오 캡쳐 시스템의 경우 1 채널을 기준으로 설계되어 내부 버퍼의 용량이 작아도 큰 무리가 없었으나, 16 채널 이상의 고속 비디오 캡쳐 시스템을 구현하기 위해서는 대용량의 프레임 버퍼(140) 구현이 필수적이다. 이하, 설명의 편의상 16 채널을 기준으로 본 발명을 설명한다. 그러나, 본 발명의 권리 범위를 정함에 있어 이는 단순한 예시에 불과함이 자명하다. 본 시스템은 대용량의 SDRAM을 프레임 버퍼(140)로 사용하여 캡쳐된 비디오 신호의 실시간 전송을 구현한다. 특히 상기 버퍼링 과정에서 핑퐁(Ping-Pong) 기법을 사용함으로써 비디오 디코더(도 5의 도면부호 120 참조)상의 데이터와 캡쳐한 데이터가 서로 겹치지 않도록 한다. 만약 상기 데이터가 겹칠 경우 움직임이 심한 화면의 경우 프레임이 겹쳐서 나타날 수 있기 때문이다.The present invention provides a high-speed data transmission scheme in capturing multi-channel data through the improvement of the
또한, 데이터 캡쳐의 성능은 PCI 버스(170)를 얼마나 효율적으로 사용하느냐에 따라 결정된다. 상기 PCI 버스(170)의 대역폭을 100 MBytes/sec 정도로 생각할 때 약 120 FPS(= 100 MBytes/sec / 24 MBytes/sec) 정도의 캡쳐 성능 구현이 가능하다. 상기 PCI 버스(170)의 대역폭을 최대로 사용하기 위해서는 상기 PCI 버스(170)의 아비트레이션(Arbitration)을 최대로 줄이고, 버스 사이즈를 최대로 늘려야 한다. 이를 위해서는 비디오 캡쳐 카드(도 5의 도면부호 110 참조) 내에 충분한 용량의 버퍼가 구비되어 전송할 데이터가 항시 준비되어 있어야 한다.In addition, the performance of data capture is determined by how efficiently the
그러나, 고성능의 비디오 캡쳐 카드(110) 내부의 FIFO(도 7의 도면부호 151 참조)는 고가의 SRAM으로, 용량이 256 Bytes에 불과하여 데이터 버퍼링에 부적합하고, 용량 확대 시 막대한 비용이 소요되어 버퍼로 사용하는데 무리가 있다. 이하, 도 5 내지 8을 참조하여 상기 조건을 만족시키기 위한 비디오 캡쳐 카드(110)의 구성을 보다 상세히 살펴보도록 하겠다.However, the FIFO inside the high-performance video capture card 110 (refer to
도 5는 본 발명의 비디오 캡쳐 카드를 도시한 블럭도이다.5 is a block diagram illustrating a video capture card of the present invention.
도 5에 도시된 바와 같이, 비디오 캡쳐 카드(110)는 아날로그 비디오 신호를 디지털 비디오 신호로 변환하는 비디오 디코더(120), 변환된 디지털 비디오 신호를 버퍼링하기 위한 데이터를 추출하고 하기 프레임 버퍼를 제어하는 버퍼링 제어부(130), 상기 버퍼링 제어부(130)의 제어 신호에 따라 데이터를 버퍼링하는 프레임 버퍼(140), 상기 프레임 버퍼(140)에 저장된 비디오 데이터를 내재된 FIFO(도 7의 도면부호 151 참조)로 재차 버퍼링하고, PCI 버스(도 7의 도면부호 170 참조)로 전송하는 PCI 인터페이스부(150)를 포함한다. 상기 버퍼링 제어부(130) 및 상기 PCI 인터페이스부(150)는 하나의 칩으로 제작될 수도 있다. As shown in FIG. 5, the
상기 비디오 디코더(120)는 아날로그 CVBS(Composite Video Base Signal)를 입력으로 받아 디지털 신호로 변환하여 출력한다. 출력 형식은 디지털 비디오 데이터와 타이밍 정보(Vertical Sync, Horizontal Sync, Field, Blank)를 별도로 보내는 경우와 디지털 비디오 데이터 사이에 타이밍 정보를 삽입하는 2가지 방식이 있다. 상기 타이밍 정보가 삽입되어 있는 모드의 경우 버퍼링 제어부(130)의 핀 수를 절약할 수 있으나, 상기 버퍼링 제어부(130)에서 타이밍 정보를 추출할 수 있는 로직이 추가로 필요하다는 단점이 있다. 상기 비디오 디코더(120)는 선택적 구성요소로서 상기 비디오 캡쳐 카드(110)에 디지털 신호가 직접 입력될 수도 있다. 상기 버퍼링 제어부(130)로 입력되는 BT.656 포맷의 비디오 데이터는 27 Mhz의 클럭(Clock)신호와 동기화되어 버퍼링 제어부(130)에 입력된다. 상기 버퍼링 제어부 (130) 에 입력되는 데이터 중 수직 공백(Vertical Blanking)과 수평 공백(Horizontal Blanking) 구간을 제외한 나머지 데이터는 모두 유효 데이터로 프레임 버퍼(140)에 전송된다. 일 예로 한 라인 중 수평 공백을 제외한, 720 Pixel(= 720 x 2 Bytes/Pixel = 1440 Bytes)의 데이터가 연속해서 입력된다.The
상기 버퍼링 제어부(130)는 상기 비디오 디코더(120)를 통하여 디지털 신호로 변환된 데이터를 상기 프레임 버퍼(140)에 버퍼링하기 위한 제어신호를 생성하고, 한시적으로 프레이 버퍼(140)에 버퍼링된 데이터를 상기 PCI 인터페이스부(150)로 전송한다. 상기 프레임 버퍼(140)로는 SDRAM이 사용될 수 있다. 상기 SDRAM은 버스트 액세스를 해야 성능이 향상되므로 버퍼링이 필요하다. SDRAM을 이용한 버퍼링을 위해 64 비트 128 깊이(Depth)의 FIFO(도 6의 도면부호 133 참조)가 사용된다. 비디오 신호 1 채널당 64x128 크기의 FIFO(133)가 사용될 수 있다. 즉, 입력 채널용 FIFO(133) 16 개, SDRAM 읽기용 FIFO(133) 1개를 포함해 총 18개의 FIFO(133)가 필요하다.The
상기 버퍼링 제어부(130)를 통하여 상기 프레임 버퍼(140)에 저장된 디지털 비디오 데이터는 상기 PCI 인터페이스부(150)의 요구에 따라 로컬 버스(Local Bus;160)를 통해 상기 PCI 인터페이스부(150)로 전송되고, 상기 PCI 인터페이스부(150)로부터 PCI 버스(도 7의 도면부호 170 참조)를 통하여 PC 시스템 메모리(도 7의 도면부호 400 참조)로 전송된다.Digital video data stored in the
상기 과정을 하나의 채널을 통하여 입력되는 신호를 예로 들어 정리하면 다음과 같다. ① 아날로그 비디오 신호는 상기 비디오 디코더(120)를 통하여 디지털 비디오 신호로 변환된다. ② 상기 디지털로 변환된 비디오 신호는 프레임별로 구분되어 상기 버퍼링 제어부(130)로 입력되고, 상기 버퍼링 제어부(130)의 제어 신호에 따라 프레임 버퍼(140)의 저장 영역 A(도 8 참조)에 한시적으로 저장된다. ③ 상기 프레임 버퍼(140)의 저장 영역 A에 기준치 이상의 데이터가 저장되면 상기 버퍼링 제어부(130)는 상기 PCI 인터페이스부(150)에 그 사실을 통보한다. ④ 상기 버퍼링 제어부(130)는 포화된 저장 영역 A 에 버퍼링을 중지하고, 비어있는 저장 영역 B(도 8 참조)에 연이어 데이터를 저장한다. 즉, 상기 프레임 버퍼(140)는 하나의 SDRAM을 두 영역으로 분할하거나, 두 개의 SDRAM을 사용하여 핑퐁 형식으로 데이터를 버퍼링한다. ⑤ 상기 저장 영역 A 가 포화 상태임을 통지받은 PCI 인터페이스부(150)는 상기 PCI 버스(170)에 데이터의 전송을 요청한다. ⑥ 상기 PCI 버스(170)로부터 상기 요청 신호에 대한 응답으로 수락 신호를 수신하면, 상기 버퍼링 제어부(130)는 상기 프레임 버퍼(140)의 저장 영역 A에 포화된 데이터를 상기 PCI 인터페이스부(150)로 전달한다. ⑦ 상기 PCI 인터페이스부(150)는 상기 프레임 버퍼(140)로부터 전달받은 데이터를 PCI 버스(170)를 통해 PC의 시스템 메모리(400)로 전송한다. 이는 이하, 도 8을 참조하여 보다 상세히 설명한다.The process is summarized as an example of a signal input through one channel as follows. ① The analog video signal is converted into a digital video signal through the
도 6은 본 발명의 버퍼링 제어부의 구성을 보다 상세히 도시한 블럭도이다.6 is a block diagram illustrating in detail the configuration of the buffering control unit of the present invention.
도 6을 참조하면, 상기 버퍼링 제어부(130)는 타이밍 정보 추출 모듈(132), FIFO(133) 및 프레임 버퍼 주소설정 모듈(134)의 서브 모듈로 구성된 16 개의 비디오 신호 인터페이스 수단(131)과, 비디오 데이터 독출 수단(138)과, 프레임 버퍼(140)의 제어를 위한 SDRAM 컨트롤러(SDRAM Controller;136) 및 상기 프레임 버퍼(140)와 연동하는 16 개의 비디오 신호 인터페이스 수단(131)과, 1 개의 비디오 데이터 독출 수단(138)을 중재하는 SDRAM 아비터(SDRAM Arbiter;137) 를 포함한다.Referring to FIG. 6, the
다채널 실시간 비디오 데이터와 호스트 CPU의 캡쳐가 프레임 버퍼(140)의 대역폭을 시분할로 공유하기 위해서는 복수의 채널을 통하여 실시간으로 입력되는 비디오 데이터는 버퍼링 제어부(130)를 통하여 프레임 버퍼(140)에 효율적으로 버퍼링 되어야 한다. 이를 위하여 상기 타이밍 정보 추출 모듈(132)은 ITU-R. 656 형식으로 입력되는 디지털 비디오 신호로부터 타이밍 정보(Horizontal Sync, Vertical Sync, Field 등)를 추출하고, 수직 싱크(Vertical Sync)와 필드(Field) 신호를 참조하여 프레임의 시작을 판단하고, 상기 프레임 버퍼(140)에 저장되는 비디오 데이터의 주소 생성을 참조한다. 또한 최대 크기가 아닌 다른 해상도로 캡쳐되는 비디오 데이터 중에서 유효 픽셀만을 선별한다.In order for the multi-channel real-time video data and the capture of the host CPU to share the bandwidth of the
상기 FIFO(133)는 128 깊이 x 64 비트의 크기로, 상기 타이밍 정보 추출 모듈(132)을 통해 결정된 유효 픽셀을 저장하고, SDRAM의 버스트 액세스를 위한 버퍼링에 사용된다. 상기 FIFO(133)는 입력단은 비디오 데이터의 클락인 27 Mhz, 출력단은 SDRAM의 동작주파수인 133 Mhz로 동작하는 듀얼 클럭(Dual Clock) 특성을 가지며, SDRAM의 데이터 버스 폭과 같은 64 비트로 동작한다. 상기 FIFO(133)의 깊이는 한정된 버퍼링 제어부(130) 내부 메모리의 크기로 인하여 적정 수준으로 제한되어야 한다.The
한편, 실시간으로 들어오는 비디오 데이터는 프레임의 시작부터 정해진 프레임 버퍼(140)의 위치에 저장되어야 한다. 이를 위해 프레임 버퍼 주소설정 모듈 (134)은 상기 타이밍 정보 추출 모듈(132)로부터 수직 싱크와 필드 신호를 기준으로 프레임의 시작을 판단하고, 이때 상기 프레임 버퍼(140)에 저장되는 주소를 동기화시킨다. 이 주소는 비디오 데이터가 프레임 버퍼(140)에 저장될 때 계속 유지, 관리된다.On the other hand, video data coming in real time should be stored in the position of the
한편, 원하는 특정 채널의 비디오 신호를 캡쳐하고자 할 때 상기 PCI 인터페이스부(150)에 프레임 버퍼(140)의 주소와 전송할 사이즈를 설정하면 상기 비디오 데이터 독출 수단(138)에서 기설정된 사이즈만큼의 데이터 독출을 수행한다. 상기 프레임 버퍼 주소제공 모듈(135)은 상기 프레임 버퍼(140)의 주소 위치를 증가시키면서 다음번 전송의 시작 주소를 제공하는 역할을 수행한다.On the other hand, when capturing a video signal of a specific channel desired, the address of the
상기 SDRAM 컨트롤러(136)는 프레임 버퍼로 사용되는 SDRAM을 제어한다. 상기 SDRAM 컨트롤러(136)의 동작 주파수는 133 Mhz, 데이터 버스 폭은 64 비트이다. 한편, 상기 SDRAM 아비터(SDRAM Arbiter;137)는 상기 프레임 버퍼(140)와 연동하는 16 개의 비디오 신호 인터페이스 수단(131)과, 1 개의 비디오 데이터 독출 수단 (138)을 중재한다.The
도 7은 본 발명의 PCI 인터페이스부를 통한 프레임 버퍼와 PC 시스템 메모리 사이의 데이터 전송과정을 도시한 도면이다.7 is a diagram illustrating a data transmission process between a frame buffer and a PC system memory through the PCI interface unit of the present invention.
도 7을 참조하면, 비디오 데이터는 버퍼링 제어부(130)의 제어에 따라 프레임 버퍼(140)의 저장 영역 A(도 8 참조)에 한시적으로 저장된다. 상기 프레임 버퍼(140)의 저장 영역 A에 기준치 이상의 데이터가 저장되면 상기 버퍼링 제어부(130)는 상기 PCI 인터페이스부(150)에 그 사실을 통보한다. 상기 버퍼링 제어부(130)는 포화된 저장 영역 A에 버퍼링을 중지하고, 비어있는 저장 영역 B에 연이어 데이터를 저장한다. 상기 저장 영역 A가 포화 상태임을 통지받은 PCI 인터페이스부(150)는 상기 PCI 버스(170)에 데이터의 전송을 요청한다. 상기 PCI 버스(170)로부터 상기 요청에 대한 허락을 얻으면, 상기 버퍼링 제어부(130)는 상기 프레임 버퍼(140)의 저장 영역 A에 포화된 데이터를 로컬 버스(160)를 통하여 상기 PCI 인터페이스부(150)로 전달한다. 상기 PCI 인터페이스부(150)는 상기 프레임 버 퍼(140)로부터 전달받은 데이터를 FIFO(151)를 통하여 재차 버퍼링하고, PCI 버스(170)를 통해 PC의 시스템 메모리(400)로 전송한다.Referring to FIG. 7, video data is temporarily stored in the storage area A (see FIG. 8) of the
도 8은 본 발명의 프레임 버퍼의 구조를 도시한 도면이다.8 is a diagram showing the structure of a frame buffer of the present invention.
도 8을 참조하면, 프레임 버퍼(140)는 16 채널의 비디오 데이터를 적재하기 위한 16개의 메모리 저장 영역과 각 채널별로 입력되는 데이터를 프레임 별로 번갈아 저장하기 위해 구분된 A, B 저장 영역을 포함한다. Referring to FIG. 8, the
상기 비디오 디코더(120)로부터 출력되는 YUV4:2:2 포맷의 데이터를 저장하는데는 1 화소 당 2 바이트의 저장공간이 필요하다. 일 예로 PAL의 경우 최대 해상도는 720x576 화소로 정의된다. 최대 해상도의 PAL 프레임을 저장하기 위한 메모리의 크기는 적어도 720x576x2 = 829,440 Bytes 이상이어야 한다. 즉, 비디오 데이터 1 프레임을 저장하기 위한 A, B 각 저장 영역의 최소 공간은 해상도 720x576 크기의 픽셀을 저장할 수 있는 829,440 Bytes 이상이어야 한다.In order to store the YUV4: 2: 2 format data output from the
한편, 상기 최소 크기 이상의 저장공간이 구비된 각 영역은 핑퐁 기법을 이용하여 데이터의 저장과 독출을 수행한다. 즉, 각 채널당 구분된 2 개의 영역(A, B)에서 데이터의 쓰기와 읽기가 동시에 발생하지 않도록 A 영역에 데이터를 쓰고 있을 때는 B 영역의 데이터를 읽고, B 영역에 데이터를 쓰고 있을 때는 A 영역의 데이터를 읽는다. 보다 구체적으로, 약 25 MBytes/sec(720x576x2 Bytes x 30 Frame/sec = 24883200 Bytes/sec)의 속도로 입력되는 데이터를 먼저 A 영역에 버퍼링 하였다면, A 영역의 용량이 일정 수준 이상 차게 되면, B 영역을 이용하여 데이 터를 저장하게 되는 것이다.On the other hand, each area provided with a storage space of the minimum size or more to store and read data using the ping-pong technique. In other words, read data from area B when data is written in area A so that data writing and reading does not occur simultaneously in two areas (A, B) separated for each channel. Read data from More specifically, if the data inputted at a rate of about 25 MBytes / sec (720x576x2 Bytes x 30 Frame / sec = 24883200 Bytes / sec) is buffered in the A area first, when the capacity of the A area is filled to a predetermined level or more, To save the data.
한편, 상기 프레임 버퍼(140)는 상기 버퍼링 제어부(130) 내의 FIFO(133)와 서로 다른 웨이퍼로 형성하는 것이 수율면에서 보다 유리하다.On the other hand, the
상기 설명한 비디오 캡쳐 카드의 실제 성능을 확인하기 위하여 각각의 해상도 별로 최대 캡쳐 가능한 FPS(Frame Per Second)를 측정한 결과가 표 1과 같다. Table 1 shows the results of measuring the maximum capture frame per second (FPS) for each resolution to confirm the actual performance of the video capture card described above.
표 1을 참조하면, NTSC 352x240 해상도의 경우는 16 채널 모두 30 FPS(총 480), PAL 352x288 해상도의 경우는 16 채널 모두 25 FPS(총 400 FPS)의 캡쳐 성능을 나타내었다. Referring to Table 1, capture performance of 30 FPS (480 total) for all 16 channels for NTSC 352x240 resolution and 25 FPS (400 FPS for all 16 channels) for PAL 352x288 resolution.
또한, NTSC 704x240 해상도의 경우는 341 FPS, PAL 704x288 해상도의 경우는 302 FPS의 캡쳐 성능을 보였다. In addition, the capture performance of 341 FPS for NTSC 704x240 resolution and 302 FPS for PAL 704x288 resolution.
한편, NTSC 704x480, PAL 704x576 모드의 경우 홀수(ODD) 필드와 짝수(EVEN) 필드를 섞어야 정상적인 이미지를 볼 수 있기 때문에 이 처리를 하는 시간적인 손실로 인하여 비교적 느린 속도인 98 FPS, 80 FPS의 성능을 보였다.On the other hand, in NTSC 704x480 and PAL 704x576 mode, it is necessary to mix odd (ODD) and even (EVEN) fields to see normal images. Showed performance.
그러나 전체적으로 프레임 버퍼를 이용한 버퍼링의 효과로 인하여 원활한 다채널 고속 캡쳐가 이루어짐을 확인할 수 있었다.However, due to the effect of buffering using the frame buffer as a whole, it was confirmed that smooth multi-channel high-speed capture was achieved.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. . Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명은 버퍼링 제어부 와 SDRAM을 사용하여 비디오 프레임을 버퍼링함으로써 고속의 프레임 캡쳐가 가능한 고성능의 비디오 캡쳐 카드를 제공하는 효과가 있다.The present invention has the effect of providing a high-performance video capture card capable of high-speed frame capture by buffering the video frame using a buffering control unit and SDRAM.
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060074556A KR100776943B1 (en) | 2006-08-08 | 2006-08-08 | Video capture card having a high quality and capture method of multichannel video |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060074556A KR100776943B1 (en) | 2006-08-08 | 2006-08-08 | Video capture card having a high quality and capture method of multichannel video |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100776943B1 true KR100776943B1 (en) | 2007-11-21 |
Family
ID=39079888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060074556A KR100776943B1 (en) | 2006-08-08 | 2006-08-08 | Video capture card having a high quality and capture method of multichannel video |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100776943B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109922367A (en) * | 2017-12-13 | 2019-06-21 | 德克萨斯仪器股份有限公司 | Video input port |
KR102633455B1 (en) * | 2022-08-18 | 2024-02-07 | 한국전자기술연구원 | Encoding device for multi-channel video |
CN118227530A (en) * | 2024-05-23 | 2024-06-21 | 苏州熠品质量技术服务有限公司 | Small ping-pong storage controller based on FPGA and data processing method thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000050903A (en) * | 1999-01-15 | 2000-08-05 | 이종수 | Digital video capture board |
KR100290495B1 (en) | 1994-12-23 | 2001-06-01 | 로데릭 더블류 루이스 | Main memory system with multiple data paths |
KR20020008620A (en) * | 2000-07-24 | 2002-01-31 | 박길순 | The system for realtime transfering multimedia data |
US20020118293A1 (en) | 1999-08-17 | 2002-08-29 | Koichiro Hori | Dynamic range video recording and playback system and method |
WO2004095757A2 (en) | 2003-04-23 | 2004-11-04 | Niket Keshav Patwardhan | Rate adaptive data broadcast technique |
-
2006
- 2006-08-08 KR KR1020060074556A patent/KR100776943B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100290495B1 (en) | 1994-12-23 | 2001-06-01 | 로데릭 더블류 루이스 | Main memory system with multiple data paths |
KR20000050903A (en) * | 1999-01-15 | 2000-08-05 | 이종수 | Digital video capture board |
US20020118293A1 (en) | 1999-08-17 | 2002-08-29 | Koichiro Hori | Dynamic range video recording and playback system and method |
KR20020008620A (en) * | 2000-07-24 | 2002-01-31 | 박길순 | The system for realtime transfering multimedia data |
WO2004095757A2 (en) | 2003-04-23 | 2004-11-04 | Niket Keshav Patwardhan | Rate adaptive data broadcast technique |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109922367A (en) * | 2017-12-13 | 2019-06-21 | 德克萨斯仪器股份有限公司 | Video input port |
CN109922367B (en) * | 2017-12-13 | 2023-05-12 | 德克萨斯仪器股份有限公司 | Video IC chip, video IC system, and method for video IC chip |
US11902612B2 (en) | 2017-12-13 | 2024-02-13 | Texas Instruments Incorporated | Video input port |
KR102633455B1 (en) * | 2022-08-18 | 2024-02-07 | 한국전자기술연구원 | Encoding device for multi-channel video |
WO2024038962A1 (en) * | 2022-08-18 | 2024-02-22 | 한국전자기술연구원 | Device for encoding multi-channel image |
CN118227530A (en) * | 2024-05-23 | 2024-06-21 | 苏州熠品质量技术服务有限公司 | Small ping-pong storage controller based on FPGA and data processing method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5680178A (en) | Video multiplexing system for superimposition of scalable video data streams upon a background video data stream | |
JP4131052B2 (en) | Imaging device | |
US7548586B1 (en) | Audio and video processing apparatus | |
EP0384257A2 (en) | Audio video interactive display | |
CN101572826B (en) | Ultrasonic video display device and method | |
EP1285429B1 (en) | A graphics subsystem including a ramdac ic with digital video storage interface for connection to a graphics bus using dma | |
US7170553B2 (en) | Image processing apparatus, image processing method and portable imaging apparatus | |
US5929933A (en) | Video multiplexing system for superimposition of scalable video data streams upon a background video data stream | |
JP4253881B2 (en) | Imaging device | |
US20060133695A1 (en) | Display controller, electronic instrument, and image data supply method | |
US20070065022A1 (en) | Image signal processing apparatus and method | |
KR100776943B1 (en) | Video capture card having a high quality and capture method of multichannel video | |
JP2000092375A (en) | Signal processing unit and its control method | |
US6948022B2 (en) | Digital image transfer controller | |
US20060236012A1 (en) | Memory controller, image processing controller, and electronic instrument | |
JP4158245B2 (en) | Signal processing device | |
US20110019089A1 (en) | System for video frame synchronization using sub-frame memories | |
JP4264602B2 (en) | Image processing device | |
US20100254618A1 (en) | Method for Accessing Image Data and Related Apparatus | |
US6154202A (en) | Image output apparatus and image decoder | |
CN101714061B (en) | Microcomputer and system including the same | |
JP6021556B2 (en) | Image processing device | |
JP4532969B2 (en) | Data processing apparatus and method | |
Brosz et al. | A single-chip HDTV video decoder design | |
JP3745605B2 (en) | Electronic still camera |
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: 20121109 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20131108 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20141029 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20151105 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20171109 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20181210 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20191104 Year of fee payment: 13 |