KR100874094B1 - IPTV service provision server and method - Google Patents
IPTV service provision server and method Download PDFInfo
- Publication number
- KR100874094B1 KR100874094B1 KR1020070076279A KR20070076279A KR100874094B1 KR 100874094 B1 KR100874094 B1 KR 100874094B1 KR 1020070076279 A KR1020070076279 A KR 1020070076279A KR 20070076279 A KR20070076279 A KR 20070076279A KR 100874094 B1 KR100874094 B1 KR 100874094B1
- Authority
- KR
- South Korea
- Prior art keywords
- channel
- channels
- state
- delay time
- additional intra
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25891—Management of end-user data being end-user preferences
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Graphics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
각 채널의 타입과 각 채널을 통해 전송될 영상 데이터에 삽입할 부가적인 인트라 프레임의 개수를 조절하여 네트워크 효율성을 증가시키면서 채널 변경 지연 시간은 감소시킬 수 있는 본 발명의 일 실시예에 따른 IPTV 서비스 제공 방법은 사용자에게 제공될 각 채널들의 채널 타입 및 상기 채널들을 통해 제공되는 영상 데이터에 삽입될 부가적인 인트라 프레임의 개수를 결정하는 단계; 상기 결정된 개수만큼의 부가적인 인트라 프레임을 상기 영상 데이터에 삽입하여 상기 영상 데이터를 인코딩하는 단계; 및 상기 결정된 각각의 채널 타입에 따라 상기 인코딩된 영상 데이터를 상기 채널에 대한 사용자의 요청 이전에 제1 라우터 또는 제2 라우터까지 전송하는 단계를 포함하는 것을 특징으로 한다.Providing an IPTV service according to an embodiment of the present invention can reduce channel change delay time while increasing network efficiency by adjusting the type of each channel and the number of additional intra frames to be inserted into video data to be transmitted through each channel. The method includes determining a channel type of each channel to be provided to a user and the number of additional intra frames to be inserted into image data provided through the channels; Encoding the image data by inserting the determined number of additional intra frames into the image data; And transmitting the encoded image data to the first router or the second router prior to a user's request for the channel according to each determined channel type.
Description
본 발명은 IPTV 서비스 제공 서버 및 그 방법에 관한 것으로서, 보다 구체적으로, IPTV 서비스 제공 시 네트워크 효율성을 높이면서 채널 변경 지연 시간은 감소시킬 수 있는 IPTV 서비스 제공 서버 및 그 방법에 관한 것이다.The present invention relates to an IPTV service providing server and a method thereof, and more particularly, to an IPTV service providing server and a method capable of reducing a channel change delay time while increasing network efficiency when providing an IPTV service.
통신 및 인터넷 기술의 발달로 인해 하나의 가입자 회선 상에서 방송, 전화, 및 데이터를 동시에 전송할 수 있는 TPS (Triple Play Service)가 등장하게 되었고, 이러한 TPS는 다양한 서비스를 하나의 회선을 통해 패키지 형태로 사용자에게 제공할 수 있다는 점에서 그 수요가 급증하고 있으며 이에 따라 이러한 서비스 제공 업체들도 급증하고 있다.Advances in telecommunications and Internet technologies have resulted in the introduction of the Triple Play Service (TPS), which allows simultaneous transmission of broadcast, telephone, and data on a single subscriber line. The demand is soaring in that it can be provided to the service provider, and so are these service providers.
이러한 TPS 서비스 중 대표적인 것이 IPTV(Internet Protocol Television) 서비스이다. IPTV 서비스는 기존의 인터넷 통신망을 통해 방송 서비스를 제공하는 것으로서 기존의 방송 서비스(케이블, 위성, 또는 지상파 방송 등)와 비교하여 볼때 네트워크 자원의 사용면에서 효율적이다. 구체적으로 도 1a에 도시된 바와 같이 기존의 방송 서비스는 사용자의 요구에 관계없이 모든 채널들이 항상 사용자에 게 전송되어야 하므로 대역폭의 낭비가 발생하게 되지만, IPTV 서비스는 도 1b에 도시된 바와 같이 IP 멀티캐스트 기술을 도입함으로써 사용자의 요청에 의한 채널만 전송하면 되므로 네트워크 자원을 효율적으로 사용할 수 있음은 물론, 이로 인해 부족한 가입자 회선의 대역폭 문제를 해소할 수 있다.One of such TPS services is IPTV (Internet Protocol Television) service. IPTV service provides a broadcasting service through the existing Internet communication network and is efficient in terms of the use of network resources as compared with the existing broadcasting service (cable, satellite, or terrestrial broadcasting). In detail, as shown in FIG. 1A, the conventional broadcast service requires a waste of bandwidth because all channels must be transmitted to the user regardless of the user's request. By adopting the cast technology, it is possible to efficiently use network resources because only the channel required by the user is transmitted, and it can solve the bandwidth problem of the insufficient subscriber line.
그러나, 이러한 IPTV 서비스의 경우 사용자에 의한 채널 요청이 발생하는 경우 해당 채널을 사용자에 전송하는 구조이므로, 사용자가 새로운 채널을 요청할 경우, 선택된 채널이 사용자 단말기에 출력되기까지의 지연(이하 '채널 변경 지연'이라 함)이 발생하게 된다.However, in the case of such an IPTV service, when a channel request by a user occurs, the corresponding channel is transmitted to the user. Therefore, when a user requests a new channel, a delay until the selected channel is output to the user terminal (hereinafter, 'channel change' Delay ').
이러한 채널 변경 지연은 크게 명령어 처리 지연, 네트워크 지연, 셋톱박스 지터 버퍼 지연, 및 디코딩 지연으로 구성된다. 명령어 처리 지연은 사용자가 채널 변경을 위해 리모트 컨트롤러를 통해 해당 채널을 선택한 시점부터 셋톱 박스가 채널 요청 메시지를 네트워크 상으로 전송하기까지의 지연이며, 네트워크 지연은 요청된 채널의 첫 번째 패킷을 수신하기까지의 지연이며, 셋톱박스 지터 버퍼 지연은 네트워크상에서 부가된 지터를 제거하기 위한 초기 버퍼링 지연을 의미하고, 디코딩 지연은 압축된 비디오 데이터의 디코딩 과정에서 발생되는 지연을 의미한다. 여기서 디코딩 지연은 비디오 데이터의 경우 인트라 프레임 없이 디코딩될 수 없음으로 인해 발생하는 것이다.This channel change delay consists of instruction processing delay, network delay, set-top box jitter buffer delay, and decoding delay. The command processing delay is the delay from when the user selects the channel through the remote controller to change the channel, until the set-top box sends the channel request message over the network. The network delay is used to receive the first packet of the requested channel. The delay to, the set-top box jitter buffer delay refers to the initial buffering delay for removing the added jitter on the network, the decoding delay refers to the delay incurred in the decoding process of the compressed video data. The decoding delay is caused by the fact that video data cannot be decoded without an intra frame.
이러한 채널 변경 지연으로 인해 사용자는 원하는 시점에 원하는 영상 데이터를 즉시 제공받을 수 없게 되므로 채널 변경 지연은 IPTV 서비스 제공의 효율성을 저해하는 중요한 문제점으로 대두 되고 있다.This delay in channel change prevents the user from immediately receiving the desired video data at the desired time. Therefore, the delay in channel change is an important problem that hinders the efficiency of IPTV service provision.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 각 채널의 타입과 각 채널을 통해 전송될 영상 데이터에 삽입할 부가적인 인트라 프레임의 개수를 조절하여 네트워크 효율성을 증가시키면서 채널 변경 지연 시간은 감소시킬 수 있는 IPTV 서비스 제공 서버 및 방법을 제공하는 것을 그 기술적 과제로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and the channel change delay time can be reduced while increasing network efficiency by adjusting the type of each channel and the number of additional intra frames to be inserted into the image data to be transmitted through each channel. The technical problem is to provide an IPTV service providing server and method.
또한, 본 발명은 각 채널의 타입과 부가적인 인트라 프레임의 개수를 결정함에 있어서, 사용자의 채널에 대한 선호도를 반영할 수 있는 IPTV 서비스 제공 서버 및 방법을 제공하는 것을 또 다른 기술적 과제로 한다.In another aspect, the present invention is to provide an IPTV service providing server and method that can reflect the user's preference for the channel in determining the type of each channel and the number of additional intra frames.
또한, 본 발명은 각 채널의 타입과 부가적인 인트라 프레임의 개수를 결정함에 있어서 계산 복잡도를 감소시킬 수 있는 IPTV 서비스 제공 시스템 및 방법을 제공하는 것을 다른 기술적 과제로 한다.Another object of the present invention is to provide an IPTV service providing system and method capable of reducing computational complexity in determining the type of each channel and the number of additional intra frames.
상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 IPTV 서비스 제공 방법은 사용자에게 제공될 각 채널들의 채널 타입 및 상기 채널들을 통해 제공되는 영상 데이터에 삽입될 부가적인 인트라 프레임의 개수를 결정하는 단계; 상기 결정된 개수만큼의 부가적인 인트라 프레임을 상기 영상 데이터에 삽입하여 상기 영상 데이터를 인코딩하는 단계; 및 상기 각각의 채널 타입에 따라 상기 인코딩된 영상 데이터를 상기 채널에 대한 사용자의 요청 이전에 제1 라우터 또는 제2 라우터까지 전송하는 단계를 포함하는 것을 특징으로 한다.In accordance with an aspect of the present invention, an IPTV service providing method includes determining a channel type of each channel to be provided to a user and the number of additional intra frames to be inserted into image data provided through the channels. ; Encoding the image data by inserting the determined number of additional intra frames into the image data; And transmitting the encoded image data to the first router or the second router before the user request for the channel according to each channel type.
여기서, 상기 채널 타입은 상기 채널을 통해 전송되는 상기 영상 데이터를 제1 라우터까지 전송하는 제1 타입과 상기 영상 데이터를 제2 라우터까지 전송하는 제2 타입으로 분류되고, 상기 제1 라우터는 사용자 단말기에 인접한 라우터이고, 상기 제2 라우터는 상기 영상 데이터를 제공하는 IPTV 서비스 제공 서버에 인접한 라우터인 것을 특징으로 한다.Here, the channel type is classified into a first type for transmitting the image data transmitted through the channel to a first router and a second type for transmitting the image data to a second router, wherein the first router is a user terminal. The router is adjacent to the second router, characterized in that the router adjacent to the IPTV service providing server for providing the video data.
이때, 상기 채널 타입 및 상기 부가적인 인트라 프레임의 개수는 채널 변경 지연 시간이 소정 임계치 이하가 되도록 하면서 상기 영상 데이터의 제공에 요구되는 상기 채널들의 전체 대역폭이 최소가 되도록 결정할 수 있다.In this case, the channel type and the number of additional intra frames may be determined such that the total bandwidth of the channels required for providing the image data is minimized while the channel change delay time is less than or equal to a predetermined threshold.
일 실시예에 있어서, 상기 채널 타입 및 상기 인트라 프레임의 개수 결정단계는 상기 채널 타입 및 상기 인트라 프레임의 개수를 설정값으로 하여 제1 상태를 설정하고 상기 제1 상태에서의 채널 변경 지연시간을 산출하는 단계; 상기 제1 상태에서의 채널 변경 지연시간이 상기 임계치 이하인 경우 상기 제1 상태의 최초 설정값을 기준으로 상기 채널 타입 및 상기 부가적인 인트라 프레임의 개수를 결정하는 단계; 상기 제1 상태에서의 채널 변경 지연시간이 상기 임계치를 초과하는 경우, 상기 제1 상태의 최초 설정값을 변경시켜가면서 변경된 설정값들에 대한 채널 변경 지연 시간을 산출하는 단계; 및 상기 변경된 설정값들 중 상기 변경된 설정값에 대한 채널 변경 지연시간이 상기 임계치 이하가 되게 하는 설정값이 존재하는 경우 해당 설정값들 중 상기 채널의 대역폭이 최소가 되게 하는 설정값을 기준으로 상기 채널 타입 및 상기 인트라 프레임의 개수를 결정하고, 그렇지 않은 경우 상기 제1 상태를 제2 상태로 갱신하는 단계; 를 포함하되, 상기 채널 변경 지연시간이 상기 임계치가 되게 하는 설정값을 가지는 상태가 발견될 때까지 상기 변경된 설정값들에 대한 채널 변경 지연 시간 산출 단계 내지 상기 상태 갱신 단계를 반복하는 것을 특징으로 한다.In an embodiment, the determining of the number of channel types and the number of intra frames may include setting a first state by setting the channel type and the number of intra frames as a set value and calculating a channel change delay time in the first state. Doing; Determining the channel type and the number of additional intra frames based on an initial set value of the first state when the channel change delay time in the first state is less than or equal to the threshold; Calculating a channel change delay time for the changed setting values while changing the initial setting value of the first state when the channel change delay time in the first state exceeds the threshold; And if there is a setting value for causing the channel change delay time for the changed setting value to be less than or equal to the threshold value among the changed setting values, based on the setting value for minimizing the bandwidth of the channel among the setting values. Determining a channel type and the number of intra frames, and if not, updating the first state to a second state; Including, but repeating the channel change delay time calculation step and the state update step for the changed setting values until a state having a setting value for causing the channel change delay time to be the threshold value is found. .
이때, 상기 제1 상태에서 제2 상태로의 갱신은, 상기 제1 상태에서의 설정값 변경으로 인해 발생되는 코스트가 최대가 되게 하는 설정값을 상기 제2 상태의 최초 설정값으로 결정함으로써 수행되는데, 여기서 상기 코스트는 상기 제1 상태에서의 설정값에 대한 채널 변경 지연시간과 상기 임계치와의 차이값의 변화량과 상기 채널의 대역폭의 변화량의 비로 산출된다.At this time, the update from the first state to the second state is performed by determining a setting value that maximizes the cost incurred due to the change of the setting value in the first state as the initial setting value of the second state. Here, the cost is calculated as the ratio of the change amount of the difference between the channel change delay time and the threshold value with respect to the set value in the first state and the change amount of the bandwidth of the channel.
상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따른 IPTV 제공 서버는 사용자에게 제공될 각 채널의 채널 타입 및 상기 채널들을 통해 제공되는 영상 데이터에 삽입될 부가적인 인트라 프레임의 개수를 결정하는 연산부; 상기 연산부에 의해 결정된 개수만큼의 상기 부가적인 인트라 프레임을 상기 영상 데이터에 삽입하여 상기 영상 데이터를 인코딩하는 인코더; 및 상기 연산부에 의해 정해진 상기 각각의 채널 타입에 따라 상기 인코딩된 영상 데이터를 상기 채널에 대한 사용자의 요청 이전에 사용자 단말기에 인접한 제1 라우터 또는 IPTV 제공 서버에 인접한 제2 라우터까지 전송하는 데이터 전송부를 포함하는 것을 특징으로 한다.In accordance with another aspect of the present invention, an IPTV provision server includes: an operation unit configured to determine a channel type of each channel to be provided to a user and the number of additional intra frames to be inserted into image data provided through the channels; An encoder which encodes the image data by inserting the additional intra frames as many as the number determined by the calculating unit into the image data; And a data transmitter configured to transmit the encoded image data according to each channel type determined by the calculator to a first router adjacent to a user terminal or a second router adjacent to an IPTV providing server before a user request for the channel. It is characterized by including.
본 발명에 따르면, 각 채널의 타입과 각 채널을 통해 전송될 영상 데이터에 삽입할 부가적인 인트라 프레임의 개수를 조절함으로써 네트워크 효율성은 증가시키고 채널 변경 지연 시간은 감소시킬 수 있다는 효과가 있다.According to the present invention, the network efficiency can be increased and the channel change delay time can be reduced by adjusting the type of each channel and the number of additional intra frames to be inserted into the image data to be transmitted through each channel.
또한, 본 발명에 따르면 각 채널의 타입과 부가적인 인트라 프레임 삽입 개수를 결정함에 있어서, 사용자의 채널에 대한 선호도를 반영함으로써 사용자의 선호도가 높은 채널을 사용자 단말기에 인접한 라우터까지 미리 전송하고 많은 인트라 프레임을 삽입함으로써 채널 변경 지연을 최소화할 수 있다는 효과가 있다.In addition, according to the present invention, in determining the type of each channel and the number of additional intra frame insertions, the channel having high user preference is transmitted to the router adjacent to the user terminal in advance by reflecting the user's preference for the channel. By inserting the channel change delay can be minimized.
또한, 본 발명은 각 채널의 타입과 부가적인 인트라 프레임의 개수를 결정함에 있어서 새로운 알고리즘을 적용함으로써 계산 복잡도를 감소시킬 수 있다는 효과가 있다.In addition, the present invention has an effect that the computational complexity can be reduced by applying a new algorithm in determining the type of each channel and the number of additional intra frames.
이하 첨부되는 도면을 참고하여, 본 발명의 바람직한 실시예를 상세하게 설명한다. 먼저, 본 발명의 상세한 설명에 앞서서, IPTV 서비스 제공 시스템의 일반적인 망 구성과, 이러한 IPTV 서비스 제공 시스템 하에서 채널 변경과정에 대해서 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First, prior to the detailed description of the present invention, a general network configuration of an IPTV service providing system and a channel changing process under such an IPTV service providing system will be described.
도 2는 일반적인 IPTV 서비스 제공 시스템의 개략적인 구성도이다. 도시된 바와 같이 IPTV 서비스 제공 시스템(10)은 크게 홈 네트워크(12), 액세스 네트워크(13), 코어 네트워크(14), 및 코어 네트워크(14)의 끝단에 연결되는 IPTV 서비스 제공 서버(18)를 포함한다.2 is a schematic configuration diagram of a general IPTV service providing system. As shown, the IPTV
홈 네트워크(12)는 게이트웨이(16), 사용자 단말기(19), 및 셋톱박스(STB: Set-top Box, 20)를 포함한다. 게이트웨이(16)는 홈 네트워크(12)와 액세스 네트워크(13)의 중계자 역할을 담당하는 것으로서, 홈 네트워크(12)의 채널을 관리하는 기능을 수행한다. 셋톱박스는 사용자 단말기(19)와 게이트웨이(16)에 연결되어 사 용자 단말기(19)로 IPTV 서비스를 제공하는 기능을 수행하며, 사용자 단말기(19)는 IPTV를 디스플레이하는 기능을 수행한다.The
액세스 네트워크(13)는 홈 네트워크(12)와 코어 네트워크(14)를 매개하는 네트워크로써 LHR(Last Hoop Router, 22)과 각종 스위칭 소자(미도시)를 포함한다. 여기서, LHR(22)은 사용자 단말기(19)에 가장 가까이 위치한 라우터를 의미한다.The
코어 네트워크(14)는 LHR(22) 및 FHR(First Hoop Router, 23)을 매개하는 네트워크로서, IPTV 서비스 제공 서버(18)로부터 전달되는 방송서비스를 사용자 단말기(19)까지 전송하기 위한 복수개의 멀티캐스트 라우터(미도시)들로 구성된다. 여기서, FHR(23)은 IPTV 서비스 제공 서버(18)와 가장 가까이 위치한 라우터를 의미한다. The
IPTV 서비스 제공 서버(18)는 헤드엔드 (Head-end)로서 모든 채널을 외부 공급자로부터 수신하며, 네트워크의 효율성을 높이기 위해 IP 멀티캐스트 기술을 이용하여 방송 채널을 사용자에게 전송한다.The IPTV
도 2에 도시된 IPTV 제공 시스템에서의 채널 변경과정을 도 3을 참조하여 구체적으로 설명한다.A channel change process in the IPTV providing system shown in FIG. 2 will be described in detail with reference to FIG. 3.
먼저, 1번 채널을 수신하고 있는 사용자가 리모트 컨트롤러를 이용하여 2번채널로의 채널 변경을 요청하는 경우, 셋톱박스(20)는 사용자의 채널 변경 요청에 상응하여 1번 채널에 대한 IGMP(Internet Group Management Protocol) 탈퇴(Leave) 메시지를 게이트 웨이(16)에게 전송하고, 게이트 웨이(16)는 IGMP 탈퇴 메시지를 LHR(22)에게 전달한다. 여기서, IGMP는 하나의 라우터와 여러 호스트로 구성되는 서브넷 안에서 라우터가 자신의 호스트들이 어떤 멀티캐스트 그룹에 관심이 있는지를 정의하는 것이다. 이후, IGMP 탈퇴 메시지를 수신한 LHR(22)은 IGMP Group-Specific Query 메시지를 자신이 관리하는 모든 게이트 웨이(미도시)에게 전송하며, 일정시간 동안 어떠한 응답도 수신되지 않는 경우 상위 라우터로 PIM Prune 메시지를 연계해가며 1번 채널에 대한 그룹 탈퇴를 수행한다.First, when a
한편, 2번 채널에 대한 가입을 위해 셋톱박스(20)가 2번 채널에 대한 IGMP 가입(Join)메시지를 게이트 웨이(16)에 전송하면, 게이트 웨이(16)는 IGMP 가입 메시지를 LHR(22)에게 전달한다. IGMP 가입 메시지를 수신한 LHR(22)은 이미 2번 채널을 수신하고 있는 경우 해당 게이트 웨이(16)에게 2번 채널을 전송하며, 그렇지 않은 경우 상위 라우터로 PIM Join 메시지를 연계해가며 2번 채널에 대한 그룹 가입을 시도한다. 이러한 과정을 통해 사용자의 채널 변경 요청에 상응하여 요청된 채널이 사용자에게 수신되며, 수신된 채널의 디코딩 과정을 거쳐 해당 채널이 사용자에게 디스플레이된다.Meanwhile, when the set-
상술한 바와 같이 채널의 변경 과정에서 새로운 채널이 사용자에게 수신될 때까지 이전 채널의 그룹으로부터의 탈퇴 및 새로운 채널 그룹으로의 가입으로 인한 네트워크 지연이 발생하게 되며, 또한 해당 채널 수신 후 압축된 비디오 데이터의 디코딩 과정에서 디코딩 지연이 발생하게 되므로, 본 발명에서는 이러한 채널 변경 지연을 최소화할 수 있는 IPTV 서비스 제공 서버 및 제공 방법을 제공하고자 하는 것이다. 이하에서는 N명의 사용자에게 M개의 채널로 구성된 IPTV 서비스를 제공하는 것을 기준으로 하여 설명한다.As described above, a network delay occurs due to the withdrawal from the group of the previous channel and the subscription to the new channel group until the new channel is received by the user in the channel change process, and the compressed video data after receiving the channel. Since the decoding delay occurs during the decoding process of the present invention, an object of the present invention is to provide an IPTV service providing server and a method for minimizing such a channel change delay. Hereinafter, a description will be given based on providing an IPTV service including M channels to N users.
도 4는 본 발명의 일 실시예에 따라 IPTV 서비스를 제공할 수 있는 IPTV 서비스 제공 서버의 개략적인 블럭도를 보여준다. 도시된 바와 같이 IPTV 서비스 제공 서버(18)는 연산부(24), 인코더(26), 및 데이터 전송부(28)를 포함한다.4 is a schematic block diagram of an IPTV service providing server capable of providing an IPTV service according to an embodiment of the present invention. As shown, the IPTV
연산부(24)는 채널이 대역폭과 채널 변경 지연을 최소화할 수 있도록 각 채널의 채널 타입 및 각 채널들을 통해 제공되는 영상 데이터에 삽입될 부가적인 인트라 프레임(Intra Frame)의 개수를 결정한다. 여기서, 연산부(24)에 의해 결정되는 채널 타입이란 소정 채널이 사용자의 요청 이전에 사용자 단말기(19)에 인접한 라우터까지 미리 전송되어야 하는 채널 타입(이하 '정적채널'이라 함)인지, 아니면 IPTV 서비스 제공 서버(18)에 인접한 라우터까지만 전송되어 있으면 되는 채널 타입(이하 '동적채널'이라 함)인지를 의미한다.The
연산부(24)가 각 채널에 대해 채널의 타입을 결정하는 이유는 소정 채널을 정적 채널로 결정하게 되면 네트워크 지연은 상대적으로 감소하지만 어떠한 사용자도 해당 채널을 시청하지 않는 경우 네트워크 대역폭의 낭비를 야기할 수 있고, 소정 채널을 동적 채널로 결정하게 되면 네트워크 대역폭은 효율적으로 사용할 수 있지만 사용자가 해당 채널을 요청하는 경우 네트워크 지연이 증가하게 되므로, 채널의 대역폭과 채널 지연을 가장 효율적으로 조절하기 위한 것이다.The reason why the
또한, 연산부(24)가 영상 데이터에 삽입될 부가적인 인트라 프레임의 개수를 결정하는 이유도 채널 대역폭과 채널 지연을 효율적으로 조절하기 위한 것인데, 구체적으로 각 채널에 관한 디코딩 지연을 효율적으로 조절하기 위한 것이다. 여기서, 영상 데이터에 부가적인 인트라 프레임을 삽입하는 것은 디코딩시 영상 데이터 의 인트라 프레임을 기다릴 필요없이 부가적인 인트라 프레임을 이용하여 디코딩을 수행할 수 있어 디코딩 지연을 감소시킬 수 있기 때문인데, 이때 디코딩 지연을 감소시키기 위해 부가적인 인프라 프레임의 개수를 증가시키기 되면 채널의 대역폭이 증가하게 되기 때문에 연산부(24)는 이를 조절하기 위해 적절한 인트라 프레임의 개수를 결정하는 것이다.In addition, the reason why the
구체적으로, 연산부(24)는 각 채널의 타입과 부가적인 인트라 프레임의 개수를 결정함에 있어서, 채널 변경 지연시간이 소정 임계치 이하가 되도록 하면서 영상 데이터의 제공에 요구되는 채널들의 전체 대역폭이 최소가 되도록 채널의 타입과 부가적인 인트라 프레임의 개수를 결정하는데, 이를 위해 연산부(24)는 도 4에 도시된 바와 같이 채널 선호도 산출부(30), 지연 시간 산출부(32), 대역폭 산출부(34), 및 채널 특성 결정부(36)를 포함한다.Specifically, the
채널 선호도 산출부(30)는 각 사용자의 채널 선호도를 산출하는 것으로서, 이는 채널의 타입과 부가적인 인트라 프레임 삽입 개수를 결정함에 있어서, 각 사용자의 채널 선호도를 반영하기 위한 것이다. 이는 사용자의 선호도가 높은 채널은 정적채널로 결정하고, 사용자의 선호도가 낮은 채널은 동적채널로 결정하며, 사용자의 선호도가 높은 채널일수록 부가적인 인트라 프레임의 개수를 증가시키는 것이 채널의 대역폭 및 채널 지연을 감소시키는데 있어 효율적일 수 있기 때문이다. 이때, i번째 사용자의 채널 선호도는 로 표기될 수 있고, i번째 사용자의 각 채널에 대한 선호도는 로 표기될 수 있으며, M개의 채널에 대한 N명의 사용자 사이에서는 다음의 수학식 1과 같은 관계가 성립한다.The
일 실시예에 있어서, 이러한 사용자의 채널 선호도는 각 사용자들의 채널별 시청 현황에 대한 통계자료를 이용하여 산출될 수 있는데, 구체적으로 각 사용자의 채널 선호도는 소정 시간 간격 동안 각 사용자가 소정 채널을 시청한 시간을 이용하여 추정할 수 있다. 이를 수학식으로 표현하면 다음과 같다.In one embodiment, such a user's channel preference may be calculated using statistics on the viewing status of each user's channel. Specifically, each user's channel preference is viewed by a user for a predetermined time interval. It can be estimated using one hour. This is expressed as an equation.
여기서, 는 j번째 채널에 대한 i번째 사용자의 선호도를 의미하고, 는 i번째 사용자가 j번째 채널을 시청한 시간을 의미하며, 는 소정 시간 간격을 의미하고, N은 전체 사용자의 수를 의미한다.here, Is the i th user's preference for the j th channel, Means the time that the i th user watched the j th channel, Means a predetermined time interval, and N means the total number of users.
지연시간 산출부(32)는 채널 변경 지연시간을 산출하는 것으로서, 구체적으로 채널 변경 지연시간은 각 채널에 대한 네트워크 지연시간(각 채널이 수신되는데 소요되는 시간)과 각 채널을 통해 제공되는 영상 데이터의 디코딩에 소요되는 시간의 합에 각 채널에 대한 사용자의 선호도를 곱함으로써 산출된다. 이를 모든 채널에 대해 확장한 것을 수학식으로 표현하면 다음과 같다.The delay
여기서,는 채널에 대한 네트워크 지연 시간을 나타내는 벡터로서 로 표현되고, 는 부가적인 인트라 프레임이 삽입된 영상 데이터의 디코딩 지연시간을 나타내는 벡터로서, 로 표현된다. 따라서, 수학식 3은 채널의 네트워크 지연벡터와 디코딩 지연 벡터의 합과 사용자들 각각의 채널 선호도 값의 내적을 취함으로써 각 사용자에 대한 전체 채널의 지연시간을 산출하게 된다.here, Is a vector representing the network latency for the channel. Represented by Is a vector representing a decoding delay time of image data in which an additional intra frame is inserted. It is expressed as Therefore,
이때, j번째 채널에 대한 네트워크 지연시간인와 디코딩 지연시간인 는 다음의 수학식 4 및 5와 같이 정의된다.At this time, the network delay time for the j th channel And the decoding delay time Is defined as in
여기서, 과 은 각각 인터넷 상에서 정적 채널과 동적 채널에 대한 평균 네트워크 지연 시간을 의미하며, 은 에 비해 상대적으로 매우 길다.here, and Are the average network latency for static and dynamic channels on the Internet, respectively. silver Relatively long compared to.
여기서, 는 j 번째 채널을 통해 전송되는 영상 데이터에 포함된 하나의 GOP 구간에 삽입되는 부가적인 인트라 프레임의 개수를 나타내는 것으로서, 각각의 채널을 통해 제공되는 영상 데이터에 삽입될 부가적인 인트라 프레임의 개수를 벡터로 표현하면 으로 표현할 수 있다. 한편, 는 하나의 GOP 구간내에 삽입될 수 있는 부가적 인트라 프레임의 최대 개수를 나타내며, 는 하나의 GOP의 크기를 나타낸다.here, Denotes the number of additional intra frames to be inserted into one GOP section included in the image data transmitted through the j-th channel. The vector indicates the number of additional intra frames to be inserted into the image data provided through each channel. In terms of It can be expressed as Meanwhile, Represents the maximum number of additional intra frames that can be inserted in one GOP interval, Represents the size of one GOP.
대역폭 산출부(34)는 영상 데이터의 제공에 요구되는 채널들의 전체 대역폭을 산출하는 것으로서, 각 채널의 채널 타입을 나타내는 소정값과 해당 채널을 통해 영상 데이터를 전송하기 위해 요구되는 대역폭의 곱을 구함으로써 각 채널의 대역폭을 산출하게 되는데, 이를 모든 채널에 대해 확장하면 다음의 수학식 6과 같다.The
여기서, 는 영상 데이터의 전송시 요구되는 채널의 대역폭을 나타내는 벡터로서 로 표기되고, 는 부가적인 인트라 프레임의 전송시 요구되는 채널의 대역폭을 나타내는 벡터로서 로 표기되며,는 각 채널의 채널 타입을 나타내는 벡터로서로 표기된다. 수학식 6에 의하면, 부가적인 인트라 프레임이 삽입된 영상 데이터를 전송하기 위한 각 채널들의 대역폭 벡터와 각 채널들의 타입을 나타내는 벡터의 내적을 취함으로써 영상 데이터의 전송에 요구되는 전체 채널의 대역폭을 산출하게 된다. 이때, 와 는 다음의 수학식 7 및 8에 의해 정의된다.here, Is a vector representing the bandwidth of the channel required to transmit the image data. Denoted by, Is a vector representing the bandwidth of the channel required for the transmission of additional intra frames. Denoted by Is a vector representing the channel type of each channel. It is indicated by. According to Equation 6, the bandwidth of the entire channel required for the transmission of the image data is calculated by taking the inner product of the bandwidth vector of each channel for transmitting the image data into which the additional intra frame is inserted and the vector representing the type of each channel. Done. At this time, Wow Is defined by the following equations (7) and (8).
여기서, 는 부가적인 인트라 프레임의 고정 비트 레이트를 의미한다.here, Denotes a fixed bit rate of an additional intra frame.
즉, 해당 채널에 대한 채널의 타입값은 j번째 채널이 정적 채널인 경우에는 1을 채널의 타입값으로 결정하고, j번째 채널이 동적 채널인 경우에는 j번째 채널에 대한 각 사용자들의 선호도의 합을 채널의 타입값으로 결정하는 것이다.That is, the channel type value for the corresponding channel is determined as 1 if the jth channel is a static channel, and if the jth channel is a dynamic channel, the sum of the preferences of each user for the jth channel. Is determined by the type value of the channel.
채널 특성 결정부(36)는 상술한 지연시간 산출부(32) 및 대역폭 산출부(34)에 의해 산출된 값을 이용하여 각 채널의 채널 타입과 부가적인 인트라 프레임의 개수를 결정한다. 구체적으로, 채널 특성 결정부(36)는 아래의 수학식9에 기재된 바와 같이 수학식3을 이용하여 산출된 채널 변경 지연시간이 소정 임계치()이하가 되도록 하면서, 수학식 6에서 산출된 채널의 전체 대역폭의 값을 최소화하는 와 를 구함으로써 모 든 채널들에 대한 채널 타입 및 부가적인 인트라 프레임의 개수를 결정하게 된다.The channel
일 실시예에 있어서, 채널 특성 결정부(36)는 비터비(Viterbi) 알고리즘을 이용하여 수학식 9를 만족시키면서 수학식 6을 최소화하는 와 을 구할 수 있다. 이를 도 5에 도시된 트렐리스(Trellis)를 참조하여 구체적으로 설명한다.In one embodiment, the channel
도 5에 도시된 바와 같이, 각 채널은 하나의 도메인을 구성하며, 각 도메인은 개의 상태로 구성되어 있다. 도메인 내의 각각의 상태는 각 채널의 타입과 부가적인 인트라 프레임의 개수를 나타내며, 각 도메인 상의 상태 조합에 있어 가능한 조합의 수는 개이다. m-1번째 도메인까지의 누적 상태 조합이 수학식 10과 같이 표현되고, 도메인 상에서 선택된 상태가 일 때, m번째 도메인 상의 누적 상태 조합은 수학식 11과 같이 된다.As shown in FIG. 5, each channel constitutes one domain, and each domain It consists of two states. Each state in the domain represents the type of each channel and the number of additional intra frames, and the number of possible combinations of state combinations on each domain is Dog. The cumulative state combination up to the m-1 th domain is expressed as in
일 실시예에 있어서, 최적의 해를 찾기 위한 검색 범위를 좁히기 위해 도 5에 도시된 트렐리스 상에 프루닝 (Pruning) 기법을 적용한다. 즉, m-1번째 도메인에서 m번째 도메인으로의 최적의 전이를 결정함에 있어, m번째 도메인에서 선택된 상태에 대해 수학식 9를 만족하는지 여부를 판단하여, 이를 만족하지 않는 전이를 삭제하는 것이다. 도 5에서 점선으로 표시된 부분은 도메인의 상태 중 수학식 9를 만족하지 않는 것으로서 삭제되어야할 전이를 나타낸다.In one embodiment, a pruning technique is applied on the trellis shown in FIG. 5 to narrow the search to find the optimal solution. That is, in determining the optimal transition from the m-1 th domain to the m th domain, it is determined whether the equation (9) is satisfied for the state selected in the m th domain, and the transition that does not satisfy this is deleted. In FIG. 5, a portion indicated by a dotted line indicates a transition to be deleted as not satisfying Equation 9 in the state of the domain.
또 다른 실시예에 있어서, 채널 특성 결정부(36)는 계산의 복잡도를 감소시키기 위해 다른 알고리즘을 이용하여 수학식 9를 만족시키면서 수학식 6을 최소화하는 와 을 구할 수 있다.In another embodiment, the channel
이를 구체적으로 살펴보면, 먼저 채널 특성 결정부(36)는 초기상태로 모든 채널의 채널 타입을 동적 채널로 설정하고, 영상 데이터에 삽입될 부가적인 인트라 프레임의 개수는 0으로 설정한다. 즉, 초기상태는 영상 데이터를 전송하기 위한 대역폭이 최소화되는 상태로 설정하는 것이다. 이러한 상태에서, 채널 특성 결정부(36)는 수학식3에 의해 산출된 채널 변경 지연시간이 임계값을 넘어서는 정도를 나타내는 를 산출한다. 여기서, 는 다음의 수학식 12에 의해 산출된다.In detail, first, the channel
즉, 수학식 12에 의할때, 지연시간이 임계치보다 작거나 같은 경우에는 값은 0 이 되고, 그렇지 않은 경우 양수의 값이 되는 것이다.That is, according to
채널 특성 결정부(36)는 초기 상태에서 산출된 값이 0인 경우 이러한 초기 상태의 설정값을 기준으로 채널의 타입 및 부가적인 인트라 프레임의 개수를 결정한다.The channel
만약, 초기상태에서 산출된 값이 0이 아닌 경우 초기상태에서 각 채널의 채널 타입 및 부가적인 인트라 프레임의 개수를 변경해 가면 서, 값을 계산하고, 계산된 값을 0으로 만드는 설정값이 존재하는 지를 판단한다.If calculated at initial state If the value is not 0, the channel type of each channel and the number of additional intra frames are changed in the initial state. Calculate the value, Determine if there is a setting to make the value zero.
값을 0으로 만드는 설정값이 존재하는 경우, 그 중 채널의 대역폭이 최소가 되게 하는 설정값을 기준으로 채널의 타입 및 부가적인 인트라 프레임의 개수를 결정하고, 값을 0으로 만드는 상태가 설정값이 존재하지 않는 경우, 최초 설정값의 변경으로 인해 발생하는 코스트(Cost)를 산출한 후, 산출된 코스트 값을 이용하여 초기상태를 갱신하여 다음상태를 결정한다. 이때, 코스트는 다음의 수학식 13에 의해 산출할 수 있으며, 초기상태를 갱신함에 있어서는 산출된 코스트 값이 최대인 상태의 설정값을 이용하여 초기상태를 갱신한다. If there is a setting value that makes the value zero, the channel type and the number of additional intra frames are determined based on the setting value of which the bandwidth of the channel is minimized. If the state that makes the
채널 특성 결정부(36)는 값이 0 이 되는 상태가 발견될 때까지 상술한 과정을 반복함으로써 채널의 타입 및 부가적인 인트라 프레임의 개수를 결정하게 되는 것이다. The channel
여기서, 는 상태 변화로 인해 발생하는 값의 감소량을 의미하고, 는 상태 변화로 인해 발생 되는 대역폭의 증가량을 의미한다.here, Is caused by a change in state Means a decrease in value, Means the increase of bandwidth caused by the change of state.
다시 도 4를 참조하면, 인코더(26)는 연산부(24)에 의해 결정된 개수만큼의 부가적인 인트라 프레임을 영상 데이터에 삽입하여 영상 데이터를 인코딩한다. 일 실시예에 있어서, 영상 데이터는 30 fps(Frames Per Second)로 IBBPBBPBBPBB의 구조로 인코딩된다.Referring again to FIG. 4, the
데이터 전송부(28)는 소정 채널의 타입이 정적 채널로 결정되는 경우 인코더(26)에 의해 인코딩된 영상 데이터를 사용자의 요청 이전에 사용자 단말기(19)에 인접한 라우터까지 전송하고, 소정 채널의 타입이 동적 채널로 결정되는 경우 인코더(26)에 의해 인코딩된 영상 데이터를 사용자의 요청 이전에 IPTV 방송 서버(18)에 인접한 라우터까지 전송한다.When the type of the predetermined channel is determined as the static channel, the
상술한 IPTV 서비스 제공 서버를 이용하여 IPTV 서비스를 제공하는 방법을 도 6을 참조하여 설명한다.A method of providing an IPTV service using the above-described IPTV service providing server will be described with reference to FIG. 6.
먼저, 사용자에게 제공될 각 채널들의 채널 타입 및 각 채널들을 통해 제공되는 영상 데이터에 삽입될 부가적인 인트라 프레임의 개수를 결정한다(제100단계). 이때 채널 타입은 사용자의 채널 요청 이전에 영상 데이터를 사용자 단말 기(19)에 인접한 제1 라우터까지 전송하는 정적채널과 영상 데이터를 IPTV 서비스 제공 서버(18)에 인접한 제2 라우터까지 전송하는 동적채널로 분류된다. 일 실시예에 있어서, 채널의 타입 및 각 채널에 삽입할 부가적인 인트라 프레임의 개수를 결정함에 있어서 사용자의 채널 선호도를 반영하여 각 채널의 타입을 결정하는 것이 바람직하다.First, the channel type of each channel to be provided to the user and the number of additional intra frames to be inserted into the image data provided through the respective channels are determined (step 100). In this case, the channel type is a static channel for transmitting video data to a first router adjacent to the
여기서, 각 채널들의 채널 타입 및 부가적인 인트라 프레임의 개수는 채널 변경 지연시간이 소정 임계치 이하가 되도록 하면서 영상 데이터의 제공에 요구되는 채널들의 전체 대역폭이 최소가 되게 하는 것으로 결정한다. 이때, 채널 변경 지연시간은 수학식3에 의해 산출되며, 채널들의 대역폭은 수학식6에 의해 산출된다. 이에 대한 상세한 설명은 해당 수학식의 설명 부분에서 자세히 기술하였기에 상세한 설명은 생략한다.Here, the channel type of each channel and the number of additional intra frames are determined so that the total bandwidth of channels required for providing image data is minimized while the channel change delay time is less than or equal to a predetermined threshold. In this case, the channel change delay time is calculated by
일 실시예에 있어서, 수학식 3에 의해 산출되는 채널 변경 지연시간과 수학식 6에 의해 산출되는 채널의 대역폭을 이용하여 채널의 타입 및 부가적인 인트라 프레임의 개수를 결정하기 위해 비터비 알고리즘을 이용할 수 있다. 이러한 비터비 알고리즘은 도 5에 도시된 트렐리스를 이용하여 이전 상태에서 현재 상태로의 전이들 중 수학식9를 만족시키지 않는 전이들을 삭제함으로써 최적의 채널 타입 및 부가적인 인트라 프레임의 개수를 결정하게 된다.In one embodiment, a Viterbi algorithm is used to determine the type of channel and the number of additional intra frames using the channel change delay time calculated by
또 다른 실시예에 있어서, 도 7에 도시된 알고리즘을 이용하여 최적의 채널 타입 및 부가적인 인트라 프레임의 개수를 산출할 수 있다. 도 7을 참조하면, 먼저 각 채널들을 초기상태로 설정한다(제200단계). 여기서, 초기 상태란 채널의 타 입은 동적 채널이고, 부가적인 인트라 프레임의 개수는 0인 상태를 의미하며, 이후에서는 채널의 타입 및 부가적인 인트라 프레임의 개수를 상태의 설정값으로 정의한다. 다음으로, 수학식 12를 이용하여 초기상태에서의값을 계산한다(제210단계). 계산된 값이 0인지 여부를 판단하여(제220단계), 값이 0인 경우, 초기 상태의 설정값을 기준으로 채널의 타입 및 부가적인 인트라 프레임의 개수를 결정한다(제230단계).In another embodiment, the optimal channel type and the number of additional intra frames may be calculated using the algorithm shown in FIG. 7. Referring to FIG. 7, first, each channel is set to an initial state (step 200). Here, the initial state is a type of the channel is a dynamic channel, the number of additional intra frames is 0, after which the type of the channel and the number of additional intra frames are defined as the setting value of the state. Next, using the equation (12) in the initial state The value is calculated (step 210). Calculated Determine whether the value is 0 (step 220), If the value is 0, the type of the channel and the number of additional intra frames are determined based on the set value of the initial state (operation 230).
제220단계에서, 값이 0이 아닌 경우, 초기상태에서 설정값을 변경시켜 가면서 값을 계산한 후(제235단계), 계산된 값을 0으로 만드는 설정값이 존재하는지를 판단한다(제240단계). 값을 0으로 만드는 설정값이 존재하는 경우, 그 중 채널의 대역폭이 최소가 되게 하는 설정값을 기준으로 채널의 타입 및 부가적인 인트라 프레임의 개수를 결정한다(제250단계). 제240단계에서 값을 0으로 만드는 설정값이 존재하지 않는 경우, 최초 설정값의 변경으로 인해 발생하는 코스트(Cost)를 산출하고(제260단계), 초기상태를 산출된 코스트가 최대가 되게 하는 상태의 설정값으로 갱신함으로써 다음 상태를 설정한다(제270단계). 이때, 코스트는 상술한 수학식 13에 의해 산출된다. 코스트의 산출과정에 대한 설명은 수학식 13의 설명 부분에서 기재하였으므로 상세한 설명은 생략하기로 한다.In
이후 값이 0 이 되는 설정값을 가지는 상태가 발견될 때까지 제235단계 및 제270단계를 반복함으로써 채널의 타입 및 부가적인 인트라 프레임의 개수를 결정하게 된다. after By repeating steps 235 and 270 until a state having a set value of 0 is found, the type of the channel and the number of additional intra frames are determined.
다시 도 6을 참조하면, 제100단계에서 결정된 개수만큼의 부가적인 인트라 프레임을 영상 데이터에 삽입하여 영상 데이터를 인코딩한 후(제110단계), 제100단계에서 채널의 타입이 정적 채널로 결정되는 경우 사용자의 채널 요청 이전에 인코딩된 영상 데이터를 사용자 단말기(19)에 가장 인접한 라우터까지 전송하고, 채널의 타입의 동적 채널로 결정되는 경우 사용자의 채널 요청 이전에 인코딩된 영상 데이터를 IPTV 서비스 제공 서버(18)에 가장 인접한 라우터까지 전송한다(제120단계). Referring back to FIG. 6, after encoding the image data by inserting the additional intra frames of the number determined in
도 8a 및 8b는 상술한 2개의 알고리즘을 이용하여 채널 타입과 부가적인 인트라 프레임의 개수를 산출하는 실험을 통해 분석된 각 알고리즘의 성능을 보여주는 도면이다. 먼저, 실험의 전제조건들을 간략히 설명한다. 실험환경은 OPNET을 사용하여 구현하였고, 채널 변경에 따라 발생하는 지연시간과 코어 네트워크상의 대역폭 사용량이 두 알고리즘의 성능을 비교하는 척도로서 사용되었다. 코어 네트 워크와 액세스 네트워크의 링크 대역폭은 각각 1 Gbps, 100 Mbps로 설정하였고, IP 네트워크상에 단방향 지연시간은 0.6 sec이며, 액세스 네트워크 내의 사용자 수는 20명으로 설정하였으며, 각 채널을 통해 제공되는 영상 데이터는 30 fps(Frames Per Second)로 인코딩되었고, 인코딩 구조는 IBBPBBPBBPBB이다. 8A and 8B illustrate the performance of each algorithm analyzed through an experiment of calculating the channel type and the number of additional intra frames using the two algorithms described above. First, the preconditions of the experiment are briefly described. The experimental environment was implemented using OPNET, and latency caused by channel change and bandwidth usage on the core network were used as a measure to compare the performance of the two algorithms. The link bandwidths of the core network and the access network were set to 1 Gbps and 100 Mbps, respectively, and the one-way latency on the IP network was 0.6 sec, and the number of users in the access network was set to 20 users. Image data was encoded at 30 fps (Frames Per Second), and the encoding structure is IBBPBBPBBPBB.
채널들은 SDTV 채널 그룹과 HDTV 채널 그룹으로 분류되며, 해당 채널의 대역폭은 각각 4.12 Mbps, 12.06 Mbps이다. 영상 데이터에 삽입될 부가적인 인트라 프레임의 크기는 25000 byte이며, 하나의 GOP내에 삽입될 부가적인 인트라 프레임의 최대 개수는 3으로 설정하였다. 각 사용자의 채널 요청 사이의 시간 간격은 포아송(Poisson) 분포를 따르며, λ(Request Rate)는 1/30 (Number of Requests Per Second)로 설정하였다. 각 사용자의 채널 선호도는 유니폼 (Uniform) 또는 지프 (Zipf) 분포를 따르며, 지프 분포일 경우 θ(Skew Facotr)는 1.0으로 설정하였다. 또한 일반적으로 HDTV 채널의 선호도를 SDTV 채널의 선호도보다 다소 높게 설정하였으며, 각 사용자마다 같은 채널 선호도 경향을 보이더라도 채널 번호는 다소 다를 수 있다.Channels are classified into SDTV channel group and HDTV channel group, and the bandwidth of the channel is 4.12 Mbps and 12.06 Mbps, respectively. The size of the additional intra frame to be inserted into the image data is 25000 bytes, and the maximum number of additional intra frames to be inserted into one GOP is set to three. The time interval between channel requests of each user follows the Poisson distribution, and λ (Request Rate) is set to 1/30 (Number of Requests Per Second). Channel preference of each user follows uniform or zip distribution, and in case of jeep distribution, θ (Skew Facotr) is set to 1.0. Also, in general, the preference of the HDTV channel is set slightly higher than that of the SDTV channel, and the channel number may be slightly different even if each user shows the same channel preference trend.
비터비 알고리즘은 채널수가 증가함에 따라 계산 복잡도가 지수적으로 증가하므로, 실험의 간편함을 위해 사용자의 채널 선호도는 유니폼 분포를 따르는 것으로 하고, 상대적으로 적은 채널수로 실험을 진행하였다. 실험에서, 1번 채널은 HDTV 채널이고, 2번 채널부터 5번 채널까지는 SDTV 채널이다.In the Viterbi algorithm, the computational complexity increases exponentially as the number of channels increases. For simplicity, the channel preference of the user follows the uniform distribution, and the experiment is conducted with a relatively small number of channels. In the experiment,
도 8a 및 8b에 도시된 결과에서 알 수 있듯이, 두 알고리즘은 임계치가 감소함에 따라 수학식9를 만족시키기 위해 정적 채널의 수와 부가적인 인트라 프레임의 수가 증가하고 있음을 알 수 있다. 임계치가 0.4, 1.4, 1.5일 때, 다소 차이를 보이더라도 두 알고리즘의 성능은 전반적으로 유사하나 도 7에 도시된 알고리즘의 CPU시간은 0.062sec로 비터비 알고리즘의 CPU시간인 0.109sec보다 작아 도 7에 도시된 알고리즘이 계산 복잡도 측면에서는 개선된 성능을 보이고 있음을 알 수 있다.As can be seen from the results shown in Figs. 8A and 8B, both algorithms can be seen that as the threshold decreases, the number of static channels and the number of additional intra frames increases to satisfy Equation (9). When the thresholds are 0.4, 1.4, and 1.5, although the differences are somewhat different, the performances of the two algorithms are generally similar, but the CPU time of the algorithm shown in FIG. 7 is 0.062 sec, which is less than the 0.109 sec CPU time of the Viterbi algorithm. It can be seen that the algorithm shown in Figure 1 shows the improved performance in terms of computational complexity.
도 9a 내지 9c는 도 7에 도시된 알고리즘의 성능을 보여주는 도면이다. 제시된 알고리즘의 성능을 실험하기 위해 전체 채널 30개 중에서 1번 채널, 5번 채널, 10번 채널, 20번 채널, 및 30번 채널은 HDTV 채널로 설정하고, 나머지 채널은 SDTV 채널로 설정하였으며, 각 사용자의 채널 선호도는 유니폼 또는 지프 분포를 따르며, 임계치는 1.0 sec로 설정하였다.9A to 9C are diagrams showing the performance of the algorithm shown in FIG. To test the performance of the proposed algorithm,
먼저, 사용자의 채널 선호도가 유니폼 분포를 따를 때, 도 9a 및 도 9b 에 도시된 바와 같이, 모든 채널이 동적 채널인 경우 네트워크 효율성은 가장 좋으나, 채널 변경 지연이 임계치를 넘어서는 사용자가 존재하였음을 알 수 있고, 모든 채널이 정적 채널인 경우 채널 변경 지연은 가장 좋은 성능을 보이나, 네트워크 효율성은 감소하였음을 알 수 있다. 반면 도 7에 도시된 알고리즘의 경우, 각 사용자의 채널 선호도를 기반으로 하여 채널의 타입을 결정하고, 각 채널을 통해 전송될 영상 데이터에 부가적인 인트라 프레임을 삽입함으로써, 네트워크의 효율성을 향상시키면서 사용자의 채널 변경 지연도 임계치 이하로 만들 수 있었음을 알 수 있다.First, when the channel preference of the user follows the uniform distribution, as shown in Figs. 9A and 9B, when all the channels are dynamic channels, the network efficiency is the best, but the user knows that there is a user whose channel change delay exceeds the threshold. If all channels are static channels, the channel change delay shows the best performance, but the network efficiency is reduced. On the other hand, in the algorithm shown in Fig. 7, the channel type is determined based on each user's channel preference, and an additional intra frame is inserted into the image data to be transmitted through each channel, thereby improving the efficiency of the network. It can be seen that the channel change delay can be made below the threshold.
한편, 사용자의 채널 선호도가 지프 분포를 따르는 경우에도 위와 유사한 결과를 나타내며, 도 9c에서 도시된 바와 같이 도 7에 도시된 알고리즘을 이용함으로 써 채널 변경 지연을 감소시킴과 동시에 네트워크 효율성을 향상시킬 수 있었음을 알 수 있다.On the other hand, even if the channel preference of the user follows the jeep distribution, the results are similar to the above. By using the algorithm shown in FIG. 7 as shown in FIG. 9C, the channel change delay can be reduced and the network efficiency can be improved. It can be seen that there was.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will understand that the present invention can be implemented in other specific forms without changing the technical spirit or essential features.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it is to be understood that the embodiments described above are exemplary in all respects and not restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.
도 1은 방송 서비스 제공 메커니즘과 IPTV 서비스의 제공 메커니즘을 보여주는 도면.1 is a diagram showing a broadcasting service providing mechanism and an IPTV service providing mechanism;
도 2는 일반적인 IPTV 서비스 제공 시스템의 망 구성도.2 is a network diagram of a general IPTV service providing system.
도 3은 도 2에 도시된 IPTV 제공 시스템에서의 채널 변경과정을 보여주는 도면.3 is a view showing a channel change process in the IPTV providing system shown in FIG.
도 4는 본 발명의 일 실시예에 따른 IPTV 서비스 제공 서버의 개략적인 블럭도.4 is a schematic block diagram of an IPTV service providing server according to an embodiment of the present invention.
도 5는 비터비 알고리즘의 트렐리스를 보여주는 도면.5 shows a trellis of the Viterbi algorithm.
도 6은 도 4에 도시된 IPTV 서비스 제공 서버를 이용하여 IPTV 서비스를 제공하는 방법을 보여주는 플로우차트.6 is a flowchart showing a method of providing an IPTV service using the IPTV service providing server shown in FIG. 4.
도 7은 채널의 타입 및 부가적인 인트라 프레임의 개수를 결정하는 알고리즘에 대한 플로우차트.7 is a flowchart for an algorithm for determining the type of channel and the number of additional intra frames.
도 8은 채널의 타입 및 부가적인 인트라 프레임의 개수를 결정하기 위해 사용된 알고리즘들의 성능을 비교하여 보여주는 도면. 8 shows a comparison of the performance of algorithms used to determine the type of channel and the number of additional intra frames.
도 9는 도 7에 도시된 알고리즘의 성능을 보여주는 도면.9 shows the performance of the algorithm shown in FIG.
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
10: IPTV 서비스 제공 시스템 12: 홈 네트워크10: IPTV service providing system 12: home network
13: 액세스 네트워크 14: 코어 네트워크13: access network 14: core network
16: 게이트웨이 18: IPTV 서비스 제공 서버16: Gateway 18: IPTV Serving Server
19: 사용자 단말기 20: 셋톱박스19: user terminal 20: set-top box
22: LHR2 23: FHR22: LHR2 23: FHR
24: 연산부 26: 인코더24: calculator 26: encoder
28: 데이터 전송부 30: 채널 선호도 산출부28: data transmission unit 30: channel preference calculator
32: 지연시간 산출부 34: 대역폭 산출부32: delay time calculator 34: bandwidth calculator
36: 채널 특성 결정부36: channel characteristic determination unit
Claims (23)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020070076279A KR100874094B1 (en) | 2007-07-30 | 2007-07-30 | IPTV service provision server and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020070076279A KR100874094B1 (en) | 2007-07-30 | 2007-07-30 | IPTV service provision server and method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR100874094B1 true KR100874094B1 (en) | 2008-12-16 |
Family
ID=40372632
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020070076279A Expired - Fee Related KR100874094B1 (en) | 2007-07-30 | 2007-07-30 | IPTV service provision server and method |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100874094B1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101023755B1 (en) | 2009-06-16 | 2011-03-21 | 포항공과대학교 산학협력단 | Channel control method and apparatus for providing IPTV service |
| US8223665B2 (en) | 2009-07-31 | 2012-07-17 | Postech Academy-Industry Foundation | Mobile IPTV system and method of providing mobile IPTV service |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100792025B1 (en) | 2007-06-14 | 2008-01-04 | 주식회사 셀런 | How to transfer video data when changing channel in IPTV system |
-
2007
- 2007-07-30 KR KR1020070076279A patent/KR100874094B1/en not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100792025B1 (en) | 2007-06-14 | 2008-01-04 | 주식회사 셀런 | How to transfer video data when changing channel in IPTV system |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101023755B1 (en) | 2009-06-16 | 2011-03-21 | 포항공과대학교 산학협력단 | Channel control method and apparatus for providing IPTV service |
| US8223665B2 (en) | 2009-07-31 | 2012-07-17 | Postech Academy-Industry Foundation | Mobile IPTV system and method of providing mobile IPTV service |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8468573B2 (en) | Method for reducing channel change time of internet protocol television (IPTV) and IPTV service provision server for implementing the same | |
| CN105393516B (en) | Method, device and computer readable storage medium for quality optimization using buffer and range constraints in adaptive streaming | |
| US9838329B2 (en) | Devices, systems and methods for adaptive switching of multicast content delivery to optimize bandwidth usage | |
| US10355998B2 (en) | Adaptive video over multicast | |
| EP2912813B1 (en) | A method and apparatus for distributing a media content service | |
| EP1982260B1 (en) | Method and system for streaming digital video content to a client in a digital video network | |
| JP5420759B2 (en) | Fast channel change processing for slow multicast subscriptions | |
| US7793329B2 (en) | Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique | |
| US9344682B2 (en) | Multi-media management | |
| US10645463B2 (en) | Efficient multicast ABR reception | |
| EP2151127B1 (en) | Method and arrangement for improved channel switching | |
| EP2424241A1 (en) | Method, device and system for forwarding video data | |
| US10063902B2 (en) | ABR network profile selection engine | |
| US10491964B2 (en) | Assisted acceleration for video streaming clients | |
| WO2014067566A1 (en) | Method and device for streaming video | |
| KR100874094B1 (en) | IPTV service provision server and method | |
| KR100848309B1 (en) | Apparaus and method of providing internet TV brodacasting service using fast buffering switch | |
| JP4585550B2 (en) | IPTV response delay reducing method and IPTV service providing server for implementing the method | |
| Joo et al. | Fast/On-time Channel Zapping Scheme using a Cache Server over IPTV Multicast System | |
| KR20130122117A (en) | Method and apparatus for transmitting a moving image in a real time | |
| KR20230016430A (en) | Method And Apparatus for Fast Channel Zapping by Using Peer-to-Peer Communications in IPTV Multicast System | |
| Joo et al. | A New Prefetching Scheme Based on Remote Control Inputs for Random Channel Change in IPTV Multicast Service | |
| Joo et al. | A New Method for Peer-to-Peer Assisted Fast Channel Zapping in IPTV Multicast System | |
| Kyryk et al. | Reducing channel zapping time based on predictive tuning method | |
| KR20050118835A (en) | Vod service system and method for providing the qos with loss ratio |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20111209 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20111209 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |