KR20160013468A - PCIe 인터페이스로 H.264 스트림 전송을 위한 시분할 전송 방법 및 시스템 - Google Patents

PCIe 인터페이스로 H.264 스트림 전송을 위한 시분할 전송 방법 및 시스템 Download PDF

Info

Publication number
KR20160013468A
KR20160013468A KR1020140094978A KR20140094978A KR20160013468A KR 20160013468 A KR20160013468 A KR 20160013468A KR 1020140094978 A KR1020140094978 A KR 1020140094978A KR 20140094978 A KR20140094978 A KR 20140094978A KR 20160013468 A KR20160013468 A KR 20160013468A
Authority
KR
South Korea
Prior art keywords
image data
pcie
codec
image
data
Prior art date
Application number
KR1020140094978A
Other languages
English (en)
Inventor
현상진
김제우
김은섭
Original Assignee
전자부품연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전자부품연구원 filed Critical 전자부품연구원
Priority to KR1020140094978A priority Critical patent/KR20160013468A/ko
Publication of KR20160013468A publication Critical patent/KR20160013468A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/44004Processing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

PCIe 인터페이스로 H.264 스트림 전송을 위한 시분할 전송 방법 및 시스템이 제공된다. 본 발명의 실시예에 따른 영상 데이터 인터페이스 방법은, 압축된 영상 데이터들을 각기 다른 버퍼들에 버퍼링하고, 버퍼링된 영상 데이터들을 큐잉하며, 큐잉된 영상 데이터들을 전송한다. 이에 의해, 동일한 PCIe DMA구조로 다양한 해상도의 영상 입력 장치를 지원하는 버스 구조를 제공할 수 있게 되어, 어떠한 영상의 사이즈를 받더라도 PCIe DMA 구조의 큰 변화 없이 설계가 가능하게 된다.

Description

PCIe 인터페이스로 H.264 스트림 전송을 위한 시분할 전송 방법 및 시스템{Time Division Transport Method and System for H.264 Stream Transport with PCIe Interface}
본 발명은 영상 전송에 관한 것으로, 더욱 상세하게는 H.264 스트림과 같이 압축된 영상을 전송하기 위한 전송을 위한 시분할 전송 방법 및 시스템에 관한 것이다.
카메라를 통해 입력된 영상을 PC로 편집하고 재생하기 위하여, 여러 종류의 영상 입력 장치가 개발된 바 있다. 입력 인터페이스로는 IEEE1394 및 SDI 인터페이스 등과 같이 영상 화질에 따라서 다양한 입력 방식들이 사용되고 있으나, PC와의 인터페이스는 대부분 PCIe 인터페이스를 사용하고 있다.
최근에 4k 및 8k 와 같은 초고화질 영상 기술이 증가하면서 초고화질 영상 입력 장치도 개발되고 있는데, 영상 데이터의 양이 대폭 증가하였기 때문에, 영상 입력 장치에 별도의 ASIC 코덱을 사용하거나, FPGA와 같은 칩을 사용하는 장치도 많이 나오고 있다.
다양한 형태의 영상 입력 장치가 계속해서 출시되고 있으나, 거의 모든 재품이 PCIe 인터페이스를 사용하고 있다. 하지만, PCIe DMA 인터페이스를 위한 표준 기술이 존재하지 않으며, 각 업체는 특화된 PCIe DMA기술을 사용한다. 그렇기 때문에, 새로운 기능을 위한 영상입력 장치를 만들기 위해서는 각 상황에 맞게 별도의 PCIe DMA 인터페이스를 설계해야 한다는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 다양한 해상도의 영상 데이터를 PC로 입력받기 위한 영상 입력 장치를 개발함에 있어, 어떠한 영상의 사이즈를 받더라도 PCIe DMA 구조의 큰 변화 없이 설계 가능하게 할 수 있도록 함으로서 효율적인 시스템 구축이 가능하도록 함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 영상 데이터 인터페이스 방법은, 압축된 영상 데이터들을 각기 다른 버퍼들에 버퍼링하는 단계; 버퍼링된 영상 데이터들을 큐잉하는 단계; 및 큐잉된 영상 데이터들을 전송하는 단계;를 포함한다.
그리고, 상기 영상 데이터들을 압축하는 코덱들과 상기 버퍼들은 일대일 매칭될 수 있다.
또한, 상기 큐잉단계는, 버퍼링된 영상 데이터에 상기 영상 데이터를 압축한 코덱의 ID가 수록된 헤더를 부가하여 큐잉할 수 있다.
그리고, 본 발명의 일 실시예에 따른 영상 데이터 인터페이스 방법은, 압축된 영상 데이터들을 수신하는 단계; 수신된 영상 데이터들을 큐잉하는 단계; 및 큐잉된 영상 데이터들을 버퍼링하여 코덱으로 전달하는 단계;를 더 포함할 수 있다.
또한, 상기 전달단계는, 큐잉된 영상 데이터의 헤더에 수록된 ID를 갖는 코덱에 매칭된 버퍼에 버퍼링할 수 있다.
한편, 본 발명의 다른 실시예에 따른, 영상 데이터 인터페이스 장치는, 압축된 영상 데이터들을 각각 버퍼링하는 버퍼들; 버퍼링된 영상 데이터들을 큐잉하는 스케줄러; 및 큐잉된 영상 데이터들을 전송하는 출력 모듈;을 포함한다.
이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, 동일한 PCIe DMA구조로 다양한 해상도의 영상 입력 장치를 지원하는 버스 구조를 제공할 수 있게 되어, 어떠한 영상의 사이즈를 받더라도 PCIe DMA 구조의 큰 변화 없이 설계가 가능하게 된다.
도 1은 본 발명이 일 실시예에 따른 영상 시스템에서 영상 데이터 압축 과정의 흐름을 나타낸 도면,
도 2는 본 발명이 일 실시예에 따른 영상 시스템에서 영상 데이터 압축해제 과정의 흐름을 나타낸 도면,
도 3은 컨트롤 버스 구조의 설명에 제공되는 도면, 그리고,
도 4는 스트림 버스 구조의 설명에 제공되는 도면이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 1은 본 발명이 적용가능한 영상 시스템을 도시한 도면이다. 본 발명이 적용가능한 영상 시스템은, 도 1에 도시된 바와 같이, 본 발명이 적용가능한 영상 시스템은, CODEC(110)과 PICe 인터페이스(120)를 포함한다.
CODEC(110)은 다수의 CODEC들(111-1, 111-2, 111-3, ... 111-n) 및 CODEC 컨트롤러(113)를 포함한다. CODEC 컨트롤러(113)는 CODEC들(111-1, 111-2, 111-3, ... 111-n)의 영상 압축/해제 동작을 제어하기 위한 모듈이다.
CODEC들(111-1, 111-2, 111-3, ... 111-n)은 독립된 모듈이나 독립된 ASIC 칩으로 구현되며, 그 개수는 영상 시스템이 처리할 영상의 해상도에 따라 결정된다.
PICe 인터페이스(120)는 FIFO 버퍼들(121-1, 121-2, 121-3, ... 121-n), 스케줄러(123), PCIe-DMA 모듈(125) 및 PCIe 컨트롤러(127)를 포함한다.
FIFO 버퍼들(121-1, 121-2, 121-3, ... 121-n)은 영상 데이터가 임시 저장되는 장소로, CODEC들(111-1, 111-2, 111-3, ... 111-n)에 일대일로 매칭된다. 스케줄러(123)는 입력되는 영상 데이터를 순차적으로 큐잉하여 스케줄링한다. PCIe-DMA 모듈(125)은 CPU나 HDD 등과 영상 데이터 전달을 위한 인터페이스를 제공하는 출력 모듈이다.
도 1에는 CODEC(110)에서 압축된 영상 데이터를 PICe 인터페이스(120)를 통해 CPU나 HDD로 전달하는 흐름을 나타나 있다. 이하에서, 이 과정에 대해 상세히 설명한다.
먼저, 마스터로 동작하는 PCIe 컨트롤러(127)가 슬레이브로 동작하는 CODEC 컨트롤러(113)에 영상 데이터 전송을 명령한다. 영상 데이터 전송 명령은 PCIe 컨트롤러(127)가 CODEC 컨트롤러(113)의 레지스터에 전송 명령 값을 적용하는 방식으로 이루어진다.
이에, CODEC 컨트롤러(113)는 CODEC들(111-1, 111-2, 111-3, ... 111-n)이 영상 데이터를 압축하도록 제어한다. CODEC들(111-1, 111-2, 111-3, ... 111-n)에 의해 압축된 영상 데이터는 매칭된 FIFO 버퍼들(121-1, 121-2, 121-3, ... 121-n)에 전달되어 버퍼링된다.
CODEC들(111-1, 111-2, 111-3, ... 111-n)과 FIFO 버퍼들(121-1, 121-2, 121-3, ... 121-n)은 32비트 버스를 통해 연결되며, 각각에 대해 별도의 버스를 사용하여, 데이터 충돌이 발생하지 않도록 한다.
스케줄러(123)는 FIFO 버퍼들(121-1, 121-2, 121-3, ... 121-n)을 주기적으로 모니터링하여, 버퍼링된 데이터를 큐(Queue)에 순차적으로 큐잉하여, 순차적으로 PCIe-DMA 모듈(125)에 전달한다.
구체적으로, 스케줄러(123)는 FIFO 버퍼에 버퍼링된 데이터가 224 비트를 초과하면 32 비트의 헤더를 부가하여, 256 비트의 패킷으로 생성한다. 헤더에는 영상 데이터를 압축한 CODEC(111-1, 111-2, 111-3, ... 111-n)의 고유 ID가 수록된다.
FIFO 버퍼들(121-1, 121-2, 121-3, ... 121-n)은 CODEC들(111-1, 111-2, 111-3, ... 111-n)에 일대일로 매칭되어 있기 때문에, 큐잉할 영상 데이터가 어느 FIFO 버퍼에 있었던 것인지 파악하면, 영상 데이터를 압축한 CODEC의 ID를 파악할 수 있다.
PCIe-DMA 모듈(125)은 스케줄러(123)로부터 전달되는 영상 데이터를 CPU나 HDD 등에 전달한다.
도 2에는 CPU나 HDD 등으로부터 PICe 인터페이스(120)에 전달된 영상 데이터를 CODEC(110)이 압축하는 과정에 대한 흐름이 나타나 있다. 이하에서, 이 과정에 대해 상세히 설명한다.
먼저, PCIe 컨트롤러(127)가 CODEC 컨트롤러(113)에 영상 데이터 수신을 명령한다. 영상 데이터 수신 명령은 PCIe 컨트롤러(127)가 CODEC 컨트롤러(113)의 레지스터에 수신 명령 값을 적용하는 방식으로 이루어진다.
다음, PCIe-DMA 모듈(125)은 CPU나 HDD 등으로부터 수신되는 영상 데이터를 스케줄러(123)에 전달한다. 그러면, 스케줄러(123)는 수신되는 영상 데이터를 큐에 순차적으로 큐잉한다.
그리고, 스케줄러(123)는 큐잉된 영상 데이터의 헤더에 수록되어 있는 CODEC의 ID를 판별하고, 해당 CODEC에 매칭된 FIFO 버퍼에 영상 데이터를 전달한다. 단, 영상 데이터 전달은, 해당 FIFO 버퍼가 비어 있는 경우에 수행된다. 이를 위해, 스케줄러(123)는 해당 FIFO 버퍼를 주기적으로 모니터링한다.
스케줄러(123)에 의해 FIFO 버퍼들(121-1, 121-2, 121-3, ... 121-n)에 저장된 영상 데이터는 매칭된 CODEC들(111-1, 111-2, 111-3, ... 111-n)로 전달된다. 이에, CODEC들(111-1, 111-2, 111-3, ... 111-n)은 전달받은 영상 데이터를 압축해제한다.
도 1과 도 2를 통해 확인할 수 있는 바와 같이, CODEC(110)과 PICe 인터페이스(120) 간의 버스는, 스트림 버스와 컨트롤 버스로 구성된다.
컨트롤 버스는 PCIe 컨트롤러(127)와 CODEC 컨트롤러(113) 간의 명령 전달을 위한 버스이다. 컨트롤 버스의 구조를 도 3에 나타내었다. 도 3에 도시된 바와 같이, 컨트롤 버스는 각 어드레스로 접근하기 위한 어드레스 버스, 데이터 버스 및 컨트롤을 위한 핀으로 구성된다. 도 3의 버스 구조는 컨트롤 레지스터가 32비트 어드레스와 32비트 데이터로 구성된 경우를 상정하였다.
스트림 버스는 FIFO 버퍼들(121-1, 121-2, 121-3, ... 121-n)과 CODEC들(111-1, 111-2, 111-3, ... 111-n) 간의 영상 데이터 전달을 위한 버스로, 해당 버퍼와 CODEC 마다 독립적으로 구성되어 있다.
스트림 버스의 구조를 도 4에 나타내었다. 도 4에서는 4개의 CODEC을 사용하는 경우를 상정하였는데, 이 경우 스트림 버스는 도 4에 도시된 바와 같이 2 비트 어드레스 버스와 32 비트 데이터 버스를 사용한다. 어드레스 버스는 CODEC의 고유 어드레스를 나타낸다.
위 실시예에서 언급한 PCIe 인터페이스는 영상 전송 인터페이스 방식의 일예로 본 발명의 기술적 사상은 그 밖의 다른 인터페이스에도 적용될 수 있음은 물론이다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
110, 111-1, 111-2, 111-3, ... 111-n : CODEC
113 : CODEC 컨트롤러 120 : PICe 인터페이스
121-1, 121-2, 121-3, ... 121-n : FIFO 버퍼
123 : 스케줄러 125 : PCIe-DMA 모듈
127 : PCIe 컨트롤러

Claims (6)

  1. 압축된 영상 데이터들을 각기 다른 버퍼들에 버퍼링하는 단계;
    버퍼링된 영상 데이터들을 큐잉하는 단계; 및
    큐잉된 영상 데이터들을 전송하는 단계;를 포함하는 것을 특징으로 하는 영상 데이터 인터페이스 방법.
  2. 제 2항에 있어서,
    상기 영상 데이터들을 압축하는 코덱들과 상기 버퍼들은 일대일 매칭되어 있는 것을 특징으로 하는 영상 데이터 인터페이스 방법.
  3. 제 2항에 있어서,
    상기 큐잉단계는,
    버퍼링된 영상 데이터에 상기 영상 데이터를 압축한 코덱의 ID가 수록된 헤더를 부가하여 큐잉하는 것을 특징으로 하는 영상 데이터 인터페이스 방법.
  4. 제 2항에 있어서,
    압축된 영상 데이터들을 수신하는 단계;
    수신된 영상 데이터들을 큐잉하는 단계; 및
    큐잉된 영상 데이터들을 버퍼링하여 코덱으로 전달하는 단계;를 더 포함하는 것을 특징으로 하는 영상 데이터 인터페이스 방법.
  5. 제 4항에 있어서,
    상기 전달단계는,
    큐잉된 영상 데이터의 헤더에 수록된 ID를 갖는 코덱에 매칭된 버퍼에 버퍼링하는 것을 특징으로 하는 영상 데이터 인터페이스 방법.
  6. 압축된 영상 데이터들을 각각 버퍼링하는 버퍼들;
    버퍼링된 영상 데이터들을 큐잉하는 스케줄러; 및
    큐잉된 영상 데이터들을 전송하는 출력 모듈;을 포함하는 것을 특징으로 하는 영상 데이터 인터페이스 장치.
KR1020140094978A 2014-07-25 2014-07-25 PCIe 인터페이스로 H.264 스트림 전송을 위한 시분할 전송 방법 및 시스템 KR20160013468A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140094978A KR20160013468A (ko) 2014-07-25 2014-07-25 PCIe 인터페이스로 H.264 스트림 전송을 위한 시분할 전송 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140094978A KR20160013468A (ko) 2014-07-25 2014-07-25 PCIe 인터페이스로 H.264 스트림 전송을 위한 시분할 전송 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20160013468A true KR20160013468A (ko) 2016-02-04

Family

ID=55356180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140094978A KR20160013468A (ko) 2014-07-25 2014-07-25 PCIe 인터페이스로 H.264 스트림 전송을 위한 시분할 전송 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20160013468A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943726A (zh) * 2017-11-16 2018-04-20 郑州云海信息技术有限公司 一种基于PCIe接口的数据传输系统及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943726A (zh) * 2017-11-16 2018-04-20 郑州云海信息技术有限公司 一种基于PCIe接口的数据传输系统及方法

Similar Documents

Publication Publication Date Title
US11966355B2 (en) Network adapter with a common queue for both networking and data manipulation work requests
US7594057B1 (en) Method and system for processing DMA requests
US9819604B2 (en) Real time network adaptive low latency transport stream muxing of audio/video streams for miracast
US8922713B1 (en) Audio and video synchronization
US20160352798A1 (en) Systems and methods for capture and streaming of video
US11962795B2 (en) Video frame codec architectures
WO2021073054A1 (zh) 数据处理的方法、装置、设备和存储介质
US7739428B2 (en) Memory control apparatus and memory control method
US8078771B2 (en) Sending large command descriptor block (CDB) structures in serial attached SCSI (SAS) controller
US11134114B2 (en) User input based adaptive streaming
KR20160013468A (ko) PCIe 인터페이스로 H.264 스트림 전송을 위한 시분할 전송 방법 및 시스템
US7911476B2 (en) Mulitmedia data processing apparatus with reduced buffer size
KR20170085213A (ko) 채널별 이종 동작을 위한 멀티채널 초고해상도 영상 획득/재생 시스템 및 방법
US20140293132A1 (en) Video clone for a display matrix
KR100623710B1 (ko) 하드웨어 리소스를 공유하여 복수의 동영상 콘텐츠를처리하는 방법
US10298935B2 (en) Method of managing network bandwidth by control of image compression rate and frame generation and image transmission system using the same
KR102684688B1 (ko) 비디오 프레임 코덱 아키텍처들
US11778211B2 (en) Parallel video parsing for video decoder processing
KR101212947B1 (ko) 데이터 전송 장치
CN105981364A (zh) 成像设备、成像方法和成像系统
JP2016116178A (ja) 通信装置及び通信方法
JP2014093699A (ja) データ転送方法
KR200422852Y1 (ko) 하드웨어 리소스를 공유하여 복수의 멀티미디어 데이터를처리하는 장치
KR101093808B1 (ko) 데이터 저장장치를 공유하는 네트워크 시스템 및 그 동작방법
JP2011022877A (ja) 情報処理装置および方法

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination