KR101848078B1 - 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법 - Google Patents

디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법 Download PDF

Info

Publication number
KR101848078B1
KR101848078B1 KR1020170055730A KR20170055730A KR101848078B1 KR 101848078 B1 KR101848078 B1 KR 101848078B1 KR 1020170055730 A KR1020170055730 A KR 1020170055730A KR 20170055730 A KR20170055730 A KR 20170055730A KR 101848078 B1 KR101848078 B1 KR 101848078B1
Authority
KR
South Korea
Prior art keywords
stl
packet
alp
unit
data
Prior art date
Application number
KR1020170055730A
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 KR1020170055730A priority Critical patent/KR101848078B1/ko
Application granted granted Critical
Publication of KR101848078B1 publication Critical patent/KR101848078B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법에 따르면, 디지털 방송용 전송 시스템에서 입력되는 다양한 형태의 미디어 데이터들을 미리 정해진 형태로 변환시켜 송신소로 전달시키기 위한 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법을 OS를 사용하지 않고 전부 하드웨어(full hardware)로 구현함으로써 시스템의 안정성이 향상되고, OS를 사용하지 않음으로써 빠른 부팅 시간 및 짧은 지연 시간이 소요되며, 이로 인한 소비 전력도 절감될 수 있다.

Description

디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법{Scheduler for Digital Broadcast and Transmission Method of Data using thereof}
본 발명은 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법에 관한 것으로, 더욱 상세하게는 디지털 방송용 전송 시스템에서 입력되는 다양한 형태의 미디어 데이터들을 미리 정해진 형태로 변환시켜 송신소로 전달시키기 위한 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법에 관한 것이다.
일반적으로 디지털 방송용 스케줄러(scheduler)는 OS(operating system) 기반에서 C언어를 이용하여 구현된 것이 대부분이었다.
이러한 OS는 window, Linux, embedded Linux 등 여러 가지가 있지만, OS에서 구현되는 스케줄러는 OS의 부팅 시간(booting time), C 언어에 의한 인코딩 및 디코딩의 순차적인 일의 처리로 인한 긴 지연 시간(long time latency), OS의 불안정성이 항상 수반되고, 아울러 OS가 포팅(porting)되는 CPU의 소비 전력이 큰 것도 문제가 된다.
OS의 부팅 시간이 오래 걸리면 정전이나 장비에 문제가 발생하였을 때, 정상 방송으로의 복원이 오래 걸리며, C언어를 적용함으로써 발생하는 긴 latency(입력에서 출력까지의 data 지연시간)는 방송국에서 시스템을 구축할 때 문제가 된다.
그리고 CPU의 소비전력이 크면 순간적인 정전에 대처할 수 있는 커패시터(capacitor)의 용량을 초과하게 되어 순간적인 정전을 막을 수 없게 되고, 결국 방송국 시스템이 불안해지는 문제점이 있었다.
대한민국 공개특허공보 공개번호 제10-2014-0125274호
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 디지털 방송용 전송 시스템에서 입력되는 다양한 형태의 미디어 데이터들을 미리 정해진 형태로 변환시켜 송신소로 전달시키기 위한 디지털 방송용 스케줄러 장치를 OS를 사용하지 않고 전부 하드웨어(full hardware)로 구현함으로써 시스템의 안정성이 향상되고, OS를 사용하지 않음으로써 빠른 부팅 시간 및 짧은 지연 시간이 소요되며, 이로 인한 소비 전력도 절감될 수 있는 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법을 제공하는 것이다.
상술한 목적을 달성하기 위한 본 발명의 디지털 방송용 스케줄러 장치는, 이더넷 칩을 통하여 입력되는 인터럽트를 확인하여 수신할 ALP 패킷이 존재함을 인식한 후 이더넷 칩의 버퍼에 저장된 ALP 패킷을 수신하는 ALP입력부; ALP입력부를 통해 수신된 ALP 패킷들을 수신지 어드레스에 따라서 분류하여 메모리부에 저장시키는 전송분류부; 메모리부에 ALP 패킷이 저장되면, 메모리부에 저장된 ALP 패킷을 STL생성부에서 읽을 수 있도록 허용하는 메모리관리부; 메모리부에 저장된 ALP 패킷을 읽어 들여 PLP 형태의 STL 패킷으로 생성시키는 STL생성부; STL생성부를 통해 생성된 STL 패킷으로 각각에 해당하는 수신지 어드레스를 부여하는 STL지정부; 및 STL지정부를 통하여 수신지 어드레스가 부여된 STL 패킷이 이더넷 칩을 통하여 전송되도록 하는 STL출력부를 포함하여 구성된다.
STL생성부는 길이 및 수신지 어드레스가 가변적인 ALP 패킷을 PLP 형태 별로 구분한 후에, 패킷 길이를 고정시켜서 STL지정부로 전달할 수 있다.
STL생성부는 ALP 패킷에 데이터가 없거나 또는 충분치 않으면, ALP 패킷에 널 데이터를 삽입한 후 PLP 형태 별로 구분하여 패킷 길이를 고정시킬 수 있다.
메모리부는 ALP 패킷에 데이터가 없는 상태 또는 충분치 않으면 이를 알리는 플래그가 구현될 수 있다.
상기 메모리부의 내부는 2포트 램으로 구성되어, 전송분류부로부터 전송된 ALP 패킷의 쓰기가 진행되는 동안 STL생성부를 통한 ALP 패킷의 읽기가 동시에 진행될 수 있다.
STL지정부는 STL생성부로부터 전달받은 PLP 형태의 패킷에서 STL 패킷을 구성한 후 각각에 해당하는 수신지 어드레스를 부여할 수 있다.
STL출력부는 수신지 어드레스가 부여된 STL 패킷을 이더넷 칩에 쓰기한 후 전송 명령을 전달하여 수신지 어드레스가 부여된 STL 패킷이 송신기로 전송 완료되도록 할 수 있다.
그리고 상술한 목적을 달성하기 위한 본 발명의 디지털 방송용 스케줄러 장치를 이용한 데이터 전송 방법은 (A) ALP입력부에서 이더넷 칩을 통하여 입력되는 인터럽트를 확인하여 수신할 ALP 패킷이 존재함을 인식한 후 이더넷 칩의 버퍼에 저장된 ALP 패킷을 수신하는 제1단계; (B) ALP입력부를 통해 수신된 ALP 패킷들을 전송분류부에서 수신지 어드레스에 따라서 분류하여 메모리부에 저장시키는 제2단계; (C) 메모리부에 ALP 패킷이 저장되면, 메모리관리부에서 메모리부에 저장된 ALP 패킷을 STL생성부에서 읽을 수 있도록 허용하는 제3단계; (D) STL생성부에서 메모리부에 저장된 ALP 패킷을 읽어 들여 PLP 형태의 STL 패킷으로 생성시키는 제4단계; (E) STL지정부에서 STL생성부를 통해 생성된 STL 패킷으로 각각에 해당하는 수신지 어드레스를 부여하는 제5단계; (F) STL지정부를 통해 수신지 어드레스가 부여된 STL 패킷이 STL출력부에 의해 이더넷 칩을 통하여 전송되도록 하는 제6단계를 포함한다.
상기 제4단계에서는 길이 및 수신지 어드레스가 가변적인 ALP 패킷을 PLP 형태 별로 구분한 후에, 패킷 길이를 고정시켜서 STL지정부로 전달하는 단계를 포함할 수 있다.
상기 제4단계에서는 ALP 패킷에 데이터가 없거나 또는 충분치 않으면, ALP 패킷에 널 데이터를 삽입한 후 PLP 형태 별로 구분하여 패킷 길이를 고정시키는 단계를 포함할 수 있다.
상기 제4단계에서는 메모리부에 ALP 패킷 데이터가 없는 상태 또는 충분치 않으면 이를 플래그를 통하여 알리도록 하는 단계를 포함할 수 있다.
상기 제4단계에서는 전송분류부로부터 전송된 ALP 패킷의 쓰기가 진행되는 동안 STL생성부를 통한 ALP 패킷의 읽기가 동시에 진행되는 단계를 포함할 수 있다.
상기 제5단계에서는 STL생성부로부터 전달받은 PLP 형태의 패킷에서 STL 패킷을 구성한 후 각각에 해당하는 수신지 어드레스를 부여하는 단계를 포함할 수 있다.
상기 제6단계에서는 수신지 어드레스가 부여된 STL 패킷을 이더넷 칩에 쓰기한 후 전송 명령을 전달하여 수신지 어드레스가 부여된 STL 패킷이 송신기로 전송 완료되도록 하는 단계를 포함할 수 있다.
이상에서 설명한 바와 같은 본 발명의 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법에 따르면, 디지털 방송용 전송 시스템에서 입력되는 다양한 형태의 미디어 데이터들을 미리 정해진 형태로 변환시켜 송신소로 전달시키기 위한 디지털 방송용 스케줄러 장치를 OS를 사용하지 않고 전부 하드웨어로 구현함으로써 시스템의 안정성이 향상되고, OS를 사용하지 않음으로써 빠른 부팅 시간 및 짧은 지연 시간이 소요되며, 이로 인한 소비 전력도 절감될 수 있는 효과가 있다.
도 1은 본 발명의 일실시예에 따른 프로토콜 스택을 나타낸 도면이며,
도 2는 본 발명이 일실시예에 따른 디지털 방송 시스템을 나타낸 도면이며,
도 3은 본 발명의 일실시예에 따른 디지털 방송용 스케줄러 장치를 나타낸 블록도이며,
도 4는 본 발명의 일실시예에 따른 디지털 방송용 스케줄러 장치를 통한 패킷 전송을 설명하기 위한 도면이며,
도 5는 본 발명의 일실시예에 따른 디지털 방송용 스케줄러 장치를 통한 패킷 전송 과정을 설명하는 플로우차트이며,
도 6은 본 발명의 일실시예에 따른 디지털 방송용 스케줄러 장치를 통한 패킷 전송의 지연 시간을 설명하기 위한 예시도이다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 상세히 설명하기 위하여, 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세하게 설명한다.
방송망과 인터넷 망을 동시에 활용하여 서비스 전송이 가능한 ATSC 3.0 형식의 전송 시스템으로써, ATSC 3.0의 프로토콜 스택은 도 1에 나타낸 바와 같이, 방송망에서는 UDP/IP 기반의 MMT(MPEG Media Transport) 프로토콜 혹은 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 프로토콜이 사용되며, 인터넷 망에서는 HTTP/TCP/IP 프로콜이 사용된다.
또한, IP 계층과 ATSC 3.0 물리 계층 사이의 인터페이스를 위하여 ALP(ATSC 3.0 Link-Layer Protocol)가 사용된다.
ATSC 3.0의 서비스를 구성하는 실시간 미디어 컴포넌트들은 MPEG MMT에 정의된 MPU(Media Processing Unit) 포맷 혹은 MPEG DASH를 기반으로 DASH-IF(DASH Industry Forum)에서 프로파일된 DASH segment 포맷을 따른다.
MPU로 캡슐화(encapsulation)된 실시간 미디어 컴포넌트들은 MMTP/UDP/IP를 사용하여 방송망으로 전송되며, DASH segment로 캡슐화된 실시간 미디어 컴포넌트들은 ROUTE/UDP/IP를 사용하여 방송망으로 전송되거나 HTTP/TCP/IP를 사용하여 인터넷망으로 전송된다.
ATSC3.0의 서비스는 비실시간(NRT, Non-Real Time) 컴포넌트(미디어, 파일 등)를 포함할 수 있으며, 이들 비실시간 컴포넌트는 ROUTE/UDP/IP를 사용하여 방송망으로 전송되거나 HTTP/TCP/IP를 사용하여 인터넷망으로 전송된다.
ATSC 3.0의 시그널링은 미리 약속된 IP 주소/UDP 포트로 바로 전송되는 저수준 시그널링(low-level signaling)과 MMT/ROUTE 프로토콜을 통하여 전송되는 서비스 계층 시그널링(serivce layer signaling)으로 나누어진다.
서비스 계층 시그널링을 획득하기 위하여 필요한 정보를 제공하는 저수준 시그널링의 일종인 SLT(Service List Table)를 통하여 제공된다.
본 발명의 일실시예에 따른 디지털 방송용 시스템은 ATSC 3.0 형식의 미디어 데이터를 송신기에 전송하기 위해 Studio Interface를 통해 IP 패킷 형태의 ALP(ATSC link-layer protocol) 패킷으로 입력받아 STL(studio-to-transmitter link) 인터페이스(interface)를 통해 BBP(baseband packet)를 출력하는 역할과, 전송 시나리오별 전송률과 수신 조건 파라미터 설정을 송신기에 해주는 브로드캐스트(broadcast) 게이트웨이를 필요로 하고, 이더넷 케이블을 통해서 입/출력 가능하도록 RTP/UDP/IP 형태의 표준 인터넷 프로토콜 기반 전달 형식을 사용하는 것으로, 도 2에 나타낸 바와 같이, AV인코더(AV encoder; 10), 멀티플렉스(multiplexer; 30), 시그널서버(signaling server; 50), 스케줄러(gateway; 100) 및 송신기(exciter; 70)를 포함하여 구성된다.
AV인코더(10)는 복수의 방송 카메라를 통하여 촬영된 오디오(audio) 및 비디오(video) 신호를 디지털 포맷(digital format)으로 각각 인코딩 하여 멀티플렉스(30)로 전송한다.
시그널서버(signaling server; 50)는 프로그램 편성표 및 방송 채널 정보 등의 방송 정보를 멀티플렉스(30)로 전송한다.
멀티플렉스(multiplexer; 30)는 AV인코더(10)로부터 전송되는 인코딩된 복수의 오디오 및 비디오 신호와 시그널서버(50)로부터 전송된 방송 정보를 다중화하여 하나의 출력으로 스케줄러(100)로 전송한다.
스케줄러(100)는 브로드캐스트 게이트웨이 역할을 하는 것으로, 멀티플렉스(30)로부터 입력되는 다양한 포맷과 다양한 데이터 전송량(data rate)을 갖는 오디오 및 비디오 신호들을 전송받아 IP 패킷 형태의 고정된 포맷과 고정된 데이터 전송량을 갖도록 변환하여 송신기(70)에 전송시킨다.
이때, 스케줄러(100)는 송신기(70)를 제어할 수 있는 시그널(signal) 정보와 타이밍(timing) 정보도 생성하여 송신기(70)로 전송한다.
송신기(70)는 방송국의 송신소에 해당하는 것으로, 스케줄러(100)로부터 전송된 디지털 신호를 RF 신호로 변환하여 전송한다.
상기 스케줄러(100)는 도 3에 나타낸 바와 같이, ALP입력부(110), 전송분류부(PLP demuxing; 120), 메모리부(FIFO; 130), 메모리관리부(FIFO manager; 140), STL생성부(STL generator; 150), STL지정부(PLP muxing; 160) 및 STL출력부(170)를 포함하여 구성되는 것으로, OS를 사용하지 않고 전부 하드웨어(full hardware)로 구현하여 시스템의 안정성이 향상되고, OS를 사용하지 않음으로써 빠른 부팅 시간 및 짧은 지연 시간이 소요될 수 있다.
ALP입력부(110)는 외부의 이더넷 칩(Ethernet chip)을 통하여 입력되는 IP 패킷 형태의 ALP(ATSC 3.0 Link-layer Protocol) 패킷을 수신하는 것으로, 이더넷 칩의 제어 레지스터(control register)를 세팅(setting)하며, 이더넷 칩에서 입력되는 인터럽트(interrupt) 신호를 확인하여 수신할 ALP 패킷이 존재함을 인식한 후 이더넷 칩의 버퍼(buffer)에 저장된 ALP 패킷을 읽어온다(S110).
참고로, ALP 패킷은 ALP 헤더와 페이로드로 구성된다.
상기 ALP 헤더는 그 역할에 따라 다시 기본 헤더, 부가 헤더, 선택 헤더로 나눌 수 있다.
상기 ALP 헤더는 반드시 기본 헤더를 포함하며, 부가 헤더의 존재 여부는 기본 헤더의 제어 필드 값에 따라 달라질 수 있고, 부가 헤더의 제어 필드를 사용하여 선택 헤더의 존재 유무를 선택 할 수 있다.
ALP 패킷은 약 1ms 동안 하나의 패킷이 입력되므로, 이더넷 칩에서 하나의 ALP 패킷을 받아서 인터럽트를 발생시키는데 걸리는 시간은 하나의 ALP 패킷 길이 시간이다.
방송 채널(channel)은 복수의 PLP로 구성될 수 있으며, 이런 경우, 입력되는 ALP 패킷들은 수신지 어드레스(destination address)에 따라서 전송될 PLP(Physical Layer Pipes)들이 구분된다.
이에, 전송분류부(120)는 ALP입력부(110)를 통해 수신된 ALP 패킷들을 수신지 어드레스에 따라서 구분하여 FIFO(130)에 저장시킨다(S120).
이더넷 칩은 고속의 데이터 송수신을 위하여 2Byte 단위로 동작을 하며, 이더넷 칩 내부의 버퍼에도 2byte 단위로 데이터가 저장된다.
그러므로 ALP입력부(110)에서 FIFO(130)에 데이터를 저장하는데 걸리는 시간은 하나의 ALP 패킷 길이의 절반이 된다.
FIFO(130)는 입력되는 순서대로 출력되는 메모리이며, 순차적으로 데이터(data)가 저장 및 출력되므로 별도의 어드레스 라인(address line)이 필요 없다.
한편, 저장 공간이 비어있는 상태(empty)인 경우에는 데이터를 읽어 가면 안 되므로, 비어있는 상태를 알려주는 핀이 구현되며, 비어있는 상태가 발생하는 것을 미리 방지하기 위하여 half empty, quarter empty를 알려주는 핀이 구현된다.
메모리관리부(140)는 FIFO(130)에 ALP 패킷이 저장되면, FIFO(130)에 저장된 ALP 패킷을 STL생성부(140)에서 읽을 수 있도록 허용한다(S130).
그리고 ALP 패킷을 입력받아 STL(Studio-to-Transmitter Link) 인터페이스(Interface)를 통해 베이스 밴드 프레임(BaseBand frame)을 출력하는데, STL 패킷이 베이스 밴드 프레임을 만들기 위하여 필요한 양보다 적은 양의 데이터가 FIFO(130)에 저장되어있는 경우에는, FIFO(130)가 비어있는 상태(empty)로 인식될 수 있으므로, 이런 경우에는 FIFO(130)에 저장된 양 만큼 베이스 밴드 프레임을 구성하는데 사용하도록 하고, 베이스 밴드 프레임의 나머지 부분은 널 데이터(null data)로 채우도록 알려준다.
STL생성부(150)는 FIFO(130)에 저장된 ALP 패킷을 읽어 들여 PLP 형태의 STL 패킷으로 생성시키는 것으로, 이때 입력되는 ALP 패킷은 길이도 가변적이고 수신지 어드레스도 가변적인 여러 가지 형태를 갖는다(S140).
멀티플렉서(30)를 통하여 스케줄러(100)에 입력되는 ALP 패킷은 속도도 가변적이고, 입력되는 타이밍도 불규칙적인 반면 스케줄러(100)에서 생성되는 STL 패킷은 끊임없이 계속 전송되어야 한다.
이렇게 입력과 출력의 데이터량과 입력되는 타이밍이 가변적인 환경에 대응하기 위하여 본 발명에서는 FIFO(130)의 내부를 2포트(port) 램(RAM)으로 구성하여, 읽기(read) 및 쓰기(write)가 시간적으로 겹쳐도 충돌 없이 메모리를 액세스(access)할 수 있도록 구성하여, 입력 및 출력간의 데이터량의 차이와 불규칙적으로 입력되는 타이밍에 대응할 수 있다.
또한 일반적인 FIFO 형태의 메모리는 FIFO가 가득 차야 유효한(valid) 출력이 나오지만 본 발명에서는 FIFO의 내부를 2포트 램으로 구성하여 FIFO에 저장된 데이터량에 상관없이 원하는 위치에 저장된 데이터를 읽어낼 수 있게 된다.
그리고 버퍼 제어(buffer control) 신호를 외부에서 모니터링(monitoring)함으로써 FIFO의 사용을 적절하게 제어할 수 있게 된다.
ALP 패킷이 입력되어 FIFO(130)에 쓰기가 진행되면, FIFO(130)의 버퍼 포인터(buffer pointer)와 쓰기 포인터(write pointer)를 증가시키는 과정을 수행하면서 FIFO(130)에 ALP 패킷이 저장되도록 한다.
ALP 패킷이 입력되지 않은 상태에서 STL 패킷을 생성하는 경우에는, FIFO(130)에 어느 정도의 데이터가 존재한다는 가정 하에, FIFO(130)의 버퍼 포인터는 감소시키고, 읽기 포인터(read pointer)는 증가시키는 과정을 수행하면서 FIFO(130)에 저장된 데이터를 읽어간다.
아울러, STL 패킷을 생성하면서 동시에 ALP 패킷이 입력되는 경우에는 쓰기 포인터와 읽기 포인터를 모두 증가시키고, 버퍼 포인터는 고정시키는 과정이 수행된다.
상기 쓰기 포인터와 읽기 포인터는 FIFO(130) 내부의 2포트 램의 읽기 및 쓰기 어드레스로 사용되며, 버퍼 포인터는 FIFO(130)의 half empty, quarter empty, empty 신호를 만들기 위한 제어 용도로 사용된다.
상술한 바와 같이, STL생성부(150)는 FIFO(130)에 저장된 ALP 패킷을 읽어오면서 동시에 STL 패킷을 생성할 수 있는 것으로, 도 4에 나타낸 바와 같이, 멀티플렉서(30)를 통해 입력되어 FIFO(130)에 저장된 ALP 패킷(133)에 ALP 헤더(Header; AH)를 추가하여, 송신기(70)가 수신할 수 있는 프레임 포맷인 베이스 밴드 프레임(153)을 생성한다.
ATSC 프레임 경계(frame boundary)는 1 ATSC 프레임 주기(frame duration)를 의미하는 것으로, 1 ATSC 프레임 주기 동안에 생성되어야 하는 베이스 밴드 프레임(153) 개수는 L1-parameter로 지정 된다.
이어서, ALP 패킷(133)으로부터 생성된 베이스 밴드 프레임(153)은 다시 베이스밴드 헤더(BH)를 추가하여 STL 패킷(155)에 나뉘어 실리게 된다.
이어서, STL 패킷은 다시 STL 헤더(SH)가 추가되고 ATSC 프레임 주기마다 L1-parameter와 T&M(time and management) 패킷(157)이 추가되어 전송된다.
L1-parameter는 ATSC 3.0 프레임 구조를 이루는 프리엠블(preamble) 패킷에 실려있고, 상기 T&M 패킷은 자체적으로 생성되는 패킷으로써, 송신기(70)에서 필요한 시간(time) 정보가 실려 있다.
이렇게 함으로써, STL생성부(150)는 길이 및 수신지 어드레스가 가변적인 ALP 패킷을 PLP 형태 별로 구분한 후에, 패킷 길이를 고정시켜서 STL지정부(160)로 전달할 수 있다.
한편, STL생성부(150)는 FIFO(130)에 데이터의 입력 유무와 상관없이 항상 STL 패킷을 생성하는 것으로, FIFO(130)에 저장된 ALP 패킷에 데이터가 있으면 STL 패킷에 데이터를 싣고, FIFO(130)에 저장된 ALP 패킷에 데이터가 없거나 또는 충분치 않으면, 자체적으로 ALP 패킷에 널 데이터를 삽입한 후 PLP 형태 별로 구분하여 패킷 길이를 고정시킨 후 STL 패킷을 생성함으로써 가변적인 입력 데이터 전송량에 대응하게 된다(S150).
ALP 패킷에 데이터가 없거나 또는 충분치 않으면 베이스 밴드 프레임을 구성할 수 없게 된다.
즉, STL생성부(150)에서 베이스 밴드 프레임을 구성하는데, 이때 FIFO(130)에 저장된 ALP 패킷 데이터가 충분하지 않으면 garbage 값이 나올 수 있으므로, 별도의 널 데이터를 삽입해서 베이스 밴드 프레임 형태로 형성해야 한다.
STL지정부(160)는 STL생성부(150)를 통해 생성된 STL 패킷으로 각각에 해당하는 수신지 어드레스를 부여하는 것으로, 이때 STL 패킷이 복수의 PLP로 구성된 경우, 각각의 PLP로 구성된 PLP를 모아서 STL을 구성하고 각각에 해당하는 수신지 어드레스를 부여한다.
STL출력부(170)는 STL지정부(160)를 통하여 수신지 어드레스가 부여된 STL 패킷이 이더넷 칩을 통하여 전송되도록 하는 것으로, 연결된 이더넷 칩의 제어 레지스터를 세팅한다(S160).
이어서, 전송해야 할 STL 패킷이 준비되었으면 이더넷 칩에 전송 데이터를 전송하면서 전송 명령을 같이 전송하여 STL 패킷의 전송이 완료될 수 있다.
참고로, 그리고 ALP 패킷 길이(length)가 홀수인 경우를 처리하기 위하여 ALP 패킷 데이터를 FIFO에 저장할 때 태그(tag)를 붙여서 STL생성부(150)가 읽어가야 할 ALP 패킷의 길이를 미리 알려주게 된다.
여기서, 태그(Tag)는 Byte 단위의 길이를 알려주며, 길이가 짝수인 경우에 STL생성부(150)는 L/2 만큼의 패킷을 읽어가며(2 Byte 단위), 길이가 홀수인 경우에는 STL생성부(150)는 L/2 + 1만큼의 패킷을 2Byte 단위로 읽게 된다.
STL 패킷을 전송하는 경우에도 마찬가지 기술이 적용된다.
도 6은 본 발명에 따른 스케줄러(100)를 통하여 입력되어 출력되는 패킷 전송의 지연 시간을 설명하기 위한 예시도이며, 수치를 계산하기 위하여, 이더넷 칩으로 입력되는 ALP 패킷의 길이는 1500 Byte, 평균 1msec에 1개의 ALP 패킷이 입력되며, ALP 패킷의 입력 속도는 12Mbps, STL 패킷 길이는 2000 Byte, STL 패킷의 간격은 1.2ms라고 가정하였다.
먼저, 이더넷 칩의 입력에서부터 FIFO(130)에 ALP 패킷이 저장될 때까지 소요되는 시간을 구하는 과정으로써, 이더넷 칩의 동작 클럭(clock)은 6.9MHz이며, 1클럭 주기(period)는 약144ns라고 가정하면, 이더넷 칩에서 1500Byte 길이의 ALP 패킷을 전달받아서 인터럽트(interrupt)까지 발생시키는데 소요되는 시간은 하나의 패킷 길이 시간이므로, 1500byte x 144ns = 216usec 이다.
이어서, 이더넷 칩에서 수신한 데이터를 ALP입력부(110)로 전송될 때는 2Byte 단위로 처리되고, ALP입력부(110)에서 FIFO(130)에 데이터를 저장하는데 걸리는 시간은 패킷 길이의 절반이므로, ALP입력부(110)에서 인터럽트를 인지하고, 이더넷 칩의 메모리에 저장된 ALP 패킷을 읽어와서 FIFO(130)에 데이터를 저장하는데 걸리는 시간은 750Byte x 144 = 108us 이다.
따라서 이더넷 칩의 입력에서부터 FIFO(130)에 ALP 패킷이 저장될 때까지 소요되는 시간은 하나의 패킷 길이와 패킷 길이의 절반의 합이므로 216us + 108us = 324us 이다.
이어서, STL생성부(150)에서 FIFO(130)에 저장된 ALP 패킷을 읽어가면서 STL 패킷을 생성한 후 이더넷 칩에 쓰기까지 소요되는 시간을 구하는 과정으로써, STL 패킷을 전송하기 위해 STL 패킷 타이밍을 기다리는 최대시간, 즉 STL 패킷의 간격은 1.2ms이고, STL 패킷을 이더넷 칩에 쓰기 하는데 걸리는 시간은 2000Byte/2 x 144ns = 144us 이므로, FIFO(130)에 저장된 ALP 패킷을 읽어가면서 STL 패킷을 생성한 후 이더넷 칩에 쓰기까지 소요되는 시간은 STL 패킷을 전송하기 위해 STL 패킷 타이밍을 기다리는 최대시간과 STL 패킷을 이더넷 칩에 쓰기 하는데 걸리는 시간의 합이므로 1.2ms + 144us = 1.344ms 이다.
이어서, 이더넷 칩이 STL 패킷을 전송하는데 소요되는 시간은 2000Byte x 144ns = 288us 이다.
따라서 본 발명에 따른 스케줄러(100)를 구성하는 입력단의 이더넷 칩으로 입력되어 출력단의 이더넷 칩으로 출력되는 패킷 전송의 소요시간은 324us + 1.344ms + 288us = 1.956ms 이며, 이것이 입력에서 출력까지의 최대 지연(latency)시간이다.
이상에서 설명한 바와 같은 본 발명에 따르면, 디지털 방송용 전송 시스템에서 입력되는 다양한 형태의 미디어 데이터들을 미리 정해진 형태로 변환시켜 송신소로 전달시키기 위한 디지털 방송용 스케줄러 장치를 OS를 사용하지 않고 전부 하드웨어(full hardware)로 구현함으로써 시스템의 안정성이 향상되고, OS를 사용하지 않음으로써 빠른 부팅 시간 및 짧은 지연 시간이 소요되며, 이로 인한 소비 전력도 감소될 수 있다.
한편, 본 발명에 따른 단계 S110 내지 단계 S160에 따른 디지털 방송용 스케줄러 장치를 이용한 데이터 전송 방법을 프로그램화하여 컴퓨터가 읽을 수 있도록 시디롬, 메모리, ROM, EEPROM 등의 기록매체에 저장시킬 수도 있다.
이상의 설명에서는 본 발명의 바람직한 실시예를 제시하여 설명하였으나, 본 발명이 반드시 이에 한정되는 것은 아니며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있음을 쉽게 알 수 있을 것이다.
100: 스케줄러 110: ALP입력부
120: 전송분류부 130: FIFO
140: 메모리관리부 150: STL생성부
160: STL지정부 170: STL출력부

Claims (15)

  1. 이더넷 칩을 통하여 입력되는 인터럽트를 확인하여 수신할 ALP 패킷이 존재함을 인식한 후 이더넷 칩의 버퍼에 저장된 ALP 패킷을 수신하는 ALP입력부; ALP입력부를 통해 수신된 ALP 패킷들을 수신지 어드레스에 따라서 분류하여 메모리부에 저장시키는 전송분류부; 메모리부에 ALP 패킷이 저장되면, 메모리부에 저장된 ALP 패킷을 STL생성부에서 읽을 수 있도록 허용하는 메모리관리부; 메모리부에 저장된 ALP 패킷을 읽어 들여 PLP 형태의 STL 패킷으로 생성시키는 STL생성부; STL생성부를 통해 생성된 STL 패킷으로 각각에 해당하는 수신지 어드레스를 부여하는 STL지정부; 및 STL지정부를 통하여 수신지 어드레스가 부여된 STL 패킷이 이더넷 칩을 통하여 전송되도록 하는 STL출력부를 포함하여 구성된 것을 특징으로 하며;
    상기 메모리부의 내부는 2포트 램으로 구성되어, 전송분류부로부터 전송된 ALP 패킷의 쓰기가 진행되는 동안 STL생성부를 통한 ALP 패킷의 읽기가 동시에 진행되는 것을 특징으로 한 디지털 방송용 스케줄러 장치.
  2. 청구항 1에 있어서, STL생성부는 길이 및 수신지 어드레스가 가변적인 ALP 패킷을 PLP 형태 별로 구분한 후에, 패킷 길이를 고정시켜서 STL지정부로 전달하는 것을 특징으로 한 디지털 방송용 스케줄러 장치.
  3. 청구항 2에 있어서, STL생성부는 ALP 패킷에 데이터가 없거나 또는 충분치 않으면, ALP 패킷에 널 데이터를 삽입한 후 PLP 형태 별로 구분하여 패킷 길이를 고정시키는 것을 특징으로 한 디지털 방송용 스케줄러 장치.
  4. 청구항 3에 있어서, 메모리부는 ALP 패킷에 데이터가 없는 상태 또는 충분치 않으면 이를 알리는 플래그가 구현된 것을 특징으로 한 디지털 방송용 스케줄러 장치.
  5. 삭제
  6. 청구항 1에 있어서, STL지정부는 STL생성부로부터 전달받은 PLP 형태의 패킷에서 STL 패킷을 구성한 후 각각에 해당하는 수신지 어드레스를 부여하는 것을 특징으로 한 디지털 방송용 스케줄러 장치.
  7. 청구항 1에 있어서, STL출력부는 수신지 어드레스가 부여된 STL 패킷을 이더넷 칩에 쓰기한 후 전송 명령을 전달하여 수신지 어드레스가 부여된 STL 패킷이 송신기로 전송 완료되도록 하는 것을 특징으로 한 디지털 방송용 스케줄러 장치.
  8. (A) ALP입력부에서 이더넷 칩을 통하여 입력되는 인터럽트를 확인하여 수신할 ALP 패킷이 존재함을 인식한 후 이더넷 칩의 버퍼에 저장된 ALP 패킷을 수신하는 제1단계; (B) ALP입력부를 통해 수신된 ALP 패킷들을 전송분류부에서 수신지 어드레스에 따라서 분류하여 메모리부에 저장시키는 제2단계; (C) 메모리부에 ALP 패킷이 저장되면, 메모리관리부에서 메모리부에 저장된 ALP 패킷을 STL생성부에서 읽을 수 있도록 허용하는 제3단계; (D) STL생성부에서 메모리부에 저장된 ALP 패킷을 읽어 들여 PLP 형태의 STL 패킷으로 생성시키는 제4단계; (E) STL지정부에서 STL생성부를 통해 생성된 STL 패킷으로 각각에 해당하는 수신지 어드레스를 부여하는 제5단계; (F) STL지정부를 통해 수신지 어드레스가 부여된 STL 패킷이 STL출력부에 의해 이더넷 칩을 통하여 전송되도록 하는 제6단계를 포함하는 것을 특징으로 하며;
    상기 제4단계에서는 전송분류부로부터 전송된 ALP 패킷의 쓰기가 진행되는 동안 STL생성부를 통한 ALP 패킷의 읽기가 동시에 진행되는 단계를 포함하는 것을 특징으로 하는 디지털 방송용 스케줄러 장치를 이용한 데이터 전송 방법.
  9. 청구항 8에 있어서, 상기 제4단계에서는 길이 및 수신지 어드레스가 가변적인 ALP 패킷을 PLP 형태 별로 구분한 후에, 패킷 길이를 고정시켜서 STL지정부로 전달하는 단계를 포함하는 것을 특징으로 하는 디지털 방송용 스케줄러 장치를 이용한 데이터 전송 방법.
  10. 청구항 9에 있어서, 상기 제4단계에서는 ALP 패킷에 데이터가 없거나 또는 충분치 않으면, ALP 패킷에 널 데이터를 삽입한 후 PLP 형태 별로 구분하여 패킷 길이를 고정시키는 단계를 포함하는 것을 특징으로 하는 디지털 방송용 스케줄러 장치를 이용한 데이터 전송 방법.
  11. 청구항 8에 있어서, 상기 제4단계에서는 메모리부에 ALP 패킷 데이터가 없는 상태 또는 충분치 않으면 이를 플래그를 통하여 알리도록 하는 단계를 포함하는 것을 특징으로 하는 디지털 방송용 스케줄러 장치를 이용한 데이터 전송 방법.
  12. 삭제
  13. 청구항 8에 있어서, 상기 제5단계에서는 STL생성부로부터 전달받은 PLP 형태의 패킷에서 STL 패킷을 구성한 후 각각에 해당하는 수신지 어드레스를 부여하는 단계를 포함하는 것을 특징으로 하는 디지털 방송용 스케줄러 장치를 이용한 데이터 전송 방법.
  14. 청구항 8에 있어서, 상기 제6단계에서는 수신지 어드레스가 부여된 STL 패킷을 이더넷 칩에 쓰기한 후 전송 명령을 전달하여 수신지 어드레스가 부여된 STL 패킷이 송신기로 전송 완료되도록 하는 단계를 포함하는 것을 특징으로 하는 디지털 방송용 스케줄러 장치를 이용한 데이터 전송 방법.
  15. 청구항 8항 내지 청구항 11항, 청구항 13항 및 청구항 14항 중 어느 한 항의 디지털 방송용 스케줄러 장치를 이용한 데이터 전송 방법을 실행하는 프로그램이 기록되어 컴퓨터로 읽을 수 있는 기록매체.
