KR20110129064A - 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템 - Google Patents

콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템 Download PDF

Info

Publication number
KR20110129064A
KR20110129064A KR1020100048482A KR20100048482A KR20110129064A KR 20110129064 A KR20110129064 A KR 20110129064A KR 1020100048482 A KR1020100048482 A KR 1020100048482A KR 20100048482 A KR20100048482 A KR 20100048482A KR 20110129064 A KR20110129064 A KR 20110129064A
Authority
KR
South Korea
Prior art keywords
segment
file
segments
streaming
index table
Prior art date
Application number
KR1020100048482A
Other languages
English (en)
Other versions
KR101452269B1 (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 KR1020100048482A priority Critical patent/KR101452269B1/ko
Publication of KR20110129064A publication Critical patent/KR20110129064A/ko
Application granted granted Critical
Publication of KR101452269B1 publication Critical patent/KR101452269B1/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • G06F16/166File name conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

스트리밍 서버 시스템에서 저장장치의 활용 효율성을 높이면서 적응적 스트리밍을 원활하게 수행할 수 있는 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 장치.
본 발명의 콘텐트 가상 세그멘테이션 방법은 시간 정보를 포함하는 콘텐트 파일을 세그멘테이션하되, 콘텐트 파일을 세그먼트 파일로 분할하여 보관하지 않고, 콘텐트 파일에서 세그먼트의 위치 정보만을 추출하여 저장함으로써 실제로 스트리밍이 이루어질 때 세그먼트 추출이 용이하게 이루어질 수 있도록 하게 된다.
먼저 세그먼트 시간길이를 결정한 다음, 콘텐트 파일을 상기 시간길이 단위로 구분할 때 확보될 수 있는 다수의 세그먼트들 각각에 대한 시각정보와, 상기 다수의 세그먼트들 각각에 대한 논리적 위치정보를 결정한다. 그리고, 상기 시각정보와 상기 논리적 위치정보를 인덱스 테이블 형태로 저장장치에 저장해둔다. 이후에, 클라이언트 장치에 상기 콘텐트 파일을 전송할 때, 상기 인덱스 테이블을 참조하여 상기 다수의 세그먼트들을 생성하게 된다. 상기 세그먼트 시간길이는 소정의 영상주기 예컨대, 프레임 주기의 배수로서 결정되는 것이 바람직하다.

Description

콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템{Content Virtual Segmentation Method, and Method and System for Providing Streaming Service Using the Same}
본 발명은 데이터 네트웍을 통한 콘텐츠 방법 및 시스템에 관한 것으로서, 대용량 데이터를 스트리밍 방식으로 제공하는 방법 및 시스템에 관한 것이다.
스트리밍은 인터넷과 같은 데이터 네트웍을 통해서 서버가 미디어 스트림을 클라이언트로 전송하고, 클라이언트는 미디어 스트림이 다운로드되는 동안에 실질적으로 실시간에서 미디어 콘텐츠를 재생하는 콘텐츠 제공/재생 기법을 말하며, 주문형 비디오(VOD)나 주문형 오디오(AOD) 서비스에 널리 이용되고 있다. 스트리밍 서비스에 의하면, 콘텐트 프리젠테이션 파일의 전부가 전송되지 않은 상태에서도 재생이 시작되기 때문에 클라이언트 입장에서는 대기시간을 단축할 수 있고 수신되는 파일의 저장을 위한 하드디스크 드라이브의 용량에 제한을 받지 않는 이점이 있으며, 서비스 제공자는 콘텐츠의 부단 복제를 방지할 수 있다는 효과를 기대할 수 있다.
인터넷을 통한 미디어 스트림 전송에는 통상 RTP(Real-Time Transfer Protocol)가 사용되며, 애플리케이션 레이어에서 서버와 클라이언트간의 정보교환과 시그널링에는 RTSP(Real-Time Streaming Protocol)가 널리 사용되고 있다. RTSP는 스트리밍 중에 Play, Fast, Forward, Stop 등과 같은 기능을 제공하여, 사용자가 유니캐스트 또는 멀티캐스트 방식으로 수신되는 콘텐트 재생을 마치 비디오카세트레코더와 같이 조작할 수 있게 해준다. 예컨대, 빠른 장면 이동을 하고자 하는 경우 사용자는 슬라이더 바(slider bar)에서 재생위치 표시기(position indicator)를 마우스로 이동시킬 수 있으며, 이러한 경우 클라이언트의 스트리밍 애플리케이션은 재생위치 표시기에 상응하는 SMPTE 타임스탬프 또는 Normal Play Time을 추출하고 추출된 시간 데이터를 파라미터를 하여 "PLAY" 요구를 함으로써 서버가 해당 시점부터의 미디어 스트림을 전송하도록 할 수 있다.
최근에는 무선 단말기 예컨대 노트북컴퓨터, 휴대전화, 또는 스마트폰의 보급이 확대됨에 따라 이러한 무선 단말기에 대한 스트리밍 서비스도 그 이용이 급격히 증가되고 있는 추세에 있다. 그런데, 무선링크를 통해 인터넷에 접속하는 무선 단말기에 대한 스트리밍 서비스는 유선(hard-wired) 채널을 통해 인터넷에 접속하는 유선 단말기에 비하여 여러 가지 측면에서 제약을 받는다.
무선 단말기에 있어서 가장 큰 제약은 디스플레이 유닛의 크기가 작아서 화소수가 많은 동영상의 풀버전을 제공할 필요가 없을 뿐만 아니라, 무선링크의 대역폭이 작아서 풀버전의 동영상 스트림을 전송하는 것이 어려운 경우가 많다는 것이다. 다른 제약은, 빠른 장면 이동을 위하여 슬라이더 바에서 재생위치 표시기를 조절할 때, 시간 데이터를 파라미터를 한 "PLAY" 요구와 새로운 스트림을 수신함에 있어 대역폭의 제한과 불안정성으로 인하여 버퍼링 시간이 길어질 수 있다는 점이다.
이를 감안하여, 무선 단말기에 대해 스트리밍 서비스를 제공하고자 하는 경우에는 임의시점 실행요구에 대응할 수 있도록 콘텐트 프리젠테이션 파일을 서로 독립적으로 다룰 수 있는 작은 조각(이하, '세그먼트')으로 나누고, 세그먼트 단위로 클라이언트에 전송을 하게 된다. 어느 하나의 콘텐트 세그먼트가 단말기에서 재생되는 동안에는 대역폭이 허용하는 바에 따라 하나 이상의 다음 세그먼트가 미리 다운로드되어 대기하게 되며, 임의시점 실행요구와 이에 대한 처리도 세그먼트 단위로 이루어진다. 세그먼트의 분할은 각 세그먼트의 데이터 크기 즉, 바이트 수가 같도록 행해진다.
한편, 다양한 종류의 단말기가 보급되고 서비스 컨버전스 요구가 높아짐에 따라, 하나의 서버 시스템을 사용하여 유선 단말기와 무선 단말기 모두에게 스트리밍 서비스를 제공해야 할 필요성이 점증하고 있다. 예컨대, 최근에는 TV 내지 셋탑박스, PC와 같은 유선 단말기, 휴대전화와 같은 무선 단말기의 3가지 이질적인 단말기에 대하여 동일한 콘텐츠를 제공하여 3가지 종류의 디바이스에서 끊김없는(seamless) 서비스를 제공하는 '3 스크린 플레이(3 Screen Play, "3SP")' 서비스에 대한 개념이 대두되어 곧 현실화될 것으로 전망이다.
이와 같이 하나의 서버 시스템을 사용하여 유선 단말기와 무선 단말기 모두에게 스트리밍 서비스를 제공하고자 하는 경우에는, 서버 운영자는 유선 단말기에 제공할 세그먼트되지 않은 단일 콘텐트와 무선 단말기에 제공할 세그먼트 콘텐트를 별도로 저장하고 관리해야만 하게 된다. 이는 PC 또는 셋탑박스와 같은 단말기들은 세그먼트되지 않은 단일 콘텐트를 기반으로 동작하도록 구현되어 있고 콘텐트가 세그먼트되어 있을 경우에는 연속적인 스트림 재생이 보장되지 않을 수 있는 반면에, 위에서 본 바와 같이 무선 단말기의 경우에는 대역폭의 제한을 감안하여 세그먼트된 콘텐트를 기반으로 동작하도록 구현되기 때문이다. 이와 같이 동일한 콘텐트에 대하여 적어도 두 벌의 물리적 파일을 구비하는 경우에는, 저장장치의 활용 측면에서 비효율성이 야기된다.
다른 한편으로, 일반적으로 네트웍은 공유 자원으로서 여러 사용자가 동시에 사용하기 때문에 시간에 따라 혼잡 및 정체가 발생되었다가 정체가 해소되는 현상이 반복된다. 이처럼 네트워크 가용 대역폭이 변하면, 최초 수신한 스트림의 품질을 지속적으로 유지하면서 수신할 수 없는 경우가 발생할 수도 있고, 반대로 네트웍 트래픽에 따라 최초보다 높은 품질의 스트림을 수신하는 것이 가능한 상황이 발생할 수도 있다. 따라서 n번째 세그먼트 전송 중에 가용 대역폭의 변화가 발생한 경우 n+1 번째 세그먼트 전송시에는 가용 대역폭에 적합한 품질로 데이터율을 변경하여 전송하는 것이 바람직한데, 이러한 기법을 적응적 스트리밍(Adaptive Streaming)이라고 한다. 세그먼트 기반 스트리밍의 경우, 품질 조절이 세그먼트 단위로 이루어져야만 한다. 그런데, 위와 같이 세그먼트가 크기(size) 기반으로 구분되었을 경우에는 서로 품질이 다른 이웃 세그먼트들간에 장면이 연속되어 있지 않을 수 있기 때문에, 적응적 스트리밍에 의해 품질을 조절할 때 연속적인 스트림 재생을 보장할 수 없게 된다.
본 발명은 이와 같은 문제점을 해결하기 위한 것으로서, 스트리밍 서버 시스템에서 저장장치의 활용 효율성을 높이면서 적응적 스트리밍을 원활하게 수행할 수 있는 콘텐트 가상 세그멘테이션 방법을 제공하는 것을 기술적 과제로 한다.
본 발명은 스트리밍 서버 시스템에서 저장장치의 활용 효율성을 높이면서 세그먼트 기반의 적응적 스트리밍을 원활하게 수행할 수 있는 스트리밍 서비스 제공 방법을 제공하는 것을 다른 기술적 과제로 한다.
본 발명은 저장장치의 활용 효율성이 높고, 네트웍의 가용 대역폭에 따라 데이터율을 적응적으로 변경하면서 세그먼트 기반으로 스트리밍 서비스를 제공하는 스트리밍 서비스 제공 시스템을 제공하는 것을 또 다른 기술적 과제로 한다.
상기 기술적 과제를 달성하기 위한 본 발명의 콘텐트 가상 세그멘테이션 방법은 시간 정보를 포함하는 콘텐트 파일을 세그멘테이션하되, 콘텐트 파일을 세그먼트 파일로 분할하여 보관하지 않고, 콘텐트 파일에서 세그먼트의 위치 정보만을 추출하여 저장함으로써 실제로 스트리밍이 이루어질 때 세그먼트 추출이 용이하게 이루어질 수 있도록 하게 된다. 먼저 세그먼트 시간길이를 결정한 다음, 콘텐트 파일을 상기 시간길이 단위로 구분할 때 확보될 수 있는 다수의 세그먼트들 각각에 대한 시각정보와, 상기 다수의 세그먼트들 각각에 대한 논리적 위치정보를 결정한다. 그리고, 상기 시각정보와 상기 논리적 위치정보를 인덱스 테이블 형태로 저장장치에 저장해둔다. 이후에, 클라이언트 장치에 상기 콘텐트 파일을 전송할 때, 상기 인덱스 테이블을 참조하여 상기 다수의 세그먼트들을 생성하게 된다.
상기 세그먼트 시간길이는 소정의 영상주기 예컨대, 프레임 주기의 배수로서 결정되는 것이 바람직하다.
인덱스 테이블을 구성하는 상기 시각정보는 다수의 세그먼트들 각각에 대한 시작 위치 또는 종료 위치의 시점을 나타내고, 논리적 위치정보는 상기 시작 위치 또는 종료 위치의 상기 콘텐트 파일의 시작지점을 기준으로 한 옵셋값이 될 수 있다.
한편, 상기 다른 기술적 과제를 달성하기 위한 본 발명의 스트리밍 서비스 제공 방법에 따르면, 원본 콘텐트 파일을 저장장치에 저장하고, 상기 원본 콘텐트 파일을 소정의 시간길이 단위로 구분할 때 확보될 수 있는 다수의 세그먼트들 각각에 대한 시각정보와 상기 다수의 세그먼트들 각각에 대한 논리적 위치정보 간의 맵핑 관계를 나타내는 인덱스 테이블을 저장장치에 저장한다. 이와 같은 상태에서, 상기 인덱스 테이블을 토대로 원본 콘텐트 파일로부터 세그먼트들을 추출하여 클라이언트 장치에 네트웍을 통해 스트리밍 방식으로 전송하게 된다.
특허청구범위를 포함한 본 명세서에 있어서, '원본 콘텐트 파일'이란 용어는 세그멘테이션되어 있지 않은 콘텐트 파일을 지칭하는 의미로 사용된다.
일 실시예에 있어서, 인덱스 테이블의 생성 및 저장은 클라이언트 장치로부터 스트리밍 요구 신호가 수신되기 이전에 수행되어 완료될 수 있다. 그렇지만, 변형된 실시예에 있어서는, 인덱스 테이블의 생성 및 저장이 클라이언트 장치로부터 스트리밍 요구 신호가 수신된 이후에 수행될 수도 있다.
서비스 품질을 높이면서 클라이언트 사용자의 대기시간을 감소시킬 수 있도록, 스트리밍 서비스는 네트웍 환경에 적응적으로 이루어질 수 있다. 바람직한 실시예에 있어서는, 네트웍의 대역폭에 따라 상기 시간길이 단위가 변경될 수 있다. 아울러, 네트웍의 대역폭에 따라 세그먼트들의 비트율이 조정될 수도 있다.
상기 인덱스 테이블을 토대로 상기 원본 콘텐트 파일로부터 상기 세그먼트들을 추출할 때, 각 세그먼트를 파일 형태로 저장할 수도 있다. 이와 같은 경우, 각 세그먼트 파일의 파일명에 상기 시각정보, 상기 논리적 위치정보, 일련번호, 또는 이들의 조합을 포함시킴으로써 클라이언트 장치가 각 세그먼트 파일을 개별적으로 요구할 수 있도록 하는 것이 바람직하다.
원본 콘텐트 파일이 소정의 압축 포맷에 따라 압축되고 패킷화되어 있는 경우에는, 상기 인덱스 테이블이 원본 콘텐트 파일을 패킷해제한 상태에서 생성되는 것이 바람직하다. 그렇지만, 상기 인덱스 테이블이 원본 콘텐트 파일로부터 직접 생성될 수도 있다.
상기 또 다른 기술적 과제를 달성하기 위한 본 발명의 스트리밍 서비스 제공 시스템은 콘텐츠 저장부, 인덱스 파일 저장부, 인코더, 및 스트리밍 서버를 구비한다. 콘텐츠 저장부는 원본 콘텐트 파일을 저장한다. 인덱스 파일 저장부는 상기 원본 콘텐트 파일을 소정의 시간길이 단위로 구분할 때 확보될 수 있는 다수의 세그먼트들 각각에 대한 시각정보와 상기 다수의 세그먼트들 각각에 대한 논리적 위치정보 간의 맵핑 관계를 나타내는 인덱스 테이블을 저장한다. 인코더는 상기 인덱스 테이블을 토대로 원본 콘텐트 파일로부터 세그먼트들을 추출하고, 스트리밍 서버는 상기 세그먼트들을 네트웍을 통해 클라이언트 장치에 스트리밍 방식으로 전송한다.
스트리밍 서비스 제공 시스템은 상기 원본 콘텐트 파일이 등록될 때 사전에 상기 원본 콘텐트 파일에 대하여 상기 인덱스 테이블을 생성하여 상기 인덱스 파일 저장부에 저장하는 인덱스 생성부를 추가적으로 구비하는 것이 바람직하다.
그렇지만, 변형된 실시예에 있어서는, 상기 스트리밍 서버가 상기 클라이언트 장치로부터 스트리밍 요구신호를 수신한 후에, 상기 인코더가 상기 인덱스 테이블을 생성할 수도 있다.
본 발명에 따른 가상 세그멘테이션 방법은 콘텐트를 실제로 세그먼트를 미리 분할해두는 것이 아니라 각 세그먼트에 해당하는 파일내 위치정보만 관리하기 때문에, 세그먼트의 크기를 자유롭게 조정하는 것이 가능하다. 즉, 실제로 파일을 세그멘테이션하여 관리하는 경우에는 세그먼트 크기를 조정하려면 모든 콘텐트 파일에 대해 재분할을 해야 하지만, 본 발명의 가상 세그멘테이션 방법에 따르면 변화된 세그먼트 크기에 따라 각 세그먼트의 파일내 위치정보 값만 조정하면 되기 때문에 세그먼트 크기 조정이 용이하게 이루어질 수 있다는 이점이 있다.
본 발명에 따르면, 스트리밍 서버가 무선 단말기와 유선 단말기를 동시에 지원하는 경우에 무선 단말기용 콘텐트와 유선 단말기용 콘텐트를 구분하지 않고, 하나의 콘텐트만을 유지하면서 가상 세그멘테이션 기법을 이용하여 무선 단말기에 송출함으로써 서비스를 제공할 수 있다. 무선 단말기용 콘텐트와 유선 단말기용 콘텐트를 별도로 유지할 필요가 없게 됨에 따라, 서버 시스템의 저장 공간을 효율적으로 활용할 수 있다. 또한, 무선 단말기용 콘텐트를 세그멘테이션할 필요가 없게 되므로 작업이 간소화되고 시간을 절약할 수 있다.
아울러, 본 발명에 따르면 세그먼트가 시간 단위로 형성되기 때문에, 네트웍 상태에 따라 품질 조정을 하는 경우에도 경우에도 이웃 세그먼트들간에 장면이 연속되어 있는 것을 보장할 수 있게 된다. 이에 따라 네트웍의 가용 대역폭에 따라 데이터율을 적응적으로 변경하는 적응적 스트리밍을 차질없이 수행할 수 있다는 효과가 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 구체적으로 설명한다. 도면에 있어서 동일하거나 대응하는 부재에 대해서는 편의상 동일한 참조번호를 사용한다. 도면 중,
도 1은 본 발명에 의한 스트리밍 서비스 제공 시스템과 그 네트웍 환경을 보여주는 블록도;
도 2는 도 1에 도시된 스트리밍 서비스 제공 시스템의 일 실시예의 상세 블록도;
도 3은 도 2에 도시된 인덱스 생성부가 시간-옵셋 인덱스 테이블을 생성하는 방법을 설명하기 위한 도면;
도 4는 도 2에 도시된 스트리밍 서비스 제공 시스템에 의해 수행되는 스트리밍 서비스 제공 방법을 보여주는 흐름도;
도 5는 도 4에 도시된 스트리밍 서비스 제공 방법의 변형된 실시예를 보여주는 흐롬도;
도 6는 도 1에 도시된 스트리밍 서비스 제공 시스템의 다른 실시예의 상세 블록도;
도 7은 도 6에 도시된 스트리밍 서비스 제공 시스템에서 시간-옵셋 인덱스 테이블을 생성하고 콘텐트 파일을 저장하는 과정을 보여주는 흐름도;
도 8은 도 6에 도시된 스트리밍 서비스 제공 시스템에 의해 수행되는 스트리밍 서비스 제공 방법을 보여주는 흐름도;
도 9는 도 1에 도시된 스트리밍 서비스 제공 시스템의 또 다른 실시예의 상세 블록도;
도 10은 도 9에 도시된 스트리밍 서비스 제공 시스템에서 시간-옵셋 인덱스 테이블을 생성하고 콘텐트 파일을 저장하는 과정을 보여주는 흐름도; 그리고
도 11은 도 9에 도시된 스트리밍 서비스 제공 시스템에 의해 수행되는 스트리밍 서비스 제공 방법을 보여주는 흐름도이다.
도 1을 참조하면, 본 발명에 의한 스트리밍 서비스 제공 시스템(50)은 유선 단말기(10)와 무선 단말기(20)에 동시에 스트리밍 방식으로 콘텐츠 제공 서비스를 제공하기에 적합한 것으로서, 데이터 저장 유닛(52)과, 웹 서버(54)와, 스트리밍 서버(56)를 포함한다. 도 1의 시스템이 클라이언트 유선 단말기(10)와 무선 단말기(20)에 제공하는 서비스는, 본 발명이 이에 한정되는 것은 아니지만, 주문형 비디오(VOD: Video-On-Demand) 서비스 및/또는 주문형 오디오(AOD: Audio-On-Demand) 서비스를 포함하는데, 설명의 편의상 아래에서는 VOD 서비스를 중심으로 설명한다.
데이터 저장 유닛(52)은 다수의 콘텐츠와, 각 콘텐츠에 대한 정보, 그리고 시간-옵셋 인덱스 테이블을 저장한다. 상기 다수의 콘텐츠 각각은 VOD 서비스를 제공하기 위한 동영상 음악 파일, 또는 AOD 서비스를 제공하기 위한 음악 파일이 될 수 있다. 상기 콘텐트 정보는 각각의 콘텐트 파일에 대하여 마련되며, 해당 파일의 크기, 생성일, 숏컷 이미지 또는 앨범아트 이미지 파일 등을 포함한다. 시간-옵셋 인덱스 테이블은 본 발명에 의해 가상 세그멘테이션을 구현하기 위하여 각 콘텐트에 있어서, 각각의 세그먼트가 시작되는 파일 위치 즉, 세그먼트 옵셋을 기록한 표이다.
유선 단말기(10)는 인터넷(40)을 통해서 시스템(50)에 접근할 수 있고, 무선 단말기(20)는 무선링크를 경유하여 인터넷(40)을 통해서 시스템(50)에 접근할 수 있다. 구체적으로, 무선 단말기(20)는 예컨대 IEEE 802.11g 표준에 따른 무선랜 액세스포인트 장치(30)에 접속될 수 있고, 무선랜 액세스포인트 장치(30)는 미도시된 라우터 또는 랜스위치를 통하여 인터넷에 접속될 수 있다. 또한, 무선 단말기는 WAP(Wireless Access Protocol) 또는 IEEE 802.16e 표준에 따른 무선 데이터망 즉, WiBro 네트웍(32)과 인터넷(40)을 통해서 시스템(50)에 접근할 수 있다.
유선 단말기(10) 또는 무선 단말기(20)와 같은 클라이언트가 접속되면, 스트리밍 서비스 제공 시스템(50)의 웹 서버(54)는 데이터 저장 유닛(52)에 저장된 콘텐츠 정보를 토대로 EPG(Electronic Program Guide)를 생성하여 제공하고, 클라이언트 사용자가 EPG 내에 있는 어느 한 항목을 선택하여 콘텐트 제공요구를 하면, 스트리밍 서버(56)는 해당 콘텐트를 스트리밍 방식으로 제공한다. 한편, 변형된 실시예에 있어서는, EPG가 사전에 생성되어 데이터 저장 유닛(52)에 저장되어 있을 수도 있다.
일 실시예에 있어서, 스트리밍 서버(56)는 유선 단말기(10)에 대해서는 데이터 저장 유닛(52)에 저장된 콘텐트 파일을 별도로 세그멘테이션하지 않은 상태에서 예컨대 RTP(Real-Time Transfer Protocol) 및 RTSP(Real-Time Streaming Protocol)에 따라 스트리밍을 진행한다. 스트리밍 진행 중에 유선 단말기(10) 사용자가 빠른 장면 이동을 위해 슬라이더 바(slider bar)에서 재생위치 표시기(position indicator)를 마우스로 이동시키는 경우, 재생위치 표시기에 상응하는 SMPTE 타임스탬프 또는 Normal Play Time이 스트리밍 서버(56)에 전달되며, 이에 응답하여 스트리밍 서버(56)는 해당 재생시간에 해당하는 부분부터 콘텐트 스트림을 전송하게 된다.
한편, 스트리밍 서버(56)는 무선 단말기(20)에 대해서는 데이터 저장 유닛(52)에 저장된 콘텐트 파일을 시간-옵셋 인덱스 테이블을 토대로 세그멘테이션하고, 세그먼트들을 RTP(Real-Time Transfer Protocol) 및 RTSP(Real-Time Streaming Protocol)에 따라 스트리밍을 진행한다. 스트리밍 진행 중에 무선 단말기(20) 사용자가 빠른 장면 이동을 위해 슬라이더 바(slider bar)에서 재생위치 표시기(position indicator)를 마우스로 이동시키는 경우, 재생위치 표시기에 상응하는 SMPTE 타임스탬프 또는 Normal Play Time이 스트리밍 서버(56)에 전달되며, 이에 응답하여 스트리밍 서버(56)는 해당 재생시간에 해당하는 세그먼트부터 콘텐트 스트림을 전송하게 된다.
다른 한편으로, EPG에는 각 세그먼트 단위로 사용자가 선택할 수 있도록 항목이 표시될 수도 있다. 이와 같은 경우 사용자가 어느 한 세그먼트를 선택하면 해당 세그먼트에 대한 파일명을 파라미터로 하는 http 요구 또는 rtsp 요구가 시스템(50)에 전송되며, 이에 응답하여 스트리밍 서버(56)는 선택된 세그먼트부터 콘텐트 스트림을 전송하게 된다. 이를 위하여, 본 발명은 각 세그먼트에 대해 일정 규칙에 따라 파일명을 부여하는데, 파일명 부여 규칙의 예에 대해서는 후술하기로 한다.
도 2는 스트리밍 서비스 제공 시스템(50)의 일 실시예를 상세하게 보여준다. 본 실시예에 있어서, 스트리밍 서비스 제공 시스템(50)은 상기 데이터 저장 유닛(52), 웹 서버(54), 및 스트리밍 서버(56) 이외에, 콘텐츠 관리부(110), 인덱스 생성부(114), 트랜스코더(116), 트랜스코더/세그멘테이터(118), 및 인코딩 제어부(122)를 포함한다. 한편, 데이터 저장 유닛(52)은 콘텐츠 저장부(100), 콘텐츠 정보 저장부(102), 및 시간-옵셋 인덱스 테이블(104)을 구비한다.
데이터 저장 유닛(52)에 있어서, 콘텐츠 저장부(100)는 스트리밍 방식으로 클라이언트에 제공할 다수의 콘텐츠를 저장한다. 위에서 언급한 바와 같이, 각 콘텐트는 VOD 서비스를 제공하기 위한 동영상 음악 파일, 또는 AOD 서비스를 제공하기 위한 음악 파일이 될 수 있다. 콘텐츠 정보 저장부(102)는 콘텐츠 저장부(100)에 저장된 각 콘텐트 파일에 대하여 파일 크기, 재생시간, 생성일 등과 같은 속성과, 숏컷 이미지 또는 앨범아트 이미지 파일 등을 포함한다. 시간-옵셋 인덱스 테이블(104)은 시간-옵셋 인덱스 테이블은 본 발명에 의해 각 콘텐트를 무선 단말기(20)에 스트리밍 방식으로 제공하는 경우 세그멘테이션하는데 필요한 인덱스 정보를 저장하는데, 상기 인덱스 정보는 각 세그먼트의 시작시점과 콘텐트 파일에서 해당 세그먼트가 시작되는 논리적 위치 즉, 세그먼트 옵셋 간의 관계를 나타낸다.
콘텐츠 관리부(110)는 관리자용 단말기(미도시됨)의 지시에 따라 콘텐트 소스로부터 콘텐트 파일을 받아들이고, 인덱스 생성부(114)를 통하여 콘텐츠 저장부(100)에 저장한다. 콘텐츠 저장부(100)에 저장되는 콘텐트 파일 중 일부는 관리자용 단말기로부터 직접 업로드될 수도 있다.
인덱스 생성부(114)는 콘텐츠 저장부(100)에 저장되는 각 콘텐트 파일에 대하여 시간-옵셋 인덱스 테이블(104)을 작성하여 데이터 저장 유닛(52)에 저장한다. 인덱스 테이블의 구조 및 작성 방법에 대한 구체적인 사항은 아래에서 다시 설명하기로 한다.
트랜스코더(116)는 유선 단말기(10)에 제공할 콘텐트 파일에 대하여 필요에 따라 선택적으로 트랜스코딩(Transcoding) 작업을 수행한다. 바람직한 실시예에 있어서, 트랜스코딩은 스트리밍 서버(56)가 감지하는 네트웍 혼잡도 내지 가용 대역폭에 따라 비트율을 조정함으로써 적응적 스트리밍을 구현하기 위하여 수행된다. 즉, 트랜스코더(116)는 네트웍 대역폭이 감소하는 경우 트랜스코딩에 의하여 비트율을 감소시킬 수 있다. 네트웍 대역폭이 다시 증가하는 경우, 트랜스코더(116)는 비트율을 다시 증가시킬 수 있다. 비트율 변경은 여러 단계에 걸쳐서 이루어질 수도 있다. 한편, 트랜스코더(116)는 필요에 따라 콘텐트 파일에 대한 부호화 방식을 변경할 수도 있다.
트랜스코더/세그멘테이터(120)는 무선 단말기(20)에 제공할 콘텐트 파일에 대하여 세그먼트를 생성함과 아울러, 적응적 스트리밍이 이루어질 수 있도록 세그먼트의 비트율과 화면크기 등을 조정한다. 비트율과 화면크기의 변경은 인코딩 제어부(122)로부터의 제어신호에 따라 이루어진다. 아울러, 세그멘테이션 작업 역시 인코딩 제어부(122)로부터의 제어신호에 따라 이루어진다. 이 경우에 있어서도 비트율 변경은 가용 대역폭에 적합할 수 있도록 여러 단계 중 하나가 선택될 수 있다. 한편, 트랜스코더/세그멘테이터(120)는 필요에 따라 콘텐트 파일 내지 세그먼트 파일에 대한 부호화 방식을 변경할 수도 있다. 각 세그먼트 파일은 버퍼(미도시됨)를 경유하여 스트리밍 서버(56)에 제공된다.
인코딩 제어부(122)는 트랜스코더/세그멘테이터(120)를 제어하기 위한 제어신호를 공급한다. 제어신호는 비트율, 영상의 상하/좌우 크기, 화면비 변경을 위한 정보와, 세그멘테이션을 위한 인덱스 정보가 포함될 수 있다. 비트율은 스트리밍 서버(56)로부터의 네트웍 정체정보 내지 네트웍 대역폭 정보에 따라 가변될 수 있다. 영상의 상하/좌우 크기와, 화면비는 웹 서버(54)가 http 요구를 통해 획득한 클라이언트 화면 크기 정보에 따라 가변될 수 있다. 세그멘테이션을 위한 인덱스 정보는 시간-옵셋 인덱스 테이블(104)로부터 획득된다.
도 3은 인덱스 생성부(114)에 의한 시간-옵셋 인덱스 테이블(104) 생성 방법을 보여준다.
'세그먼트'란 원본 콘텐트를 여러 조각으로 나눈 것을 의미하는데, 본 발명에 따르면 세그먼트의 시간적 길이(s)는 일정한 단위시간(Δt)의 배수로서 각 세그먼트에 대하여 동일하게, 예컨대 5초~20초의 범위 내에 있는 어떤 일정한 값으로, 정해진다. 여기서, 상기 단위시간(Δt)은 프레임 주기가 될 수 있다. 예컨대 원본 콘텐트가 초당 30 프레임의 영상인 경우에 상기 단위시간(Δt)은 1/30초가 된다.
이때, 원본 콘텐트를 세그멘테이션하여 생성되는 세그먼트의 개수는 다음 수학식 1에 의하여 정해지며, 여기서 'CEIL'은 소수점 올림함수를 나타낸다.
Figure pat00001
예를 들어, 재생시간이 r초인 원본 콘텐트를 각각의 시간길이가 s초인 세그먼트들로 분할하는 경우, r이 s로 나누어 떨어지는 경우에는 r/s개의 세그먼트가 생성되고, 나누어 떨어지지 않는 경우에는 (r/s + 1)개의 세그먼트가 생성된다.
도 3의 예에서는 N개의 세그먼트가 생성된다고 가정하였다. 각 세그먼트에 대해서는 일련번호를 부여하여 세그먼트 위치를 나타낼 수 있다. 첫 번째 세그먼트(세그먼트 #1)는 원본 콘텐트 파일의 초기 위치부터 T1(s × 1)초까지의 부분을 분할한 것이 된다. 두 번째 세그먼트(세그먼트 #2)는 원본 콘텐트 파일의 T1에 해당하는 위치부터 T2(s × 2)초까지의 부분을 분할한 것이 되며, 원본 콘텐트 파일에서의 시작지점 위치는 옵셋값(OFFSET-1)으로 나타낼 수 있다. 세번째 세그먼트(세그먼트 #3)는 원본 콘텐트 파일의 T2에 해당하는 위치부터 T3(s × 3)초까지의 부분을 분할한 것이 되며, 원본 콘텐트 파일에서의 시작지점 위치는 옵셋값(OFFSET-2)으로 나타낼 수 있다. 그리고, 마지막 세그먼트(세그먼트 #N)는 원본 콘텐트 파일의 N-1번째 세그먼트의 종료시점 T-(N-1)부터 원본 콘텐트의 끝(T-N)까지의 부분을 분할한 것이 된다.
도 2에 도시된 시간-옵셋 인덱스 테이블(104)은 각 세그먼트가 시작시점과, 이 시작시점에 대응하는 원본 콘텐트 파일에서의 옵셋값간의 맵핑 정보를 저장하게 된다. 예컨대, 두 번째 세그먼트의 시작시점 T1과, 원본 콘텐트 파일에서 세그먼트 시작위치를 나타내는 옵셋값(OFFSET-1)이 쌍으로써 입력된다. 그리고, 세 번째 세그먼트의 시작시점 T2와, 원본 콘텐트 파일에서 세그먼트 시작위치를 나타내는 옵셋값(OFFSET-2)이 쌍으로써 입력된다. 이와 같은 방식으로, 마지막 세그먼트인 N번째 세그먼트의 시작시점 T-(N-1)과, 원본 콘텐트 파일에서 세그먼트 시작위치를 나타내는 옵셋값(OFFSET-(N-1))이 쌍으로써 입력된 후에는, N번째 세그먼트의 종료시점 T-N과, 원본 콘텐트 파일에서 세그먼트 종료위치의 다음 바이트 값을 나타내는 옵셋값(OFFSET-N)이 쌍으로써 입력된다. 첫 번째 세그먼트의 경우 시작시점(0)과 옵셋값(0)을 추측할 수 있기 때문에 입력되지 않을 수 있다.
본 실시예에 있어서는, 이와 같이 시간-옵셋 인덱스 테이블(104)이 사전에 추출되어 생성되지만, 변형된 실시예에 있어서는 시간-옵셋 인덱스 값들이 스트림 전송 중에 실시간으로 추출될 수도 있다.
도 2에 도시된 스트리밍 서비스 제공 시스템(50)에서 무선 단말기(20)에 대하여 스트리밍 서비스를 제공하는 과정을 도 4를 참조하여 설명한다.
웹 서버(54)는 무선 단말기(20)의 요구에 응답하여 시스템(50)이 제공하는 콘텐츠의 종류를 EPG 형태로 제공할 수 있다. EPG는 콘텐츠 정보 저장부(102)에 저장된 콘텐츠 정보를 토대로 구성되며, 각 콘텐트의 명칭과 대표 이미지, 그리고 콘텐트에 대한 간단한 설명을 포함할 수 있으며, 적어도 일부의 콘텐트에 대해서는 세그먼트 단위로 선택 버튼이 마련될 수도 있다. 무선 단말기(20) 사용자가 EPG 내에서 어느 한 콘텐트를 선택하면, 해당 콘텐트를 제공할 것을 요구하는 rtsp 요구가 스트리밍 서버(56)로 전송된다.
제140단계에서 rtsp 요구가 수신되면, 스트리밍 서버(56)는 인코딩 제어부(122)로 하여금 해당 콘텐트 파일에 대해 세그먼트를 생성할 것을 요구하고, 인코딩 제어부(122)는 이에 응답하여 트랜스코더/세그멘테이터(120)로 하여금 콘텐트 파일을 세그멘테이션하도록 하게 된다. 트랜스코더/세그멘테이터(120)는 콘텐츠 저장부(100)로부터 해당 콘텐트 파일을 독출하고(제142단계), 독출된 콘텐트 파일로부터 무선 단말기(20)에 전송할 세그먼트를 추출한다(제144단계 내지 제148단계).
본 발명의 바람직한 실시예에 있어서, 세그먼트는 사전에 생성되어 파일 형태로 저장 유닛(50)에 저장되어 있는 것이 아니라, 무선 단말기(20)에 전송하고자 할 때 동적으로 추출된다.
본 발명에 따르면 각 세그먼트에는 일정한 규칙에 따른 파일명이 부여된다. 일 예로서, 파일명은 다음과 같이 부여될 수 있다.
세그먼트파일명 = 원본파일명 + 특수구분자 + 세그먼트길이 + 일련번호
여기서 '특수구분자'는 원본파일명 부분과 세그먼트길이 부분을 구분하고 세그먼트 파일의 명칭임을 나타내기 위한 것으로서, 일정한 문자열 예컨대 "____"나 "-_-_-"가 사용될 수 있다. '세그먼트 길이'는 세그먼트의 시간적인 길이를 나타낸다. 세그먼트 파일명의 구성이 위와 같은 형식에 한정되는 것은 아니며, 순서나 내용에 있어서 실시예에 따라 자유롭게 조합할 수 있다. 예컨대 세그먼트 길이는 사전에 약속된 정보를 이용할 수 있으므로 생략 가능하며, 모든 요청을 세그먼트라고 가정하는 경우에는 특수 구분자 또한 생략이 가능하다. 아울러, 세그먼트 파일명을 구성하는 정보간 연결을 위한 추가적인 구분자(예컨대, 마침표)를 추가적으로 포함시켜 사용할 수도 있다.
바람직한 실시예에 있어서, 이러한 파일명은 시간-옵셋 인덱스 테이블(104)이 생성될 때 함께 결정될 수 있다. 이와 같은 경우, 위에서 언급한 바와 같이 EPG 내에 적어도 일부의 콘텐트에 대해서 세그먼트 단위로 선택 버튼이 마련되는 경우, 각 선택 버튼에 하이퍼링크되는 리소스 로케이터에는 세그먼트에 대한 파일 명칭이 포함될 수 있다. 한편, 본 발명의 변형된 실시예에 있어서는 파일명이 트랜스코더/세그멘테이터(120)에 의한 세그멘테이션 과정에서 부여될 수도 있다.
웹 서버(54)는 제140단계에서 스트리밍 요구 신호를 수신할 때 요구 신호에 포함된 파라미터로부터 무선 단말기(20)가 콘텐트 파일 전체를 요구했는지, 특정 세그먼트를 요구했는지를 판단하고, 판단 결과를 인코딩 제어부(122)에 제공한다. 무선 단말기(20)가 특정 세그먼트를 요구한 경우에는, 웹 서버(54)는 세그먼트 파일 명칭 자체, 또는 파일 명칭에 포함된 정보들을 인코딩 제어부(122)에 함께 제공한다.
무선 단말기(20)가 콘텐트 파일 전체를 요구한 경우(제144단계), 인코딩 제어부(122)는 트랜스코더/세그멘테이터(120)로 하여금 시간-옵션 인덱트 테이블(64)을 참조하여 첫 번째 세그먼트를 추출하도록 한다(제146단계). 한편, 제144단계에서 무선 단말기(20)가 특정 세그먼트를 요구한 것으로 판단되는 경우에는, 인코딩 제어부(122)는 트랜스코더/세그멘테이터(120)로 하여금 시간-옵션 인덱트 테이블(64)을 참조하여 요구된 세그먼트를 추출하도록 한다(제148단계).
다른 한편으로, 무선 단말기(20) 사용자가 콘텐트 재생 중에 슬라이더 바(slider bar)에서 재생위치 표시기(position indicator)를 마우스로 이동시켜서 임의시점 실행요구를 하는 경우, 재생위치 표시기에 상응하는 SMPTE 시간정보 또는 Normal Play Time 정보가 요구 메시지에 포함되어 스트리밍 서버(56)로 전달되는데, 스트리밍 서버(56)는 수신된 시간 정보를 인코딩 제어부(122)에 제공할 수 있다. 이와 같은 경우, 인코딩 제어부(122)는 시간-옵션 인덱트 테이블(64)을 참조하여 해당 시간 정보에 상응하는 세그먼트를 결정하고, 트랜스코더/세그멘테이터(120)로 하여금 추출하도록 할 수 있다.
제150단계에서 인코딩 제어부(122)는 스트리밍 서버(56)로부터 수신한 대역폭 정보를 토대로 비트율을 조정할 필요가 있는지 여부를 판단한다. 만약 비트율을 조정할 필요가 있다면, 인코딩 제어부(122)는 트랜스코더/세그멘테이터(120)로 하여금 비트율을 조정하게 한다(제152단계). 이때, 비트율 조정 대신에, 또는 비트율 조정과 동시에 화면에 표시될 영상 크기가 조정될 수도 있다.
제154단계에서 스트리밍 서버(56)는 세그먼트를 RTSP에 따라 인코딩하여 무선 단말기(20)에 전송한다. 그 다음, 인코딩 제어부(122)는 해당 콘텐트에 대하여 추가적으로 전송할 세그먼트가 남아있는지를 판단하고, 전송할 세그먼트가 남아 있는 경우에는 제144단계로 다시 진행하여 다음 세그먼트 또는 사용자가 요구한 세그먼트를 추출하여 전송하는 과정을 반복하게 된다.
도 5는 도 4에 도시된 스트리밍 서비스 제공 방법의 변형된 실시예를 보여준다. 도 4에 도시된 실시예에 있어서는 세그먼트가 무선 단말기(20)에 전송하고자 할 때 동적으로 추출되었지만, 도 5의 실시예에 있어서는 스트리밍을 위하여 첫 번째 세그먼트가 생성될 때 나머지 세그먼트들도 함께 생성되어 버퍼 또는 저장 유닛(50)에 일시적으로 저장된다.
제140단계에서 rtsp 요구가 수신되면, 트랜스코더/세그멘테이터(120)는 콘텐츠 저장부(100)로부터 해당 콘텐트 파일을 독출하고(제142단계), 독출된 콘텐트 파일을 세그멘테이션하여 세그먼트 파일들을 버퍼 또는 저장 유닛(50)에 저장해둔다(제164단계). 본 실시예에 있어서도, 세그먼트에 대한 파일명은 도 4의 실시예와 동일하게 정해질 수 있다.
제166단계에서 무선 단말기(20)가 콘텐트 파일 전체를 요구한 것으로 판단되는 경우에는, 제170단계 내지 제174단계에서 첫 번째 세그먼트 파일이 인코딩되어 전송된다. 한편, 제166단계에서 무선 단말기(20)가 특정 세그먼트를 요구한 것으로 판단되는 경우에는, 제170단계 내지 제174단계에서 요구된 세그먼트 파일이 독출되고 인코딩되어 전송된다. 제176단계에서, 인코딩 제어부(122)는 해당 콘텐트에 대하여 추가적으로 전송할 세그먼트가 남아있는지를 판단하고, 전송할 세그먼트가 남아 있는 경우에는 제178단계에서 다음 세그먼트를 추출하여 제170단계 내지 제174단계에서 인코딩하여 전송한다. 한편, 세그먼트 전송 중에 무선 단말기(20)가 특정 세그먼트를 요구하는 경우에는, 요구된 세그먼트 파일이 독출되고 인코딩되어 전송된다.
도 6은 도 1에 도시된 스트리밍 서비스 제공 시스템의 다른 실시예의 블록도이다. 본 실시예에 따른 시스템은 MPEG-2 트랜스포트 스트림(TS) 포맷의 원본 콘텐트 파일을 받아들여 저장하고, 이를 유선 단말기(10) 또는 무선 단말기(20)에 스트리밍 방식으로 전송할 수 있다.
콘텐츠 관리부(210)는 관리자용 단말기(미도시됨)의 지시에 따라 콘텐트 소스로부터 MPEG-2 TS 포맷의 콘텐트 파일을 받아들이고, 인코더/디코더(212)를 통하여 콘텐츠 저장부(100)에 저장한다.
디코더/인코더(212)는 MPEG-2 TS 포맷의 콘텐트 파일을 디멀티플렉싱하고 패킷을 해제하여, 비디오 엘리멘터리 스트림(ES) 및 오디오 ES와, PSI 정보(Program Specific Information)를 추출한다. 비디오 ES는 프레임내 부호화된 I-화면 프레임과, 프레임간의 시간적, 공간적 중복을 제거하여 압축 부호화된 P-화면 프레임 및 B-화면 프레임에 대한 영상 데이터를 포함한다.
인덱스 생성부(214)는 비디오 ES에서 I-화면 프레임의 시작 시점들을 기준으로 일정 시간 단위로 세그먼트 시작 위치를 결정하고, 각 세그먼트에 대한 옵셋값을 구하여 시간-옵셋 인덱스 테이블(104)을 작성한다. 인덱스 생성부(214)는 작성된 시간-옵셋 인덱스 테이블(104)을 데이터 저장 유닛(52)에 저장한다. 인덱스 테이블의 구조 및 작성 방법은 위에서 설명한 바와 같다.
디코더/인코더(212)는 시간-옵셋 인덱스 테이블(104) 작성이 완료된 후에는 원본 콘텐트 파일을 콘텐츠 저장부(100)에 저장한다. 본 실시예에 있어서, 콘텐츠 저장부(100)에 저장되는 원본 콘텐트 파일은 MPEG-2 TS 포맷으로 되어 있다. 이에 따라, 디코더/인코더(212)는 시간-옵셋 인덱스 테이블(104) 작성이 완료된 후 비디오 ES 및 오디오 ES와, PSI 정보를 다시 패킷화하여 PES(Packetized ES)를 생성하고 멀티플렉싱하여 MPEG-2 TS를 복원하게 된다.
트랜스코더(216)는 유선 단말기(10)에 제공할 콘텐트 파일에 대하여 필요에 따라 선택적으로 트랜스코딩(Transcoding) 작업을 수행한다. 특히, 트랜스코더(216)는 스트리밍 서버(56)가 감지하는 네트웍 혼잡도 내지 가용 대역폭에 따라 비트율을 조정함으로써 적응적 스트리밍을 구현하게 된다.
디코더(218)는 무선 단말기(20)에 제공할 콘텐트 파일에 대하여 세그먼트를 생성하기에 앞서 MPEG-2 TS 포맷의 콘텐트 파일을 디코딩한다. 즉, 디코더(218)는 MPEG-2 TS 포맷의 콘텐트 파일을 디멀티플렉싱하고 패킷을 해제하여, 비디오 ES 및 오디오 ES를 추출한다.
인코더(220)는 비디오 ES에 대하여 비트율, 화면크기 등을 조정한 다음, 세그먼트들을 추출하고 추출된 세그먼트들 각각을 별도의 파일로 저장한다. 세그먼트 파일에 대한 파일명 부여 방식은 위에서 설명한 바와 같다. 비트율 및/또는 화면크기의 변경은 인코딩 제어부(222)로부터의 제어신호에 따라 이루어진다. 아울러, 세그멘테이션 작업 역시 인코딩 제어부(222)로부터의 제어신호에 따라 이루어진다. 아울러, 인코더(220)는 비디오 ES와 오디오 ES를 사전에 정해진 인코딩 기법에 의해 인코딩한다. 무선 단말기(20)에 제공할 세그먼트 파일을 MPEG-2 TS 포맷으로 인코딩할 수도 있지만, 무선 대역폭을 감안할 때 바람직하지 않을 수도 있다. 세그먼트 파일의 부호화 기법은 기존에 존재하는 기법 또는 향후에 대두될 수 있는 기법이 모두 활용될 수 있으며, 본 발명이 구체적인 부호화 기법과는 무관하다. 인코딩된 세그먼트 파일은 버퍼(미도시됨)를 경유하여 스트리밍 서버(56)에 제공될 수 있다.
도 6에 도시된 시스템의 다른 특징은 도 2에 도시된 시스템과 동일하거나 유사하므로 이에 대한 반복된 설명은 생략하기로 한다.
도 7은 도 6에 도시된 스트리밍 서비스 제공 시스템에서 시간-옵셋 인덱스 테이블을 생성하고 콘텐트 파일을 저장하는 과정을 보여준다.
먼저, 디코더/인코더(212)는 MPEG-2 TS를 디멀티플렉싱하고 패킷을 해제하여, 비디오 ES 및 오디오 ES와, PSI 정보를 추출한다(제230단계).
이어서, 인덱스 생성부(214)는 비디오 ES에서 I-화면 프레임의 시작 시점들을 기준으로 일정 시간 단위로 세그먼트 시작 위치를 결정한다(제232단계). 그리고, 인덱스 생성부(214)는 각 세그먼트에 대한 옵셋값을 구하여 시간-옵셋 인덱스 테이블(104)을 작성한다(제234단계). 작성된 시간-옵셋 인덱스 테이블(104)는 데이터 저장 유닛(52)에 저장된다.
마지막으로, 디코더/인코더(212)는 비디오 ES 및 오디오 ES와, PSI 정보로부터 MPEG-2 TS를 재구성하여 콘텐츠 저장부(100)에 저장한다(제236단계).
도 8은 도 6에 도시된 스트리밍 서비스 제공 시스템에 의해 수행되는 스트리밍 서비스 제공 방법을 보여준다.
웹 서버(54)는 무선 단말기(20)의 요구에 응답하여 시스템(50)이 제공하는 콘텐츠의 종류를 EPG 형태로 제공할 수 있고, 무선 단말기(20) 사용자는 EPG 내에서 어느 한 콘텐트를 선택하여 해당 콘텐트를 제공할 것을 요구할 수 있다.
제240단계에서 rtsp 요구가 수신되면, 스트리밍 서버(56)는 인코딩 제어부(222)로 하여금 해당 콘텐트 파일에 대해 세그먼트를 생성할 것을 요구하고, 인코딩 제어부(222)는 이에 응답하여 디코더(218)로 하여금 콘텐트 파일을 디코딩하도록 하게 된다. 이에 따라, 디코더(218)는 MPEG-2 TS를 디멀티플렉싱하고 패킷을 해제하여, 비디오 ES 및 오디오 ES를 추출한다(제242단계).
이어서, 인코딩 제어부(222)는 인코더(220)로 하여금 비디오 ES를 세그멘테이션하도록 하게 된다. 인코더(220)는 디코딩된 비디오 ES를 세그멘테이션하여 세그먼트 파일들을 생성한 후, 세그먼트 파일들을 사전에 정해진 인코딩 기법에 의해 인코딩하여 버퍼 또는 저장 유닛(50)에 저장해둔다(제244단계).
그 다음, 첫 번째 세그먼트 파일이 무선 단말기(20)에 스트리밍 방식으로 전송한다(제250단계 내지 제254단계). 이 과정에서, 인코딩 제어부(222)는 먼저 스트리밍 서버(56)로부터 수신한 대역폭 정보를 토대로 비트율을 조정할 필요가 있는지 여부를 판단한다(제250단계). 만약 비트율을 조정할 필요가 있다면, 인코딩 제어부(222)는 인코더(220)로 하여금 비트율을 조정하게 한다(제252단계). 비트율 조정은 이미 생성된 세그먼트 파일들을 트랜스코딩하거나, 비디오 ES를 트랜스코딩한 후 다시 인코딩함으로써 이루어질 수 있다. 한편, 비트율 조정 대신에, 또는 비트율 조정과 동시에 화면에 표시될 영상 크기가 조정될 수도 있다.
제254단계에서 스트리밍 서버(56)는 세그먼트 파일을 스트리밍 방식으로 무선 단말기(20)에 전송한다.
한편, 본 실시예에 있어서도, 무선 단말기(20) 사용자는 콘텐트 파일을 처음부터가 아니라 특정 세그먼트부터 전송할 것을 요구할 수도 있다. 무선 단말기(20)가 특정 세그먼트부터 전송할 것을 요구한 경우에는(제246단계), 해당 세그먼트 파일이 독출되어 제250단계 내지 제254단계를 통해서 전송된다.
제256단계에서, 스트리밍 서버(56)는 해당 콘텐트에 대하여 추가적으로 전송할 세그먼트 파일이 남아있는지를 판단하고, 전송할 세그먼트가 남아 있는 경우에는 다음 세그먼트 파일을 독출하여(제258단계), 제250단계 내지 제254단계를 통해서 전송한다.
도 9는 도 1에 도시된 스트리밍 서비스 제공 시스템의 또 다른 실시예의 블록도이다. 본 실시예에 따른 시스템은 MPEG-2 트랜스포트 스트림(TS) 포맷의 원본 콘텐트 파일을 받아들이고 비디오 ES 포맷의 파일로 저장해둔 상태에서, 이를 유선 단말기(10) 또는 무선 단말기(20)에 스트리밍 방식으로 전송할 수 있다.
콘텐츠 관리부(310)는 관리자용 단말기(미도시됨)의 지시에 따라 콘텐트 소스로부터 MPEG-2 TS 포맷의 콘텐트 파일을 받아들이고, 디코더(312)를 통하여 콘텐츠 저장부(100)에 저장한다.
디코더(312)는 MPEG-2 TS 포맷의 콘텐트 파일을 디멀티플렉싱하고 패킷을 해제하여, 비디오 ES 및 오디오 ES를 추출한다. 디코더(312)는 비디오 ES 및 오디오 ES를 원본 콘텐트 파일로서 콘텐츠 저장부(100)에 저장한다. 인덱스 생성부(314)는 비디오 ES에서 I-화면 프레임의 시작 시점들을 기준으로 일정 시간 단위로 세그먼트 시작 위치를 결정하고, 각 세그먼트에 대한 옵셋값을 구하여 시간-옵셋 인덱스 테이블(104)을 작성한다. 인덱스 생성부(314)는 작성된 시간-옵셋 인덱스 테이블(104)을 데이터 저장 유닛(52)에 저장한다. 인덱스 테이블의 구조 및 작성 방법은 위에서 설명한 바와 같다.
인코더(316)는 유선 단말기(10)에 제공할 콘텐트에 대하여 비디오 ES 및 오디오 ES를 인코딩한다. 인코더(316)는 스트리밍 서버(56)가 감지하는 네트웍 혼잡도 내지 가용 대역폭에 따라 비트율을 조정할 수도 있다.
세그멘테이터/인코더(320)는 무선 단말기(20)에 제공할 콘텐트 파일에 대하여 세그먼트를 생성함과 아울러, 적응적 스트리밍이 이루어질 수 있도록 세그먼트의 비트율과 화면크기 등을 조정한다. 비트율과 화면크기의 변경은 인코딩 제어부(322)로부터의 제어신호에 따라 이루어진다. 아울러, 세그멘테이션 작업 역시 인코딩 제어부(322)로부터의 제어신호에 따라 이루어진다. 그리고, 세그멘테이터/인코더(320)는 각 세그먼트 파일을 사전에 정해진 부호화 방식으로 부호화한다. 부호화된 각 세그먼트 파일은 버퍼(미도시됨)를 경유하여 스트리밍 서버(56)에 제공된다.
인코딩 제어부(322)는 세그멘테이터/인코더(320)를 제어하기 위한 제어신호를 공급한다. 제어신호는 비트율, 영상의 상하/좌우 크기, 화면비 변경을 위한 정보와, 세그멘테이션을 위한 인덱스 정보가 포함될 수 있다. 비트율은 스트리밍 서버(56)로부터의 네트웍 정체정보 내지 네트웍 대역폭 정보에 따라 가변될 수 있다. 영상의 좌우 크기와, 화면비는 웹 서버(54)가 http 요구를 통해 획득한 클라이언트 화면 크기 정보에 따라 가변될 수 있다. 세그멘테이션을 위한 인덱스 정보는 시간-옵셋 인덱스 테이블(104)로부터 획득된다.
도 9에 도시된 시스템의 다른 특징은 도 2 또는 도 6에 도시된 시스템과 동일하거나 유사하므로 이에 대한 반복된 설명은 생략하기로 한다.
도 10은 도 9에 도시된 스트리밍 서비스 제공 시스템에서 시간-옵셋 인덱스 테이블을 생성하고 콘텐트 파일을 저장하는 과정을 보여준다.
먼저, 디코더(312)는 MPEG-2 TS를 디멀티플렉싱하고 패킷을 해제하여, 비디오 ES 및 오디오 ES를 추출한다(제330단계). 이어서, 디코더(312)는 비디오 ES 및 오디오 ES를 원본 콘텐트 파일로서 콘텐츠 저장부(100)에 저장한다(제332단계).
이어서, 인덱스 생성부(314)는 비디오 ES에서 I-화면 프레임의 시작 시점들을 기준으로 일정 시간 단위로 세그먼트 시작 위치를 결정한다(제334단계). 그리고, 인덱스 생성부(314)는 각 세그먼트에 대한 옵셋값을 구하여 시간-옵셋 인덱스 테이블(104)을 작성한다(제336단계). 작성된 시간-옵셋 인덱스 테이블(104)는 데이터 저장 유닛(52)에 저장된다.
도 11은 도 9에 도시된 스트리밍 서비스 제공 시스템에 의해 수행되는 스트리밍 서비스 제공 방법을 보여준다.
웹 서버(54)는 무선 단말기(20)의 요구에 응답하여 시스템(50)이 제공하는 콘텐츠의 종류를 EPG 형태로 제공할 수 있고, 무선 단말기(20) 사용자는 EPG 내에서 어느 한 콘텐트를 선택하여 해당 콘텐트를 제공할 것을 요구할 수 있다.
제340단계에서 rtsp 요구가 수신되면, 스트리밍 서버(56)는 인코딩 제어부(322)로 하여금 해당 콘텐트 파일에 대해 세그먼트를 생성할 것을 요구하고, 인코딩 제어부(222)는 이에 응답하여 세그멘테이터/인코더(320)로 하여금 콘텐트 파일을 인코딩하도록 하게 된다. 이에 따라, 세그멘테이터/인코더(320)는 콘텐츠 저장부(100)로부터 비디오 ES 콘텐트 파일을 독출하고(제342단계), 독출된 비디오 ES 파일을 세그멘테이션하여 세그먼트 파일들을 버퍼 또는 저장 유닛(50)에 저장해둔다(제346단계).
그 다음, 첫 번째 세그먼트 파일이 무선 단말기(20)에 스트리밍 방식으로 전송한다(제350단계 내지 제354단계). 이 과정에서, 인코딩 제어부(322)는 먼저 스트리밍 서버(56)로부터 수신한 대역폭 정보를 토대로 비트율을 조정할 필요가 있는지 여부를 판단한다(제350단계). 만약 비트율을 조정할 필요가 있다면, 인코딩 제어부(322)는 세그멘테이터/인코더(320)로 하여금 비트율을 조정하게 한다(제352단계). 한편, 비트율 조정 대신에, 또는 비트율 조정과 동시에 화면에 표시될 영상 크기가 조정될 수도 있다. 제354단계에서 스트리밍 서버(56)는 세그먼트 파일을 스트리밍 방식으로 무선 단말기(20)에 전송한다.
한편, 본 실시예에 있어서도, 무선 단말기(20) 사용자는 콘텐트 파일을 처음부터가 아니라 특정 세그먼트부터 전송할 것을 요구할 수도 있다. 무선 단말기(20)가 특정 세그먼트부터 전송할 것을 요구한 경우에는(제348단계), 해당 세그먼트 파일이 독출되어(제350단계) 제352단계 내지 제356단계를 통해서 전송된다.
제356단계에서, 스트리밍 서버(56)는 해당 콘텐트에 대하여 추가적으로 전송할 세그먼트 파일이 남아있는지를 판단하고, 전송할 세그먼트가 남아 있는 경우에는 다음 세그먼트 파일을 독출하여(제358단계), 제352단계 내지 제356단계를 통해서 전송한다.
이상에서 본 발명의 바람직한 실시예를 설명하였지만, 본 발명은 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다양한 방식으로 변형될 수 있고 다른 구체적인 형태로 실시될 수 있다.
예컨대, 스트리밍 서비스 제공 시스템이 세그먼트를 생성할 때에는 네트웍 대역폭에 따라 세그먼트의 시간적 길이를 변동시킬 수도 있다. 이러한 경우에도, 동일한 원본 콘텐트 파일에 대해서는 세그먼트들이 동일한 시간적 길이를 갖도록 하는 것이 바람직하다. 일반적으로 세그먼트 크기를 작게 설정하면, 초기 버퍼링 시간을 단축할 수 있지만, 네트워크 상태가 불안한 경우 재버퍼링을 해야할 수 있기 때문에 서비스 안정성이 낮아진다. 이에 반하여 세그먼트 크기를 과도하게 크게 설정하면, 재버퍼링이 발생할 확률은 낮출 수 있으나, 초기 버퍼링 시간이 많이 소요되기 때문에 서비스 대기 시간이 길어진다. 뿐만 아니라, 임의위치 재생(Random Seeking)시 버퍼링 소요 시간이 길어지고, 재생에 필요 없는 부분까지 모두 전송받아야 한다. 예를 들어, 재생시간이 s인 세그먼트의 s-1초 위치를 재생하기 위해서 해당 세그먼트를 모두 전송받아야 한다. 이에 반하여, 세그먼트 크기를 작게 설정한 경우에는, 이와 같이 버려지는 데이터가 작아져서 더 효율적인 네트워크 자원 운용이 가능하다. 위와 같이 세그먼트의 시간적 길이를 변동시키는 경우에는 네트웍 환경에 따라 세그멘테이션 크기를 조정할 수 있으므로 서비스 신뢰성을 향상할 수 있다는 추가적인 이점이 있다.
한편, 이상에서는 시스템이 스트리밍 방식으로 전송하는 콘텐트가 MPEG-2 트랜트포트 스트림으로 되어 있는 경우를 예시적으로 설명하였지만, 콘텐트가 MPEG-2 프로그램 스트림으로 되어 있을 수도 있고, MPEG-4 또는 MPEG-7 등 여타 압축 포맷으로 되어 있을 수도 있다.
다른 한편으로, 이상의 설명에서는 각 세그먼트가 "동일한" 또는 "일정한" 시간길이를 갖도록 설정되는 것으로 기술하였지만, 원본 콘텐트 파일이 압축되어 있는 경우에는 예컨대 I-화면 프레임과 같이 기준이 되는 프레임을 기준으로 세그먼트가 설정되는 것이 바람직할 수 있다. 이와 같은 경우에는, I-화면 프레임이 비주기적으로 나타나기 때문에 각 세그먼트의 시간길이가 몇 프레임주기만큼씩 차이가 날 수 있다. 특허청구범위를 포함한 본 명세서에 있어서, "동일한" 또는 "일정한" 시간길이는 원본 콘텐트 파일이 시간길이를 기준으로 세그멘테이션된다는 점에 주목해서 사용되는 것으로서 이와 같은 미소한 편차를 허용하는 의미로 사용됨을 유의해야 한다.
또 다른 한편으로, 이상에서는 본 발명의 바람직한 실시예들을 예시적으로 설명하였지만, 각 실시예에 따른 특징은 다른 실시예에 있어서도 적용될 수 있음은 물론이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 시간 정보를 포함하고 스트리밍 방식으로 클라이언트 장치에 제공되는 콘텐트 파일을 세그멘테이션하기 위한 방법으로서,
    세그먼트 시간길이를 결정하는 단계;
    상기 콘텐트 파일을 상기 시간길이 단위로 구분할 때 확보될 수 있는 다수의 세그먼트들 각각에 대한 시각정보와, 상기 다수의 세그먼트들 각각에 대한 논리적 위치정보를 결정하는 단계;
    상기 시각정보와 상기 논리적 위치정보를 인덱스 테이블 형태로 저장장치에 저장하는 단계; 및
    상기 인덱스 테이블을 참조하여 상기 다수의 세그먼트들을 생성하는 단계;
    를 포함하는 콘텐트 가상 세그멘테이션 방법.
  2. 청구항 1에 있어서, 상기 세그먼트 시간길이가 소정의 영상주기의 배수로서 결정되는 콘텐트 가상 세그멘테이션 방법.
  3. 청구항 1에 있어서, 상기 시각정보가 상기 다수의 세그먼트들 각각에 대한 시작 위치 또는 종료 위치의 시점을 나타내고, 상기 논리적 위치정보가 상기 시작 위치 또는 종료 위치의 상기 콘텐트 파일의 시작지점을 기준으로 한 옵셋값을 나타내는 콘텐트 가상 세그멘테이션 방법.
  4. (a) 원본 콘텐트 파일을 저장장치에 저장하고, 상기 원본 콘텐트 파일을 소정의 시간길이 단위로 구분할 때 확보될 수 있는 다수의 세그먼트들 각각에 대한 시각정보와 상기 다수의 세그먼트들 각각에 대한 논리적 위치정보 간의 맵핑 관계를 나타내는 인덱스 테이블을 상기 저장장치에 저장하는 단계; 및
    (b) 상기 인덱스 테이블을 토대로 상기 원본 콘텐트 파일로부터 상기 세그먼트들을 추출하여 클라이언트 장치에 네트웍을 통해 스트리밍 방식으로 전송하는 단계;
    를 포함하는 스트리밍 서비스 제공 방법.
  5. 청구항 4에 있어서, 상기 인덱스 테이블의 생성 및 저장이 상기 클라이언트 장치로부터 스트리밍 요구 신호가 수신되기 이전에 수행되는 스트리밍 서비스 제공 방법.
  6. 청구항 4에 있어서, 상기 인덱스 테이블의 생성 및 저장이 상기 클라이언트 장치로부터 스트리밍 요구 신호가 수신된 이후에 수행되는 스트리밍 서비스 제공 방법.
  7. 청구항 6에 있어서, 상기 (b)단계가
    상기 네트웍의 대역폭에 따라 상기 시간길이 단위를 변경하여 상기 인덱스 테이블을 갱신하는 단계;
    를 포함하는 스트리밍 서비스 제공 방법.
  8. 청구항 4에 있어서, 상기 (b)단계가
    상기 네트웍의 대역폭에 따라 상기 세그먼트들의 비트율을 조정하는 단계;
    를 포함하는 스트리밍 서비스 제공 방법.
  9. 청구항 4에 있어서, 상기 (b)단계가
    상기 인덱스 테이블을 토대로 상기 원본 콘텐트 파일로부터 상기 세그먼트들을 추출하여 각 세그먼트를 파일 형태로 저장하되, 각 세그먼트 파일의 파일명에 상기 시각정보, 상기 논리적 위치정보, 일련번호로 구성되는 표식 그룹에서 선택되는 어느 하나 또는 어느 하나 이상의 조합을 포함시킴으로써 상기 클라이언트 장치가 각 세그먼트 파일을 개별적으로 요구할 수 있도록 하는 단계;
    를 포함하는 스트리밍 서비스 제공 방법.
  10. 청구항 4에 있어서, 상기 원본 콘텐트 파일이 소정의 압축 포맷에 따라 압축되고 패킷화되어 있는 형태로 되어 있고,
    상기 인덱스 테이블은 상기 원본 콘텐트 파일을 패킷해제한 상태에서 생성되는 스트리밍 서비스 제공 방법.
  11. 원본 콘텐트 파일을 저장하기 위한 콘텐츠 저장부;
    상기 원본 콘텐트 파일을 소정의 시간길이 단위로 구분할 때 확보될 수 있는 다수의 세그먼트들 각각에 대한 시각정보와 상기 다수의 세그먼트들 각각에 대한 논리적 위치정보 간의 맵핑 관계를 나타내는 인덱스 테이블을 저장하기 위한 인덱스 파일 저장부;
    상기 인덱스 테이블을 토대로 상기 원본 콘텐트 파일로부터 상기 세그먼트들을 추출하는 인코더;
    상기 세그먼트들을 네트웍을 통해 클라이언트 장치에 스트리밍 방식으로 전송하는 스트리밍 서버;
    를 포함하는 스트리밍 서비스 제공 시스템.
  12. 청구항 11에 있어서, 상기 원본 콘텐트 파일에 대하여 상기 인덱스 테이블을 생성하여 상기 인덱스 파일 저장부에 저장하는 인덱스 생성부;
    를 더 포함하는 스트리밍 서비스 제공 시스템.
  13. 청구항 11에 있어서, 상기 스트리밍 서버가 상기 클라이언트 장치로부터 스트리밍 요구신호를 수신한 후에, 상기 인코더가 상기 인덱스 테이블을 생성하여 상기 인덱스 파일 저장부에 저장하는 스트리밍 서비스 제공 시스템.
  14. 청구항 11에 있어서,
    상기 인코더가 상기 네트웍의 대역폭에 따라 상기 세그먼트들의 비트율을 조정할 수 있는 스트리밍 서비스 제공 시스템.
  15. 청구항 11에 있어서, 상기 인코더가 상기 인덱스 테이블을 토대로 상기 원본 콘텐트 파일로부터 상기 세그먼트들을 추출하여 각 세그먼트를 파일 형태로 저장하되, 각 세그먼트 파일의 파일명에 상기 시각정보, 상기 논리적 위치정보, 일련번호로 구성되는 표식 그룹에서 선택되는 어느 하나 또는 어느 하나 이상의 조합을 포함시킴으로써 상기 클라이언트 장치가 각 세그먼트 파일을 개별적으로 요구할 수 있도록 하는 스트리밍 서비스 제공 시스템.
KR1020100048482A 2010-05-25 2010-05-25 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템 KR101452269B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100048482A KR101452269B1 (ko) 2010-05-25 2010-05-25 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100048482A KR101452269B1 (ko) 2010-05-25 2010-05-25 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20110129064A true KR20110129064A (ko) 2011-12-01
KR101452269B1 KR101452269B1 (ko) 2014-10-22

Family

ID=45498356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100048482A KR101452269B1 (ko) 2010-05-25 2010-05-25 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101452269B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014010992A1 (ko) * 2012-07-13 2014-01-16 삼성전자 주식회사 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
KR20140047203A (ko) * 2012-10-08 2014-04-22 에스케이텔레콤 주식회사 동영상 서비스 장치 및 동영상 서비스 방법
KR20210051312A (ko) * 2019-10-30 2021-05-10 주식회사 엘지유플러스 음원 스트리밍 서비스 제공 시스템 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070201388A1 (en) * 2006-01-31 2007-08-30 Qualcomm Incorporated Methods and systems for resizing multimedia content based on quality and rate information
KR100926420B1 (ko) * 2007-07-25 2009-11-12 주식회사 케이티테크 스트리밍 파일의 재생 위치 인덱싱 방법 및 스트리밍파일의 재생 위치 인덱싱 기능을 구비한 휴대용 단말기

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014010992A1 (ko) * 2012-07-13 2014-01-16 삼성전자 주식회사 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
CN104145292A (zh) * 2012-07-13 2014-11-12 三星电子株式会社 用于基于内容名称提供内容和实时流传输内容的内容请求器和内容提供器的通信方法
KR20140047203A (ko) * 2012-10-08 2014-04-22 에스케이텔레콤 주식회사 동영상 서비스 장치 및 동영상 서비스 방법
KR20210051312A (ko) * 2019-10-30 2021-05-10 주식회사 엘지유플러스 음원 스트리밍 서비스 제공 시스템 및 방법

Also Published As

Publication number Publication date
KR101452269B1 (ko) 2014-10-22

Similar Documents

Publication Publication Date Title
US11470405B2 (en) Network video streaming with trick play based on separate trick play files
RU2652099C2 (ru) Устройство передачи, способ передачи, устройство приема и способ приема
KR101737325B1 (ko) 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US11228764B2 (en) Streaming multiple encodings encoded using different encoding parameters
KR101594351B1 (ko) 다수의 소스들로부터의 멀티미디어 데이터의 스트리밍
JP6027291B1 (ja) メディアストリーミング中の適応セット間の切替え
RU2571375C2 (ru) Режимы быстрого доступа к произвольной точке для сетевой потоковой передачи кодированных видеоданных
US9247317B2 (en) Content streaming with client device trick play index
TWI643502B (zh) 內容重製系統、內容重製裝置、程式、內容重製方法、及提供內容伺服器
EP3100464B1 (en) Establishing a streaming presentation of an event
JP2018186524A (ja) コンテンツ送信装置およびコンテンツ再生装置
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
US20140359678A1 (en) Device video streaming with trick play based on separate trick play files
CN103843301A (zh) 经译码多媒体数据的网络串流期间的表示之间的切换
CN105187850A (zh) 流式传输经编码视频数据
CN109792546B (zh) 从服务器向客户端设备传送视频内容的方法
WO2018014523A1 (zh) 一种媒体数据的获取方法和装置
WO2014193996A2 (en) Network video streaming with trick play based on separate trick play files
WO2015192683A1 (zh) 一种基于码流自适应技术的内容分发方法、装置及系统
JP2019083555A (ja) 情報処理装置、コンテンツ要求方法およびコンピュータプログラム
KR20170141677A (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
WO2021218573A1 (zh) 视频播放方法、装置及系统、计算机存储介质
JP4526294B2 (ja) ストリームデータ送信装置、受信装置、プログラムを記録した記録媒体、およびシステム
KR101944601B1 (ko) 기간들에 걸쳐 오브젝트들을 식별하기 위한 방법 및 이에 대응하는 디바이스
KR101452269B1 (ko) 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181015

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191014

Year of fee payment: 6