KR20090059566A - Video input device for image encoder - Google Patents
Video input device for image encoder Download PDFInfo
- Publication number
- KR20090059566A KR20090059566A KR1020070126488A KR20070126488A KR20090059566A KR 20090059566 A KR20090059566 A KR 20090059566A KR 1020070126488 A KR1020070126488 A KR 1020070126488A KR 20070126488 A KR20070126488 A KR 20070126488A KR 20090059566 A KR20090059566 A KR 20090059566A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- video
- input mode
- mode unit
- camera
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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 using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/04—Synchronising
- H04N5/06—Generation of synchronising signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/77—Circuits for processing the brightness signal and the chrominance signal relative to each other, e.g. adjusting the phase of the brightness signal relative to the colour signal, correcting differential gain or differential phase
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/10—Details of semiconductor or other solid state devices to be connected
- H01L2924/11—Device type
- H01L2924/14—Integrated circuits
- H01L2924/143—Digital devices
- H01L2924/1434—Memory
- H01L2924/1435—Random access memory [RAM]
- H01L2924/1437—Static random-access memory [SRAM]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
Description
본 발명은 H.264/AVC 표준형 영상 부호화기(Encoder)에 사용되는 영상 데이터를 입력하기 위한 비디오 입력 장치에 관한 것이다.The present invention relates to a video input device for inputting image data used in an H.264 / AVC standard image encoder (Encoder).
본 발명은 정보통신부 및 정보통신연구진흥원의 IT 성장 동력 기술 개발 사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-026-01, 과제명: MPCore 플랫폼 기반 다중 포맷 멀티미디어 SoC].The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development. ].
디지털 저장매체, TV 방송, 실시간 이동통신 등의 멀티미디어 기술 및 반도체 기술의 발전으로 고압축 고성능의 영상 알고리즘에 대한 IP(Intellectual Property) 또는 SoC(System-on-Chip)의 개발이 진행되고 있다. With the development of multimedia technologies such as digital storage media, TV broadcasting, real-time mobile communication, and semiconductor technologies, the development of IP (Intellectual Property) or SoC (System-on-Chip) for high-compression, high-performance video algorithms is under way.
특히, MPEG-4에 비해 약 2배의 압축 성능을 갖는 H.264/AVC 영상 압축 표준이 다양한 애플리케이션에서 표준으로 채택되고 있으며, 이를 기반으로 하는 영상 부호화기 IP들의 개발이 활발히 이루어지고 있다. In particular, the H.264 / AVC video compression standard, which has about twice the compression performance compared to MPEG-4, has been adopted as a standard in various applications, and video encoder IPs based on this have been actively developed.
이 중 특히, H.264/AVC 영상 부호화기는 비디오 입력 장치를 통하여 Y(휘도신호), Cb(색차신호), Cr(색차신호) 성분으로 구성된 영상 디지털 신호를 입력받아 IME(Integer Motion Estimation), FME/MC(Fine Motion Estimation/Motion Compensation), IP(Intra Prediction) 기능 모듈을 수행하고 CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Based Adaptive Binary Arithmetic Coding) 또는 DB(De-Blocking)의 기능 모듈을 수행하여 압축된 영상 스트림을 출력하는 것인데, 여기서, H.264/AVC 영상 부호화기에 사용되는 비디오 입력 장치는, 실시간 자연 영상을 필요로 하는 DVR(디지털 비디오 저장기) 또는 이동통신 단말기 애플리케이션에서는 CIS(CMOS Image Sensor) 또는 CCD 카메라 등으로부터 카메라 데이터를 직접 수신하는 형식으로, 그리고 TV 방송과 같은 기존의 영상 컨텐츠를 압축하는 애플리케이션에서는 소정 포맷으로 영상 데이터를 수신하는 형식으로, 적용 애플리케이션에 따라 그 입력 형식을 다르게 한정하는 비디오 입력 장치만을 제공해 왔다. Among them, the H.264 / AVC video encoder receives an input digital signal composed of Y (luminance signal), Cb (color difference signal), and Cr (color difference signal) components through a video input device, and receives IME (Integer Motion Estimation), Perform Fine Motion Estimation / Motion Compensation (FME / MC), Intra Prediction (IP) functional modules, and use Context-Adaptive Variable Length Coding (CAVLC), Context-Based Adaptive Binary Arithmetic Coding (CABAC), or De-Blocking (DB). Performing a function module to output a compressed video stream, wherein the video input device used in the H.264 / AVC video encoder is a digital video storage (DVR) or mobile communication terminal application that requires real-time natural video In the form of receiving camera data directly from a CMOS image sensor (CIS) or CCD camera, and in applications that compress existing image content such as TV broadcasting. As a format for receiving image data in a format, only a video input device has been provided which restricts the input format differently according to an application.
그러나, 이와 같이 입력 영상의 형식이 한정된 비디오 입력 장치를 이용하는 경우, 특히, 영상 부호화기 개발 단계인 RTL(Register Transfer Level) 시뮬레이션 또는 FPGA(Field Programmable Gate Array) 레벨의 기능 검증 단계에서는 카메라 데이터를 직접 수신하는 실시간 카메라 인터페이스를 필요로 하고, 또한 이와 별도로 재구성된 영상(이하, 참조 영상)과 비교를 하기 위해 소정 파일 형식의 테스트 영상 데이터를 수신하는 입력 장치를 필요로 하므로, 개발 단계와 응용 단계의 검증에 있어서 일관성이 떨어진다는 단점이 있었다. However, in the case of using a video input device having a limited format of the input image, in particular, camera data is directly received in the RTL (Register Transfer Level) simulation or the field verification stage at the FPGA (Field Programmable Gate Array) level. It requires a real-time camera interface, and also requires an input device that receives test image data in a predetermined file format for comparison with a reconstructed image (hereinafter referred to as reference image) separately. Inconsistency was inferior.
상술한 문제를 해결하기 위하여, 본 발명은 자연 영상 데이터 입력을 위한 카메라 입력 모드와 소정 파일 형태의 영상 입력을 위한 파일 입력 모드를 동시에 지원할 수 있는 비디오 입력 장치를 제공하는 것을 목적으로 한다. In order to solve the above-described problem, an object of the present invention is to provide a video input device capable of simultaneously supporting a camera input mode for natural image data input and a file input mode for image input in a predetermined file format.
또한, 본 발명은 파일 모드를 이용함으로써 추가적인 테스트용 인터페이스 장치 없이도 영상 데이터 부호화기 IP 개발(RTL 시뮬레이션 또는 FPGA 레벨 기능 검증) 단계에서 적절한 영상을 입력받을 수 있는 비디오 입력 장치를 제공하는 것을 목적으로 한다. In addition, an object of the present invention is to provide a video input device that can receive an appropriate image in the image data encoder IP development (RTL simulation or FPGA level functional verification) step without using an additional test interface device by using the file mode.
전술한 목적을 달성하기 위하여 본 발명에 따른 영상 부호화기의 비디오 입력 장치는 비디오 입력 장치의 동작에 필요한 초기 값을 수신하는 호스트 레지스터; 상기 초기 값에 기초하여 파일 형식의 비디오 데이터를 호스트 프로세서(host processor)로부터 수신하는 파일 입력 모드부; 상기 초기 값에 기초하여 신호 레벨의 비디오 데이터를 카메라 장치부로부터 수신하는 카메라 입력 모드부; 상기의 파일 입력 모드 및 카메라 입력 모드 중 하나의 출력을 선택하는 데이터 선택부; 및 상기 선택된 데이터를 상기 영상 부호화기로 전송하기 위한 제어를 행하는 판독 제어부;를 포함하는 것을 특징으로 한다. In order to achieve the above object, a video input device of an image encoder according to the present invention includes a host register for receiving an initial value necessary for the operation of the video input device; A file input mode unit configured to receive video data in a file format from a host processor based on the initial value; A camera input mode unit configured to receive video data of a signal level from a camera device unit based on the initial value; A data selector for selecting one of the file input mode and the camera input mode; And a read control unit for controlling to transmit the selected data to the image encoder.
상기 파일 입력 모드부 및 카메라 입력 모드부에서는 픽셀 데이터를 저장하 기 위하여 Y, U 및 V 버퍼를 포함하는 것을 특징으로 하며, 파일 입력 모드 및 카메라 입력 모드의 특징은 다음과 같다. The file input mode unit and the camera input mode unit include Y, U, and V buffers for storing pixel data. The file input mode and the camera input mode have the following characteristics.
1) 파일 입력 모드: 파일 형태의 테스트 영상 데이터를 호스트 프로세서 등의 파일 장치로부터 입력받아 기능 검증 시 사용됨. 또는 파일 형태의 입력 영상에 대한 영상 부호화기 애플리케이션에서 입력 장치로서 사용됨.1) File input mode: It is used for function verification by receiving test image data in the form of a file from a file device such as a host processor. Or as an input device in an image encoder application for an input image in the form of a file.
2) 카메라 입력 모드: CIS 또는 CCD로부터 비디오 신호를 입력받아 H.264 부호화기에 자연 영상을 전달하는 애플리케이션에서 입력 장치로서 사용됨. 또는 H.264 부호화기 IP의 실시간 동작 검증시(예로서, CIF: 30fps, VGA: 30fps)에 사용됨. 2) Camera input mode: Used as an input device in an application that receives a video signal from a CIS or CCD and delivers a natural image to an H.264 encoder. Or for real-time operation verification of H.264 encoder IP (eg CIF: 30fps, VGA: 30fps).
상술한 바와 같이, 본 발명에 따른 비디오 입력 장치는 자연 영상 입력을 위한 카메라 모드와 소정 파일 형태의 영상 입력을 위한 파일 모드를 동시에 지원할 수 있다. As described above, the video input apparatus according to the present invention may simultaneously support a camera mode for inputting a natural image and a file mode for inputting an image in a predetermined file format.
따라서, 본 발명에 따른 비디오 입력 장치는 디지털 비디오 저장기(DVR) 및 실시간 이동 단말기 애플리케이션에서 실시간 자연 영상 입력을 위한 카메라 모드를 지원하고, 또한 영상 컨텐츠의 부호화를 필요로 하는 멀티미디어 방송 애플리케이션에서는 소정 파일 형태의 영상 입력이 가능한 파일 모드를 지원한다. Accordingly, the video input device according to the present invention supports a camera mode for real-time natural video input in a digital video storage device (DVR) and a real-time mobile terminal application, and a predetermined file in a multimedia broadcasting application that requires encoding of image content. It supports file mode that allows video input.
또한, 본 발명에 따른 비디오 입력 장치는 RTL 시뮬레이션 또는 FPGA를 이용한 IP의 기능 검증 단계에서, 추가의 테스트용 인터페이스 장치 없이도 파일 모드 동작을 통해 소정 파일 형식의 다양한 테스트 영상 데이터를 입력받을 수 있으므로 영상 데이터 부호화기 IP의 기능 검증 시간을 단축시킬 수 있다.In addition, the video input device according to the present invention can receive various test image data in a predetermined file format through a file mode operation without an additional test interface device in an RTL simulation or an IP verification function using an FPGA. The function verification time of the encoder IP can be shortened.
따라서, 본 발명에 따른 비디오 입력 장치는 영상 데이터 부호화기 IP 개발에서부터 다양한 애플리케이션의 영상 데이터 부호화기까지 그 광범위한 이용이 가능하다. Therefore, the video input device according to the present invention can be widely used from the development of the image data encoder IP to the image data encoder of various applications.
이하, 첨부 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 시스템(100)을 개략적으로 도시하는 도면이다. 1 is a diagram schematically illustrating a
도 1에 도시하는 바와 같이, 본 발명에 따른 비디오 인코딩 시스템(100)은 파일 형식 및 신호 레벨의 비디오 데이터를 각각 제공하는 호스트 프로세서(10) 및 카메라 장치부(20)와; 호스트 시스템으로부터 동작에 필요한 초기 값들을 전달받기 위한 호스트 레지스터(31), 파일 형식이 YCbCr인 비디오 데이터를 호스트 프로세서 등의 파일 장치로부터 입력받기 위한 파일 입력 모드부(32), YCbCr 비디오 데이터를 실제 카메라인 CIS 또는 CCD로부터 신호 레벨로 입력받기 위한 카메라 입력 모드부(33), 상기의 파일 입력 모드와 카메라 입력 모드의 출력을 선택하기 위한 데이터 선택부(34), 및 준비된 데이터를 H.264 영상 데이터 부호화기(40)로 전송하기 위한 제어를 담당하는 H.264 판독 제어부(35)를 포함하는 비디오 입력부(30)와; H.264 영상 부호화기(40)를 포함한다. As shown in FIG. 1, the
또한, 본 발명에 따른 비디오 입력 장치는 상기 비디오 입력부(30)를 포함한다. In addition, the video input device according to the present invention includes the video input unit 30.
본 발명에 따른 비디오 인코딩 시스템 또는 비디오 입력 장치에서 실시간 자연 영상 입력을 위한 카메라 입력 모드와, 소정 파일 형태의 영상 입력을 위한 파일 입력 모드 중 1 모드의 선택은 호스트 레지스터(31)에서 카메라 입력 모드 또는 파일 입력 모드 각각에 해당하는 레지스터를 설정하는 것에 의해 이루어진다. Selection of a camera input mode for real-time natural video input and a file input mode for video input in a predetermined file format in the video encoding system or the video input device according to the present invention is performed by the camera input mode or the host register 31. This is done by setting a register corresponding to each of the file input modes.
도 2는 도 1의 비디오 인코딩 시스템 또는 비디오 입력 장치에 포함되는 파일 입력 모드부(32)를 구체적으로 도시하는 도면이다. 도 1 및 2를 참조하여 파일 입력 모드부(32)의 동작을 설명하면 다음과 같다.FIG. 2 is a diagram illustrating in detail a file
파일 입력 모드부(32)는 가상의 CIS 또는 CCD 카메라를 모델링하여 H.264 부호화기(40)에 YCbCr[4:2:0] 또는 [4:2:2] 형식의 데이터를 YCbCr[4:2:0] 형식으로 변환하여 전달하기 위한 것으로 내부적으로 30 f/s에 맞는 수직 동기 신호(Vsync)와 수평 동기 신호(Hsync)를 발생시킨다. Hsync 발생시점에서 호스트 프로세서(또는 파일 장치)(10)에 수평 라인 데이터를 보내라는 요청(write request) 신호를 발생시킨다. The file
YCbCr[4:2:0] 형식의 경우, YCbCr 픽셀로 구성되는 데이터와 Y 픽셀로만 구성되는, 두 종류의 수평 라인 데이터 집합이 H 라인 개수만큼 전달되어야 하므로, 호스트 프로세서(10)는 상기 수평 라인 데이터 요청 신호(또는 기록 신호 : write request)에 대응하여 먼저 영상의 하나의 라인에 해당하는 YCbCr 데이터를, 그 다음에는 Y 데이터만을 순차적으로 파일 입력 모드부(31)의 Y0, U, V 버퍼 및 Y1 버 퍼에 각각 기록한다. In the case of the YCbCr [4: 2: 0] format, since the two types of horizontal line data sets, consisting of data consisting of YCbCr pixels and only Y pixels, must be transferred by the number of H lines, the host processor 10 may be configured to perform the horizontal line. In response to the data request signal (or write request), the YCbCr data corresponding to one line of the image is first, and only the Y data is sequentially stored in the Y0, U, and V buffers of the file input mode unit 31. Write each to the Y1 buffer.
Y 버퍼는 더블 버퍼링(double buffering)을 위하여 두 개의 영역 제1 Y 버퍼 및 제2 Y 버퍼(Y0 및 Y1)로 구분되며 2 포트 SRAM(two-port SRAM)으로 구현되며, 첫 번째 라인 YCbCr 데이터가 제1 Y 버퍼인 Y0에, 그리고 다음 라인 데이터가 제2 Y 버퍼인 Y1에 번갈아 가며 기록되도록 구성된다. 첫 번째 YCbCr 데이터가 Y0, U 및 V 버퍼에 기록 완료되면 H.264 판독 제어부(35)에서는 H.264 부호화기(40)의 vim_dma(42)쪽으로 수평 라인 단위의 데이터를 가져가라는 신호(판독 요청 신호)를 발생시킨다. H.264 부호화기(40)는 상기 신호에 대응하여 내부 DMAC(43)를 통하여 DMA의 상태를 검사한 후 DMA 전송 개시를 위한 제어 신호를 발생하며, Y0, U 및 V 버퍼로부터 데이터를 32 비트 단위로 읽어서 프레임 메모리(frame memory : 50)에 기록을 한다. The Y buffer is divided into two regions, the first Y buffer and the second Y buffer (Y0 and Y1) for double buffering, and implemented as a two-port SRAM, and the first line YCbCr data is And alternately write the next line data to Y0, which is the first Y buffer, and to Y1, which is the second Y buffer. When the first YCbCr data has been written to the Y0, U, and V buffers, the H.264 readout control unit 35 takes the horizontal line data to the
호스트 프로세서(10)에 의해 두 번째 Y 데이터가 Y1 버퍼에 기록 완료되면 H.264 판독 제어부(35)는 위와 동일한 방식으로 판독 요청 신호를 H.264 부호화기(40)에 전달하고, H.264 부호화기(40)는 내부 DMAC(43)를 통해 Y1 버퍼로부터 32 비트 단위로 데이터를 읽어서 프레임 메모리(50)에 기록을 한다. When the second Y data is written to the Y1 buffer by the host processor 10, the H.264 read control unit 35 transmits a read request signal to the H.264 encoder 40 in the same manner as above, and the H.264 encoder 40 reads data from the Y1 buffer in units of 32 bits through the
다음으로, 도 3은 가상의 카메라 장치를 모델링하고 Vsync와 Hsync를 자동으로 발생시키기 위한 도 2의 파일 입력 모드부(32)의 파일 입력 제어부의 기능을 구성하는 상태 천이도를 도시한다. Next, FIG. 3 shows a state transition diagram for configuring a function of the file input control unit of the file
도 3의 파일 입력 제어부는 6개 천이 상태와 3개의 카운터 및 5개의 호스트 레지스터로 구성된다. 도 3의 호스트 레지스터의 기능을 설명하면, 'start'는 파 일 입력 제어부의 시작 명령을 전달하는 레지스터이고, 'Width_Hight'는 하나의 라인을 구성하는 픽셀 수와 한 화면을 구성하는 라인 수를 전달하기 위한 레지스터이고, 'V_high'는 Vsync 신호의 하이(high) 구간의 크기를, 'V_low_toH'는 Vsync 신호가 로우(low)로 된 시점에서 Hsync 신호가 하이로 될 때까지의 간격을, 'H_low'는 Hsync 신호가 로우로 된 시점에서 Hsync 신호가 하이로 될 때까지의 간격을 전달하기 위한 레지스터이다.The file input controller of FIG. 3 consists of six transition states, three counters, and five host registers. Referring to the function of the host register of Figure 3, 'start' is a register for transferring the start command of the file input control unit, 'Width_Hight' transfers the number of pixels constituting one line and the number of lines constituting one screen 'V_high' is the size of the high section of the Vsync signal, 'V_low_toH' is the interval from when the Vsync signal goes low until the Hsync signal goes high, and 'H_low 'Is a register to transfer the interval from when the Hsync signal goes low until the Hsync signal goes high.
다음으로, 각 상태에 대하여 보다 상세히 설명하면 'reset'은 초기 상태이고, 'Vsync'는 'start' 레지스터의 시작 명령에 따라 동작되는 천이 상태로서 Vsync 신호를 하이로 유지하며, LCPS 수를 카운트하기 위한 'Count_line' 카운터 값이 'V_high' 호스트 레지스터 값이 되면 다음 상태인 'VtoH' 상태로 이동한다. 'VtoH' 상태에서는 Vsync 신호가 로우로 되며 'Count_line' 카운터 값이 'V_low_toH' 호스트 레지스터 값이 될 때까지 유지된다. 'Hsync' 상태는 Hsync 신호를 하이로 만들기 위한 상태로 픽셀 수를 카운트하기 위한 'Count_pixel' 카운터 값이 'Width_Hight' 레지스터에서 정의된 폭(Width) 값이 될 때까지 유지된다. 'HtoH' 상태는 Hsync 신호가 로우로 된 시점에서 다시 하이로 될 때까지의 간격을 만들기 위한 상태이며, 'Count_pixel' 카운터 값이 'H_low' 레지스터 값이 될 때까지 유지된다. 수평 라인 개수를 카운트하기 위한 'Count_h' 카운터가 'Width_Hight' 레지스터에서 정의된 Hight 값이 될 때까지 'Hsync' 상태와 'HtoH 상태가 반복되어 한 프레임에 대한 Vsync 신호와 Hsync 신호를 만들어낸 후 'HtoV' 상태로 천이되고, 그 후 다시 프레임 시작 신호인 Vsync 신호를 생성하기 위한 'Vsync' 상태로 복귀된다. Next, in more detail for each state, 'reset' is the initial state, 'Vsync' is a transition state that is operated according to the start command of the 'start' register to keep the Vsync signal high and count the number of LCPS. When the 'Count_line' counter value becomes 'V_high' host register value, it moves to the next state 'VtoH' state. In the 'VtoH' state, the Vsync signal goes low and remains until the 'Count_line' counter value reaches the 'V_low_toH' host register value. The 'Hsync' state is used to make the Hsync signal high. The 'Hsync' state is maintained until the 'Count_pixel' counter value for counting the number of pixels reaches the width defined in the 'Width_Hight' register. The 'HtoH' state is to create the interval from when the Hsync signal goes low to high again, and is maintained until the 'Count_pixel' counter value becomes the 'H_low' register value. The 'Hsync' and 'HtoH' states are repeated until the 'Count_h' counter to count the number of horizontal lines reaches the Hight value defined in the 'Width_Hight' register to generate the Vsync and Hsync signals for one frame. It transitions to the HtoV 'state, and then returns to the' Vsync 'state for generating the Vsync signal, which is a frame start signal.
도 4는 VGA급(640×480)에서의 상술한 파일 입력 모드의 타이밍도를 나타내며, 파일 입력 모드부(32)의 동작을 도 3 및 4를 참조하여 설명하면 다음과 같다.FIG. 4 is a timing diagram of the file input mode described above in the
파일 입력 제어부는 도 3의 'start' 레지스터에 의해 시작 신호를 발생시켜 Vsync를 발생시킨다. Vsync가 로우이고, Hsync가 하이인 구간에 입력되는 파일 형식의 픽셀 데이터를 해당 버퍼에 실시간으로 저장(즉, 예를 들어, Y → Y0 버퍼, Cb → U 버퍼, Cr → V 버퍼, 그 다음 Y → Y1 버퍼 등의 순으로)하기 위한 버퍼 기록 신호를 순차적으로 발생시킨다. 첫 번째의 Vsync가 로우이고 Hsync가 하이인 구간에서 Y 데이터는 제1 Y 버퍼 Y0에, 그리고 Cb, Cr 데이터는 U, V 버퍼에 저장되고, 두 번째의 Vsync가 로우이고 Hsync가 하이인 구간에서는 YCbCr 데이터 중 Y 데이터만 제2 Y 버퍼 Y1에 저장되고 상기 두 동작이 번갈아가며 수행된다. The file input controller generates Vsync by generating a start signal by the 'start' register of FIG. 3. Stores pixel data in the file format input in the interval where Vsync is low and Hsync is high in the corresponding buffer (i.e. Y → Y0 buffer, Cb → U buffer, Cr → V buffer, then Y → sequentially generates buffer write signals for the Y1 buffer, and the like. In the period when the first Vsync is low and Hsync is high, the Y data is stored in the first Y buffer Y0, and the Cb and Cr data are stored in the U and V buffers. In the period when the second Vsync is low and Hsync is high, Only Y data of the YCbCr data is stored in the second Y buffer Y1, and the two operations are alternately performed.
첫 번째 YCbCr 데이터가 Y0, U 및 V 버퍼에 기록 완료되면, 도 4의 Hsync의 하강 시점에서 H.264 판독 제어부(35)단이 H.264 부호화기(40)의 vim_dma(42)쪽으로 수평 라인 단위의 데이터를 가져가라는 신호(판독 요청 신호)를 발생시킨다. 이 신호에 대응하여 H.264 부호화기(40)는 내부 DMAC(43)를 통하여 Y0, U 및 V 버퍼로부터 데이터를 읽어서 프레임 메모리(50)에 기록을 하고, 두 번째 Hsync의 하강 시점에서는 Y1로부터 데이터를 읽어서 프레임 메모리(50)에 기록을 한다. When the first YCbCr data has been written to the Y0, U, and V buffers, the H.264 read control unit 35 ends in the horizontal line unit toward the
도 5는 도 1의 비디오 입력부(30)에 포함된 카메라 입력 모드부(33)를 구체적으로 도시하는 도면이다. FIG. 5 is a diagram specifically illustrating a camera input mode unit 33 included in the video input unit 30 of FIG. 1.
비디오 입력부(30)의 카메라 입력 모드부(33)는 카메라 장치부(20)로부터 비 디오 데이터를 신호(VICLK, VIVSYNC, VIHSYNC, VIY[7:0]) 레벨로 입력받아 Y,U,V 버퍼에 저장하는데, 이를 위하여, 전체적인 동작을 제어하는 카메라 입력 제어부와 Y,U,V 버퍼 및 호스트 레지스터로 구성된다. The camera input mode unit 33 of the video input unit 30 receives the video data from the camera device unit 20 at the signal (VICLK, VIVSYNC, VIHSYNC, VIY [7: 0]) level and receives Y, U, and V buffers. To this end, it consists of a camera input control unit, Y, U, V buffer and host register to control the overall operation.
이러한 구성의 카메라 입력 모드부(33)의 동작을, 그 타이밍도를 도시하는 도 6과 함께 설명하면 다음과 같다. The operation of the camera input mode unit 33 having such a configuration will be described below with reference to FIG. 6 showing the timing diagram.
본 발명의 일 실시예에서 옴미비전(Omnivision)사의 OV9650 제품을 사용할 경우, 도 6과 같이 VIVSYNC 구간 동안에 U0Y0V0Y1U1Y2V1Y3… 형식의 8 비트 픽셀 데이터가 VICLK에 의해 동기화되어 바이트 단위로 VIY 버스를 통하여 입력된다. 제어부인 카메라 입력 제어부는 카메라 입력으로부터 입력되는 VIVSYNC 신호로부터 프레임 시작을 인지하고, VIHSYNC 신호가 하이인 구간에 입력되는 픽셀 데이터를 해당 버퍼에 실시간으로 저장(즉, 예를 들어, U0 → U 버퍼, Y0 → Y 버퍼, V0 → V 버퍼, Y1 → Y 버퍼 등의 순으로)하기 위한 버퍼 기록 신호를 순차적으로 발생시킨다. In an embodiment of the present invention, when using the OV9650 product of Omnivision Co., Ltd., the U0Y0V0Y1U1Y2V1Y3... Format 8-bit pixel data is synchronized via VICLK and entered via the VIY bus in bytes. The camera input control unit, which is a control unit, recognizes the start of a frame from the VIVSYNC signal input from the camera input, and stores pixel data input in a section where the VIHSYNC signal is high in a corresponding buffer in real time (that is, U0 to U buffer, A buffer write signal for Y0 → Y buffer, V0 → V buffer, Y1 → Y buffer, etc. is generated sequentially.
Y,U,V 버퍼 구현시 각 버퍼들은 8 비트 데이터 폭을 갖는 2 포트 SRAM(two port SRAM)을 4개씩 병렬 연결하여 8 비트 데이터 입력을 32 비트로 쉽게 변환 저장할 수 있도록 구현된다. Y 버퍼는 파일 입력 모드부(32)와 마찬가지로 더블 버퍼링을 위하여 두 개의 버퍼 Y0, Y1로 구분되며, 첫 번째 VIHSYNC 구간에서 Y 데이터는 첫 번째 버퍼 영역 Y0에, 그리고 U, V 데이터는 U, V 버퍼에 저장되고, 두 번째 VIHSYNC 구간에서는 Y 데이터는 두 번째 버퍼 영역 Y0에, 그리고 U, V 데이터는 U, V 버퍼에 저장되며 상기 두 동작이 번갈아가며 수행된다. When implementing the Y, U, and V buffers, each buffer is configured to easily convert and store 8-bit data inputs to 32 bits by connecting two 2-port SRAMs having 8-bit data widths in parallel. Like the file
Y0, U, V 버퍼에 데이터가 기록 완료되면, 도 6의 VIHSYNC의 하강 시점에서 H.264 판독 제어부(35)가 H.264 부호화기(40)의 vim_dma(42)쪽으로 수평 라인 단위의 데이터를 가져가라는 신호(판독 요청 신호)를 발생시킨다. 이 신호에 대응하여 H.264 부호화기(40)는 내부 DMAC(43)를 통하여 Y0, U, V 버퍼로부터 데이터를 32 비트 단위로 읽어서 프레임 메모리(50)에 기록을 한다. When data has been written to the Y0, U, and V buffers, the H.264 read control unit 35 brings the data in the horizontal line unit to the
두 번째 Y 데이터가 카메라 장치부(20)로부터 Y1 버퍼로 기록이 완료되면 H.264 판독 제어부(35)는 위와 같은 방법으로 판독 요청 신호를 H.264 부호화기(40)에 전달하고, H.264 부호화기(40)는 내부 DMAC(43)를 통하여 Y1 버퍼로부터 32 비트 단위로 데이터를 읽어서 프레임 메모리(50)에 기록을 한다.When the second Y data is completed from the camera device unit 20 to the Y1 buffer, the H.264 read control unit 35 transmits a read request signal to the H.264 encoder 40 in the same manner as described above. The encoder 40 reads data from the Y1 buffer in 32-bit units through the
이상 바람직한 실시예를 들어 본 발명을 상세히 설명하였다. 그러나, 해당 기술 분야의 숙련된 당업자라면 하기의 특허 청구의 범위에 기재된 본 발명의 요지의 범위 내에 있어 여러 가지 변형 실시가 가능함을 이해할 수 있을 것이다. The present invention has been described in detail with reference to preferred embodiments. However, one of ordinary skill in the art appreciates that various modifications can be made without departing from the spirit of the invention as set forth in the claims below.
도 1은 본 발명의 일 실시예에 따른 비디오 인코딩 시스템을 도시하는 도면이다. 1 is a diagram illustrating a video encoding system according to an embodiment of the present invention.
도 2는 도 1의 비디오 입력 장치에 포함된 파일 입력 모드부를 구체적으로 도시하는 도면이다. FIG. 2 is a diagram specifically illustrating a file input mode unit included in the video input apparatus of FIG. 1.
도 3은 도 2의 파일 입력 모드부의 파일 입력 제어부의 기능을 구성하는 상태 천이도를 도시한다. FIG. 3 is a state transition diagram constituting a function of a file input controller of the file input mode unit of FIG. 2.
도 4는 도 1의 VGA(640 × 480) 크기에 대한 파일 입력 모드 구현시의 타이밍도를 도시한다. FIG. 4 shows a timing diagram when implementing a file input mode for the VGA (640 × 480) size of FIG. 1.
도 5는 도 1의 비디오 입력 장치에 포함되는 카메라 입력 모드를 구체적으로 도시하는 도면이다. FIG. 5 is a diagram specifically illustrating a camera input mode included in the video input device of FIG. 1.
도 6은 도 1의 카메라 모드 구현시의 입력 신호 타이밍도를 도시한다. 6 illustrates an input signal timing diagram when the camera mode of FIG. 1 is implemented.
*도면 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
10 : 호스트 프로세서 20 : 카메라 장치부10: host processor 20: camera unit
30 : 비디오 입력부 31 : 호스트 레지스터30: video input unit 31: host register
32 : 파일 입력 모드부 33 : 카메라 입력 모드부32: file input mode unit 33: camera input mode unit
34 : 데이터 선택부 35 : H.264 판독 제어부 34: data selector 35: H.264 read control
40 : H.264 영상 부호화기 40: H.264 video encoder
41 : H.264 영상 부호화기의 제어부41: control unit of the H.264 video encoder
42 : H.264 영상 부호화기의 비디오 입력부를 위한 DMA 제어부42: DMA control unit for the video input unit of the H.264 video encoder
43 : H.264 영상 부호화기의 DMA 제어부43: DMA control unit of the H.264 video encoder
44 : H.264 영상 부호화기의 프레임 메모리 제어부44: frame memory controller of an H.264 video encoder
50 : H.264 영상 부호화기의 프레임 메모리50: frame memory of the H.264 video encoder
Claims (11)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070126488A KR100914919B1 (en) | 2007-12-07 | 2007-12-07 | Video input device for image encoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070126488A KR100914919B1 (en) | 2007-12-07 | 2007-12-07 | Video input device for image encoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090059566A true KR20090059566A (en) | 2009-06-11 |
KR100914919B1 KR100914919B1 (en) | 2009-08-31 |
Family
ID=40989647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070126488A KR100914919B1 (en) | 2007-12-07 | 2007-12-07 | Video input device for image encoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100914919B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101391614B1 (en) | 2012-08-23 | 2014-05-07 | 이종은 | A power generator |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100610900B1 (en) * | 2004-12-09 | 2006-08-09 | 엘지전자 주식회사 | Dynamic Control Method of Video Encoder |
KR100839800B1 (en) * | 2005-12-26 | 2008-06-20 | 오준수 | DMB terminal unit and peripheral for the same |
-
2007
- 2007-12-07 KR KR1020070126488A patent/KR100914919B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100914919B1 (en) | 2009-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8879858B1 (en) | Multi-channel bit packing engine | |
US10089710B2 (en) | Image capture accelerator | |
CN101536491B (en) | Imaging device and imaging method | |
WO2020063508A1 (en) | Smart terminal, image processing method and computer readable storage medium | |
CN102075758B (en) | Motion joint photographic experts group (MJPEG) video coding and decoding system based on system on chip (SOC) and method thereof | |
US6697106B1 (en) | Apparatus for processing image signals representative of a still picture and moving pictures picked up | |
CN101300828B (en) | Image signal processor and method for outputting deferred vertical synchronous signal | |
US7936375B2 (en) | Image processor, imaging device, and image processing system use with image memory | |
CN111406404B (en) | Compression method, decompression method, system and storage medium for obtaining video file | |
KR100914919B1 (en) | Video input device for image encoder | |
CN101867808B (en) | Method for accessing image data and relevant device thereof | |
KR100664550B1 (en) | Method for transferring encoded data and image pickup device performing the method | |
CN105376585B (en) | Method for improving video transmission speed by frame image combination | |
JP2006304203A (en) | Electronic camera with color difference interleave conversion function | |
JP4302661B2 (en) | Image processing system | |
JP4181701B2 (en) | Image processing device | |
Alonso et al. | Submicrosecond latency video compression in a low-end FPGA-based system-on-chip | |
US20100254618A1 (en) | Method for Accessing Image Data and Related Apparatus | |
JP2004096354A (en) | Apparatus and method for processing image and imaging apparatus | |
Min et al. | A real-time JPEG encoder for 1.3 mega pixel CMOS image sensor SoC | |
Huang et al. | Design and Implementation of Ultra-Low Delay Video Codec System Based on ZYNQ | |
JP4704525B2 (en) | Image signal processing device | |
JP2732940B2 (en) | Image compression / decompression device | |
Choi et al. | Image capture and storage system for digital TV without degrading image quality | |
CN115695915A (en) | Video data processing system, method, device and storage medium |
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: 20120730 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130729 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140728 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150728 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20160726 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20171122 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |