KR20030025386A - 비디오 시스템에서의 비디오 재생 일시 정지/해제 방법 - Google Patents

비디오 시스템에서의 비디오 재생 일시 정지/해제 방법 Download PDF

Info

Publication number
KR20030025386A
KR20030025386A KR1020010058241A KR20010058241A KR20030025386A KR 20030025386 A KR20030025386 A KR 20030025386A KR 1020010058241 A KR1020010058241 A KR 1020010058241A KR 20010058241 A KR20010058241 A KR 20010058241A KR 20030025386 A KR20030025386 A KR 20030025386A
Authority
KR
South Korea
Prior art keywords
channel
video
patching
pause
client
Prior art date
Application number
KR1020010058241A
Other languages
English (en)
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 KR1020010058241A priority Critical patent/KR20030025386A/ko
Priority to US10/015,689 priority patent/US20030093802A1/en
Publication of KR20030025386A publication Critical patent/KR20030025386A/ko

Links

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/238Interfacing 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/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/26616Channel 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 for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
    • 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/238Interfacing 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/2385Channel allocation; Bandwidth allocation
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Abstract

일정한 시간 간격을 설정하고 그 시간 동안 요청된 서비스를 처리하는 종래 기술에 따른 배칭 기반의 주문형 비디오 시스템에서의 일시 정지/재개 방법은, 단지 자기가 전송받는 스트림의 채널 그룹을 바꾸어 주는 것으로 간단히 해결되었다. 일시 정지 연산시 비디오 데이터의 전송을 일시적으로 중지시키고, 재개 연산이 있을 경우 가장 가까운 곳을 전송하고 있는 채널 그룹을 찾는 단순한 방법이 사용되었다. 그러나, 최대 두개의 채널로 부터 동시에 데이터를 전송받는 주문형 비디오 시스템에서는 일시 정지/재개 연산 지원이 이루어지지 않는 문제점이 발생하였다. 따라서, 이러한 문제점을 해결하기 위한 본 발명에 따른 비디오 시스템에서의 일시 정지/해제 방법은 두 개의 채널로부터 동시에 데이터를 전송하는 멀티캐스팅 환경에서의 주문형 비디오 시스템의 일시 정지/재개 연산을 지원함으로써, 사용자에게 비디오 데이터에 대한 상호 작용을 가능하게 하여 시스템의 효용성을 높여주도록 한 것이다.

Description

비디오 시스템에서의 비디오 재생 일시 정지/해제 방법{Method for pause/resume a video playback in a video system}
본 발명은 비디오 시스템에서의 비디오 재생 일시 정지/해제 방법에 관한 것으로, 특히 주문형 비디오 시스템에서 클라이언트가 두 개의 네트워크 채널을 이용하여 멀티미디어 데이터를 동시에 수신받을 수 있는 상황에서의 비디오 전송 일시 정지 및 해제(재개) 방법에 관한 것이다.
최근 들어 반도체 및 정보 통신 산업의 급격한 발달에 따라 정보의 슈퍼 하이웨이 개념으로 부터 시작된 초고속 정보 통신 기반 구축이 급속히 확산되고 있는 상황에서 이용자가 단순히 정보를 수동적으로 수신하기만 하는 것보다는 쌍방향의 능동적인 방법으로 정보를 얻고자 하는 이용자의 욕구가 점점 증가하고 있는 추세이다. 이러한 시대적인 필요 욕구를 충족시키는 한 방편으로 상용화되어 현재 널리 보급된 케이블 텔레비젼의 발전된 형태인 대화형 텔레비젼(I-CATV)의 개발이 세계의 유수한 기업들에서 개발이 가속화되고 있다.
한편, 아날로그 방식 대신 디지탈 방식의 대화형 텔레비젼 서비스 기술을 사용하면 텔레비젼 시청자가 요구하는 정보(예를 들면, 비디오 정보 등)를 원하는 시간에 즉시 제공받을 수 있도록 해주는 주문형 비디오 (Video On Demand: 이하 VOD라 칭함)서비스가 가능하다. 이러한 VOD 서비스를 실현하기 위해서는 정보의 저장 및 전송 능력을 갖춘 대용량 서버로 이루어진 정보 공급자(Information Provider), 텔레비젼 방송국과 같은 서비스 공급자(Service Provider), 네트워크를 통해서 서비스 공급자로부터 요구받은 정보를 고속으로 다수의 텔레비젼 사용자에게 동시에 전달하기 위한 전달 시스템 공급자(Delivery System Provider) 및 전달 시스템 공급자로부터 제공되는 서비스 정보를 이용하는 텔레비젼 사용자를 필요로 한다.
상술한 바와 같이, VOD로 실현 가능한 서비스로는 예를 들면, MOD(Movies On Demand), 뉴스의 제목이나 분야 별로 정보를 즉각적으로 얻을 수 있고, 뉴스의 요약 또는 헤드라인 등의 서비스를 제공 받을 수 있는 NOD(News On Demand), 사용자가 소망하는 상품을 구매할 수 있도록 영상 카달로그의 제공, 원격 쇼핑, X-레이 영상의 전송 및 종단 사용자(End User)가 전송된 데이터를 저장 또는 분석 처리하여 진단, 처방된 데이터를 다른 종단 사용자(End User)에게 전송하는 서비스를 제공하는 원격 의료 진단, 게임, 일반적인 은행 업무 관련 서비스를 제공하는 홈 뱅킹, 영상 회의, 사용자에게 정보를 제공하고 사용자가 이 제공된 정보를 이용하여 거래하도록 하는 서비스를 제공하는 협정 서비스, 인터넷과 접속을 위한 인터넷 접근 서비스 등을 들 수 있다.
여기에서, MOD 서비스는 영화 등과 같은 종류의 프로그램 정보를 네트워크를통해 공급자측의 VOD 서버로부터 가정용 VCR과 같은 서비스, 예를 들면 특정 프로그램의 서비스 선택, 취소, 시작, 일시 정지, 고속 재생, 되감기 등을 제공받는 것이다.
한편, VOD 서비스 구현을 위하여 셋탑 유닛에서는 사용자 조작에 따라 서비스를 원하는 프로그램 예를 들면, 영화, 영어 회화 프로그램 등의 정보 제공을 원격지의 VOD 서버로 요구하며, VOD 서버에서는 이러한 셋탑 유닛에서의 요구에 응답하여 해당하는 프로그램에 대한 비디오, 오디오 및 텍스트 정보 등을 혼합한 비트 스트림을 데이터베이스로부터 검색하여 해당 정보를 요구한 사용자 즉, 해당 클라이언트에게 전송하는 것이다.
이때, 클라이언트의 서비스 요구에 따라 VOD 서버에서 클라이언트로 제공되는 프로그램 데이터는 소정의 비트율로 압축 부호화된 MPEG 비트 스트림 형태를 갖는데, 클라이언트에서는 수신되는 부호화된 프로그램 데이터를 복호화하여 디스플레이장치에 디스플레이하게 되는 것이다.
다른 한편, 전형적인 VOD 서버 시스템에서는 특정 클라이언트로부터 특정 프로그램에 대한 서비스 요구가 있을 때, 각종 프로그램 정보가 저장된 데이터베이스에서 해당 프로그램을 읽어 들여 전송 채널을 통해 해당 서비스를 요구한 클라이언트에게 제공하는데, 이때 데이터베이스에서의 전송율 즉, 데이터베이스에서 초당 리드할 수 있는 최대 비트율은 서버 시스템의 용량에 따라 결정되기 때문에 대용량의 서버일 수록 보다 유용한 VOD 서비스를 실현할 수 있을 것이다.
그러나, 대용량의 서버 시스템을 구축했다 하더라도 사용자의 서비스 요청이폭주하는 경우, 즉, 서버 시스템의 최대 전송율을 초과할 정도의 서비스 요청을 받는 경우 클라이언트 요구 폭주로 인한 시간 지연(즉, 전송 지연)이 발생할 수 밖에 없다. 이러한 점을 고려할 때, 서버 시스템의 용량을 대용량화 함으로써, 서비스 요구 폭주로 인한 전송 지연을 어느 정는 해소할 수는 있으나, 서버 시스템을 대용량화한다는 것 자체가 현실적으로 한계를 가질 수 밖에 없다는 점을 고려하면 근본적인 해결책이라 할 수는 없을 것이다.
또한, 서버 시스템을 대용량화 한다는 것은 서비스 비용의 상승을 초래하는 결과로 나타나기 때문에 VOD 서비스의 상업성을 고려할 때 바람직한 현상이라 할 수 없다.
따라서, 이러한 문제점을 해결하기 위해 동일한 용량의 서버 시스템에서 보다 서비스 효율을 높이기 위해 그룹 단위의 프로그램 서비스 기법을 채용하고 있는데, 그 기법을 보면, 사용자로부터 특정 프로그램에 대한 서비스 요구가 있을 때 마다 프로그램 서비스를 제공하는 것이 아니라 기 설정된 소정 시간(예를 들면, 30초, 1분 등) 동안 대기 시킨 다음 그 대기 시간 동안에 동일 프로그램을 요구하는 다수의 사용자를 하나의 그룹으로 형성하고 그 하나의 그룹 단위로 해당 프로그램을 전송하는 서비스 제어 기법이다. 여기서, 이러한 기법을 배칭 기법이라고 한다. 이러한 멀티캐스팅을 이용한 배칭 기법에 대하여 첨부한 도 1을 참조하여 간단하게 살펴보자.
도 1은 일반적인 멀티 캐스팅을 이용한 주문형 비디오 시스템에 대한 블록구성을 나타낸 도면으로서, 그 구성을 보면, 다수의 클라이언트(101), 네트워크 관리자(102), 비디오 서버(103) 및 데이터베이스(104)로 구성될 수 있다.
먼저, 미리 설정된 시간 내에 다수의 클라이언트(101)중에서 동일한 서비스를 요구하는 클라이언트들을 하나의 그룹으로 설정한다. 네트워크 관리자(102)는 동일한 서비스를 요구하는 각 그룹 별로 각각의 채널을 형성하고, 해당 그룹에서 요구하는 서비스(정보)를 비디오 서버(103)로 요구하게 되는 것이다.
비디오 서버(103)는 각 그룹에서 요구하는 정보(예를 들면, 동영상 정보, 오디오 정보, 텍스트 정보 등)를 데이터베이스(104)로부터 검색하여 검색된 해당 정보를 네트워크 관리자(102)에서 형성한 각 채널을 통해 각 그룹별 각 클라이언트에게 전송하는 것이다.
이와 같이 정보 서비스 중에 특정 클라이언트가 서비스에 대한 일시 정지를 요구하면, 서버 시스템은 서비스의 일시 정지를 요구한 특정 클라이언트를 해당 그룹에서 등록을 해제 시킨 후, 개별적인 프로그램 서비스를 제공하게 된다.
이러한 경우, 정보 서비스를 받던 중 서비스의 일시 정지를 요구하는 클라이언트 각각에 대해 VOD 서비스의 데이터 전송율 또는 전송 라인(채널)을 소모하게 되기 때문에 프로그램에 대한 일시 정지를 요구하는 사용자가 많을 수록 서버 시스템의 공급 효율이 저하되는 문제점이 제기될 수 밖에 없는 것이다.
이러한 문제점을 해결하기 위해 특허출원 10-1998-0019429(발명의 명칭: 주문형 비디오 시스템에서의 일시 정지/해제 기능 구현 방법)와 같은 방법이 제안되었다. 즉, 동일한 용량의 서버 시스템에서 보다 서비스 효율을 높이기 위해 그룹 단위의 프로그램 서비스 기법이 제안된 것이다.
상기 특허에서 제안된 방법에 대하여 간단하게 살펴보기로 하자.
먼저, 이 방법은 동일 프로그램에 대한 서비스를 요구하는 다수의 클라이언트를 하나의 그룹으로 설정하고, 상기 그룹 단위로 요구하는 프로그램을 서비스하는 VOD 시스템에서의 일시 정지/해제 방법에 관한 것으로, 상기 그룹에 등록된 특정 클라이언트가 프로그램 서비스에 대한 일시 정지를 요구하면, 상기 그룹에서 일시 정지를 요구한 클라이언트를 등록 해제하여 서비스를 중단한다.
그리고, 해당 클라이언트의 서비스 중단 시점의 시간 정보를 저장하게 된다.
이어, 서비스 중단중에 서비스 중단을 요청한 해당 클라이언트가 프로그램 일시 정지를 해제하도록 요구하면, 상기 저장된 시간 정보를 검색하여 검색된 시간 정보에 최근 접한 서비스 진행 시간을 갖는 그룹을 검색하게 된다.
이어, 검색된 해당 그룹에 상기 클라이언트를 등록하여 원하는 서비스의 진행이 계속적으로 이루어지도록 한 것이다. 따라서, VOD 서버의 전송률 또는 전송 라인의 소모 없이 사용자에게 일시 정지/해제 기능을 제공할 수 있는 것이다.
그러나, 이러한 종래 기술에 따른 VOD 시스템에서의 일시 정지/해제 방법은, 클라이언트로부터 특정 정보에 대한 요구를 일정 시간 동안(예를 들면 30초, 1분 등) 저장하였다가 멀티캐스팅으로 각 클라이언트에게 동시에 처리하는 배칭 기법을 적용하기 때문에 각 클라이언트의 서비스의 시기는 다음 배칭 주기 동안 기다려야만 하는 것이다. 따라서, 종래 기술 역시 초기 대기 시간의 지연이 불가피한 문제점이 야기되는 것이다.
따라서, 본 발명은 상기한 종래 기술에 따른 문제점을 해결하기 위하여 안출한 것으로 본 발명의 목적은, 주문형 비디오 시스템에서 클라이언트가 두개의 네트워크 채널을 이용하여 멀티미디어 데이터를 동시에 수신 받을 수 있는 패칭 기법을 이용한 비디오 시스템에서의 일시 정지 및 해제(재개) 방법을 제공함에 있다. 즉, 종래의 일정한 시간 간격을 설정하고 그 시간 동안 요청된 서비스를 처리하는 배칭 기반의 VOD 시스템에서의 일시 정지.재개는 단지 자기가 전송받는 스트림의 채널 그룹을 바꾸는 것으로 간단히 해결되었다. 그러나, 본 발명에 적용되는 패칭 방법에서 일시 정지/재개는 멀티캐스트 채널에 대한 관리와 개별 클라이언트에 대한 세션 정보의 효율적인 관리를 필요로 하는 것이다. 따라서, 본 발명은 서버의 멀티캐스팅 채널의 사용을 최소화하면서 일시 정지/재개 연산을 효율적으로 처리하는 방법을 제공하는데 그 목적을 두고 있는 것이다.
도 1은 종래 기술에 따른 멀티 캐스팅을 이용한 주문형 비디오 시스템에 대한 블록 구성을 나타낸 도면.
도 2는 일반적인 주문형 비디오 시스템에서의 패칭 기법을 설명하기 위한 개략적인 도면.
도 3은 본 발명에 따른 비디오 시스템의 구성을 개략적으로 나타낸 도면.
도 4는 본 발명에 따른 비디오 시스템에서의 클라이언트의 비디오 재생 위치와 채널의 전송 위치의 관계를 설명하기 위한 도면.
도 5는 본 발명에 따른 비디오 시스템에서 비디오 재생 일시 정지/해제의 개념을 각 경우에 따라 설명하기 위한 도면.
도 6은 본 발명에 따른 비디오 시스템에서의 비디오 재생을 일시 정지하는 방법에 대한 동작 플로우챠트를 나타낸 도면.
도 7은 본 발명에 따른 비디오 시스템에서의 일시 정지 해제하고 비디오 재생을 재개하는 방법에 대한 동작 플로우챠트를 나타낸 도면.
*도면의 주요부분에 대한 부호의 설명*
201 : 클라이언트202 : 정규 채널
203 : 패칭 채널204 : 제어 채널
205 : 비디오 서버206 : 비디오 정보 관리자
207 : 채널 관리자208 : 세션 관리자
상기한 목적을 달성하기 위한 본 발명에 따른 비디오 시스템에서의 비디오 재생 일시 정지방법의 일측면에 따르면, 정규 채널과 패칭 채널을 이용한 비디오 시스템의 일시 정지 방법에 있어서, 클라이언트로부터 세션 ID와 현재 비디오 재생 위치 정보가 수신되면, 해당 클라이언트의 현재 세션이 정규 채널의 유일한 주세션인지를 판단하는 단계; 판단 결과, 현재 세션이 정규 채널의 유일한 주세션인 경우, 안전한 일시 정지 시간을 산출하는 단계; 안전한 일시 정지 시간이 산출되면,정규 채널을 통해 클라이언트로 전송되는 비디오 정보의 전송을 중지시킨 후, 실제 비디오 전송 중지 시간을 산출하여 상기 산출된 안전한 일시 정지시간과 비교하는 단계; 비교 결과, 실제 전송 중지 시간보다 상기 산출된 안전한 일시 정지 시간이 큰 경우 일시 정지를 해재한 후 정규 채널을 통해 비디오 정보를 클라이언트로 전송하는 단계를 포함한다. 여기서, 상기 비디오 정보의 전송 중지는, 상기 산출된 안전한 일시 정지 시간 만큼 중지시키는 것이고, 상기 안전한 일시 정지 시간은, 정규 채널의 전송 위치에서 정규 채널의 부세션의 재생 위치를 뺀 시간인 것이다.
또한, 상기 현재 세션이 정규 채널의 유일한 주세션이 아닌 경우와 상기 실제 전송 중지 시간이 안전한 일시 정지 시간보다 작은 경우, 현재 정규 채널만이 존재하는지를 판단하는 단계; 판단 결과, 해당 클라이언트에 정규 채널만이 존재하는 경우, 현재의 비디오 정보 패칭 가능 범위 만큼의 비디오 정보만을 정규채널로부터 수신하여 저장하는 단계를 포함한다.
한편, 상기 현재의 비디오 정보 패칭 가능 범위 만큼의 비디오 정보만을 정규채널로부터 수신하여 저장하는 단계에서, 해당 클라이언트의 현재 세션은 패칭 길이 만큼의 비디오 데이터를 미리 저장하며, 일시 정지 상태에서 추가로 저장할 수 있는 비디오 테이터를 나타내는 안전한 일시 정지 시간은 상기 패칭 가능 범위에서 현제 세션의 패칭 길이를 뺀 시간이다.
또한, 상기 정규 채널만이 존재하는지를 판단하는 단계에서 정규 채널과 패칭 패널이 동시에 존재하는 경우, 패칭 채널을 통해 패칭 길이 만큼의 비디오 데이터를 수신하고, 정규 채널로부터 안전한 일시 정지 시간 만큼의 비디오 데이터를수신하는 단계를 포함한다.
본 발명에 따른 비디오 시스템에서의 비디오 재생 일시 정지 재개 방법의 일측면에 따르면, 비디오 시스템에서의 비디오 전송을 재개하는 방법에 있어서, 비디오 재생이 일시 정지된 상태에서, 클라이언트로부터 세션 ID와 일시 정지 위치 정보, 일시 정지 시간 정보가 수신된 후, 비디오 재생 신호가 수신되었는지를 판단하는 단계; 미리 설정된 안전한 일시 정지 시간 내에 비디오 재생 신호가 수신되는 경우, 일시 정지 위치와 미리 설정된 안전한 일시 정지 시간을 비교하는 단계; 비교 결과, 일시 정지 시간이 안전한 일시 정지 시간 내에 포함되는 경우, 해당 클라이언트가 정규 채널을 공유하는 유일한 주세션인지를 판단하는 단계; 상기 판단 결과, 유일한 주세션인 경우, 정규 채널의 전송을 재개하고 정규 채널을 공유하는 세션들의 패칭 길이를 조정하는 단계; 패칭 길이가 조정되면, 조정된 패칭 길이와 정규 채널, 패칭 채널값을 일시 정지 재개 값으로 클라이언트로 전송하는 단계를 포함한다.
또한, 상기 해당 클라이언트가 정규 채널을 공유하는 유일한 주세션이 아닌 경우, 해당 클라이언트에 정규 채널만이 존재하는지를 판단하는 단계; 정규 채널 그리고 정규 채널과 패칭 채널이 동시에 존재하는 경우 패칭 길이를 비디오 재생의 일시 정지 시간 만큼 가산하는 단계를 더 포함한다.
또한, 상기 일시 정지 시간이 안전한 일시 정지 시간 내에 포함되지 않는 경우, 상기 일시 정지 위치에 대한 점프 연산을 수행하여 새로운 정규 채널과 패칭 채널을 생성하는 단계; 상기 생성된 정규채널과 패칭 채널을 통해 패칭 길이, 대기시간 정보를 클라이언트로 비디오 재생 연산 값으로 전송하는 단계를 더 포함한다.
본 발명에 따른 정규 채널과 패칭 채널을 이용하여 비디오 시스템에서 비디오 재생을 일시 정지시키는 방법을 수행하기 위한 기록매체의 일 측면에 따르면, 클라이언트로부터 세션 ID와 현재 비디오 재생 위치 정보가 수신되면, 해당 클라이언트의 현재 세션이 정규 채널의 유일한 주세션인지를 판단하는 단계; 판단 결과, 현재 세션이 정규 채널의 유일한 주세션인 경우, 안전한 일시 정지 시간을 산출하는 단계; 안전한 일시 정지 시간이 산출되면, 정규 채널을 통해 클라이언트로 전송되는 비디오 정보의 전송을 중지시킨 후, 실제 비디오 전송 중지 시간을 산출하여 상기 산출된 안전한 일시 정지시간과 비교하는 단계; 비교 결과, 실제 전송 중지 시간보다 상기 산출된 안전한 일시 정지 시간이 큰 경우 일시 정지를 해재한 후 정규 채널을 통해 비디오 정보를 클라이언트로 전송하는 단계를 수행한다.
한편, 본 발명에 따른 정규 채널과 패칭 채널을 이용하여 비디오 시스템에서 비디오 재생의 일시 정지를 재개하는 방법을 수행하기 위한 기록매체의 일 측면에 따르면, 비디오 재생이 일시 정지된 상태에서, 클라이언트로부터 세션 ID와 일시 정지 위치 정보, 일시 정지 시간 정보가 수신된 후, 비디오 재생 신호가 수신되었는지를 판단하는 단계; 미리 설정된 안전한 일시 정지 시간 내에 비디오 재생 신호가 수신되는 경우, 일시 정지 위치와 미리 설정된 안전한 일시 정지 시간을 비교하는 단계; 비교 결과, 일시 정지 시간이 안전한 일시 정지 시간 내에 포함되는 경우, 해당 클라이언트가 정규 채널을 공유하는 유일한 주세션인지를 판단하는 단계;상기 판단 결과, 유일한 주세션인 경우, 정규 채널의 전송을 재개하고 정규 채널을 공유하는 세션들의 패칭 길이를 조정하는 단계; 패칭 길이가 조정되면, 조정된 패칭 길이와 정규 채널, 패칭 채널값을 일시 정지 재개 값으로 클라이언트로 전송하는 단계를 수행한다.
본 발명에 따른 비디오 시스템에서의 일시 정지/해제 방법에 대하여 설명하기 앞서 본 발명에 적용되는 패칭 기법에 대하여 도 2를 참조하여 간단하게 살펴보기로 하자.
도 2는 일반적인 주문형 비디오 시스템에서의 패칭 기법을 설명하기 위한 개략적인 도면이다.
먼저, 패칭 기법이란, 기존에 전송되고 있는 멀티캐스팅 스트림을 공유하여 디스크에 임시로 저장하고, 별도의 채널을 생성하여 공유가 불가능한 초기 데이터 스트림을 수신하여 재생하는 것이다. 초기데이터에 대한 재생이 완료되면, 디스크에 저장된 데이터에 대한 재생을 수행하는 것이 패칭 기법인 것이다.
이러한 패칭에 대한 동작 과정을 도 2를 참조하여 살펴보자.
도 2는 크기가 Li(min)인 비디오에 대하여 클라이언트 A, B가 시간 간격을 두고 서비스를 요청하였을 경우에 대하여 설명한 것으로, 처음으로 요청한 클라이언트 A에 대하여 멀티캐스팅 채널 Ch1을 생성한다.
클라이언트 A가 비디오의 t1시점을 재생하고 있을 때, 클라이언트 B의 세션 요청이 이루어질 경우 멀티캐스팅 채널 Ch1의 S2 부분은 공유가 가능하다. Ch1에서공유가 불가능한 S1에 대해서는 별도의 채널 Ch2를 생성하여 패칭을 수행한다.
클라이언트 B의 재생 순서는 채널 Ch2에서 패칭한 S1을 먼저 재생하고, S1의 재생이 완료되면, Ch1에서 공유하여 디스크에 저장된 S2 부분을 재생하게 된다. 클라이언트 B에서는 항상 t1 시간에 해당되는 S1 만큼의 데이터가 디스크에 저장되게 된다.
이때, 채널 Ch1을 정규 멀티캐스트 채널(Regular Multicast Channel), 혹은 정규 채널이라고 하고, MCr로 표현한다. Ch2를 패칭 멀티캐스트 채널(Paching Multicast Channel) 혹은 패칭 채널이라고 하고 MCp로 표현한다.
정규 채널에 의해 전송되는 스트림을 정규 스트림, 패칭 채널에 의해 전송되는 스트림을 패칭 스트림이라 한다.
클라이언트에서 패칭을 수행하는 구간을 패칭 구간(Paching Interval)이라 하고, 패칭 구간의 시간 길이를 패칭 길이(Paching Length)라 한다. 도 2에서 클라이언트 B의 패칭 구간은 S1이며, 패칭 길이는 t1이다.
패칭 방식은 공유 가능한 멀티캐스팅 스트림 만큼 네트워크 대역폭을 절감할 수 있으며, 클라이언트의 초기 대기 시간을 최소화시켜주는 방식이다. 또한 비 인기 비디오에 대해서도 서버의 네트워크 대역폭을 절약할 수 있는 효과적인 방식이다.
이하, 상기 패칭 방식을 이용한 본 발명에 따른 비디오 시스템에서의 일시 정지/해제 방법 및 그 장치에 대한 바람직한 실시예를 첨부한 도면을 참조하여 상세하게 살펴보기로 하자.
도 3은 본 발명에 따른 비디오 시스템의 구성을 개략적으로 나타낸 도면으로서, 주문형 비디오 시스템은 다수의 클라이언트(201)와 비디오 서버(205)로 구성되며, 클라이언트(201)와 비디오 서버(202)와의 통신 채널로는 제어 채널(204), 정규 채널(202) 및 패칭 채널(203)로 이루어진다. 상기 제어 채널(204)은 비디오 서버(205)와 클라이언트(201)의 제어 메시지 전송에 사용되고, 정규 채널(202)과 패칭 채널(203)은 실제 비디오 데이터의 전송을 위해 사용되는 채널이다.
그리고, 비디오 서버(205)는 VOD 시스템에서 지원하는 비디오 정보에 대한 관리를 수행하는 비디오 정보 관리자(206)와, 비디오 서버(205)에서 생성된 채널과 세션 정보를 관리하는 채널 관리자(207) 및 세션 관리자(208)를 포함할 수 있다.
일반적인 비디오 데이터에 대한 재생 소비율(Playback Rate)을 만족하는 네트워크 대역폭을 하나의 논리적 채널이라 한다. 논리적 채널은 비디오 테이터 전송과 제어 메시지 전송에 필요한 대역폭의 합을 나타낸다.
이하, 비디오 서버(205)가 C개의 논리적 채널을 가지고 있고, N개의 비디오를 서비스한다고 가정하고, 클라이언트(201)는 B(min) 만큼의 비디오를 저장할 수 있는 디스크 저장 공간을 가지고 있다고 가정하고 도 3을 참조하여 설명하기로 한다.
이때, 비디오 정보 관리자(206)가 N개의 비디오 데이터에 대한 정보를 관리하는데 있어 관리되는 비디오 정보는 아래의 표 1과 같다.
VID 비디오의 ID
λi 비디오 i의 도착률(request/min)
Ci 비디오 i에 할당된 채널수
Li 비디오 i의 길이 (min)
Ti 비디오 i의 패칭 가능 범위(min)
상기 비디오 i에 할당된 채널수 Ci는 모든 비디오에 대한 전체 도착율과 비디오 i의 도착률 λi에 대한 비로서 할당한다. 즉, 아래의 수학식 1로서 비디오 i에 할당된 채널수 Ci를 결정하는 것이다.
패칭에서 클라이언트는 최대 두개의 채널에서 동시에 스트림을 수신 받는다. 클라이언트는 동일 비디오에 대하여 정규채널이 하나라도 존재하면 공유가 가능하다. 그러나, 시간이 지남에 따라 공유 가능한 정규 스트림은 줄어들고 패칭 스트림의 길이가 커지기 때문에 계속적인 패칭 채널의 할당은 오히려 네트워크 채널 사용 측면에서 비효율적이다.
따라서, 패칭이 가능하더라도 정규 채널을 새로이 할당하여 이후 요청되는 클라이언트가 정규 스트림을 더 많이 공유하게 하는 것이 유리하다. 정규 채널에 대하여 새로운 정규채널을 생성하는 것 보다 기존 채널을 공유하는 것이 전체 채널 사용량을 줄일 수 있다. 여기서, 전체 채널의 사용량을 줄일 수 있는 시점을 채널의 패칭 가능 시간(Optimal Patching Enable Time)이라 한다.
특정 비디오 i에 대하여 네트워크 대역폭 사용을 최소로 만드는 패칭 가능 범위 Ti는 비디오에 대한 도착률 λi와 비디오의 크기 Li에 따라 최적화된 값을 가지는 함수로 나타난다. Ti는 λi가 클 수록 값이 작아지며, Li가 클 수록 값이 커진다.
또한, 패칭 가능 시간 Ti는 클라이언트의 디스크에 저장되어야 할 최대 데이터의 양을 나타낸다. 클라이언트는 디스크 저장 공간을 넘는 데이터를 패칭할 수 없으므로 디스크의 크기가 Ti보다 적게 되면, Ti값은 디스크의 크기 B(min)가 된다. 즉, 비디오에서 정규 채널의 패칭 가능 범위 Ti는 아래의 수학식 2와 같고, 이 경우 비디오 서버에서 필요로 하는 네트워크 대역폭은 아래의 수학식 3과 같이 표현될 수 있다.
, (if Ti<B)
한편, 도 3에 도시된 비디오 서버(205)의 채널 관리자(207)에 의해 관리되는 정보는 아래의 표 2와 같다.
MCID 멀티캐스트 채널 ID
MCvid 멀티캐스트 채널에서 서비스되고 있는 비디오 ID
MCtype 전송의 종류, 정규 채널(R)과 패칭 채널(P)값을 가짐
MCstate 전송 상태를 나타냄. 전송(S), 일시 중지(P) 값을 가짐
MCdelay 멀티캐스팅 전송이 중지된 시간(min)
MCstart 멀티캐스팅이 시작된 절대적인 시간
MCbegin 비디오 I에서의 상대적인 전송 시작 위치(min), 0≤MCbegin <Li
MCend 비디오 I에서의 상대적인 전송 마침 위치(min), 0<MCend ≤Li,정규 채널의 경우 MCend = Li
MCps 주세션들
MCss 부세션들
MCsn 채널에 속해 있는 세션의 수
채널에서는 비디오의 위치를 표현하기 위해 위치 시간 값을 사용한다. 위치 시간값은 비디오의 특정 시점이 비디오의 처음부터 얼마의 시간 간격뒤에 위치하는 지를 나타낸다.
채널의 현재 전송 위치나 클라이언트의 현재 재생 위치 등은 위치 시간 값으로 나타내는 것으로, 채널의 전송에서 상기 표 2에 도시된 바와 같이 MCbegin과 MCend는 비디오 i의 전송 시작 위치와 전송 끝 위치를 시간(min)값으로 표시한 값이다. 예를 들어, MCbegin = 5, MCend = 15이면 비디오 I의 5분 위치에서 15분 위치를 전송하게 되는 것이다.
멀티캐스트 채널은 VCR연산에 의해 임시로 전송이 중단될 수 있는데, MCdelay는 전송이 중지된 전체 시간이다. 따라서, 현재 시간이 Tcurr, 멀티캐스트 채널의 시작 시간을 MCstart라 하면, 채널의 현재 전송 위치는 아래의 수학식 4와같이 표현될 수있다.
한편, 도 3에 도시된 세션 관리자(208)에 의해 관리되는 세션 정보는 아래의 표 3과 같다.
SID 세션 ID
MCr 정규 스트림 채널 ID
MCp 패칭 스트림 채널 ID
Plength 세션의 패칭 길이
B 클라이언트의 버퍼 길이
이와 같은 구성을 갖는 본 발명에 따른 비디오 시스템에서의 일시 정지/해제 방법에 대하여 살펴보자.
도 4는 본 발명에 따른 비디오 시스템에서의 클라이언트의 비디오 재생 위치와 채널의 전송 위치의 관계를 설명하기 위한 도면으로서, 채널과 세션간의 관계를 보여 주기 위하여 임의의 시점에서 비디오 i를 재생하고 있는 클라이언트들의 재생 위치(min), 정규 채널의 전송 위치, 패칭 채널의 전송 위치를 보여준 것이다.
도 4에 도시된 바와 같이 비디오 재생 위치와 전송 위치는 비디오에서의 특정 위치를 시간 값으로 나타낸 것이다. 도 4에서 클라이언트들은 p0 - p9까지 총 10개의 서로 다른 지점을 재생하고 있으며, 총 7개의 멀티캐스트 채널(정규채널 4개와 패칭 채널 3개)을 통해 비디오를 전송하고 있다.
도 4에서 동일한 재생 위치에 대하여 여러 개의 클라이언트가 존재할 수 있는데, 이 경우는 정규 채널 혹은 패칭 채널을 여러 클라이언트가 동일 시점에서 공유했을 경우이다.
비디오 서버에서 사용 가능한 채널을 모두 사용한 상태에서 클라이언트들의 새로운 채널 생성 요구는 채널이 사용 가능한 시점에 일괄적으로 공유된다. 따라서, 채널을 모두 사용한 경우에는 서비스 시작을 위해 채널을 생성 가능한 시간까지의 대기 시간이 필요하다. 만약 채널이 모두 사용되지 않은 경우라면 하나의 재생 위치는 하나의 클라이언트 세션과 매칭되며, 이 경우에 서비스를 위한 대기 시간은 존재하지 않는 것이다.
정규 채널에 대하여 정규 채널의 전송 위치에서 패칭 가능 시간 까지의 구간을 패칭 가능 범위(Patching Enable Interval)라 한다. 또한 동일한 정규 채널의 스트림을 공유하는 클라이언트의 집합을 패칭 그룹(Patching Group)이라 한다. 즉, 정규 채널의 패칭 가능 범위를 재생하고 있는 클라이언트들의 집합이다. p0, p1, p2를 재생하고 있는 클라이언트들은 MCr0 정규 채널을 공유하는 패칭 그룹이다. 각각의 클라이언트들은 서로 다른 값의 패칭 길이를 가지고 있으며, 패칭 길이는 디스크에 저장될 데이터의 크기를 나타낸다.
패칭 그룹에 속하는 각 클라이언트 세션은 재생 위치와 관련하여 3가지 경우를 가질 수 있는데, 이 3가지의 경우를 단계적으로 설명해 보자.
먼저, 첫 번째 경우로, 정규 채널의 전송 위치(min)와 클라이언트의 재생 위치가 서로 동일한 경우로 이때 클라이언트 세션을 패칭 그룹의 주세션이라 한다. 비디오의 동일 지점을 재생하는 여러 클라이언트가 존재할 수 있기 때문에 하나의패칭 그룹에서 주세션의 개수는 하나 이상이다. 주세션들은 정규 채널에서 수신된 데이터가 곧 바로 재생 되기 때문에 별도의 디스크 저장을 필요로 하지 않는다. 도 4에서 p0, p3, p6, p8을 재생하고 있는 클라이언트가 설정한 세션은 주세션이다.
그리고, 두 번째 경우는, 패칭이 완료된 상태에서 정규 채널의 데이터를 디스크에 저장하고 있으면서, 이전에 디스크에 저장된 데이터를 재생하는 경우이다. 이 경우에 세션의 현재 재생 위치는 정규 채널의 전송 위치값에서 패칭 길이값을 뺀 값(정규 채널의 전송 위치 - 패칭 길이)이 되며, 항상 패칭 길이 만큼 데이터를 디스크에 저장한다, 즉, 도 4에서 p5, p7, p9 지점을 재생하고 있는 클라이언트들이다.
마지막으로 세번 째 경우는, 패칭이 수행되는 상태로 패칭 채널에서 데이터가 수신되어 재생됨과 동시에 정규 채널의 데이터가 디스크에 저장되고 있는 상태이다.
세션의 재생 위치는 패칭 채널의 전송 위치 혹은 정규 채널의 전송위치에서 패칭 길이를 뺀 값이 되며, 디스크에 저장되고 있는 데이터의 크기는 패칭 채널이 전송을 시작하고 경과한 시간이 된다. 여기서, 디스크에 저장되고 있는 데이터의 크기는 패칭 길이보다 적은 값을 가진다. 즉, 세번 째 경우는 도 4에서 p1, p2, p4, p6, p8 지점을 재생하고 있는 클라이언트들이 되는 것이다,
부세션(Secondary Sessions)은 패칭 그룹중에서 주세션과 가장 가까운 부분의 비디오를 재생하고 있는 세션들을 의미한다. 부 세션은 주세션이 VCR연산을 수행하면서 주세션 자격을 상실할 경우 주세션이 된다, 도 4에서 이와 같은 부 세션은 p1, p4, p7, p9은 각 패칭 그룹에서의 부 세션이 될 수 있다.
도 5는 본 발명에 따른 비디오 시스템에서의 일시 정지/해제의 개념을 각 경우에 따라 설명하기 위한 도면으로서, 도 5를 참조하여 본 발명에 따른 비디오 시스템에서의 일시 정지/재개(PAUSE/RESUME) 연산시 안전한 일시 정지에 대한 개념에 대하여 설명해 보자.
사용자가 비디오에 대한 재생을 일시 정지할 경우, 클라이언트는 화면상의 재생만 멈추고, 데이터를 수신하여 디스크에 저장하는 과정은 계속하게 된다. 따라서, 일시 정지가 짧게 일어날 경우에 곧 바로 디스크에 저장된 데이터를 재생할 수있게 된다.
세션이 디스크에 저장된 데이터를 사용하여 채널의 변경없이 재생을 재개할 수 있는 기간을 안전한 일시 정지 시간(Stable Pausable Time)이라 한다. 일시 정지 시간이 길어지게 되어 기존의 정규 채널이나 패칭 채널을 공유할 수 없는 상태가 되면 점프 연산을 수행하여 새로운 정규 채널과 패칭 채널을 할당 받는다.
도 5에서 경우 (1)은 주세션에 대하여 일시 정지가 일어난 경우이며, 경우 (2)는 주세션이 아닐 경우에 일시 정지가 일어난 경우로 각각에 대하여 안전한 일시 정지 기간이 다르게 나타난다.
클라이언트는 안전한 일시 정지 시간 동안 비디오 서버가 전송하는 데이터를 디스크에 저장하게 된다. 상기 경우(1)일 때에는 정규 채널의 전송을 일시 중지함으로써 채널의 사용을 줄일 수 있다.
도 6과 도 7을 참조하여 본 발명에 따른 비디오 시스템에서의 일시 정지/해제 방법에 대하여 단계적으로 설명하기로 하자.
먼저, 도 6을 참조하여 비디오 재생을 일시 정지하는 방법에 대하여 살펴보자. 도 6은 본 발명에 따른 비디오 시스템에서의 비디오 재생을 일시 정지하는 방법에 대한 동작 플로우챠트를 나타낸 도면이다.
먼저, 도 6에 도시된 바와 같이, 세션 ID를 SID, 정규 채널을 MGr, 패칭 채널을 MGp라 정의하고, 비디오 재생의 일시 정지를 위하여 클라이언트는 SID와 현재 재생 위치를 비디오 서버로 전송한다(S302).
비디오 서버는 클라이언트로부터 전송되는 SID가 채널에 참가하는 유일한 주세션인지를 판단한다(S303). 즉, 해당 클라이언트의 세션 ID가 정규 채널의 유일한 주세션인지를 판단하는 것이다.
판단 결과, 클라이언트의 세션 ID가 정규 채널의 유일한 주세션이면, 안전한 일시 정지 시간을 구하게 된다(S304). 여기서, 상기 안전한 일시 정지 시간은 정규 채널의 전송 중지 시간을 의미하며, 전송 중지 시간은 정규 채널의 전송 위치에서 부 세션의 재생 위치를 뺀 값이다.
상기 S304단계에서, 안전한 일시 정지 시간이 구해진 경우, 구해진 안전한 일시 정지 시간이 미리 설정된 시간 내에 포함되는 경우, 비디오 서버는 정규 채널의 전송을 중지시키는 것이다(S305). 여기서, 채널의 전송 중지는 정규채널을 공유하는 모든 세션들에 대하여 패칭 길이를 조정한다.
이어, 비디오 서버는 실제로 전송 중지 시간이 상기 구해진 안전한 일시 정지 시간 내에 포함되는지를 판단한다(S306).
상기 판단결과, 실제의 전송 중지 시간이 상기 구해진 안전한 일시 정지 시간 내에 포함되는 경우, 즉, 안전한 일시 정지 시간 내에 재생이 재개되면, 정규 채널의 전송은 재개된다(S307). 이때, 정규 채널 및 세션에 대한 변경은 필요없게 되는 것이다. 상기 S307단계에서 정규 채널의 전송이 재개되면, 일시 정지 재개 연산이 수행된다(S308).
만약, 세션의 일시 정지가 지속되어 주세션이 자격을 잃게 되어 부세션이 새로이 주세션의 자격을 획득하게 되면, 멀티캐스팅 전송은 재개되고 클라이언트는 정규 채널의 데이터를 디스크에 저장하는 과정을 수행한다. 따라서, 정규 채널이 존재하면서 디스크에 저장을 수행하게 되는 것이다.
상기 S303단계에서 판단 결과, 클라이언트로부터 전송되는 SID가 채널에 참가하는 유일한 주세션이 아닌 경우, 그리고 상기 S306단계에서 실제의 전송 중지 시간이 상기 구해진 안전한 일시 정지 시간 내에 포함되지 않는 경우 비디오 서버는 클라이언트와 정규 채널 만 존재하는지를 판단한다(S309).
판단 결과, 정규 채널만 존재하는 경우, 안전한 일시 정지 시간을 산출하게 된다(S310). 즉, 정규 채널 만이 존재하는 경우 패칭 가능한 범위 Ti 만큼의 비디오 데이터를 정규 채널로 부터 수신하여 디스크에 저장한다. 현재 세션은 패칭 길이 만큼의 데이터를 이미 디스크에 저장해 두고 있다. 따라서, 일시 정지 상태에서 추가로 저장할 수 있는 데이터를 나타내는 안전한 일시 정지 시간은 패칭 가능 범위 Ti에서 세션의 패칭 길이를 뺀 값이 되는 것이다.
한편, 상기 S309단계에서 정규 채널 및 패칭 채널이 동시에 존재하는 경우패칭 채널에서 패칭 길이 만큼의 데이터를 정규 채널로부터 패칭 가능한 범위 Ti에서 패칭 길이를 뺀 값 만큼의 데이터를 수신하는데, 안전한 일시 정지 시간은 정규 채널에서 수신하는 데이터의 크기와 패칭 채널에서 수신하는 데이터의 크기 중에서 작은 값이 되는 것이다(S311). 즉, 정규 채널과 패칭 채널이 동시에 존재하는 경우의 안전한 일시 정지 시간은 정규 채널 수신 데이터 양과 패칭 채널 수신 데이터 양과 같게 되는 것이다.
이와 같이 S310 및 S311단계에서 정규 채널만이 존재하는 경우와 정규 채널과 패칭 채널이 동시에 존재하는 경우의 안전한 일시 정지 시간을 클라이언트로 전송하게 되는 것이다(S312).
한편, 도 7을 참조하여 일시 정지를 재개하는 방법에 대하여 설명해 보자.
도 7은 본 발명에 따른 비디오 시스템에서의 일시 정지 해제하고 비디오 재생을 재개하는 방법에 대한 동작 플로우챠트를 나타낸 도면이다.
먼저, 클라이언트는 세션 ID SID와, 일시 정지 위치 Paused_Position과, 일시 정지한 시간 PausedTime을 비디오 서버로 전송하면(S401), 비디오 서버로부터 정규 채널, 패칭 채널, 패칭 길이, 대기 시간에 대한 정보를 수신하게 되는데, 이에 대하여 좀 더 구체적으로 살펴보자.
클라이언트가 세션 ID SID와, 일시 정지 위치 Paused_Position과, 일시 정지한 시간 PausedTime을 비디오 서버로 전송하면, 비디오 서버는 해당 클라이언트의 일시 정지 시간이 설정된 안전한 일시 정지 시간에 포함되는지를 판단하게 된다(S403).
판단결과, 해당 클라이언트의 일시 정지 시간이 설정되어 있는 안전한 일시 정지 시간에 포함되는 경우 재생이 재개 되는데, 즉, 재생이 안전한 일시 정지 구간 전에 재개되면, 채널의 변경은 이루어지지 않는다. 이 경우 새로운 채널의 생성이 없으므로 대기 시간이 없는 것이다.
이어, 클라이언트의 세션 ID SID가 정규 채널의 유일한 주세션인지를 판단하고(S404), 판단 결과, 클라이언트의 세션 ID SID가 정규 채널의 유일한 주세션인 경우 정규 채널의 전송을 재개하는 것이다(S405).
정규 채널의 전송이 재개되면, 현재 세션은 여전히 정규 채널의 주세션이 된다. 정규 채널의 강제적인 전송 재개는 정규 채널을 공유하는 모든 세션들에 대한 패칭 길이의 재 조정을 수행한다(S406).
그러나, 상기 S404단계에서 클라이언트의 세션 ID SID가 정규 채널의 유일한 주세션이 아닌 경우, 현재 정규 채널만 존재하는지를 판단한다(S407).
만약 정규 채널만이 존재하는 경우, 패칭 길이를 일시 정지한 시간 PausedTime 만큼 더해주고(S408), 정규채널과 패칭 채널이 동시에 존재하는 경우에는 패칭 구간 길이를 일시 정지한 시간 PausedTime 만큼 더해주는 것이다(S409).
패칭 채널은 현재 클라이언트의 재생 위치에서 PausedTime을 더한 위치를 전송하고 있기 때문에 클라이언트의 패칭 채널 처리 쓰레드(Thread)는 패칭 과정에서도 디스크에 데이터를 저장하는 과정을 수행한다.
상기 S406, S408, S409단계의 처리 후 정규 채널과 패칭 채널의 변경 없이(S410) 정규 채널, 패칭 채널 및 상기 S408, S409단계에서 구해진 패칭 길이값을 해당 클라이언트에게 전송한다(S412).
그러나, 상기 S403단계에서 클라이언트의 일시 정지 시간 PausedTime이 안전한 일시 정지 시간을 초과한 경우 일시 정지 위치 Paused_Position에 대한 점프 연산을 수행한다(S411). 즉, 클라이언트의 일시 정지 시간 PausedTime이 안전한 일시 정지 시간을 초과한 경우 새로운 정규 채널과 패칭 채널을 생성하고, 생성된 정규 채널과 패칭 채널 및 패칭 길이를 해당 클라이언트에게 전송하는 것이다.
다시 말해, 클라이언트의 일시 정지 시간이 안전한 일시 정지 구간을 넘어가는 경우 일시 정지 위치에 대한 점프 연산을 수행하고 점프 연산에 의해 얻어진 정규 채널, 패칭 채널 및 패칭 길이, 대기 시간값이 재개 연산의 값으로 해당 클라이언트로 전송되는 것이다.
결국, 일정한 시간 간격을 설정하고 그 시간 동안 요청된 서비스를 처리하는 종래기술에 따른 배칭 기반의 주문형 비디오 시스템에서의 일시 정지/재개 방법은 단지 자기가 전송 받는 스트림의 채널 그룹을 바꾸어주는 것으로 간단히 해결되었다. 일시 정지 연산시 비디오 데이터의 전송을 일시적으로 중지시키고 재개 연산이 있을 경우 가장 가까운 곳을 전송하고 있는 채널 그룹을 찾는 단순한 방법이 사용되었다. 그러나, 최대 두개의 채널로 부터 동시에 데이터를 전송받는 주문형 비디오 시스템에서는 일시 정지/재개 연산 지원이 이루어지지 않은 데 반면, 본 발명에 따른 비디오 시스템에서의 일시 정지/해제 방법 및 그 장치는 두개의 채널로부터 동시에 데이터를 전송하는 멀티캐스팅 환경에서의 주문형 비디오 시스템의 일시 정지/재개 연산을 지원하는 것이다.
상술한 바와 같은 본 발명에 따른 비디오 시스템에서의 일시 정지/해제 방법은, 멀티 캐스팅 환경에서 최소한의 채널을 이용하여 주문형 비디오 시스템의 일시정지/재개 연산을 지원함으로써, 사용자에게 비디오 데이터에 대한 상호 작용을 가능하게 하여 시스템의 효용성을 높여주는 효과가 있다.

Claims (14)

  1. 정규 채널과 패칭 채널을 이용한 비디오 시스템의 일시 정지 방법에 있어서,
    클라이언트로부터 세션 ID와 현재 비디오 재생 위치 정보가 수신되면, 해당 클라이언트의 현재 세션이 정규 채널의 유일한 주세션인지를 판단하는 단계;
    판단 결과, 현재 세션이 정규 채널의 유일한 주세션인 경우, 안전한 일시 정지 시간을 산출하는 단계;
    안전한 일시 정지 시간이 산출되면, 정규 채널을 통해 클라이언트로 전송되는 비디오 정보의 전송을 중지시킨 후, 실제 비디오 전송 중지 시간을 산출하여 상기 산출된 안전한 일시 정지시간과 비교하는 단계;
    비교 결과, 실제 전송 중지 시간보다 상기 산출된 안전한 일시 정지 시간이 큰 경우 일시 정지를 해재한 후 정규 채널을 통해 비디오 정보를 클라이언트로 전송하는 단계를 포함하는 비디오 시스템에서의 일시 정지방법.
  2. 제1항에 있어서,
    상기 비디오 정보의 전송 중지는, 상기 산출된 안전한 일시 정지 시간 만큼 중지시키는 비디오 시스템에서의 일시 정지 방법.
  3. 제1항에 있어서,
    상기 안전한 일시 정지 시간은, 정규 채널의 전송 위치에서 정규 채널의 부세션의 재생 위치를 뺀 시간인 비디오 시스템에서의 일시 정지 방법.
  4. 제1항에 있어서,
    상기 현재 세션이 정규 채널의 유일한 주세션이 아닌 경우와 상기 실제 전송 중지시간이 안전한 일시 정지 시간보다 작은 경우 현재 정규 채널만이 존재하는지를 판단하는 단계;
    판단 결과, 해당 클라이언트에 정규 채널만이 존재하는 경우, 현재의 비디오 정보 패칭 가능 범위 만큼의 비디오 정보만을 정규채널로부터 수신하여 저장하는 단계를 포함하는 비디오 시스템에서의 일시 정지 방법.
  5. 제4항에 있어서,
    상기 현재의 비디오 정보 패칭 가능 범위 만큼의 비디오 정보만을 정규채널로부터 수신하여 저장하는 단계에서,
    해당 클라이언트의 현재 세션은 패칭 길이 만큼의 비디오 데이터를 미리 저장하며, 일시 정지 상태에서 추가로 저장할 수 있는 비디오 테이터를 나타내는 안전한 일시 정지 시산은 상기 패칭 가능 범위에서 현제 세션의 패칭 길이를 뺀 시간인 비디오 시스템에서의 일시 정지 방법.
  6. 제4항에 있어서,
    상기 정규 채널만이 존재하는지를 판단하는 단계에서 정규 채널과 패칭 패널이 동시에 존재하는 경우,
    패칭 채널을 통해 태칭 길이 만큼의 비디오 데이터를 수신하고, 정규 채널로부터 안전한 일시 정지 시간 만큼의 비디오 데이터를 수신하는 단계를 포함하는 비디오 시스템에서의 일시 정지 방법.
  7. 제6항에 있어서,
    상기 안전한 일시 정지 시간은 패칭 가능 범위에서 상기 패칭 길이를 뺀 시간인 비디오시스템에서의 일시 정지 방법.
  8. 상기 제6항 또는 제7항에 있어서,
    상기 안전한 일시 정지 시간은 정규 채널로부터 수신되는 테이터의 크기와 패칭 채널로부터 수신되는 데이터의 크기중 작은 데이터의 크기가 되는 비디오 시스템에서의 일시 정지 방법
  9. 비디오 시스템에서의 비디오 전송을 재개하는 방법에 있어서,
    비디오 재생이 일시 정지된 상태에서, 클라이언트로부터 세션 ID와 일시 정지 위치 정보, 일시 정지 시간 정보가 수신된 후, 비디오 재생 신호가 수신되었는지를 판단하는 단계;
    미리 설정된 안전한 일시 정지 시간 내에 비디오 재생 신호가 수신되는 경우, 일시 정지 위치와 미리 설정된 안전한 일시 정지 시간을 비교하는 단계;
    비교 결과, 일시 정지 시간이 안전한 일시 정지 시간 내에 포함되는 경우, 해당 클라이언트가 정규 채널을 공유하는 유일한 주세션인지를 판단하는 단계;
    상기 판단 결과, 유일한 주세션인 경우, 정규 채널의 전송을 재개하고 정규 채널을 공유하는 세션들의 패칭 길이를 조정하는 단계;
    패칭 길이가 조정되면, 조정된 패칭 길이와 정규 채널, 패칭 채널값을 일시 정지 재개 값으로 클라이언트로 전송하는 단계를 포함하는 비디오 시스템에서의 비디오 재생 재개 방법.
  10. 제9항에 있어서,
    상기 해당 클라이언트가 정규 채널을 공유하는 유일한 주세션이 아닌 경우, 해당 클라이언트에 정규 채널만이 존재하는지를 판단하는 단계;
    정규 채널 그리고 정규 채널과 패칭 채널이 동시 존재하는 경우 패칭 길이를비디오 재생의 일시 정지 시간 만큼 가산하는 단계를 더 포함하는 비디오 시스템의 비디오 재생 재개 방법.
  11. 제10항에 있어서,
    상기 패칭 채널은 현재 클라이언트의 재생 위치에서 일시 정지 시간을 가산한 위치 정보를 전송하여 패칭 과정에서도 디스크에 비디오 데이터를 저장하는 비디오 시스템의 비디오 재생 재개 방법.
  12. 제9항에 있어서,
    상기 일시 정지 시간이 안전한 일시 정지 시간 내에 포함되지 않는 경우,
    상기 일시 정지 위치에 대한 점프 연산을 수행하여 새로운 정규 채널과 패칭 채널을 생성하는 단계;
    상기 생성된 정규채널과 패칭 채널을 통해 패칭 길이, 대기 시간 정보를 클라이언트로 비디오 재생 연산 값으로 전송하는 단계를 더 포함하는 비디오 시스템에서의 비디오 재생 재개 방법.
  13. 정규 채널과 패칭 채널을 이용하여 비디오 시스템에서 비디오 재생을 일시정지시키는 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체에 있어서,
    클라이언트로부터 세션 ID와 현재 비디오 재생 위치 정보가 수신되면, 해당 클라이언트의 현재 세션이 정규 채널의 유일한 주세션인지를 판단하는 단계;
    판단 결과, 현재 세션이 정규 채널의 유일한 주세션인 경우, 안전한 일시 정지 시간을 산출하는 단계;
    안전한 일시 정지 시간이 산출되면, 정규 채널을 통해 클라이언트로 전송되는 비디오 정보의 전송을 중지시킨 후, 실제 비디오 전송 중지 시간을 산출하여 상기 산출된 안전한 일시 정지시간과 비교하는 단계;
    비교 결과, 실제 전송 중지 시간보다 상기 산출된 안전한 일시 정지 시간이 큰 경우 일시 정지를 해재한 후 정규 채널을 통해 비디오 정보를 클라이언트로 전송하는 단계를 수행하는 기록 매체.
  14. 정규 채널과 패칭 채널을 이용하여 비디오 시스템에서 비디오 재생의 일시 정지를 재개하는 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체에 있어서,
    비디오 재생이 일시 정지된 상태에서, 클라이언트로부터 세션 ID와 일시 정지 위치 정보, 일시 정지 시간 정보가 수신된 후, 비디오 재생 신호가 수신되었는지를 판단하는 단계;
    미리 설정된 안전한 일시 정지 시간 내에 비디오 재생 신호가 수신되는 경우, 일시 정지 위치와 미리 설정된 안전한 일시 정지 시간을 비교하는 단계;
    비교 결과, 일시 정지 시간이 안전한 일시 정지 시간 내에 포함되는 경우, 해당 클라이언트가 정규 채널을 공유하는 유일한 주세션인지를 판단하는 단계;
    상기 판단 결과, 유일한 주세션인 경우, 정규 채널의 전송을 재개하고 정규 채널을 공유하는 세션들의 패칭 길이를 조정하는 단계;
    패칭 길이가 조정되면, 조정된 패칭 길이와 정규 채널, 패칭 채널값을 일시 정지 재개 값으로 클라이언트로 전송하는 단계를 수행하는 기록매체.
KR1020010058241A 2001-09-20 2001-09-20 비디오 시스템에서의 비디오 재생 일시 정지/해제 방법 KR20030025386A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020010058241A KR20030025386A (ko) 2001-09-20 2001-09-20 비디오 시스템에서의 비디오 재생 일시 정지/해제 방법
US10/015,689 US20030093802A1 (en) 2001-09-20 2001-12-17 Pause/resume method of video reproduction in video system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010058241A KR20030025386A (ko) 2001-09-20 2001-09-20 비디오 시스템에서의 비디오 재생 일시 정지/해제 방법

Publications (1)

Publication Number Publication Date
KR20030025386A true KR20030025386A (ko) 2003-03-29

Family

ID=19714468

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010058241A KR20030025386A (ko) 2001-09-20 2001-09-20 비디오 시스템에서의 비디오 재생 일시 정지/해제 방법

Country Status (2)

Country Link
US (1) US20030093802A1 (ko)
KR (1) KR20030025386A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100449492B1 (ko) * 2002-08-30 2004-09-22 한국전자통신연구원 멀티캐스팅 채널을 사용하여 스트림 데이터를 전송하는주문형 비디오 시스템에서 점프 방법
KR101293005B1 (ko) * 2011-12-20 2013-08-12 성균관대학교산학협력단 Fb기법 및 패칭 기법을 조합한 vod 전송 시스템

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7764863B1 (en) * 2002-03-06 2010-07-27 Bigband Networks Inc. System and method for providing trick modes
AU2003239385A1 (en) 2002-05-10 2003-11-11 Richard R. Reisman Method and apparatus for browsing using multiple coordinated device
US20050138655A1 (en) * 2003-12-22 2005-06-23 Randy Zimler Methods, systems and storage medium for managing digital rights of segmented content
US20050177618A1 (en) * 2003-12-22 2005-08-11 Randy Zimler Methods, systems and storage medium for managing bandwidth of segmented content
WO2006091736A2 (en) * 2005-02-23 2006-08-31 Arroyo Video Solutions, Inc. Fast channel change with conditional return to multicasting
US8140699B2 (en) * 2005-02-23 2012-03-20 Cisco Technology, Inc. Switching a client from unicasting to multicasting by simultaneously providing unicast and multicast streams to the client
JP4715535B2 (ja) * 2005-05-23 2011-07-06 ソニー株式会社 コンテンツ表示再生システム、コンテンツ表示再生方法、コンテンツ表示再生プログラムを記録した記録媒体及び操作制御装置
US7593326B2 (en) * 2005-06-29 2009-09-22 International Business Machines Corporation Method and apparatus for managing bandwidth requirements for video on demand services
US7886056B2 (en) * 2005-06-29 2011-02-08 International Business Machines Corporation Method and apparatus for workload management of a content on demand service
US8713195B2 (en) 2006-02-10 2014-04-29 Cisco Technology, Inc. Method and system for streaming digital video content to a client in a digital video network
US8554941B2 (en) * 2007-08-30 2013-10-08 At&T Intellectual Property I, Lp Systems and methods for distributing video on demand
KR20110116788A (ko) * 2010-04-20 2011-10-26 삼성전자주식회사 이종망간 인터넷 프로토콜 텔레비젼 서비스를 지원하는 통신 시스템에서 비디오 전송 장치 및 방법
JP5612004B2 (ja) * 2012-03-05 2014-10-22 株式会社東芝 ビデオサーバコントローラ、操作方法、操作プログラム、操作プログラムを記録する記録媒体及びビデオサーバシステム
US10230812B1 (en) * 2016-01-29 2019-03-12 Amazon Technologies, Inc. Dynamic allocation of subtitle packaging
US20180176156A1 (en) * 2016-12-21 2018-06-21 Pearson Education, Inc. Systems and methods for automatic multi-recipient electronic notification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0673160A1 (en) * 1994-03-15 1995-09-20 International Business Machines Corporation Look-ahead scheduling to support video-on-demand applications
EP0673159A1 (en) * 1994-03-15 1995-09-20 International Business Machines Corporation Scheduling policies with grouping for providing VCR control functions in a video server
KR19990086454A (ko) * 1998-05-28 1999-12-15 전주범 주문형 비디오 시스템에서의 일시 정지/해제 기능 구현 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606359A (en) * 1994-06-30 1997-02-25 Hewlett-Packard Company Video on demand system with multiple data sources configured to provide vcr-like services
US6543053B1 (en) * 1996-11-27 2003-04-01 University Of Hong Kong Interactive video-on-demand system
US7107606B2 (en) * 2000-08-30 2006-09-12 The Chinese University Of Hong Kong System and method for highly scalable video on demand
US6973667B2 (en) * 2001-03-01 2005-12-06 Minerva Networks, Inc. Method and system for providing time-shifted delivery of live media programs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0673160A1 (en) * 1994-03-15 1995-09-20 International Business Machines Corporation Look-ahead scheduling to support video-on-demand applications
EP0673159A1 (en) * 1994-03-15 1995-09-20 International Business Machines Corporation Scheduling policies with grouping for providing VCR control functions in a video server
KR19990086454A (ko) * 1998-05-28 1999-12-15 전주범 주문형 비디오 시스템에서의 일시 정지/해제 기능 구현 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문멀티캐스트를 이용한 주문형 비디오 서비스에 관한것.(1절/2절/도면 2도 참조)(2001,06) *
논문주문형 비디오 서비스에서 패칭(Patching)을 이용한 멀티 케스트(multicast)의 효율적인 운용에 관한 것.(요약/3절/도면 1도 참조)1998 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100449492B1 (ko) * 2002-08-30 2004-09-22 한국전자통신연구원 멀티캐스팅 채널을 사용하여 스트림 데이터를 전송하는주문형 비디오 시스템에서 점프 방법
KR101293005B1 (ko) * 2011-12-20 2013-08-12 성균관대학교산학협력단 Fb기법 및 패칭 기법을 조합한 vod 전송 시스템

Also Published As

Publication number Publication date
US20030093802A1 (en) 2003-05-15

Similar Documents

Publication Publication Date Title
US5561637A (en) Pace control for multicasting in a video server environment
US9813745B2 (en) Method and apparatus for hierarchical distribution of video content for an interactive information distribution system
US8166154B2 (en) Method for streaming multimedia content
US5414455A (en) Segmented video on demand system
CA2142381C (en) Scheduling policies with grouping for providing vcr control functions in a video server
CA2142380C (en) Buffer management policy for an on-demand video server
US6725267B1 (en) Prefetched data in a digital broadcast system
KR20030025386A (ko) 비디오 시스템에서의 비디오 재생 일시 정지/해제 방법
US6973667B2 (en) Method and system for providing time-shifted delivery of live media programs
US7324555B1 (en) Streaming while fetching broadband video objects using heterogeneous and dynamic optimized segmentation size
JP2995177B1 (ja) ストリーム配信システム
US7325073B2 (en) Peer to peer video on demand system selectively using client and server to forward the requested video program to another client
US7072972B2 (en) Method and apparatus for performing user migration within a video on demand environment
KR19990086454A (ko) 주문형 비디오 시스템에서의 일시 정지/해제 기능 구현 방법
US20020138845A1 (en) Methods and systems for transmitting delayed access client generic data-on demand services
EP1285348A1 (en) Methods for providing video-on-demand services for broadcasting systems
Park et al. Multicast delivery for interactive video-on-demand service
KR100449492B1 (ko) 멀티캐스팅 채널을 사용하여 스트림 데이터를 전송하는주문형 비디오 시스템에서 점프 방법
JP2005506725A (ja) 遅延アクセスによるクライアントジェネリックなデータ・オン・デマンドサービスの伝送方法およびシステム
TWI223563B (en) Methods and systems for transmitting delayed access client generic data-on-demand services
KR19990086460A (ko) 주문형 비디오 시스템에서의 랜덤 억세스 구현 방법
JPH09182052A (ja) データ伝送システム
Schultz et al. A framework for the design and analysis of a chaining protocol, with client-centric buffer reservation, for multimedia streaming
KR20040063795A (ko) 지연된 억세스 클라이언트 데이터 및 요청의 전송
KR20000033731A (ko) 주문형 비디오의 특수 재생 서비스 제공 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application