KR101094694B1 - Apparatus and method of initial beffering time minimize in streaming system - Google Patents
Apparatus and method of initial beffering time minimize in streaming system Download PDFInfo
- Publication number
- KR101094694B1 KR101094694B1 KR1020090025650A KR20090025650A KR101094694B1 KR 101094694 B1 KR101094694 B1 KR 101094694B1 KR 1020090025650 A KR1020090025650 A KR 1020090025650A KR 20090025650 A KR20090025650 A KR 20090025650A KR 101094694 B1 KR101094694 B1 KR 101094694B1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- frame
- track
- streaming server
- tracks
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 31
- 230000003139 buffering effect Effects 0.000 claims abstract description 32
- 230000005540 biological transmission Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 241001137903 Centropomus pectinatus Species 0.000 description 1
- 208000006930 Pseudomyxoma Peritonei Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 229920000306 polymethylpentene Polymers 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- 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/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- 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/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
본 발명은 네트워크를 통해 수신되는 프레임을 버퍼에 저장한 이후에 읽어들여 디코딩하여 재생하는 적어도 하나 이상의 터미널과, 멀티미디어 컨텐트에 대해 각기 다른 비트레이트와 프레임율로 인코딩되어 생성된 하나 이상의 트랙을 저장하고, 상기 터미널로부터 재생(PLAY) 요청이 있으면, 상기 트랙 중 비트레이트와 프레임률이 가장 낮은 트랙을 선택하여 스트리밍 서비스를 개시하여, 프레임을 터미널로 전송하는 스트리밍 서버가 멀티미디어 컨테츠를 각기 다른 비트레이트와 프레임률을 가지는 다수의 트랙을 생성한 이후에 터미널로부터 재생(PLAY) 요청되면, 비트레이트와 프레임률이 가장 낮은 트랙을 선택하여 초기 버퍼링 시간동안 프레임을 전송함에 의해 터미널이 재생 요청한 이후에 실시간으로 멀티미디어 컨텐츠를 재생할 수 있도록 하는 것이다.The present invention stores at least one terminal for reading, decoding, and playing back a frame received through a network in a buffer, and at least one track encoded and encoded at different bit rates and frame rates for multimedia content. If there is a PLAY request from the terminal, the streaming service is selected by selecting a track having the lowest bit rate and frame rate among the tracks, and the streaming server transmitting the frame to the terminal transmits the multimedia content to different bit rates. If PLAY is requested from the terminal after creating multiple tracks with frame rate, the track with the lowest bit rate and frame rate is selected and the frame is transmitted during the initial buffering time. To play multimedia content It is.
Description
본 발명은 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법 및 그 장치에 관한 것으로, 더욱 상세하게는, 터미널이 각기 다른 비트레이트와 프레임률을 가지는 다수의 트랙으로 인코딩된 멀티미디어 컨텐츠를 재생(PLAY) 요청하면, 비트레이트와 프레임률이 가장 낮은 트랙을 선택하여 프레임부터 전송하기 시작하여, 터미널 버퍼가 임계치 이상일 때 네트워크의 가용 대역폭보다 낮은 요구 전송률을 가지는 트랙 중 요구 전송률이 가장 높은 트랙을 선택하여 프레임을 전송함에 의해 터미널이 재생 요청한 이후에 실시간으로 멀티미디어 컨텐츠를 재생할 수 있는 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법 및 그 장치에 관한 것이다. The present invention relates to a method and apparatus for minimizing initial buffering time in a streaming system. More particularly, the present invention relates to a PLAY request for playing multimedia content encoded in a plurality of tracks having different bitrates and frame rates. Then, the track with the lowest bitrate and frame rate is selected and transmitted from the frame. When the terminal buffer is above the threshold, the track having the highest required data rate is selected among the tracks having the required data rate lower than the available bandwidth of the network. The present invention relates to a method and apparatus for minimizing initial buffering time in a streaming system capable of playing multimedia content in real time after a terminal requests playback.
네트워크 기술 및 전자 기술의 발전으로, 유선 네트워크뿐만 아니라 무선 네 트워크가 널리 보급되어 있으며, 이동 통신 기술이 발전함에 의해 무선 네트워크가 제공하는 전송 속도 역시 빠르게 증가하고 있다.With the development of network technology and electronic technology, wireless networks are widely used as well as wired networks, and the transmission speed provided by wireless networks is rapidly increasing with the development of mobile communication technology.
그리고, 네트워크를 통해 가입자들에게 제공하는 서비스 역시 다양해지고 있으며, 네트워크의 전송 속도가 증가함에 따라 실시간으로 끊김없이 멀티미디어 컨텐츠를 제공하는 스트리밍 서비스가 개발되어 많은 가입자들이 유선 및 무선 네트워크를 통해 스트리밍 서비스를 이용하고 있다.In addition, the services provided to subscribers through the network are also diversified, and as the transmission speed of the network increases, a streaming service has been developed that provides multimedia content in real time without interruption, so that many subscribers can use streaming services through wired and wireless networks. I use it.
이러한 스트리밍 서비스는 종래의 유선 네트워크뿐만 아니라 무선 네트워크 기술을 발전으로 무선 네트워크를 통해 무선 터미널(예를 들어, 노트북, 핸드폰, PMP, PDA 등)로 멀티미디어 컨텐츠를 제공할 수 있음에 따라 보다 많은 가입자들이 시간/장소에 구애받지 않고 스트리밍 서비스를 이용하고 있다.This streaming service is capable of providing multimedia contents to wireless terminals (eg, laptops, mobile phones, PMPs, PDAs, etc.) through wireless networks by developing wireless network technologies as well as conventional wired networks. I use streaming service regardless of time and place.
기본적으로 스트리밍 서비스는 스트리밍 서버와 터미널간 RTSP(Real Time Streaming Protocol)에 따라 네트워크의 TCP(Transmission Control Protocol) 상에서 RTP(Real Time Protocol) 패킷을 전송하기 위한 세션을 설정하고, 세션이 설정되면, 스트리밍 서버는 UDP(user datagram protocol) 또는 RTSP 요청과 응답을 전달하는 채널 상에서 RTP에 따라 패킷을 전송한다. 즉, 스트리밍 서버와 터미널간 제어 세션은 TCP 상에서 설정되고, 데이터 전송 세션은 UDP 또는 RTSP 요청과 응답을 전달하는 채널 상에서 설정된다.By default, the streaming service establishes a session for transmitting Real Time Protocol (RTP) packets over the Transmission Control Protocol (TCP) of the network according to the Real Time Streaming Protocol (RTSP) between the streaming server and the terminal. Server is a channel that carries user datagram protocol (UDP) or RTSP requests and responses Packets according to RTP over the network In other words, the control session between the streaming server and the terminal is established over TCP, and the data transfer session is established over the channel carrying UDP or RTSP requests and responses.
즉, 스트리밍 서버와 터미널은 RTSP의 메쏘드를 통해 세션을 설정/종료하고, 터미널이 스트리밍 서버로 RTP 패킷을 요청/일시 중지 등을 요청한다.That is, the streaming server and the terminal establish / end the session through the RTSP method, and the terminal requests / pauses an RTP packet to the streaming server.
그러므로, 스트리밍 서버는 터미널이 RTP 패킷을 요청하면, 터미널이 선택한 멀티미디어 컨텐츠에 대한 RTP 패킷을 전송하기 시작하고, 터미널은 스트리밍 서버로부터 일정 시간동안 수신되는 RTP 패킷을 버퍼에 저장한 이후에 여러 개의 RTP 패킷이 모여 구성되는 프레임을 읽어들여 디코딩한 이후에 재생하게 된다.Therefore, when a terminal requests an RTP packet, the streaming server begins to send an RTP packet for the multimedia content selected by the terminal, and the terminal stores several RTP packets after buffering the RTP packets received for a certain period of time from the streaming server. The frames composed of packets are read, decoded, and played.
이와 같은 기존의 스트리밍 서비스를 제공하는 방식은 터미널이 재생을 요청한 이후에 일정 시간동안 또는 하나의 프레임이 구성되는 여러개의 RTP 패킷이 수신되는 동안에 지연(delay)이 발생하게 된다. 즉 가입자는 터미널이 재생 버튼을 선택한 이후에 바로 멀티미디어 컨텐츠를 시청하는 것이 아니라 일정 시간동안 대기한 이후에 시청하게 된다.In the existing method of providing a streaming service, a delay occurs for a predetermined time after the terminal requests playback or during reception of several RTP packets including one frame. In other words, the subscriber does not immediately watch the multimedia content after the terminal selects the play button but waits for a predetermined time.
따라서, 가입자가 재생 버튼을 선택한 이후에 가입자가 대기 상태를 느낄 수 없을 정도로 실시간으로 멀티미디어 컨텐츠를 시청할 수 있도록 하여 서비스 품질을 향상시켜야 한다.Therefore, after the subscriber selects the play button, the subscriber should be able to watch the multimedia contents in real time so that the subscriber cannot feel the standby state, thereby improving the quality of service.
즉, 스트리밍 서버가 터미널로부터 RTP 패킷을 요청(PLAY)하면, 터미널이 실시간으로 컨텐츠를 재생할 수 있도록 빠른 시간내에 RTP 패킷을 전송할 수 있는 방법의 개발이 필요하다.That is, when a streaming server requests an RTP packet from a terminal, it is necessary to develop a method for transmitting the RTP packet in a short time so that the terminal can play content in real time.
본 발명은 상술한 필요성을 충족시키기 위해 제안되는 것으로, 스트리밍 시스템에서 프레임을 터미널로 전송하는 스트리밍 서버가 터미널로부터 재생(PLAY) 요청되면, 빠른 시간내에 터미널이 멀티미디어 컨텐츠를 재생할 수 있으므로, 가입 자가 멀티미디어 컨텐츠를 시청하는 데 소요되는 대기 시간을 느끼지 않도록 하여 서비스 품질을 향상시킬 수 있는 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법 및 그 장치를 제공하는 데 그 목적이 있다.The present invention has been proposed to meet the above-mentioned needs. When a streaming server transmitting a frame to a terminal is requested to play from a terminal in a streaming system, the terminal can play multimedia content in a short time. An object of the present invention is to provide a method and apparatus for minimizing initial buffering time in a streaming system that can improve the quality of service by not feeling the waiting time for watching content.
본 발명의 일측면에 따른 스트리밍 시스템은, 네트워크를 통해 수신되는 프레임을 버퍼에 저장한 이후에 읽어들여 디코딩하여 재생하는 적어도 하나 이상의 터미널과, 적어도 하나 이상의 멀티미디어 컨텐츠에 대해 각기 다른 비트레이트와 프레임률로 인코딩된 다수의 트랙을 저장하고, 상기 터미널로부터 재생(PLAY) 요청이 있으면, 상기 트랙 중 비트레이트와 프레임률이 가장 낮은 트랙을 선택하여 상기 터미널의 초기 버퍼링 시간이 최소화되도록 해당 터미널로 프레임을 전송하는 스트리밍 서버를 포함한다.According to an aspect of the present invention, a streaming system includes at least one terminal for storing a frame received through a network in a buffer, and then reading, decoding, and reproducing the bitrate and frame rate for at least one multimedia content. Stores a plurality of tracks encoded with a PLAY, and if there is a PLAY request from the terminal, And a streaming server for selecting a track having the lowest frame rate and transmitting the frame to the terminal to minimize the initial buffering time of the terminal.
상기 스트리밍 서버는, 상기 네트워크 환경에 따라 전송되는 상기 프레임이 상기 터미널의 버퍼에 일정 비율 이상이 저장되는 초기 버퍼링 시간이 경과되면, 요구 전송률에 상응하는 트랙을 선택한다.The streaming server selects a track corresponding to the requested transmission rate when an initial buffering time for storing the frame transmitted according to the network environment is stored in the terminal buffer for a predetermined ratio or more.
상기 스트리밍 서버는, 상기 각 트랙의 비디오 코덱 파라미터 값을 동일하게 적용하며, 상기 트랙이 변경되면, I(Infra) 프레임이 전송되는 순간에 상기 변경되는 트랙의 프레임을 해당 터미널로 전송한다.The streaming server applies the same video codec parameter value of each track, and when the track is changed, transmits the frame of the changed track to the corresponding terminal at the moment when an I (Infra) frame is transmitted.
상기 스트리밍 서버는, 상기 스트리밍 서버는, 상기 트랙이 변경되는 순간에 상기 변경되는 트랙의 프레임을 해당 터미널로 전송하며, 비디오 트랙의 경우 프레 임율이 트랙을 사용하므로 오디오 및 비디오의 동기화를 위해 타임스탬프(time stamp) 값을 보상한다.The streaming server transmits the frame of the changed track to the corresponding terminal at the moment the track is changed, and in the case of a video track, the frame rate uses the track so that the timestamp is used for synchronizing audio and video. (time stamp) value is compensated.
본 발명의 다른 측면에 따른 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법은, 스트리밍 서버가 적어도 하나 이상의 멀티미디어 컨텐츠에 대해 각기 다른 비트레이트와 프레임률로 인코딩되어 생성된 다수의 트랙을 저장하는 단계와, 터미널로부터 재생 요청이 있으면, 상기 터미널의 초기 버퍼링 시간이 최소화되도록 상기 트랙 중 비트레이트와 프레임률이 가장 낮은 트랙을 선택하는 단계와, 초기 버퍼링 시간동안 상기 트랙의 프레임을 해당 터미널로 전송한 이후에 요구 전송률에 상응하는 트랙을 선택하는 단계를 포함한다.A method of minimizing initial buffering time in a streaming system according to another aspect of the present invention includes the steps of: a streaming server storing a plurality of tracks generated by encoding different bitrates and frame rates for at least one or more multimedia contents; If there is a play request from a terminal, selecting a track having the lowest bit rate and frame rate among the tracks to minimize the initial buffering time of the terminal, and after transmitting the frame of the track to the terminal during the initial buffering time. Selecting a track corresponding to the required transmission rate.
상기 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법은, 상기 트랙이 변경되면, I(Infra) 프레임이 전송되는 순간에 상기 변경되는 트랙의 프레임을 해당 터미널로 전송하는 단계를 더 포함한다.The method for minimizing initial buffering time in the streaming system may further include transmitting a frame of the changed track to a corresponding terminal when an I (Infra) frame is transmitted when the track is changed.
상기 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법은, 상기 트랙이 변경되는 순간에 상기 변경되는 트랙의 프레임을 해당 터미널로 전송하는 단계와, 오디오 및 비디오의 동기화를 위해 타임스탬프(time stamp) 값을 보상하는 단계를 더 포함한다.In the streaming system, a method of minimizing initial buffering time may include transmitting a frame of the changed track to a corresponding terminal at a moment when the track is changed, and using a time stamp value for synchronizing audio and video. Compensating further.
본 발명의 또 다른 측면에 따른 스트리밍 시스템은, 네트워크를 통해 수신되는 프레임을 버퍼에 저장한 이후에 읽어들여 디코딩하여 재생하는 적어도 하나 이상의 터미널과, 적어도 하나 이상의 멀티미디어 컨텐츠에 대해 각기 다른 비트레이트와 프레임률로 인코딩되어 생성된 다수의 트랙을 저장하고, 상기 터미널로부터 재생(PLAY) 요청이 있으면, 상기 네트워크의 가용 대역폭보다 작은 요구 전송률을 가지는 트랙 중 가장 높은 요구 전송률을 가지는 트랙을 선택하여 상기 터미널의 초기 버퍼링 시간이 최소화되도록 해당 터미널로 프레임을 전송하는 스트리밍 서버를 포함한다.According to another aspect of the present invention, a streaming system includes at least one terminal for reading, decoding, and playing a frame received through a network in a buffer, and different bit rates and frames for at least one multimedia content. Stores a plurality of tracks encoded at a rate, and when there is a PLAY request from the terminal, selects a track having the highest demand rate among the tracks having a demand rate smaller than the available bandwidth of the network, It includes a streaming server that transmits frames to the terminal to minimize initial buffering time.
본 발명의 또 다른 측면에 따른 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법은, 스트리밍 서버가 적어도 하나 이상의 멀티미디어 컨텐츠에 대해 각기 다른 비트레이트와 프레임률로 인코딩되어 생성된 다수의 트랙을 저장하는 단계와, 상기 네트워크의 가용 대역폭을 측정하는 단계와, 상기 상기 터미널의 초기 버퍼링 시간이 최소화되도록 상기 가용 대역폭보다 작은 요구 전송률을 가지는 트랙 중 가장 높은 요구 전송률을 가지는 트랙을 선택하는 단계와, 해당 터미널로 상기 선택된 트랙의 프레임을 전송하는 단계를 포함한다.According to another aspect of the present invention, a method for minimizing initial buffering time in a streaming system includes: storing, by a streaming server, a plurality of tracks generated by encoding different bit rates and frame rates for at least one multimedia content; Measuring an available bandwidth of the network, selecting a track having a highest required transmission rate among tracks having a required transmission rate smaller than the available bandwidth so that the initial buffering time of the terminal is minimized; Transmitting the frame of the selected track.
상술한 본 발명에 따르면, 스트리밍 시스템에서 프레임을 터미널로 전송하는 스트리밍 서버가 멀티미디어 컨테츠를 각기 다른 비트레이트 및 프레임률을 가지는 다수의 트랙을 저장한 이후에 터미널로부터 재생(PLAY) 요청되면, 프레임률이 가장 낮은 트랙을 선택한 이후에 초기 버퍼링 시간동안 프레임을 전송하여 터미널이 재생 요청한 이후에 실시간으로 멀티미디어 컨텐츠를 재생할 수 있다.According to the present invention described above, if a streaming server for transmitting a frame to a terminal in a streaming system requests playback from a terminal after storing a plurality of tracks having different bit rates and frame rates for a multimedia content, the frame rate is determined. After selecting the lowest track, frames can be sent during the initial buffering time to play multimedia content in real time after the terminal requests playback.
또한, 스트리밍 서버가 멀티미디어 컨테츠를 각기 다른 비트레이트 및 프레임률을 가지는 다수의 트랙을 저장하거나, 별도의 저장 장치에 저장된 다수의 트랙 을 터미널로부터 재생(PLAY) 요청되면, 네트워크의 가용 대역폭보다 낮은 요구 전송률을 가지는 트랙 중 요구 전송률이 가장 높은 트랙을 선택하여 프레임을 전송함에 의해 터미널이 재생 요청한 이후에 실시간으로 멀티미디어 컨텐츠를 재생할 수 있다.In addition, if the streaming server stores a plurality of tracks having different bit rates and frame rates for multimedia content, or if a plurality of tracks stored in a separate storage device are requested to be played from a terminal, the streaming server may request lower than the available bandwidth of the network. By selecting the track having the highest transmission rate among the tracks having the transmission rate and transmitting the frame, the multimedia content can be played back in real time after the terminal requests playback.
이하 본 발명에 따른 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법 및 그 장치를 첨부한 도면을 참조하여 상세 설명하고, 본 발명의 주된 기술 내용을 흐리거나, 주지된 기술 내용에 대한 상세 설명은 생략한다.Hereinafter, a method and a device for minimizing initial buffering time in a streaming system according to the present invention will be described in detail with reference to the accompanying drawings, and the main technical contents of the present invention will be described in detail, or a detailed description of well-known technical contents will be omitted. .
도 1은 본 발명에 따른 스트리밍 시스템을 설명하기 위한 블록 도면이다.1 is a block diagram illustrating a streaming system according to the present invention.
도 1을 참조하면, 스트리밍 서버(200)와 터미널(100)은 유선 또는 무선 네트워크를 통해 연결되며, 스트리밍 서버(200)와 터미널(100)은 RTCP(Real Time Control Protocol)의 메쏘드에 따라 세션을 설정한 이후에 데이터 세션(channel)을 RTP 패킷을 전송한다.Referring to FIG. 1, the
터미널(100)은 스트리밍 서버(200)로부터 RTP 패킷을 수신하는 패킷 수신부(110)와, 패킷 수신부(110)를 통해 수신되는 RTP 패킷을 임시 저장하는 버퍼(120)와, 버퍼(120)에 임시 저장된 RTP 패킷을 프레임 단위로 읽어들여 디코딩하는 디코더(130)를 포함한다.The
그리고, 스트리밍 서버(200)는 다수의 터미널(100)과 설정되는 세션을 관리하는 세션 관리부(210)와, RTCP의 메쏘드에 따라 터미널(100)과 세션을 설정/종료 하는 RTCP 핸들러(220)와, 다수의 멀티미디어 컨텐츠를 저장하는 데이터 베이스(미도시)를 포함하고, RTCP 핸들러(220)는 데이터 베이스에 저장된 멀티미디어 컨텐츠의 다수의 트랙 중 적절한 트랙을 선택하는 트랙 선택부(230)를 포함한다.In addition, the
RTCP 핸들러(220)는 RTCP의 메쏘드를 처리한다.RTCP handler 220 processes the methods of RTCP.
도 2는 본 발명에 따른 스트리밍 시스템의 세션 설정 및 패킷 전송 흐름을 설명하기 위한 도면이고, 도 3은 RTSP에 따른 메쏘드(method)를 설명하기 위한 도면이다.2 is a view for explaining the session setup and packet transmission flow of the streaming system according to the present invention, Figure 3 is a view for explaining a method (method) according to the RTSP.
도 2를 참조하면, 스트리밍 서버(200)와 터미널(100)은 RTSP에 따라 TCP 상에서 패킷을 전송하기 위한 세션을 설정하고, 세션이 설정되면, 스트리밍 서버(200)는 UDP 또는 RTSP 요청과 응답을 전달하는 채널 상에서 RTP에 따라 패킷을 전송한다. 즉, 스트리밍 서버(200)와 터미널(100)간 제어 세션은 TCP 상에서 설정되고, 데이터 전송 세션은 UDP 또는 RTSP 요청과 응답을 전달하는 채널 상에서 설정된다.Referring to FIG. 2, the
도 3에 나타난 바와 같이 스트리밍 서버(200)와 터미널(100)은 RTSP의 메쏘드를 통해 세션을 설정/종료하고, 터미널(100)이 스트리밍 서버(200)로 패킷을 요청/일시 중지 등을 요청한다.As shown in FIG. 3, the
RTSP에 대한 내용은 'RFC 2326'에 정의되어 있고, RTP에 대한 내용은 'RFC 1889'에 정의되어 있으므로, 상세 설명은 생략한다.The details of RTSP are defined in 'RFC 2326', and the details of RTP are defined in 'RFC 1889', so the detailed description is omitted.
스트리밍 서버(200)는 멀티미디어 컨텐츠에 대해 각기 다른 비트레이트(BPS : bit per second)와 프레임률(FPS : frame per second)로 인코딩되어 생성된 다수의 트랙(Track)을 데이터 베이스에 저장한다. The
스트리밍 서버(200)의 데이터 베이스에 저장되는 다수의 트랙은 각기 다른 비트레이트와 프레임으로 멀티미디어 컨텐츠(예를 들어, 비디오 데이터)를 인코딩하는 별도의 툴을 통해 생성되어 스트리밍 서버(200)가 데이터 베이스에 저장한다.A plurality of tracks stored in the database of the
도 4는 본 발명에 따른 비트레이트와 프레임률이 다른 트랙으로 구성된 멀티미디어 파일을 설명하기 위한 도면이다.4 is a diagram illustrating a multimedia file composed of tracks having different bit rates and frame rates according to the present invention.
도 4를 참조하면, 스트리밍 서버(200)는 초기 버퍼링 시간을 최소화하기 위해 각기 다른 비트레이트와 프레임률로 인코딩된 다수개(예를 들어, 3개)의 트랙을 을 가진 멀티미디어 파일을 이용한다.Referring to FIG. 4, the
도 4에 도시된 바와 같이, 각 트랙은 비트레이트와 프레임률이 각기 다르지만, 기타 비디오 코덱 파라미터 값은 동일하게 설정되며, H.263, H.264, MPEG-4 visual 등과 같은 비디오 코덱에 모두 적용할 수 있다.As shown in FIG. 4, each track has a different bitrate and frame rate, but other video codec parameter values are set to the same value, and applied to all video codecs such as H.263, H.264, and MPEG-4 visual. can do.
한편, 도 1 및 도 4에 도시된 track 1, track 2, track 3는 각각 비디오의 트랙을 의미하고 3개의 트랙 전체는 파일 하나를 의미한다. 여기서 멀티미디어 컨텐츠의 오디오 트랙은 설명의 편의상 도시하지 않은 것이다.Meanwhile,
또한, 각 오디오 및 비디오 트랙으로 구성되는 파일은 스트리밍 서버(200) 내의 데이터 베이스 이외에 별도의 네트워크 파일 시스템과 같은 저장 장치에 저장되고, 스트리밍 서버(200)가 저장 장치에 저장된 트랙을 터미널(100)로 전송할 수 있다.In addition, the file consisting of each audio and video track is stored in a storage device such as a separate network file system in addition to the database in the
이때, 동일한 영상을 각기 다른 비트레이트와 프레임률로 인코딩하여 하나 이상의 트랙을 가지는 멀티미디어 컨텐츠는 스트리밍 서버(200)가 아닌 별도의 툴을 통해 생성되고, 오디오와 비디오 데이터 중 오디오의 경우 데이터 양이 작아서 비트레이트와 프레임률을 바꿔가면서 하나 이상의 트랙으로 만들 필요가 없고 비디오의 경우 여러 개의 트랙으로 생성하여 최적의 스트리밍 서비스를 제공한다.In this case, the multimedia content having one or more tracks by encoding the same image at different bit rates and frame rates is generated through a separate tool instead of the
한편, 스트리밍 서버(200)는 선택적으로 비디오 데이터뿐만 아니라 오디오 데이터도 각기 다른 비트레이트와 프레임률을 가지는 여러 개의 트랙을 이용해 비디오와 같은 방식으로 전송함으로써 초기 버퍼링 시간을 최소화하는데 적용할 수 있다.Meanwhile, the streaming
그리고, 본 발명에 따른 스트리밍 서버(200)의 트랙 선택부(230)는 크게 네트워크의 가용 대역폭(available bandwidth)을 반영하지 않고 트랙을 선택하는 제1 방식과, 네트워크의 가용 대역폭을 반영하여 트랙을 선택하는 제2 방식으로 적절한 트랙을 선택한다.In addition, the
스트리밍 서버(200)가 네트워크의 가용 대역폭을 반영하지 않고 트랙을 선택하는 제1 방식은, 터미널(100)로부터 RTP 패킷의 요청, 즉 재생(PLAY)이 요청되면, 터미널(100)이 선택한 멀티미디어 컨텐츠의 각 트랙 중 가장 비트레이트와 프레임률이 낮은 트랙을 우선적으로 선택하고, 초기 버퍼링 시간이 경과되면, 터미널(100)로부터 요구되는 요구 전송률에 해당하는 트랙을 선택한다.The first method of selecting a track without reflecting the available bandwidth of the network by the streaming
이때, 스트리밍 서버(200)가 가장 비트레이트와 프레임률이 낮은 트랙을 선택하는 초기 버퍼링 시간은 터미널(100)의 버퍼(120)에 충분히 많은 RTP 패킷이 임시 저장될 정도의 시간을 의미하며, 초기 버퍼링 시간이 지나치게 길면, 터미널이 낮은 비트레이트와 프레임률로 인코딩된 즉 화질이 나쁜 프레임을 플레이하는 시간이 길어지기 때문에 적절한 초기 버퍼링 시간을 설정해야 한다.In this case, the initial buffering time during which the
한편, 스트리밍 서버(200)가 네트워크의 가용 대역폭을 반영하여 트랙을 선택하는 제2 방식은, 스트리밍 서버(200)가 네트워크의 가용 대역폭을 측정한 다음 가용 대역폭과 각 트랙의 요구 전송률을 비교한 이후에 가용 대역폭보다 작은 요구 전송률을 가지는 트랙 중 요구 전송률이 가장 큰 트랙을 선택한다. 즉, 스트리밍 서버(200)는 시간이 경과됨에 따라 가용 대역폭이 요구 전송률 또는 평균 비트레이트 보다 크게 되므로 점차 터미널 버퍼에 저장되는 패킷 량이 최대 버퍼 레벨을 초과될 수 있으므로, 터미널(100)의 버퍼(120)가 최대 버퍼 레벨에 도달하게 되면, 버퍼 레벨 또는 가용 대역폭에 따라 전송율을 조절하는 것이 바람직하다.On the other hand, in the second method in which the
도 4에 예시된 바와 같이, 제1 트랙의 요구 전송률은 200Kbps이고, 제2 트랙의 요구 전송률이 150 Kbps이고, 제3 트랙의 요구 전송률이 100Kbps인 상태에서 네트워크의 가용 대역폭이 180Kbps이면, 제2 트랙을 선택한다.As illustrated in FIG. 4, if the required data rate of the first track is 200 Kbps, the required data rate of the second track is 150 Kbps, and the required data rate of the third track is 100 Kbps, the available bandwidth of the network is 180 Kbps. Select a track.
이때, 스트리밍 서버(200)가 가용 대역폭을 측정하는 방식은 'Manish Jain'와 'Constantinos Dovrolis'가 'End-to-end Available Bandwidth: Measurement Methodology, Dynamics, and Relation with TCP Throughput'에서 제안한 Pathload 방식이나, RTCP RR(Receiver Report) 메시지를 분석할 수 있으며, 기타 다른 방식으로 가용 대역폭을 측정하는 방식을 사용하는 경우라도 본 발명에 적용됨을 알 수 있다.At this time, the streaming
그리고, 스트리밍 서버(200)는 선택되는 트랙이 변경되는 경우에는 I(Infra) 프레임이 전송되는 순간에 트랙을 변경하여 최상의 화질을 유지하도록 하는 것이 바람직하다.When the selected track is changed, the streaming
프레임에는 크게 I 프레임, P(Predicted) 프레임, B(Bidirectional) 프레임으로 구분할 수 있으며, 가장 화질이 좋으며, 스트리밍 서버(200)는 상기 도 4에 예시된 바와 같이, 키 값을 포함하는 I 프레임을 전송하는 순간에 트랙을 변경한다. The frame may be classified into an I frame, a P (Predicted) frame, and a B (Bidirectional) frame, and have the best image quality. The streaming
한편, 스트리밍 서버(200)는 화질에 손해가 있으나, B, P 프레임 위치에서도 트랙을 변경할 수 있다.On the other hand, the streaming
그러나, 스트리밍 서버(200)가 트랙이 변경되는 순간에 전송되는 프레임을 변경하는 경우에는 시간축에 오디오 및 비디오가 동기가 맞지 않기 때문에 오디오 및 비디오의 동기화를 유지하기 위해서 타임스탬프(time stamp) 값을 보상한다.However, when the
도 5는 본 발명의 제1 실시예에 따른 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법을 설명하기 위한 플로챠트이다.5 is a flowchart for describing a method of minimizing initial buffering time in a streaming system according to a first embodiment of the present invention.
도 5를 참조하면, 본 발명에 따른 스트리밍 서버(200)는 멀티미디어 컨텐츠의 비디오 데이터를 각기 다른 비트레이트와 프레임률로 인코딩되어 생성된 다수개의 트랙을 데이터 베이스에 저장한다(S 100). Referring to FIG. 5, the streaming
그리고, 스트리밍 서버(200)는 터미널(100)로부터 재생 요청이 있으면, 해당 멀티미디어 컨텐츠의 트랙 중 비트레이트와 프레임률이 가장 낮은 트랙을 선택한다(S 110).If there is a playback request from the terminal 100, the streaming
스트리밍 서버(200)는 초기 버퍼링 시간동안 비트레이트와 프레임률이 가장 낮은 트랙의 프레임을 터미널(100)로 전송한 이후에 요구 전송률에 따른 트랙을 선택하여 트랙을 변경한다(S 120).After the
스트리밍 서버(200)는 변경되는 트랙의 프레임을 터미널(100)로 전송한다(S 130).The streaming
이때, 스트리밍 서버(200)는 I 프레임이 전송되는 순간 트랙을 변경하여 최상의 화질이 보장하도록 하는 것이 바람직하다.In this case, the streaming
한편, 스트리밍 서버(200)는 트랙이 변경되는 순간에 전송되는 변경되는 트랙의 프레임을 전송할 수 있으며, 시간축에 오디오 및 비디오가 동기가 맞지 않기 때문에 오디오 및 비디오의 동기화를 유지하기 위해서 타임스탬프(time stamp) 값을 보상하는 것이 바람직하다.Meanwhile, the streaming
도 6은 본 발명의 제2 실시예에 따른 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법을 설명하기 위한 플로챠트이다.6 is a flowchart illustrating a method of minimizing initial buffering time in a streaming system according to a second embodiment of the present invention.
도 6을 참조하면, 본 발명에 따른 스트리밍 서버(200)는 멀티미디어 컨텐츠의 비디오 데이터를 각기 다른 비트레이트와 프레임률로 인코딩되어 있는 다수개의 트랙을 데이터 베이스에 저장한다(S 200). Referring to FIG. 6, the streaming
스트리밍 서버(200)는 터미널(100)로부터 재생 요청이 있으면, 네트워크의 가용 대역폭을 측정한다(S 210). If there is a playback request from the terminal 100, the streaming
그리고, 스트리밍 서버(200)는 가용 대역폭과 각 트랙의 요구 전송률을 비교하고(S 220), 가용 대역폭보다 작은 요구 전송률을 가지는 트랙 중 요구 전송률이 가장 큰 트랙을 선택한다(S 230).Then, the streaming
스트리밍 서버(200)는 선택되는 트랙의 프레임을 터미널(100)로 전송한다(S 240).The streaming
상술한 본 발명에 따르면, 스트리밍 서버(200)가 각 멀티미디어 컨텐츠에 대하여 각기 다른 비트레이트와 프레임률로 인코딩하여 다수의 트랙을 생성하고, 터미널(100)로부터 재생 요청이 있으면, 비트레이트와 프레임률이 가장 낮은 트랙의 프레임을 초기 버퍼링 시간동안 전송함에 의해 터미널(100)이 빠른 시간내에 초기 화면을 재생할 수 있도록 한다.According to the present invention described above, the streaming
또한, 본 발명에 따르면, 스트리밍 서버(200)가 네트워크의 가용 대역폭을 측정 가능한 경우에는 네트워크의 가용 대역폭보다 요구 전송률이 작으면서 프레임률이 가장 큰 트랙의 프레임을 터민널로 전송하여, 터미널(100)이 빠른 시간내에 초기 화면을 재생할 수 있으므로, 가입자가 터미널(100)의 재생 버튼을 선택한 이후에 실시간으로, 즉 대기 시간이 거의 없이 컨텐츠를 시청할 수 있다.According to the present invention, when the
이상에서 본 발명은 기재된 구체 예에 대해서만 상세히 설명하였지만 본 발명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.Although the present invention has been described in detail only with respect to the described embodiments, it will be apparent to those skilled in the art that various modifications and changes are possible within the technical spirit of the present invention, and such modifications and modifications belong to the appended claims.
도 1은 본 발명에 따른 스트리밍 시스템을 설명하기 위한 블록 도면.1 is a block diagram illustrating a streaming system according to the present invention.
도 2는 본 발명에 따른 스트리밍 시스템의 세션 설정 및 패킷 전송 흐름을 설명하기 위한 도면.2 is a diagram illustrating a session establishment and packet transmission flow of a streaming system according to the present invention.
도 3은 RTSP에 따른 메쏘드(method)를 설명하기 위한 도면.3 is a view for explaining a method (method) according to the RTSP.
도 4는 본 발명에 따른 데이터 베이스에 저장되는 트랙을 설명하기 위한 도면.4 is a view for explaining a track stored in the database according to the present invention.
도 5는 본 발명의 제1 실시예에 따른 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법을 설명하기 위한 플로챠트.5 is a flowchart illustrating a method of minimizing initial buffering time in a streaming system according to a first embodiment of the present invention.
도 6은 본 발명의 제2 실시예에 따른 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법을 설명하기 위한 플로챠트.6 is a flowchart illustrating a method of minimizing initial buffering time in a streaming system according to a second embodiment of the present invention.
**도면의 주요부분에 대한 부호의 설명**DESCRIPTION OF REFERENCE NUMERALS
100 : 터미널 110 : 패킷 수신부100 terminal 110 packet receiving unit
120 : 버퍼 130 : 디코더120: buffer 130: decoder
200 : 스트리밍 서버 210 : 세션 관리부200: streaming server 210: session management unit
220 : RTCP(Real Time Control Protocol) 핸들러220: Real Time Control Protocol (RTCP) handler
230 : 트랙 선택부230: track selector
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090025650A KR101094694B1 (en) | 2009-03-26 | 2009-03-26 | Apparatus and method of initial beffering time minimize in streaming system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090025650A KR101094694B1 (en) | 2009-03-26 | 2009-03-26 | Apparatus and method of initial beffering time minimize in streaming system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100107544A KR20100107544A (en) | 2010-10-06 |
KR101094694B1 true KR101094694B1 (en) | 2011-12-16 |
Family
ID=43129225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090025650A KR101094694B1 (en) | 2009-03-26 | 2009-03-26 | Apparatus and method of initial beffering time minimize in streaming system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101094694B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004039034A1 (en) * | 2002-10-24 | 2004-05-06 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for reducing initial buffering time for a streaming application |
-
2009
- 2009-03-26 KR KR1020090025650A patent/KR101094694B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004039034A1 (en) * | 2002-10-24 | 2004-05-06 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for reducing initial buffering time for a streaming application |
Also Published As
Publication number | Publication date |
---|---|
KR20100107544A (en) | 2010-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10826958B2 (en) | Content server media stream management | |
CN102946570B (en) | Transmission system and method for multi-stream streaming media of self-adaption network bandwidth | |
US8612620B2 (en) | Client capability adjustment | |
KR101727450B1 (en) | Reducing delay in video telephony | |
US20100121974A1 (en) | Stepwise probing for adaptive streaming in a packet communication network | |
US20080151885A1 (en) | On-Demand Multi-Channel Streaming Session Over Packet-Switched Networks | |
US8355450B1 (en) | Buffer delay reduction | |
CN101601266A (en) | The method and apparatus that is used for video telephony quality assessment | |
US20090259756A1 (en) | Transmitting media stream bursts | |
JP2006500797A (en) | How to enable packet transfer delay compensation during multimedia streaming | |
CN104735470A (en) | Streaming media data transmission method and device | |
US20080133744A1 (en) | Multimedia data streaming server and method for dynamically changing amount of transmitting data in response to network bandwidth | |
EP2627082A2 (en) | Method for transmitting a scalable http stream for natural reproduction upon the occurrence of expression-switching during http streaming | |
Subekti et al. | QoS analysis for WebRTC videoconference on bandwidth-limited network | |
CN100544437C (en) | A kind of bandwidth adapting system of streaming media | |
JP4283186B2 (en) | Bidirectional video communication quality control system, user terminal, quality management server and program | |
KR101055169B1 (en) | Traffic control method and device therefor in streaming system | |
KR101094694B1 (en) | Apparatus and method of initial beffering time minimize in streaming system | |
KR20140086801A (en) | Realtime content transcoding method, apparatus and system, and realtime content reception method and apparatus | |
KR101201737B1 (en) | dynamic streaming system and method based RTSP | |
KR20070048014A (en) | A data quality managing method via bit rate control in real time control protocol | |
Wood et al. | QoS Mapping for Multimedia Applications in a Wireless ATM Environment | |
Lundan et al. | Optimal 3GPP packet-switched streaming service (PSS) over GPRS networks | |
CN114844872A (en) | Cloud mobile phone dynamic code stream adjusting method and system | |
Ji | VBR Video Streaming over Wireless Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20141208 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20151208 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20191202 Year of fee payment: 9 |