KR1020170055730A 2017-04-28 2017-04-28 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법 KR101848078B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170055730A KR101848078B1 (ko) 2017-04-28 2017-04-28 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170055730A KR101848078B1 (ko) 2017-04-28 2017-04-28 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법

Publications (1)

Publication Number Publication Date
KR101848078B1 true KR101848078B1 (ko) 2018-04-11

Family

ID=61975921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170055730A KR101848078B1 (ko) 2017-04-28 2017-04-28 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법

Country Status (1)

Country Link
KR (1) KR101848078B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000037705A (ko) * 1998-12-01 2000-07-05 정선종 저 전송률 비디오 코덱을 위한 움직임 예측장치
KR20060031423A (ko) * 2004-10-08 2006-04-12 주식회사 유비스토리지 홈 네트워크를 이용한 생성 데이터 저장 공간 할당 방법및 홈 게이트웨이 서버
JP2013520035A (ja) * 2010-02-26 2013-05-30 パナソニック株式会社 Tsパケットヘッダの圧縮

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000037705A (ko) * 1998-12-01 2000-07-05 정선종 저 전송률 비디오 코덱을 위한 움직임 예측장치
KR20060031423A (ko) * 2004-10-08 2006-04-12 주식회사 유비스토리지 홈 네트워크를 이용한 생성 데이터 저장 공간 할당 방법및 홈 게이트웨이 서버
JP2013520035A (ja) * 2010-02-26 2013-05-30 パナソニック株式会社 Tsパケットヘッダの圧縮

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"ATSC Candidate Standard:Scheduler / Studio to Transmitter Link", Advanced Television Systems Committee, 2016. 09. 30. 1부. *
"ATSC Candidate Standard:Scheduler / Studio to Transmitter Link",Advanced Television Systems Committee, 2016. 09. 30. *
일본 공표특허공보 특표2013-520035호(2013.05.30.) 1부. *

