KR20120035819A - 실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법 - Google Patents

실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법 Download PDF

Info

Publication number
KR20120035819A
KR20120035819A KR1020100132533A KR20100132533A KR20120035819A KR 20120035819 A KR20120035819 A KR 20120035819A KR 1020100132533 A KR1020100132533 A KR 1020100132533A KR 20100132533 A KR20100132533 A KR 20100132533A KR 20120035819 A KR20120035819 A KR 20120035819A
Authority
KR
South Korea
Prior art keywords
data
subgroup
scalable video
layer
video bitstream
Prior art date
Application number
KR1020100132533A
Other languages
English (en)
Other versions
KR101663769B1 (ko
Inventor
배성준
강정원
임정연
송진한
Original Assignee
한국전자통신연구원
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 에스케이텔레콤 주식회사 filed Critical 한국전자통신연구원
Priority to US13/252,758 priority Critical patent/US20120144443A1/en
Publication of KR20120035819A publication Critical patent/KR20120035819A/ko
Application granted granted Critical
Publication of KR101663769B1 publication Critical patent/KR101663769B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • H04N21/234327Processing 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 by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • H04N21/234309Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/23602Multiplexing isochronously with the video sync, e.g. according to bit-parallel or bit-serial interface formats, as SDI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법을 개시한다. 스케일러블 비디오 비트스트림을 멀티캐스트 그룹별로 제공하는 스트리밍 시스템은 스케일러블 비디오 비트스트림을 수신하여 저장하는 인코더 소스 버퍼 및 인코더 소스 버퍼에 저장된 스케일러블 비디오 비트스트림에서 서로 다른 계층군의 데이터를 각각 수신하여 패킷화하고, 패킷화된 데이터를 단말기로 전송하는 복수의 서브그룹 송신부를 포함한다.

Description

실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법{SYSTEM AND METHOD FOR EXECUTING SOURCE BUFFERING FOR MULTIPLE INDEPENDENT GROUP TRANSMISSION OF REAL-TIME ENCODED SCALABE VIDEO CONTENTS}
본 발명의 실시예들은 실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법에 관한 것이다.
스케일러블 비디오 부호화 기술은 여러 종류의 해상도, 여러 종류의 프레임율, 여러 종류의 화질에 대한 비디오 데이터에 대해 상호 중복되는 데이터를 제거하고 하나의 비디오 콘텐츠로 부호화 함으로써 최대 해상도, 최대 프레임율, 최대 화질에 해당하는 비디오 콘텐츠 용량만을 가지는 통합형 비디오 비트스트림을 생성한 후 이 비트스트림으로부터 사용되는 시나리오에 해당하는 필요한 만큼의 데이터만을 추출(extract)하여 하나의 비트스트림으로 다양한 종류의 해상도, 프레임율, 화질을 지원하도록 하는 비디오 부호화 기법이다.
이러한 스케일러블 비디오 비트스트림은 비트스트림의 계층구조를 이용하여 다양한 해상도, 프레임율, 화질을 지원하게 되는데, 이는 기본 해상도 계층에 추가 해상도에 해당하는 계층의 데이터를 부가하거나, 기본 프레임율 계층에 추가 프레임율에 해당하는 계층의 데이터를 부가하는 등의 형태로 구성하여 해당하는 계층레벨의 데이터를 추출(extraction)하는 것으로 다양한 해상도, 프레임율, 화질을 지원하도록 하고 있다.
이러한 스케일러블 비디오 비트스트림을 사용하면, 둘 이상의 멀티캐스트 주소를 통해 다양한 화질레벨을 서비스 할 수 있는데, 하나의 전체 비트스트림을 둘 이상의 멀티캐스트 그룹으로 전송되는 계층군으로 나눈 후 멀티캐스트 그룹의 수에 해당하는 만큼의 서로 다른 화질레벨을 제공하도록 구성하여 이를 달성할 수 있다.
멀티캐스트 서비스를 하는 전체 비트스트림 소스가 파일로 마련되어 있는 경우에는, 각각의 멀티캐스트 그룹의 송신단은 현재 송신해야 할 부분을 파일에서 읽어올 때 각 송신단 상호 독립적으로 파일의 전체 위치 중 어느 위치더라도 상관없이 자유롭게 접근할 수 있다.
그러나 멀티캐스트 서비스를 하는 전체 비트스트림 소스가 실시간 인코더인 경우, 파일의 경우처럼 임의의 위치를 마음대로 접근할 수 있는 비트스트림 데이터가 존재하지 않으며, 실시간 인코더가 인코딩 하여 출력한 특정 시간구간만큼의 비트스트림만을 사용할 수 있다.
스트리밍 서버에서 멀티캐스트 그룹별로 서로 다른 계층군의 비트스트림을 송신하는 경우 각각의 멀티캐스트 그룹은 상호 독립적으로 각 계층군에 해당하는 데이터를 필요로 하는데, 이 경우 스트리밍 서버는 각 멀티캐스트 그룹별로 필요로하는 입력 비트스트림을 가져오기 위해 실시간 인코더로부터 수신한 전체 비트스트림을 특정 구간동안 저장하고 있어야 하며 이는 기존의 계층레벨이 존재하지 않는 비디오 비트스트림의 스트리밍의 경우와는 달리 추가적인 버퍼링을 필요로 한다.
추가적인 버퍼링은 추가적인 부호화 지연시간을 유발시키며 이는 멀티캐스트를 활용한 실시간 방송서비스의 경우 전체적인 서비스 지연시간을 유발하는 치명적인 문제점을 야기시킨다.
본 발명은 스케일러블 비디오 인코더로부터 실시간 인코딩되어 입력되고 있는 비디오 스트림을 스트리밍 서버에서 둘 이상의 전송그룹으로 스트리밍 하는 경우 실시간 부호화기와 스트리밍 서버 사이의 버퍼링 지연을 줄이는 것을 목적으로 한다.
스케일러블 비디오 비트스트림을 수신하여 저장하는 인코더 소스 버퍼 및 인코더 소스 버퍼에 저장된 스케일러블 비디오 비트스트림에서 서로 다른 계층군의 데이터를 각각 수신하여 패킷화하고, 패킷화된 데이터를 단말기로 전송하는 복수의 서브그룹 송신부를 포함하는 스트리밍 시스템이 제공된다.
일측에 따르면, 인코더 소스 버퍼는, 프레임이 증가하는 순서로, 그리고 낮은 계층부터 높은 계층의 순서로 상기 스케일러블 비디오 비트스트림의 계층군별 데이터를 저장할 수 있다.
다른 측면에 따르면, 복수의 서브그룹 송신부 각각은, 재생시간에 기반하여 상기 인코더 소스 버퍼로부터 필요한 계층군의 데이터를 추출하여 저장할 수 있다.
또 다른 측면에 따르면, 복수의 서브그룹 송신부 각각은, 단말기가 포함하는 복수의 서브그룹 수신부 중 상기 패킷화된 데이터에 해당하는 계층군의 데이터를 수신하는 서브그룹 수신부로 상기 패킷화된 데이터를 전송할 수 있다.
스케일러블 비디오 비트스트림을 멀티캐스트 그룹별로 수신하는 단말 시스템에 있어서, 스트리밍 서버로부터 스케일러블 비디오 비트스트림의 계층군에 따른 데이터 중 해당 계층군에 따른 데이터를 각각 수신하는 복수의 서브그룹 수신부 및 복수의 서브그룹 수신부로부터 수신되는 데이터를 디코딩하는 디코더를 포함하고, 상기 계층군에 따른 데이터는 상기 스트리밍 서버가 포함하는 복수의 서브그룹 송신부 각각이 상기 스트리밍 서버가 더 포함하는 인코더 소스 버퍼로부터 해당 계층군의 데이터를 추출하여 버퍼링함으로써, 계층군별로 분리되고, 상기 복수의 서브그룹 수신부 각각은 필요한 계층군에 따른 데이터를 상기 복수의 서브그룹 송신부 중 해당하는 계층군의 데이터를 버퍼링하는 서브그룹 송신부로부터 수신하는, 단말 시스템이 제공된다.
스케일러블 비디오 비트스트림을 생성하는 실시간 인코딩 시스템에 있어서, 상기 스케일러블 비디오 비트스트림을 생성하는 비트스트림 생성부 및 상기 생성된 스케일러블 비디오 비트스트림을 스트리밍 서버로 전송하는 비트스트림 전송부를 포함하고, 상기 스케일러블 비디오 비트스트림의 계층군별 데이터는 상기 스트리밍 서버가 포함하는 인코더 소스 버퍼에 프레임이 증가하는 순서로, 그리고 낮은 계층부터 높은 계층의 순서로 저장되는, 실시간 인코딩 시스템이 제공된다.
스케일러블 비디오 비트스트림을 멀티캐스트 그룹별로 제공하는 비트스트림 전송방법에 있어서, 스케일러블 비디오 비트스트림을 수신하여 인코더 소스 버퍼에 저장하는 단계 및 상기 인코더 소스 버퍼에 저장된 스케일러블 비디오 비트스트림에서 서로 다른 계층군의 데이터를 각각 수신하여 패킷화하고, 패킷화된 데이터를 단말기로 전송하는 단계를 포함하는 비트스트림 전송방법이 제공된다.
스케일러블 비디오 비트스트림을 멀티캐스트 그룹별로 수신하는 비트스트림 전송방법에 있어서, 스트리밍 서버로부터 스케일러블 비디오 비트스트림의 계층군에 따른 데이터 중 해당 계층군에 따른 데이터를 각각 수신하는 단계 및 상기 각각 수신된 데이터를 디코딩하는 단계를 포함하고, 상기 계층군에 따른 데이터는 상기 스트리밍 서버가 포함하는 복수의 서브그룹 송신부 각각이 상기 스트리밍 서버가 더 포함하는 인코더 소스 버퍼로부터 해당 계층군의 데이터를 추출하여 버퍼링함으로써, 계층군별로 분리되고, 상기 각각 수신하는 단계는 필요한 계층군에 따른 데이터를 상기 복수의 서브그룹 송신부 중 해당하는 계층군의 데이터를 버퍼링하는 서브그룹 송신부로부터 수신하는 단계를 포함하는, 비트스트림 전송방법이 제공된다.
스케일러블 비디오 비트스트림을 생성하는 비트스트림 전송방법에 있어서, 상기 스케일러블 비디오 비트스트림을 생성하는 단계 및 상기 생성된 스케일러블 비디오 비트스트림을 스트리밍 서버로 전송하는 단계를 포함하고, 상기 스케일러블 비디오 비트스트림의 계층군별 데이터는 상기 스트리밍 서버가 포함하는 인코더 소스 버퍼에 프레임이 증가하는 순서로, 그리고 낮은 계층부터 높은 계층의 순서로 저장되는, 비트스트림 전송방법이 제공된다.
본 발명에서는 인코더 소스 버퍼를 이용하여 멀티캐스트 그룹별로 다양한 계층군의 데이터를 전송하는 것이 가능해진다.
본 발명에서는 스케일러블 비디오 비트스트리밍을 이용한 멀티캐스트 시나리오에서 멀티캐스트 그룹의 독립된 비트스트림 계층군 송신을 위한 실시간 인코더 입력 비트스트림 버퍼(이하 인코더 소스 버퍼)의 크기를 최소화할 수 있다.
도 1은 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림의 구조를 나타낸 도면이다.
도 2는 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림을 패킷화하는 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림을 둘 이상의 멀티캐스트 그룹으로 나누어 전송하는 시스템의 전반적인 모습을 도시한 도면이다.
도 4는 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림을 둘 이상의 멀티캐스트 그룹으로 나누어 전송하는 시스템에서 재생시간 기반 버퍼링을 수행하는 모습을 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 스트리밍 서버의 내부 구성을 도시한 블록도이다.
도 6은 본 발명의 일실시예에 있어서, 단말 시스템의 내부 구성을 도시한 블록도이다.
도 7은 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림을 전송하는 비트스트림 전송방법을 도시한 흐름도이다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림의 구조를 나타낸 도면이다. 도 1은 일반적인 스케일러블 비디오 비트스트림의 구조를 나타낸다. 스케일러블 비디오 비트스트림은 각각의 화질레벨에 대응하는 추가적인 데이터에 해당하는 계층(Layers)들로 구성되어 있다. 즉, 도 1은 네 개의 계층으로 구성된 스케일러블 비디오 비트스트림을 나타내고 있다. 이때, 하나의 박스로 표시된 단위는 하나의 프레임 내에서 하나의 계층에 해당하는 데이터 단위를 나타낸다. 또한, 도 1의 예에서 도시된 각각의 계층에 해당하는 데이터는 그 크기가 서로 다르며, 계층(Layer) A의 데이터 크기가 가장 작고, 계층 B, C, D의 상위 계층으로 진행할수록 계층의 데이터 크기가 크다. 실제 스케일러블 비디오 비트스트림은 이처럼 계층 별로 데이터의 크기가 서로 다르다.
도 2는 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림을 패킷화하는 방법을 설명하기 위한 도면이다.
제1 데이터 구조(210)는 도 1에서 설명된 데이터들이 하나의 스케일러블 비디오 비트스트림으로 구성된 일례를 나타내고 있다. 이때, 스케일러블 비디오 비트스트림은 프레임이 증가하는 순서로, 그리고 낮은 계층으로부터 높은 계층의 순서로 저장이 되며, 하나의 프레임이 저장된 후 그 다음 프레임이 저장되는 형태로 구성된다. 실제로 디코더나 스트리밍 서버는 각각의 계층단위에 존재하는 세 가지 구분자(Spatial ID, Temporal ID, Quality ID)를 이용하여 각 프레임 내에서 계층단위가 어떤 계층에 해당하는 데이터인지 구분하게 된다.
제2 데이터 구조(220)는 제1 데이터 구조(210)와 같은 순서로 구성된 스케일러블 비디오 비트스트림을 실제로 패킷화하는 모습을 나타내고 있다. 일반적으로 HD급 이상의 스케일러블 비디오 비트스트림의 경우, 하나의 계층단위는 IP망에서의 한 패킷의 크기보다 훨씬 크다. 따라서, IP패킷의 MTU(Maximum Transfer Unit) 단위로 잘리게 된다. 즉, 스케일러블 비디오 비트스트림의 각 프레임내에서의 계층단위는 계층별로 서로 다른 개수의 IP패킷으로 분할되게 된다.
제2 데이터 구조(220)의 일례에서는 'Layer A1'가 하나의 패킷으로 분할된 모습을 나타내고 있으나, 각각의 계층단위가 분할될 수 있는 패킷의 크기는 계층단위의 크기에 따라 달라질 수 있다.
도 3은 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림을 둘 이상의 멀티캐스트 그룹으로 나누어 전송하는 시스템의 전반적인 모습을 도시한 도면이다. 도 3은 실시간 인코더(310), 스트리밍 서버(320) 및 단말기(330)를 나타내고 있다. 또한, 스트리밍 서버(320)는 인코더 소스 버퍼(321)와 n개의 서버그룹 송신부를 포함하고 있다. 또한, 도 3은 인코더 소스 버퍼(321)에 저장된 스케일러블 비디오 비트스트림의 실제 전송 시퀀스를 확장한 모습(340)을 나타내고 있다.
실시간 인코더(310)에서 스트리밍 서버(320)로 스케일러블 비디오 비트스트림이 전송되면, 전송된 스케일러블 비디오 비트스트림은 스트리밍 서버(320)의 인코더 소스 버퍼(321)로 입력된다. 스트리밍 서버(320)가 포함하는 각각의 서브그룹 송신부는 멀티캐스트 그룹별로 스케일러블 비디오 비트스트림 계층군을 단말기(330)로 전송한다. 각각의 서브그룹 송신부는 각 계층군 비트스트림에 대한 IP 패킷화를 수행하며 패킷송신을 위하여 패킷버퍼를 자체적으로 운용한다. IP 패킷화에 대해서는 도 2를 참조할 수 있다. 또한, 각각의 서브그룹 송신부는 독립적으로 인코더 소스 버퍼(321)에 접근하여 필요한 스케일러블 비디오 계층군 데이터를 가져온다. 따라서, 인코더 소스 버퍼(321)는 버퍼링된 비트스트림 데이터를 버릴 때 반드시 모든 서브그룹 송신부에서 더 이상 해당 부분의 비트스트림 데이터를 필요로 하지 않음을 확인한 후에 버려야 한다.
이때, 도 3에서는 각 서브그룹 송신부가 일반적인 기존의 버퍼링 방식, 즉 데이터 크기 기반 버퍼링을 수행하는 경우에 대한 인코더 소스 버퍼(321)의 동작을 같이 도시하고 있다. 즉, 도 3은 인코더 소스 버퍼(321)에 저장된 스케일러블 비디오 비트스트림의 실제 전송 시퀀스를 확장한 모습(340)을 나타내고 있다. 각각의 서브그룹 송신부가 데이터 크기 기반 버퍼링을 수행하는 경우 각 패킷 버퍼는 패킷 송신 시 언더플로우가 나지 않기 위해 특정 패킷 개수만큼을 버퍼링한다. 그러나 이 경우 각각의 서브그룹 송신부는 서로 다른 스케일러블 비디오 비트스트림의 계층군을 패킷화하고 있으며 서로 다른 계층군은 서로 다른 데이터 크기를 가지게 된다. 따라서, 동일한 시간 구간에 각 서브그룹 송신부가 필요로 하는 스케일러블 비디오 비트스트림은 매우 넓은 구간에 걸쳐 분포하게 된다. 즉, 계층레벨이 작은 크기의 데이터로 구성되어 있는 서브그룹 송신부 1의 경우에는 시간적으로 상당히 후반부의 데이터를 필요로 하지만, 계층레벨이 큰 크기의 데이터로 구성되어 있는 서브그룹 송신부 n의 경우에는 시간적으로 전반부의 데이터를 필요로 하게 된다. 이와 같이, 모든 서브그룹 송신부들의 데이터를 공급하는 인코더 소스 버퍼(321)는 매우 넓은 시간 구간에 걸쳐 데이터를 저장하고 있어야 하며, 이는 버퍼링 구간(322)의 증대, 즉 버퍼링 지연시간을 길게 만들게 된다.
따라서 본 발명의 다른 실시예에서는 각각의 서브그룹 송신부가 일반적인 데이터 크기 기반 버퍼링을 수행하는 대신 재생시간 기반 버퍼링을 수행한다.
도 4는 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림을 둘 이상의 멀티캐스트 그룹으로 나누어 전송하는 시스템에서 재생시간 기반 버퍼링을 수행하는 모습을 도시한 도면이다. 도 4는 실시간 인코더(410), 스트리밍 서버(420) 및 단말기(430)를 나타내고 있다. 즉, 도 4에서는 재생시간 기반 버퍼링을 수행하는 경우의 인코더 소스 버퍼(421)의 동작에 대해 도시하고 있다. 각각의 서브그룹 송신부는 인코더 소스 버퍼(421)로부터 비트스트림 데이터를 가져오면서 자신이 운용중인 패킷 버퍼에 버퍼링된 패킷이 얼마만큼의 재생시간을 버퍼링하고 있는지 계산한다. 이 경우, 모든 서브그룹 송신부는 각각의 송신부가 현재 송신하고 있는 패킷의 재생시간으로부터 동일한 시간 차이만큼의 재생시간 구간을 버퍼링하게 되므로 인코더 소스 버퍼(421)에서 필요로 하는 부분 역시 동일한 재생시간에 해당하는 부분으로 맞추어 지게 된다. 즉, 도 4에 도시된 바와 같이, 필요로 하는 버퍼링 구간(422)이 데이터 크기 기반 버퍼링에서 필요한 버퍼링 구간(322)에 비해 매우 작음을 알 수 있다. 실제로 각각의 서브그룹 송신부가 필요로 하는 비트스트림 구간은 동일 비디오 프레임 데이터 내에서 머물게 되며 따라서, 인코더 소스 버퍼(421)는 최소 한 프레임에 해당하는 데이터까지 인코더 소스 버퍼링의 양을 줄일 수 있다.
도 5는 본 발명의 일실시예에 있어서, 스트리밍 서버의 내부 구성을 도시한 블록도이다. 본 실시예에 따른 스트리밍 시스템(500)은 도 3을 통해 설명한 스트리밍 서버(320) 또는 도 4를 통해 설명한 스트리밍 서버(420)에 대응될 수 있다. 여기서, 스트리밍 시스템(500)은 스케일러블 비디오 비트스트림을 멀티캐스트 그룹별로 제공하기 위해 도 5에 도시된 바와 같이, 인코더 소스 버퍼(510) 및 복수의 서브그룹 송신부(520)를 포함할 수 있다.
인코더 소스 버퍼(510)는 실시간 인코더로부터 스케일러블 비디오 비트스트림을 수신하여 저장한다. 이때, 인코더 소스 버퍼(510)는 프레임이 증가하는 순서로, 그리고 낮은 계층으로부터 높은 계층의 순서로 스케일러블 비디오 비트스트림의 계층군별 데이터를 저장할 수 있다.
복수의 서브그룹 송신부(520) 각각은 인코더 소스 버퍼(510)에 저장된 스케일러블 비디오 비트스트림에서 서로 다른 계층군의 데이터를 수신하여 패킷화하고, 패킷화된 데이터를 단말기로 전송한다.
이때, 패킷화된 데이터는 단말기가 포함하는 복수의 서브그룹 수신부 중 해당 계층군의 데이터를 수신하는 서브그룹 수신부로 전송될 수 있다. 이때, 복수의 서브그룹 송신부(520)에서 복수의 서브그룹 수신부로 각각 전송되는 계층군의 데이터들 역시 비트스트림일 수 있다. 이 경우, 상기 비트스트림은 하나의 계층군에 대한 데이터들을 포함하는 반면, 실시간 인코더로부터 수신되는 스케일러블 비디오 비트스트림은 둘 이상의 계층군에 대한 데이터들을 포함하고 있다.
즉, 스트리밍 시스템(500)은 인코더 소스 버퍼(510)를 이용하여 복수의 서브그룹 송신부(520) 각각이 임의의 데이터에 접근 및 데이터를 수신할 수 있도록 하고, 이때, 계층군 단위로 서브그룹 송신부(520)가 해당 계층군의 데이터를 수신 및 전송하도록 할 수 있다. 다시 말해, 인코더 소스 버퍼(510)를 이용하지 않는 경우에는 복수의 서브그룹 송신부(520) 각각이 실시간 인코더로부터 전송되는 스케일러블 비디오 비트스트림의 임의의 데이터에 접근하기 어려우나, 인코더 소스 버퍼(510)를 이용함으로써, 임의의 데이터에 접근하여 해당 데이터를 수신하는 것이 가능해진다.
또한, 복수의 서브그룹 송신부(520)는 데이터 크기에 기반한 버퍼링을 수행할 수도 있으나, 재생시간에 기반한 버퍼링을 수행할 수도 있다. 즉, 도 1을 통해 설명한 바와 같이, 스케일러블 비디오 비트스트림에 포함된 계층군 단위의 데이터들은 동일한 재생시간(예를 들어, 동일한 프레임)에 대해 서로 다른 크기를 갖기 때문에 데이터 크기에 기반한 버퍼링을 수행하는 경우, 복수의 서브그룹 송신부(520)로 데이터를 공급하는 인코더 소스 버퍼(510)는 매우 넓은 시간 구간에 걸쳐 데이터를 저장하고 있어야 하며, 이는 버퍼링 구간의 증대, 즉 버퍼링 지연시간을 길게 만들게 된다. 이 경우, 복수의 서브그룹 송신부(520) 각각이 재생시간에 기반한 버퍼링을 수행하여 재생시간을 기준으로 인코더 소스 버퍼(510)로부터 데이터를 수신하는 경우에는, 하나의 프레임에 대해 계층군에 따라 서로 다른 크기를 갖는 데이터들이 동시에 복수의 서브그룹 송신부(520)로 전송되기 때문에 데이터 크기에 기반한 버퍼링을 이용하는 경우보다 상대적으로 버퍼링 구간이 감소하게 된다. 즉, 버퍼링 지연시간을 줄일 수 있게 된다.
도 6은 본 발명의 일실시예에 있어서, 단말 시스템의 내부 구성을 도시한 블록도이다. 본 실시예에 따른 단말 시스템(600)은 도 3을 통해 설명한 단말기(330), 도 4를 통해 설명한 단말기(430) 또는 도 5를 통해 설명한 단말기에 대응될 수 있다. 단말 시스템(600)은 도 6에 도시된 바와 같이, 복수의 서브그룹 수신부(610) 및 디코더(620)를 포함한다.
복수의 서브그룹 수신부(610) 각각은 스트리밍 서버로부터 스케일러블 비디오 비트스트림의 계층군에 따른 데이터 중 해당 계층군에 따른 데이터를 수신한다. 여기서, 스트리밍 서버는 도 3을 통해 설명한 스트리밍 서버(320), 도 4를 통해 설명한 스트리밍 서버(420) 또는 도 5를 통해 설명한 스트리밍 시스템(500)에 대응될 수 있다.
디코더(620)는 복수의 서브그룹 수신부(610)로부터 수신되는 데이터를 디코딩한다.
이때, 계층군에 따른 데이터는 스트리밍 서버가 포함하는 복수의 서브그룹 송신부 각각이 스트리밍 서버가 더 포함하는 인코더 소스 버퍼로부터 해당 계층군의 데이터를 추출하여 버퍼링함으로써, 계층군별로 분리되고, 이 경우, 복수의 서브그룹 수신부(610) 각각은 필요한 계층군에 따른 데이터를 상기 복수의 서브그룹 송신부 중 해당하는 계층군의 데이터를 버퍼링하는 서브그룹 송신부로부터 수신한다. 예를 들어, 도 1의 Layer A에 해당하는 데이터를 수신하기 위한 서브그룹 수신부는 인코더 소스 버퍼에서 Layer A에 해당하는 데이터를 수신하는 서브그룹 송신부를 통해 Layer A에 해당하는 데이터를 수신할 수 있다. 여기서, 인코더 소스 버퍼는 실시간 인코더로부터 수신되는 스케일러블 비디오 비트스트림을 버퍼링할 수 있고, 복수의 서브그룹 송신부 각각은 자신의 버퍼에 저장된 데이터를 패킷화할 수 있다.
따라서, 디코더(620)는 계층군 단위로 데이터를 수신하는 서브그룹 수신부(610)로부터 전송되는 서로 다른 계층레벨의 데이터를 디코딩할 수 있고, 단말 시스템(600)은 다양한 해상도, 프레임율, 화질의 비디오를 사용자에게 제공할 수 있게 된다.
도 7은 본 발명의 일실시예에 있어서, 스케일러블 비디오 비트스트림을 전송하는 비트스트림 전송방법을 도시한 흐름도이다. 도 7은 실시간 인코딩 시스템(710), 도 5를 통해 설명한 스트리밍 시스템(500) 및 도 6을 통해 설명한 단말 시스템(600)을 나타내고 있다. 여기서, 실시간 인코딩 시스템(710)은 도 3을 통해 설명한 실시간 인코더(310), 도 4를 통해 설명한 실시간 인코더(410) 또는 도 5나 도 6을 통해 설명한 실시간 인코더에 대응될 수 있다.
단계(701)에서 실시간 인코딩 시스템(710)은 스케일러블 비디오 비트스트림을 생성한다. 또한, 단계(702)에서 실시간 인코딩 시스템(710)은 생성된 스케일러블 비디오 비트스트림을 스트리밍 시스템(500)으로 전송한다. 이때, 스트리밍 시스템(500)은 단계(720)에서 실시간 인코딩 시스템(710)으로부터 수신된 스케일러블 비디오 비트스트림을 수신할 수 있다.
단계(703)에서 스트리밍 시스템(500)은 수신된 스케일러블 비디오 비트스트림을 인코더 소스 버퍼에 저장할 수 있다. 또한, 단계(704)에서 스트리밍 시스템(500)은 인코더 소스 버퍼로부터 계층군별 데이터를 추출하여 복수의 서브그룹 송신부 중 해당 서브그룹 송신부의 버퍼에 저장할 수 있다. 실질적으로는 스트리밍 시스템(500)이 포함하는 복수의 서브그룹 송신부 각각이 해당 계층군의 데이터를 인코더 소스 버퍼로부터 수신하여 자신의 버퍼에 저장할 수 있다.
단계(705)에서 스트리밍 시스템(500) 또는 복수의 서브그룹 송신부 각각은 복수의 서브그룹 송신부 각각의 버퍼에 저장된 데이터를 패킷화하여 단말 시스템(600)으로 전송할 수 있다. 또한, 단계(705)에서 단말 시스템(600)은 스트리밍 시스템(500)으로부터 패킷화된 데이터를 수신할 수 있다.
단계(706)에서 단말 시스템(600)은 복수의 서브그룹 수신부 중 수신된 데이터의 계층군에 따라 결정된 서브그룹 수신부의 버퍼에 수신된 데이터를 저장한다. 단계(707)에서 단말 시스템(707)은 복수의 서브그룹 수신부의 버퍼에 저장된 데이터를 디코딩한다.
이때, 복수의 서브그룹 송신부 각각은 인코더 소스 버퍼에서 데이터 크기에 단위로 해당 계층군의 데이터를 추출하여 자신의 버퍼에 저장할 수도 있고, 재생시간 단위로 해당 계층군의 데이터를 추출하여 자신의 버퍼에 저장할 수도 있다.
이와 같이, 본 발명의 실시예들에 따르면, 인코더 소스 버퍼를 이용하여 멀티캐스트 그룹별로 다양한 계층군의 데이터를 전송하는 것이 가능해진다. 또한, 스케일러블 비디오 비트스트리밍을 이용한 멀티캐스트 시나리오에서 멀티캐스트 그룹의 독립된 비트스트림 계층군 송신을 위한 실시간 인코더 입력 비트스트림 버퍼(이하 인코더소스 버퍼)의 크기를 최소화할 수 있다.
본 발명의 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 일실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
310, 410: 실시간 인코더
320, 420: 스트리밍 서버
321, 421: 인코더 소스 버퍼
330, 430: 단말기

Claims (20)

  1. 스케일러블 비디오 비트스트림을 멀티캐스트 그룹별로 제공하는 스트리밍 시스템에 있어서,
    스케일러블 비디오 비트스트림을 수신하여 저장하는 인코더 소스 버퍼; 및
    상기 인코더 소스 버퍼에 저장된 스케일러블 비디오 비트스트림에서 서로 다른 계층군의 데이터를 각각 수신하여 패킷화하고, 패킷화된 데이터를 단말기로 전송하는 복수의 서브그룹 송신부
    를 포함하는 스트리밍 시스템.
  2. 제1항에 있어서,
    상기 인코더 소스 버퍼는,
    프레임이 증가하는 순서로, 그리고 낮은 계층부터 높은 계층의 순서로 상기 스케일러블 비디오 비트스트림의 계층군별 데이터를 저장하는, 스트리밍 시스템.
  3. 제1항에 있어서,
    상기 복수의 서브그룹 송신부 각각은,
    재생시간에 기반하여 상기 인코더 소스 버퍼로부터 필요한 계층군의 데이터를 추출하여 저장하는, 스트리밍 시스템.
  4. 제1항에 있어서,
    상기 복수의 서브그룹 송신부 각각은,
    상기 단말기가 포함하는 복수의 서브그룹 수신부 중 상기 패킷화된 데이터에 해당하는 계층군의 데이터를 수신하는 서브그룹 수신부로 상기 패킷화된 데이터를 전송하는, 스트리밍 시스템.
  5. 스케일러블 비디오 비트스트림을 멀티캐스트 그룹별로 수신하는 단말 시스템에 있어서,
    스트리밍 서버로부터 스케일러블 비디오 비트스트림의 계층군에 따른 데이터 중 해당 계층군에 따른 데이터를 각각 수신하는 복수의 서브그룹 수신부; 및
    복수의 서브그룹 수신부로부터 수신되는 데이터를 디코딩하는 디코더
    를 포함하고,
    상기 계층군에 따른 데이터는 상기 스트리밍 서버가 포함하는 복수의 서브그룹 송신부 각각이 상기 스트리밍 서버가 더 포함하는 인코더 소스 버퍼로부터 해당 계층군의 데이터를 추출하여 버퍼링함으로써, 계층군별로 분리되고,
    상기 복수의 서브그룹 수신부 각각은,
    필요한 계층군에 따른 데이터를 상기 복수의 서브그룹 송신부 중 해당하는 계층군의 데이터를 버퍼링하는 서브그룹 송신부로부터 수신하는, 단말 시스템.
  6. 제5항에 있어서,
    상기 계층군에 따른 데이터는 상기 인코더 소스 버퍼에서 재생시간에 기반하여 추출되어 해당 서브그룹 송신부의 버퍼에 저장되는, 단말 시스템.
  7. 제5항에 있어서,
    상기 스케일러블 비디오 비트스트림은 실시간 인코더에서 생성되어 상기 스트리밍 서버로 전송되고, 상기 인코더 소스 버퍼에 프레임이 증가하는 순서로, 그리고 낮은 계층부터 높은 계층의 순서로 저장되는, 단말 시스템.
  8. 제5항에 있어서,
    상기 디코더는,
    상기 복수의 서브그룹 수신부로부터 수신되는 서로 다른 계층군의 데이터를 디코딩하여 해상도, 프레임율 및 화질 중 적어도 하나가 서로 다른 비디오를 생성하는, 단말 시스템.
  9. 스케일러블 비디오 비트스트림을 생성하는 실시간 인코딩 시스템에 있어서,
    상기 스케일러블 비디오 비트스트림을 생성하는 비트스트림 생성부; 및
    상기 생성된 스케일러블 비디오 비트스트림을 스트리밍 서버로 전송하는 비트스트림 전송부
    를 포함하고,
    상기 스케일러블 비디오 비트스트림의 계층군별 데이터는 상기 스트리밍 서버가 포함하는 인코더 소스 버퍼에 프레임이 증가하는 순서로, 그리고 낮은 계층부터 높은 계층의 순서로 저장되는, 실시간 인코딩 시스템.
  10. 제9항에 있어서,
    상기 계층군별 데이터는 상기 인코더 소스 버퍼에서 재생시간에 기반하여 추출되어 상기 스트리밍 서버가 더 포함하는 복수의 서브그룹 송신부의 버퍼에 계층군별로 버퍼링되는, 실시간 인코딩 시스템.
  11. 스케일러블 비디오 비트스트림을 멀티캐스트 그룹별로 제공하는 비트스트림 전송방법에 있어서,
    스케일러블 비디오 비트스트림을 수신하여 인코더 소스 버퍼에 저장하는 단계; 및
    상기 인코더 소스 버퍼에 저장된 스케일러블 비디오 비트스트림에서 서로 다른 계층군의 데이터를 각각 수신하여 패킷화하고, 패킷화된 데이터를 단말기로 전송하는 단계
    를 포함하는 비트스트림 전송방법.
  12. 제11항에 있어서,
    상기 스케일러블 비디오 비트스트림을 수신하여 인코더 소스 버퍼에 저장하는 단계는,
    프레임이 증가하는 순서로, 그리고 낮은 계층부터 높은 계층의 순서로 상기 스케일러블 비디오 비트스트림의 계층군별 데이터를 저장하는, 비트스트림 전송방법.
  13. 제11항에 있어서,
    상기 서로 다른 계층군의 데이터를 각각 수신하여 패킷화하고, 패킷화된 데이터를 단말기로 전송하는 단계는,
    재생시간에 기반하여 상기 인코더 소스 버퍼로부터 필요한 계층군의 데이터를 추출하여 저장하는 단계를 포함하는, 비트스트림 전송방법.
  14. 제11항에 있어서,
    상기 서로 다른 계층군의 데이터를 각각 수신하여 패킷화하고, 패킷화된 데이터를 단말기로 전송하는 단계는,
    상기 단말기가 포함하는 복수의 서브그룹 수신부 중 상기 패킷화된 데이터에 해당하는 계층군의 데이터를 수신하는 서브그룹 수신부로 상기 패킷화된 데이터를 전송하는 단계를 포함하는, 비트스트림 전송방법.
  15. 스케일러블 비디오 비트스트림을 멀티캐스트 그룹별로 수신하는 비트스트림 전송방법에 있어서,
    스트리밍 서버로부터 스케일러블 비디오 비트스트림의 계층군에 따른 데이터 중 해당 계층군에 따른 데이터를 각각 수신하는 단계; 및
    상기 각각 수신된 데이터를 디코딩하는 단계
    를 포함하고,
    상기 계층군에 따른 데이터는 상기 스트리밍 서버가 포함하는 복수의 서브그룹 송신부 각각이 상기 스트리밍 서버가 더 포함하는 인코더 소스 버퍼로부터 해당 계층군의 데이터를 추출하여 버퍼링함으로써, 계층군별로 분리되고,
    상기 각각 수신하는 단계는,
    필요한 계층군에 따른 데이터를 상기 복수의 서브그룹 송신부 중 해당하는 계층군의 데이터를 버퍼링하는 서브그룹 송신부로부터 수신하는 단계를 포함하는, 비트스트림 전송방법.
  16. 제15항에 있어서,
    상기 계층군에 따른 데이터는 상기 인코더 소스 버퍼에서 재생시간에 기반하여 추출되어 해당 서브그룹 송신부의 버퍼에 저장되는, 비트스트림 전송방법.
  17. 제15항에 있어서,
    상기 스케일러블 비디오 비트스트림은 실시간 인코더에서 생성되어 상기 스트리밍 서버로 전송되고, 상기 인코더 소스 버퍼에 프레임이 증가하는 순서로, 그리고 낮은 계층부터 높은 계층의 순서로 저장되는, 비트스트림 전송방법.
  18. 제15항에 있어서,
    상기 디코딩하는 단계는,
    상기 복수의 서브그룹 수신부로부터 수신되는 서로 다른 계층군의 데이터를 디코딩하여 해상도, 프레임율 및 화질 중 적어도 하나가 서로 다른 비디오를 생성하는 단계를 포함하는, 비트스트림 전송방법.
  19. 스케일러블 비디오 비트스트림을 생성하는 비트스트림 전송방법에 있어서,
    상기 스케일러블 비디오 비트스트림을 생성하는 단계; 및
    상기 생성된 스케일러블 비디오 비트스트림을 스트리밍 서버로 전송하는 단계
    를 포함하고,
    상기 스케일러블 비디오 비트스트림의 계층군별 데이터는 상기 스트리밍 서버가 포함하는 인코더 소스 버퍼에 프레임이 증가하는 순서로, 그리고 낮은 계층부터 높은 계층의 순서로 저장되는, 비트스트림 전송방법.
  20. 제19항에 있어서,
    상기 계층군별 데이터는 상기 인코더 소스 버퍼에서 재생시간에 기반하여 추출되어 상기 스트리밍 서버가 더 포함하는 복수의 서브그룹 송신부의 버퍼에 계층군별로 버퍼링되는, 비트스트림 전송방법.
KR1020100132533A 2010-10-06 2010-12-22 실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법 KR101663769B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/252,758 US20120144443A1 (en) 2010-10-06 2011-10-04 System and method for executing source buffering for multiple independent group transmission of real-time encoded scalabe video contents

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100097166 2010-10-06
KR20100097166 2010-10-06

Publications (2)

Publication Number Publication Date
KR20120035819A true KR20120035819A (ko) 2012-04-16
KR101663769B1 KR101663769B1 (ko) 2016-10-07

Family

ID=46137664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100132533A KR101663769B1 (ko) 2010-10-06 2010-12-22 실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법

Country Status (2)

Country Link
US (1) US20120144443A1 (ko)
KR (1) KR101663769B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10218756B2 (en) 2012-01-06 2019-02-26 Comcast Cable Communications, Llc Streamlined delivery of video content
JP6943838B2 (ja) 2015-04-09 2021-10-06 デジェロ ラブス インコーポレイテッド マルチティアドエンコーディングを有するデータを配信するためのシステム、デバイス、及び方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798838B1 (en) * 2000-03-02 2004-09-28 Koninklijke Philips Electronics N.V. System and method for improving video transmission over a wireless network
US6956972B2 (en) * 1999-12-03 2005-10-18 Microsoft Corporation System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding
KR20100061278A (ko) * 2008-11-28 2010-06-07 한국전자통신연구원 멀티 앵글 디지털 방송 서비스 제공 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7693128B2 (en) * 2006-02-23 2010-04-06 Freescale Semiconductor, Inc. Managing packets for transmission in a communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6956972B2 (en) * 1999-12-03 2005-10-18 Microsoft Corporation System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding
US6798838B1 (en) * 2000-03-02 2004-09-28 Koninklijke Philips Electronics N.V. System and method for improving video transmission over a wireless network
KR20100061278A (ko) * 2008-11-28 2010-06-07 한국전자통신연구원 멀티 앵글 디지털 방송 서비스 제공 방법

Also Published As

Publication number Publication date
US20120144443A1 (en) 2012-06-07
KR101663769B1 (ko) 2016-10-07

Similar Documents

Publication Publication Date Title
JP6868802B2 (ja) 送信方法、受信方法、送信装置及び受信装置
KR101558116B1 (ko) 코딩된 멀티미디어 데이터의 네트워크 스트리밍 동안의 표현들 사이의 전환
JP6868838B2 (ja) 送信装置、受信装置、送信方法及び受信方法
JP6474830B2 (ja) 連続的マルチピリオドコンテンツ処理
KR102120525B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
JP6049728B2 (ja) コード化ビデオデータのネットワークストリーミング
JP2020074599A (ja) 送信方法、受信方法、送信装置及び受信装置
JP6285608B2 (ja) ネットワークを介して交換されたファイルのためのエラー処理
JP6846653B2 (ja) 送信方法、受信方法、送信装置及び受信装置
JP2017153127A (ja) メディアコンテンツ復号装置
JP6254291B2 (ja) Dashのロバストなライブ動作
CN102265535A (zh) 以不同编码率将多个可缩放编码视频内容流送到客户端设备的方法和装置
US20150095450A1 (en) Utilizing multiple switchable adaptation sets for streaming media data
KR102103054B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
JP6846629B2 (ja) 送信方法、受信方法、送信装置及び受信装置
JP7200329B2 (ja) 送信方法、受信方法、送信装置及び受信装置
US20120207454A1 (en) Streaming service and playback device using svc server
EP3096524B1 (en) Communication apparatus, communication data generation method, and communication data processing method
KR20230030589A (ko) 스위칭 세트들을 갖는 어드레스가능한 리소스 인덱스 트랙을 포함하는 미디어 데이터의 스트리밍
KR102137858B1 (ko) 송신 장치, 송신 방법, 수신 장치, 수신 방법 및 프로그램
JP2021101581A (ja) 送信方法、受信方法、送信装置及び受信装置
KR102176404B1 (ko) 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
KR101663769B1 (ko) 실시간 부호화 되는 스케일러블 비디오를 다중 송신그룹으로 보내기 위한 소스 버퍼링을 수행하는 시스템 및 방법
JP2021122110A (ja) 送信装置、受信装置、送信方法及び受信方法
TWI846795B (zh) 用於經串流媒體資料之多個解碼器介面

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20190626

Year of fee payment: 4