KR100487684B1 - Computer-implemented method for indexing locations in a video stream, interactive video delivery system, video display device - Google Patents

Computer-implemented method for indexing locations in a video stream, interactive video delivery system, video display device Download PDF

Info

Publication number
KR100487684B1
KR100487684B1 KR10-1998-0710816A KR19980710816A KR100487684B1 KR 100487684 B1 KR100487684 B1 KR 100487684B1 KR 19980710816 A KR19980710816 A KR 19980710816A KR 100487684 B1 KR100487684 B1 KR 100487684B1
Authority
KR
South Korea
Prior art keywords
video stream
video
media server
input
stream
Prior art date
Application number
KR10-1998-0710816A
Other languages
Korean (ko)
Other versions
KR20000022385A (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 KR10-1998-0710816A priority Critical patent/KR100487684B1/en
Publication of KR20000022385A publication Critical patent/KR20000022385A/en
Application granted granted Critical
Publication of KR100487684B1 publication Critical patent/KR100487684B1/en

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/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/4728End-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 selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • 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/17318Direct or substantially direct transmission and handling of requests
    • 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
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • 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
    • 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/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/47217End-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 controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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
    • 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/643Communication protocols
    • H04N21/64307ATM
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/974Slider control as on-screen object in operator interface

Landscapes

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

Abstract

대화식 비디오 딜리버리 시스템에서 비디오 스트림 내의 상이한 위치에 인덱싱하기 위해, 가입자의 텔레비전 혹은 디스플레이 장치에 슬라이더 바와 같은 그래픽 아이콘을 디스플레이하는 시스템 및 방법이다. 대화식 비디오 딜리버리 시스템은 바람직하게, 하나 혹은 그 이상의 비디오 스트림들을 저장하는 적어도 하나의 미디어 서버, 및 텔레비전과 같은 디스플레이 장치를 각각 포함하는 하나 또는 그 이상의 가입자를 포함한다. 텔레비전은 슬라이더 바 혹은 다른 그래픽 아이콘을 디스플레이하며, 슬라이더 바는 비디오 스트림 내의 상이한 위치에 인덱싱하는데 사용된다. 비디오가 배달되는 동안, 사용자는 영화 또는 비디오 스트림 내의 상이한 위치로 "점프"하고자 하는 바를 나타내기 위해서, 바람직하게는 원격 제어장치를 사용하여 슬라이더바 상의 노브를 사용 또는 조정할 수 있다. 미디어 서버는 가입자 장치로부터 슬라이더 바 사용자 입력을 수신하여 소망하는 위치에서 정상 재생 스트림을 출력하기 시작한다.A system and method for displaying graphical icons such as slider bars on a subscriber's television or display device for indexing to different locations within a video stream in an interactive video delivery system. The interactive video delivery system preferably includes at least one media server for storing one or more video streams, and one or more subscribers each including a display device such as a television. Televisions display slider bars or other graphical icons, which are used to index at different locations within the video stream. While the video is being delivered, the user can use or adjust the knob on the slider bar, preferably using a remote control, to indicate what he wants to "jump" to different locations in the movie or video stream. The media server receives the slider bar user input from the subscriber device and starts outputting the normal playback stream at the desired location.

Description

비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법, 대화식 비디오 딜리버리 시스템, 비디오 디스플레이 장치Computer-implemented method for indexing locations in a video stream, interactive video delivery system, video display device

다음 참조들이 본 명세서에 참조로 포함된다.The following references are incorporated herein by reference.

ISO/IEC 13818로 불리는 ISO/IEC MPEG 설명서가 전체적으로 본 명세서에 참조로 포함된다.ISO / IEC MPEG specifications, referred to as ISO / IEC 13818, are incorporated herein by reference in their entirety.

본 발명은 일반적으로 비디오 딜리버리(delivery) 및 비디오-온-디멘드(video-on-demand) 시스템들에 관한 것이며, 특히 비디오 스트림 내의 위치들에 인덱싱하기 위해 가입자 텔레비전 또는 디스플레이 유니트에 슬라이더 바(slider bar)를 디스플레이하는 비디오 딜리버리 시스템 및 방법에 관한 것이다.FIELD OF THE INVENTION The present invention relates generally to video delivery and video-on-demand systems, in particular slider bars on subscriber televisions or display units for indexing to locations in the video stream. And a video delivery system and method for displaying the video data).

비디오-온-디멘드 또는 비디오 딜리버리 시스템들은 하나 이상의 비디오 서버들 또는 미디어 서버들에 저장된 영화들 또는 다른 오디오/비디오 시퀀스들을 복수의 가입자들 또는 사용자들이 선택하여 시청할 수 있도록 한다. 비디오 서버들은 방송 케이블 시스템이나 위성 방송 시스템과 같은 데이터 전송 채널들을 통해 복수의 가입자들 또는 사용자들에게 접속된다. 비디오 서버들은 복수의 영화들 또는 다른 오디오/비디오 시퀀스들을 저장하고, 각각의 사용자는 관람하기 위해서 비디오 서버들로부터 하나 이상의 영화들을 선택할 수 있다. 각각의 사용자는 원하는 영화들을 선택하여 관람하기 위해서, 관련 디코딩 로직뿐만 아니라 텔레비전 세트 또는 다른 관람 장치를 포함한다. 사용자가 영화를 선택한 경우, 선택된 영화는 각각의 사용자의 텔레비전 세트에 대한 데이터 전송 채널들 중 하나 상으로 전송된다.Video-on-demand or video delivery systems allow a plurality of subscribers or users to select and watch movies or other audio / video sequences stored on one or more video servers or media servers. Video servers are connected to a plurality of subscribers or users through data transmission channels such as broadcast cable systems or satellite broadcast systems. Video servers store a plurality of movies or other audio / video sequences, and each user can select one or more movies from the video servers to watch. Each user includes a television set or other viewing device as well as associated decoding logic to select and watch the desired movies. When the user selects a movie, the selected movie is sent on one of the data transfer channels for each user's television set.

풀-모션(full-motion) 디지털 비디오는 대량의 기억장치(storage) 및 데이터 전송 대역폭을 요구한다. 그러므로, 비디오-온-디멘드 시스템들은 필요한 기억장치 및 데이터 전송 대역폭의 양을 감소시키기 위해서 여러 가지 형태들의 비디오 압축 알고리즘들을 사용한다. 일반적으로, 다른 비디오 압축 방법들이 정지 그래픽 이미지들 및 풀-모션 비디오에 대해 존재한다. 정지 그래픽 이미지들 또는 단일 비디오 프레임들에 대한 비디오 압축 방법들은 인트라프레임(intraframe) 압축 방법들로 언급되며, 모션 비디오에 대한 압축 방법들은 인터프레임(interframe) 압축 방법들로 언급된다.Full-motion digital video requires large amounts of storage and data transmission bandwidth. Therefore, video-on-demand systems use various forms of video compression algorithms to reduce the amount of storage and data transfer bandwidth required. In general, other video compression methods exist for still graphic images and full-motion video. Video compression methods for still graphic images or single video frames are referred to as intraframe compression methods, and compression methods for motion video are referred to as interframe compression methods.

정지 그래픽 이미지들에 대한 비디오 데이터 압축의 예들은 RLE(run-length encoding) 및 JPEG(Joint Photographic Experts Group) 압축이 있다. RLE 압축 방법은 비트 맵(bit map)의 단일 라인 내에 복제된 픽셀들에 대해 검사하고, 그 픽셀 자체에 대한 데이터이기보다는 연속적인 복제 픽셀들의 수를 저장함으로써 동작한다. JPEG 압축은 무손실(어떠한 화질 저하도 없는) 또는 손실(심한 저하를 감지할 수 없는) 압축 형태들 중 하나를 제공하는 관련된 표준들의 그룹이다. JPEG 압축이 최초에 비디오이기보다는 정지 이미지들의 압축을 위해 설계되었을지라도, JPEG 압축은 몇몇 모션 비디오 응용들에 사용된다.Examples of video data compression for still graphic images are run-length encoding (RLE) and Joint Photographic Experts Group (JPEG) compression. The RLE compression method works by checking for replicated pixels within a single line of a bit map and storing the number of consecutive replicated pixels rather than the data for that pixel itself. JPEG compression is a group of related standards that provide either lossless (no deterioration of quality) or lossy (unable to detect severe degradation) compression forms. Although JPEG compression was originally designed for the compression of still images rather than video, JPEG compression is used in some motion video applications.

정지 이미지들에 대한 압축 알고리즘들과 대조를 이루어, 대부분의 비디오 압축 알고리즘들은 풀 모션 비디오를 압축하도록 설계된다. 모션 비디오를 위한 비디오 압축 알고리즘은 인터프레임 압축으로서 언급되는 개념을 사용하며, 이 압축은 단지 데이터 파일 내에 연속하는 프레임들 간의 차이들을 저장하는 것을 포함한다. 인터프레임 압축은 키 프레임 또는 기준 프레임 전체 이미지를 일반적으로 알맞게 압축된 형식으로 저장한다. 연속하는 프레임들은 키 프레임과 비교되고, 키 프레임과 연속하는 프레임간 차이들만이 저장된다. 주기적으로, 이를테면 새로운 장면들이 디스플레이될 때와 같이, 새로운 키 프레임들이 저장되고, 후속하는 비교들이 이러한 새로운 기준점으로부터 시작한다. 인터프레임 압축비는 비디오 화질이 변하는 동안에도 일정하게 유지될 수 있음을 주목해야 한다. 대안으로, 인터프레임 압축비들은 내용-의존적(content-dependent)일 수 있으며, 즉 압축되는 비디오 클립이 하나의 이미지에서 다른 이미지로의 많은 뜻밖의 장면 변화들을 포함할 수 있는 경우, 그 압축은 덜 효과적일 수 있다. 인터프레임 압축 기술을 사용하는 비디오 압축의 예들은 그 중에서도 MPEG, DVI 및 인디오(Indeo)가 있다.In contrast to compression algorithms for still images, most video compression algorithms are designed to compress full motion video. Video compression algorithms for motion video use the concept referred to as interframe compression, which includes only storing differences between successive frames in the data file. Interframe compression generally stores the entire image of a key frame or frame of reference in a moderately compressed format. Consecutive frames are compared with the key frame, and only the differences between the key frame and the consecutive frames are stored. Periodically, new key frames are stored, such as when new scenes are displayed, and subsequent comparisons start from this new reference point. It should be noted that the interframe compression ratio can be kept constant while the video quality changes. Alternatively, the interframe compression ratios can be content-dependent, i.e., if the video clip being compressed can contain many unexpected scene changes from one image to another, the compression is less effective. Can be. Examples of video compression using interframe compression techniques are MPEG, DVI and Indeo, among others.

MPEG 배경MPEG background

MPEG(Moving Pictures Experts Group) 압축으로 언급되는 압축 표준은 앞서 기재된 인터프레임 압축 기술을 사용하는 풀 모션 비디오 이미지들의 압축 및 압축해제를 위한 한 세트의 방법이다. MPEG 압축은 모션 보상(motion compensation) 및 이산 코사인 변환(DCT) 처리 둘 모두를 사용하여, 200:1 이상의 압축비들을 산출할 수 있다.The compression standard, referred to as Moving Pictures Experts Group (MPEG) compression, is a set of methods for compressing and decompressing full motion video images using the interframe compression technique described above. MPEG compression can produce compression ratios of 200: 1 or more using both motion compensation and discrete cosine transform (DCT) processing.

MPEG 표준은 사운드가 비디오 데이터와 동시에 기록되어야 하며, 그 비디오 및 오디오 데이터는 재생동안 동기되는 비디오 및 오디오를 유지하려고 시도하기 위해 단일 파일에서 인터리브(interleave)된다. 그 오디오 데이터 또한 통상적으로 압축되며, MPEG 표준은 'MUSICAM'이라는 필립스 상표명으로도 알려져 있는 MPEG 층 II와 같은 오디오 압축 방법을 명시하고 있다.The MPEG standard requires that sound be recorded at the same time as video data, and that video and audio data are interleaved in a single file in an attempt to maintain video and audio synchronized during playback. The audio data is also typically compressed, and the MPEG standard specifies audio compression methods such as MPEG Layer II, also known as the Philips trade name 'MUSICAM'.

MPEG 스트림은 인트라(I) 프레임, 예측(P) 프레임, 양방향 보간(B) 프레임으로 언급되는 세가지 형태의 픽쳐들을 포함한다. I 또는 인트라 프레임들은 비디오의 전체 프레임에 대한 비디오 데이터를 포함하며 통상적으로 10 내지 15 프레임들마다 배치된다. 인트라 프레임들은 랜덤 액세스를 위해 파일내의 엔트리 포인트들을 제공하며, 일반적으로 단지 알맞게 압축된다. 예측 프레임들은 과거의 프레임, 즉 이전의 인트라 프레임 또는 예측 프레임에 관하여 인코딩된다. 그러므로 P 프레임들은 이전의 I 또는 P 프레임에 대한 변화들만을 포함한다. 일반적으로, 예측 프레임들은 매우 높은 양의 압축을 수신하고, 미래의 예측 프레임들에 대한 기준으로서 사용된다. 그러므로, I 및 P 프레임들은 후속하는 프레임들에 대한 기준들로서 사용된다. 양방향 픽쳐들은 최대량의 압축을 포함하고, 인코딩되기 위해 과거 및 미래의 기준을 요구한다. 양방향 프레임들은 다른 프레임들에 대한 기준들에 대해서는 사용되지 않는다.The MPEG stream includes three types of pictures referred to as intra (I) frames, prediction (P) frames, and bidirectional interpolation (B) frames. I or intra frames contain video data for the entire frame of video and are typically placed every 10 to 15 frames. Intra frames provide entry points in a file for random access and are generally only compressed appropriately. The predictive frames are encoded with respect to past frames, ie previous intra frames or predictive frames. Therefore, P frames contain only changes to the previous I or P frame. In general, prediction frames receive a very high amount of compression and are used as a reference for future prediction frames. Therefore, I and P frames are used as references for subsequent frames. Bidirectional pictures contain the maximum amount of compression and require past and future criteria to be encoded. Bidirectional frames are not used for the references to other frames.

I 프레임들이 생성된 후, MPEG 인코더는 각각의 I 프레임을 매크로 블록들로 칭해지는 16 × 16 픽셀 스퀘어들의 격자로 분할한다. 각 I 프레임은 모션 보상을 실행하기 위하여 매크로 블록들로 분할된다. I 프레임 이후 후속하는 각각의 픽쳐들도 이러한 동일 매크로 블록들로 분할된다. 이어서 그 인코더는 기준 픽쳐 매크로 블록 및 연속하는 픽쳐들 내의 블록간의 정확한, 또는 거의 정확한 매치(match)를 검색한다. 매치(match)가 발견되면, 인코더는 벡터 움직임 코드 또는 모션 벡터를 전달한다. 벡터 움직임 코드 또는 모션 벡터는 단지 기준 프레임 및 각각의 연속하는 픽쳐간의 차이에 관한 정보를 포함한다. 기준 픽쳐 또는 프레임 내의 블록에 대해 어떠한 변화도 없는 연속하는 픽쳐들 내의 블록들은 무시된다. 일반적으로, 기준 프레임에 후속하는 프레임(들), 즉 기준 I 또는 P 프레임에 후속하는 P 및 B 프레임들에 대해서, 이러한 프레임들의 단지 작은 부분들이 각각의 기준 프레임의 대응하는 부분들로부터 다르다. 그러므로, 이러한 프레임들에 대해서, 단지 차이들이 캡쳐(capture)되고 압축되며 저장된다. 그러므로, 이러한 프레임들을 위해 실제로 저장되는 데이터의 양은 현저하게 감소된다.After the I frames are generated, the MPEG encoder divides each I frame into a grid of 16 x 16 pixel squares called macro blocks. Each I frame is divided into macro blocks to perform motion compensation. Each subsequent picture after the I frame is also divided into these same macro blocks. The encoder then searches for an exact or near exact match between the reference picture macro block and the block in successive pictures. If a match is found, the encoder carries a vector motion code or motion vector. The vector motion code or motion vector only contains information about the difference between the reference frame and each successive picture. Blocks in successive pictures that do not change anything with respect to the block in the reference picture or frame are ignored. In general, for frame (s) following a reference frame, ie P and B frames subsequent to a reference I or P frame, only small portions of these frames differ from the corresponding portions of each reference frame. Therefore, for these frames only the differences are captured, compressed and stored. Therefore, the amount of data actually stored for these frames is significantly reduced.

모션 벡터들이 발생된 후, 이어서, 그 인코더는 공간 리던던시(spatial redundancy)를 사용하여 그 변화들을 트랙킹한다. 그러므로, 매크로 블록들의 위치에서 변화들을 발견한 후, 그 MPEG 알고리즘은 또한 대응하는 매크로 블록들간의 차이를 기재함으로써 데이터를 감소시킨다. 이것은 이산 코사인 변환 또는 DCT로 언급되는 수학적 처리를 통해 수행된다. 이러한 처리는 매크로 블록을 4개의 서브 블록들로 분할하고 컬러 및 밝기의 변화들을 찾아낸다. 인간의 지각력(perception)은 컬러 변화들보다 밝기에 더 민감하다. 그러므로 MPEG 알고리즘은 밝기보다는 컬러 공간(color space)을 더 감소시키는데 더 효과가 있다.After the motion vectors are generated, the encoder then tracks the changes using spatial redundancy. Therefore, after finding changes in the location of the macro blocks, the MPEG algorithm also reduces the data by describing the difference between the corresponding macro blocks. This is done through a mathematical process referred to as discrete cosine transformation or DCT. This process divides the macro block into four sub-blocks and finds changes in color and brightness. Human perception is more sensitive to brightness than color changes. Therefore, the MPEG algorithm is more effective at reducing the color space more than the brightness.

각각의 픽쳐 또는 프레임은 그 프레임을 식별하며 그 프레임에 대한 정보를 포함하는 픽쳐 헤더를 포함한다. MPEG 표준은 비디오 시퀀스의 시작을 식별하는 시퀀스 헤더들을 포함한다. 시퀀스 헤더들은 비디오 시퀀스의 시작 전에 단지 한번만 요구된다. 그러나, MPEG-2 표준은 임의의 I 프레임 또는 P 프레임 전에 시퀀스 헤더가 전송되도록 허용한다. 그 시퀀스 헤더는 다른 정보 중에서도 프레임 율(frame rate) 및 픽쳐 크기를 포함하는, 비디오 시퀀스에 관련된 정보를 포함한다.Each picture or frame includes a picture header that identifies the frame and includes information about the frame. The MPEG standard includes sequence headers that identify the beginning of a video sequence. Sequence headers are only required once before the start of the video sequence. However, the MPEG-2 standard allows a sequence header to be sent before any I frame or P frame. The sequence header contains information related to the video sequence, including frame rate and picture size, among other information.

디지털 텔레비전 세트 응용들에 사용되는 MPEG 비디오 스트림들은 일반적으로 I 프레임 및 P 프레임 전에 시퀀스 헤더를 포함한다. 이것은 다른 비디오 채널들 간의 채널 서핑(channel surfing)을 용이하게 하는데 필요하며, 이것은 중요한 사용자 요구 조건이다. 일반적으로, 사용자가 새로운 채널로 전환할 때, 그 새로운 채널에 대한 비디오는 다음 시퀀스 헤더가 스트림 내에 나타나고서야 비로소 디스플레이될 수 있다. 이것은 시퀀스가 디스플레이될 수 있기 전에 디코더에 의해 요구되는 비디오 시퀀스에 관한 중요한 정보를 시퀀스 헤더가 포함하고 있기 때문이다. 시퀀스 헤더가 각각의 I 프레임 및/또는 P프레임 전에 포함되어 있지 않으면, 사용자가 새로운 채널로 전환했을 때, 새로운 채널의 비디오는 즉시 디스플레이되지 않을 수 있으며, 즉 그 비디오는 다음 시퀀스 헤드까지 디스플레이될 수 없다.MPEG video streams used in digital television set applications generally include a sequence header before an I frame and a P frame. This is necessary to facilitate channel surfing between different video channels, which is an important user requirement. In general, when a user switches to a new channel, the video for that new channel can be displayed only after the next sequence header appears in the stream. This is because the sequence header contains important information about the video sequence required by the decoder before the sequence can be displayed. If the sequence header is not included before each I frame and / or P frame, when the user switches to a new channel, the video of the new channel may not be displayed immediately, ie the video may be displayed until the next sequence head. none.

MPEG 인코딩된 스트림 내의 시퀀스 헤더들은 인코딩된 스트림 내에 타임스탬프(timestamp) 또는 시간 베이스(time base)를 제공하기 위해 사용되는 프리젠테이션(presentation) 타임스탬프들을 포함한다.Sequence headers in an MPEG encoded stream include presentation timestamps used to provide a timestamp or time base in the encoded stream.

트랙 재생 스트림들Track playback streams

대화식 비디오-온-디멘드(VOD) 또는 니어-비디오-온-디멘드(NVOD) 시스템에서, 사용자가 시청하고 있는 영화를 통해 선택적으로 패스트 포워드(fast forward) 및/또는 패스트 리버스(fast reverse)할 수 있도록 하는 것이 매우 바람직하다. 그러므로, 일부 비디오-온-디멘드 시스템들은 각각의 영화에 대해 트릭 재생 시스템들로 언급되는 패스트 포워드 및 패스트 리버스 스트림들을 포함한다. 이어서 각각의 패스트 포워드 또는 패스트 리버스 트릭 재생 스트림은 정상 재생 스트림 대신, 시청자가 시청하고 있는 적정한 지점에서 사용자에게 전송되고, 그러므로 시청하고 있는 영화의 패스트 포워드 또는 패스트 리버스를 시뮬레이트한다. 그러므로, 영화와 같은 단일 비디오 스트림이 정상 재생 프리젠테이션 속도에 부가하여, 비디오 파일이 패스트 포워드 또는 패스트 리버스 속도로 동작할 수 있도록 다른 프리젠테이션 속도로 인코딩된다.In an interactive video-on-demand (NVOD) or near-video-on-demand (NVOD) system, users can selectively fast forward and / or fast reverse through the movie they are watching. Very desirable. Therefore, some video-on-demand systems include fast forward and fast reverse streams, referred to as trick playback systems for each movie. Each fast forward or fast reverse trick play stream is then sent to the user at the appropriate point the viewer is watching instead of the normal play stream, thus simulating the fast forward or fast reverse of the movie being watched. Therefore, a single video stream, such as a movie, is encoded at a different presentation speed so that in addition to the normal playback presentation speed, the video file can operate at either fast forward or fast reverse speed.

인덱싱Indexing

트릭 재생 스트림들을 포함하는 대화식 비디오-온-디멘드 시스템들은 트릭 재생 스트림들간을 인덱싱할뿐만 아니라, 정상 재생 스트림과 트릭 재생 스트림들간을 인덱싱하기 위한 방법도 요구한다. 다시 말해, 사용자가 영화를 시청하고, 일정 시간 주기동안 패스트 포워드를 선택한 경우, 비디오 서버가 정상 재생 스트림으로부터 패스트 포워드 스트림 내의 적합한 지점 또는 프레임으로 전환하게 하는 메카니즘이 필요하다. 사용자가 정상 재생 속도로 시청을 재개(resume)하고자 할 때, 비디오 서버가 패스트 포워드 스트림으로 시청되는 프레임으로부터 정상 재생 스트림 내의 적합한 지점 또는 프레임으로 전환하도록 하는 메카니즘이 또한 필요하다. 그러므로 비디오 서버는 제 1 표시속도의 제 1 비디오 파일에서 제 2 표시속도의 제 2 비디오 파일로 출력할 때 전환이 발생하는 경우, 비디오 파일들 내의 적합한 위치들을 결정할 수 있어야 한다.Interactive video-on-demand systems including trick play streams require a method for indexing between trick play streams as well as indexing between trick play streams. In other words, if the user watches a movie and selects a fast forward for a period of time, a mechanism is needed to cause the video server to switch from the normal playback stream to the appropriate point or frame in the fast forward stream. When the user wants to resume watching at the normal playback speed, there is also a need for a mechanism that allows the video server to switch from the frame viewed in the fast forward stream to the appropriate point or frame in the normal playback stream. Therefore, the video server should be able to determine suitable positions in the video files if a switchover occurs when outputting from the first video file at the first display speed to the second video file at the second display speed.

사용자가 영화 내의 다른 위치들 또는 위치들로 쉽게 인덱싱할 수 있도록 하기 위해 다른 형태들의 인덱싱 시스템들 및 방법들이 바람직하다. 예를 들어, 사용자가 처리 중에 트릭 재생 패스트 포워드 또는 패스트 리버스 스트림을 시청할 필요없이 비디오 스트림 내의 임의의 위치로 선택적으로 그리고 즉시 점프할 수 있는 것이 매우 바람직할 것이다. 그러므로, 개선된 인덱싱 시스템 및 방법이 비디오 딜리버리 시스템에서 비디오 스트림 내의 다른 위치들로 효과적으로 인덱싱하는 것이 바람직하다. 또한 비디오 스트림 내의 임의의 위치로 사용자가 선택적으로 즉시 점프할 수 있게 하는 개선된 인덱싱 시스템 및 방법이 바람직하다. 트릭 재생 시스템들을 요구하지 않으며 미디어 서버의 처리 부담들을 감소시키는 개선된 인덱싱 시스템 및 방법이 또한 바람직하다.Other forms of indexing systems and methods are desirable to enable a user to easily index to other locations or locations within a movie. For example, it would be highly desirable for a user to be able to selectively and immediately jump to any location within the video stream without having to watch trick play fast forward or fast reverse streams during processing. Therefore, it is desirable for an improved indexing system and method to effectively index to other locations within a video stream in a video delivery system. It would also be desirable to have an improved indexing system and method that allows a user to selectively jump instantly to any location within the video stream. Improved indexing systems and methods that do not require trick playback systems and reduce the processing burden of the media server are also desirable.

도 1은 하나 이상의 미디어 서버 및 하나 이상의 가입자들을 포함하는 비디오 딜리버리 시스템을 도시한 도면.1 illustrates a video delivery system including one or more media servers and one or more subscribers.

도 2는 본 발명에 따른 비디오 스트림으로 인덱싱하기 위한 슬라이더 바를 디스플레이하는 텔레비전 세트를 시청하는 사용자를 도시한 도면.2 illustrates a user watching a television set displaying a slider bar for indexing into a video stream in accordance with the present invention.

도 3은 도 1의 미디어 서버를 도시한 도면.3 shows the media server of FIG.

도 4는 도 3의 미디어 서버 컴퓨터 시스템을 도시한 블록도.4 is a block diagram illustrating the media server computer system of FIG.

도 5는 본 발명에 따른 정상 재생 스트림 및 트릭 재생 스트림들에 대한 인덱스 룩업 테이블들의 생성을 예시한 흐름도.5 is a flow chart illustrating generation of index lookup tables for normal play streams and trick play streams in accordance with the present invention.

도 6은 본 발명에 따른 정상 재생 스트림 및 트릭 재생 스트림에 대한 인덱스 룩업 테이블들을 도시한 도면.6 illustrates index lookup tables for a normal play stream and a trick play stream in accordance with the present invention.

도 7은 슬라이더 바의 사용자 조작에 관한 사용자 입력을 수신하여 관련된 정보를 미디어 서버에 제공하는 셋톱 박스의 동작을 예시한 흐름도.FIG. 7 is a flow diagram illustrating the operation of a set top box that receives user input regarding user operation of a slider bar and provides related information to a media server.

도 8은 본 발명에 따른 셋톱 박스로부터 수신된 사용자 입력에 기초하여 정상 재생 시스템에서 새로운 위치에 인덱싱하는 미디어 서버의 동작을 예시한 흐름도.8 is a flow diagram illustrating the operation of a media server indexing a new location in a normal playback system based on user input received from a set top box in accordance with the present invention.

발명의 개요Summary of the Invention

본 발명은 대화식 비디오 딜리버리 시스템에서 비디오 스트림 내의 다른 위치에 인덱싱하기 위해서 가입자의 텔레비전 세트 또는 디스플레이 장치에 슬라이더 바와 같은 그래픽 아이콘을 디스플레이하는 시스템 및 방법을 포함한다. 대화식 비디오 딜리버리 시스템은 바람직하게 하나 이상의 비디오 스트림들을 저장하는 적어도 하나의 미디어 서버, 및 텔레비전 세트와 같은 디스플레이 장치를 각각 포함하는 하나 이상의 가입자 유니트들을 포함한다.The present invention includes a system and method for displaying graphical icons, such as sliders, on a subscriber's television set or display device for indexing to another location within a video stream in an interactive video delivery system. The interactive video delivery system preferably comprises at least one media server storing one or more video streams, and one or more subscriber units each comprising a display device such as a television set.

바람직한 실시예에서, 미디어 서버는 정상 재생 스트림들을 저장하며, 각각의 정상 재생 스트림들에 대한 하나 이상의 대응하는 트릭 재생 스트림들, 즉 패스트 포워드 및/또는 패스트 리버스 비디오 스트림들을 저장할 수 있다. 바람직한 실시예에서, 미디어 서버는 여러 가지 형태들의 비디오 압축 방법들, 바람직하게는 MPEG 방법을 사용하여 바람직하게 압축된 정상 재생 비디오 스트림들을 저장한다. 본 발명의 시스템은 스트림 내의 다른 위치들에 인덱싱할 수 있는 각각의 정상 재생 스트림에 대한 인덱스 테이블 또는 룩업 테이블을 생성한다. 정상 재생 스트림에 대한 인덱스 테이블을 생성할 때, 시스템은 먼저 정상 재생 스트림을 분석하여 바람직하게 정상 재생 스트림 내에 포함된 프리젠테이션 타임스탬프들에 기초하여 정상 재생 시간 표준을 생성한다. 그러면 시스템은 바람직하게 정상 재생 시간 기준을 사용하여 정상 재생 스트림에 대한 인덱스 테이블 또는 룩업 테이블을 생성한다. 각각의 인덱스 테이블은 2-터플(two-tuple)의 어레이를 포함하며, 그 2-터플은 정상 재생 시간 기준 및 각각의 스트림 내의 인덱스 또는 오프셋이다. 그 인덱스 테이블들은 스트림 내의 다른 위치들에 인덱싱할 수 있다. 미디어 서버가 트릭 재생 스트림들을 저장한다면, 그 시스템은 또한 바람직하게 정상 재생 스트림과 트릭 재생 스트림간에 인덱싱을 가능하게 하는 트릭 재생 스트림들에 대한 인덱스 테이블들을 생성한다.In a preferred embodiment, the media server stores normal playback streams and may store one or more corresponding trick playback streams, i.e., fast forward and / or fast reverse video streams, for each normal playback stream. In a preferred embodiment, the media server stores the normal playback video streams preferably compressed using various types of video compression methods, preferably the MPEG method. The system of the present invention creates an index table or lookup table for each normal playback stream that can be indexed at different locations in the stream. When generating an index table for a normal play stream, the system first analyzes the normal play stream to generate a normal play time standard based on the presentation time stamps contained in the normal play stream. The system then preferably creates an index table or lookup table for the normal playback stream using the normal playback time criteria. Each index table includes an array of two-tuples, the two-tuples being the normal playback time reference and the index or offset within each stream. The index tables can index at other locations in the stream. If the media server stores trick play streams, the system also preferably creates index tables for trick play streams that enable indexing between the normal play stream and the trick play stream.

텔레비전 세트에 결합된 셋톱 박스에서 동작하는 대화식 응용은 텔레비전 세트 스크린 상에 슬라이더 바와 같은 그래픽 아이콘을 디스플레이한다. 대안의 실시예에서, 미디어 서버는 스크린 상에 슬라이더 바를 디스플레이하는 그래픽 데이터를 제공한다. 바람직한 실시예에서, 그 슬라이더 바는 사용자가 영화를 일시중지시킨 경우 디스플레이된다. 슬라이더 바가 디스플레이될 때, 사용자는 영화 또는 비디오 스트림 내의 다른 위치로 '점프'하고자 하는 소망을 나타내기 위해 바람직하게는 원격 제어 장치를 사용하여, 슬라이더 바의 노브(knob)를 사용하거나 또는 조정할 수 있다.Interactive applications operating on set top boxes coupled to television sets display graphical icons such as slider bars on the television set screen. In an alternative embodiment, the media server provides graphical data displaying a slider bar on the screen. In a preferred embodiment, the slider bar is displayed when the user pauses the movie. When the slider bar is displayed, the user can use or adjust the slider bar's knob, preferably using a remote control device, to indicate the desire to 'jump' to another position in the movie or video stream. .

바람직한 실시예에서, 가입자 장치 또는 셋톱 박스는 사용자 입력을 수신하고, 슬라이더 바의 사용자 조작에 기초하여 영화 또는 스트림 내의 상대적 위치를 나타내는 0 내지 100의 값을 계산한다. 이어서 셋톱 박스는 미디어 서버에 이러한 값을 제공한다. 미디어 서버는 가입자 장치로부터 슬라이더 바 사용자 입력을 나타내는 값을 수신하고, 그 수신된 사용자 입력에 기초하여 정상 재생 시간 값을 계산한다. 그 미디어 서버는 0 내지 100의 값을 수신하고 대응하는 정상 재생 시간 값을 계산하기 위해 영화 길이를 사용한다. 예를 들어, 사용자가 슬라이더 바의 정 중앙에 슬라이더 바의 '노브'를 놓기 위해 슬라이더 바를 조정하는 경우, 그 가입자 장치는 50의 출력을 미디어 서버에 제공한다. 영화 길이가 정확히 2시간이면, 미디어 서버는 1시간의 정상 재생 시간을 출력한다.In a preferred embodiment, the subscriber device or set top box receives user input and calculates a value from 0 to 100 representing a relative position within the movie or stream based on the user manipulation of the slider bar. The set top box then provides these values to the media server. The media server receives a value representing the slider bar user input from the subscriber device and calculates a normal play time value based on the received user input. The media server receives a value from 0 to 100 and uses the movie length to calculate the corresponding normal play time value. For example, if the user adjusts the slider bar to place the 'knob' of the slider bar in the very center of the slider bar, the subscriber device provides 50 outputs to the media server. If the movie length is exactly two hours, the media server outputs one hour of normal playback time.

이어서 미디어 서버는 정상 재생 비디오 스트림 내에 각각의 인덱스 테이블을 사용한다. 미디어 서버가 새로운 정상 재생 시간을 계산한 후, 그 미디어 서버는 정상 재생 스트림 인덱스 테이블 내의 적합한 오프셋을 검색하기 위해, 계산된 정상 재생 시간을 사용한다. 이어서 이러한 오프셋은 검색된 오프셋에서 정상 재생 스트림의 재생을 시작하는데 사용된다. 이어서 셋톱 박스는 출력되는 비디오 스트림의 정확한 위치를 반영하기 위해서 슬라이더 바 상의 노브의 위치를 조정한다. 그 미디어 서버는 또한 검색된 오프셋에서 스트림을 출력하기 전에 적절한 지점에서 정상 재생 스트림을 정지시키기 위해서, 현재의 정상 재생 시간 및 출력되는 정상 재생 스트림의 오프셋을 선택적으로 검사할 수 있다.The media server then uses each index table in the normal playback video stream. After the media server calculates a new normal play time, the media server uses the calculated normal play time to retrieve the appropriate offset in the normal play stream index table. This offset is then used to start playback of the normal playback stream at the retrieved offset. The set top box then adjusts the position of the knob on the slider bar to reflect the exact position of the output video stream. The media server can also optionally check the current normal playback time and the offset of the output normal playback stream to stop the normal playback stream at the appropriate point before outputting the stream at the retrieved offset.

일실시예에서, 사용자가 먼저 비디오 스트림 내의 새로운 위치로 점프하기 위해 슬라이더 바를 조작할 경우, 그 미디어 서버는 현재의 정상 재생 시간 및 정상 재생 스트림의 바이트 오프셋을 저장(cache)한다. 그러므로, 임의의 슬라이드 바 조정들이 행해지기 전에 영화 내의 최초 위치로 사용자가 후에 복귀하기를 원하는 경우, 그 사용자는 원격 제어의 키를 누르거나 슬라이더 바의 복귀 옵션을 선택한다. 이러한 선택은 그 미디어 서버가 적절한 정상 재생 시간 및 정상 재생 스트림 인덱스 테이블 내의 오프셋을 검색하도록 한다. 그러면 이 오프셋은 스트림이 최초에 어떤 슬라이더 바 조정들보다 앞선 위치에서 정상 재생 스트림의 재생하는데 사용된다.In one embodiment, when the user first manipulates the slider bar to jump to a new position in the video stream, the media server caches the current normal play time and the byte offset of the normal play stream. Therefore, if the user wishes to return later to the original position in the movie before any slide bar adjustments are made, the user presses a key on the remote control or selects the return option of the slider bar. This selection allows the media server to retrieve the appropriate normal play time and offset within the normal play stream index table. This offset is then used to play the normal playback stream at the position where the stream is first before any slider bar adjustments.

그러므로, 본 발명은 정상 재생 스트림 내의 다른 위치들로의 인덱싱을 효과적으로 허용한다. 본 발명은 비디오 스트림 내의 위치를 선택하기 위한 간단하고 편리한 메카니즘을 제공하는 슬라이더 바와 같은 그래픽 아이콘을 디스플레이한다. 본 발명은 공통의 기준으로서 사용되는 정상 재생 시간 기준을 생성하며, 그러므로 인덱싱 과정이 간단해진다.Therefore, the present invention effectively allows indexing to other locations in the normal playback stream. The present invention displays graphical icons such as slider bars that provide a simple and convenient mechanism for selecting a location within a video stream. The present invention produces a normal playback time criterion that is used as a common criterion, thus simplifying the indexing process.

다음의 바람직한 실시예의 상세한 설명이 다음의 도면들과 관련하여 고려될 경우, 본 발명의 더 나은 이해가 얻어질 수 있다.When the following detailed description of the preferred embodiment is considered in connection with the following figures, a better understanding of the present invention can be obtained.

비디오 딜리버리 시스템Video delivery system

도 1은 비디오 스트림을 저장 및 전송하는 비디오 서버 또는 비디오 딜리버리 시스템(30)을 도시한 것이다. 시스템(30)은 비디오 또는 멀티미디어 스트림을 하나 이상의 사용자, 바람직하게는 다수의 사용자에게 전송하거나 재생할 수 있는 비디오-온-디멘드(VOD) 또는 니어-비디오-온-디멘드(NVOD) 시스템, 또는 다른 형태의 비디오 딜리버리 시스템인 것이 바람직하다. 본 명세서에서, '비디오 스트림'이라고 하는 용어는 비디오 디스플레이를 표현하는 파일 또는 시퀀스를 지칭하는데 사용된다. 또한 "비디오 스트림"이라고 하는 용어는 비디오 및 오디오 성분을 모두 포함하는 멀티미디어 스트림을 포함한다.1 illustrates a video server or video delivery system 30 for storing and transmitting video streams. System 30 may be a video-on-demand (VOD) or near-video-on-demand (NVOD) system, or other form, capable of transmitting or playing a video or multimedia stream to one or more users, preferably multiple users. It is desirable to be a video delivery system. In this specification, the term 'video stream' is used to refer to a file or sequence that represents a video display. The term "video stream" also encompasses a multimedia stream that includes both video and audio components.

도시된 바와 같이, 일실시예에서 비디오 딜리버리 시스템(30)은 광대역망(40)을 통해 복수의 가입자(52)에 접속된 하나 이상의 미디어 서버 또는 비디오 서버(50)를 포함한다. 이하 다루는 바와 같이, 각각의 미디어 서버(50)는 범용 컴퓨터 시스템(60)을 포함하는 것이 바람직하다(도 2). 광대역망(40)은 ATM(비동기 전송 모드)망, 위성 방송망, 또는 IP/RTP(인터넷 프로토콜/실시간 프로토콜)망과 같은 멀티미디어 내용물에 적합한 망인 것이 바람직하다. 가입자(52)는 바람직하게 텔레비전 세트, 컴퓨터 등과 같은 디스플레이 장치를 포함한다. 미디어 서버(50)는 광대역망(40)을 통해 각각의 가입자(52)에 비디오 또는 멀티미디어 스트림을 제공한다.As shown, in one embodiment video delivery system 30 includes one or more media servers or video servers 50 connected to a plurality of subscribers 52 over broadband network 40. As discussed below, each media server 50 preferably includes a general purpose computer system 60 (FIG. 2). The broadband network 40 is preferably a network suitable for multimedia contents such as ATM (asynchronous transmission mode) network, satellite broadcasting network, or IP / RTP (Internet Protocol / Real Time Protocol) network. Subscriber 52 preferably includes a display device such as a television set, a computer, or the like. The media server 50 provides a video or multimedia stream to each subscriber 52 via the broadband network 40.

미디어 서버(50)는 복수의 비디오 또는 멀티미디어 스트림을 전송 또는 재생할 수 있다. 바람직한 실시예에서, 시스템(50)은 여러 지정된 위치 중 임의의 곳에서 정상 재생 스트림을 전송 또는 재생할 수 있다. 본 명세서에서, "정상 재생스트림"이라고 하는 용어는 정상 또는 표준 표시속도로 재생하도록 지정된 비디오 스트림을 말한다. 일실시예에서, 각각의 정상재생 스트림은 하나 이상의 패스트 포워드 및/또는 패스트 리버스 스트림을 포함할 수 있는 관련된 하나 이상의 트릭 재생 스트림을 또한 가질 수 있다. 본 명세서에서, "트릭 재생 스트림"이라고 하는 용어는 패스트 포워드 및/또는 패스트 리버스 비디오 스트림을 말하는 것으로 바람직하게는 압축된 스트림이며, 이들은 정상 재생 스트림으로부터 재생되며 정보 재생 스트림과는 다른 표시속도를 갖는다.The media server 50 may transmit or play a plurality of video or multimedia streams. In the preferred embodiment, the system 50 may transmit or play the normal playback stream at any of several designated locations. As used herein, the term "normal playstream" refers to a video stream designated to play at normal or standard display speed. In one embodiment, each normal play stream may also have one or more trick play streams involved that may include one or more fast forward and / or fast reverse streams. As used herein, the term "trick play stream" refers to a fast forward and / or fast reverse video stream, preferably compressed streams, which are played from a normal play stream and have a different display rate than the information play stream. .

정상 재생 스트림은 바람직하게는 압축된 비디오 스트림이다. 본 발명은 비디오 스트림의 형태나 형식과는 무관하게 동작한다. 따라서 정상 재생 스트림은 MPEG-1, MPEG-2, 모션 JPEG, 퀵타임 등을 포함하며, 여러 가지 형태의 형식 중 어느 하나로 압축될 수 있다. 더욱이, 본 발명은 프레임 속도 및 다른 표시특성과는 무관하게 동작한다.The normal playback stream is preferably a compressed video stream. The invention works regardless of the form or format of the video stream. Therefore, the normal playback stream includes MPEG-1, MPEG-2, Motion JPEG, QuickTime, and the like, and can be compressed in any of various forms. Moreover, the present invention operates independently of the frame rate and other display characteristics.

도 2 - 가입자 장치Figure 2-Subscriber Device

도 2는 본 발명의 바람직한 실시예에 따라 사용자가 가입자 장치(52)를 시청하는 것을 도시한 것이다. 도시된 바와 같이, 가입자 장치(52)는 텔레비전 세트 또는 다른 디스플레이 장치(53)를 포함한다. 텔레비전 세트(53)는 이 분야에 잘 알려진 바와 같이, 비디오 이미지를 디스플레이하는 디스플레이 스크린(59)을 포함한다. 텔레비전 세트 또는 디스플레이 장치(53)는 디지털 TV 또는 고품위 TV(HDTV), 비디오 모니터를 갖는 컴퓨터 시스템, 또는 다른 형태의 디스플레이 장치를 포함하는 임의의 여러 가지 형태의 디스플레이 장치를 포함할 수 있다.2 shows a user viewing subscriber device 52 in accordance with a preferred embodiment of the present invention. As shown, subscriber device 52 includes a television set or other display device 53. Television set 53 includes a display screen 59 for displaying video images, as is well known in the art. The television set or display device 53 may include any of various types of display devices, including digital TVs or high-definition televisions (HDTVs), computer systems with video monitors, or other types of display devices.

가입자 장치(52)는 또한 텔레비전 세트(53)에 결합된 셋톱 박스(57) 또는 다른 로직을 포함한다. 셋톱 박스(57)는 망(40)에 결합되어 미디어 서버(50)에 결합되는 케이블(58)에 접속한다. 셋톱 박스 로직(57)은 텔레비전 세트(53) 내에 포함될 수 있으며 또는 컴퓨터 시스템의 버스에 삽입된 어댑터 카드를 포함할 수도 있다. "셋톱 박스"라고 하는 용어는 여기서 임의의 형태의 외부 로직 또는 서버, 또는 텔레비전 세트이나 다른 디스플레이 장치 내에 포함된 임의의 형태의 로직을 지칭하는 것으로, 비디오나 오디오 압축해제와 같이, 멀티미디어 내용물의 디스플레이에 관련된 처리기능을 수행하거나, 대화식 응용을 실행하거나 또는 본 발명의 슬라이더 바(54)를 디스플레이하기 위한 것이다.Subscriber device 52 also includes a set top box 57 or other logic coupled to television set 53. The set top box 57 is coupled to the network 40 and connected to a cable 58 coupled to the media server 50. Set top box logic 57 may be included within television set 53 or may include an adapter card inserted into a bus of a computer system. The term "set top box" refers herein to any form of external logic or server, or any form of logic contained within a television set or other display device, such as video or audio decompression, for display of multimedia content. To perform a processing function related to, to execute an interactive application, or to display the slider bar 54 of the present invention.

도시된 바와 같이, 텔레비전 세트(53)의 디스플레이 스크린(59)은 사용자가 비디오 스트림의 원하는 위치에 인덱싱할 수 있도록 그래픽 아이콘(54)을 디스플레이한다. 바람직한 실시예에서, 그래픽 아이콘(54)은 슬라이더 바(54)이다. 슬라이더 바(54)는 슬라이더 바(54) 내에서 이동될 수 있는 작은 노브 또는 커서(55)를 포함한다. 본 명세서에서, "슬라이더 바"라는 용어는 슬라이더 바(54) 및 노브(55) 모두를 포함한다. 여기서 사용된 "슬라이더 바"라는 용어는 비디오 스트림 내의 위치를 나타내기 위한 다른 그래픽 아이콘을 포함하도록 된 것이다. 도시된 바와 같이, 바람직하게 원격제어기(56)를 사용하는 사용자는 슬라이더 바(54) 내의 노브(55)의 이동을 제어하기 위해서 원격제어기(56)에 있는 버튼 또는 다이얼을 조작한다. 사용자는 시청되는 원하는 영화나 비디오 스트림 내의 위치로 "점프"하기 위해서 슬라이더 바(54) 내의 노브(55)를 조작 또는 조정할 수 있다. 따라서, 사용자가 영화를 시청하기 시작하여 영화의 끝으로 "패스트 포워드" 또는 "점프"하고자 한다면, 사용자는 간단히 원격제어기(56)를 사용하여 슬라이더 바(54) 내의 노브(55)를 슬라이더 바(54)의 좌측에서 우측으로, 즉 영화 시작부분에서 영화의 거의 끝부분으로 이동시킨다.As shown, the display screen 59 of the television set 53 displays a graphic icon 54 for the user to index to the desired location of the video stream. In a preferred embodiment, graphic icon 54 is slider bar 54. Slider bar 54 includes a small knob or cursor 55 that can be moved within slider bar 54. As used herein, the term "slider bar" includes both slider bar 54 and knob 55. The term "slider bar" as used herein is intended to include other graphical icons for indicating locations within the video stream. As shown, a user using the remote controller 56 preferably manipulates a button or dial on the remote controller 56 to control the movement of the knob 55 in the slider bar 54. The user can manipulate or adjust knob 55 in slider bar 54 to "jump" to a position in the desired movie or video stream to be watched. Thus, if the user starts watching a movie and wants to "fast forward" or "jump" to the end of the movie, the user simply uses the remote controller 56 to move the knob 55 in the slider bar 54 to the slider bar ( 54 from left to right, ie from the beginning of the movie to almost the end of the movie.

슬라이더 바(54) 내의 노브(35)의 사용자 조작에 응답하여, 셋톱 박스(57)는 신호를 수신한다. 셋톱 박스(57)는 수신된 사용자 입력에 기초하여 정보를 계산하고 비디오 출력 스트림을 제공하는 각각의 비디오 서버(50)에 그 정보를 다시 제공한다. 이하 더 기술되는 바와 같이, 슬라이더 바(54)의 사용자 조작 또는 조정에 응답하여, 비디오 서버(50)는 조작된 슬라이더 바(54)에 의해 지시된 비디오 스트림 내의 원하는 위치에서 비디오 출력을 공급한다.In response to user manipulation of knob 35 in slider bar 54, set top box 57 receives a signal. The set top box 57 calculates the information based on the received user input and provides the information back to each video server 50 providing a video output stream. As will be described further below, in response to user manipulation or adjustment of the slider bar 54, the video server 50 supplies the video output at a desired position in the video stream indicated by the manipulated slider bar 54.

바람직한 실시예에서, 슬라이더 바(54)는 텔레비전 세트(53)에 접속된 셋톱 박스(57)에 의해 디스플레이된다. 바람직한 실시예에서, 슬라이더 바(54)는 사용자가 비디오 스트림을 정지시킨 때만 디스플레이된다. 슬라이더 바(54)가 디스플레이될 때, 셋톱 박스(57)는 텔레비전 세트(53)에 재생되는 비디오 스트림 또는 영화의 현 위치를 반영하도록 슬라이더 바(54) 내에 노브(55)의 이동을 업데이트 한다. 따라서, 슬라이더 바(54)가 스크린(58) 상에 디스플레이될 때, 노브(55)는 디스플레이되는 비디오 스트림의 위치에 대한 슬라이더 바(54) 내의 적합한 위치에서 디스플레이된다. 대안 실시예에서, 슬라이더 바(54)는 연속적으로 디스플레이되며, 슬라이더 바 노브(55)의 위치는 셋톱 박스(57)를 통해 각각의 비디오 스트림이 텔레비전 세트(53)에 제공될 때 업데이트된다.In the preferred embodiment, the slider bar 54 is displayed by the set top box 57 connected to the television set 53. In the preferred embodiment, the slider bar 54 is only displayed when the user stops the video stream. When the slider bar 54 is displayed, the set top box 57 updates the movement of the knob 55 in the slider bar 54 to reflect the current position of the video stream or movie being played on the television set 53. Thus, when slider bar 54 is displayed on screen 58, knob 55 is displayed at a suitable location within slider bar 54 relative to the position of the video stream being displayed. In an alternative embodiment, the slider bar 54 is displayed continuously and the position of the slider bar knob 55 is updated when each video stream is provided to the television set 53 via the set top box 57.

본 발명의 대안 실시예에서, 슬라이더 바 그래픽 아이콘(54)은 출력되는 영화 비디오 스트림과 함께 비디오 서버(50)에 의해 직접 제공된다. 이 실시예에서, 비디오 서버(50)는 정지명령이 수신된 때 또는 슬라이더 바(54)를 사용하고자 하는것을 나타내는 다른 사용자 입력이 수신된 때 슬라이더 바(54)만을 디스플레이한다. 미디어 서버(50)는 디스플레이되는 영화의 현 위치를 반영하기 위해서 슬라이더 바(54) 내의 적합한 위치의 노브 또는 커서(55)를 디스플레이한다.In an alternative embodiment of the invention, the slider bar graphic icon 54 is provided directly by the video server 50 with the output movie video stream. In this embodiment, the video server 50 displays only the slider bar 54 when a stop command is received or when another user input is received indicating that the slider bar 54 is to be used. Media server 50 displays knobs or cursors 55 at appropriate positions in slider bar 54 to reflect the current position of the movie being displayed.

도 3 - 미디어 서버Figure 3-Media Server

도 3에서, 바람직한 실시예에서 미디어 서버 또는 비디오 서버(50)는 컴퓨터 시스템(60)을 포함한다. 미디어 서버 컴퓨터 시스템(60)은 하나 이상의 프로세서, 하나 이상의 버스, 하드 드라이브 및 메모리를 포함하여, 여러 가지 표준 구성요소를 포함하는 것이 바람직하다. 도 4는 도 3의 미디어 서버 컴퓨터 시스템(60) 내에 포함된 구성요소를 도시한 블록도이다. 도 4는 단시 예시적인 것이며, 다른 컴퓨터 구조가 요망된 때 사용될 수도 있음에 유념한다. 도시된 바와 같이, 컴퓨터 시스템(60)은 칩셋 로직(82)을 통해 시스템 메모리(84)에 결합된 적어도 하나의 프로세서(80)를 포함한다. 칩셋(82)은 바람직하게 PCI(주변 구성요소 상호 접속) 버스(86)에 인터페이스하기 위한 PCI 브릿지를 포함한다. 컴퓨터 시스템(60)은 RAID(저비용 디스크의 리던던시 어레이) 디스크 어레이(90) 또는 정상 재생 스트림 및 임의의 대응하는 트릭 재생 스트림을 저장하기 위한 다른 저장 매체를 포함한다. 컴퓨터 시스템(60)은 MPEG 디코더(74) 및 MPEG 인코더(76) 중 어느 하나 또는 이들 모두를 포함할 수 있는데, 이들은 PCI 버스(86)에 접속된 것으로 도시되었다. 컴퓨터 시스템(60)은 또한 도시된 바와 같이 비디오 회로(88)를 포함한다.In FIG. 3, in a preferred embodiment the media server or video server 50 includes a computer system 60. Media server computer system 60 preferably includes various standard components, including one or more processors, one or more buses, hard drives, and memory. 4 is a block diagram illustrating components included in the media server computer system 60 of FIG. 4 is merely illustrative and may be used when other computer architectures are desired. As shown, computer system 60 includes at least one processor 80 coupled to system memory 84 via chipset logic 82. Chipset 82 preferably includes a PCI bridge for interfacing to PCI (Peripheral Component Interconnect) bus 86. Computer system 60 includes a RAID (redundancy array of low cost disks) disk array 90 or other storage medium for storing normal playback streams and any corresponding trick playback streams. Computer system 60 may include either or both of MPEG decoder 74 and MPEG encoder 76, which are shown as being connected to PCI bus 86. Computer system 60 also includes video circuitry 88 as shown.

다시 도 3에서, 컴퓨터 시스템(60)은 하나 이상의 디지털 기억장치 또는 미디어 저장장치를 포함하거나 이에 결합된다. 예를 들어, 도 2의 실시예에서, 컴퓨터 시스템(60)은 케이블(64)을 통해 미디어 저장부(62)에 결합한다. 미디어 저장부(62)는 컴퓨터 시스템(60) 내의 디스크 저장 시스템에 더하여, 또는 그 대신에 존재할 수 있다. 미디어 저장부(62)는 정상 재생 스트림 및 임의의 대응하는 트릭 재생 스트림을 저장하기 위한 하나 이상의 복합 RAID 드라이브를 포함한다. 대안으로, 미디어 저장부(62)는 그 대신에 디지털 비디오 또는 멀티미디어 내용물을 저장하기 위한 하나 이상의 CD-ROM 드라이브 및/또는 하나 이상의 디지털 비디오 디스크(DVD) 저장부, 또는 다른 형태의 미디어를 포함할 수 있다. 컴퓨터 시스템(60)은 또한 하나 이상의 내부 CD-ROM 드라이브를 포함할 수 있으며 또는 하나 이상의 별도의 디지털 비디오 디스크(DVD) 저장부에 결합할 수 있다. 컴퓨터 시스템(60)은 또한 원한다면, 다른 형태의 디지털 또는 아날로그 저장장치에 접속할 수 있다.Again in FIG. 3, computer system 60 includes or is coupled to one or more digital storage devices or media storage devices. For example, in the embodiment of FIG. 2, computer system 60 couples to media storage 62 via cable 64. Media storage 62 may be present in addition to or instead of a disk storage system within computer system 60. Media storage 62 includes one or more composite RAID drives for storing normal playback streams and any corresponding trick playback streams. Alternatively, media storage 62 may instead include one or more CD-ROM drives and / or one or more digital video disc (DVD) storage, or other forms of media, for storing digital video or multimedia content. Can be. Computer system 60 may also include one or more internal CD-ROM drives or may be coupled to one or more separate digital video disc (DVD) storage. Computer system 60 may also connect to other forms of digital or analog storage, if desired.

압축된 정상 재생 스트림, 및 임의의 관련된 트릭 재생 스트림은 이를테면 CD-ROM이나 디지털 비디오 디스크(DVD)와 같은 미디어 서버(50) 내의 저장 매체에 포함될 수도 있다. 미디어 서버(50)는 각각의 정상 재생 또는 트릭 재생 스트림을 저장매체로부터 읽어 그 데이터를 하나 이상의 디스플레이 유니트 또는 시청자(가입자)(52)에 제공한다. 미디어 서버(50)는 이를테면 ATM(비동기 전송 모드), ISDN(통합 서비스 디지털망)과 같은 여러 가지 통신 매체를 사용하여, 또는 위성을 통해 비디오 데이터를 출력할 수 있다. 상기한 바와 같이, 가입자 디스플레이 유니트(52)는 컴퓨터 텔레비전 세트, 컴퓨터 시스템, 또는 비디오 내용물을 디스플레이하기 위한 디스플레이 스크린을 갖춘 다른 시스템을 포함할 수 있다.Compressed normal play streams, and any related trick play streams, may be included in storage media in media server 50 such as, for example, CD-ROMs or digital video discs (DVDs). The media server 50 reads each normal play or trick play stream from the storage medium and provides the data to one or more display units or viewers (subscribers) 52. The media server 50 may output video data using various communication media such as, for example, asynchronous transmission mode (ATM), integrated service digital network (ISDN), or via satellite. As noted above, subscriber display unit 52 may include a computer television set, computer system, or other system with a display screen for displaying video content.

위에서 언급한 바와 같이, 미디어 서버(50)는 일반적으로 사용자 선택에 기초하여, 정상 재생 비디오 스트림 내의 다른 위치에 인덱싱한다. 이하 더 설명하는 바와 같이, 미디어 서버(50)는 여러 가지 정상 재생 스트림을 위한 인덱스 테이블을 생성하여 여러 가지 스트림 내에 다른 위치에 인덱싱하기 위해서 이들 테이블을 사용한다. 바람직한 실시예에서, 인덱스 테이블 생성 및 인덱싱하는 기능은 소프트웨어로 미디어 서버(50)에 의해 수행되며, 여기서 소프트웨어는 플로피 디스크(72)에 의해 제공된다. 대안 실시예에서, 컴퓨터 시스템(60)은 인덱스 테이블 생성 및 인덱싱 기능 중 하나 또는 이들 기능을 수행하는 전용 하드웨어를 포함한다. 제3 실시예에서, 한 세트의 관계된 스트림, 즉, 정상 재생 스트림 및 관련된 트릭 재생 스트림은 스트림들 간 인덱싱을 제공하기 위해서 그들 내에 끼워진 인덱싱 정보를 포함한다.As mentioned above, media server 50 generally indexes to other locations within the normal playback video stream based on user selection. As will be described further below, the media server 50 uses these tables to create index tables for various normal playback streams and index them at different locations within the various streams. In a preferred embodiment, the function of creating and indexing the index table is performed by the media server 50 in software, where the software is provided by the floppy disk 72. In alternative embodiments, computer system 60 includes one or more of the index table creation and indexing functions, or dedicated hardware to perform these functions. In a third embodiment, the set of related streams, i.e. the normal play stream and the associated trick play stream, comprise indexing information embedded in them to provide indexing between the streams.

미디어 서버(50)는 원한다면 2개 또는 그 이상의 상호 접속된 컴퓨터를 포함할 수 있음에 유의한다. 원한다면 여러 가지형태의 비디오 딜리버리 시스템 중 어느 하나를 본 발명에 따라 사용할 수 있음에 유념한다.Note that media server 50 may include two or more interconnected computers, if desired. Note that any one of various types of video delivery systems may be used in accordance with the present invention if desired.

도 5 - 인덱스 룩업 테이블 생성Figure 5-Create Index Lookup Table

도 5는 본 발명에 따라 인덱스 룩업 테이블의 생성을 도시한 도면이다. 여기서 정상 재생 스트림은 시스템 내에 저장된 것으로 가정한다. 하나 이상의 트릭 재생 스트림이 시스템 내에 저장된 경우, 다른 스트림은 다른 속도로 표시하기 위한 동일 내용물을 인코드하는 것이 바람직하다. 도 5의 방법은 본 발명에 따라 스트림 내의 다른 위치에 인덱싱할 수 있도록 정상 재생 스트림용 인덱스 테이블을 생성하는데 사용된다. 도 5의 방법은 원한다면 정상 재생 비디오 스트림과 트릭 재생 비디오 스트림간에 인덱싱하기 위한 인덱스 테이블을 생성하는데 또한 사용될 수 있다.5 is a diagram illustrating generation of an index lookup table according to the present invention. It is assumed here that the normal playback stream is stored in the system. If more than one trick play stream is stored in the system, it is desirable that the other streams encode the same content for display at different rates. The method of FIG. 5 is used to create an index table for a normal playback stream so that it can be indexed to another location within the stream in accordance with the present invention. The method of FIG. 5 may also be used to create an index table for indexing between normal playback video tricks and trick playback video streams, if desired.

도시한 바와 같이, 단계 102에서 본 발명의 시스템은 정상 재생 비디오 시스템 또는 멀티미디어 스트림을 수신하거나 조사한다. 앞에서 다룬 바와 같이, 정상 재생 스트림은 텔레비전 세트 단편이나 영화와 같은 비디오 시퀀스를 텔레비전 세트나 컴퓨터 시스템과 같은 스크린에 표현하는데 사용되는 비디오 데이터 스트림을 포함한다. 바람직한 실시예에서, 정상 재생 스트림은 압축 스트림, 바람직하게는 MPEG-2 압축 스트림이며, 원한다면 다른 형태의 압축이 사용될 수 있다.As shown, in step 102 the system of the present invention receives or examines a normal playback video system or multimedia stream. As discussed above, a normal playback stream includes a video data stream that is used to represent a video sequence, such as a television set fragment or a movie, on a screen, such as a television set or computer system. In a preferred embodiment, the normal playback stream is a compressed stream, preferably an MPEG-2 compressed stream, and other forms of compression may be used if desired.

단계 104에서 본 발명의 시스템은 스트림 내의 시간 스탬프를 분석하는 것이 바람직하다. 스트림이 MPEG 스트림인 경우의 바람직한 실시예에서, 시스템은 스트림 내의 시퀀스 헤더로부터 표시 시간 스탬프를 분석한다. 언급한 바와 같이, 표시 시간 스탬프는 비디오 시퀀스에 대한 시간 베이스를 제공하는데 사용된다.In step 104 the system of the present invention preferably analyzes the time stamp in the stream. In the preferred embodiment where the stream is an MPEG stream, the system parses the display time stamp from the sequence header in the stream. As mentioned, the display time stamp is used to provide a time base for the video sequence.

앞에서 다룬 바와 같이, MPEG 인코드된 스트림은 인트라코드된 픽쳐인 복수의 I-프레임, 및 인터코드된 프레임인 복수의 B 및 P 프레임을 포함한다. I 프레임은 각각 비디오의 전체 프레임에 대한 비디오 데이터를 포함하며 시퀀스 내에 주기적으로 배치된다. P 및 B 프레임은 이전 또는 후속되는 프레임에 대한 변화정보를 포함한다. 각각의 픽쳐 또는 프레임은 프레임을 식별하며 그 프레임에 대한 정보를 포함하는 픽쳐 헤더를 포함한다. MPEG 인코드된 스트림은 다른 정보 중에서도 프레임 속도 및 픽쳐 크기를 포함하여, 비디오 시퀀스에 관한 어떤 정보를 포함하는 하나 이상의 시퀀스 헤더를 더 포함한다. 시퀀스 헤더는 비디오 시퀀스의 재생 시간을 나타내는 표시 시간 스탬프를 포함한다.As discussed above, an MPEG encoded stream includes a plurality of I-frames that are intracoded pictures, and a plurality of B and P frames that are intercoded frames. I frames each contain video data for the entire frame of video and are periodically placed in a sequence. P and B frames contain change information for the previous or subsequent frames. Each picture or frame includes a picture header that identifies the frame and includes information about the frame. The MPEG encoded stream further includes one or more sequence headers containing some information about the video sequence, including frame rate and picture size, among other information. The sequence header includes a display time stamp indicating the playback time of the video sequence.

단계 106에서 본 발명의 시스템은 표시 시간 스탬프를 "정상 재생 시간" 표준으로 맵한다. 따라서, 본 발명의 시스템은 멀티미디어 타이틀 내의 "위치"에 관련될 수 있는 "정상 재생 시간"의 개념에 기초하여 멀티미디어 인덱싱을 정한다. 정상재생 시간 표준은 본 발명에 따라 정상 재생 스트림 내의 다른 위치에 인덱싱하는데 사용된다. 정상 재생 시간 표준은 다른 표시속도를 갖는 스트림들 간에 인덱싱, 즉 정상 재생 스트림과 트릭 재생 스트림 간에 인덱싱하는데 사용될 수도 있다. 트릭 재생 스트림에 관하여, 분해능 차이 및 스트림에 특유한 다른 인코딩 파라미터를 고려하여, 각각의 위치에 있는 내용물이 개념적으로 실제적으로 동일할 때, 즉 시퀀스 내의 동일 또는 실제적으로 동일한 이미지가 제공되고 있을 때, 위치는 정상 재생 비디오 스트림 및/또는 다른 표시속도를 갖는 트릭 재생 비디오 스트림들 간에 동일하게 정해진다.In step 106, the system maps the display time stamp to the "normal playback time" standard. Thus, the system of the present invention determines multimedia indexing based on the concept of "normal play time" which may be related to "position" in a multimedia title. The normal play time standard is used to index to another position in the normal play stream in accordance with the present invention. The normal play time standard may be used for indexing between streams having different display speeds, that is, between normal play and trick play streams. With respect to the trick play stream, the position at the time when the contents at each position are conceptually and substantially the same, i.e. when the same or substantially the same image in the sequence is being provided, taking into account the difference in resolution and other encoding parameters specific to the stream, Is equally defined between the normal playback video stream and / or the trick playback video streams with different display rates.

정상 재생 시간 기준을 생성할 때, 본 발명의 시스템은 표시 시간 스탬프를 검사하여, 영화 시작 시 원래 또는 베이스 표시 시간스탬프의 트랙을 유지한다. 그러면 시스템은 정상 재생 스트림에 대한 정상 재생 시간 값을 결정하기 위해서 후속하는 시간 스탬프에서 베이스 또는 원래의 표시 시간 스탬프를 감한다. 즉, 정상 재생 스트림 내의 주어진 지점에 대한 정상 재생 시간을 계산하기 위해서, 시스템은 그 위치에 대한 정상 재생 시간을 결정하기 위해서 정상 재생 스트림 내의 각각의 지점 또는 위치에서 미래의 표시 시간 스탬프로부터 베이스 표시시간 스탬프를 감한다.When generating a normal play time reference, the system of the present invention examines the display time stamp to keep track of the original or base display time stamp at the start of the movie. The system then subtracts the base or original display time stamp from the subsequent time stamp to determine the normal playback time value for the normal playback stream. That is, to calculate the normal playback time for a given point in the normal playback stream, the system determines the base display time from the future mark time stamp at each point or location in the normal playback stream to determine the normal playback time for that location. Reduce the stamp.

바람직한 실시예에서, 멀티미디어 스트림 내의 어떤 위치에 대한 정상 재생 시간(NPT)은 정상 속도 전진 또는 정상 재생 스트림의 표시에 의해 측정되었을 때 타이틀 시작부터 각각의 위치까지의 시간이며, 시계 시간과 일 대 일 대응 관계를 갖는다. 따라서, 매초 정상 재생 영화는 전진하고 정상 재생 시간은 1초 전진한다. 패스트 포워드 타이틀 또는 패스트 포워드 트릭 재생 스트림에서, FF 스트림이 5배 고속인 경우, 정상 재생 시간은 사용자가 시청하고 있을 때 5배 더 빠르다. 일반적으로 영화에서 임의의 특정한 장면은 정상 재생 시간에 의해 식별된다. 따라서, 특정 장면이 정상 재생 시간에서 영화에서 X분에서 발생하면, 이 위치 또는 장면을 X분이라 칭한다. 이 특정한 장면은 정상 재생 시간의 X분에서 다른 트릭 재생 스트림 중 어느 하나 내에 또한 위치하여 있다.In a preferred embodiment, the normal playback time (NPT) for a location in the multimedia stream is the time from the start of the title to each location as measured by the indication of normal speed forward or normal playback stream, one to one with clock time. Have a corresponding relationship. Thus, every second the normal playback movie is advanced and the normal playback time is one second forward. In a fast forward title or fast forward trick playback stream, if the FF stream is five times faster, the normal playback time is five times faster when the user is watching. In general, any particular scene in a movie is identified by normal play time. Thus, if a particular scene occurs at X minutes in the movie at normal playback time, this position or scene is called X minutes. This particular scene is also located in either of the other trick play streams at X minutes of normal play time.

정상 재생 스트림 및 트릭 재생 스트림에 대한 인덱스 테이블을 생성하기 위해서 다른 방법들이 사용될 수도 있음에 유의한다. 대안 실시예에서, 본 발명의 시스템은 각각의 GOP(픽쳐들의 군)에 대한 오프셋 목록을 사용하여 인덱스 룩업 테이블을 생성한다. 또 다른 실시예에서, 시스템은 인덱싱하기 위해서 비디오 스트림 내의 표시 시간 스탬프를 사용한다. 원한다면 인덱스 테이블을 생성하는 다른 방법이 사용될 수도 있다. 정상 재생 시스템에 대해 정상 재생 시간(NPT) 기준 인덱스 테이블을 생성하기 위해서 다른 방법이 사용될 수도 있음에 유의한다.Note that other methods may be used to create index tables for normal play streams and trick play streams. In an alternative embodiment, the system of the present invention creates an index lookup table using an offset list for each GOP (group of pictures). In another embodiment, the system uses the presentation time stamp in the video stream for indexing. Other methods of creating index tables may be used if desired. Note that other methods may be used to create a normal playback time (NPT) reference index table for a normal playback system.

단계 108에서 시스템은 각각의 멀티미디어 정상 재생 스트림에 대한 인덱스 룩업 테이블을 생성한다. 정상 재생 멀티미디어 스트림에 대한 인덱스 룩업 테이블은 두 터플들의 인덱스 또는 어레이를 포함하며, 각각의 터플은 정상 재생 시간 및 각각의 스트림에서 오프셋을 포함한다. 트릭 재생 스트림이 단계 110에서 시스템에 존재한다면, 시스템은 단계 112에서 트릭 재생 스트림에 대한 인덱스 룩업 테이블을 선택적으로 생성한다. 정상 재생, 패스트 포워드, 및 패스트 리버스 스트림에 대한 인덱스 룩업 테이블을 도 6에 도시하였다. 도시된 바와 같이, 각각의 터플은 정상 재생 시간값 및 스트림 내의 대응하는 파일 오프셋을 포함한다. 정상 재생 스트림에 대해서, 정상 재생 시간 엔트리는 단계 106에서 계산된 정상 재생 시간 값을 포함한다. 일정한 비트 속도 인코딩을 갖는 트릭 재생 시스템에 대해서, 다른 표시속도를 보상하기 위해서 인덱스 룩업 테이블의 정상 재생 시간 값에 비례율이 도입된다.In step 108 the system generates an index lookup table for each multimedia normal playback stream. The index lookup table for a normal playback multimedia stream includes an index or array of two tuples, each tuple containing a normal playback time and an offset in each stream. If a trick play stream is present in the system at step 110, the system optionally generates an index lookup table for the trick play stream. An index lookup table for normal play, fast forward, and fast reverse streams is shown in FIG. 6. As shown, each tuple includes a normal playback time value and a corresponding file offset in the stream. For a normal play stream, the normal play time entry includes the normal play time value calculated in step 106. For trick playback systems with constant bit rate encoding, a proportional ratio is introduced to the normal playback time value of the index lookup table to compensate for the different display speeds.

인덱스 룩업 테이블은 멀티미디어 스트림 내의 특정한 정상 재생 시간 점에서 멀티미디어 서버(50)가 재생을 시작하거나 중지할 수 있도록, 각각 정상 재생 시간 및 파일 오프셋에 기초하여 인덱싱 또는 엔트리를 명시한다. 정상 재생 스트림에 대한 인덱스 룩업 테이블은 슬라이더 바(54)에 사용자 입력에 의해 지시된 여러 가지 위치에서 정상 재생 비디오 스트림에 대한 비디오 데이터를 미디어 서버(50)가 출력할 수 있도록, 본 발명에 따라서 사용된다. 트릭 재생 스트림에 대한 인덱스 룩업 테이블은 멀티미디어 서버(50)가 다른 표시속도를 갖는 스트림의 동일 위치, 즉 정상 재생 스트림과 트릭 재생 스트림 간에 그리고 이들에 전송할 수 있게 한다.The index lookup table specifies the indexing or entry based on the normal playback time and file offset, respectively, so that the multimedia server 50 can start or stop playback at a particular normal playback time point in the multimedia stream. The index lookup table for the normal playback stream is used in accordance with the present invention so that the media server 50 outputs video data for the normal playback video stream at various locations indicated by the user input to the slider bar 54. do. The index lookup table for the trick play stream allows the multimedia server 50 to transmit to and from the same location of the stream having different display rates, i.e., between the normal play stream and the trick play stream.

일실시예에서, 인덱스 룩업 테이블은 스트림을 시작, 정지 또는 스트림 간 전송을 위한 유효한 위치를 나타내는 터플 만을 포함한다. 스트림의 시작부터 그 위치까지 실제 표시속도가 다른 스트림마다 다를 것이긴 하나, 다른 표시속도를 갖는 멀티미디어 스트림 내의 등가 위치는 동일한 NPT 값을 가질 것임에 유의한다. 동일한 NPT 값을 가질지라도 다른 표시속도를 갖는 멀티미디어 스트림 내의 등가 위치는 다른 표시속도를 갖는 추정된 스트림의 길이 차에 기인하여 다른 바이트 오프셋을 가질 것임에 유의한다.In one embodiment, the index lookup table contains only tuples that indicate valid locations for starting, stopping, or inter-stream transmission of the stream. Note that although the actual display speed from the beginning of the stream to its location will vary for different streams, equivalent positions in multimedia streams with different display speeds will have the same NPT value. Note that even if they have the same NPT value, equivalent positions in multimedia streams having different display rates will have different byte offsets due to the difference in length of estimated streams having different display rates.

룩업 테이블의 생성은 임의의 특정 형태의 비디오 압축 또는 MPEG 표현과는 무관하다. MPEG 압축이 사용되는 경우의 바람직한 실시예에서, 인덱스 룩업 테이블은 MPEG 파일 전체를 조사하여, MPEG 파일 내의 랜덤 액세스 점을 취하여, MPEG파일 내의 표시 시간 스탬프로부터 정상 재생 시간 기준으로 변환함으로써 생성된다. 개념적으로, 각각의 인덱스 테이블은 장면에 대한 정상 재생 시간의 어레이를 포함하며, 영화 내의 임의의 특정 이미지 또는 프레임은 정상 재생 시간 값에 의해 식별될 수 있다. 상기 언급한 바와 같이, 인덱스 테이블은 정상 재생 스트림 및 어떤 트릭 재생 스트림, 예를 들어 패스트 포워드 및 패스트 리버스 스트림에 대해 생성된다. 인덱스 테이블에 저장된 오프셋 각각은 특정 장면이 시작되는 MPEG 파일 내에서 정상 재생 시간부터 바이트 오프셋까지의 인덱싱이다.The creation of the lookup table is independent of any particular form of video compression or MPEG representation. In a preferred embodiment where MPEG compression is used, an index lookup table is generated by examining the entire MPEG file, taking a random access point in the MPEG file, and converting from the display time stamp in the MPEG file to a normal reproduction time reference. Conceptually, each index table contains an array of normal play times for a scene, and any particular image or frame in a movie may be identified by the normal play time value. As mentioned above, an index table is created for normal play streams and some trick play streams, for example fast forward and fast reverse streams. Each offset stored in the index table is indexing from the normal playback time to the byte offset in the MPEG file at which a particular scene begins.

그러므로, 바람직한 실시예에서, 본 발명의 시스템은 인덱스 테이블에 대한 정상 재생 시간 기준을 사용한다. 대안 실시예에서, 본 발명의 시스템은 각각의 GOP(픽쳐들의 군)에 대한 오프셋 목록을 사용하여 인덱스 룩업 테이블을 생성한다. 상기 언급한 바와 같이, 원한다면 인덱스 테이블을 생성하는 다른 방법을 사용할 수 있다.Therefore, in a preferred embodiment, the system of the present invention uses a normal play time criterion for the index table. In an alternative embodiment, the system of the present invention creates an index lookup table using an offset list for each GOP (group of pictures). As mentioned above, you can use other methods of creating index tables if you wish.

도 7 - 셋톱 박스 동작Figure 7-Set Top Box Operation

도 7은 셋톱 박스(57)의 동작을 도시한 흐름도이다. 도 7은 슬라이더 바(54)의 동작 및 슬라이더 바(54) 상의 노브(55)의 사용자 조작에 관한 셋톱 박스(57)의 동작을 도시한 것이다. 도시한 바와 같이, 단계 160에서 셋톱 박스(57)는 도 2에 도시한 바와 같이, 텔레비전 세트 스크린 상에 슬라이더 바(54) 및 노브(55)를 디스플레이한다. 바람직한 실시예에서, 사용자는 슬라이더 바(54)가 디스플레이되게 원격 제어기(56)의 일시정지 버튼을 누른다. 즉, 슬라이더 바(54)는 사용자가 일시정지 버튼을 누를 때 디스플레이된다. 또 다른 실시예에서, 사용자의 원격 제어기(56)는 슬라이더 바(54)가 디스플레이되게 하거나 되기 않게 하는 전용 버튼 또는 메뉴선택을 포함한다. 따라서, 도 7의 흐름도에서, 셋톱 박스(57)는 원격 제어기(56)로부터 사용자 입력에 응답하여 슬라이더 바(54)를 디스플레이하는 것으로 가정한다.7 is a flowchart illustrating the operation of the set top box 57. 7 illustrates the operation of the set top box 57 with respect to the operation of the slider bar 54 and the user operation of the knob 55 on the slider bar 54. As shown, in step 160 set-top box 57 displays slider bar 54 and knob 55 on the television set screen, as shown in FIG. In the preferred embodiment, the user presses the pause button on the remote controller 56 such that the slider bar 54 is displayed. That is, the slider bar 54 is displayed when the user presses the pause button. In another embodiment, the user's remote control 56 includes a dedicated button or menu selection that causes the slider bar 54 to be displayed or not. Thus, in the flow chart of FIG. 7, it is assumed that set top box 57 displays slider bar 54 in response to user input from remote controller 56.

단계 162에서, 셋톱 박스(57)는 미디어 서버(50)로부터 수신된 비디오 스트림의 위치에 기초하여 슬라이더 바(54) 내의 슬라이더 바 노브(55)의 위치를 업 데이트한다. 따라서, 슬라이더 바(54)가 디스플레이될 때, 셋톱 박스(57)는 비디오 스트림 또는 영화가 재생되고 있는 곳의 위치로 슬라이더 바 노브(55)의 위치를 업데이트한다. 따라서, 슬라이더 바 노브(55)는 디스플레이된 영화의 상대적인 부분을 표시한다. 단계 162는 생략될 수 있는 선택적인 단계로서 즉 슬라이더 바 노브(55)는 슬라이더 바(54)의 사용자 조작에 기초하고 영화 또는 비디오 스트림의 정상 재생에 기초하지 않고 업데이트될 수도 있을 뿐임에 유념한다.In step 162, set top box 57 updates the position of slider bar knob 55 in slider bar 54 based on the position of the video stream received from media server 50. Thus, when the slider bar 54 is displayed, the set top box 57 updates the position of the slider bar knob 55 to the position where the video stream or movie is being played. Thus, slider bar knob 55 displays the relative portion of the displayed movie. Note that step 162 is an optional step that can be omitted, that is, the slider bar knob 55 may be updated based on the user's operation of the slider bar 54 and not based on normal playback of the movie or video stream.

사용자가 단계 164에서 결정된 바와 같이 슬라이더 바 노브(55)에 입력할 때, 단계 165에서 셋톱 박스(57)는 선정된 범위내의 상대적인 값을 노브(55)의 새로운 위치에 기초하여 계산한다. 따라서, 여기에서는, 원격 제어기(56) 또는 다른 장치를 사용하는 사용자는 비디오 스트림 또는 영화 내의 다른 위치로 점프 또는 인덱싱하기 위해서 슬라이더 바(54)의 슬라이더 바 노브(55)를 조작하였다고 가정한다. 단계 164에서 사용자 입력이 수신된 것으로 판정될 때, 셋톱 박스(57)는 선정된 범위 내의 값을 계산한다. 바람직한 실시예에서, 선정된 범위는 0과 100 사이의 값으로, 0은 영화 또는 스트림의 절대 시작이며, 100은 영화 또는 스트림의 절대 종료이며, 이들 사이의 값은 스트림 내의 상대적 위치를 나타낸다. 따라서, 사용자가 슬라이더 바 노브(55)를 조작한 후에, 셋톱 박스(57)는 노브(55)의 새로운 위치를 조사한다. 즉 수신된 사용자 입력을 분석하여, 단계 166에서 노브(55)의 새로운 위치에 근거하여 0과 100사이의 상대 값을 계산한다. 단계 166에서 이러한 새로운 상대 값을 계산한 후에, 단계 168에서 셋톱 박스(57)는 계산된 값을 미디어 서버(50)로 제공한다. 이하 더 설명되는 바와 같이, 이 계산된 값은 미디어 서버(50)에 의해 수신되어 슬라이더 바 노브(55)의 사용자 조작에 기초하여 새로운 위치에서 비디오 스트림을 입력하는데 사용된다.When the user enters the slider bar knob 55 as determined in step 164, in step 165 the set top box 57 calculates a relative value within the selected range based on the new position of the knob 55. Thus, it is assumed herein that a user using the remote controller 56 or other device has manipulated the slider bar knob 55 of the slider bar 54 to jump or index to another location in the video stream or movie. When it is determined in step 164 that a user input has been received, the set top box 57 calculates a value within a predetermined range. In a preferred embodiment, the predetermined range is a value between 0 and 100, where 0 is the absolute start of the movie or stream, 100 is the absolute end of the movie or stream, and a value between them represents a relative position in the stream. Thus, after the user operates the slider bar knob 55, the set top box 57 examines the new position of the knob 55. That is, the received user input is analyzed to calculate a relative value between 0 and 100 based on the new position of knob 55 in step 166. After calculating this new relative value in step 166, the set top box 57 provides the calculated value to the media server 50 in step 168. As will be explained further below, this calculated value is received by the media server 50 and used to input the video stream at a new location based on the user manipulation of the slider bar knob 55.

도 8 - 미디어 서버 동작Figure 8-Media Server Operation

도 8은 슬라이더 바(54)의 사용자 조작에 응답하여 정상 재생 비디오 스트림을 전송하는 미디어 서버(50)의 동작을 설명하는 흐름도이다. 여기서, 비디오 스트림 또는 멀티미디어 스트림은 미디어 서버(50)로부터 가입자 유니트(52)로 출력되고 있으며, 사용자는 스트림 또는 영화 내의 다른 부분 또는 위치로 인덱싱 또는 "점프"하기 위해서 슬라이더 바(54)의 노브(55)를 조정하였다고 가정한다.8 is a flowchart for explaining the operation of the media server 50 for transmitting the normal playback video stream in response to the user operation of the slider bar 54. As shown in FIG. Here, the video stream or the multimedia stream is output from the media server 50 to the subscriber unit 52, and the user can adjust the knobs of the slider bar 54 to index or "jump" to other parts or positions in the stream or movie. Suppose you have adjusted 55).

단계 202에서, 미디어 서버(50)는 슬라이더 바(54)로부터 사용자 입력에 응답하여 생성된 정보를 셋톱 박스(57)로부터 수신한다. 사용자 입력은 초기엔 사용자에 의해 텔레비전 세트 및/또는 셋톱 박스(57)로 제공되며, 이 사용자 입력은 단계 202에서 셋톱 박스(57)로부터 미디어 서버로 제공된다. 바람직한 실시예에서, 단계 202에서 수신된 사용자 입력은 가입자 장치 또는 셋톱 박스(57)에 의해서 제공된 것으로서 슬라이더 바(54)의 사용자 조작에 기초하여 영화내의 상대적 위치를 나타내는 바람직하게 0-100인 미리 정해진 범위 내의 값을 포함한다.In step 202, media server 50 receives information from set top box 57 generated in response to user input from slider bar 54. User input is initially provided by the user to the television set and / or set top box 57, which is provided to the media server from the set top box 57 in step 202. In a preferred embodiment, the user input received in step 202 is provided by subscriber device or set-top box 57 and is preferably 0-100, indicating a relative position in the movie based on user manipulation of slider bar 54. Contains a value within the range.

단계 204에서 미디어 서버(50)는 수신된 사용자 입력에 기초하여 새로운 정상 재생 시간 값을 결정한다. 단계 204에서, 미디어 서버(50)는 미리 정해진 범위 내의 값, 즉 0-100 내의 값을 사용하며, 또한 미디어 서버(50)의 메모리 내에 저장된 영화 시간길이를 사용하여, 정상 재생 시간 값을 계산한다. 예를 들어, 사용자가 슬라이더 바(54)의 정확히 중간에 노브가 위치하도록 슬라이더 바의 노브를 조정한다면, 셋톱 박스(57)는 미디어 서버(50)로 50의 출력을 제공한다. 영화 길이가 정확히 2시간이면, 미디어 서버(50)는 한 시간의 정상 재생 시간 값을 출력한다. 정상 재생 시간 값은 0.5 × 2시간 = 1시간으로서 계산된다. 또 다른 예에서, 사용자가 슬라이더 바(54) 내의 정확히 1/3 위치, 즉 좌측으로부터 1/3에 노브(55)가 위치하도록 슬라이더 바(54)를 조정하면, 가입자 장치는 미디어 서버(50)에 33의 출력을 제공한다. 다시 영화길이가 정확히 두시간이라 하면, 미디어 서버(50)는 영화의 1/3 길이가 되는 40분의 정상 재생 시간값을 출력한다.In step 204 the media server 50 determines a new normal play time value based on the received user input. In step 204, the media server 50 calculates the normal play time value using a value within a predetermined range, that is, a value within 0-100, and also using the movie time length stored in the memory of the media server 50. . For example, if the user adjusts the knob of the slider bar so that the knob is positioned exactly in the middle of the slider bar 54, the set top box 57 provides 50 output to the media server 50. If the movie length is exactly 2 hours, the media server 50 outputs the normal playback time value of one hour. The normal regeneration time value is calculated as 0.5 x 2 hours = 1 hour. In another example, if the user adjusts the slider bar 54 such that the knob 55 is positioned exactly one third of the position in the slider bar 54, i.e., one third from the left, the subscriber device may request a media server 50. Gives 33 outputs. If the movie length is exactly two hours, the media server 50 outputs a normal playback time value of 40 minutes, which is 1/3 of the movie length.

바람직한 실시예에서, 미디어 서버에서 실행되는 프로그램은 셋톱 박스로 부터 수신된 0-100인자에 의해 영화 시간길이를 조정하며, 결과적으로 나타난 정상 재생 시간(NPT) 값에 영화나 비디오 시퀀스가 위치하도록 미디어 서버에 요청한다. 단계 204에서 수신된 사용자 입력에 기초하여 정확한 정상 재생 시간을 결정하는데 있어 다른 방법이 사용될 수 있음에 유의한다. 예를 들어, 일 실시예에서, 셋톱 박스(57)는 단계 204를 수행한다. 이 실시예에서, 셋톱 박스(57)는 영화 또는 비디오 스트림 시작에서 영화길이 값을 수신 또는 취하여, 메모리에 이 영화길이 값을 저장한다. 따라서, 셋톱 박스(57)가 슬라이더 바(54) 내에 노브를 위치시킨 사용자 입력을 수신하였을 때, 셋톱 박스(57)는 단계 202에서 영화길이를 사용하여 미디어 서버에 제공될 정상 재생 시간을 계산한다. 이 실시예에서, 셋톱 박스(57)는 인덱스 테이블을 액세스해야 하며, 이것은 미디어 서버(50)나 셋톱 박스(57)에 저장된다.In a preferred embodiment, the program running on the media server adjusts the movie time length by 0-100 factors received from the set-top box, and the media so that the movie or video sequence is located at the resulting normal play time (NPT) value. Ask the server. Note that other methods may be used to determine the correct normal playback time based on the user input received at step 204. For example, in one embodiment, set top box 57 performs step 204. In this embodiment, the set top box 57 receives or takes the movie length value at the beginning of the movie or video stream and stores this movie length value in memory. Thus, when set-top box 57 receives a user input that locates a knob in slider bar 54, set-top box 57 calculates the normal playback time to be provided to the media server using the movie length in step 202. . In this embodiment, the set top box 57 must access the index table, which is stored in the media server 50 or set top box 57.

단계 204에서 수신된 사용자 입력에 기초하여 새로운 정상 재생 시간이 결정된 후, 단계 206에서 미디어 서버(50)는 단계 204에서 결정된 정상 재생 시간에 기초하여 정상 재생 스트림 내의 새로운 위치에 인덱싱한다. 이에 따라 단계 206에서 미디어 서버는 단계 204에서 계산된 정상 재생 시간을 사용하여 정상 재생 스트림 인덱스 테이블로부터 오프셋을 불러들인다. 단계 208에서 미디어 서버(50)는 인덱싱된 위치 또는 단계 206에서 결정된 오프셋 위치에서 정상 재생 스트림을 출력한다.After the new normal playback time is determined based on the user input received in step 204, the media server 50 indexes the new location in the normal playback stream based on the normal playback time determined in step 204. Accordingly, in step 206 the media server retrieves an offset from the normal play stream index table using the normal play time calculated in step 204. In step 208 the media server 50 outputs the normal playback stream at the indexed position or at the offset position determined in step 206.

그러므로, 슬라이더 바(54)의 노브를 사용자가 조작하는 것에 응답하여, 미디어 서버(50)는 슬라이더 바(54) 내의 노브(55)의 사용자 조작에 기초하여 스트림 내의 새로운 위치에서 각각의 비디오 스트림을 출력한다. 이것은 사용자가 비디오 스트림 내에서 패스트 포워드 및/또는 패스트 리버스하게 하는 매우 직관적인 방법을 제공한다. 즉, 이것은 사용자가 비디오 스트림 내의 임의의 원하는 위치로 점프하게 하는 간단하면서도 직관적인 메카니즘을 제공한다.Therefore, in response to the user operating the knob of the slider bar 54, the media server 50 selects each video stream at a new position in the stream based on the user operation of the knob 55 in the slider bar 54. FIG. Output This provides a very intuitive way for the user to fast forward and / or fast reverse within the video stream. In other words, this provides a simple and intuitive mechanism that allows the user to jump to any desired position in the video stream.

따라서, 주어진 정상 재생 시간에서 출력되는 각각의 스트림의 출력의 위치변화는 가장 근접한 정상재생 시간에 대한 각각의 인덱스 테이블 내의 터플을 찾아 스트림 재생을 개시하는 지점으로서 관련된 파일 오프셋을 이용함으로써 달성된다.Thus, a change in the position of the output of each stream output at a given normal playback time is achieved by using the associated file offset as a point to find a tuple in each index table for the closest normal playback time to start playing the stream.

본 발명의 일실시예에서, 셋톱 박스(57)는 슬라이더 바 노브(55)를 사용자가 우선, 조작에 앞서 슬라이더 바 노브(55)의 위치를 저장하는 캐시 메모리를 포함한다. 따라서, 사용자가 20분간 영화를 시청하고 영화의 여러 가지 다른 부분으로 전진하거나 후진하고자 하며 이어서 시청을 재개하기 위해 영화의 원래의 위치로 돌아가고자 한다면, 사용자는 노브가 슬라이더 바의 임의의 사용자 조작 전에 있었던 위치로 슬라이더 바 노브(55)에 위치시키는 원격 제어기(56)의 버튼을 선택할 수 있다.In one embodiment of the present invention, the set top box 57 includes a cache memory for storing the position of the slider bar knob 55 prior to the user's manipulation of the slider bar knob 55. Thus, if a user watches a movie for 20 minutes, wants to advance or rewind to various other parts of the movie, and then wants to return to the original position of the movie to resume watching, the user may select the knob before any user manipulation of the slider bar. It is possible to select a button of the remote controller 56 to position the slider bar knob 55 to the position where it was.

그러므로, 본 발명은 정상 재생 비디오 스트림 내의 다른 위치에 인덱싱하기 위해 그래픽 아이콘이나 슬라이더 바를 제공하는 시스템 및 방법을 포함한다. 본 발명은 정상 재생 스트림의 시퀀스 헤더 내의 표시 시간 스탬프를 검사하여 정상재생 시간 기준을 생성한다. 이어서 시스템은 스트림에 대한 인덱스 테이블 또는 룩업 테이블을 생성한다. 스트림에 대한 인덱스 테이블은 정상 재생 시간 값 및 각각의 스트림으로의 대응하는 오프셋을 포함한다. 재생하는 동안, 사용자가 슬라이더 바 노브를 조작 또는 조정한 때, 가입자 장치 또는 셋톱 박스는 각각의 인덱스 테이블을 사용하여, 정상 재생 스트림 내의 적합한 위치로 지능형으로 점프 또는 인덱싱하도록 하며 이 새로운 위치에서 스트림 출력을 시작한다.Therefore, the present invention includes a system and method for providing a graphical icon or slider bar for indexing to another location within a normal playback video stream. The present invention examines the display time stamp in the sequence header of the normal playback stream to generate a normal playback time reference. The system then creates an index table or lookup table for the stream. The index table for the stream includes the normal play time value and the corresponding offset into each stream. During playback, when the user manipulates or adjusts the slider bar knob, the subscriber device or set-top box uses its respective index table to intelligently jump or index to the appropriate location within the normal playback stream and output the stream at this new location. To start.

본 발명의 시스템 및 방법을 기재된 실시예와 관련하여 설명되었을 지라도, 이하에 설정된 특정 형태로 제한되도록 의도된 것이 아니라 첨부된 청구범위들에 정의된 본 발명의 정신 및 범위 내에 적절히 포함될 수 있는 대안들, 변경들 및 등가물들을 포함하도록 의도된 것이다.Although the system and method of the present invention have been described in connection with the described embodiments, it is not intended to be limited to the specific forms set forth below but alternatives may be included as appropriate within the spirit and scope of the invention as defined in the appended claims. , Modifications and equivalents are intended to be included.

Claims (26)

비디오 딜리버리 시스템에서 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법에 있어서,A computer implemented method for indexing locations in a video stream in a video delivery system, the method comprising: 상기 비디오 딜리버리 시스템은 미디어 서버와, 상기 미디어 서버에 결합된 가입자 장치를 포함하고, 상기 가입자 장치는 디스플레이 스크린을 포함하며, 상기 방법은:The video delivery system includes a media server and a subscriber device coupled to the media server, the subscriber device comprising a display screen, the method comprising: 상기 미디어 서버로부터 수신된 비디오 스트림을 상기 가입자 장치의 상기 디스플레이 스크린 상에 디스플레이하는 단계와,Displaying the video stream received from the media server on the display screen of the subscriber device; 상기 비디오 스트림 내의 위치들에 인덱싱하기 위한 그래픽 아이콘을 상기 가입자 장치의 상기 디스플레이 스크린 상에 디스플레이하는 단계로서, 상기 그래픽 아이콘은 상기 수신된 비디오 스트림의 위치의 변화들을 초래하도록 조정가능한, 상기 그래픽 아이콘 디스플레이 단계와,Displaying a graphic icon on the display screen of the subscriber device for indexing to locations in the video stream, the graphic icon being adjustable to result in changes in the position of the received video stream. Steps, 사용자로부터 상기 비디오 스트림의 출력 위치의 원하는 변화를 나타내는 입력을 수신하는 단계와,Receiving input from a user indicating a desired change in output position of the video stream; 상기 사용자로부터 입력을 수신하는 상기 단계에 응답하여 상기 가입자 장치가 상기 미디어 서버에 정보를 제공하는 단계와,The subscriber device providing information to the media server in response to receiving the input from the user; 상기 가입자 장치로부터 상기 정보를 수신하는 단계에 응답하여 상기 미디어 서버가 상기 비디오 스트림에 대한 새로운 출력 위치를 결정하는 단계, 및In response to receiving the information from the subscriber device, the media server determining a new output location for the video stream; and 상기 새로운 출력 위치를 결정하는 상기 단계에 응답하여 상기 미디어 서버가 상기 새로운 위치에서 상기 비디오 스트림을 출력하는 단계를 포함하는, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.And in response to the step of determining the new output location, the media server outputting the video stream at the new location. 제 1 항에 있어서,The method of claim 1, 상기 입력을 수신하는 단계는 상기 그래픽 아이콘에 대한 조정을 수신하는 단계를 포함하는, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.Receiving the input comprises receiving adjustments to the graphical icon. The computer-implemented method for indexing to locations in a video stream. 제 2 항에 있어서,The method of claim 2, 상기 그래픽 아이콘은 상기 수신된 비디오 스트림의 위치의 변화들을 초래하도록 조정할 수 있는 조정가능한 노브(knob)를 포함하며, 상기 입력을 수신하는 단계는 상기 그래픽 아이콘의 새로운 위치로 상기 그래픽 아이콘 내의 상기 노브를 이동시키는 단계를 포함하는, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.The graphic icon includes an adjustable knob that can be adjusted to cause changes in the position of the received video stream, and receiving the input includes moving the knob in the graphic icon to a new position of the graphic icon. And moving the index to locations in the video stream. 제 1 항에 있어서,The method of claim 1, 상기 미디어 서버는 상기 비디오 스트림에 대응하는 인덱스 테이블을 저장하고, 상기 인덱스 테이블은 복수의 터플(tuple)들을 포함하고, 상기 터플들의 각각은 제 1 값 및 상기 비디오 스트림의 위치로의 오프셋인 제 2 오프셋 값을 포함하며, 상기 수신된 사용자 입력에 응답하여 상기 미디어 서버가 상기 비디오 스트림의 새로운 위치를 결정하는 단계는 상기 비디오 스트림으로의 오프셋을 얻기 위해서 상기 미디어 서버가 상기 인덱스 룩업 테이블에 인덱싱하는 단계를 포함하는, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.The media server stores an index table corresponding to the video stream, the index table including a plurality of tuples, each of the tuples being a first value and an offset into the position of the video stream. The media server determining a new location of the video stream in response to the received user input, the media server indexing the index lookup table to obtain an offset into the video stream. And a computer-implemented method for indexing to locations in a video stream. 제 4 항에 있어서,The method of claim 4, wherein 상기 복수의 터플들의 각각은 정상 재생 시간 값 및 상기 비디오 스트림으로의 오프셋을 포함하고,Each of the plurality of tuples comprises a normal playback time value and an offset into the video stream, 상기 가입자 장치가 정보를 제공하는 단계는 상기 가입자 장치가 상기 수신된 사용자 입력에 기초하여 상기 비디오 스트림 내의 상대적 위치를 나타내는 미리 정해진 범위 내의 값을 제공하는 단계를 포함하며,Providing the information by the subscriber device comprises providing the subscriber device with a value within a predetermined range indicating a relative position within the video stream based on the received user input; 상기 미디어 서버가 상기 비디오 스트림에 대한 새로운 출력 위치를 결정하는 단계는 상기 미디어 서버가 상기 미리 정해진 범위 내의 상기 수신된 값에 기초하여 정상 재생 시간 값을 결정하는 단계를 포함하는, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.Determining, by the media server, a new output location for the video stream, the media server determining a normal playback time value based on the received value within the predetermined range. Computer-implemented method for indexing 제 5 항에 있어서,The method of claim 5, 상기 미리 정해진 범위는 0 내지 100의 값인, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.And said predetermined range is a value from 0 to 100. The computer-implemented method for indexing to locations in a video stream. 제 1 항에 있어서,The method of claim 1, 상기 그래픽 아이콘은 노브를 포함하는 슬라이더 바를 포함하며, 상기 노브는 상기 가입자 장치에 의해 수신된 상기 출력 비디오 스트림의 위치를 나타내기 위해 상기 슬라이더 바 내의 위치에 위치되는, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.The graphical icon includes a slider bar comprising a knob, the knob indexing locations in the video stream, located at a location in the slider bar to indicate a location of the output video stream received by the subscriber device. Computer-implemented method for. 제 1 항에 있어서,The method of claim 1, 상기 비디오 스트림을 일시정지시키기 위해 사용자 입력을 수신하는 단계를 더 포함하며,Receiving user input to pause the video stream, 상기 가입자 장치의 상기 디스플레이 스크린 상에 상기 그래픽 아이콘을 디스플레이하는 단계는 상기 비디오 스트림을 일시정지시키기 위해 상기 사용자 입력을 수신하는 단계에 응답하여 수행되는, 비디오 스트림 내의 위치들에 인덱싱 하기 위한 컴퓨터로 구현된 방법.The step of displaying the graphical icon on the display screen of the subscriber device is computer implemented for indexing to locations in the video stream, the response being performed in response to receiving the user input to pause the video stream. Way. 제 8 항에 있어서,The method of claim 8, 상기 그래픽 아이콘은 상기 수신된 비디오 스트림의 위치의 변화들을 초래하도록 조정할 수 있는 조정가능한 노브를 포함하며, 상기 방법은,The graphic icon includes an adjustable knob that can be adjusted to cause changes in the position of the received video stream, the method comprising: 상기 가입자 장치의 상기 디스플레이 스크린 상에 상기 그래픽 아이콘을 디스플레이하는 단계에 응답하여 상기 그래픽 아이콘 상의 상기 노브의 위치를 업데이트하는 단계를 더 포함하고, 상기 업데이트하는 단계는 상기 출력 스트림의 현재 위치에 따라 상기 그래픽 아이콘 상의 상기 노브의 위치를 업데이트하는, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.In response to displaying the graphic icon on the display screen of the subscriber device, updating the position of the knob on the graphic icon, wherein the updating comprises: according to the current position of the output stream; A computer-implemented method for indexing positions in a video stream that updates the position of the knob on a graphical icon. 제 1 항에 있어서,The method of claim 1, 상기 가입자 장치는 텔레비전 세트를 포함하는, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.And the subscriber device comprises a television set. The computer-implemented method for indexing to locations in a video stream. 제 1 항에 있어서,The method of claim 1, 상기 가입자 장치는 텔레비전 세트와 상기 텔레비전 세트에 결합된 셋톱 박스를 포함하는, 비디오 스트림 내의 위치들에 인덱싱하기 위한 컴퓨터로 구현된 방법.And the subscriber device comprises a television set and a set top box coupled to the television set. 사용자가 비디오 스트림 내의 위치들에 인덱싱할 수 있도록 하는 대화식 비디오 딜리버리 시스템(interactive video delivery system)에 있어서,In an interactive video delivery system that enables a user to index locations in a video stream, 비디오 스트림을 출력하는 미디어 서버로서, 상기 미디어 서버는 상기 비디오 스트림의 다른 위치들에서 상기 비디오 스트림을 선택적으로 출력할 수 있는, 상기 미디어 서버, 및A media server for outputting a video stream, the media server capable of selectively outputting the video stream at other locations of the video stream, and 상기 미디어 서버로부터 출력된 상기 비디오 스트림을 수신하는 상기 미디어 서버에 결합된 가입자 장치를 포함하며, 상기 가입자 장치는:A subscriber device coupled to the media server receiving the video stream output from the media server, the subscriber device comprising: 상기 미디어 서버로부터 수신된 상기 비디오 스트림을 디스플레이하는 디스플레이 스크린으로서, 상기 가입자 장치의 디스플레이 스크린은 상기 비디오 스트림 내의 위치들에 인덱싱하기 위한 그래픽 아이콘을 또한 디스플레이하고, 상기 그래픽 아이콘은 상기 수신된 비디오 스트림의 위치의 변화들을 초래하도록 조정가능한, 상기 디스플레이 스크린과,A display screen displaying the video stream received from the media server, wherein the display screen of the subscriber device also displays a graphic icon for indexing to locations in the video stream, the graphic icon of the received video stream; The display screen, adjustable to cause changes in position, 사용자로부터 상기 비디오 스트림의 출력 위치의 원하는 변화를 나타내는 입력을 수신하기 위한 입력, 및An input for receiving from the user an input representing a desired change in output position of the video stream, and 상기 사용자로부터 입력을 수신하는 것에 응답하여 상기 미디어 서버에 정보를 제공하기 위한 수단을 포함하며,Means for providing information to the media server in response to receiving input from the user, 상기 미디어 서버는 상기 정보를 수신하기 위한 입력을 포함하고; 상기 미디어 서버는 상기 미디어 서버로부터 상기 정보를 수신하는 것에 응답하여 새로운 위치에서 상기 비디오 스트림을 출력하는, 대화식 비디오 딜리버리 시스템.The media server includes an input for receiving the information; The media server outputs the video stream at a new location in response to receiving the information from the media server. 제 12 항에 있어서,The method of claim 12, 상기 가입자 장치 입력은 상기 그래픽 아이콘에 대한 조정을 수신하기 위한 입력을 포함하는, 대화식 비디오 딜리버리 시스템.And the subscriber device input comprises an input for receiving adjustments to the graphical icon. 제 13 항에 있어서,The method of claim 13, 상기 그래픽 아이콘은 상기 수신된 비디오 스트림의 위치의 변화들을 초래하도록 조정될 수 있는 조정가능한 노브를 포함하며, 상기 그래픽 아이콘 내의 상기 노브는 상기 그래픽 아이콘 내의 새로운 위치로 이동가능하고,The graphical icon includes an adjustable knob that can be adjusted to cause changes in the position of the received video stream, the knob within the graphical icon is movable to a new position within the graphical icon, 상기 가입자 장치 입력은 상기 그래픽 아이콘 내의 상기 노브에 대한 조정을 수신하기 위한 입력을 포함하는, 대화식 비디오 딜리버리 시스템.The subscriber device input includes an input for receiving an adjustment to the knob in the graphical icon. 제 12 항에 있어서,The method of claim 12, 상기 미디어 서버는 상기 가입자 장치로부터 상기 정보를 수신하는 것에 응답하여 상기 비디오 스트림에 대한 새로운 출력 위치를 결정하기 위한 수단을 포함하는, 대화식 비디오 딜리버리 시스템.The media server includes means for determining a new output location for the video stream in response to receiving the information from the subscriber device. 제 15 항에 있어서, 상기 미디어 서버는The method of claim 15, wherein the media server 상기 비디오 스트림에 대응하는 인덱스 테이블을 저장하는 메모리로서, 상기 인덱스 테이블은 복수의 터플들을 포함하고, 상기 터플들의 각각은 제 1 값과, 상기 비디오 스트림의 위치로의 오프셋인 제 2 오프셋 값을 포함하는, 상기 메모리를 더 포함하며,A memory for storing an index table corresponding to the video stream, the index table including a plurality of tuples, each of the tuples including a first value and a second offset value that is an offset to a location of the video stream Further comprising the memory, 상기 비디오 스트림에 대한 새로운 출력 위치를 결정하기 위한 상기 수단은 상기 비디오 스트림으로의 오프셋을 얻기 위해서 상기 메모리 내에 저장된 상기 인덱스 룩업 테이블에 인덱싱하는, 대화식 비디오 딜리버리 시스템.And the means for determining a new output location for the video stream indexes the index lookup table stored in the memory to obtain an offset into the video stream. 제 16 항에 있어서,The method of claim 16, 상기 복수의 터플들의 각각은 정상 재생 시간 값 및 상기 비디오 스트림으로의 오프셋을 포함하며,Each of the plurality of tuples comprises a normal playback time value and an offset into the video stream, 상기 정보를 제공하기 위한 수단은 상기 수신된 사용자 입력에 기초하여 상기 비디오 스트림 내의 상대적 위치를 나타내는 미리 정해진 범위 내의 값을 제공하고,The means for providing the information provides a value within a predetermined range indicating a relative position in the video stream based on the received user input, 상기 비디오 스트림에 대한 새로운 출력 위치를 결정하기 위한 상기 수단은 상기 미리 정해진 범위 내의 상기 수신된 값에 기초하여 정상 재생 시간 값을 결정하는, 대화식 비디오 딜리버리 시스템.And the means for determining a new output location for the video stream determines a normal playback time value based on the received value within the predetermined range. 제 17 항에 있어서,The method of claim 17, 상기 미리 정해진 범위는 0 내지 100의 값인, 대화식 비디오 딜리버리 시스템.And the predetermined range is a value from 0 to 100. 제 12 항에 있어서,The method of claim 12, 상기 그래픽 아이콘은 노브를 포함하는 슬라이더 바를 포함하고, 상기 노브는 상기 가입자 장치에 의해 수신된 상기 출력 비디오 스트림의 위치를 나타내기 위해 상기 슬라이더 바 내의 위치에 위치되는, 대화식 비디오 딜리버리 시스템.The graphical icon includes a slider bar comprising a knob, the knob being located at a position within the slider bar to indicate a position of the output video stream received by the subscriber device. 제 12 항에 있어서,The method of claim 12, 사용자로부터 상기 비디오 스트림의 출력 위치의 원하는 변화를 나타내는 사용자로부터의 입력을 수신하기 위한 상기 입력은 상기 비디오 스트림을 일시정지시키기 위해 사용자 입력을 수신하는 것에 응답하여 동작하고,The input for receiving an input from the user indicating a desired change in output position of the video stream from the user operates in response to receiving the user input to pause the video stream, 상기 가입자 장치들은 상기 비디오 스트림을 일시정지시키기 위해 상기 사용자 입력을 수신하는 것에 응답하여 상기 디스플레이 스크린 상에 상기 그래픽 아이콘을 디스플레이하는, 대화식 비디오 딜리버리 시스템.The subscriber devices display the graphical icon on the display screen in response to receiving the user input to pause the video stream. 제 20 항에 있어서,The method of claim 20, 상기 그래픽 아이콘은 상기 수신된 비디오 스트림의 위치의 변화들을 초래하도록 조정할 수 있는 조정가능한 노브를 포함하고,The graphic icon includes an adjustable knob that can be adjusted to cause changes in the position of the received video stream, 상기 가입자 장치는 상기 가입자 장치가 상기 가입자 장치의 상기 디스플레이 스크린 상에 상기 그래픽 아이콘을 디스플레이하는 것에 응답하여 상기 그래픽 아이콘 상의 상기 노브의 위치를 업데이트하기 위한 수단을 더 포함하며, 상기 업데이트하기 위한 수단은 상기 출력 스트림의 현재 위치에 따라 상기 그래픽 아이콘 상의 상기 노브의 위치를 업데이트하는, 대화식 비디오 딜리버리 시스템.The subscriber device further comprises means for updating the position of the knob on the graphic icon in response to the subscriber device displaying the graphic icon on the display screen of the subscriber device, wherein the means for updating comprises: And update the position of the knob on the graphic icon according to the current position of the output stream. 제 12 항에 있어서,The method of claim 12, 상기 가입자 장치는 텔레비전 세트를 포함하는, 대화식 비디오 딜리버리 시스템.And the subscriber device comprises a television set. 제 12 항에 있어서,The method of claim 12, 상기 가입자 장치는 상기 텔레비전 세트 및 상기 텔레비전 세트에 결합된 셋톱 박스를 포함하는, 대화식 비디오 딜리버리 시스템.And the subscriber device comprises a television set and a set top box coupled to the television set. 사용자가 비디오 스트림 내의 위치들에 인덱싱할 수 있도록 하는 비디오 디스플레이 장치에 있어서,A video display device that enables a user to index to locations in a video stream, 미디어 서버로부터 입력된 비디오 스트림을 수신하도록 적응되어 있는 비디오 스트림 입력과,A video stream input adapted to receive a video stream input from a media server, 상기 수신된 비디오 스트림을 디스플레이하는 디스플레이 스크린으로서, 상기 비디오 디스플레이 장치의 디스플레이 스크린은 상기 비디오 스트림 내의 위치들에 인덱싱하기 위한 그래픽 아이콘을 또한 디스플레이하고, 상기 그래픽 아이콘은 상기 수신된 비디오 스트림의 위치의 변화들을 초래하도록 조정할 수 있는, 상기 디스플레이 스크린과,A display screen displaying the received video stream, wherein the display screen of the video display device also displays a graphic icon for indexing to locations in the video stream, the graphic icon changing a position of the received video stream The display screen, which can be adjusted to cause the 사용자로부터 상기 비디오 스트림의 출력 위치의 원하는 변화를 나타내는 입력을 수신하기 위한 입력, 및An input for receiving from the user an input representing a desired change in output position of the video stream, and 상기 사용자로부터의 입력을 수신하는 것에 응답하여 상기 미디어 서버에 정보를 제공하기 위한 수단을 포함하며,Means for providing information to the media server in response to receiving input from the user, 상기 비디오 디스플레이 장치는 상기 미디어 서버에 상기 정보를 제공하는 것에 응답하여 상기 비디오 스트림을 수신하고 새로운 위치에서 디스플레이하는, 비디오 디스플레이 장치.And the video display device receives and displays the video stream at a new location in response to providing the information to the media server. 제 24 항에 있어서,The method of claim 24, 사용자로부터 입력을 수신하기 위한 상기 입력은 상기 그래픽 아이콘에 대한 조정을 수신하기 위한 입력을 포함하는, 비디오 디스플레이 장치.And the input for receiving an input from a user comprises an input for receiving an adjustment to the graphical icon. 제 24 항에 있어서,The method of claim 24, 상기 그래픽 아이콘은 상기 수신된 비디오 스트림의 위치의 변화들을 초래하도록 조정할 수 있는 조정가능한 노브를 포함하며, 상기 그래픽 아이콘 내의 상기 노브는 상기 그래픽 아이콘의 새로운 위치로 이동가능하고,The graphic icon includes an adjustable knob that can adjust to cause changes in the position of the received video stream, the knob within the graphic icon is movable to a new position of the graphic icon, 사용자로부터 입력을 수신하기 위한 상기 입력은 상기 그래픽 아이콘 내의 상기 노브에 대한 조정을 수신하기 위한 입력을 포함하는, 비디오 디스플레이 장치.And the input for receiving an input from a user comprises an input for receiving an adjustment to the knob within the graphical icon.
KR10-1998-0710816A 1996-07-01 1997-07-01 Computer-implemented method for indexing locations in a video stream, interactive video delivery system, video display device KR100487684B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1998-0710816A KR100487684B1 (en) 1996-07-01 1997-07-01 Computer-implemented method for indexing locations in a video stream, interactive video delivery system, video display device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/673,582 1996-07-01
KR10-1998-0710816A KR100487684B1 (en) 1996-07-01 1997-07-01 Computer-implemented method for indexing locations in a video stream, interactive video delivery system, video display device

Publications (2)

Publication Number Publication Date
KR20000022385A KR20000022385A (en) 2000-04-25
KR100487684B1 true KR100487684B1 (en) 2005-09-14

Family

ID=43669041

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1998-0710816A KR100487684B1 (en) 1996-07-01 1997-07-01 Computer-implemented method for indexing locations in a video stream, interactive video delivery system, video display device

Country Status (1)

Country Link
KR (1) KR100487684B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850318B2 (en) 2007-04-23 2014-09-30 Digital Fountain, Inc. Apparatus and method for low bandwidth play position previewing of video content

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100564389B1 (en) * 2002-10-08 2006-03-27 주식회사 아이큐브 Multimedia clip displaying unit which is easy to appoint displaying position of the multimedia clip and has not pointing devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371532A (en) * 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
KR100265193B1 (en) * 1992-12-14 2000-09-15 이데이 노부유끼 Method and apparatus for picture coding and decoding and picture writing medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371532A (en) * 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
KR100265193B1 (en) * 1992-12-14 2000-09-15 이데이 노부유끼 Method and apparatus for picture coding and decoding and picture writing medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850318B2 (en) 2007-04-23 2014-09-30 Digital Fountain, Inc. Apparatus and method for low bandwidth play position previewing of video content

Also Published As

Publication number Publication date
KR20000022385A (en) 2000-04-25

Similar Documents

Publication Publication Date Title
US5903264A (en) Video delivery system and method for displaying an indexing slider bar
US6065050A (en) System and method for indexing between trick play and normal play video streams in a video delivery system
EP0895694B1 (en) System and method for creating trick play video streams from a compressed normal play video bitstream
CA2142801C (en) Frame sampling scheme for video in a video-on-demand system
US7926080B2 (en) Trick mode support for VOD with long intra-frame intervals
KR100793458B1 (en) The storage of interactive video programming
US7023924B1 (en) Method of pausing an MPEG coded video stream
KR100444000B1 (en) Audio-visual presentation system
KR100915367B1 (en) Video processing system that generates sub-frame metadata
KR20030068544A (en) Trick-mode processing for digital video
US20040111526A1 (en) Compositing MPEG video streams for combined image display
KR20040000512A (en) A system for switching from a first group of signals to a second group of signals
WO2001069911A2 (en) Interactive multimedia transmission system
KR100487684B1 (en) Computer-implemented method for indexing locations in a video stream, interactive video delivery system, video display device
KR100449200B1 (en) Computer implementation method, trick play stream generation system
CA2342316C (en) Frame sampling scheme for video in video-on-demand system
Gibbon et al. Internet Video
Rao et al. VVD: VCR operations for video on demand
KR20000033731A (en) Specific reproduction service providing method of video on demand
KR20000033732A (en) Specific reproduction service providing method of video on demand

Legal Events

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

Payment date: 20120328

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130424

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160404

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170404

Year of fee payment: 13

EXPY Expiration of term