Similar Documents

Publication Publication Date Title
US20210250394A1 (en) Transmission method, reception method, transmission apparatus, and reception apparatus
EP0700610B1 (en) Method and device for transmitting data packets
CN102932676B (zh) 基于音视频同步的自适应带宽传输和播放方法
WO2001077852A1 (en) Transmitting mpeg data packets received from a non-constant delay network
JP6516767B2 (ja) Mmtpデカプセル化バッファのシグナリング及び動作
CN110312147A (zh) 业务数据传输的方法、系统与存储介质
CA2326669C (en) A packet protocol for encoding and decoding video data and data flow signals
US5935267A (en) Data communication method and a data communication system for use with a digital network
EP3777211B1 (en) Low-latency pipeline for media-to-ethernet frame packaging
CN112637144B (zh) 根据mmt协议传送与媒体数据有关的信息的装置和方法
CN113141520B (zh) 视频流传输方法、装置、电子设备及存储介质
KR101848078B1 (ko) 디지털 방송용 스케줄러 장치 및 이를 이용한 데이터 전송 방법
JP2003518874A (ja) データ通信
EP0873019A2 (en) Device and method for transmitting digital audio and video data
US6735223B1 (en) Method of controlling offset of time stamp and apparatus for transmitting packet using the same
EP2117145B1 (en) Method for synchronizing a data stream transmitted on a communications network, corresponding computer program product, storage means and receiver device
US6393033B1 (en) Method and apparatus for encapsulating ISDN data in a broadband network
US7215671B1 (en) Information processing apparatus and method
US10673994B2 (en) Network packet generator employing multiple header templates and configurable hardware registers
KR101999801B1 (ko) Atsc 3.0 기반의 지상파 방송용 이중화 시스템
CN106911545B (zh) 一种通过以太网传输st_bus数据的方法及装置
CN116318376B (zh) 利用虚拟信道传输遥控应用数据的方法、装置及存储介质
CN109756491A (zh) 数据发送及接收方法、装置、电子设备
US20210185562A1 (en) Radio communication device, radio communication system, and radio communication method
KR100636107B1 (ko) 실시간 데이터 처리 장치 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant