KR100684291B1 - Data broadcasting system for allocating variable bandwidth and method thereof - Google Patents
Data broadcasting system for allocating variable bandwidth and method thereof Download PDFInfo
- Publication number
- KR100684291B1 KR100684291B1 KR1020050077406A KR20050077406A KR100684291B1 KR 100684291 B1 KR100684291 B1 KR 100684291B1 KR 1020050077406 A KR1020050077406 A KR 1020050077406A KR 20050077406 A KR20050077406 A KR 20050077406A KR 100684291 B1 KR100684291 B1 KR 100684291B1
- Authority
- KR
- South Korea
- Prior art keywords
- application
- transmission
- data
- transmitted
- bandwidth
- Prior art date
Links
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23614—Multiplexing of additional data and video streams
- H04N21/23617—Multiplexing of additional data and video streams by inserting additional data into a data carousel, e.g. inserting software modules into a DVB carousel
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
도 1은 본 발명이 적용될 수 있는 디지털 방송 시스템을 도시한 블록도이다.1 is a block diagram illustrating a digital broadcasting system to which the present invention can be applied.
도 2는 본 발명의 실시예에 따른 데이터 방송 시스템을 도시한 블록도이다.2 is a block diagram illustrating a data broadcasting system according to an embodiment of the present invention.
도 3은 본 발명의 실시예에 따른 데이터의 인코더의 버퍼 모델을 도시한 블록도이다.3 is a block diagram illustrating a buffer model of an encoder of data according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 데이터 인코더의 구성을 도시한 블록도이다.4 is a block diagram showing the configuration of a data encoder according to an embodiment of the present invention.
도 5는 본 발명의 실시예에 따른 데이터 전송 방법을 도시한 흐름도이다.5 is a flowchart illustrating a data transmission method according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따라서 멀티 어플리케이션에 대해 동적으로 대역폭을 할당하여 전송하는 방법에 대해 도시한 흐름도이다.6 is a flowchart illustrating a method of dynamically allocating and transmitting bandwidth for multiple applications according to an embodiment of the present invention.
본 발명은 데이터 방송 송출시스템에서, 가변적인 전송 대역폭을 할당하여 복수개의 데이터 방송 컨텐츠를 가변적인 비트 전송율로 전송하는 시스템 및 그 방법에 관한 것이다.The present invention relates to a system and method for transmitting a plurality of data broadcast content at a variable bit rate by allocating a variable transmission bandwidth in a data broadcast transmission system.
더욱 상세하게는, 복수개의 데이터 방송 컨텐츠를 방송 컨텐츠의 수, 크기 및 중요도에 따라 미리 정해진 대역폭 내에서 컨텐츠마다의 동적인 대역폭을 할당하는 시스템 및 방법에 관한 것이다.More specifically, the present invention relates to a system and method for allocating a dynamic bandwidth for each content within a predetermined bandwidth according to the number, size and importance of the broadcast content.
도 1은 본 발명이 적용될 수 있는 디지털 방송 시스템을 도시한 블록도이다.1 is a block diagram illustrating a digital broadcasting system to which the present invention can be applied.
디지털 방송 시스템(10)은, AV 송출장치(11), 데이터 방송 송출 장치(500), 다중화 장치(12), 방송 송출 장치(13)를 포함한다.The
AV 송출장치(11)는 디지털 방송의 소스가 되는 오디오 및 비디오 신호를 부호화하여 송출한다.The AV transmitter 11 encodes and transmits audio and video signals serving as sources of digital broadcasting.
한편 데이터 방송 송출 장치(500)는, 상기 오디오 및 비디오 방송 외에 부가적으로 제공되는 데이터, 예를 들어 프로그램 가이드 및 양방향 데이터 통신 서비스 데이터 등을 부호화하여 송출한다.On the other hand, the data broadcast transmitting
다중화 장치(12)는 상기 오디오, 비디오 데이터와 데이터 방송용 데이터를 다중화하여 스트림을 형성한다. 상기 스트림은 패킷화되어, 일정 크기로 방송 송출장치(13)를 통하여 방송망(20)을 통해 방송 수신 장치(30)로 전송된다.The
한편, 지상파 디지털 방송은 8-VSB 변조방식을 이용하여 지상파 방송 송신소로부터 디지털 방송 수신기로 전송된다. 여기서, 8-VSB 변조방식은 19.392 Mbps 비트 전송율을 유지하며 트랜스포트 스트림(Transport Stream)을 전송한다. 각 방송사의 방송 환경에 따라 다르지만 이 대역폭 내에서 고화질(HD) 비디오 스트림이 17 ~ 18.5 Mbps의 전송 대역폭을 차지하고 오디오 스트림이 384 Kbps, 기타 PSI/PSIP 시스템 정보 테이블 섹션이 약 100 ~ 300 Kbps의 전송 대역폭을 사용한다. Meanwhile, terrestrial digital broadcasting is transmitted from a terrestrial broadcasting transmitter to a digital broadcasting receiver using 8-VSB modulation. Here, the 8-VSB modulation scheme maintains a 19.392 Mbps bit rate and transmits a transport stream. Depending on the broadcast environment of each broadcaster, within this bandwidth, a high-definition (HD) video stream occupies a transmission bandwidth of 17 to 18.5 Mbps, an audio stream of 384 Kbps, and other PSI / PSIP system information table sections of about 100 to 300 Kbps. Use bandwidth
따라서, 전술한 데이터 방송을 위해서는 약 700 Kbps ~ 1.5 Mbps의 전송 대역폭을 사용할 수 있다. Therefore, a transmission bandwidth of about 700 Kbps to 1.5 Mbps can be used for the aforementioned data broadcast.
따라서 미리 정해진 전송 대역폭의 환경에서 복수 개의 데이터 방송 컨텐츠를 전송하기 위해서는 효율적인 대역폭의 할당이 당업자에게는 중요한 과제가 된다. Therefore, in order to transmit a plurality of data broadcast contents in a predetermined transmission bandwidth environment, efficient bandwidth allocation is an important task for those skilled in the art.
즉, 데이터 방송의 경우에는 복수의 어플리케이션이 방송되는 경우에는 각각의 어플리케이션에 대한 대역폭을 동적으로 할당해주어야 하기 때문이다.That is, in the case of data broadcasting, when a plurality of applications are broadcast, bandwidth for each application must be dynamically allocated.
복수 어플리케이션 전송이라 함은 어느 특정한 시간축 상에서 하나 이상의 데이터 방송 어플리케이션을 전송하는 것을 말한다. 복수 어플리케이션 전송을 위해서는 전술한 가변 대역폭 할당방식의 전송기법이 요구된다. 하나의 어플리케이션만이 전송되는 경우는 데이터 방송 전송에 할당된 모든 대역폭을 하나의 어플리케이션의 전송에 사용하지만 어플리케이션의 개수가 증가하게 되면 복수개의 어플리케이션이 다중화되어 전송되므로 총 전송대역을 공유하여 전송되어야 한다. Multi-application transmission refers to transmission of one or more data broadcasting applications on a specific time axis. In order to transmit a plurality of applications, a transmission scheme using the aforementioned variable bandwidth allocation method is required. When only one application is transmitted, all bandwidth allocated for data broadcasting transmission is used for transmission of one application, but when the number of applications increases, multiple applications are multiplexed and transmitted, so the total transmission bandwidth must be shared. .
예를 들어 어느 순간에 하나의 어플리케이션이 전송되는 경우는 데이터 방송 전송에 할당된 모든 대역폭을 현재 전송중인 어플리케이션 전송에 할당할 수 있다. 이 후 새로운 서비스가 시작되면서 하나의 어플리케이션 전송이 추가되는 경우 기존에 전송중이던 하나의 어플리케이션의 전송 대역폭을 두 개의 어플리케이션이 공유하여 전송되어야 한다. For example, when one application is transmitted at a moment, all bandwidths allocated for data broadcast transmission may be allocated to the application transmission currently being transmitted. After that, when one application transmission is added as a new service starts, two applications must share the transmission bandwidth of one application that is being transmitted.
반대의 경우도 마찬가지로서 두 종류의 어플리케이션이 전송중이다가 하나의 어플리케이션이 중지되는 경우, 정지된 어플리케이션이 사용하던 대역폭은 남은 어 플리케이션이 모두 사용할 수 있도록 재 할당하는 것이 효율적인 방법이다. In the opposite case, when two types of applications are being transmitted and one application is stopped, it is an efficient way to reallocate the bandwidth used by the stopped applications for all remaining applications.
하지만, 종래 기술에서의 고정 비트율 전송 방식의 데이터 방송 부호기는 데이터 방송 관련 스트림별로 출력 비트율을 설정하였다. However, the data broadcasting encoder of the fixed bit rate transmission method according to the related art sets the output bit rate for each data broadcasting related stream.
하지만, 복수개의 어플리케이션이 동시에 전송되어야 하는 요구가 증가하면서 기존의 시스템에서 기능이 확장되어 복수로 전송하는 어플리케이션에 각각 출력 비트율을 고정하여 할당하게 된다. 각각의 어플리케이션에 대해 각각 출력 비트율을 고정해서 할당하는 경우 전체 데이터 방송을 전송할 수 있는 미리 정해진 대역폭 범위 내에서 각각의 어플리케이션 전송 비트율을 할당하게 된다. However, as the demand for a plurality of applications to be transmitted at the same time increases, the function of the existing system is expanded, and output bit rates are fixedly allocated to applications to be transmitted to a plurality of applications. When the output bit rate is fixedly allocated to each application, each application transmission bit rate is allocated within a predetermined bandwidth range in which the entire data broadcast can be transmitted.
하지만, 프로그램을 구성하는 차원에서 보면 방송 편성이 변할 때 마다 데이터 서비스의 구성이 달라지게 되고 이를 위한 어플리케이션 전송 개수도 달라진다. 따라서 하나의 데이터 스트림에 대해 고정적으로 전송 비트율을 설정하였을 때 총 5개의 어플리케이션을 전송할 수 있는 대역폭이 주어졌다면 5개를 모두 전송하는 순간은 주어진 대역폭을 최대로 활용하게 되는 상황이 된다. However, in terms of configuring a program, each time a broadcast configuration changes, the configuration of a data service is changed, and the number of application transmissions for this is also changed. Therefore, when a fixed transmission bit rate is set for one data stream, if a bandwidth for transmitting a total of five applications is given, the moment of transmitting all five uses the given bandwidth to the maximum.
그러나 여기서 프로그램 구성의 변화로 전송하는 어플리케이션의 개수가 줄어들게 되면 하나의 어플리케이션이 차지하던 대역폭은 사용하지 않는 유휴 대역폭으로 남게 된다. 이를 극복하기 위해서는 데이터 방송 구성이 변화할 때 마다 각각의 어플리케이션의 전송 비트율을 재조정하여야 하지만 종래 기술에 있어서는 유휴 대역폭에 대해서 활용하지 못하고 있는 문제점이 존재한다.However, if the number of applications to be transmitted decreases due to the change in program configuration, the bandwidth occupied by one application is left as unused idle bandwidth. In order to overcome this problem, the transmission bit rate of each application must be readjusted whenever the data broadcasting configuration is changed, but there is a problem that the conventional technology cannot utilize the idle bandwidth.
또한, 하나의 어플리케이션이 사용할 수 있는 전송 대역폭은 할당된 고정 대역폭으로 한정되어 데이터 방송 서비스를 품질을 향상 시킬 수 없는 한계가 존재하 며, 미리 정해진 개수의 어플리케이션보다 많은 수의 어플리케이션을 제공할 수 없는 한계가 존재한다.In addition, a transmission bandwidth that can be used by one application is limited to an allocated fixed bandwidth, so that there is a limit that cannot improve the quality of a data broadcasting service, and cannot provide more applications than a predetermined number of applications. There is a limit.
전술한 종래 기술의 문제점을 해결하기 위하여, 본 발명은 복수개의 데이터 방송 스트림에 가변적인 대역폭을 할당하는 방송 시스템 및 방법을 제공한다.In order to solve the above problems of the prior art, the present invention provides a broadcast system and method for allocating variable bandwidth to a plurality of data broadcast streams.
또한, 본 발명은 전송중인 복수개의 데이터 방송의 컨텐츠의 특성을 고려하며, 새로운 데이터 방송의 추가/종료 및 그 중요도 따라 동적으로 가변적인 대역폭을 할당하는 시스템 및 방법을 제공한다.In addition, the present invention considers the characteristics of the contents of a plurality of data broadcasts being transmitted, and provides a system and method for dynamically allocating a variable bandwidth according to addition / end of a new data broadcast and its importance.
전술한 기술적 과제를 달성하기 위하여, 본 발명의 특징에 따른 데이터 방송 방법은, a) 어플리케이션 시작 정보를 수신하여 어플리케이션을 등록하는 단계; b) 상기 어플리케이션 시작 정보에 기초하여 현재 상기 어플리케이션이 전송중인지를 판단하는 단계; c) 상기 어플리케이션이 현재 전송중이지 않은 경우에는, 전송되는 어플리케이션의 수, 각 어플리케이션 크기 및 어플리케이션의 중요도중 적어도 하나에 따라 대역폭을 할당하여 데이터 인코더를 생성하는 단계; d) 상기 할당된 대역폭에 따라 데이터 스트림을 전송하는 단계를 포함한다.In order to achieve the above technical problem, a data broadcasting method according to an aspect of the present invention, a) receiving the application start information and registering the application; b) determining whether the application is currently being transmitted based on the application start information; c) if the application is not currently being transmitted, allocating a bandwidth according to at least one of the number of applications transmitted, the size of each application, and the importance of the application to generate a data encoder; d) transmitting the data stream according to the allocated bandwidth.
또한, 본 발명의 특징에 따른 데이터 방송 시스템은, 송출매니저 및 제어 메시지 수신 대기열로부터 수신된 어플리케이션 시작/중지 정보에 응답하여 어플리케이션의 등록정보를 갱신하는 어플리케이션 등록부; 상기 어플리케이션에 등록된 어플리케이션 정보에 따라서, 미리 정해진 데이터 방송용 총 전송율에 대응하는 대역 폭에서 전체 어플리케이션의 수, 크기 및 중요도중 적어도 하나에 대한 현재 어플리케이션의 비율에 따라 대역폭을 할당하는 전송 비트율 설정부; 전송하고자 하는 어플리케이션 데이터를 반복 전송할 수 있도록 인코딩하는 오브젝트 카루셀 인코더; 상기 인코딩된 오브젝트 카루셀을 전송하는 오브젝트 카루셀 전송부; 및 전송중이던 어플리케이션의 종료 및 변경을 감시하여 상기 종료 및 변경 정보를 상기 제어 메시지 수신 대기열에 통보하는 전송 상태 감시부를 포함한다.In addition, the data broadcasting system according to an aspect of the present invention, the application registration unit for updating the registration information of the application in response to the application start / stop information received from the dispatch manager and the control message receiving queue; A transmission bit rate setting unit for allocating a bandwidth according to a ratio of a current application to at least one of the number, size, and importance of all applications in a bandwidth corresponding to a predetermined total data rate for data broadcasting according to application information registered in the application; An object carousel encoder for encoding the application data to be repeatedly transmitted; An object carousel transmitter for transmitting the encoded object carousel; And a transmission status monitoring unit for monitoring the termination and the change of the application being transmitted to notify the control message receiving queue of the termination and change information.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components unless otherwise stated.
또한, 명세서에서, 기술한 모듈(module)이란 "하드웨어 또는 소프트웨어의 시스템을 변경이나 플러그인 가능하도록 구성한 블록" 의미하는 것으로서, 즉 하드웨어나 소프트웨어에 있어 특정 기능을 하는 수행하는 하나의 단위 또는 블록을 의미한다.In addition, in the specification, the described module means "a block configured to change or plug in a system of hardware or software", that is, a unit or block that performs a specific function in hardware or software. do.
이제 본 발명의 실시예에 따른 데이터 방송 시스템 및 할당 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.A data broadcasting system and an allocation method according to an embodiment of the present invention will now be described in detail with reference to the drawings.
도 2는 본 발명의 실시예에 따른 데이터 방송 시스템을 도시한 블록도이다.2 is a block diagram illustrating a data broadcasting system according to an embodiment of the present invention.
본 발명의 실시예에 따른 데이터 방송 시스템은 송출 매니저(530), 운행 데이터 DB(520), 송출 컨텐츠 DB(521), 데이터 인코더(1000, 1001), PSIP 인코더(550, 551), 다중화기(560), 소프트웨어 다운로드 데이터 DB(570), 소프트웨어 다운로드 매니저(580)를 포함한다. 또한, 양방향 방송을 위한 양방향 데이터 처리기는 양방향 처리기(510), 실시간 처리기(511), 통합 업데이트 정보 처리기(512)를 포함한다.According to an embodiment of the present invention, a data broadcasting system includes a
여기서, 송출 매니저(530)는 전체 데이터 방송 송출 시스템의 제어, 채널 정보 관리, 스케줄 정보 관리 및 전자 프로그램 가이드(EPG) 정보 생성을 위한 정보 취합을 수행한다.Here, the
데이터 인코더(1000)는, 어플리케이션을 오브젝트 카루셀(OC)로 구성하기 위한 실질적인 부호화 동작을 수행한다. 본 발명의 실시예에서 데이터 인코더(1000)에서는, 오브젝트 카루셀(OC) 스트림 및 스트림 이벤트(STE) 섹션, 그리고 어플리케이션 정보 테이블 섹션(AIT Section) 데이터 스트림은 데이터 전송 블록(Data Sender)을 통해 반복적인 전송 동작이 이루어진다. 데이터 전송 블록은 데이터 전송 스레드(Data Sender Thread)를 생성하여 스레드 루프(Thread Loop)에서 반복 전송 동작을 수행하면서 비트 스트림 데이터의 총 전송량을 매 순간 계산하여 출력 데이터 스트림의 과잉 출력(Overflow) 및 부족 출력(Underflow) 현상이 일어나지 않도록 제어한다.The
PSIP 인코더(550)는 PSI/PSIP 정보의 생성 및 반복 전송을 수행한다. PSIP(Program and System Information Protocol)은 미국 ATSC의 디지털 방송 시스템 표준 규격으로서, 방송 수신기가 채널을 인식할 수 있는 채널 정보, 전자 프로그램 안내를 나타내는 EPG 정보, 방송 프로그램별 등급정보, 시스템 시간 정보 등을 수신기에 전달하는 역할을 한다. The
다중화기(560)는, 데이터 인코더(1000, 1001) 및 PSIP 인코더(550, 551)로부터 전송된 PSIP 데이터와 오브젝트 카루셀 정보를 다중화하여 스트림화 한다.The multiplexer 560 multiplexes and streams the PSIP data and the object carousel information transmitted from the
운행 데이터 DB(520) 및 송출 컨텐츠 DB(521)는 각각 방송 운행에 필요한 데이터 및 컨텐츠 데이터를 저장하여 송출 매니저(530)에 전달한다.The
소프트웨어 다운로드 DB(570)는 방송 수신기에서 방송 컨텐츠를 구동시킬 수 있는 소프트웨어를 제품사별, 컨텐츠별로 저장한다. The software download DB 570 stores software for driving broadcast content in a broadcast receiver for each product company and content.
소프트웨어 다운로드 매니저(580)는, 상기 소프트웨어를 제품사별로 컨텐츠별로 전송하고 업데이트 하는 동작을 관리하고, 상기 소프트웨어 및 업데이트 정보를 데이터 인코더(1000)에 전송한다.The
또한, 양방향 방송인 경우에는 공중망 또는 인터넷 망으로 이뤄진 리턴채널을 통해 가입자의 요청 및 응답을 실시간 양방향 처리하기 위한 양방향 처리기(510), 실시간 처리기(511), 통합 업데이트 정보 처리기(512)가 동적으로 생성된 데이터를 데이터 인코더(1000)에 전송하게 된다. In addition, in the case of bidirectional broadcasting, a
도 2에 도시된 시스템에 의해 생성된 데이터는, 트랜스포트 스트림에 미리 정해진 대역폭을 통해 수신 장치로 방송된다.The data generated by the system shown in FIG. 2 is broadcast to the receiving device through a predetermined bandwidth in the transport stream.
한편, 전술한 바와 같이, 데이터 방송은 복수개의 어플리케이션으로 구성될 수 있으며, 하나의 어플리케이션이 전송되는 동안, 다른 어플리케이션이 추가될 수도 있으며, 반대로 복수의 어플리케이션이 전송되는 중 일부 어플리케이션이 종료될 수도 있다. On the other hand, as described above, the data broadcast may be composed of a plurality of applications, while one application is transmitted, another application may be added, and conversely, some applications may be terminated while the plurality of applications are being transmitted. .
따라서 데이터 인코더는 데이터 전송을 위하여 버퍼 모델을 갖추고 있어야 어플리케이션의 시작 또는 정지시에 전송 비트율의 재조정이 가능하다.Therefore, the data encoder must have a buffer model for data transmission so that the transmission bit rate can be readjusted when the application starts or stops.
도 3은 본 발명의 실시예에 따른 데이터의 인코더의 버퍼 모델을 도시한 블록도이다.3 is a block diagram illustrating a buffer model of an encoder of data according to an embodiment of the present invention.
데이터 인코더에 포함된 버퍼 모델은, 데이터 전송 블록(100)과 AIT 테이블 전송 블록(150), 다중화기(160), 다중화기 출력버퍼(180), NIC 출력장치(170), ASI 출력 장치(190)를 포함한다.The buffer model included in the data encoder includes a
여기서 데이터 전송 블록(100)은 입력버퍼(110), 데이터 전송 스레드 수행부(120), 제 1 다중화기 버퍼(130)를 포함한다.The
데이터 전송 블록(100)은 데이터 전송 스레드 수행부(120)를 통해 데이터 전송 스레드를 생성하여 스레드 루프에서 반복 전송 동작을 수행한다. 데이터 전송 블록(100)은 전송되는 어플리케이션에 따라 복수개가 생성될 수 있다.The
송출 매니저 등을 통해 전송된 어플리케이션 데이터는 입력버퍼(110)에 일시 저장된다. 입력버퍼(110)에 저장된 데이터는 데이터 전송 스레드 생성부(120)에서 생성된 데이터 전송 스레드에 따라 전송된다. 여기서 데이터 전송 스레드는 할당된 전송 비트율, 입력버퍼(110)의 데이터 크기, 그리고 제 1 다중화기 버퍼(130)의 크 기에 따라서, 전송량을 조절하여 데이터를 전송하게 된다. Application data transmitted through the delivery manager or the like is temporarily stored in the
AIT 테이블 전송 블록(150)에서 전송된 어플리케이션 정보 테이블 정보는 다중화기(160)에서 어플리케이션 데이터와 다중화 되어, 다중화기 출력 버퍼(180)에 일시 저장된다.The application information table information transmitted from the AIT
다중화기 출력 버퍼(180)는 데이터 인코더의 출력 디바이스의 입력 버퍼로서 사용되고 출력 디바이스는 입력 버퍼에 데이터가 존재하면 이를 Best Effort 방식으로 전송하게 된다. 따라서 출력 비트율의 조정은 출력 디바이스 이전 단계에서 조절되고 이를 바탕으로 데이터 인코더의 출력 비트율이 조절된다.The
다중화기 출력 버퍼(180)에 저장된 데이터는 NIC (Network Interface Card) 출력장치(170)와 ASI (Actuator sensor interface) 출력장치(190)를 통해 출력된다.Data stored in the
이하, 데이터 인코더의 버퍼 모델을 기초로 하여, 복수의 어플리케이션의 전송을 위한 데이터 인코더의 구성을 상세히 설명한다.Hereinafter, the configuration of the data encoder for transmission of a plurality of applications will be described in detail based on the buffer model of the data encoder.
도 4는 본 발명의 실시예에 따른 데이터 인코더의 구성을 도시한 블록도이다.4 is a block diagram showing the configuration of a data encoder according to an embodiment of the present invention.
복수의 어플리케이션에 대해 가변 대역폭을 할당하는 본 발명의 데이터 인코더는, 제어 명령 수신 대기열(1002), 어플리케이션 등록부(1003), 패킷 식별자 할당/해제 모듈(1004), 전송 비트율 설정부(1005), 오브젝트 카루셀 인코더(1006), 전송 스레드(1007), 오브젝트 카루셀 전송부(1008), 전송 상태 감시부(1009)를 포함한다.The data encoder of the present invention, which allocates a variable bandwidth to a plurality of applications, includes a control
어플리케이션 등록부(1003)는 송출 매니저(530)로부터 전송된 어플리케이션의 구분키를 바탕으로 어플리케이션을 등록한다. 구분키 값으로는 Content ID, Application name, Application ID, Component Tag 등이 있다. The
한편, 어플리케이션 등록부(1003)에 어플리케이션이 등록되어 전송이 시작된 이후에는, 제어명령 수신 대기열(1002)로부터 어플리케이션의 갱신, 정지 등의 제어 명령을 처리할 때 사전 등록된 구분키를 바탕으로 제어동작을 수행하게 된다. On the other hand, after the application is registered in the
상기 어플리케이션 시작/정지 정보를 수신하였을 때, 어플리케이션 등록부(1003)는 AIT 테이블을 구성하기 위한 정보를 추가/삭제한다. 상기 AIT테이블은 어플리케이션의 시작 명령 또는 중요도, 사용자에게 보여지는 어플리케이션의 명칭등을 송출 매니저로부터 전송받아 구성된다.Upon receiving the application start / stop information, the
패킷 식별자 할당/해제 모듈(1004)은, 송출 매니저로부터 데이터 인코더의 시작 정보를 전달 받을 때, 데이터 인코더에서 부호화할 데이터의 스트림의 패킷 식별자(PID)의 범위를 할당 받는다. 여기서 패킷 식별자는, MPEG-2 TS(Transport Stream) 188Byte로 패킷화된 방송 데이터 스트림에 대해, 패킷마다 같은 종류의 데이터에 PID가 부여된다. 이후, 다중화(A/V/Data 스트림을 서로 섞음)되어 있는 스트림을 역다중화하기 위해서는 상기 PID를 이용하여 각각의 오디오,비디오, 데이터 스트림 등을 분리하게 된다. 또한, 패킷 식별자 할당/해제 모듈은 어플리케이션 정지 정보를 수신 받는 경우에는 사용하던 PID의 사용정보를 해제하여 이후 해당 PID를 다시 사용할 수 있게 한다.When the packet identifier assignment /
전송 비트율 설정부(1005)는 데이터 인코더 설정에 있어서 어플리케이션의 전송 비트율을 설정한다. 여기서, 총 전송 비트율은 어플리케이션이 추가 또는 감소되는 경우, 각각의 어플리케이션의 전송 비트율은 동적으로 변환하게 된다.The transmission bit
[수학식 1][Equation 1]
수학식 1에서와 같이, 전송 비트율은 데이터 전송을 수행하는데 걸린 시간에 대하여 전송한 데이터의 양을 산출하여 계산된다. 데이터 전송은 전술한 조건을 만족할 때 이루어지며 전송된 비트 스트림의 양을 소요된 시간으로 나누어 전송 비트율을 계산한다. 각각의 스트림의 전송 비트율의 합이 데이터 인코더 설정에서 설정되어 있는 총 비트율을 넘는 경우는 데이터 전송을 순간 중지하고, 총 비트율에 못 미치는 경우는 계속적인 전송을 시도하여 설정한 비트율로 전송이 이루어지도록 한다.As in Equation 1, the transmission bit rate is calculated by calculating the amount of data transmitted with respect to the time taken to perform data transmission. Data transmission is performed when the above conditions are met, and the transmission bit rate is calculated by dividing the amount of the transmitted bit stream by the time required. If the sum of the transmission bit rates of the streams exceeds the total bit rate set in the data encoder setting, the data transmission is temporarily stopped. If the sum of the transmission bit rates of the streams is less than the total bit rate, the transmission is continuously attempted so that the transmission is performed at the set bit rate. do.
각각의 어플리케이션에 대한 전송 비트율은 어플리케이션 전송을 시작하는 단계에서 결정된다. 1차적으로 새로운 어플리케이션에 대한 시작 명령과 함께 부호화 할 데이터를 전송받은 후 현재 전송 중인 어플리케이션의 총 용량과 새로 전송하여야할 데이터의 용량의 비례관계에 의해서 출력 비트율이 결정되고 이는 모든 어플리케이션이 동일한 시간에 수신되도록 보장할 수 있다.The transmission bit rate for each application is determined at the beginning of the application transmission. First, after receiving the data to be encoded together with the start command for a new application, the output bit rate is determined by a proportional relationship between the total capacity of the currently transmitting application and the capacity of the new data to be transmitted. Can be guaranteed to be received.
수학식 1에 의한 새로 전송이 시작되는 어플리케이션의 전송 비트율이 1차적으로 결정된다. 아울러 어플리케이션 시작시 데이터 방송 운영자에 의한 어플리케 이션 전송 가중치를 입력받게 된다. 방송 운영시 다른 어플리케이션 보다 우선적으로 수신되어야 하는 항목들은 가중도를 높게 설정하여 전송할 수 있다. According to Equation 1, a transmission bit rate of an application for which new transmission is started is primarily determined. In addition, the application transmission weight by the data broadcasting operator is received at the start of the application. Items that should be received prior to other applications during broadcast operation may be transmitted by setting a higher weighting factor.
가중치에 의한 비트율 재설정은 수학식 2 에 의해 계산된다. Bit rate reset by weight is calculated by Equation 2.
[수학식 2][Equation 2]
예를 들어, 실시간 뉴스나 속보, 퀴즈, 상품 주문등의 컨텐츠는 다른 어플리케이션보다 높은 중요도를 가지며, 일기 예보, 반복 뉴스, 프로그램 편성등은 상대적으로 낮은 중요도를 가지므로, 상기 중요도에 따른 가중치는 전술한 어플리케이션 구분키와 함께 어플리케이션 테이블에 저장될 수 있다.For example, content such as real-time news, breaking news, quizzes, product orders, etc. have a higher importance than other applications, and weather forecasts, recurring news, program programming, etc. have a relatively low importance, so the weight according to the importance is tactical It can be stored in the application table along with one application distinguishing key.
오브젝트 카루셀 인코더(1006)는 전송하고자 하는 어플리케이션 데이터를 오브젝트 카루셀로 부호화한다. 복수 어플리케이션이 전송되는 상황이므로 새로운 어플리케이션이 부호화 될 때 이미 전송중인 어플리케이션의 동작에 영향을 미치지 않도록 하기위해 새로운 어플리케이션의 부호화 동작은 오브젝트 카루셀 부호화 블록에서 별도의 스레드를 생성하여 부호화 동작을 수행한다. The
오브젝트 카루셀 인코더(1006)는, 다시 생성 결과물을 트랜스포트 스트림 패킷으로 패킷화하여 주기적으로 전송하는 동작을 위해 전송 스레드(OC Sender Thread)(1007)를 생성하고 생성된 전송 스레드는 오브젝트 카루셀 스트림을 주기적 으로 반복 전송하는 동작을 수행하게 된다.The
오브젝트 카루셀 전송부(1008)는 상기 생성된 전송 스레드(1007)를 이용하여 오브젝트 카루셀을 반복 전송한다. 여기서, 상기 전송 스레드는 오브젝트 카루셀의 반복 전송을 수행하면서, 해당 어플리케이션의 구성이 변경되는 경우에는 새로운 전송 스레드가 생성되어 갱신된다. 상기 전송 스레드가 생성되면, 기존에 전송중이던 오브젝트 카루셀의 스트림의 전송은 중지되고, 새로이 구성된 스트림의 전송을 시작한다.The
이를 위해, 전송 상태 감시부(1009)는, 전송중이던 어플리케이션의 변경 또는 전송중이던 어플리케이션이 종료를 감시하여 제어 명령 수신 대기열(1002)에 통보한다. 제어 명령 수신 대기열(1002)은 상기 전송 상태 감시부(1009) 및 송출 매니저(530)로부터 어플리케이션 전송 변경 정보를 수신하여, 어플리케이션 등록부(1003), 패킷 식별자 할당/해제 모듈(1004)에 전달하여 어플리케이션의 정보를 변경하고 연쇄적으로 전송 비트율이 조정되게끔 한다.To this end, the transmission
전술한 구성에 의하여, 본 발명의 실시예에 따른 데이터 방송 시스템은, 새로운 어플리케이션이 등록되면, 현재 전송중인 어플리케이션의 개수와 각각의 크기 및 각각의 중요도를 동적으로 관리하여 이에 대한 대역폭을 할당하고 새로운 오브젝트 카루셀 전송 스레드를 생성하여 방송 스트림으로 전송할 수 있게 된다. According to the above-described configuration, when a new application is registered, the data broadcasting system dynamically allocates bandwidth by dynamically managing the number of applications currently being transmitted , their respective sizes, and their importance . An object carousel transmission thread may be generated and transmitted as a broadcast stream.
도 5는 본 발명의 실시예에 따른 데이터 전송 방법을 도시한 흐름도이다.5 is a flowchart illustrating a data transmission method according to an embodiment of the present invention.
데이터 전송에 앞서, 단계(S100)에서는 어플리케이션에 대한 총전송률을 산출한다. 어플리케이션에 대응하는 데이터에 대한 총 전송률은 트랜스포트 스트림에 서 데이터 방송에 할당된 전송율에 기초하여 결정된다.Prior to data transmission, in step S100, the total transmission rate for the application is calculated. The total data rate for the data corresponding to the application is determined based on the data rate assigned to the data broadcast in the transport stream.
데이터 전송 블록이 시작되면, 현재 전송되는 어플리케이션의 수, 크기 및 중요도에 따라서, 전송 스레드가 생성된다(S110, S120). 여기서, 전송 스레드는 이하의 단계에서 고려되는 할당된 전송 비트율, 출력버퍼의 여유 용량, 입력 버퍼의 데이터 크기를 바탕으로 설정된 비트율로 데이터를 출력할 수 있도록 설정된다.When the data transmission block starts, a transmission thread is generated according to the number, size, and importance of applications currently being transmitted (S110 and S120). Here, the transmission thread is set to output data at a bit rate set based on the allocated transmission bit rate, the free capacity of the output buffer, and the data size of the input buffer considered in the following steps.
단계(S130)에서는 현재 전송되는 어플리케이션에 대하여 전송이 완료되어 전송이 중지되었는지를 판단하고, 중지된 경우에는 스레드를 종료하고 새로운 스레드를 생성하게 된다(S130, S190).In step S130, it is determined whether the transmission is stopped because the transmission is completed for the currently transmitted application, and when it is stopped, the thread is terminated and a new thread is generated (S130 and S190).
한편, 전송중에 있어서, 전송 비트율이 초과되었는지, 출력버퍼의 크기를 초과했는지, 입력버퍼가 현재 비어있는지를 순차적으로 판단하여 이상이 없는 경우에는 전송 스레드에 따라서 오브젝트 카루셀을 반복적으로 전송하게 된다(S170).On the other hand, during transmission, it is determined sequentially whether the transmission bit rate is exceeded, the size of the output buffer or the input buffer is empty, and if there is no error, the object carousel is repeatedly transmitted according to the transmission thread (S170). ).
그러나, 전송 비트율이 초과되었거나, 출력버퍼의 용량을 초과한 경우, 또는 현재 입력 버퍼의 용량에 여유가 있는 경우에는 수학식 1 또는 수학식 2에서와 같이 전송 비트율을 계산하게 된다.However, when the transmission bit rate is exceeded or the capacity of the output buffer is exceeded, or when the capacity of the current input buffer is sufficient, the transmission bit rate is calculated as in Equation 1 or Equation 2.
즉, 전송 비트율은 전송되는 어플리케이션의 수와 크기 및 어플리케이션의 중요도에 따라서 동적으로 결정되게 된다.That is, the transmission bit rate is dynamically determined according to the number and size of applications to be transmitted and the importance of the application .
이하, 복수개의 어플리케이션이 전송되는 경우, 가변 대역폭 할당 방법에 대해 상세히 설명한다.Hereinafter, when a plurality of applications are transmitted, a variable bandwidth allocation method will be described in detail.
도 6은 본 발명의 실시예에 따라 멀티 어플리케이션에 대해 동적으로 대역폭을 할당하여 전송하는 방법에 대해 도시한 흐름도이다.6 is a flowchart illustrating a method of dynamically allocating and transmitting bandwidth for multiple applications according to an embodiment of the present invention.
송출 매니저로부터 어플리케이션의 시작 정보가 전송되면, 상기 어플리케이션의 시작 메타 정보중에서 어플리케이션을 고유하게 구분할 수 있는 구분키를 바탕으로 어플리케이션을 등록한다(S200). When the start information of the application is transmitted from the delivery manager, the application is registered based on a division key for uniquely distinguishing the application from the start meta information of the application (S200).
상기 어플리케이션의 구분키는 어플리케이션을 제작한 기관의 식별자(Organization ID ), 현재 구성된 데이터 스트림에서 어플리케이션을 식별하는 식별자(Application), 어플리케이션의 스트링값(Application name), 송출 시스템 내에서 데이터베이스에 등록되어 어플리케이션을 구분 짓는 식별자(Content ID)를 포함한다.The distinguishing key of the application is an identifier of an organization producing the application, an identifier for identifying an application in a currently configured data stream, an application string value, an application string, and a registration in a database in a transmission system. Contains an identifier (Content ID) that identifies.
한편, 송출매니저로부터 어플리케이션에 대한 시작 정보를 수신하면, 대응하는 Content ID 및 Application name이 이미 전송중인지 판단한다(S210, S211). 만약, 이미 전송중인 어플리케이션인 경우에는 새로운 어플리케이션의 추가 또는 어플리케이션 전송 완료 상태에 따라 발생하는 제어 메시지를 대기하는 상태로 전환한다(S300).On the other hand, when receiving the start information about the application from the delivery manager, it is determined whether the corresponding Content ID and Application name is already being transmitted (S210, S211). If the application is already being transmitted, it is switched to a state of waiting for a control message generated according to the addition of a new application or the completion of the application transmission (S300).
단계(S210, S211)에서, 새로운 어플리케이션으로 판단되는 경우에는 반복 전송을 위한 오브젝트 카루셀 인코더를 생성하고 이를 오브젝트 카루셀 인코더 리스트에 새로 시작한 어플리케이션에 대응하는 오브젝트 카루셀 인코더를 추가한다(S220, S230). 본 발명의 실시예에서는 복수의 어플리케이션이 전송되는 상황이므로 새로운 어플리케이션이 부호화 될 때, 이미 전송중인 어플리케이션의 동작에 영향을 미치지 않도록 하기위해 새로운 어플리케이션의 부호화 동작은 오브젝트 카루셀 부호화 블록에서 별도의 스레드를 생성하여 부호화 동작을 수행한다. If it is determined in step S210 and S211 that a new application is generated, an object carousel encoder for repetitive transmission is generated and the object carousel encoder corresponding to the newly started application is added to the object carousel encoder list (S220 and S230). In the embodiment of the present invention, since a plurality of applications are transmitted, the encoding operation of the new application generates a separate thread in the object carousel encoding block so that when the new application is encoded, the encoding operation of the new application is not affected. To perform the encoding operation.
오브젝트 카루셀 인코더가 생성되면, 인코더에 적합하도록 상기 어플리케이션을 오브젝트 카루셀 스트림으로 구성한다(S240).When the object carousel encoder is generated, the application is configured as an object carousel stream so as to be suitable for the encoder (S240).
한편, 단계(S250)에서는, 송출 매니저로부터 데이터 인코더 시작 정보를 전달 받을 때 데이터 인코더에서 부호화할 데이터 스트림의 PID 범위를 할당 받는다. 어플리케이션 시작 정보를 수신 받을 때 지정된 범위에서 하나의 PID를 사용하고 해당 PID에 대한 사용정보를 기록한다. 상기 PID는 방송 수신기에서 역다중화 과정에서 하나의 어플리케이션으로 구분된 데이터를 분리하는데 사용된다.Meanwhile, in step S250, when the data encoder start information is received from the delivery manager, the PID range of the data stream to be encoded by the data encoder is allocated. When receiving application start information, one PID is used in the designated range and the usage information for the PID is recorded. The PID is used to separate data divided into one application in a demultiplexing process in a broadcast receiver.
한편, 송출 매니저나 제어 메시지 대기열로부터 어플리케이션 중지 정보가 수신되면, 해당 어플리케이션이 현재 전송중인지를 판단한다(S201, S212, S213).On the other hand, when application suspension information is received from the delivery manager or the control message queue, it is determined whether the corresponding application is currently being transmitted (S201, S212, S213).
중지정보가 수신된 어플리케이션이 현재 전송중인 것으로 판단되면 해당 어플리케이션에 대한 오브젝트 카루셀 인코더를 리스트에서 삭제하고, 오브젝트 카루셀 전송을 위해 생성되었던 오브젝트 카루셀 전송 스레드를 종료한다(S221, S231, S241). If it is determined that the application receiving the stop information is currently being transmitted, the object carousel encoder for the corresponding application is deleted from the list, and the object carousel transmission thread generated for object carousel transmission is terminated (S221, S231, S241).
오브젝트 카루셀 전송 스레드가 종료되면, 해당 어플리케이션에 대한 PID를 해제하게 된다(S251). 해제된 PID 는 다른 어플리케이션이 전송될 때 재사용될 수 있다.When the object carousel transmission thread is terminated, the PID for the corresponding application is released (S251). The released PID can be reused when another application is sent.
PID가 할당되거나 PID가 해제되면, 상기 어플리케이션에 대한 대역폭 할당이 수행된다(S260). 대역폭 할당은 전술한 바와 같이, 데이터 인코더 설정에서 어플리케이션 총 전송 비트율을 설정한 후, 하나의 어플리케이션 전송이 시작되면 총 전송 비트율 내에서 어플리케이션을 전송한다. 어플리케이션이 추가되면 총 전송 비 트율에서 전송중인 어플리케이션 개수로 나누어 하나의 어플리케이션이 전송할 비트율로 재 조정된다. When the PID is allocated or the PID is released, bandwidth allocation for the application is performed (S260). As described above, after allocating the application total transmission bit rate in the data encoder setting, bandwidth allocation transmits the application within the total transmission bit rate. When an application is added, one application is readjusted to the bit rate to be transmitted by dividing the total transmission bit rate by the number of applications being transmitted.
어플리케이션이 추가되는 경우는 이전에 전송 중이던 어플리케이션은 전송 비트율은 감소하게 된다. 어플리케이션이 정지되는 경우는 남아 있는 어플리케이션들의 전송 비트율은 증가하게 된다.When an application is added, the transmission bit rate of the previously transmitting application is reduced. When the application is stopped, the transmission bit rate of the remaining applications is increased.
또한, 동일한 수신시간을 보장하는 기능이 켜져있을 때에는 각 어플리케이션의 크기(용량)을 측정하여 각 어플리케이션에 적절한 비트율을 할당한다([수학식1]참조).In addition, when the function of guaranteeing the same reception time is turned on, the size (capacity) of each application is measured and an appropriate bit rate is assigned to each application (see [Equation 1]).
또한, 어플리케이션의 중요도에 따라서, 가중치가 부여되며, 상기 가중치의 전체합에 대한 해당 어플리케이션의 가중치에 비례하여 전송 비트율이 할당된다.In addition, a weight is assigned according to the importance of the application, and a transmission bit rate is allocated in proportion to the weight of the corresponding application for the total sum of the weights.
단계(S261)에서는 전송중인 어플리케이션의 정보에 대한 AIT 테이블을 구성한다. 상기 테이블은 AIT 관리부에서 수행되는데, 시작 정보를 수신한 어플리케이션은 AIT 테이블에 추가되며, 중지 정보를 수신한 어플리케이션은 AIT 테이블에서 삭제된다. 한편 상기 AIT 는 어플리케이션에 대한 시작 구분키와 중요도를 매칭시켜 함께 저장한다.In step S261, an AIT_table for the information of the application being transmitted is constructed. The table is performed by the AIT management unit. The application receiving the start information is added to the AIT table, and the application receiving the stop information is deleted from the AIT table. On the other hand, the AIT matches the start separator key and the importance for the application and stores them together.
단계(S262)에서는 시작 정보를 수신한 어플리케이션에 대한 오브젝트 카루셀 스트림, AIT 스트림, 스트림 이벤트(STE) 섹션를 포함하는 스트림 정보를 PSIP 인코더에 전달하게 된다.In step S262, stream information including an object carousel stream, an AIT stream, and a stream event (STE) section for the application that received the start information is transmitted to the PSIP encoder.
여기서, 패킷화된 트랜스포트 스트림 패킷을 반복적으로 전송하기 위하여, 오브젝트 카루셀 전송 스레드가 생성되고, 상기 스레드에 따라서 오브젝트 카루셀 은 스트림화되어 전송된다(S270, S280).Here, in order to repeatedly transmit the packetized transport stream packet, an object carousel transmission thread is generated, and the object carousel is streamed and transmitted according to the thread (S270 and S280).
단계(S290)에서는 스트림이 전송되는 중, 전송상태를 모니터링하여 어플리케이션의 시작/중지 및 서비스 내용의 변경을 감시한다.In step S290, while the stream is being transmitted, the transmission status is monitored to monitor the start / stop of the application and the change of service contents.
상기 감시중 어플리케이션의 시작/중지 및 서비스 내용의 변경에 대한 제어 메시지가 발생하면 이는 제어 메시시 수신 대기열에서 수신하여 단계(S200) 또는 단계(S201)로 회귀하여 동적인 대역폭 할당을 수행하게 된다.When the control message for the start / stop of the application and the change of the service contents occurs during the monitoring, it is received in the control message reception queue and returns to step S200 or step S201 to perform dynamic bandwidth allocation.
전술한 바와 같이, 하나의 어플리케이션이 오브젝트 카루셀로 부호화되고 전송이 시작되면 향후 어플리케이션이 제공하는 서비스 내용이 변경되는 경우 이를 반영하여 오브젝트 카루셀 구성정보를 갱신하여야 한다. As described above, when one application is encoded into the object carousel and transmission is started, the object carousel configuration information should be updated to reflect the change in the service contents provided by the application in the future.
오브젝트 카루셀 인코더에서는 카루셀 반복 전송 동작을 수행하면서 제어명령 수신 대기열에서 제어명령의 수신여부를 관찰하게 되며 동적 갱신 제어명령을 수신하는 경우 해당 어플리케이션의 구성을 담당하고 있는 부호화 블록에 이벤트로 그 수신 정보를 알려준다. The object carousel encoder performs the carousel repetitive transmission operation and observes whether the control command is received in the control command reception queue. When receiving the dynamic update control command, the object carousel encoder sends the received information as an event to the coding block in charge of configuring the application. Inform.
오브젝트 카루셀 부호화 블록에서 동적 갱신 제어명령을 수신하게 되면 갱신 정보를 바탕으로 전체 계층구조를 새로이 구성하고 실제로 변화된 데이터를 부호화하는 동작을 수신한다. 모든 오브젝트 카루셀 갱신과정이 종료되면 다시 반복 전송 스레드에 갱신과정이 종료되었음을 통보하고 새로이 부호화된 오브젝트 카루셀 스트림 위치 정보를 알려준다. 반복 전송 스레드에서는 기존에 전송중이던 오브젝트 카루셀 스트림의 전송을 중지하고 새로이 구성된 스트림의 전송을 시작하게 된다.When receiving the dynamic update control command from the object carousel coding block, an operation of newly constructing the entire hierarchy based on the update information and encoding the changed data is received. When all object carousel update processes are completed, the repeated transmission thread is notified again that the update process is completed, and the newly encoded object carousel stream position information is notified. The repetitive transmission thread stops the transmission of the object carousel stream, which is being transmitted, and starts the transmission of the newly constructed stream.
데이터 인코더에서는 전송하는 어플리케이션 구성에 따라 어떠한 특정 이벤 트를 발생시켜 어플리케이션의 동적인 운영을 가능하게 한다. 이러한 이벤트는 13818-6 DSM-CC 표준 규격에서 스트림 이벤트(Stream Event)로 객체화하여 정의되어 있고, 부호화 규격은 (Descriptor Section 방식을 이용하여 전송하게 된다. The data encoder generates certain events according to the application configuration to transmit, enabling dynamic operation of the application. Such an event is defined as an object as a stream event in the 13818-6 DSM-CC standard specification, and the encoding standard is transmitted by using the (Descriptor Section method).
한편, 스트림 이벤트(STE)가 전송되는 데이터 스트림은 별도의 PID를 할당받아 오브젝트 카루셀 스트림과 독립적으로 반복 전송된다. On the other hand, the data stream to which the stream event (STE) is transmitted is repeatedly transmitted independently of the object carousel stream by receiving a separate PID.
스트림 이벤트의 데이터 스트림이 반복 전송되는 과정은 오브젝트 카루셀 스트림의 전송 방식과는 약간의 차이가 있다. 스트림 이벤트 데이터는 데이터 인코더의 환경 설정에서 개별적인 비트율 설정이 없다. 이는 어플리케이션 종류에 따라 스트림 이벤트 데이터가 전송되는 경우도 있지만, 스트림 이벤트 없이 전송되는 어플리케이션도 존재하므로 일정양의 대역폭을 전송되지 않는 스트림 이벤트를 위해 할당하는 것을 방지하기 위해서이다. The process of repeatedly transmitting the data stream of the stream event is slightly different from that of the object carousel stream. Stream event data has no individual bit rate setting in the data encoder's configuration. This is because the stream event data may be transmitted depending on the type of application, but there is an application that is transmitted without the stream event, so that a certain amount of bandwidth is prevented from being allocated for the stream event that is not transmitted.
스트림 이벤트는 데이터 방송 프로토콜인 오브젝트 카루셀 부호화 방법에서 정의되어 있는 기능이다. 예를 들어, 한번 전송한 어플리케이션은 거기서 전송이 끝나는 것이 아니라 어플리케이션을 구성하는 파일들을 내용을 업데이트 해서 어플리케이션이 정보를 갱신하여 사용자에게 보여주도록 동적인 구성이 가능하다. The stream event is a function defined in the object carousel encoding method, which is a data broadcast protocol. For example, an application that has been transmitted once can be dynamically configured to update the contents of the files constituting the application and to display the information to the user.
여기서, 동적인 구성방법은 두 가지가 있는데 하나는 오브젝트 카루셀 업데이트이며, 다른 하나가 스트림 이벤트 전송이다.Here, there are two dynamic configuration methods, one of which is Object Carousel Update, and the other is Stream Event Transmission.
오브젝트 카루셀 업데이트는 어플리케이션을 구성하는 파일(text, img) 등을 그 내용을 바꾸어 다시 오브젝트 카루셀로 부호화 하여 전송하지만, 이는 카루셀을 다시 구성해야 하고 전송 주기가 크기 때문에 수신기에 적용되어 반응하기 까지 오 랜 시간이 소요된다.The object carousel update changes the contents of the application (text, img), etc., and then encodes the object carousel and transmits the encoded object to carousel again. However, since the carousel has to be reconfigured and the transmission period is large, it can be applied to the receiver to react. It takes time.
이에 반해 스트림 이벤트는 비교적 작은 크기의 데이터를 추가적으로 보내는 것이다. 예를 들어, 스트림 이벤트가 사용되는 경우는 실제로 "1이란 데이터가 들어오면 어플리케이션이 어떠한 동작을 할것이다" 라고 미리 약속이 되어서 사용하는 경우이다. 따라서, 스트림 이벤트는 오브젝트 카루셀과는 다른 PID를 사용하게 되며, 짧은 주기를 가지고 반복 전송되므로 오브젝트 카루셀 업데이트보다 빠른 사용자 반응속도를 기대하는 동작에 사용된다.In contrast, stream events send additional data of a relatively small size. For example, a stream event is used when it is actually promised that "1 is what the application will do when data comes in." Therefore, the stream event uses a different PID from the object carousel, and is used for an operation that expects a faster user response than the object carousel update because it is repeatedly transmitted with a short period.
따라서, 어플리케이션의 구성에서 스트림 이벤트를 사용하는 경우, 데이터 인코더는 이벤트 발생 시점에서 이벤트 데이터를 부호화하고 TS 패킷화한 후에 어플리케이션이 전송되는 오브젝트 카루셀 스트림의 할당 대역폭을 공유하여 전송된다. 예를 들면, 하나의 어플리케이션이 300KBps의 전송 대역폭을 할당 받은 경우에는 오브젝트 카루셀 스트림만이 전송되는 경우는 전체 대역을 오브젝트 카루셀 스트림의 전송에 사용하지만, 스트림 이벤트가 전송되는 경우 오브젝트 카루셀 스트림의 대역에서 일정 대역폭을 스트림 이벤트 전송에 사용하므로 오브젝트 카루셀 스트림의 전송은 스트림 이벤트 전송에 필요한 대역폭을 제외한 나머지 대역폭을 이용하여 전송하게 된다. Therefore, when using the stream event in the configuration of the application, the data encoder is transmitted by sharing the allocated bandwidth of the object carousel stream to which the application is transmitted after encoding the event data and TS packetized at the event occurrence time. For example, when one application is allocated a transmission bandwidth of 300 KBps, when only the object carousel stream is transmitted, the entire band is used to transmit the object carousel stream. However, when a stream event is transmitted, the bandwidth of the object carousel stream is used. Since a certain bandwidth is used for the stream event transmission, the object carousel stream is transmitted using the remaining bandwidth except the bandwidth required for the stream event transmission.
이 때에도 각각의 오브젝트 카루셀 스트림과 스트림 이벤트의 전송의 전송 비트율 할당에 있어서도 동적인 할당 방법이 요구된다. 이벤트 발생 이전의 시점에서는 오브젝트 카루셀이 전체 어플리케이션 전송 대역폭을 이용하여 전송되지만 이벤트 발생 이후부터는 그 대역폭을 일정 비율만큼 줄여 스트림 이벤트 전송에 사용 할 수 있도록 한다. 반대로 이벤트 전송이 중지되는 경우 다시 스트림 이벤트 전송에 할당되었던 전송 대역폭은 오브젝트 카루셀 전송에 모두 쓰일 수 있도록 환원된다.At this time, a dynamic allocation method is also required in the transmission bit rate allocation for transmission of each object carousel stream and stream event. Before the event occurs, the object carousel is transmitted using the entire application transmission bandwidth, but after the event occurs, the bandwidth is reduced by a certain amount so that it can be used for stream event transmission. On the contrary, when the event transmission is stopped, the transmission bandwidth allocated for the stream event transmission is reduced so that all of the object carousel transmission can be used.
따라서, 전술한 스트림 이벤트에 전송 비트율에 대한 동적 할당 역시 본 발명의 실시예가 설명하는 대역폭 할당의 범주에 포함된다 할 것이다.Therefore, the dynamic allocation of the transmission bit rate to the above-described stream event will also be included in the scope of bandwidth allocation described by the embodiment of the present invention.
여기서, 전술한 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체 역시 본 발명의 범주에 포함되는 것이다.Here, a program for realizing a function corresponding to the configuration of the above-described embodiment of the present invention or a recording medium on which the program is recorded is also included in the scope of the present invention.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.
전술한 구성에 의하여, 본 발명은 방송 서비스가 새롭게 구성되는 시점에서 서비스를 구성하는 각각의 어플리케이션의 전송 비트율을 가변적으로 변화시킬 수 있다. According to the above configuration, the present invention can variably change the transmission bit rate of each application constituting the service at the time when the broadcast service is newly configured.
따라서, 고정 비트율 전송 방식에서 유휴 대역폭이 발생하는 점을 개선시키며, 데이터 방송에 할당된 대역폭을 최대로 활용할 수 있게 한다. Accordingly, the idle bandwidth is generated in the fixed bit rate transmission scheme, and the bandwidth allocated to data broadcasting can be maximized.
또한, 방송 운영자의 관점에서 보면 데이터 방송 서비스를 구성하는 각각의 컨텐츠가 동일한 송신 중요도를 갖고 있을 때 동일한 시간에 수신기에서 각각의 컨 텐츠를 수신할 수 있음을 보장할 수 있다. 아울러 데이터 방송 서비스 구성에 있어서 우선적으로 수신기에서 수신되어야 하는 컨텐츠는 전송 중요도를 높게 설정하여 수신기에서 보다 우선적으로 수신될 수 있도록 할 수 있다. 따라서, 방송 수신기에서 데이터 방송 서비스의 메인을 구성하는 컨텐츠는 우선적으로 구동시키고 대용량의 데이터를 필요로 하는 컨텐츠는 메인 서비스가 구동된 이후에 메인 서비스 구동과 동시에 컨텐츠를 수신 받도록 하여 사용자가 체감하는 데이터 방송 서비스의 반응속도를 향상 시킬 수 있다. In addition, from a broadcast operator's point of view, when each content constituting the data broadcast service has the same transmission importance, it can be ensured that the receiver can receive each content at the same time. In addition, in the data broadcasting service configuration, contents to be first received by the receiver may be set to a higher transmission importance so that they can be received more preferentially by the receiver. Therefore, the content of the data broadcast service is primarily driven by the broadcast receiver, and content requiring a large amount of data is received by the user by receiving the content at the same time as the main service is started after the main service is started. The response speed of broadcasting service can be improved.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050077406A KR100684291B1 (en) | 2005-08-23 | 2005-08-23 | Data broadcasting system for allocating variable bandwidth and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050077406A KR100684291B1 (en) | 2005-08-23 | 2005-08-23 | Data broadcasting system for allocating variable bandwidth and method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100684291B1 true KR100684291B1 (en) | 2007-02-16 |
Family
ID=38103955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050077406A KR100684291B1 (en) | 2005-08-23 | 2005-08-23 | Data broadcasting system for allocating variable bandwidth and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100684291B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050077653A (en) * | 2004-01-30 | 2005-08-03 | 주식회사 케이티 | Apparatus and method of dynamic bandwidth assignment for atm-pon system |
-
2005
- 2005-08-23 KR KR1020050077406A patent/KR100684291B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050077653A (en) * | 2004-01-30 | 2005-08-03 | 주식회사 케이티 | Apparatus and method of dynamic bandwidth assignment for atm-pon system |
Non-Patent Citations (1)
Title |
---|
1020050077653 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11095928B2 (en) | Policy management arbitration by service group | |
KR100883572B1 (en) | Systems and methods for next generation cable network dynamic multiplexing | |
US10674213B2 (en) | Reception apparatus, reception method, transmission apparatus, and transmission method | |
CN101682355B (en) | Method and apparatus providing scalability for channel change requests in a switched digital video system | |
CN1244080C (en) | Adaptive bandwidth system and method for broadcast data | |
US6570888B1 (en) | Using a receiver model to multiplex variable-rate bit streams having timing constraints | |
AU2005208846B2 (en) | Video policy server | |
US20080107173A1 (en) | Multi-stream pro-active rate adaptation for robust video transmission | |
KR20030007749A (en) | A method for adaptive data/content insertion in MPEG2 transport stream | |
US9706240B2 (en) | Methods and systems for content control | |
US9043479B2 (en) | Data retrieval in a two-way network | |
JP2002524982A (en) | Method and apparatus for processing variable bit rate information in an information distribution system | |
EA011668B1 (en) | Managing traffic in a satellite transmission system | |
WO2017181873A1 (en) | Network equipment, controller, queue management method and traffic management chip | |
EP1383335B1 (en) | Efficient method and system for delivering resources in broadcast environment | |
CN104429086A (en) | Smart stream delivery server, system and methods for assembling a mix of services to be delivered to a subscriber's premises | |
US7031259B1 (en) | Method and system for scheduling a transmission of compressible and non-compressible packets | |
CN102388575B (en) | Dynamic DSL line bandwidth management method, system and equipment in subscriber's agreement situation | |
AU783202B2 (en) | Adaptive bandwidth system and method for broadcast data | |
US20040013136A1 (en) | Systems and methods for providing on-demand datacasting | |
KR100684291B1 (en) | Data broadcasting system for allocating variable bandwidth and method thereof | |
US8121116B1 (en) | Intra channel video stream scheduling | |
JP4282258B2 (en) | Digital broadcast signal multiplex transmission device | |
KR100717177B1 (en) | Data broadcast system for updating software of broadcast receiver and method thereof | |
US20180063559A1 (en) | Method and apparatus for controlling transmission of switched digital video service |
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: 20130204 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131230 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150205 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160204 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |