KR100188496B1 - 가변속도 스캐닝 동작 수행 방법 - Google Patents
가변속도 스캐닝 동작 수행 방법 Download PDFInfo
- Publication number
- KR100188496B1 KR100188496B1 KR1019950007705A KR19950007705A KR100188496B1 KR 100188496 B1 KR100188496 B1 KR 100188496B1 KR 1019950007705 A KR1019950007705 A KR 1019950007705A KR 19950007705 A KR19950007705 A KR 19950007705A KR 100188496 B1 KR100188496 B1 KR 100188496B1
- Authority
- KR
- South Korea
- Prior art keywords
- video
- frames
- scanning
- segment
- frame
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/2312—Data placement on disk arrays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/47202—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Details Of Television Scanning (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
본 발명은 가변 속도 스패닝 혹은 브라우징을 수행하는 시스템 및 방법에 관한 것이다. 사용자는 추가적인 디스크 혹은 네트워크 대역폭 자원을 구비하지 않고서도 영화의 재생 속도를 제어할 수 있다. 바람직한 실시예에서, 본 발명의 방법은 MPEG 비디오 스트림에 대한 스캐닝 동작을 제공한다. 본 발명의 방법은 (사용자의 셋탑 박스내의) MPEG 디코더의 제한을 충족시키며, 최소한의 추가적인 시스템 자원을 요구한다. 본 발명의 실시예는 (a) 저장 방법과, (b1) 세그먼트의 샘플링 방법과, (b2) 세그먼트의 배치 방법과, (c) 재생 방법을 포함하며, 여기서 (b1) 및 (b2)는 세그먼트 선택에 대한 두가지 대안이다. 따라서, 디스크 어레이에 기초한 비디오 서버에서는 가변 속도 스캐닝을 지원하기 위해 두가지의 해결책이 제공된다. 첫 번째는 (a), (b1) 및 (c)를 이용하는 것이고, 두 번째는 (a), (b2) 및 (c)를 이용하는 것이다.
Description
제1도는 네트워크내의 디스크 어레이에 기초한 멀티미디어 비디오 서버를 도시한 도면.
제2도는 세그먼트 샘플링 방법을 이용한 빨리 감기 검색 절차를 도시한 블록도.
제3도는 세그먼트 배치 방법을 이용한 빨리 감기 검색 절차를 도시한 블록도.
제4도는 MPEG 프레임의 시퀀스를 도시한 도면.
제5도는 비디오 세그먼트가 라운드 로빈 방식으로 저장되는 디스크 어레이를 도시한 도면.
제6도는 세그먼트 샘플링 방법에 대한 프로그램을 상세히 도시한 흐름도.
제7도는 세그먼트 샘플링 방법에 대한 예를 도시한 도면.
제8도는 세그먼트 배치 방법에 대한 프로그램을 상세히 도시한 흐름도.
제9도는 세그먼트 배치 방법에 대한 예를 도시한 도면.
제10도는 재생 절차에 대한 블록도.
* 도면의 주요부분에 대한 부호의 설명
100 : 비디오 서버 101,109 : CPU
102 : 디스크 어레이 103 : 단말 사용자 스테이션
104 : 통신 네트워크 105 : 메모리 버퍼
106 : 주기적인 스케줄러 107,108 : 네트워크 인터페이스
110 : 재생 버퍼 111 : 디코더
112 : 제어 인터페이스
본 발명은 디스크 어레이를 기초로 한 비디오 서버(video server)에서 비디오 프레임의 검색 및 스캐닝을 지원하는 것에 관한 것이다.
주문형 비디오(video on demand:VOD) 시스템에 있어서, 멀티미디어 스트림(multimedia stream)(영화)은 저장 서버에 저장되고, 주문이 있을 경우 단말 사용자의 (수신) 스테이션으로 재생된다. 멀티미디어 스트림은 압축된 비디오 및 오디오로 구성된다. 널리 이용되고 있는 비디오의 표준은 MPEG(Moving Picture Experts Group)이다. MPEG과 같은 프레임간 압축 기술(inter-frame compression technique)은 신호의 저장 및 전송에서 많은 이점을 제공하므로 VOD 응용에 널리 이용되고 있다.
정상 재생 동안, 멀티미디어 스트림에 속하는 데이터 블록은 저장 시스템으로부터 검색(retrieve)되어 수신 스테이션으로 전송된다. 수신 스테이션은 입력스트림을 디코딩하여 이를 재생한다. 일반적으로, VOD 시스템은 사용자에게 빨리 감기(fast forward)(스캐닝 포워드로도 또한 일컬어짐)와 같은 VCR의 탐색기능(VCR-like search function)을 제공하는 것이 바람직하다. 이러한 빨리 감기(이하, FF이라 칭함)를 구현하기 위한 통상적인 기법은 여러 가지가 있으며, 이들 기법들 중 몇몇은 아날로그 VCR 혹은 영화 투사기(movie projector)의 스캐닝 동작을 모방한 것이다. 그러나, 이들 각각의 기법은 이하 설명하는 바와 같이 VOD 시스템 상에 추가적인 자원을 필요로 한다. 설명을 용이하게 하기 위해, 영화가 정상 재생 속도에 비해 3배의 속도로 스캐닝되는 것으로 가정한다.
멀티미디어 스트림은 정상 재생 속도보다 3배로 검색 및 전송되고, 단말 사용자 스테이션은 이 데이터를 필터링하여 재생한다. 이러한 해결책은 저장 시스템, 메모리 버퍼 및 네트워크에 (정상 속도의 3배의) 추가적인 자원을 필요로 한다. 단말 사용자 스테이션에서도 입력 데이터를 처리하기 위한 추가적인 자원을 또한 필요로 한다.
저장 시스템은 매 3번째 프레임을 검색하여 이를 단말 사용자에게 전송한다. 이러한 해결책에는 상당량의 시스템 자원이 추가로 필요하다. 따라서, 멀티미디어 파일은 개개의 프레임을 검색하기 위해 인덱스(index)되어야 하며, 검색된 데이터의 양은 프레임간 코딩 구조로 인해 정상 데이터보다 많게 된다.
시스템은 별도로 코딩된 FF 스트림으로 전환하여 스캐닝 동작을 제공한다. 이러한 해결책은 소정의 추가적인 판독 대역폭 혹은 네트워크 대역폭을 구비하지 않아도 되지만, 상당한 저장 비용이 소요된다.
본 발명의 목적은 디스크 어레이에 기초한 비디오 서버에서 빨리 감기 및 빨리 되감기 (스캐닝) 비디오 프레임 검색을 지원하는데 있다.
본 발명의 다른 목적은 비디오 서버에서 가변 속도 스캐닝을 지원하는데 있다.
전술한 문제점을 해결하기 위해, 본 발명은 가변 속도 스캐닝 혹은 브라우징(variable speed scanning or browsing)을 수행하는 시스템 및 방법을 제공하며, 이 시스템 및 방법에 따라 사용자는 추가적인 디스크 혹은 네트워크 대역폭 자원을 필요로 하지 않고서도 영화의 재생 속도를 제어할 수 있다.
바람직한 실시예에서, 본 발명의 방법은 MPEG 비디오 스트림에 대한 가변 속도 스캐닝 동작을 제공한다. 본 발명의 방법에서는, (사용자의 셋탑 박스내의) MPEG 디코더의 제한 요건이 충족되고, 최소한의 추가적인 시스템 자원만을 필요하다. 본 발명의 실시예는 (a) 저장 방법과, (b1) 세그먼트 샘플링 방법과, (b2)세그먼트 배치 방법과, (c) 재생 방법을 포함하는데, 여기서 (b1) 및 (b2)는 세그먼트를 선택하기 위한 두가지 대안이다. 따라서, 디스크 어레이에 기초한 비디오서버에서 가변 속도의 스캐닝을 지원하는데 두가지 해결책이 제공된다. 하나의 방안은 (a), (b1) 및 (c)를 이용하는 것이고, 다른 방안은 (a), (b2) 및 (c)를 이용하는 것이다.
MPEG 비디오 스트림은 인트라 프레임(intra frame)(I), 예측 프레임(predictive frame)(P) 및 보간 프레임(interpolated frames)(B)의 3가지 유형의 프레임으로 구성된다. 저장 방법은 MPEG 비디오 프레임의 스트림을 미디어 세그먼트로 분할하는 것이다. 각각의 세그먼트는 I 프레임에서부터 다른 I 프레임 이전까지 연속적인 프레임(consecutive frames)을 포함한다. 멀티미디어 스트림의 할당 및 검색은 세그먼트 단위로 수행된다. 연속적인 세그먼트는 디스크 어레이 내의 다른 디스크 상에 저장된다.
정상 재생 동안, 하나의 미디어 세그먼트가 예를 들어, n개의 디스크를 갖는 디스크 어레이내의 각각의 디스크로부터 검색된다. 이들 n개의 세그먼트는 메모리에 버퍼링(buffering)되고, 수신 스테이션에 일정한 속도로 전송된다. FF 모드동안 자연스러운 동작을 유지하기 위해, n개의 연속적인 세그먼트는 n개의 상이한 디스크 내에 스캐닝 시퀀스(scan sequence)로 상주한다.
세그먼트 샘플링 방법은 디스크 어레이로부터 라운드-로빈 방식(round-robin manner)으로 배치된 세그먼트를 선택적으로 검색하는 방법으로서, FF 검색을 위해 세그먼트 샘플링을 시청자가 요구한 특정한 FF 속도로 지원한다. 이러한 방법에 의해 샘플링된 세그먼트는 디스크 상에 균일하게 분산되며, 매 두개의 연속적인 검색 사이에 스킵된 세그먼트의 갯수의 변이를 최소화한다.
세그먼트 배치 방법은 세그먼트 선택을 위한 세그먼트의 또 다른 샘플링 방법이다. 세그먼트 배치 방법은 (세그먼트가 라운드 로빈 방식으로 배치된 디스크 어레이에 기초한 비디오 서버에 대해 사용되는) 세그먼트 샘플링 방법과는 대조적으로, 세그먼트를 신중하게 디스크에 할당하여, 샘플링을 위한 더 이상의 특별한 자원이 필요 없고, 소정의 사전 결정된 스캐닝 속도의 스캐닝 모드에서 세그먼트가 완전히 균일하게 샘플링될 순 있도록 한다.
재생 방법은 수신 스테이션을 동작시켜서 스캐닝 검색을 위해 검색된 비디오 스트림이 재생되도록 한다. 이 방법은 입력 미디어 스트림을 선택적으로 파싱(parsing)하고 프리젠테이션 타임 스탬프(presentation time-stamps)를 조정하여, 서버와 단말 사용자가 필요로 하는 버퍼의 공간 및 전송 대역폭이 최소화되도록 한다. 본 발명의 전술한 목적 및 다른 목적, 특징 및 장점들은 첨부된 도면과 함께 본 발명의 상세한 설명을 참조하면 명백하게 이해될 것이다.
제1도에는 디스크 어레이에 기초한 비디오 서버(100)가 도시되어 있다. 비디오 데이터는 디스크 어레이(102)내에 저장되고, 비디오 데이터가 요구되면 네트워크(104)를 거쳐 단말 사용자 스테이션(103)으로 전송된다. 영화(비디오)는 디스크(102)에 저장된다. 비디오 서버(100)는 주기적인 스케줄러(cyclic scheduler)(106)의 제어에 따라 태스크(tasks)를 실행하는 프로세서(cpu)(101)를 포함한다. 이들 태스크는 디스크(102)로부터 비디오를 검색하는 검색 태스크(150)와, 비디오를 메모리 버퍼(105)에 임시 저장하는 저장 태스크(152)와, 비디오를 네트워크 인터페이스(107)를 경유하여 통신 네트워크(104)를 거쳐 고객 스테이션(103)에 전송하는 전송 태스크(154)를 포함한다.
각각의 고객 스테이션(103)은, 통신 네트워크를 통해 고객 스테이션(103)과 비디오 서버간에 양방향 통신을 제공하는 네트워크 인터페이스를 포함한다. 각각의 고객 스테이션은, 고객 스테이션의 네트워크 인터페이스를 통해 재생 버퍼(110)에서 비디오를 수신하는 프로세서(109)를 또한 포함한다. 또한, 각각의 고객 스테이션(103)은, 재생 버퍼로부터 영화를 수신한 다음 고객의 디스플레이 장치(예를 들면, TV)에서 상영될 수 있도록 디코딩하는 디코더(111)와, 사용자로부터의 (스캐닝 속도 제어 커맨드를 포함하는) 제어 커맨드(control commands)를 원격 제어기(114)를 통해 수신하는 제어 인터페이스(112)를 포함한다. 이들 커맨드는 네트워크 인터페이스(108) 및 네트워크(104)를 거쳐 비디오 서버로 제공된다.
비디오 서버(100)는 지원하고자 하는 수의 비디오 스트림에 충분한 성능을 갖춘 소정의 프로세서로 구현될 수 있다. 예를 들면, 소용량의 비디오 서버는 RISC System/6000TM 시스템을 이용하여 구현될 수 있고, 대용량의 비디오 서버는 ES/9000TM시스템을 이용하여 구현될 수 있다(이들 서버는 모두 IBM사의 제품이다). 디스크 어레이(102)는 RAID 레벨 5의 유형일 수 있다. 통신 네트워크(104)는 예를 들면, 광 섬유 네트워크 혹은 통상적인 양방향 케이블 네트워크일 수 있다. 고객 스테이션(103)은 셋탑 박스로 구현될 수 있다. 원격 제어(114) 및 제어 로직(control logic)은 통상적인 적외선 인터페이스(infrared interface)를 경유하여 접속될 수 있다. 고객은 커맨드를 네트워크(104)를 통해 서버(103)에 전송한다. 본 발명의 실시예에 따르면, 고객은 원격 제어기(114)상의 특정 버튼을 눌러서 비디오의 스캐닝 속도를 (연속적인 스펙트럼을 따라) 제어할 수 있다.
명료성을 위해, 이하의 설명에서는 빨리 감기 동작에 대한 예가 기술될 것이다. 하지만, 본 발명은 빨리 되감기(FB) 동작에도 동일하게 적용될 수도 있음을 이해하여야 한다.
제2도는 본 발명의 실시예에 따른 저장 방법(10), 세그먼트 샘플링 방법(15) 및 재생 방법(20)을 이용하여 디스크 어레이에 기초한 서버의 FF 검색을 구현하는 하나의 방법을 예시한 도면이다. 저장 방법(10)은 MPEG 비디오 프레임의 스트림을 미디어 세그먼트로 분할한다. 각각의 세그먼트는 I 프레임에서부터 다른 I 프레임 이전까지 연속적인 프레임으로 구성된다. 멀티미디어 스트림의 할당 및 검색은 세그먼트 단위로 수행된다. 세그먼트 샘플링 방법(15)은 세그먼트가 라운드 로빈 방식으로 배치된 디스크 어레이로부터 세그먼트를 선택적으로 수신하여, 사용자가 요구한 FF 속도로 FF 검색을 수행한다. 재생 방법(20)은 단말 스테이션이 FF 검색으로부터 검색된 비디오 스트림을 재생할 수 있도록 하고, 버퍼의 공간 및 전송 대역폭의 요건을 정상 재생 동작의 경우와 동일하게 유지시킨다.
제3도는 본 발명의 다른 실시예에 따른 저장 방법(10), 세그먼트 배치 방법(35) 및 재생 방법(20)을 이용하여, 디스크 어레이에 기초한 비디오 서버의 FF검색을 구현하는 또 다른 방법을 예시한 도면이다. 저장 방법(10) 및 재생 방법(20)은 제2도에서 사용된 방안과 동일하다. 세그먼트 배치 방법(35)은 세그먼트를 디스크에 신중하게 할당하여, 세그먼트가 소정의 사전 결정된 FF 속도로 FF 모드에서 완전히 균일하게 샘플링될 수 있도록 한다.
이하, 스캐닝을 제어하는데 사용되는 각종 태스크 및 프로그램이 제4 내지 10도를 참조하여 기술될 것이다.
제4도는 인트라 프레임(I), 예측 프레임(P) 및 보간 프레임(B)으로 구성된 MPEG 비디오 프레임(1-8)의 시퀀스를 도시한 도면이다. 프레임의 저장 순서는 시간 순서(temporal order)와는 상이하며, 프레임이 디코더에 전송되는 순서를 나타낸다. MPEG 스트림에서, P 프레임은 I 프레임에 종속하고, B 프레임은 I 및 P 프레임에 증속한다. 따라서, 대응하는 I 및 P 프레임 없이 B 프레임을 재생하는 것은 불가능하다. 따라서, 매 세 번째의 프레임을 재생하여 3배속의 재생을 구현하는 것은 불가능한데, 그 이유는 이 서브세트가 대응하는 앵커(anchor) I 프레임 혹은 P 프레임이 없는 B 프레임을 포함하기 때문이다.
전술한 이유로 인해, 본 발명의 저장 방법은 MPEG 비디오 스트림을 미디어세그먼트로 분할한다. 각각의 세그먼트는 I 프레임에서부터 다른 I 프레임 이전까지 연속적인 프레임으로 구성된다. 멀티미디어 스트림의 할당 및 검색은 세그먼트 단위로 수행된다. 연속적인 세그먼트는 디스크 어레이(102)내의 상이한 디스크 상에 저장된다.
이하, 검색 태스크(150)의 세그먼트 샘플링 방법에 대해 기술될 것이다. 제1도에 도시된 디스크 어레이에 기초한 비디오 서버는 n개의 디스크를 갖는 것으로 생각한다. 정상 동작 동안 처리양이 최대가 되도록 하기 위해 비디오 세그먼트(SO-529)는 라운드 로빈 방식으로 디스크 어레이(102)에 저장되어, 하나의 라운드에서 n개의 연속적인 세그먼트가 검색될 수 있도록 한다. 공식적으로, n개의디스크가 존재할 때, 세그먼트 g는 디스크 k=f1(g, n)에 저장된다(여기서 f1(g, n)= g mod n 이다.) 제5도는 n=10 일 때 라운드 로빈 세그먼트의 배치의 예를 도시한 도면이다.
FF 기능을 성취하기 위해서는 몇몇 세그먼트만 적절히 샘플링하고 다른 세그먼트들은 스킵(skip)해야 한다. 샘플링의 속도는 원하는 FF 속도에 따라 달라진다. FF 속도가 정상 속도의 m배이면, 평균적으로 m개의 세그먼트 중에서 하나의 세그먼트만을 샘플링해야 한다. 예를 들어, FF 속도가 정상 속도의 3배이면, 제5도에서 디스크 0, 디스크 3, 디스크 6 및 디스크 9로부터 제각기 세그먼트 S0, S3, S6, S9가 각각 검색되지만, S1, S2, S4, S5, S7, S8은 스킵 될 것이다. 완전한 샘플링 절차는 차후에 세그먼트 샘플링 방법을 참조하여 상세히 기술될 것이다.
FF 동안 최적의 출력을 제공하기 위해서는 샘플링된 세그먼트가 가능한 한 균일하게 분산되어야 한다. 예를 들어, 속도를 2배로 높일 경우에는 단순히 짝수의 세그먼트만을 선택하고 홀수의 세그먼트는 스킵하면 된다. 그러나, 이 방법은 세그먼트를 균일하게 샘플링하기는 하지만, (n=10인 제5도의 경우와 같이) 어레이내의 디스크의 수가 짝수인 경우에는 최대 처리량을 억지 못한다. 보다 상세하게 말하면, 짝수의 세그먼트만이 선택되면, 세그먼트 검색 시 디스크의 절반(즉, 짝수의 디스크)만이 참여하고 나머지 절반의 디스크(즉, 홀수의 디스크)는 유휴 상태로 남아 있게 된다. 따라서, 세그먼트가 라운드 로빈 방식으로 저장된 디스크 어레이에서 FF 비디오 세그먼트 검색 방안을 향상시키기 위해서는 가능한 한 세그먼트를 균일하게 샘플링해야 할 뿐 아니라, 처리량이 최대가 되도록 해야 한다. 이러한 절차는 다음에 기술된다.
제6도는 각각의 디스크에 대해 FF 모드에서 어떤 비디오 세그먼트를 검색해야 할지를 결정하기 위한 검색 태스크(150)내의 프로그램의 흐름도이다. 어레이내의 디스크의 갯수는 n개이고, 원하는 FF 속도는 정상 동작의 m배인 것으로 가정한다. 1cm(n, m)은 m과 n의 최소 공배수(least common multiple)인 것으로 한다. 그러면, 예를 들어, 1cm(3, 9) = 9가 된다. 표기의 명료성을 위해 z =nm/1cm(n, m)인 것으로 한다. 제7도에는 설명을 용이하게 하기 위해 n=9 및 m=3에 대한 FF 세그먼트 검색이 도시되어 있으며, 여기서 검색된 세그먼트는 *로 표시된다.
이제 제6도를 참조하면, 시작 단계(60)에서 세그먼트 검색의 라운드 번호 r은 1로 설정된다. r이 짝수인지 혹은 홀수인지에 따라, 각각의 디스크는 적절한 공식을 이용하여 검색될 세그먼트를 결정한다(단계 70). r이 홀수인 경우는 제7도의 제1라운드에서 0*' 10* 및 20* 세그먼트에 의해 형성된 라인과 같이, 검색된 세그먼트에 의해 형성된 지그 재그 곡선(zig-zag curve)의 제1절반에 대응한다. 한편, r이 짝수인 경우는 제7도의 제2라운드에서 29*, 37* 및 45* 세그먼트에 의해 형성된 라인과 같이, 지그 재그 곡선의 제2절반에 대응한다. 특히, r이 홀수이면, 디스크 k로부터 세그먼트 g가 검색되는데, 여기서 g는 단계(80, 85)에 의해서만 결정된다. r이 짝수이면, 디스크 k로부터 세그먼트 g가 검색되는데, 여기서 g는 단계(90, 95)에 의해서만 결정된다. 단계(100)에서 디스크 k 검색으로부터 세그먼트 g가 검색된 후에 더 많은 비디오 세그먼트가 요구되면, 단계(110)에서 라운드 번호가 하나씩 증가된다. 그렇지 않으면, 이 절차는 단계(120)에서 종료된다.
제7도를 다시 참조하면, n=9 및 m=3에 대한 실시예가 제공되며, 검색된 세그먼트들은 *로 표시된다. 제6도에는 세그먼트의 번호가 3의 배수인 세그먼트를 검색하는 방안 대신(이 경우 디스크 1, 2, 4, 5, 7, 8은 유휴 상태로 존재), 몇몇 검색에서 검색된 비디오 세그먼트를 쉬프트(shift)하는 세그먼트 샘플링 방안이 예시되어 있다. 예를 들면, 세그먼트(10)가 세그먼트(9)대신 인출(fetch)되고, 세그먼트(20)가 세그먼트(19)대신 인출된다. 이러한 쉬프트 방안은 검색된 세그먼트가 완전히 균일하게 분산되지는 않지만, 처리량이 최대가 되도록 한다. 제7도의 제1검색 라운에서 검색된 세그먼트 그룹은 세그먼트(0, 10, 20, 3,13, 23, 6, 16, 26)로 구성되며, 이후 이들 세그먼트는 0, 3, 6, 10#, 13, 16, 20#, 23, 26의 순서로 디스플레이된다(여기서 #는 검색된 세그먼트 번호에 대한 쉬프트를 나타낸다). 이러한 방안에 따라, 제7도의 제2검색 라운드에서 검색된 세그먼트는 세그먼트(45, 37, 29, 48, 40, 32, 51, 43, 35)이며, 이후 이들 세그먼트는 29, 32, 35, 37#, 40, 43, 45#, 48, 51의 순서로 디스플레이된다. 제7도를 참조하면, 검색된 세그먼트가 지그 재그 곡선 형태를 가짐을 알 수 있을 것이다. 지그 재그 곡선에서 쉬프트의 수는 2nm/1cm(n, m)-2 이며, 이것은 세그먼크가 라운드 로빈 방식으로 저장되는 디스크 어레이에 기초한 비디오 서버에서 처리량이 최대가 되게 하는 모든 FF 방안들 중 가장 작다.
이하, 세그먼트 배치 방안에 관해 기술될 것이다. 제2도 및 제3도에 도시된 바와 같이, 세그먼트 배치 방안은 전술한 세그먼트 샘플링 방안의 다른 실시예이다. (세그먼트가 라운드 로빈 방식으로 저장된) 디스크 어레이로부터 세그먼트를 선택적으로 검색하는 세그먼트 샘플링 방안과는 달리, 세그먼트 배치 방안은 세그먼트를 디스크에 신중하게 할당하므로, 샘플링을 위한 특별한 자원이 필요 없고 소정의 사전 결정된 FF 속도도 FF 모드에서 세그먼트가 완전히 균일하게 샘플링될 수 있다. FF 동작신 재생 속도가 정상 재생 속도의 m배인 것으로 가정한다. 이 FF 모드에서 , 주어진 시작 세그먼트 i에서부터 검색되는 세그먼트의 시퀀스는 {i, i+m, i+2m, i+3m,...}이다. n 미디어 세그먼트는 매 라운드마다 검색되므로, 검색될 세그먼트는 {(r-1)nm, (r-1)nm+m, (r-1)nm+2m,....,(r-1)nm +(n-1)m}이며, 여기서 r은 세그먼트 검색의 라운드 번호이다. 처리량을 최대로 하기 위해 이들 세그먼트는 상이한 디스크에 매핑되도록 하는 것이 필요하다. 세그먼트 배치 함수 f2(g, n)는 미디어 세그먼트 g에서 디스크 k로의 매핑을 정의한다(여기서 k는 n개의 디스크를 갖는 디스크 어레이에서 0에서 n-1까치의 범위의 수이다).
m이 디스크 갯수 n의 약수(sub-multiple)라고 가정하면, 매핑 함수는 f2(g,n) = (g + [g/n]) mod n으로 정의된다. 첫 번째 항 (g)는 n개의 디스크 상에서 세그먼트의 규칙적인 분산(regular scattering)을 나타내고, 두 번째 항 (g/n)은 스큐의 계수(skew factor)를 나타낸다. f2(g, n)은 임의의 r에 패한 세그먼트 {(r-1)nm, (r-1)nm+m, (r-1)nm+2m, (r-1)nm+(n-1)m}를 상이한 디스크에 매핑하는 것을 나타낸다.
이제 제8도를 참조하면, 검색 태스크(150)내의 세그먼트 배치 프로그램의 흐름도가 도시되어 있다. 시작 단계(200)에서 세그먼트 검색의 라운드 번호 r은 1로 설정된다. r번째 라운드에서, 디스크 k는 검색을 위해 자신의 i번째 디스크(즉, 세그먼트 번호 g)에 위치될 것이다. 단계(210, 220)에서는 번호 i 및 g가 유일하게 결정된다. 단계(230)에서 디스크 k로부터 세그먼트 g가 검색된 후, 더 많은 비디오 세그먼트가 요구되면, 단계(250)로 진행하여 라운드 번호를 하나씩 증가시킨다. 그렇지 않으면, 이 절차는 단계(260)에서 종료된다.
이제 제9도를 참조하면, 필요로 하는 FF 속도가 정상 속도의 3배일 때, 6개의 디스크를 갖는 디스크 어레이의 비디오 세그먼트의 배치가 도시되어 있다. 이러한 n개의 디스크 전역에 걸친 미디어 세그먼트의 레이아웃(layout)은 FF 속도 m이 디스크 갯수 n의 약수일 때, 상이한 FF 속도로 재생하기 위한 검색이 원활하게 수행될 수 있도록 한다. 이러한 레이아웃은 모두 상이한 디스크내에 존재하는 하나의 라운드에서 미디어 세그먼트가 검색될 수 있도록 하므로, FF 모드에서 검색프로세서에 의해 저장 시스템 상에 부과된 부하는 정상 동작에서의 부하와 동일하게된다.
이하, 재생 방법에 대해 기술될 것이다. 정상 속도 재생 동안, 비디오 데이터는 디스크로부터 여러 라운드에 걸쳐 검색된다. 각각의 라운드에서 하나의 미디어 세그먼트가 디스크 어레이내의 각각의 디스크로부터 검색된다. 데이터는 서버에 임시적으로 버퍼링되고, 이후 단말 사용자 스테이션에 일정한 속도로 전송된다. FF 모드에서, 서버는 제2도 혹은 3도의 절차 중 어느 하나를 기초로 하여 세그먼트를 검색한다. 제10도를 참조하면, 입력 스트림을 파싱하고 디코더에게 유효한 입력 스트림을 생성하는 기능을 담당하는 수신 스테이션의 처리 단계들이 도시되어 있다. 단계(300)에서 수신 단말 사용자 스테이션(103)은 비디오서버(100)로부터 입력 세그먼트 스트림을 수신하고, 단계(310)에서 이와 관련된 앵커 프레임을 갖지 않는 중간 프레임은 폐기한다. 비록 미디어 세그먼트는 I 프레임에서부터 시작되지만, 이러한 미디어 세그먼트는 이 미디어 세그먼트 외부의 앵커 프레임을 갖는 B 프레임을 포함할 수도 있음에 유의하여야 한다. 이들 B 프레임은 제4도에 도시된 바와 같이, I 프레임 바로 뒤에 위치되며, 검색되지 않은 이전의 미디어 세그먼트내의 최종 P 프레임에 종속되기 때문에 무시된다. 단계(320)에서, 수신 스테이션은 스트림 내에 삽입된 프리젠테이션 타임 스탬프(presentation time-stamps)를 조절한다. 프리젠테이션 타임 스탬프는 비디오 프레임이 디스플레이되는 시간을 결정한다. 프레젠테이션 타임 프레임은 스킵된 세그먼트 및 드롭(drop)된 B 프레임을 보강하여, 정확한 재생시간을 반영하도록 조절된다. 이후 단계(330)에서 비디오 프레임이 재생된다.
이러한 재생 방안을 이용하면, 구분적 연속 재생 시퀀스(piecewise continuous playout sequence)가 생성된다. 이 방안에 의해 시청자는 여러 장면들을 검사하여 관심있는 장면을 신속하게 찾을 수 있다. 세그먼트의 크기는 고정되어 있기 때문에, 스트림을 전송하기 위해 추가적인 버퍼 혹은 전송 대역폭을 구비하지 않아도 된다. 세그먼트는 스트림의 평균 데이터 속도(average date rate)를 유지하기 때문에, 단말 사용자 스테이션의 디코더는 이러한 세그먼트를 수용할 수 있다.
본 발명은 특정한 실시예에 따라 기술되었지만, 본 기술 분야에 통상의 지식을 가진 자라면, 본 발명이 전술한 실시예로 한정되지 않으며, 그 사상 및 범주를 이탈하지 않는 범위 내에서 여러 가지 변경이 이루어질 수 있음을 이해할 것이다.
Claims (9)
- 대용량 저장 매체(mass storage media)로부터 적어도 하나의 데이터 스트림(data stream)을 제공하는 비디오 서버(video server)에서 가변 속도 스캐닝 동작(variable speed scanning operations)을 수행하는 방법에 있어서, ① 상기 비디오 서버가 시청자로부터 특정한 비디오를 상영하라는 수행 요구를 수신하는 단계와, ② 상기 비디오 서버로부터 시청자의 수신 장치(reception equipment)까지 상기 특정한 비디오를 포함하는 제1데이터 스트림(first data stream)을 전송하는 단계와, ③ 상기 비디오 서버가, 정상 재생 속도보다 빠른 선택 가능한 범위의 스캐닝속도로부터 상기 시청자의 스캐닝 속도 선택(viewer's selection of a scanning speed)을 나타내는 제어 데이터를 포함하는 스캐닝 요구를 수신하는 단계와, ④ 적어도 부분적으로 상기 제어 데이터 및 상기 대용량 저장 매체 내에 포함된 저장 장치의 수를 기초로 하여, 상기 대용량 저장 매체로부터 검색될 상기 비디오의 특정한 프레임들(particular frames)을 식별하는 단계와, ⑤ 상기 비디오가 정상 재생 속도로 계속 재생되었다면 전송되었을 상기 프레임 대신, 상기 특정한 프레임들을 포함하는 제2데이터 스트림을 상기 시청자 측으로 전송하는 단계를 포함하는 가변 속도 스캐닝 동작 수행 방법.
- 제1항에 있어서, 상기 프레임들은 인트라 프레임(intra frames)(I), 예측 프레임(predictive frames) 및 보간 프레임(interpolated frames)으로 식별되어 인코딩되고, 상기 대용량 매체 내에 검색 단위(units of retrieval)로서 저장되며, 상기 각각의 검색 단위는 I 프레임에서부터 다른 I 프레임이 나타나기 이전까지 연속적인 프레임들을 포함하는 가변 속도 스캐닝 동작 수행 방법.
- 제1항에 있어서, 상기 대용량 저장 매체는 디스크 어레이(disk array)이고, 상기 방법은, 상기 프레임들을 상기 어레이내의 디스크의 수 및 적어도 하나의 사전 결정된 스캐닝 속도의 함수로서 상기 어레이내의 상기 디스크들 사이에 분산(distribute)시키는 단계를 더 포함하는 가변 속도 스캐닝 동작 수행 방법.
- 제1항에 있어서, 상기 저장 매체는 디스크 어레이이고, 상기 비디오의 상기 특정한 프레임들은 상기 디스크들 사이에 균일하게 분산되는 가변 속도 스캐닝 동작 수행 방법.
- 제1항에 있어서, 상기 프레임들은 상기 매체 상에 세그먼트(segments)로서 저장되고, 상기 각각의 세그먼트는 하나의 단위로서 디코딩될 수 있는 연속적인 프레임들의 시퀀스를 포함하는 가변 속도 스캐닝 동작 수행 방법.
- 스캐닝 동작을 수행하는 방법에 있어서, ① 비디오를 다수의 저장 장치들 사이에 분산된 데이터 블록으로서 저장하는 단계와, ② 사용자를 위해 상기 비디오를 정상 재생 속도로 상영하는 단계와, ③ 상기 사용자로부터 스캐닝 요구를 수신하는 단계와, ④ 상기 스캐닝 요구에 응답하여, 상기 저장 장치로부터 검색되어 상기 사용자에게 제공될 상기 특정한 데이터 블록을 식별하는 단계와, ⑤ 상기 저장 장치로부터의 상기 특정한 데이터 블록을 병렬 그룹으로 검색하는 단계 - 상기 스캐닝 요구에 응답하여 상기 사용자에게 제공하기 위해 병렬로 검색되는 상기 블록의 크기는 창기 비디오를 상기 정상 재생 속도로 상영하기 위해 병렬로 검색되는 블록의 크기와 동일하다 - 를 포함하는 스캐닝 동작 수행 방법.
- 제6항에 있어서, 상기 데이터 블록 각각은 기본적으로 I 인트라 프레임(I), 예측 프레임 및 보간 프레임이 I 프레임에서부터 다른 I 프레임이 나타나기 이전까지의 연속적인 순서로 이루어지는 스캐닝 동작 수행 방법.
- 제6항에 있어서, 상기 저장 단계는 상기 데이터 블록을 상기 저장 장치들 사이에 라운드 로빈 시퀀스(round robin sequence)로 분산시키는 단계를 포함하는 스캐닝 동작 수행 방법.
- 제6항에 있어서, 상기 저장 단계는 상기 데이터 블록을 상기 저장 장치들 사이에 특정한 스캐닝 속도의 함수로서 분산시키는 단계를 포함하는 스캐닝 동작 수행 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/222,781 | 1994-04-04 | ||
US8/222,781 | 1994-04-04 | ||
US08/222,781 US5521630A (en) | 1994-04-04 | 1994-04-04 | Frame sampling scheme for video scanning in a video-on-demand system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950030077A KR950030077A (ko) | 1995-11-24 |
KR100188496B1 true KR100188496B1 (ko) | 1999-06-01 |
Family
ID=22833653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950007705A KR100188496B1 (ko) | 1994-04-04 | 1995-04-03 | 가변속도 스캐닝 동작 수행 방법 |
Country Status (12)
Country | Link |
---|---|
US (1) | US5521630A (ko) |
EP (1) | EP0676898B1 (ko) |
JP (1) | JP3177111B2 (ko) |
KR (1) | KR100188496B1 (ko) |
CN (1) | CN1095571C (ko) |
AT (1) | ATE185941T1 (ko) |
AU (1) | AU674621B2 (ko) |
BR (1) | BR9501428A (ko) |
CA (1) | CA2142801C (ko) |
DE (1) | DE69512818T2 (ko) |
ES (1) | ES2137390T3 (ko) |
TW (1) | TW367444B (ko) |
Families Citing this family (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5720037A (en) * | 1994-06-16 | 1998-02-17 | Lucent Technologies Inc. | Multimedia on-demand server |
US6608966B1 (en) * | 1994-10-07 | 2003-08-19 | Intel Corporation | VCR-type controls for video server system |
US5721815A (en) * | 1995-06-07 | 1998-02-24 | International Business Machines Corporation | Media-on-demand communication system and method employing direct access storage device |
US5930493A (en) * | 1995-06-07 | 1999-07-27 | International Business Machines Corporation | Multimedia server system and method for communicating multimedia information |
JP3184763B2 (ja) | 1995-06-07 | 2001-07-09 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | マルチメディア直接アクセス記憶装置及びフォーマット方法 |
JP3154921B2 (ja) * | 1995-06-09 | 2001-04-09 | 富士通株式会社 | ビデオ・オン・デマンドシステムにおける映像再生位置割り出し方式 |
US5826110A (en) * | 1995-06-19 | 1998-10-20 | Lucent Technologies Inc. | System for video server using coarse-grained disk striping method in which incoming requests are scheduled and rescheduled based on availability of bandwidth |
JP3804980B2 (ja) * | 1995-07-11 | 2006-08-02 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオオンデマンドシステム |
JP3146937B2 (ja) * | 1995-07-13 | 2001-03-19 | 日本ビクター株式会社 | 高能率符号化された動画像情報から早送り,早戻し画像を再生する再生方法 |
US9832244B2 (en) * | 1995-07-14 | 2017-11-28 | Arris Enterprises Llc | Dynamic quality adjustment based on changing streaming constraints |
US7512698B1 (en) | 1995-07-14 | 2009-03-31 | Broadband Royalty Corporation | Dynamic quality adjustment based on changing streaming constraints |
US5659539A (en) * | 1995-07-14 | 1997-08-19 | Oracle Corporation | Method and apparatus for frame accurate access of digital audio-visual information |
US5822524A (en) * | 1995-07-21 | 1998-10-13 | Infovalue Computing, Inc. | System for just-in-time retrieval of multimedia files over computer networks by transmitting data packets at transmission rate determined by frame size |
DE19531847A1 (de) * | 1995-08-29 | 1997-03-06 | Sel Alcatel Ag | Vorrichtung zur Speicherung von Videobilddaten |
JP2924739B2 (ja) * | 1995-10-30 | 1999-07-26 | 日本電気株式会社 | 動画像データの復号方式 |
DE19543017A1 (de) * | 1995-11-18 | 1997-05-22 | Thomson Brandt Gmbh | Verfahren zur Erzeugung von Bildsequenzen für einen schnellen Suchvorgang bei einem Filmabspielgerät und Vorrichtung zur Durchführung des Verfahrens |
US5732217A (en) | 1995-12-01 | 1998-03-24 | Matsushita Electric Industrial Co., Ltd. | Video-on-demand system capable of performing a high-speed playback at a correct speed |
WO1997030544A2 (en) * | 1996-02-20 | 1997-08-21 | Sas Institute, Inc. | Method and apparatus for transitions, reverse play and other special effects in digital motion video |
US5959690A (en) * | 1996-02-20 | 1999-09-28 | Sas Institute, Inc. | Method and apparatus for transitions and other special effects in digital motion video |
DE29603829U1 (de) * | 1996-03-01 | 1996-09-26 | Cames, Olaf, 40219 Düsseldorf | Interaktive Übertragung und Wiedergabe von Video-Dateien |
DE19610010A1 (de) * | 1996-03-14 | 1997-09-18 | Sel Alcatel Ag | Einrichtung und Dienst zur Übertragung von Videobilddaten sowie Einrichtung zur Übertragung von Anforderungssignalen |
JPH09271002A (ja) * | 1996-03-29 | 1997-10-14 | Mitsubishi Electric Corp | ビデオデータ配信方式 |
DE19631939A1 (de) * | 1996-08-08 | 1998-02-12 | Sel Alcatel Ag | Digitaler ISDN-Video-Server |
JPH1091360A (ja) * | 1996-09-12 | 1998-04-10 | Fujitsu Ltd | ディスク制御方式 |
US6564262B1 (en) | 1996-09-16 | 2003-05-13 | Microsoft Corporation | Multiple multicasting of multimedia streams |
US5739862A (en) * | 1996-12-23 | 1998-04-14 | Tektronix, Inc. | Reverse playback of MPEG video |
US6014706A (en) * | 1997-01-30 | 2000-01-11 | Microsoft Corporation | Methods and apparatus for implementing control functions in a streamed video display system |
EP0956702A1 (en) | 1997-01-30 | 1999-11-17 | Microsoft Corporation | Vcr-like functions rendering video on demand |
EP1553777A1 (en) * | 1997-01-30 | 2005-07-13 | Microsoft Corporation | VCR-like functions rendering video on demand |
US6128653A (en) | 1997-03-17 | 2000-10-03 | Microsoft Corporation | Method and apparatus for communication media commands and media data using the HTTP protocol |
US6728775B1 (en) * | 1997-03-17 | 2004-04-27 | Microsoft Corporation | Multiple multicasting of multimedia streams |
US6115070A (en) * | 1997-06-12 | 2000-09-05 | International Business Machines Corporation | System and method for DCT domain inverse motion compensation using shared information |
US5845279A (en) * | 1997-06-27 | 1998-12-01 | Lucent Technologies Inc. | Scheduling resources for continuous media databases |
US6374336B1 (en) | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
US6415373B1 (en) | 1997-12-24 | 2002-07-02 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
FI105634B (fi) * | 1998-04-30 | 2000-09-15 | Nokia Mobile Phones Ltd | Menetelmä videokuvien siirtämiseksi, tiedonsiirtojärjestelmä ja multimediapäätelaite |
US7272298B1 (en) | 1998-05-06 | 2007-09-18 | Burst.Com, Inc. | System and method for time-shifted program viewing |
US6233389B1 (en) | 1998-07-30 | 2001-05-15 | Tivo, Inc. | Multimedia time warping system |
US8577205B2 (en) | 1998-07-30 | 2013-11-05 | Tivo Inc. | Digital video recording system |
US7558472B2 (en) | 2000-08-22 | 2009-07-07 | Tivo Inc. | Multimedia signal processing system |
US8380041B2 (en) | 1998-07-30 | 2013-02-19 | Tivo Inc. | Transportable digital video recorder system |
US6622171B2 (en) | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
US6415326B1 (en) | 1998-09-15 | 2002-07-02 | Microsoft Corporation | Timeline correlation between multiple timeline-altered media streams |
US6097422A (en) * | 1998-10-05 | 2000-08-01 | Panasonic Technologies, Inc. | Algorithm for fast forward and fast rewind of MPEG streams |
US6807367B1 (en) | 1999-01-02 | 2004-10-19 | David Durlach | Display system enabling dynamic specification of a movie's temporal evolution |
WO2000041400A2 (en) * | 1999-01-06 | 2000-07-13 | Koninklijke Philips Electronics N.V. | System for the presentation of delayed multimedia signals packets |
KR100575535B1 (ko) * | 1999-01-20 | 2006-05-03 | 엘지전자 주식회사 | 화면표시 데이터의 처리방법과 이를 이용한 디지털 데이터 스트림의 재생 및 수신장치 |
EP1024444B1 (en) | 1999-01-28 | 2008-09-10 | Kabushiki Kaisha Toshiba | Image information describing method, video retrieval method, video reproducing method, and video reproducing apparatus |
US6564005B1 (en) | 1999-01-28 | 2003-05-13 | International Business Machines Corporation | Multi-user video hard disk recorder |
US6760378B1 (en) | 1999-06-30 | 2004-07-06 | Realnetworks, Inc. | System and method for generating video frames and correcting motion |
US7313808B1 (en) | 1999-07-08 | 2007-12-25 | Microsoft Corporation | Browsing continuous multimedia content |
US7293280B1 (en) | 1999-07-08 | 2007-11-06 | Microsoft Corporation | Skimming continuous multimedia content |
US7149359B1 (en) | 1999-12-16 | 2006-12-12 | Microsoft Corporation | Searching and recording media streams |
US6928655B1 (en) * | 1999-12-16 | 2005-08-09 | Microsoft Corporation | Live presentation searching |
US6868440B1 (en) * | 2000-02-04 | 2005-03-15 | Microsoft Corporation | Multi-level skimming of multimedia content using playlists |
US6985966B1 (en) | 2000-03-29 | 2006-01-10 | Microsoft Corporation | Resynchronizing globally unsynchronized multimedia streams |
US7237254B1 (en) | 2000-03-29 | 2007-06-26 | Microsoft Corporation | Seamless switching between different playback speeds of time-scale modified data streams |
US7302490B1 (en) | 2000-05-03 | 2007-11-27 | Microsoft Corporation | Media file format to support switching between multiple timeline-altered media streams |
US6557030B1 (en) * | 2000-05-31 | 2003-04-29 | Prediwave Corp. | Systems and methods for providing video-on-demand services for broadcasting systems |
US20020049980A1 (en) * | 2000-05-31 | 2002-04-25 | Hoang Khoi Nhu | Controlling data-on-demand client access |
US20020026501A1 (en) * | 2000-05-31 | 2002-02-28 | Khoi Hoang | Decreased idle time and constant bandwidth data-on-demand broadcast delivery matrices |
US20020059635A1 (en) * | 2000-05-31 | 2002-05-16 | Hoang Khoi N. | Digital data-on-demand broadcast cable modem termination system |
US20020175998A1 (en) * | 2000-05-31 | 2002-11-28 | Hoang Khoi Nhu | Data-on-demand digital broadcast system utilizing prefetch data transmission |
US20020023267A1 (en) * | 2000-05-31 | 2002-02-21 | Hoang Khoi Nhu | Universal digital broadcast system and methods |
US20020066100A1 (en) * | 2000-05-31 | 2002-05-30 | Khoi Hoang | Method for providing data services for a large number of small-sized data files |
JP3544345B2 (ja) * | 2000-07-31 | 2004-07-21 | 松下電器産業株式会社 | 画像記録再生システム |
US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
US20020124259A1 (en) * | 2000-09-27 | 2002-09-05 | Chang Edward Y. | Client-based interactive digital television architecture |
US20030084461A1 (en) * | 2001-10-25 | 2003-05-01 | Khoi Hoang | Method and apparatus for transmitting non-VOD services |
US20030051249A1 (en) * | 2001-08-20 | 2003-03-13 | Khoi Hoang | System and method for data insertion (commercials) in client generic data-on-demand broadcast transmissions |
US6738980B2 (en) * | 2001-11-15 | 2004-05-18 | Industrial Technology Research Institute | Methods and systems for video streaming with VCR functionality |
KR100444143B1 (ko) * | 2001-12-29 | 2004-08-09 | 주식회사 윈컴소프트 | 브이비알을 이용한 브이오디 스트림 서비스 제공 시스템및 방법 |
US6907501B2 (en) * | 2002-01-25 | 2005-06-14 | Ntt Docomo Inc. | System for management of cacheable streaming content in a packet based communication network with mobile hosts |
IL165317A0 (en) * | 2002-05-22 | 2006-01-15 | Teac Aerospace Technologies In | Video and audio recording using file segmentation to reserve the integrity of critical data |
US7496283B2 (en) | 2002-06-28 | 2009-02-24 | Microsoft Corporation | Methods and systems for processing digital data rate and directional playback changes |
US20050013589A1 (en) * | 2003-07-14 | 2005-01-20 | Microsoft Corporation | Adding recording functionality to a media player |
EP1673940B1 (en) * | 2003-10-07 | 2011-08-24 | Ucentric Holdings, Inc. | Digital video recording and playback system with quality of service playback from multiple locations via a home area network |
JP4114596B2 (ja) | 2003-11-19 | 2008-07-09 | オンキヨー株式会社 | ネットワークavシステム |
US7539393B2 (en) | 2003-12-05 | 2009-05-26 | Microsoft Corporation | Method and system for reverse playback of compressed data |
US7627227B2 (en) | 2004-05-17 | 2009-12-01 | Microsoft Corporation | Reverse presentation of digital media streams |
AU2005306361B2 (en) | 2004-11-19 | 2011-02-10 | Tivo Inc. | Method and apparatus for secure transfer of previously broadcasted content |
US8601515B2 (en) * | 2006-12-28 | 2013-12-03 | Motorola Mobility Llc | On screen alert to indicate status of remote recording |
US8055779B1 (en) | 2007-05-10 | 2011-11-08 | Adobe Systems Incorporated | System and method using data keyframes |
US9979931B2 (en) * | 2007-05-30 | 2018-05-22 | Adobe Systems Incorporated | Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device |
US8136140B2 (en) | 2007-11-20 | 2012-03-13 | Dish Network L.L.C. | Methods and apparatus for generating metadata utilized to filter content from a video stream using text data |
US8165450B2 (en) | 2007-11-19 | 2012-04-24 | Echostar Technologies L.L.C. | Methods and apparatus for filtering content in a video stream using text data |
US8165451B2 (en) | 2007-11-20 | 2012-04-24 | Echostar Technologies L.L.C. | Methods and apparatus for displaying information regarding interstitials of a video stream |
US8606085B2 (en) * | 2008-03-20 | 2013-12-10 | Dish Network L.L.C. | Method and apparatus for replacement of audio data in recorded audio/video stream |
US8156520B2 (en) | 2008-05-30 | 2012-04-10 | EchoStar Technologies, L.L.C. | Methods and apparatus for presenting substitute content in an audio/video stream using text data |
US8407735B2 (en) * | 2008-12-24 | 2013-03-26 | Echostar Technologies L.L.C. | Methods and apparatus for identifying segments of content in a presentation stream using signature data |
US8588579B2 (en) * | 2008-12-24 | 2013-11-19 | Echostar Technologies L.L.C. | Methods and apparatus for filtering and inserting content into a presentation stream using signature data |
US8510771B2 (en) * | 2008-12-24 | 2013-08-13 | Echostar Technologies L.L.C. | Methods and apparatus for filtering content from a presentation stream using signature data |
US8437617B2 (en) * | 2009-06-17 | 2013-05-07 | Echostar Technologies L.L.C. | Method and apparatus for modifying the presentation of content |
US8934758B2 (en) | 2010-02-09 | 2015-01-13 | Echostar Global B.V. | Methods and apparatus for presenting supplemental content in association with recorded content |
US20110197224A1 (en) * | 2010-02-09 | 2011-08-11 | Echostar Global B.V. | Methods and Apparatus For Selecting Advertisements For Output By A Television Receiver Based on Social Network Profile Data |
US9824279B2 (en) * | 2015-03-24 | 2017-11-21 | Facebook, Inc. | Systems and methods for providing playback of selected video segments |
US11172269B2 (en) | 2020-03-04 | 2021-11-09 | Dish Network L.L.C. | Automated commercial content shifting in a video streaming system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5119188A (en) * | 1988-10-25 | 1992-06-02 | Telaction Corporation | Digital audio-video presentation display system |
US4949187A (en) * | 1988-12-16 | 1990-08-14 | Cohen Jason M | Video communications system having a remotely controlled central source of video and audio data |
US5247347A (en) * | 1991-09-27 | 1993-09-21 | Bell Atlantic Network Services, Inc. | Pstn architecture for video-on-demand services |
US5371532A (en) * | 1992-05-15 | 1994-12-06 | Bell Communications Research, Inc. | Communications architecture and method for distributing information services |
-
1994
- 1994-04-04 US US08/222,781 patent/US5521630A/en not_active Expired - Lifetime
- 1994-12-30 AU AU81803/94A patent/AU674621B2/en not_active Expired
-
1995
- 1995-01-20 TW TW084100502A patent/TW367444B/zh not_active IP Right Cessation
- 1995-02-10 JP JP02317995A patent/JP3177111B2/ja not_active Expired - Fee Related
- 1995-02-17 CA CA002142801A patent/CA2142801C/en not_active Expired - Lifetime
- 1995-03-03 CN CN95102448A patent/CN1095571C/zh not_active Expired - Lifetime
- 1995-03-20 ES ES95104098T patent/ES2137390T3/es not_active Expired - Lifetime
- 1995-03-20 EP EP95104098A patent/EP0676898B1/en not_active Expired - Lifetime
- 1995-03-20 AT AT95104098T patent/ATE185941T1/de not_active IP Right Cessation
- 1995-03-20 DE DE69512818T patent/DE69512818T2/de not_active Expired - Lifetime
- 1995-04-03 KR KR1019950007705A patent/KR100188496B1/ko not_active IP Right Cessation
- 1995-04-04 BR BR9501428A patent/BR9501428A/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69512818T2 (de) | 2000-04-20 |
BR9501428A (pt) | 1995-11-07 |
JP3177111B2 (ja) | 2001-06-18 |
CA2142801A1 (en) | 1995-10-05 |
KR950030077A (ko) | 1995-11-24 |
DE69512818D1 (de) | 1999-11-25 |
TW367444B (en) | 1999-08-21 |
CN1122480A (zh) | 1996-05-15 |
ES2137390T3 (es) | 1999-12-16 |
JPH07284042A (ja) | 1995-10-27 |
CA2142801C (en) | 2001-10-16 |
AU674621B2 (en) | 1997-01-02 |
ATE185941T1 (de) | 1999-11-15 |
CN1095571C (zh) | 2002-12-04 |
AU8180394A (en) | 1995-10-12 |
US5521630A (en) | 1996-05-28 |
EP0676898B1 (en) | 1999-10-20 |
EP0676898A1 (en) | 1995-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100188496B1 (ko) | 가변속도 스캐닝 동작 수행 방법 | |
US5922048A (en) | Video-on-demand system capable of performing a high-speed playback at a correct speed | |
US5754773A (en) | Multimedia on-demand server having different transfer rates | |
Chen et al. | Support for fully interactive playout in disk-array-based video server | |
EP0812112B1 (en) | System and method for indexing between trick play and normal play video streams in a video delivery system | |
US7155109B2 (en) | Programmable video recorder having flexible trick play | |
JP3170461B2 (ja) | ビデオ・オン・デマンド放送用のピラミッド形データ・ブロック構成 | |
US6057832A (en) | Method and apparatus for video-on-demand with fast play capability | |
JP4358620B2 (ja) | ネットワーク上でのデータ伝送方法 | |
US5629732A (en) | Viewer controllable on-demand multimedia service | |
US7926080B2 (en) | Trick mode support for VOD with long intra-frame intervals | |
EP0702493A1 (en) | Interactive playout of videos | |
AU717680B2 (en) | Multi-media communication system and method therefor | |
JP3104953B2 (ja) | 多重読み取り特殊再生方法 | |
Leung et al. | Design of an interactive video-on-demand system | |
JP3557217B2 (ja) | ビデオデータ及び/又はオーディオデータ等の情報データを記憶する記憶媒体装置及び情報提供装置 | |
CN1672409A (zh) | 由用户控制的特技播放性能 | |
JP3072971B2 (ja) | ビデオ・オン・デマンドシステムとそれを構成するビデオサーバ装置及び端末装置 | |
JP2005505957A (ja) | ネットワーク上でのデータ伝送方法 | |
CA2342317C (en) | Frame sampling scheme for video in video-on-demand system | |
JP2003046928A (ja) | ネットワーク映像再生方法および圧縮映像データ復号再生装置 | |
KR100310778B1 (ko) | 주문형비디오의특수재생서비스제공방법 | |
Ghandeharizadeh et al. | Scalable video browsing techniques for intranet video servers | |
KR20000022385A (ko) | 비디오 스트림에 색인을 위해 가입자 비디오 스크린에 슬라이더바를 디스플레이하는 비디오 배달 시스템 및 방법 | |
KR20030060066A (ko) | 범용 셋톱박스 구조 및 그 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120103 Year of fee payment: 14 |
|
LAPS | Lapse due to unpaid annual fee |