[go: up one dir, main page]

CN100459682C - Closed caption tagging system - Google Patents

Closed caption tagging system Download PDF

Info

Publication number
CN100459682C
CN100459682C CNB2005100094809A CN200510009480A CN100459682C CN 100459682 C CN100459682 C CN 100459682C CN B2005100094809 A CNB2005100094809 A CN B2005100094809A CN 200510009480 A CN200510009480 A CN 200510009480A CN 100459682 C CN100459682 C CN 100459682C
Authority
CN
China
Prior art keywords
program
viewer
data
tags
tag
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
CNB2005100094809A
Other languages
Chinese (zh)
Other versions
CN1674660A (en
Inventor
J·M·巴顿
K·史密斯
D·尚柏林
H·路克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adeia Media Solutions Inc
Original Assignee
Tivo Inc
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 Tivo Inc filed Critical Tivo Inc
Priority claimed from US09/665,921 external-priority patent/US7889964B1/en
Publication of CN1674660A publication Critical patent/CN1674660A/en
Application granted granted Critical
Publication of CN100459682C publication Critical patent/CN100459682C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)

Abstract

A closed caption tagging system provides a mechanism for inserting tags into an audio or video television broadcast stream prior to or at the time of transmission. The tags contain command and control information that the receiver translates and acts upon. The receiver receives the broadcast stream and detects and processes the tags within the broadcast stream which is stored on a storage device that resides on the receiver. Program material from the broadcast stream is played back to the viewer from the storage device. The receiver performs the appropriate actions in response to the tags. Tags indicate the start and end points of a program segment. The receiver skips over a program segment during playback in response to the viewer pressing a button on a remote input device or it automatically skips over program segments depending on the viewer's preferences. Program segments such as commercials are automatically replaced by the receiver with new program segments that are selected based on various criteria. Menus, icons, and Web pages are displayed to the viewer based on information included in a tag. The viewer interacts with the menu, icon, or Web page through an input device with the receiver performing the associated actions. If a menu or actions requires that the viewer exits from the playback of the program material, then the receiver saves the exit point and returns the viewer back to the same exit point when the viewer has completed the interaction session. Menus and icons are used to generate leads, generate sales, and schedule the recording of programs. A one-touch recording option is provided. An icon is displayed to the viewer telling the viewer that an advertised program is available for recording at a future time. The viewer presses a single button on an input device causing the receiver to schedule the program for recording.

Description

经由电视广播数据流的广告排定电视节目录制时程的装置和方法 Apparatus and method for scheduling television program recording via advertisements in a television broadcast data stream

本申请是申请日为2000年9月20日、申请号为00815914.9(国际申请号为PCT/US 00/25847)、标题为“闭式字幕添加标签的系统”的专利申请的分案申请。This application is a divisional application of a patent application with an application date of September 20, 2000, an application number of 00815914.9 (the international application number is PCT/US 00/25847), and a titled "system for adding labels to closed captions".

技术领域 technical field

本发明涉及多媒体影音数据流。更具体而言,本发明涉及多媒体影音电视广播数据流添加标签。The invention relates to multimedia audio-visual data flow. More specifically, the present invention relates to tagging of multimedia audio-visual television broadcast data streams.

背景技术 Background technique

盒式磁带录像机(VCR)已改变全世界电视观众的生活。VCR可提供富有时间变换弹性的电视节目,以配合其生活方式。Video cassette recorders (VCRs) have changed the lives of television viewers around the world. VCRs can provide time-flexible TV programs to match their lifestyles.

观众可利用VCR而将电视节目存储于磁带上。VCR使观众能够针对存储的节目内容进行播放、倒转、快速前进和暂停。此等功能能够让观众依其喜好随时暂停播放中的节目;快速前进而略过不想观赏的内容或商业广告;以及重新播放喜爱的数据段。然而,VCR无法同时进行录像和播放信息内容。Viewers can store television programs on tape using a VCR. VCRs allow viewers to play, rewind, fast-forward, and pause stored program content. These features allow viewers to pause an ongoing program at any time they prefer; fast-forward to skip unwanted content or commercials; and replay favorite segments. However, VCR cannot record video and play information content at the same time.

近来,数字录像机(DVR)已进入商业市场。DVR能够让观众将电视节目存储于硬式磁盘。如此一来,观众可以脱离磁带的限制。观众可以使现场广播的节目暂停、倒转和快速前进。然而,DVR的功能不仅止于录制节目。Recently, digital video recorders (DVRs) have entered the commercial market. DVRs allow viewers to store television programs on hard disks. In this way, viewers are freed from the confines of tape. Viewers can pause, rewind and fast-forward live broadcasts. However, DVRs do more than just record shows.

使节目能够以数字形式存储于本端,可为节目编排者提供比以往更多的选择。现今,广告(商业广告)可以动态方式被更换,并依照观赏习惯而特别锁定特定的观众。商业广告可以在本端存储于观众的DVR内,并可在任何时刻呈现。Enabling programs to be stored locally in digital form provides program planners with more options than ever before. Today, advertisements (commercials) can be changed dynamically and targeted specifically to specific viewers according to viewing habits. Commercials can be stored locally in the viewer's DVR and presented at any time.

DVR能够让观众进行互动式节目广播。一般而言,即将播映节目的预告会在正常广播节目的过程中予以播出。观众必须随即记住该节目的播映日期、时间和频道,以便录制或观赏该节目。DVR能够让观众立即排定录制该节目的时程。DVR enables viewers to broadcast interactive programs. In general, previews of upcoming programs are aired during normal program broadcasts. The viewer must then remember the show date, time and channel of the show in order to record or watch the show. DVRs allow viewers to immediately schedule recordings of the show.

唯一的缺点在于:目前的DVR无法在此层次和观众进行互动。目前无法将商业广告紧接着特定节目或其它广告的情况告知DVR。此外,目前无法将商业广告可更换的情况告知DVR。The only downside: Current DVRs cannot interact with viewers at this level. There is currently no way to tell the DVR that a commercial is immediately followed by a particular program or other advertisement. Additionally, there is currently no way to inform the DVR that commercials are replaceable.

若能提供一种让节目提供者能够经由广播媒体来传送帧专用数据的闭式字幕标示系统当非常有益。若能提供一种让接收机以动态方式和观众进行互动,并根据节目内容来进行自我配置的隐藏字幕标示系统亦当非常有益。It would be beneficial to provide a closed captioning system that would allow program providers to transmit frame specific data over the broadcast medium. It would also be beneficial to provide a closed captioning system that allows receivers to dynamically interact with viewers and configure themselves based on program content.

发明内容 Contents of the invention

本发明是提供一种隐藏字幕标示系统。本发明让内容提供者能够经由广播媒体来传送综合于影音电视广播数据流的帧专用数据以及命令。此外,本发明让接收机能够以动态方式和观众进行互动,并根据影音数据流内容来进行自我配置。The present invention provides a closed caption marking system. The present invention enables content providers to transmit frame-specific data and commands integrated into an AV broadcast data stream via a broadcast medium. In addition, the present invention enables the receiver to interact with the viewer in a dynamic manner and to configure itself according to the content of the audio-visual data stream.

本发明的较佳实施例提供一种将标签插入音频或视频电视广播数据流的机构。标签是在广播之前或当时被插入广播数据流内。此等标签内含接收机解译和作用于其上的指令及控制信息。The preferred embodiment of the present invention provides a mechanism for inserting tags into audio or video television broadcast data streams. Tags are inserted into the broadcast data stream before or at the time of broadcast. These tags contain command and control information that the receiver interprets and acts upon.

前述接收机接收广播数据流,并对该广播数据流内的标签进行检测和处理。广播数据流是存储于接收机上的存储装置。来自于广播数据流的节目素材是从存储装置为观众播映。The foregoing receiver receives the broadcast data stream, and detects and processes tags in the broadcast data stream. The broadcast data stream is stored on a storage device on the receiver. Program material from the broadcast data stream is presented to the viewer from the storage device.

在处理标签的阶段,接收机会响应该等标签而执行适当的动作。此等标签可为内容提供者或系统管理者提供大量的弹性运用空间,藉以建构无穷的操作功能。During the tag processing phase, the receiver will take appropriate actions in response to the tags. These tags can provide content providers or system administrators with a large amount of flexible use space, so as to construct infinite operation functions.

标签可指出节目片段的起点和终点。当观众在遥控输入装置上按下按钮之后,接收机会作出响应,在播映过程中略过某一节目片段。接收机亦可依照观众的喜好而自动略过节目片段。Labels indicate the beginning and end of program segments. When the viewer presses a button on the remote control input device, the receiver responds by skipping a segment of the program during the broadcast. The receiver can also automatically skip program segments according to the viewer's preference.

接收机自动以新的节目片段来取代诸如商业广告等节目片段。新的节目片段是依照不同的标准予以选择,例如:依照场所、一天中的某段时间、节目素材、观众的观赏习惯、观众对于节目的偏好,或是观众的个人数据来选择。新的节目片段是存放于接收机的本端或远端。The receiver automatically replaces program segments, such as commercials, with new program segments. New program segments are selected according to different criteria, such as location, time of day, program material, viewer's viewing habits, viewer's preference for programs, or viewer's personal data. The new program segment is stored at the local end or the remote end of the receiver.

选单、图符和网页是根据含有标签的信息而呈现给观众。观众与选单、图符或网页之间的互动是通过输入装置。接收机执行与选单、图符或网页以及观众输入关联的动作。若某选单或动作要求观众退出节目素材的播映,则接收机会保留退出点,并且当观众完成互动过程之后,使观众再度回到相同的退出点。Menus, icons and web pages are presented to the viewer based on the information contained in the tags. Interaction between viewers and menus, icons or web pages is through input devices. The receiver performs actions associated with menus, icons or web pages and viewer input. If a menu or action requires the viewer to exit the broadcast of the program material, the receiver will retain the exit point and return the viewer to the same exit point again after the viewer completes the interaction process.

选单和图符用于产生产品介绍、推销,以及排定录制节目的时程。在此提供单触控录制选项。观众可看到某图符,其告知某一广告节目可于未来某时间进行录制。观众按下输入装置上的单一按钮,可使接收机排定录制该节目的时程。接收机亦可根据某一标签内的信息,将目前在广播数据流中的节目录制于存储装置内。Menus and icons are used to generate product introductions, merchandising, and to schedule recordings. One-touch recording options are available here. Viewers can see an icon, which informs that a commercial program can be recorded at a certain time in the future. Viewers press a single button on the input device to schedule the receiver to record the program. The receiver can also record the program currently in the broadcast data stream in the storage device according to the information in a certain tag.

标签可用于建立节目素材的索引。如此可让观众跳变到节目内的特定索引。Tags can be used to index program material. This allows the viewer to jump to a specific index within the program.

参酌以下关于本发明的原理的范例说明并配合附图,当可明了本发明的其它态样及优点。Other aspects and advantages of the present invention can be understood with reference to the following descriptions of the principles of the present invention and accompanying drawings.

附图说明 Description of drawings

图1为本发明的较佳实施例的高层次概示框图;Figure 1 is a high-level schematic block diagram of a preferred embodiment of the present invention;

图2为本发明利用多重输入和输出模组的较佳实施例的示意框图;Figure 2 is a schematic block diagram of a preferred embodiment of the present invention utilizing multiple input and output modules;

图3为本发明的活动图像压缩标准(MPEG)数据流及其视频和音频分量的概要图;3 is a schematic diagram of the moving picture compression standard (MPEG) data stream and its video and audio components of the present invention;

图4为本发明的媒体开关内所包含的解析器和四个直接存储器存取(DMA)输入引擎的示意框图;4 is a schematic block diagram of a parser and four direct memory access (DMA) input engines included in the media switch of the present invention;

图5为本发明的分组化基本数据流(PES)缓存器的组成部分的示意框图;Figure 5 is a schematic block diagram of the components of the packetized elementary stream (PES) buffer of the present invention;

图6为根据媒体开关输出环形缓存器的解析件建立的PES缓存器结构的概要图;6 is a schematic diagram of the PES buffer structure established according to the analysis piece of the media switch output ring buffer;

图7为本发明的媒体开关及其所联是的各式部件的示意框图;Fig. 7 is a schematic block diagram of the media switch of the present invention and various components connected thereto;

图8为本发明的程序逻辑的高层次概示框图;Figure 8 is a high level overview block diagram of the program logic of the present invention;

图9为本发明的程序逻辑的类别层次框图;Fig. 9 is a class hierarchical block diagram of the program logic of the present invention;

图10为本发明的剪辑快速缓存件的较佳实施例的示意框图;Fig. 10 is a schematic block diagram of a preferred embodiment of the clipping cache of the present invention;

图11为本发明模拟广播工作室视频混合器的较佳实施例的示意框图;11 is a schematic block diagram of a preferred embodiment of the analog broadcast studio video mixer of the present invention;

图12为本发明的隐藏字幕解析器的示意框图;12 is a schematic block diagram of a closed caption parser of the present invention;

图13为本发明利用VCR做为本发明的综合件的较佳实施例的高层次概示框图;Figure 13 is a high-level schematic block diagram of a preferred embodiment of the present invention utilizing a VCR as an integrator of the present invention;

图14为本发明将标签插入视频数据流内的较佳实施例的示意框图;Fig. 14 is a schematic block diagram of a preferred embodiment of inserting a label into a video data stream according to the present invention;

图15为本发明以服务器为根基将标签插入视频数据流内的较佳实施例的示意框图;Fig. 15 is a schematic block diagram of a preferred embodiment in which tags are inserted into a video data stream based on a server in the present invention;

图16是图示本发明将标签插入视频数据流所用之用户接口;Figure 16 is a diagram illustrating the user interface used by the present invention to insert tags into a video data stream;

图17是根据本发明图示具提示图符的萤幕,其中该图像显示于萤幕的左下角;Fig. 17 is a screen illustrating a prompt icon according to the present invention, wherein the image is displayed in the lower left corner of the screen;

图18为本发明的视频数据流的传送路径的示意框图;Fig. 18 is a schematic block diagram of the transmission path of the video data stream of the present invention;

图19是根据本发明标示某视频数据流的节目片段的起点和终点以及播放新的节目片段的示意框图;Fig. 19 is a schematic block diagram of marking the starting point and end point of a program segment of a certain video data stream and playing a new program segment according to the present invention;

图20为根据本发明解译被插入某视频数据流内的标签的较佳实施例的示意框图;20 is a schematic block diagram of a preferred embodiment of interpreting tags inserted into a video data stream according to the present invention;

图21是图示一萤幕,该萤幕显示本发明的节目录制选项;Figure 21 is a diagram illustrating a screen displaying the program recording options of the present invention;

图22是图示本发明的观众遥控装置;Figure 22 is a viewer remote control device illustrating the present invention;

图23为一系列萤幕的示意框图,该等萤幕产生产品介绍和推销。Figure 23 is a schematic block diagram of a series of screens that generate product presentations and merchandising.

具体实施方式 Detailed ways

本发明实施于隐藏字幕标示系统。根据本发明所建构的系统容许内容提供者经由广播媒体来传送综合于影音电视广播数据流的帧专用数据,以及命令。本发明另可容许接收机以动态方式和观众进行互动,并根据影音数据流内容来进行自我设定。The present invention is implemented in a closed captioning system. The system constructed in accordance with the present invention allows content providers to transmit frame-specific data and commands integrated in an audiovisual television broadcast data stream via the broadcast medium. The present invention also allows the receiver to interact with the audience in a dynamic manner, and to perform self-setting according to the content of the audio-visual data stream.

本发明的较佳实施例提供一种标示和解译系统,该系统能够让内容提供者以特定画面来标示经由电视广播媒体所传送的影音数据流。接收机解译并作用于内嵌在被接收数据流内的标签。标签数据能够让接收机以动态方式通过选单和动作图符而与观众进行互动。标签亦提供接收机的动态配置。A preferred embodiment of the present invention provides a marking and interpreting system, which enables the content provider to mark the video and audio data stream transmitted through the television broadcasting medium with a specific picture. The receiver interprets and acts upon the tags embedded within the received data stream. Tag data enables receivers to dynamically interact with viewers through menus and action icons. Tags also provide dynamic configuration of receivers.

请参照第1图。本发明的较佳实施例具备输入部101、媒体开关102,以及输出部103。输入部101可接收多种形式的电视输入数据流—例如美国国家电视标准委员会(NTSC)标准或逐行倒相制(PAL)广播,以及数字式数据流—例如数字卫星系统(DSS)、数字广播服务(DBS)或高等电视标准委员会(ATSC)标准。DBS、DSS和ATSC是以活动图视频压缩标准2(MPEG2)和MPEG2传输等标准为基础。MPEG2传输标准是一种将电视源发射机的数字数据流予以格式化的标准,以使电视接收机能够解开输入数据流而寻得多路复用信号内的节目。输入部101产生MPEG数据流。MPEG2传输多路复用在同一广播频道内支援多个节目,而该频道内存在视频和音频的供给和专用数据。输入部101可将频道调整至特定节目,从中提取特定的MPEG节目,并将该节目提供到系统的其它部分。利用各自独立的视频及音频编码器将模拟电视信号编码成类似的MPEG格式,使得系统的其它部分不知取得该信号的过程。可利用多种标准方法把信息调制到模拟电视信号的垂直消隐区间(VBI);例如:北美广播图文电视标准(NABTS)可用于将信息调制到NTSC信号的第10条到第20条扫瞄线,而(美国)联邦通信委员会(FCC)则规范第21行做为隐藏字幕(CC)和延伸数据服务(EDS)之用。此类信号藉由输入部予以解码,并传送到其它部件,即如同其经由MPEG2专用数据频道加以传送一般。Please refer to Figure 1. A preferred embodiment of the present invention includes an input unit 101 , a media switch 102 , and an output unit 103 . The input unit 101 can receive various forms of television input data streams—such as the National Television Standards Committee (NTSC) standard or Phase Alternation Line (PAL) broadcasts, as well as digital data streams—such as Digital Satellite System (DSS), digital Broadcasting Service (DBS) or Advanced Television Standards Committee (ATSC) standards. DBS, DSS, and ATSC are based on standards such as Motion Picture Video Compression Standard 2 (MPEG2) and MPEG2 Transport. The MPEG2 transmission standard is a standard for formatting digital data streams from television source transmitters so that television receivers can unpack the incoming data streams to find programs within the multiplexed signal. The input section 101 generates an MPEG data stream. MPEG2 transport multiplexing supports multiple programs within the same broadcast channel where video and audio feeds and private data reside. The input section 101 can tune the channel to a particular program, extract a particular MPEG program from it, and provide that program to the rest of the system. The analog TV signal is encoded into a similar MPEG format using separate video and audio encoders, so that the rest of the system does not know how the signal was obtained. Various standard methods can be used to modulate information into the vertical blanking interval (VBI) of an analog television signal; for example, the North American Broadcast Teletext Standard (NABTS) can be used to modulate information into scans 10 to 20 of an NTSC signal line of sight, while the (US) Federal Communications Commission (FCC) regulates Line 21 for closed captioning (CC) and Extended Data Service (EDS). Such signals are decoded by the input and transmitted to other components as if they were transmitted via an MPEG2 dedicated data channel.

媒体开关102是负责协调微处理器CPU(中央处理单元)106、硬磁盘或存储装置105以及存储器104之间的运作。输入数据流被转换成MPEG数据流,并且被传送到媒体开关102。媒体开关102将MPEG数据流暂存于存储器内。若使用者观看实时播出的电视,则媒体开关102会执行两项工作:数据流被传送到输出部103,以及该数据流同时被写入硬式磁盘或存储装置105。The media switch 102 is responsible for coordinating the operations among the microprocessor CPU (Central Processing Unit) 106 , the hard disk or storage device 105 and the memory 104 . The input data stream is converted to an MPEG data stream and transmitted to the media switch 102 . The media switch 102 temporarily stores the MPEG data stream in memory. If the user watches live TV, the media switch 102 performs two tasks: the data stream is sent to the output unit 103 , and the data stream is written to the hard disk or storage device 105 at the same time.

输出部103接收输入的MPEG数据流,并根据NTSC、PAL或其它所需的电视标准来产生模拟电视信号。输出部103包含有MPEG解码器、在屏显示(0SD)产生器、模拟电视编码器,以及音频逻辑电路。OSD产生器能够让程式逻辑提供叠加于最终模拟电视信号之上的图像。此外,输入部可利用多种标准格式将程式逻辑所提供的信息调制到输出信号的VBI之上,这些格式包括NABTS、CC或EDS。Output section 103 receives an incoming MPEG data stream and generates an analog television signal according to NTSC, PAL or other desired television standard. The output unit 103 includes an MPEG decoder, an on-screen display (OSD) generator, an analog TV encoder, and an audio logic circuit. An OSD generator enables program logic to provide an image superimposed on the final analog TV signal. In addition, the input can modulate information provided by the program logic onto the VBI of the output signal using a variety of standard formats, including NABTS, CC, or EDS.

请参照第2图。本发明可轻易地扩充而容纳多个输入部(调谐器)201、202、203、204,且各输入部可被调整为不同类型的输入。同时,亦可加入多个输出模组(解码器)206、207、208、209。特殊效果—例如画中画—亦可利用多个解码器予以实作。当使用者在观赏某电视节目时,媒体开关205可录制另一个节目。此表示:当某数据流正被存储于磁盘时,可从磁盘中提取另一数据流。Please refer to Figure 2. The present invention can be easily expanded to accommodate multiple input sections (tuners) 201, 202, 203, 204, and each input section can be adjusted to different types of inputs. At the same time, multiple output modules (decoders) 206, 207, 208, 209 can also be added. Special effects—such as picture-in-picture—can also be implemented using multiple decoders. When the user is watching a certain TV program, the media switch 205 can record another program. This means that while a data stream is being stored on disk, another data stream can be fetched from disk.

请参照第3图。内送的MPEG数据流301具有交织的视频302、305、306,以及音频303、304、307等数据段。此等数据段必须加以区隔并重新结合而形成个别的视频308和音频309数据流或缓存信息。上述为必要过程,因为利用个别的解码器将MPEG数据段转换成原来的音频或视频分量。此种个别的传送过程必须产生时间序列信息,以使解码器能够正确地同步化而得到准确的信号播放。Please refer to Figure 3. The incoming MPEG data stream 301 has interleaved video 302 , 305 , 306 , and audio 303 , 304 , 307 data segments. These data segments must be segmented and recombined to form separate video 308 and audio 309 data streams or cached information. The above is necessary because a separate decoder is used to convert the MPEG data segments into their original audio or video components. This individual transmission process must generate time-series information so that the decoder can be properly synchronized for accurate signal playback.

媒体开关使程式逻辑能够使正确的时间序列信息与各个数据段关联,其可能直接将该信息内嵌于数据流内。各个数据段的时间序列信息称作时间标记。每当系统启动之后,此等时间标记即由零开始,并以单调方式增加。如此可让本发明在任何特定的视频数据段中寻找任何特定的点。举例而言,若系统需要将五秒钟读入既已快速缓存的内送连续视频数据流内,则该系统仅需启动前进读取并寻找适当的时间标记。Media switches enable program logic to associate the correct time-series information with each data segment, possibly embedding that information directly within the data stream. The time-series information for each data segment is called a timestamp. These time stamps start at zero and increase monotonically every time the system starts. This allows the present invention to find any particular point in any particular segment of video data. For example, if the system needs to read five seconds into an already cached incoming continuous video stream, the system need only initiate a forward read and look for the appropriate time stamp.

在既已存储的文件上可进行对分搜寻,藉以指引到数据流内。各数据流存储为一串大小固定的数据段当可提高对分搜寻的速度,此是由于时间标记均匀的缘故。若使用者想要从节目的中间开始,则系统会针对既已存储的数据段持续执行对分搜寻,直到系统寻得适当点为止,此时即以最少信息获得期望的结果。若信号是存储为MPEG数据流,则必须从起点以线性方式解析数据流,以寻得所欲的位置。Binary searches can be performed on stored files to navigate into the data stream. Storing each data stream as a series of fixed-size data segments can increase the speed of the binary search because of uniform time stamps. If the user wants to start in the middle of the program, the system will continue to perform binary searches on the stored data segments until the system finds an appropriate point, at which point the desired result is obtained with the least amount of information. If the signal is stored as an MPEG data stream, the data stream must be parsed linearly from the starting point to find the desired position.

请参照第4图。媒体开关包含有四个输入直接存储器存取(DMA)引擎402、403、404、405,而各DMA引擎具有附属的缓冲区410、411、412、413。在概念上,各个DMA引擎具有一个指针406、指针的界线407、下一个指针408,以及下一个指针的界线409。各个DMA隶属于特定类型的信息;例如,视频信息402、音频信息403及解析事件405。缓冲区410、411、412、413是为环形,并收集特定信息。DMA引擎将指针406逐次增加到附属的缓冲区,直到达到界线407为止,随后再载入下一个指针408和界线409。将指针406和下一个指针408的值及其所对应的界线设定为相同,则可建立一个环形缓冲区。下一个指针408可设定到不同的位址而提供向量式DMA。Please refer to Figure 4. The media switch contains four incoming direct memory access (DMA) engines 402, 403, 404, 405, and each DMA engine has an associated buffer 410, 411, 412, 413. Conceptually, each DMA engine has a pointer 406 , pointer's boundary 407 , next pointer 408 , and next pointer's boundary 409 . Each DMA pertains to a particular type of information; for example, video information 402 , audio information 403 , and parsing events 405 . The buffers 410, 411, 412, 413 are circular and collect specific information. The DMA engine increments pointers 406 to the attached buffers until boundary 407 is reached, then loads the next pointer 408 and boundary 409 . Setting the values of the pointer 406 and the next pointer 408 and their corresponding boundaries to be the same, a ring buffer can be established. The next pointer 408 can be set to a different address to provide vectored DMA.

输入数据流会通过解析器401。解析器401经由解析数据流来寻找MPEG事件,其指标视频、音频或专用数据段的起点。例如,当解析器401寻得某视频事件时,其会将数据流导引到视频DMA引擎402。解析器401将数据缓存起来,并以DMA方式通过视频DMA引擎402将其导入视频缓冲区410。在此同时,解析器401将某事件导引到事件DMA引擎405,而DMA引擎405则产生一事件于事件缓冲区413。当解析器401遇到一个音频事件时,其会将字节数据流重导到音频DMA引擎403,并产生一事件于事件缓冲区413。同样地,当解析器遇到一个专用数据事件时,其会将字节数据流重导到专用数据DMA引擎404,并导引一事件于事件缓冲区413。当事件被存放在事件缓冲区时,媒体开关会经由中断机构来告知程式逻辑。The input data stream will pass through the parser 401 . Parser 401 finds MPEG events by parsing the data stream, which indicate the beginning of video, audio or private data segments. For example, when the parser 401 finds a certain video event, it will direct the data flow to the video DMA engine 402 . The parser 401 caches the data and imports it into the video buffer 410 through the video DMA engine 402 in a DMA manner. At the same time, the parser 401 directs an event to the event DMA engine 405 , and the DMA engine 405 generates an event in the event buffer 413 . When the parser 401 encounters an audio event, it redirects the byte stream to the audio DMA engine 403 and generates an event in the event buffer 413 . Likewise, when the parser encounters a private data event, it redirects the byte stream to the private data DMA engine 404 and directs an event to the event buffer 413 . When an event is stored in the event buffer, the media switch notifies the program logic through the interrupt mechanism.

请参照第4图和第5图。解析器401将事件填入事件缓冲区413。事件缓冲区内的各个事件501具有偏移量502、事件类型503及时间标记504等栏。当事件被存放在缓冲区之后,解析器401会提供各个事件的类型和偏移量。举例而言,当出现音频事件时,事件类型栏会被设定为音频事件,而偏移量会指出音频缓冲区411内的位置。程式逻辑会得知音频缓冲区411的起点所在,并且加入偏移量以找出数据流中的事件。位址偏移量502会告知程式逻辑下一个事件出现的位置,但不会告知出现终点的位置。前一个事件会存储在快速缓存器当中,以使当前事件的终点以及数据段的长度能够找到。Please refer to Figures 4 and 5. Parser 401 fills event buffer 413 with events. Each event 501 in the event buffer has fields for offset 502 , event type 503 and time stamp 504 . After the events are stored in the buffer, the parser 401 will provide the type and offset of each event. For example, when an audio event occurs, the event type column will be set to audio event, and the offset will indicate the position in the audio buffer 411 . The program logic will know where the start of the audio buffer 411 is, and add offsets to find events in the data stream. The address offset 502 tells the program logic where the next event will occur, but not where the end point will occur. The previous event is stored in a cache so that the end of the current event and the length of the data segment can be found.

请参照第5图和第6图。当程式逻辑被媒体开关601中断时,程式逻辑会读取事件缓冲区602内所累积的事件。程式逻辑可由此等事件产生一连串对应于已被解析的MPEG数据段615的逻辑数据段603。程式逻辑会将偏移量502转换成各个数据段的实际位址610,并利用前一个快速缓存事件来记录事件长度609。若数据流由模拟信号的编码所产生,则其将不包含节目时间标记(PTS)值。PTS值供解码器运用,藉以适当提供最后得到的结果。因此,程式逻辑使用产生的时间标记504来计算各个数据段的模拟PTS值,并将该值存放于逻辑数据段时间标记607内。在数位电视广播数据流方面,PTS值已经被编入数据流内。程式逻辑会抽取此信息,并将其存放于逻辑数据段时间标记607内。Please refer to Figures 5 and 6. When the program logic is interrupted by the media switch 601 , the program logic reads the events accumulated in the event buffer 602 . Program logic may generate a sequence of logical data segments 603 corresponding to parsed MPEG data segments 615 from these events. The program logic converts the offset 502 into the actual address 610 of each data segment, and uses the previous cache event to record the event length 609 . If the data stream results from the encoding of an analog signal, it will not contain a Program Time Stamp (PTS) value. The PTS value is used by the decoder to properly provide the resulting result. Therefore, the program logic uses the generated time stamp 504 to calculate the analog PTS value for each data segment, and stores this value in the logical data segment time stamp 607 . In terms of digital TV broadcasting data streams, the PTS value has been programmed into the data stream. The program logic extracts this information and stores it in the logical data segment timestamp 607 .

程式逻辑会持续收集逻辑数据段603,直到其到达缓冲区的固定容量为止。当达到容量界线时,程式逻辑会产生新的缓冲区—称作分组基本数据流(PES)605缓冲区,此缓冲区内包含依序排列的逻辑数据段603以及附属的控制信息。各个逻辑数据段是直接指向环形缓冲区604—例如媒体开关601所填入的视频缓冲区613。新的缓冲区随后会被传送到其它逻辑元件,其可以某种方式—例如进行解码或将其写入存储媒体,而进一步处理缓冲区内的数据流。因此,处理器不会将MPEG数据从存储器内的某一位置复制到另一位置。由于所需的存储器频宽和处理器频宽均已降低,因此可得到更符经济效益的设计。The program logic continues to collect logical data segments 603 until it reaches the fixed capacity of the buffer. When the capacity limit is reached, the program logic creates a new buffer—called a Packet Elementary Stream (PES) 605 buffer, which contains sequential logical data segments 603 and accompanying control information. Each logical data segment is directed to the ring buffer 604 - eg the video buffer 613 filled by the media switch 601 . The new buffer is then passed to other logic elements, which can further process the data stream in the buffer in some way, such as decoding it or writing it to a storage medium. Therefore, the processor does not copy the MPEG data from one location in memory to another. The result is a more cost-effective design because the required memory bandwidth and processor bandwidth are reduced.

MPEG数据流转换成PES缓冲区的独特性质是在于:伴随逻辑数据段的数据不需要如上所述出现于缓冲区本身当中。当PES缓冲区被写入存储媒体时,此等逻辑数据段会依照逻辑次序写入其所出现的存储媒体中。无论数据流的分量是位于视频、音频或专用数据环形缓冲区,上述过程会导致数据流的分量被收集于存储媒体上的单一流数据线性缓冲区。缓冲区会以单次传输而从存储媒体读回,且逻辑数据段信息会被更新而对应缓冲区606内的实际位置。较高阶的程式逻辑并不会得知上述转换过程,因为其仅处理逻辑数据段;因此,流数据能够轻易进行处理,而完全不需要经由CPU在动态随机存取存储器(DRAM)中的位置间进行数据的复制。A unique property of the conversion of an MPEG data stream into a PES buffer is that the data accompanying the logical data segments need not be present in the buffer itself as described above. When the PES buffer is written into the storage medium, these logical data segments are written into the storage medium where they appear in logical order. The above process results in the components of the data stream being collected in a single stream data linear buffer on the storage medium, whether the components of the data stream are located in video, audio or dedicated data ring buffers. The buffer is read back from the storage medium in a single transfer, and the logical segment information is updated to correspond to the actual location in the buffer 606 . Higher-level program logic is unaware of the transformation process, as it only deals with logical data segments; thus, streaming data can be easily processed without going through the CPU's location in DRAM at all copy data between.

媒体开关的独特技术特征之一是在于其具有以有效及低成本的方式来处理高速数据的能力。媒体开关可在低成本的平台上执行下列功能:记录视频及音频数据、送出视频及音频数据、将视频及音频数据送至磁盘,以及从磁盘中取出视频及音频数据。通常,媒体开关系以和微处理器的CPU非同步及独立的方式来运作,并使用其DMA的能力而在CPU介入最少的情况下来搬移大量的数据。One of the unique technical features of media switches is their ability to handle high-speed data in an efficient and cost-effective manner. A media switch can perform the following functions on a low-cost platform: record video and audio data, send video and audio data, send video and audio data to disk, and retrieve video and audio data from disk. Typically, media switches operate asynchronously and independently of the microprocessor's CPU and use their DMA capabilities to move large amounts of data with minimal CPU intervention.

请参照第7图,媒体开关701的输入端连接于MPEG编码器703。另外亦包含专用于提供给媒体开关701的MPEG音频数据704以及VBI数据702的电路。若是处理数位式电视信号,则MPEG编码器703被MPEG2传输分路器取代,而MPEG音频编码器704及VBI解码器702则被略除。该分路器是通过视频输入媒体开关端口针对提取的音频、视频及专用数据频道流进行多路复用。Please refer to FIG. 7 , the input end of the media switch 701 is connected to the MPEG encoder 703 . Also included are circuits dedicated to providing MPEG audio data 704 and VBI data 702 to the media switch 701 . If digital TV signals are processed, the MPEG encoder 703 is replaced by an MPEG2 transport demultiplexer, while the MPEG audio encoder 704 and VBI decoder 702 are omitted. The splitter multiplexes the extracted audio, video and dedicated data channel streams through the video input media switch port.

解析器705用于解析来自于MPEG编码器703、音频编码器704及VBI解码器702的输入数据流,或是在数位式电视广播数据流的情况下,来自于传输分路器的输入数据流。解析器705会检测位于视频或音频数据流当中的所有重要事件、帧以及序列标头的起点,所有此等信息皆为程式逻辑所必须得知者,以便能够正确地播放数据流,并执行特殊功能,例如:快速前进、倒回、播放、暂停、快速/慢速播放、索引、以及快速/慢速逆向播放。Parser 705 is used to parse the input stream from MPEG encoder 703, audio encoder 704 and VBI decoder 702, or in the case of digital television broadcast streams, the input stream from the transport demultiplexer . The parser 705 detects the beginning of all important events, frames, and sequence headers in the video or audio data stream, all of which are necessary for the program logic to play the data stream correctly and execute special Functions such as: fast forward, rewind, play, pause, fast/slow play, index, and fast/slow reverse play.

当解析器705辨认出视频、音频数据段或给定的专用数据时,其将标签707置于先进先出缓冲区706。当此等标签被取出时,DMA 709会加以控制。标签707和段的DMA地址放入事件队列708。帧型信息不论是视频I-帧、视频B-帧、视频P-帧、视频分组基本数据流、音频分组基本数据流、序列标头,还是音频帧或专用数据分组皆连同存放于相关环形缓冲区中的偏移量存放在事件队列708当中,其中各项信息是存放在该环形缓冲区。当程式逻辑被传送到DRAM 714之后,在CPU 713当中运作的程式逻辑会检查环形缓冲区中的事件。When the parser 705 recognizes a segment of video, audio data, or a given private data, it places a tag 707 in the FIFO buffer 706 . The DMA 709 controls when these tags are removed. The tag 707 and the segment's DMA address are put into the event queue 708 . Frame type information whether it is video I-frame, video B-frame, video P-frame, video packet elementary data stream, audio packet elementary data stream, sequence header, or audio frame or private data packet is stored together with the relevant ring buffer The offset in the zone is stored in the event queue 708, and various information is stored in the ring buffer. After the program logic is transferred to the DRAM 714, the program logic running in the CPU 713 checks the ring buffer for events.

媒体开关701具有连接于CPU 713和DRAM 714的数据总线711。地址总线712亦在媒体开关701、CPU 713和DRAM 714之间共同使用。硬磁盘或存储装置710连接于媒体开关701的一个端口。媒体开关701将数据流输出到MPEG视频解码器715及分开的音频解码器717。音频解码器717的信号包含音频提示,其是由系统所产生,并回应于使用者在遥控或其它内部事件上的指令。由MPEG解码器所输出的被解码音频与分开的音频信号进行数位混合718。最终所得到的信号包含视频信号、音频信号及在屏显示,并会传送至电视716。The media switch 701 has a data bus 711 connected to a CPU 713 and a DRAM 714. Address bus 712 is also commonly used between media switch 701, CPU 713 and DRAM 714. A hard disk or storage device 710 is connected to one port of the media switch 701 . The media switch 701 outputs the data stream to an MPEG video decoder 715 and a separate audio decoder 717 . The signal from the audio decoder 717 includes audio prompts, which are generated by the system in response to user commands on the remote control or other internal events. The decoded audio output by the MPEG decoder is digitally mixed 718 with the separate audio signal. The finally obtained signal includes video signal, audio signal and on-screen display, and will be sent to the TV 716 .

媒体开关701取得8位数据并将其送至磁盘,同时从磁盘提取另一数据流,并将其送至MPEG解码器715。以上所描述的所有DMA引擎皆可在同一时间运作。媒体开关701可利用场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(ASIC)或分立逻辑电路按硬件实现。The media switch 701 takes the 8-bit data and sends it to disk, while another data stream is extracted from the disk and sent to the MPEG decoder 715 . All DMA engines described above can operate at the same time. The media switch 701 can be implemented in hardware by using a Field Programmable Gate Array (Field Programmable Gate Array, FPGA), an Application Specific Integrated Circuit (ASIC), or a discrete logic circuit.

程式逻辑仅需查找DRAM 714中的环形事件缓冲区,以分辨出每一帧的起始位置及类型,而不需要解析大量的数据流来寻找每一帧的可能起始位置。此种处理方式可节省大量的CPU处理能力,并可使CPU 713的实时要求维持在最小的状态。CPU713在任何时间皆不需具有很高的速率。媒体开关701尽可能提供时间给CPU 713以完成工作。解析器机构705及事件队列708以低成本的方式使CPU 713免于分析音频数据、视频数据与缓冲区,以及数据流的实时性。此种方式亦容许在CPU环境中使用时钟速率非常低的总线,并且配合比其它方式更廉价的存储器来运作。The program logic only needs to search the circular event buffer in the DRAM 714 to identify the start position and type of each frame, instead of parsing a large amount of data streams to find the possible start position of each frame. This kind of processing method can save a large amount of CPU processing power, and can keep the real-time requirement of CPU 713 in the minimum state. CPU 713 does not need to be very fast at any time. The media switch 701 provides time to the CPU 713 to complete work as much as possible. The parser mechanism 705 and the event queue 708 free the CPU 713 from analyzing audio data, video data and buffers, and the real-time nature of the data stream in a low-cost manner. This approach also allows the use of very low clock rate buses in a CPU environment and works with less expensive memory than other approaches.

CPU 713具有为一DMA传输安排队列的功能,并且可在其闲置时建立下一DMA传输。如此即可让CPU 713拥有大量的时间来伺服DMA控制器709。由于容许较大的等待时间,CPU 713可在较大的时间窗内回应DMA中断。不论是从MPEG2传输提取来或从模拟电视信号编码而得的MPEG数据流,其通常是利用一种称作可变位速率(Variable Bit Rate,VBR)编码的技术来加以编码。此种技术会将代表图像序列所需的数据量改变为此等图像之间的移动量。此技术可大量地缩减信号的频宽,而快速移动的序列(如篮球赛)则可以较大的频宽进行编码。例如,休斯直播电视卫星系统在所需频宽以每秒1至10兆位的速率进行编码,并且帧间变化。若不使用此结构,则对于任何电脑系统而言,实难于跟上变化如此快的数据速率。The CPU 713 has the function of queuing up a DMA transfer, and can set up the next DMA transfer while it is idle. This allows the CPU 713 to have a large amount of time to serve the DMA controller 709. Due to the larger waiting time allowed, the CPU 713 can respond to DMA interrupts within a larger time window. An MPEG stream, whether extracted from an MPEG2 transmission or encoded from an analog television signal, is usually encoded using a technique called Variable Bit Rate (VBR) encoding. This technique changes the amount of data required to represent a sequence of images by the amount of movement between those images. This technique can greatly reduce the bandwidth of the signal, and fast-moving sequences (such as basketball games) can be encoded with a larger bandwidth. For example, the Hughes DTV satellite system encodes at a rate of 1 to 10 megabits per second across the required bandwidth, varying from frame to frame. Without this structure, it would be difficult for any computer system to keep up with such rapidly changing data rates.

参照第8图,CPU当中的程式逻辑具有三个概念上的组成部分:源801、转换802及宿803。源801产生数据缓冲区。转换802处理数据缓冲区,而宿803则消耗数据缓冲区。转换负责在其操作的数据缓冲区的分配及安排队列。缓冲区以如同“空白”的状态分配给数据源,并以“充满”而反馈回去。而后缓冲区进入队列并以“充满”的状态提供给宿,而宿将会以“空白”状态的缓冲区加以回传。Referring to FIG. 8 , the program logic in the CPU has three conceptual components: source 801 , conversion 802 and sink 803 . Source 801 generates data buffers. Transformer 802 processes data buffers, while sink 803 consumes data buffers. Transforms are responsible for allocating and scheduling queues of data buffers on which they operate. Buffers are allocated to the data source as if "empty" and returned as "full". The buffer is then queued and provided to the sink in a "full" state, and the sink will return it with a "empty" state buffer.

源801接收来自于编码器(例如数位式卫星接收机)的数据。该源从下行转换取得此数据的缓冲区,并将此数据封存至缓冲区,而后以上述的方式将缓冲区推进传输通道中。源对象801并不知道关于本系统的其它状况。宿803会消耗缓冲区,并从上行转换中取得缓冲区,且将数据传送到解码器,而后再释放缓冲区以重新使用。Source 801 receives data from an encoder (eg, a digital satellite receiver). The source obtains the buffer of the data from the downconversion, seals the data into the buffer, and then pushes the buffer into the transmission channel in the manner described above. The source object 801 knows nothing about other conditions of the system. The sink 803 consumes the buffer, fetches the buffer from the upconversion, transmits the data to the decoder, and releases the buffer for reuse.

在此使用两种转换802:空间及时间转换。空间转换的例子即如在缓冲数据通过时所进行的图像卷积或压缩/解压缩。时间转换是用于当进入系统的缓冲数据与离开系统的缓冲数据之间没有可表示的关系时。此种转换是将缓冲数据写入位于存储媒体中的文件804。缓冲数据会在稍后被取出,并沿着传输通道加以传送,并在数据流当中适当地排序。Two transformations 802 are used here: spatial and temporal transformations. Examples of spatial transformations are image convolution or compression/decompression as buffered data passes through. Time transformations are used when there is no representable relationship between buffered data entering the system and buffered data leaving the system. This transformation is to write the buffered data to a file 804 located on the storage medium. The buffered data is fetched later and sent along the transmission channel, properly sequenced in the data stream.

参照第9图,其显示程式逻辑所衍生的C++类层次结构。TiVo媒体核心(Tmk)904、908及913转接操作系统核心。此核心提供诸如存储器分配、同步化及线程化等操作功能。TmkCore 904、908及913是将取自于媒体核心的存储器做为对象,其可提供给操作者用于建构新的对象或删除对象。每一对象(源901、转换902及宿903)已定义为多线程,并可以并行处理的方式运作。Referring to Figure 9, it shows the C++ class hierarchy derived from the program logic. TiVo Media Core (Tmk) 904, 908, and 913 switch operating system core. This core provides operational functions such as memory allocation, synchronization and threading. TmkCore 904, 908 and 913 take the memory from the media core as an object, which can be provided to the operator for constructing a new object or deleting an object. Each object (source 901, transformation 902 and sink 903) has been defined as multi-threaded and can operate in parallel processing.

TmkPipeline类905、909及914负责控制通过系统的流量。传输通道在流量中由源901至宿903而指向下一传输通道。举例而言,若要暂停传输通道,则称作“暂停”的事件会传送至传输通道中的第一对象。此事件会沿着传输通道而一路转送至下一对象。此过程是以非同步的方式针对通过传输通道的数据来进行。因此,在诸如电话通讯等类似的应用中,MPEG数据流的流量控制是非同步化的,并且从数据流本身分离出来。此方式可容许使用简单的逻辑设计,同时具有足够能力支援先前所描述的技术特征,其中包括暂停、倒转、快速前进及其它功能。再者,此种结构可在数据流来源之间进行快速且有效率的切换,此因只要丢弃缓冲处理的数据并利用单一事件而将解码器重置即可,此后来自于新数据流的数据将会通过传输通道。举例而言,当输入部捕获频道切换时,或当来自于输入部的实况广播信号与已存储的数据流之间进行切换时,即需要使用上述功能。The TmkPipeline classes 905, 909 and 914 are responsible for controlling the flow through the system. The transmission channel is directed to the next transmission channel from the source 901 to the sink 903 in the flow. For example, if the transfer channel is to be paused, an event called "pause" is sent to the first object in the transfer channel. The event is forwarded all the way down the transmission channel to the next object. This process is done in an asynchronous manner for the data passing through the transport channel. Therefore, in applications such as telephony, the flow control of the MPEG data stream is asynchronous and separate from the data stream itself. This approach allows the use of simple logic designs while being capable enough to support the previously described technical features, including pause, rewind, fast forward, and other functions. Furthermore, this architecture allows for fast and efficient switching between stream sources, since buffered data is simply discarded and the decoder is reset with a single event, after which data from the new stream will pass through the transmission channel. This is required, for example, when the input captures a channel change, or when switching between a live broadcast signal from the input and a stored data stream.

源对象901为TmkSource 906,而转换对象902则为TmkXfrm 910。以上为中间阶层的类别,其定义传输通道当中的标准行为。概念上,其随着传输通道交换缓冲区。源对象901是从实体数据源将数据取出(如媒体开关),并将其存放在PES缓冲区。为了取得此缓冲区,源对象901会向传输通道中的下行数据流对象要求一缓冲区(allocEmptyBuf)。源对象901会被封闭,直到拥有足够的存储器为止。此意味着传输通道自我调整;其具有自动的流量控制。当源对象901充满了缓冲区时,其会通过pushFullBuf功能将缓冲区交回给转换902。The source object 901 is TmkSource 906 and the conversion object 902 is TmkXfrm 910. The above are intermediate classes that define the standard behavior in the transport channel. Conceptually, it swaps buffers along the transport channel. The source object 901 takes data out from the entity data source (such as a media switch) and stores it in the PES buffer. In order to obtain the buffer, the source object 901 requests a buffer (allocEmptyBuf) from the downstream object in the transport channel. The source object 901 will be closed until sufficient memory is available. This means that the transmission channel adjusts itself; it has automatic flow control. When the source object 901 is full of the buffer, it returns the buffer to the transformation 902 through the pushFullBuf function.

宿903亦会受到流量控制。宿会呼叫nextFullBuf,以告知转换902其已为下一充满的缓冲区备妥。此作用可封闭宿903,直到一缓冲区已备妥为止。当宿903完成一缓冲区之后(亦即其已消耗完缓冲区中的数据),其会呼叫releaseEmptyBuf。ReleaseEmptyBuf将缓冲区交回给转换902。举例而言,而后转换902可将缓冲区交回给源对象901,以便重新填满。此方法除了具有自动流量控制的优点之外,其亦藉由容许强制转换缓冲区固定配置而限制缓冲区专用存储器量。此为在有限DRAM环境中达到成本效益的重要特征。The sink 903 is also subject to flow control. The sink will call nextFullBuf to inform the switch 902 that it is ready for the next full buffer. This action can block the sink 903 until a buffer is ready. When the sink 903 completes a buffer (ie, it has consumed all the data in the buffer), it calls releaseEmptyBuf. ReleaseEmptyBuf returns the buffer to transition 902 . For example, transformation 902 may then hand the buffer back to source object 901 for refilling. Besides having the advantage of automatic flow control, this approach also limits the amount of buffer-specific memory by allowing a fixed configuration of buffers to be forced. This is an important feature to achieve cost-effectiveness in a limited DRAM environment.

MediaSwitch类909调用Tmk剪辑快速缓存912对象的allocEmptyBuf方法,并从其接收PES缓冲区。而后在媒体开关硬件中离开环形缓冲区,并产生PES缓冲区。MediaSwitch类909充填缓冲区,并将其推回Tmk剪辑快速缓存912对象。The MediaSwitch class 909 calls the allocEmptyBuf method of the Tmk clip cache 912 object and receives the PES buffer from it. The ring buffer is then left in the media switch hardware and a PES buffer is generated. The MediaSwitch class 909 fills the buffer and pushes it back into the Tmk Clip Cache 912 object.

Tmk剪辑快速缓存912会在存储媒体中保留一快速缓存文件918。Tmk剪辑快速缓存912亦会将两个指针保留在此快取存储区当中:推进指针919,其可显示来自于源901的下一缓冲区被插入的所在;目前指针920,其指向目前使用中的缓冲区。The Tmk clip cache 912 maintains a cache file 918 in the storage medium. The Tmk Clip Cache 912 will also keep two pointers in this cache: the advance pointer 919, which shows where the next buffer from the source 901 is to be inserted; and the present pointer 920, which points to the one currently in use buffer.

目前指针所指向的缓冲区是经由帆型解码器类916进行处理。帆型解码器类916会在硬件当中与解码器921沟通。解码器921会产生经过解码的电视信号,而此信号会相继被编码成模拟式的NTSC、PAL或其它模拟格式的电视信号。当帆型解码器类916完成缓冲区之后,其将调用releaseEmpthBuf。The buffer currently pointed to by the pointer is processed by the sail decoder class 916 . Sail decoder class 916 communicates with decoder 921 in hardware. Decoder 921 produces a decoded television signal which is in turn encoded into an analog NTSC, PAL or other analog television signal. When the sail decoder class 916 is done with the buffer, it will call releaseEmpthBuf.

各类的结构可使得本系统易于进行测试及除错。每一阶层皆可单独地进行测试,以确保其以适当的方式执行,而且各类可逐渐地加以组合而达成所需的功能,同时能够维持有效测试每一对象的能力。Various structures can make the system easy to test and debug. Each layer can be tested independently to ensure that it performs in an appropriate manner, and the various types can be gradually combined to achieve the required function, while maintaining the ability to effectively test each object.

控制对象917用于接收来自于使用者的指令,并将事件传送至传输通道,以控制传输通道的执行状况。例如,若使用者拥有一遥控器并且正在观赏电视节目,则使用者按下暂停后,控制对象917会送出一事件至宿903以告知其暂停。宿903将停止要求新的缓冲区。目前指针920会停留在其所在位置。当宿903接收到告知其播放的另一事件时,宿903将会开始再度提取出缓冲区。本系统处于完美同步,从帧停止之处开始该取出。The control object 917 is used to receive instructions from the user and send events to the transmission channel to control the execution status of the transmission channel. For example, if the user has a remote control and is watching a TV program, after the user presses pause, the control object 917 will send an event to the sink 903 to inform it of the pause. The sink 903 will stop asking for new buffers. Currently the pointer 920 will stay where it is. When the sink 903 receives another event telling it to play, the sink 903 will start fetching the buffer again. The system is in perfect sync and the fetch starts where the frame left off.

遥控器可能亦包含快速前进按键。当快速前进按键被按下后,控制对象917会将一事件传送至转换902,以告知其向前移动两秒钟。转换902发现两秒钟的时间长度需要向前移动三个缓冲区。而后其发出一重置事件至下行通道,以使得任何在队列中的数据或可能出现在硬件解码器的状态被强迫输出。此为一关键步骤,因为MPEG数据流的结构要求必须维持多个帧的状态,而该状态将由于重新定位指针而变成无效。而后其将目前指针920向前移动三个缓冲区。宿903在下一次调用nextFullBuf时,其将取得新的目前缓冲区。相同的方法可应用在快速倒回功能,其是以转换902将目前指针920向后移动而达成。The remote may also contain a fast forward button. When the fast forward button is pressed, the control object 917 sends an event to the transition 902 telling it to move forward two seconds. Conversion 902 finds that a time length of two seconds requires three buffers to be moved forward. It then sends a reset event to the downstream channel so that any data in the queue or state that may be present in the hardware decoder is forced out. This is a critical step because the structure of the MPEG data stream requires that a state must be maintained for multiple frames which would become invalid due to relocation of the pointers. It then moves the current pointer 920 forward three buffers. When the sink 903 calls nextFullBuf next time, it will get a new current buffer. The same method can be applied to the fast rewind function, which is achieved by moving the current pointer 920 backward with the transition 902 .

系统时钟基准位于解码器当中。系统时钟基准在快速播放下会被加速,而在慢速播放下则会被减速。宿则单纯依据时钟速率要求整个缓冲区加快或减慢。The system clock reference is located in the decoder. The system clock base is sped up for fast playback and slowed down for slow playback. The sink asks the entire buffer to speed up or slow down purely based on the clock rate.

参照第10图,衍生自TmkXfrm类的另外两对象是存放在传输通道,以便于磁盘的存取。其中之一称作Tmk剪辑读取器1003,而另一称作Tmk剪辑写入器1001。缓冲区进入Tmk剪辑写入器1001,并且被推进至位于存储媒体1004的文件中。Tmk剪辑读取器1003要求取自存储媒体1005的一文件的缓冲区。Tmk剪辑读取器1003仅提供allocEmptyBuf及pushFullBuf方法,而Tmk剪辑写入器1001仅提供nextFullBuff及releaseEmptyBuf方法。因此,Tmk剪辑读取器1003执行与输入或Tmk剪辑快速缓存1002的“推进”端相同的功能,而Tmk剪辑写入器1001则执行与输出或Tmk剪辑快速缓存1002的“拉出”端相同的功能。Referring to Figure 10, the other two objects derived from the TmkXfrm class are stored in the transmission channel for easy disk access. One of them is called Tmk Clip Reader 1003 and the other is called Tmk Clip Writer 1001 . The buffer enters the Tmk clip writer 1001 and is pushed into a file located on the storage medium 1004 . The Tmk clip reader 1003 requests a buffer of a file from the storage medium 1005 . Tmk clip reader 1003 only provides allocEmptyBuf and pushFullBuf methods, while Tmk clip writer 1001 only provides nextFullBuff and releaseEmptyBuf methods. Thus, the Tmk Clip Reader 1003 performs the same function as the input or "push" side of the Tmk Clip Cache 1002, and the Tmk Clip Writer 1001 performs the same function as the output or "pull" side of the Tmk Clip Cache 1002 function.

参照第11图,其显示一达成多重功能的较佳实施例。源1101具有一电视信号输入端。该源将数据传送给推进开关1102,其为衍生自TmkXfrm的转换。推进开关1102具有多个输出端,并可藉由控制对象1114加以切换。此意味着一部分的传输通道可停止,而另一传输通道则可按照使用者任意启动。使用者可在不同的存储装置当中进行切换。推进开关1102可输出至Tmk剪辑写入器1106,其进至存储装置1107或写入至快速缓存转换1103。Referring to Figure 11, it shows a preferred embodiment for achieving multiple functions. Source 1101 has a television signal input. This source transmits data to push switch 1102, which is a transform derived from TmkXfrm. The push switch 1102 has multiple output terminals, which can be switched by the control object 1114 . This means that a part of the transmission channel can be stopped, while another transmission channel can be started arbitrarily according to the user. Users can switch between different storage devices. Push switch 1102 may output to Tmk clip writer 1106 , which goes to storage 1107 or writes to cache switch 1103 .

此装置的一重要特征在于其可在程式逻辑的控制下,轻易选择内送信号的录制部分。根据诸如目前时刻、特定的时间长度或经由观看者按压遥控器等信息,Tmk剪辑写入器1106可被切换以记录一部分的信号,并且在稍后的某一时间关闭。此切换通常会致使送出一“切换”事件至推进开关1102对象。An important feature of this device is that it can easily select the recorded portion of the incoming signal under the control of the program logic. Based on information such as the current moment, a specific length of time, or via the viewer pressing the remote control, the Tmk clip writer 1106 can be switched to record a portion of the signal and turned off at some later time. This toggle typically results in a "toggle" event being sent to the push switch 1102 object.

另一种用于启动选择性记录的方法是通过将信息调制到VBI,或存放到MPEG专用数据频道。从VBI或专用数据频道所解码出的数据会被送到程式逻辑。程式逻辑会检查此数据,以判定该数据是否指明所调制的电视信号的记录应开始。同样地,此信息亦可指明记录应在何时终止,或另一数据项可调至指明记录应何时终止的信号。起始及终止指示器可以明确地调制到该信号中,或者以标准方式存放在该信号中的其它信息亦可用于进行此信息的编码。Another method for enabling selective recording is by modulating the information into the VBI, or depositing into an MPEG dedicated data channel. Data decoded from the VBI or a dedicated data channel is sent to the program logic. Program logic checks this data to determine whether the data indicates that recording of the modulated television signal should begin. Likewise, this information may also indicate when the recording should be terminated, or another data item may be tuned to signal when the recording should be terminated. Start and stop indicators may be explicitly modulated into the signal, or other information stored in the signal in a standard manner may be used to encode this information.

参照第12图,其显示一实例来说明程式逻辑如何扫描包含于闭路字幕(CC)场当中的字,以确定起始及终止的时间,并利用特定的字或短语来启动记录。其中包括NTSC或PAL场1201的数据流。CC字节是抽取自每一奇数场1202,并加入环形缓冲区1203当中,以用于藉由字解析器1204来处理。字解析器1204收集字,直到遇到字边界为止,此边界通常为空白字、句点或其它描述字符。回想上述情况,MPEG音频及视频数据段被收集到一连串大小固定的PES缓冲区。一特殊数据段会被加入每一PES缓冲区,以保留提取自CC场1205的字。因此,CC的信息将会和音频及视频保持同步,并且可在数据流播放时正确地呈现给观看者。如此亦容许存储的数据流在程式逻辑闲置的时候为CC信息提供处理,其可分散负载、降低成本及提升效率。在此情况下,存放在特殊数据段的字即可直接送至状态表逻辑1206。Referring to FIG. 12, an example is shown of how program logic scans words contained in a closed caption (CC) field to determine start and stop times and initiate recording with a specific word or phrase. These include NTSC or PAL field 1201 data streams. CC bytes are extracted from each odd field 1202 and added to ring buffer 1203 for processing by word parser 1204 . Word parser 1204 collects words until a word boundary is encountered, which is typically a blank word, period, or other descriptive character. Recall from the above that the MPEG audio and video segments are collected into a series of fixed-size PES buffers. A special data segment is added to each PES buffer to preserve words extracted from the CC field 1205 . Therefore, the CC information will be kept in sync with the audio and video, and will be correctly presented to the viewer while the stream is playing. This also allows stored data streams to provide processing for CC information when the program logic is idle, which can spread the load, reduce costs and improve efficiency. In this case, the words stored in the special data field can be sent directly to the state table logic 1206.

在数据流进行记录当中,每一字会被锁定在表1206当中,该表指明针对该字所进行的识别动作。此动作可能仅止于改变识别器状态机1207的状态,或可能致使状态机1207发出一动作要求,如“开始记录”、“停止记录”、“观看短语”,或其它类似的要求。的确,所辨识的字或短语可能会导致传输通道被切换;例如,若节目当中使用不想要的语言,则可覆盖不同的声纹道。During data stream recording, each word is locked in a table 1206, which indicates the recognition action for that word. This action may simply change the state of the recognizer state machine 1207, or may cause the state machine 1207 to issue an action request, such as "start recording", "stop recording", "view phrase", or other similar requests. Indeed, a recognized word or phrase may cause the transmission channel to be switched; for example, a different voiceprint channel may be overlaid if an unwanted language is used in the program.

应注意的是,解析状态表1206及识别器状态机1207可在任何时间点加以修饰或更改。例如,不同的表及状态机可提供给各个输入频道。在另一种情况下,此等单元可依据日期时间或其它事件而加以切换。It should be noted that the parsing state table 1206 and the recognizer state machine 1207 can be modified or changed at any point in time. For example, different tables and state machines may be provided for each input channel. In another case, the units may be switched based on time of day or other events.

参照第11图,添加拉出开关1104,其是输出至宿1105。宿1105会调用nextFullBuf及releaseEmptyBuf,以取得或回传来自于拉出开关1104的缓冲区。拉出开关1104可有任何数目的输入,其中一输入可为剪辑动作1113。遥控器可在输入源之间进行切换。控制对象1114将一事件传送至拉出开关1104,以告知其进行切换,使其从目前的输入源切换至该控制对象所选定的任一输入源。Referring to FIG. 11 , a pull switch 1104 is added, which is an output to a sink 1105 . The sink 1105 will call nextFullBuf and releaseEmptyBuf to get or return the buffer from the pull switch 1104 . Pull switch 1104 may have any number of inputs, one of which may be clip action 1113 . The remote control switches between input sources. The control object 1114 sends an event to the pull switch 1104 to inform it to switch from the current input source to any input source selected by the control object.

提供剪辑动作用于以可预测及可控制的方式来排列一些不同的存储信号,并可能经由遥控器加入观看者所选择的控制。因此,其是以TmkXfrm对象的衍生物的方式呈现,并接收用于切换至下一存储信号的“切换”事件。Clipping actions are provided for arranging a number of different stored signals in a predictable and controllable manner, possibly adding viewer-selected control via the remote control. Thus, it is exposed as a derivative of the TmkXfrm object and receives a "toggle" event for switching to the next stored signal.

如此即可让程式逻辑或使用者建立惯用的视频输出序列。任何数目的视频数据段可加以排列及组合,即如同程式逻辑或使用者使用广播工作室视频混合器一般。Tmk剪辑读取器1108、1109及1110会加以分配并挂在拉出开关1104当中。拉出开关1104在Tmk剪辑读取器1108、110g及1110之间进行切换,以组合视频及音频剪辑。由于传输通道的建构方式的缘故,流量控制自动化。Push及Pull开关即如同广播工作室的视频开关一样。This allows program logic or the user to create custom video output sequences. Any number of segments of video data can be arranged and combined, eg, as program logic or as a user using a broadcast studio video mixer. Tmk clip readers 1108 , 1109 and 1110 are assigned and hooked into pull switch 1104 . Pull switch 1104 toggles between Tmk clip readers 1108, 110g and 1110 to combine video and audio clips. Due to the way the transmission channel is constructed, flow control is automated. Push and Pull switches are like video switches in broadcast studios.

在此所描述的衍生类及所得到的对象可以任何方式加以组合,以建立一些不同且有用的配置用于存储、取回、切换及观看电视广播数据流。例如,若可以使用多重输出部及输入部,则可观看一输入而存储另一输入,同时可藉由第二个输出来产生图像中的图像的视窗,以便预览先前所存储的数据流。此等配置代表一种独特且新颖的软件转换的应用,其可利用单一符合成本效益的装置来达到昂贵且复杂的硬件解决方案所得到的效果。The derived classes and resulting objects described herein can be combined in any manner to create a number of different and useful configurations for storing, retrieving, switching, and viewing television broadcast data streams. For example, if multiple outputs and inputs are available, one input can be viewed while another is stored, while a second output can be used to generate a window of images within images to preview previously stored data streams. These configurations represent a unique and novel application of software translation that can utilize a single cost-effective device to achieve the effects of expensive and complex hardware solutions.

参照第13图,其显示高层次的系统图,并显示以VCR备份器材来实施。输出模组1303将电视信号传送到VCR1307。如此可让使用者直接将电视节目录制在录影带上。本发明可让使用者将要从磁盘录制到录影带的节目加以排队,并可针对节目送至VCR1307的时间进行排程。标题页(EPG数据)可在一节目进行传送之前送入VCR1307。较长的节目可藉由加速播放速率或省略帧而加以调整,使其适合较小的录影带。Referring to Figure 13, it shows a high level system diagram and shows its implementation with VCR backup equipment. The output module 1303 transmits the TV signal to the VCR1307. This allows users to record TV programs directly on video tape. The present invention allows the user to queue programs to be recorded from disk to video tape, and to schedule the time when the programs are sent to the VCR1307. Banner pages (EPG data) can be sent to the VCR 1307 before a program is delivered. Longer titles can be adjusted to fit smaller tapes by speeding up the playback rate or omitting frames.

VCR1307的输出亦可导引回输入模组1301。在此种配置方式下,VCR是做为媒体开关1302的备份系统。所有过剩的存储或优先权较低的节目编排将会被送到VCR1307,以供稍后取用。The output of the VCR 1307 can also be directed back to the input module 1301 . In this configuration, the VCR is used as a backup system for the media switch 1302 . All excess storage or lower priority programming will be sent to the VCR1307 for later retrieval.

输入模组1301可加以解码并传递至编码在VBI的系统信息的其余部分。输出模组1303可编码到系统的其余部分所提供的输出VBI数据中。程式逻辑可加以安排而将不同种类的识别信息编入输出信号当中,此输出信号将会利用VCR1307记录在磁带上。将此磁带回放即可让程式逻辑返回读取此识别信息,使得记录于该带上的电视信号能够正确地加以处理。例如,一特定节目可连同关于何时被录制及来源网络等信息一起记录到磁带上。当此节目回放到输入模组时,此信息可用于控制信号的存储以及呈现给观看者等。The input module 1301 can decode and pass on to the rest of the system information encoded in the VBI. The output module 1303 can be encoded into the output VBI data provided by the rest of the system. The program logic can be arranged to encode different types of identification information into the output signal which will be recorded on tape using the VCR 1307. Playing back the tape allows the program logic to read back the identification information so that the television signal recorded on the tape can be processed correctly. For example, a particular program can be recorded on tape along with information about when it was recorded and the source network. When the program is played back to the input module, this information can be used to control the storage and presentation of the signal to the viewer, etc.

凡熟习此技术者将可轻易得知,此种机构可应用于将各种不同的数据项引入程式逻辑当中,而此等数据项并不会被视为电视信号。例如,软件更新或其它数据可加入本系统。从电视广播数据流接收此数据的程式逻辑可加强该数据处理方式的控制,诸如根据某种预先掌握的密钥要求某种认证程序与/或对嵌入的信息解密。此种方法亦可在常规广播信号中运作,从而引入将非电视控制信息及数据提供给程式逻辑的有效方法。Those skilled in the art will readily appreciate that this mechanism can be used to introduce various data items into program logic that would not be considered television signals. For example, software updates or other data may be added to the system. Program logic receiving this data from a television broadcast data stream may enforce control over how the data is processed, such as requiring an authentication procedure and/or decrypting embedded information based on some pre-knowledgeable key. This approach also works on conventional broadcast signals, thereby introducing an efficient method of providing non-television control information and data to program logic.

此外,凡熟习此技术者将可轻易得知,虽然以上是特别针对VCR加以说明,但任何多媒体记录装置(如数字视频光碟-随机存取存储器(DVD-RAM)记录器)可以轻易取代VCR。In addition, those skilled in the art will readily understand that although the above description is specific to a VCR, any multimedia recording device such as a digital video disc-random access memory (DVD-RAM) recorder can easily replace a VCR.

尽管本发明已在此参照较佳实施例而加以说明,凡熟习此项技艺者可轻易得知,其它应用可取代在此所提出者而仍不脱离本发明的精神及范围。例如,本发明可应用于侦测赌博场所的犯罪行为。本发明的输入部连接到赌场的摄影监视系统。记录的视频数据会进行快速缓存,并且同时输出到外部的VCR。在外部VCR正载入实时输入视频的同时,使用者可切换到任一图像馈源,检视(例如倒转、播放、慢速播放、快速播放等)所记录的图像的特定段。Although the present invention has been described herein with reference to preferred embodiments, those skilled in the art will readily appreciate that other applications may be substituted for those set forth herein without departing from the spirit and scope of the present invention. For example, the invention can be applied to detect crimes in gambling establishments. The input of the present invention is connected to the camera surveillance system of the casino. Recorded video data will be quickly buffered and output to an external VCR at the same time. While the external VCR is loading real-time input video, the user can switch to either image feed, viewing (eg, reversing, playing, slow-playing, fast-playing, etc.) a specific segment of the recorded image.

视频数据流标签的体系结构Architecture of Video Data Stream Labeling

请再次参照第12图。标签是出现于电视广播数据流1201的抽象事件。此等标签可能内嵌于模拟信号的VBI内,或内嵌于MPEG2多路复用的专用数据频道内。如上所述,标签可内嵌于隐藏字幕(CC)场,并提取到环形缓冲区1203或存储器分配结构。字解析器1204在扫瞄CC数据的过程中会识别出独特的标签。此等标签是利用标准CC控制码予以修饰。同时亦可隐性产生标签;例如:根据当前时间和正在观看的节目而产生。Please refer to Figure 12 again. Tags are abstract events that appear in the television broadcast data stream 1201 . These tags may be embedded in the VBI of the analog signal, or embedded in a dedicated data channel of the MPEG2 multiplex. As described above, tags may be embedded in closed caption (CC) fields and fetched into ring buffer 1203 or a memory allocation structure. The word parser 1204 will identify unique tags during the process of scanning the CC data. These tags are decorated with standard CC control codes. Tags can also be generated implicitly; for example, based on the current time and the program being watched.

本发明提供一种称作TiVo视频标签编写(TVTAG)系统,其用于在广播之前将标签(TiVo标签)插入视频数据流。参照第14、16和17图,TVTAG系统包含视频输出源1401、在VBI插入隐藏字幕信息及输出字幕化视频的兼容装置1402、监像器1405,以及软件程序,后者用于控制VBI插入装置,使其将具有隐藏字幕信息格式的字幕化标签数据对象纳入视频数据流1406。经过带标签的视频数据会立即被传送或存储于适当的媒体,以供后续传送。The present invention provides a system called TiVo Video Tag Authoring (TVTAG) for inserting tags (TiVo Tags) into video data streams prior to broadcast. Referring to Figures 14, 16 and 17, the TVTAG system includes a video output source 1401, a compatible device 1402 for inserting closed caption information in the VBI and outputting captioned video, a monitor 1405, and a software program for controlling the VBI insertion device , causing it to include into the video data stream 1406 a captioned tag data object in the closed captioning information format. The tagged video data is immediately transmitted or stored on an appropriate medium for subsequent transmission.

在大部分的基本实作情况下,TVTAG软件1406负责控制VBI插入装置1402。TVTAG软件1406藉由标准化电脑接口及装置控制码协定来联是VBI插入装置1402。当观看视频监视器1405的操作人员判断出已到达所想要的标签插入点时,其会按下按键而产生TiVo标签数据对象,同时该对象会被传送到VBI插入装置1402,并且被纳入视频数据流而供传送1404或存储1403。In most basic implementation cases, the TVTAG software 1406 is responsible for controlling the VBI inserter 1402 . The TVTAG software 1406 interfaces with the VBI plug-in device 1402 through a standardized computer interface and device control code protocol. When the operator watching the video monitor 1405 judges that the desired tag insertion point has been reached, he presses a button to generate a TiVo tag data object, which is sent to the VBI insertion device 1402 and incorporated into the video Data streams for transmission 1404 or storage 1403 .

TVTAG软件具备控制视频输入源1401和视频输出存储装置1403的额外功能。操作人员选择特定的视频1602,而且能够使视频输入流暂停,以有助于图像要素1702能够重叠于监视器上,并利用指向装置—例如滑鼠—来定位该图像要素。图像要素1702的定位亦可藉由操作人员接口1601来完成。操作人员利用X位置1605与Y位置1604来输入图像位置。The TVTAG software has the additional function of controlling the video input source 1401 and the video output storage device 1403 . The operator selects a particular video 1602 and can pause the video input stream to facilitate the image element 1702 to be overlaid on the monitor and locate the image element using a pointing device such as a mouse. Positioning of the image element 1702 can also be done through the operator interface 1601 . The operator uses the X position 1605 and the Y position 1604 to input the image position.

图像要素和定位信息随后被纳入TiVo标签对象(以下将会说明),并记载时间码或视频帧。当操作人员感到满意时,即可重新播放和录制。随后,通过插入装置发出最精确的标签。Image elements and positioning information are then incorporated into TiVo tag objects (described below) and recorded with timecode or video frames. When the operator is satisfied, playback and recording can be resumed. Subsequently, the most accurate label is issued by the insertion device.

请参照第15图。在TVTAG系统的另一较佳实施例中,软件程式采用标准因特网络协仪的网页,并为操作人员显示该网页1505。网页会促使远端服务器1504上所执行的脚本产生TiVo标签对象。服务器1504控制VBI插入装置1502、视频源1501以及录制装置1503。位于远端的操作人员1505可从服务器1504取得视频数据流的低频宽或高频宽版本,以做为插入标签的参考。一旦必要的标签数据对象均已产生并传送后,其稍后可藉由服务器1504进行整批处理。Please refer to Figure 15. In another preferred embodiment of the TVTAG system, the software program takes a standard Internet Protocol web page and displays the web page 1505 for the operator. The web page will cause the script executed on the remote server 1504 to generate the TiVo tag object. The server 1504 controls the VBI insertion device 1502 , the video source 1501 and the recording device 1503 . The remote operator 1505 can obtain the low-bandwidth or high-bandwidth version of the video data stream from the server 1504 as a reference for inserting tags. Once the necessary tag data objects have been generated and transmitted, they can later be batched by the server 1504 .

在本发明的另一较佳实施例中,其将软件和广泛运用的非线性视频编辑系统综合在一起而成为“插入”对象,藉以容许TiVo标签数据对象能够在产生视频的过程中被插入。在此实施例中,非线性编辑系统是做为源和存储系统控制器,同时亦提供放置图像的功能,其容许放置具精确帧的TiVo标签数据对象。In another preferred embodiment of the present invention, software and widely used non-linear video editing systems are integrated into "insert" objects, thereby allowing TiVo tag data objects to be inserted during video generation. In this embodiment, the nonlinear editing system acts as the source and storage system controller, and also provides image placement functionality, which allows for the placement of frame-accurate TiVo tag data objects.

请参照第18图。标签在视频源1801之前或其上被综合于视频数据流内。随后,视频数据流经由卫星1802、电缆或其它在陆地上的传输方法1803加以传送。接收机1804接收视频数据流、识别出标签,以及回应该等标签而执行适当动作。观众是经由监视器或电视机1805来观赏最终得到的视频数据流。Please refer to Figure 18. Tags are integrated into the video data stream before or on video source 1801 . The video data stream is then transmitted via satellite 1802 , cable or other terrestrial transmission method 1803 . Receiver 1804 receives the video data stream, recognizes tags, and performs appropriate actions in response to the tags. Viewers watch the final video data stream through a monitor or TV set 1805 .

本发明提供一种支援根据视频数据流的标签而采取动作的体系结构。TiVo标签所提供的弹性运用实例包括:The present invention provides an architecture that supports actions based on tags in a video stream. Examples of flexible uses provided by TiVo tags include:

·希望知道何时观赏广播网的节目预告,以便让观众可选择录制未来即将播映的节目。附加于节目预告的TiVo标签会指出节目播映的日期、时间和频道。关于主动节目预告的细节会在下文中详细描述。• Want to know when to watch a broadcast network's promos, so viewers can choose to record upcoming programs that will air in the future. A TiVo tag attached to the program trailer indicates the date, time and channel on which the program will air. Details about proactive promos are described in detail below.

·一种常见的问题会发生在棒球延长加赛的情况。无论何时,当棒球比赛时间超过进入广告的时间时,VCR和数字录像机(DVR)会切断录制过程。在视频数据中传送TiV0标签,以指出录制过程必须继续进行。当比赛结束时,也传送TiVo标签,以告知系统停止录制。• A common problem occurs in baseball overtime. VCRs and digital video recorders (DVRs) cut off the recording process whenever a baseball game is longer than the time to enter commercials. A TiV0 tag is transmitted in the video data to indicate that the recording process must continue. When the game is over, a TiVo tag is also transmitted to tell the system to stop recording.

·拳击比赛经常会突然结束,因而会导致VCR和DVR在剩余的保留时间内录下替代节目。传送TiV0标签,以指出节目已结束,并告知系统停止录影。• Boxing matches often end abruptly, causing VCRs and DVRs to record substitute programs during the remaining retention time. Send a TiV0 tag to indicate that the show is over and tell the system to stop recording.

·请参照第19图。广告加标签,以利播映存储于本端或远端的广告,藉以取代全国或区域以外的广告。在视频数据流1901中,重叠于节目片段1902(商业广告或其它数据段)上的标签是以诸如上述TVTAG系统之类的技术加标签。TiVo标签会告知本发明1905关于旧节目片段1902的起点和终点。可附加单独的标签1903来告知本发明1905关于旧节目片段1902的持续时间,或是将标签附加于旧节目片段的起点1903和终点1904,以指出数据段1902的起点和终点。当检测到标签时,本发明1905会搜寻新的节目片段1906,并直接播映新的数据段来取代旧节目片段1902,而当广播完毕时,其将会回复到原来的节目1901。观众将不会感受到上述转换过程。·Please refer to Figure 19. Advertisement tagging is used to broadcast advertisements stored locally or remotely, so as to replace advertisements outside the country or region. In video data stream 1901, tags superimposed on program segments 1902 (commercials or other data segments) are tagged with techniques such as the TVTAG system described above. The TiVo tag will inform the present invention 1905 about where the old program segments 1902 start and end. A separate tag 1903 can be appended to inform the invention 1905 about the duration of the old program segment 1902, or tags can be appended to the start 1903 and end 1904 of the old program segment to indicate the start and end of the data segment 1902. When a tag is detected, the present invention 1905 will search for a new program segment 1906, and directly broadcast a new data segment to replace the old program segment 1902, and when the broadcast is over, it will return to the original program 1901. The viewer will not feel the conversion process described above.

此时有三种选择:There are three options at this point:

1)系统1905可持续快速缓存原来的节目;如此,若观众1907使节目1901倒转并再次播放该节目,则其将看到重叠的数据段;1) The system 1905 can continuously cache the original program; thus, if the viewer 1907 reverses the program 1901 and plays the program again, he will see the overlapping data segments;

2)旧节目片段1902亦会在快速缓存中被替换;因此,观众将不会看到重叠的数据段;或者2) The old program segment 1902 will also be replaced in the cache; therefore, the viewer will not see overlapping data segments; or

3)系统可快速缓存原来的数据段1902,并在播放时重新解译标签。然而,若无智慧型标签预取功能,则唯有当观众有极充分的备份而使系统能够得知重叠数据段内的第一个标签时,此功能才得以发挥功效。3) The system can quickly cache the original data segment 1902, and reinterpret the tag during playback. However, without smart tag prefetching, this feature would only work if the viewer had enough backup that the system would know the first tag in the overlapping segment.

将旧节目片段的长度加入起点1903和终点1904标签,即可解决上述问题。另一个处理方式是标签匹配,使得系统由起点标签1903识别终点标签1904。当系统1905执行快速前进或倒转而通过其中一个标签时,系统1905能够得知其必须寻找另一个标签。标签1903和1904配对含有一个独特的识别符。系统1905随后可向前或向后搜寻配对的标签,并取代旧有的节目。系统执行标签预取时,有其时间或帧长度的限制。此限制包含在标签或标准化当中。将界线包含于标签中是为最具弹性的处理方式。The above problem can be solved by adding the length of the old program segment to the start point 1903 and end point 1904 tags. Another processing method is label matching, so that the system identifies the end label 1904 from the start label 1903 . When the system 1905 performs fast forward or reverse to pass one of the tags, the system 1905 can know that it has to look for the other tag. Tags 1903 and 1904 are paired to contain a unique identifier. The system 1905 can then search forward or backward for matching tags and replace the old program. When the system performs tag prefetching, it has time or frame length limitations. This limitation is included in labeling or normalization. Including the bounds in the label is the most flexible way to do this.

举例而言,将要播放的节目片段是依照场所、一天中的某段时间、节目内容或依照优选引擎加以选择(描述于本申请的申请人所拥有的美国专利申请案第09/422,121号)。利用优选引擎,来自于当地或服务器存储的适当节目1906可根据观众的个人数据予以选择。个人数据含有观众的观赏习惯、节目喜好及其它个人信息。存储的节目片段1906亦具有描述其特点的节目对象,该等对象是用于搜寻最符合的喜好引导。For example, the program segments to be played are selected by location, time of day, program content, or by a preference engine (described in US Patent Application Serial No. 09/422,121 owned by the applicant of the present application). Using the preference engine, appropriate programs 1906 from local or server storage can be selected based on the viewer's personal data. Personal data includes viewers' viewing habits, program preferences and other personal information. Stored program segments 1906 also have program objects describing their characteristics, which are used to search for the most suitable preference guide.

显然地,商业广告中必须存在一种循环机制,以避免播送完广告。为目前所观赏的节目产生相对于节目数据的偏移倾向,喜好引导即可进一步予以偏移,并可利用此偏移倾向,使商业广告目录与磁盘上的节目1906产生偏移匹配。例如,若某观众正在观赏肥皂剧,而且该观众的喜好倾向为体育节目,则本发明将会选择啤酒广告,而非尿布广告。Obviously, there must be a looping mechanism in commercials to avoid running out of commercials. By creating an offset bias for the currently viewed program relative to the program data, the preference guide can further offset this bias and use this offset bias to match the commercial list with the program 1906 on disk. For example, if a viewer is watching a soap opera, and the viewer's preference tends to be sports, the present invention will select a beer advertisement instead of a diaper advertisement.

标签亦可用于形成条件选择。标签具有其自身衡量喜好的方式。在此情况下,喜好衡量会与喜好倾向相互比较,若比较结果显示高度相关,则本发明不会更动商业广告。比较结果若为低度相关,则会触发运用上述方法Labels can also be used to form conditional selections. Tags have their own way of measuring likes. In this case, the preference measurement is compared with the preference tendency, and if the comparison result shows a high correlation, the present invention will not change the commercial. If the comparison result is low correlation, it will trigger the application of the above method

应注意的是,在所有情况下,系统1905均有充足的时间能够进行选择。传输通道结构通常会快速缓存1/2秒的视频数据,以便在输入与输出之间提供许多时间来更改数据流。若需要更长的时间,则可为传输通道增加更多的缓存。当磁盘内的节目广播完时,系统会藉由读取之前的数据流而形成相同长度的时间延迟。It should be noted that in all cases, the system 1905 has sufficient time to be able to make a selection. The transport channel structure typically fast-buffers 1/2 second of video data to provide a lot of time to change the data stream between input and output. If longer time is required, more buffers can be added to the transmission channel. When the broadcast of the program on the disk is finished, the system will form a time delay of the same length by reading the previous data stream.

同时应注意的是,亦可利用上述方法来检测商业广告,该方法描述于美国专利申请案第09/187,967号,其名称为“模拟视频添标及编码系统(Analog VideoTagging and Encoding System)”,前揭申请案亦为本案申请人所拥有。当使用描述于前揭申请案中的标签时,亦可运用与上述方法相同类型的取代方式。It should also be noted that commercials can also be detected using the method described above, described in U.S. Patent Application Serial No. 09/187,967, entitled "Analog Video Tagging and Encoding System", The above-disclosed application is also owned by the applicant of this case. The same type of substitution as described above can also be used when using the tags described in the preceding patent applications.

请参照第19图和第22图。标签可执行商业广告“快速移动/跳过(zapping)”功能。标签可用于标示某商业广告的起点1903和终点1904,因此其可被略过或先行取得。观众只需按下遥控器2201上的跳变键2205即可。系统会搜寻终点标签,并紧接着伴随该标签的帧而重新播放。略过的商业广告数目取决于缓存的视频数据流数量。Please refer to Figure 19 and Figure 22. The tag may perform a commercial "zapping" function. Tags can be used to mark the start 1903 and end 1904 of a commercial so it can be skipped or fetched first. The viewer only needs to press the jump key 2205 on the remote controller 2201. The system seeks to the end tag and replays the frame immediately following that tag. The number of skipped commercials depends on the number of buffered video streams.

根据观众预订的喜好设定,系统1905可自行略过现播节目的广告,或略过预先录制且存储于存储器1906内的节目的商业广告。若要略过现播节目中的商业广告,则依照上述方法,通道内必须有大量缓存。容许系统略过录制于节目中的商业广告,即可让观众观赏连续播映的节目,而不会受到任何商业广告的干扰。The system 1905 can automatically skip commercials for live programs, or skip commercials for programs that are pre-recorded and stored in memory 1906, according to viewer preferences. To skip the commercial advertisements in live programs, according to the above method, there must be a large amount of buffering in the channel. Allowing the system to skip commercials recorded in the program allows the viewer to watch the program continuously without any commercial interruptions.

·附加于节目中的标签可作为索引。举例而言,观众可经由按下遥控器2201上的跳变键2205而跳到节目中的各个索引。• Tags attached to programs can be used as indexes. For example, the viewer can jump to each index in the program by pressing the jump key 2205 on the remote control 2201 .

·标签亦可用于系统功能。如上所述,系统可将节目内容存储于本端而供其自身运用。系统1905必须以某种方式取得节目素材。在离线时间调到特定频道可达成此目的。系统1905在数据流1901当中搜寻告知其开始录制的标签。录制内容包括若干由标签1903、1904所界定的节目片段,其可识别出内容或喜好倾向。位于数据流中的终点的标签告知系统1905停止录制过程。节目片段1906存储于本端,并依上述方法供后续索引之用。· Labels can also be used for system functions. As mentioned above, the system can store the program content locally for its own use. The system 1905 has to get the program material in some way. This can be achieved by tuning to a specific channel during offline hours. The system 1905 searches the data stream 1901 for a tag telling it to start recording. The recording includes a number of program segments delimited by tags 1903, 1904, which can identify content or preferences. A tag at the end in the data stream tells the system 1905 to stop the recording process. Program segment 1906 is stored locally and used for subsequent indexing according to the above method.

本发明具备下列设计要点:The present invention has the following design points:

·本设计提供清楚的区隔机制和策略。· This design provides clear compartmentalization mechanisms and strategies.

·以内部观点而言,标签可被视为引发策略模组的抽象事件。源通道对象负责将接收到的标签信息映射到此等内部抽象。• From an internal point of view, tags can be viewed as abstract events that trigger policy modules. The source channel object is responsible for mapping received label information to these internal abstractions.

·抽象标签存储于PesBuf数据流,如同其为另一数据段一般。如此即可处理具精确时间信息的任何大小标签。同时亦可让标签能够继续存在而成为录制节目的一部份,因此不论何时观赏节目均可采取适当的动作。• Abstract tags are stored in the PesBuf data stream as if it were another data segment. This allows processing of tags of any size with precise time information. It also allows tags to persist as part of the recorded program, so appropriate actions can be taken whenever the program is viewed.

·标签可更新关于当前节目及未来节目的信息。此类信息是为录制的节目而保留。• Tabs can be updated with information about current shows and future shows. Such information is reserved for recorded programs.

·当标签通过系统时可予以记录。此外,亦可将此信息上传。没有必要保留伴随某标签的所有信息。• Can record tags as they pass through the system. In addition, this information can also be uploaded. It is not necessary to retain all the information that accompanies a label.

·标签可依照个别的时程予以产生。例如,根据时间和观赏的广播网而利用广播网工作站记录产生标签。根据时间而产生的标签会保留在录制的信息流。• Labels can be generated on an individual schedule. For example, use network workstation records to generate tags based on time and network viewed. Time-based tags remain in the recorded stream.

以时间为根基的标签Time-Based Labels

请参照第20图,以时间为根基的标签是藉由时间为根基的标签识别器2012予以处理。此对象2012听取频道改变事件,并且当切换到已知的广播网时,该对象会接收该广播网的“时间记录”。若存在某一时间记录,则对象2012会根据当前时间建立标签时程。当各标签的时间出现时,对象2012将某一事件传送到源2001,以指出标签已被插入。源对象2001则将标签插入当前正在建构的PesBuf内的下一个可用位置。下一个“可用”位置可根据帧边界或其它条件予以决定。Please refer to FIG. 20 , the time-based tags are processed by the time-based tag identifier 2012 . This object 2012 listens for channel change events, and when switching to a known broadcast network, the object receives a "time record" of that broadcast network. If there is a certain time record, the object 2012 will create a tag schedule according to the current time. When the time of each tag occurs, the object 2012 sends an event to the source 2001 to indicate that the tag has been inserted. The source object 2001 inserts the label into the next available position in the PesBuf currently being constructed. The next "available" location may be determined based on frame boundaries or other conditions.

源对象的作用The role of the source object

源对象2001负责将标签插入其所处理的PesBuf数据流。在此假设存在分别用于模拟输入和数位电视源的源对象。The source object 2001 is responsible for inserting tags into the PesBuf stream it processes. It is assumed here that there are separate source objects for analog input and digital TV sources.

标签可以若干不同的方式出现于模拟数据流:Tags can appear in the simulated data stream in a number of different ways:

—在EDS场中。— in the EDS field.

—隐性使用CC场。- Implicit use of CC fields.

—调制到VBI,或许利用ATVEF规格。- Modulation to VBI, perhaps using the ATVEF specification.

—以时间为根基的方式。— A time-based approach.

在数字电视广播数据流中,或由模拟转换为MPEG之后:In a digital TV broadcast data stream, or after conversion from analog to MPEG:

—带内,使用TiVo添标技术。- In-band, using TiVo tagging technology.

—MPEG2专用数据频道。— MPEG2 dedicated data channel.

—MPEG2数据流特征(如帧边界等)。- MPEG2 data flow characteristics (such as frame boundaries, etc.).

—时间为根基的标签。—Time-based labels.

源对象2001并不负责解析标签及采取任何动作。相反地,源对象2001应当仅负责辨识出数据流中的潜在标签,并将其加入PesBuf数据流中。The source object 2001 is not responsible for parsing tags and taking any action. Instead, the source object 2001 should only be responsible for identifying potential tags in the data stream and adding them to the PesBuf data stream.

标签的辨识及动作Tag identification and action

在概念上,所有标签可分为两大类:在接收时必须采取动作(例如录制节目)的标签,以及显示时—亦即观赏节目时—必须采取某种动作的标签。Conceptually, all tags fall into two broad categories: tags that must take an action when received (such as recording a program), and tags that must take some action when displayed—that is, when the program is viewed.

接收标签的处理Processing of received labels

在接收时必须采取动作的标签的处理方式如下:建立Tmk推进开关类2002的新的接收标签机制次类2003。当输入数据流在源对象2001与节目快速缓存转换2013之间通过此次类2003时,次类2003可辨识出接收标签并采取适当动作。Tags that must take action on receive are handled as follows: A new Receive Tag Mechanism subclass 2003 of the Tmk Push Switch class 2002 is created. When the incoming data stream passes through the sub-class 2003 between the source object 2001 and the program cache transformation 2013, the sub-class 2003 can recognize the receiving tag and take appropriate action.

接收标签通常被处理一次,而后即失效。Receiving tags are usually processed once and then expired.

显示标签的处理Display label processing

显示时必须采取某种动作的标签的处理方式如下:建立TmkPullSwitch类2008的新的显示标签机制次类2007。当输出数据流在节目快速缓存转换2013与宿对象2011之间通过此次类2007时,次类2007可辨识出显示标签并采取适当动作。Labels that must take some action when displayed are handled as follows: Create a new display label mechanism subclass 2007 of the TmkPullSwitch class 2008. When the output data stream passes through the secondary class 2007 between the program cache switch 2013 and the sink object 2011, the secondary class 2007 can recognize the display tag and take appropriate action.

标签程序的处理Handling of labeling procedures

只有当TagReceptionPolicy对象2009出现于当前的频道时,才得以进行接收标签的处理。只有当源频道的TagPresentationPolicy对象存在时,才得以进行显示标签的处理。Only when the TagReceptionPolicy object 2009 appears in the current channel, can the processing of receiving tags be performed. Only when the TagPresentationPolicy object of the source channel exists, can the tag be displayed.

TagPolicy对象描述将要辨识的是哪些标签,以及容许进行哪些动作。The TagPolicy object describes which tags will be recognized and which actions are allowed.

当输入频道改变时,接收标签对象会被告知,同时该对象会提取该频道的TagReceptionPolicy对象2009(若此对象存在),并遵守既已被定义的程序。When the input channel changes, the receiving tag object will be notified, and at the same time, the object will extract the TagReceptionPolicy object 2009 of the channel (if this object exists), and follow the defined procedures.

当输出频道改变时,显示标签对象会被告知,同时该对象会取该频道的TagPresentationPolicy对象2010(若此对象存在),并遵守已定义的程序。When the output channel changes, the display tag object will be notified, and at the same time, the object will get the TagPresentationPolicy object 2010 of the channel (if this object exists), and follow the defined procedure.

标签记录tag record

标签的接收可记录于数据库内。此项动作只有当存在TagReceptionPolicy对象2009且该标签被设定为记录属性时才出现。举例而言,记录属性或许已设定,但仍不被容许执行接收动作。如此可达成输入数据流内的动作的被动式记录。Receipt of tags can be recorded in the database. This action only occurs if a TagReceptionPolicy object 2009 exists and the tag is set as a record attribute. For example, the record attribute may be set, but still not allowed to perform receive actions. This enables passive recording of actions within the incoming data stream.

通道处理的变更Changes in channel handling

重要的是支援关于当前放映内容的数据更新。提出以下策略:It is important to support data updates about the current show content. The following strategies are proposed:

—每当输入源改变或新的放映内容开始时,会制作放映对象的副件,而且通道内的其它运作均补做此副件。—When the input source is changed or a new show content starts, a copy of the show object will be made, and other operations in the channel will make up this copy.

—更新标签属于接收标签;在策略允许的情况下,更新经过复制的放映对象。- Update tags are of the receive tag; where policy permits, update the replicated projection object.

—若要录制当前的放映内容,则放映对象的副件与其一同存放,使得存储的节目具备与其一同被存储的适当信息。- If the current showing is to be recorded, a copy of the showing is stored with it so that the stored program has the appropriate information to be stored with it.

—录像机必须得知放映对象已经改变的情况,以使其不会过早切断例如棒球比赛的录像。- The video recorder must be notified that the object of the projection has changed so that it does not prematurely cut off the recording of, for example, a baseball game.

标签解译与标签状态机Tag Interpretation and Tag State Machine

标签的运用非常有弹性,因为一旦TagPolicy对象已被用于识别一个有效的标签之后,标签解译器2005会解译标准化抽象标签,而TiVo标签状态机2006则会执行操作性标签。经过解译的标签会启动已预先定义的动作组。各组动作均已预先程式化设定于系统内。The use of tags is very flexible because the Tag Interpreter 2005 interprets standardized abstract tags and the TiVo Tag State Machine 2006 executes operational tags once the TagPolicy object has been used to identify a valid tag. An interpreted tag initiates a predefined set of actions. Each group of actions has been pre-programmed and set in the system.

状态机标签属于操作性标签,其不会携带可执行码,但执行程式步骤。如此可让标签始发端组合此类标签而在TiVo系统上执行特别制订的动作。状态机标签可达到如同解译标签所能达到的结果,但其具有动态更改所执行动作组的灵活性。State machine tags are operational tags that do not carry executable code, but execute program steps. This allows tag originators to combine such tags to perform specially tailored actions on the TiVo system. State machine tags achieve the same results as interpreted tags can, but with the flexibility to dynamically change the set of actions performed.

抽象解译标签Abstract Interpretation Tags

可以运用的抽象标签集合是定义于一个称作标签/动作列表的列表当中。此种列表通常存储于数据库对象内;其中存在若干已定义的抽象标签。此等动作可区分为三大类:The set of abstract tags that can be used is defined in a list called tag/action-list. Such a list is usually stored within a database object; there are several abstract tags defined therein. These actions can be divided into three main categories:

—观众可观看到的动作(可包含互动)。- Actions (which may include interactions) that can be seen by the viewer.

—关于数据流的元信息(例如频道、时间、播映长度等)。- Meta information about the data stream (eg channel, time, show length, etc.).

—TiVo控制标签。-TiVo control tab.

造成盘载数据库更动或隐性录制的标签必须经过验证。此项工作通过控制标签来完成。Tags that cause changes to the on-board database or covert recordings must be authenticated. This work is done through control tags.

观众可观看到的标签Tabs visible to viewers

—选单— menu

此种标签指示要给观众提供选择。此种标签所附带的数据会指出选项为何,以及诸如显示样式等其它相关数据。选单具备逾时停用的功能。This label indicates that the viewer is to be offered a choice. The data attached to this tag tells what the option is, as well as other relevant data such as display styles. The menu has a time-out function.

选单标签的用意是为观众提供选择。若观众不在场或不感兴趣,则选单应立即消失。选单的操作原则可视情况暂停目前播映的节目。选单的显示方式不—定为列表。The purpose of a menu label is to provide choices to the viewer. If the viewer is not present or interested, the menu should disappear immediately. The operating principle of the menu can be used to pause the currently broadcast program according to the situation. The display method of the menu is not necessarily a list.

—有条件推出另一节目— conditional launch of another show

此种标签表示:当某条件式为真时,应播映另一节目。此条件是由策略模组加以分析。条件可以常为真。This tag indicates that another program should be played when a condition is true. This condition is analyzed by the strategy module. A condition can always be true.

—有条件上托另一节目—Conditionally entrusted to another program

此种标签会回复到上一个节目。当节目结束之后,另一节目的堆叠会自动上托。若频道已改变或观众进入TiVo中央选单区,则所有其它的节目均上托。This tab will revert to the previous show. When the program ends, the stack of another program will be lifted up automatically. If the channel has been changed or the viewer enters the TiVo central menu area, all other programs are popped up.

突现其它节目是一种将任意序列插入所观赏的节目的方法。在最上层不评估条件数据。相反地,策略模组必须检查此数据以便选择。例如,此方法可用于形成“套叠”广告。Highlighting other programs is a method of inserting arbitrary sequences into programs being watched. Conditional data is not evaluated at the top level. Instead, policy modules must check this data for selection. For example, this method can be used to form "nested" advertisements.

—有条件显示指示符— conditional display indicator

此种标签会使指示符显现于萤幕上。指示符会被命名,而且可以在任何时刻查询运作中的指示符集合。此种标签或标签策略可指出引导指示符的逾时数值。Such labels cause indicators to appear on the screen. Indicators are named, and the set of active indicators can be queried at any time. Such a tag or tag policy may indicate a timeout value for the boot indicator.

—有条件清除指示符条— Conditional clear indicator bar

此种标签会清除运作中的指示符。若频道已改变或观众进入TiVo中央选单区,则所有指示符均会被清除。This label clears the active indicator. If the channel is changed or the viewer enters the TiVo center menu area, all indicators will be cleared.

指示符是另一种在不中断节目播映的情况下为观众提供选择的方法。指示符亦可用于表示或许会有兴趣的数据流的条件。例如,“主动节目预告(ActivePromo)”可藉提供节目对象识别码作为标签数据的一部分加以建立,使该节目可得到选择。当指示符显现时,若观众按下某特定按钮,则节目会被排定录制时间。Indicators are another way to provide viewers with choices without interrupting the airing of the show. Indicators can also be used to indicate conditions for which data streams may be of interest. For example, an "ActivePromo" can be created by providing a PID as part of the tag data to make the program available for selection. When the indicator is displayed, if the viewer presses a certain button, the program is scheduled to be recorded.

元信息标签meta information tag

—当前的播映信息—Current broadcast information

此种标签一般用于容纳关于当前播映的节目的信息。各标签通常连结某一项信息,例如开始时间、结束时间、持续时间等。此种标签可用于“延长”某事件的录制。This type of tag is typically used to hold information about the currently running program. Each tag is usually linked to a certain piece of information, such as start time, end time, duration, etc. Such tags can be used to "extend" the recording of an event.

—未来的播映信息- Future broadcast information

此种标签类似上述标签,但其包含关于未来播映的信息。在此存在两种相关情况:This tag is similar to the tag above, but it contains information about future showings. There are two relevant situations here:

·上述信息是关于某一项已经存在于数据库内的播映信息。此数据库对象会适时加以更新。• The above information is broadcast information about a certain item already existing in the database. This database object is updated as appropriate.

·上述信息是不存在的播映信息。此时会建立新的播映对象,并由该标签启动。• The above information is broadcast information that does not exist. At this time, a new playback object will be created and started by this label.

TiVo控制标签TiVo Control Tags

—授权修改— authorize modification

此种标签通常会利用当月的安全钥密予以加密。此认证的使用期限由操作原则加以设定,其或许为一或两个小时。因此,若允许更动本端的TiVo系统状态,则上述标签必须持续重新广播。This tag is usually encrypted with the current month's security key. The lifetime of this certification is set by the operating principle, which may be one or two hours. Therefore, if changes to the state of the TiVo system at the local end are allowed, the tags must be continuously rebroadcasted.

此种标签的用意是为杜绝利用诸如延伸数据服务(EDS)之类的内在非安全标签机制的蓄意(或意外)破坏。若广播网提供EDS信息,则首先应确定广播网所提供的标签是正确的,而且不太可能发生破坏标签传输系统的情况。其次,应和该广播网合作,藉以提供一种仅在该广播网传认证标签的认证系统。未经认证的标签绝不可通过源对象插入PES数据流。Such tags are intended to prevent deliberate (or accidental) tampering using inherently non-secure tagging mechanisms such as Extended Data Service (EDS). If the broadcast network provides EDS information, it should first be determined that the labels provided by the broadcast network are correct, and damage to the label transmission system is unlikely to occur. Second, it should cooperate with the broadcast network to provide an authentication system that transmits authentication tags only on the broadcast network. Unauthenticated tags MUST NOT be inserted into the PES stream via source objects.

—有条件录制当前节目—Conditionally record the current program

此种标签会使目前所观赏的节目由此点被存储到磁盘内。当节目结束时即停止录制。This tag causes the currently watched program to be stored to disk from that point on. Recording stops when the program ends.

—有条件停止录制当前节目— Conditionally stop recording the current program

此种标签会停止录制目前所观赏的节目。This tab will stop recording the program you are currently watching.

—有条件录制未来节目—Conditional recording of future programs

在此提供播映对象识别码(或许直接在未来播映标签中传送)。节目会在背景优先次序低于观众的明确选择下被排定录制的时程。The showing object ID is provided here (perhaps directly in the future show tag). Shows are scheduled to be recorded with background prioritizing them lower than the viewer's explicit choice.

—有条件取消录制未来节目— Conditional unrecording of future shows

在此提供播映对象识别码。若由前一个标签为该对象排定录制的时程,则该录制会被取消。Provide the playback object ID here. If a recording was scheduled for this object by a previous tag, the recording will be cancelled.

此等标签和未来播映标签可按经过加密的安全格式插入。若此等标签已经过适当验证,则源对象只会将此等标签插入PES数据流。These tags and future show tags can be inserted in an encrypted and secure format. The source object will only insert such tags into the PES stream if they have been properly validated.

此等标签其中一个用途是自动启动TiVo目录—例如回路集合、广告、空档等。稍后的下载会使此目录被“安装”并成为可用状态。One use of these tabs is to automatically launch TiVo catalogs - such as loop collections, commercials, slots, etc. Later downloads will cause this directory to be "mounted" and available.

—有条件存储文件—Store files conditionally

此种标签是用于传送数据流内的数据,使其存储于磁盘内。例如,广播网页即会通过此种机制。This type of tag is used to transfer data within a data stream to be stored on disk. For example, broadcast web pages go through this mechanism.

—有条件储存对象—Conditionally store objects

此种标签是用于传送数据流内的对象,使其存储于磁盘内。对象的存储过程会遵循标准化对象更新规则。This tag is used to transfer objects in the data stream to be stored on disk. Object stored procedures follow standardized object update rules.

以下为利用插入于数据流的隐藏字幕(CC)部分的放映标签的实作范例。由于当某信号被传送到达使用者接收装置并解码之前,该信号会被保留,所以选择数据流的CC部分。VBI信号的其余部分则不保证如此。当编码成MPEG-2时,许多卫星系统会卸除隐藏字幕以外的所有部分。The following is an example implementation using a show tag inserted in the Closed Caption (CC) portion of the data stream. The CC portion of the data stream is selected because the signal is preserved when it is transmitted to the user's receiving device before it is decoded. The rest of the VBI signal is not guaranteed to be the same. When encoding to MPEG-2, many satellite systems strip everything but closed captions.

在CC数据流上有非常严格的频宽限制。CC数据流的数据速率为每一视频帧两个7位字节。此外,为了避免和控制码发生抵触,数据必须从0x20开始,因而实际上将其传输速率限制在约6.5位的字节(为简便起见,删截到6位的字节)。再者,上述频宽约等于360位/秒。若频道与实际的CC数据共用,则将会进一步降低上述传输速率。此外,需要传送额外的控制码,以避免具备CC功能的电视试图将TiVo标签作为CC文本显示。There are very strict bandwidth restrictions on CC data streams. The data rate of the CC data stream is two 7-bit bytes per video frame. Furthermore, to avoid collisions with control codes, the data must start at 0x20, thus effectively limiting its transfer rate to approximately 6.5-bit bytes (truncated to 6-bit bytes for simplicity). Furthermore, the aforementioned bandwidth is approximately equal to 360 bits/second. If the channel is shared with the actual CC data, the above transmission rate will be further reduced. Additionally, additional control codes need to be transmitted to prevent CC-capable TVs from attempting to display the TiVo tag as CC text.

基本标签设计Basic Label Design

此段落将说明如何在隐藏字幕数据流内安排标签。在此假设对于隐藏字幕的规格有概括性的了解;然而,此点并非决定因素。This paragraph explains how to arrange tags within a closed caption data stream. A general knowledge of closed captioning specifications is assumed here; however, this is not a determining factor.

使标签无法被看见make the label invisible

安置于数据流当中的TiVo标签不应影响具隐藏字幕功能的电视上的显示。此目的可藉由下列方法而达成:首先传送一个“重新字幕载入”指令(传送两次以免失误),其后紧接一串描述标签的字符,该等字符之后为“擦除非显示存储器”指令(传送两次以免失误)。上述过程的作用是将文本载入画面以外的存储器,而后再清除该存储器。一般具备隐藏字幕功能的电视将不会显示此文本(根据EIA-701标准)。A TiVo tag placed in the data stream should not interfere with the display on a closed caption capable TV. This purpose can be achieved by the following method: first send a "reload subtitle" command (send twice to avoid mistakes), followed by a string of characters describing the label, these characters are followed by "erase non-display memory" Command (twice to avoid mistakes). The effect of the above procedure is to load the text into memory outside the screen, and then clear the memory. Normally closed captioning capable TVs will not display this text (according to the EIA-701 standard).

只要隐藏字幕解码器并非处于“滚动”或“卷动”模式,则上述方法必然能奏效。在此种模式中,“重新字幕载入”指令将会导致文本被删除。为克服此问题,即使TiVo标签被传送到第二个隐藏字幕频道,TiVo标签仍会被接收并予以辨识。依照上述方式,纵使隐藏字幕频道1被设定为卷动式文本,仍然可以通过隐藏字幕频道2来传送标签。As long as the closed caption decoder is not in "scroll" or "scroll" mode, the above method must work. In this mode, the "reload subtitles" command will cause the text to be deleted. To overcome this problem, even if the TiVo tag is transmitted to the second closed captioning channel, the TiVo tag will still be received and recognized. According to the above method, even if the closed caption channel 1 is set as scrolling text, the tag can still be transmitted through the closed caption channel 2.

标签的编码Label encoding

以TiVo标签传送的文本包含“Tt”字母,其次是代表该标签长度的单一字符,紧接着是标签内容,而后则是标签内容的循环冗余校验码(CRC)。”Tt”字母具备充分的唯一性,而不太可能在一般的CC数据中遇到相同的字母。此外,一般的CC数据经常会从位置控制码开始,以指出文本应显示于萤幕上的哪个位置。由于不会用到在屏显示,所以不需要此种位置数据。故此,紧接着“重新字幕载入”控制码之后遇到”Tt”字母的可能性极低,几乎能够完全保证此种组合为TiVo标签(然而此实作不需仰赖上述情况确实如此)。The text transmitted in a TiVo tag consists of the letters "Tt", followed by a single character representing the length of the tag, followed by the tag content, followed by a cyclic redundancy check (CRC) of the tag content. The "Tt" letter is sufficiently unique that it is unlikely to encounter the same letter in general CC data. In addition, general CC data often starts with a position control code to indicate where the text should be displayed on the screen. Such location data is not required since the on-screen display will not be used. Thus, the very low probability of encountering the letters "Tt" immediately after the "resubtitle loading" control code almost guarantees that this combination is a TiVo tag (however this implementation does not need to rely on the fact that this is the case).

代表标签长度的单一字符是将标签长度增加0x20并经计算而得。举例而言,若其长度为3个字符,则所用的长度字符为0x23(‘#’)。如此一来,上述实作可延伸到长度为95(因为字集中只有96个字符),而最大长度则被定义为63。若需要更长的标签,则可为长度字符增加其它32个可能值的解译。The single character representing the tag length is calculated by adding 0x20 to the tag length. For example, if its length is 3 characters, the length character used is 0x23 ('#'). Thus, the above implementation can be extended to a length of 95 (because there are only 96 characters in the character set), and the maximum length is defined as 63. If longer tags are required, interpretations of the other 32 possible values can be added for the length character.

标签本身的可能值是定义于以下的标签类型一节。The possible values for the tag itself are defined in the Tag Types section below.

上述CRC是一种16位的CRC-CCITT(国际电报电话谘询委员会)标准码(亦即,多项式=x^16+x^12+x^5+1)。CRC码是以三个单独字符安置于数据流。第一个字符是将0x20加上CRC的六个最高有效位并经计算而得。下一个字符是将0x20加上CRC的第二个最显著位元并经计算而得。最后一个字符则将0x20加上CRC的最后四位并经计算而得。The above-mentioned CRC is a 16-bit CRC-CCITT (Consultative Committee for International Telegraph and Telephone) standard code (ie, polynomial=x^16+x^12+x^5+1). The CRC code is placed in the data stream as three separate characters. The first character is calculated by adding 0x20 to the six most significant bits of the CRC. The next character is calculated by adding 0x20 to the second most significant bit of the CRC. The last character is calculated by adding 0x20 to the last four bits of CRC.

标签类型label type

此段落将详细说明TiVo标签的范例。应注意的是,各标签序列由至少一个字节开始,而该字节代表标签的类型。This paragraph will detail examples of TiVo tags. It should be noted that each tag sequence begins with at least one byte, and this byte represents the type of tag.

iPreview标签iPreview Tags

请参照第17图。一个iPreview标签包含四项信息。第一项信息为预告节目的32位节目识别码。第二项信息包含预告节目的持续播映时间。第三项数据为iPreview提示1702安置于萤幕1701上的位置,而最后一项信息则为iPreview提示所使用的尺寸大小。Please refer to Figure 17. An iPreview tab contains four items of information. The first item of information is the 32-bit program identification code of the preview program. The second piece of information contains the running time of the teaser program. The third item of data is the position on the screen 1701 where the iPreview prompt 1702 is placed, and the last item of information is the size used by the iPreview prompt.

iPreview提示的萤幕位置为萤幕的宽、高解析度的比值。X座标使用9位来区分宽度,因而最后得到的座标如下:X=(x_resolution/511*xval)。若xval为10,则在720x486的萤幕上(使用CCIR656解析度),X座标为14。Y座标使用8位来区分高度,因而最后得到的座标如下:Y=(y_resolution/255*yval)。X、Y座标指示调试图左上角的位置。The screen position prompted by iPreview is the ratio of the screen width and high resolution. The X coordinate uses 9 bits to distinguish the width, so the final coordinate is as follows: X=(x_resolution/511*xval). If xval is 10, then on a 720x486 screen (using CCIR656 resolution), the X coordinate is 14. The Y coordinate uses 8 bits to distinguish the height, so the final coordinate is as follows: Y=(y_resolution/255*yval). The X, Y coordinates indicate the position of the upper left corner of the debug graph.

若X、Y值被设成最大的可能值(亦即x=511,y=255),则表示制作者将决定其位置的工作留给系统来完成。系统会将调试图安置在预先设定的位置。使用最大值来表示预设位置的理由在于:“实际”位置绝不会被设定在此等数值,因为如此将使整个调制图超出画面之外。If the X and Y values are set to the maximum possible values (ie x=511, y=255), it means that the maker leaves the determination of its position to the system. The system will place the debug map at the preset position. The reason for using maximum values for preset positions is that the "real" positions are never set to these values, as doing so would push the entire modulation map out of frame.

尺寸栏为四位数字,其代表所有提示图像的大小。此栏的16个可能的数值对应预先设定的图像大小,机顶盒(视讯转接器)应预先予以提供。The Size column is a four-digit number that represents the size of all hint images. The 16 possible values in this column correspond to preset image sizes, which should be provided in advance by the set-top box (video adapter).

逾时限制为一个10位的数字,其代表留在预告节目内的帧的个数。此将限定标签的使用期限为34秒。若某预告节目的持续时间较长,则必须重复该标签。应注意的是,上述逾时限制是“人为限制”于10位,以避免发生错误。当某制作者在标签中使用格式错误的逾时限制时,上述处理方式可避免其影响到后续的商业广告。The timeout is limited to a 10-digit number representing the number of frames left in the trailer. This will limit the lifetime of the tag to 34 seconds. This tag must be repeated if a teaser has a longer duration. It should be noted that the above timeout limit is "artificially limited" to 10 digits to avoid errors. This prevents it from affecting subsequent commercials when a creator uses a malformed timeout in a tag.

版本是用于编定版本的编号,藉以识别预告节目本身。在此使用完整的隐藏字幕字符集,以取代以位包封此号码(因而将其限制为6位),如此可形成96个可能值,而非64(2^6)个可能值。因此,版本编号范围应在0-95之内。目前尚未使用到保留字符。此种字符必须存在,以使控制码能够正确地终止而对准2字节的边界。Version is the number used to compile the version to identify the preview program itself. The full closed caption character set is used here instead of bit-packing the number (thus limiting it to 6 bits), which results in 96 possible values instead of 64 (2^6) possible values. Therefore, version numbers should be in the range 0-95. Reserved characters are not currently used. Such characters must be present in order for the control codes to be properly terminated on 2-byte boundaries.

Ipreview标签的第一个字符总是“i”。The first character of the Ipreview tag is always "i".

所有数据栏是包封在同一个位边界,而后再分为六个位值,此等位值会被转换成字符(藉由增加0x20)并传送。上述栏的次序如下:All data fields are packed on the same bit boundary, and then divided into six bit values, which are converted into characters (by adding 0x20) and sent. The order of the above columns is as follows:

·32位:节目识别码(ID)32 bits: program identification code (ID)

·9位:X座标9 digits: X coordinate

·8位:Y座标8 bits: Y coordinate

·4位:图像大小4 bits: image size

·10位:逾时限制10 digits: timeout limit

·1字符:版本1 character: version

·1字符:保留栏1 character: Reserved column

数据栏总共有66位,其需要11个字符来传送,并加上1个字符用于版本栏,以及1个字符用于保留栏。各个字符的确实内容如下:The data field has a total of 66 bits, which requires 11 characters to transmit, plus 1 character for the version field, and 1 character for the reserved field. The exact content of each character is as follows:

1)0x20+识别码(ID)[31:26]1) 0x20+ identification code (ID) [31:26]

2)0x20+ID[25:20]2) 0x20+ID[25:20]

3)0x20+ID[19:14]3) 0x20+ID[19:14]

4)0x20+ID[13:8]4) 0x20+ID[13:8]

5)0x20+ID[7:2]5) 0x20+ID[7:2]

6)0x20+ID[1:0]X[8:5]6) 0x20+ID[1:0]X[8:5]

7)0x20+X[4:0]Y[7]7) 0x20+X[4:0]Y[7]

8)0x20+Y[6:1]8) 0x20+Y[6:1]

9)0x20+Y[0]大小(size)[3:0]9) 0x20+Y[0] size (size)[3:0]

10)0x20+Y[0]size[3:0]逾时(timeout)[9]10) 0x20+Y[0] size[3:0] timeout (timeout)[9]

11)0x20+timeout[8:3]11) 0x20+timeout[8:3]

12)0x20+timeout[2:0]12) 0x20+timeout[2:0]

13)0x20+版本(version)13) 0x20+ version (version)

14)保留14) Reserved

包含第一个字符“i”在内,iPreview标签的长度为14个字符+3个CRC字符。加上标签档头(3个字符),其使全长成为20个字符,并可在10个帧上进行传送。另外加上4个用于传送两次“重新字幕载入”及“擦除未显示存储器”的帧,此意味着iPreview标签在广播时将占用14个帧(0.47秒)。Including the first character "i", the length of the iPreview tag is 14 characters + 3 CRC characters. Adding the tag header (3 characters) makes the total length 20 characters and can be transmitted over 10 frames. Plus the 4 frames used to send the two "reload subtitles" and "erase undisplayed memory", this means that the iPreview tag will take up 14 frames (0.47 seconds) when broadcast.

一个完整的iPreview标签包含:A complete iPreview tab contains:

“重新字幕载入”,“重新字幕载入”,Tt1(0x20+17=0x31=0110001=”1”)i<13字符iPreview标签>,3字符CRC,擦除未显示存储器,擦除未显示存储器"Reload subtitle", "Reload subtitle", Tt1(0x20+17=0x31=0110001="1") i<13 characters iPreview tag>, 3 characters CRC, erase undisplayed memory, erase undisplayed memory

奇偶调试字符parity debug characters

目前,奇偶位用作奇偶校验。然而,由于CRC已包含于其中,奇偶位不需要具备错误检查的功能。进一步发展此项设计,可利用更灵巧的方式来使用奇偶位。由于隐藏字幕接收机势必会忽略任何具有错误奇偶位的字符,此一种利用频宽有限的CC频道的较佳方式可藉由故意使用错误的奇偶性而达成。如此即可免除重新字幕载入及删除未显示存储器,同时更容易在现有的CC数据中“散置”TiVo标签。Currently, parity bits are used as parity. However, since the CRC is already included, the parity bit does not need to have the function of error checking. Taking this design a step further, there are more clever ways to use the parity bits. Since closed caption receivers will necessarily ignore any characters with wrong parity, this preferred way of utilizing the bandwidth-limited CC channels can be achieved by intentionally using wrong parity. This eliminates the need to reload subtitles and delete undisplayed memory, and makes it easier to "scatter" TiVo tags in existing CC data.

iPreview观众互动iPreview audience interaction

请参照第17图、第20图、第21图和第22图。iPreview标签会促使标签解译器2005将iPreview提示1702显示于萤幕1701。iPreview提示1702是告知观众,运作中的节目预告可以运用,而观众可告知TiVo系统,使其录制未来即将播映的节目。观众是通过按压遥控器2201上的选择钮2204来回应iPreview提示1702。Please refer to Figure 17, Figure 20, Figure 21 and Figure 22. The iPreview tag causes the tag interpreter 2005 to display the iPreview prompt 1702 on the screen 1701 . The iPreview prompt 1702 is to inform the viewer that the program preview in operation is available, and the viewer can inform the TiVo system to record the program that will be broadcast in the future. The viewer responds to the iPreview prompt 1702 by pressing the select button 2204 on the remote control 2201 .

标签解译器2005会等待使用者的输入。依据观众预先设定的喜好,按下选择钮2204会使标签解译器2005自动排定录制节目的时程,因而成为一种单键录制功能,亦即为观众呈现录制选项萤幕2101。此时,观众可突显录制选单上的选项2102,并按下选择键2204而使节目被排定录制时程。The tag interpreter 2005 waits for user input. Pressing the select button 2204 will automatically schedule the program recording schedule by the tag interpreter 2005 according to the viewer's preset preferences, thus becoming a one-touch recording function, that is, presenting the recording option screen 2101 to the viewer. At this point, the viewer can highlight the option 2102 on the recording menu and press the selection key 2204 to schedule the program to be recorded.

标签本身已被标签解译器2005解译。标签解译器2005会等待观众通过遥控器2201的任何输入。一旦观众按下选择键2204之后,标签解译器2005会告知TiVo系统排定录制描述于iPreyiew标签内的32位节目识别码的节目的时程。The tag itself has been interpreted by the tag interpreter 2005. The tag interpreter 2005 will wait for any input from the viewer through the remote control 2201 . Once the viewer presses the select key 2204, the tag interpreter 2005 will inform the TiVo system of the scheduled recording of the program described in the 32-digit program ID code in the iPreyiew tag.

请参照第20图、第22图和第23图。iPreview亦有其它用途。各项用途均受到节目内容和显示萤幕图像的支配。显然,系统无法解译节目内容,但图像与节目识别码的组合可告知标签解译器2005应采取何种动作。以下为产生租用和销售的两个范例。Please refer to Figure 20, Figure 22 and Figure 23. iPreview also has other uses. Each use is governed by program content and display screen images. Obviously, the system cannot interpret the program content, but the combination of the image and the program ID tells the tag interpreter 2005 what action to take. Below are two examples that generate leases and sales.

产生租用的过程会发生在例如正在播映的汽车广告。当iPreview图像出现于萤幕上时,观众即得知可经由按下选择键2204而进入互动选单。The process of generating a rental may take place, for example, while a car advertisement is being played. When the iPreview image appears on the screen, the viewer knows that they can enter the interactive menu by pressing the select key 2204 .

选单萤幕2302是由标签解译器2005显示,其为观众提供选择,以获得更多的信息2303或观赏汽车影片2304。观众随时可按下现场电视按键2202而离开。若观众通过上下方向键2203和选择键2204来选择取得更多信息2303,则观众所要的信息会由标签解译器2005传送到制造商2305,并藉此产生产品介绍。观众按下选择键2204可回到节目。A menu screen 2302 is displayed by the tab interpreter 2005, which provides the viewer with options to obtain more information 2303 or watch a car video 2304. Viewers can press live TV button 2202 and leave at any time. If the viewer chooses to obtain more information 2303 through the up and down arrow keys 2203 and the selection key 2204, the information desired by the viewer will be sent to the manufacturer 2305 by the label interpreter 2005, and a product introduction will be generated accordingly. The viewer presses the select key 2204 to return to the program.

当播映例如音乐专辑等产品广告时可产生销售。iPreview图像2301会出现在萤幕上。观众可按下选择键2204,促使标签解译器2005显示选单萤幕2307。Sales may be generated when advertisements for products such as music albums are shown. The iPreview image 2301 will appear on the screen. The viewer can press the select key 2204 to cause the tag interpreter 2005 to display a menu screen 2307 .

选单萤幕2307为观众提供选择购买产品2308或离开2309。若观众选择“是”2308来购买该项产品,则标签解译器2005会将订购单连同观众的购买信息2310传送给制造商。若该项广告为音乐专辑广告,则观众亦可选择观赏音乐制作人所制作的音乐影片。The menu screen 2307 provides the viewer with the option to buy the product 2308 or leave 2309. If the viewer chooses "Yes" 2308 to purchase the product, the label interpreter 2005 will send the order form together with the purchase information 2310 of the viewer to the manufacturer. If the ad is for a music album, viewers may also choose to watch a music video produced by the music producer.

无论何时当系统使观众返回节目时,观众会回到原来离开的地方。如此将给予观众一种连续播映的感觉。Whenever the system returns the viewer to the program, the viewer will pick up where he left off. This will give the viewer a sense of continuous play.

重导(redirect)概念可以轻易地扩展到因特网方面。iPreview图符会以如同上述方式显现。当观众在遥控器2201上按下选择键2204时,网页会随之为观众呈现。观众随后可与该网页进行互动,而当此互动完成后,本系统会使观众返回到先前离开正在观赏节目的地方。The concept of redirection can be easily extended to the Internet. The iPreview icon will appear as above. When the viewer presses the selection key 2204 on the remote control 2201, the webpage will be presented to the viewer accordingly. The viewer can then interact with the web page, and when the interaction is complete, the system returns the viewer to where they left off viewing the program.

利用上述喜好引擎,在形成产品介绍或销售过程中为观众呈现的信息可方便地适合特定观众。观众的观赏习惯、节目喜好及个人信息会被用于选择提供给观众的选单、选项和萤幕显示。各个选单、选项和萤幕显示均有相关的节目对象,而该等对象会与观众的喜好倾向相互比较。Using the preference engine described above, the information presented to a viewer in forming a product introduction or sales process can be conveniently tailored to a specific audience. The viewer's viewing habits, program preferences and personal information are used to select the menus, options and screen displays presented to the viewer. Each menu, option, and screen display has an associated program object, and these objects are compared with the viewer's preferences.

举例而言,若某观众为男性,且广告为Chevrolet公司所提供,则当该观众按下选择键时,会显现一张货车照片。若该观众为女性,则会显现有活动折篷汽车的照片。For example, if a viewer is male and the ad is provided by Chevrolet, when the viewer presses the select button, a picture of a truck will appear. If the viewer is a woman, a picture of a convertible car will appear.

应注意的是:以下所描述的标签状态机2006完全能够执行与上述范例中的标签解译器2005所执行的相同步骤。It should be noted that the tag state machine 2006 described below is fully capable of performing the same steps as the tag interpreter 2005 in the above example.

TiVo标签状态机TiVo Tag State Machine

请再次参照第20图。本发明的较佳实施例提供一种标签状态机(TSM)2006。此种标签状态机是一种用于处理抽象标签的机构,其可藉由TiVo接收机产生观众可观看到的动作。Please refer to Figure 20 again. A preferred embodiment of the present invention provides a Tag State Machine (TSM) 2006 . The tag state machine is a mechanism for processing abstract tags, which can generate actions that can be seen by the viewer through the TiVo receiver.

建立主动节目预告是其中一个简单范例。如上所述,主动节目预告是为即将播映节目的预告,而观众可立即选择让TiVo系统在该节目实际播映时进行录制。Creating proactive promos is a simple example of this. As mentioned above, active promos are previews of upcoming shows, and viewers can immediately choose to have the TiVo system record the show when it actually airs.

在上述简单范例中存在若干潜在的复杂性:必须产生某个指示符,以提示观众该项机会;指示符必须准确地呈现与消失;必须提供在此讨论的节目的正确识别码;出现主动节目预告的节目可在不同于其原来播映时间的时间被观赏。There are several potential complications in the simple example above: some indicator must be generated to alert the viewer to the opportunity; the indicator must appear and disappear accurately; the correct identifier for the program in question must be provided; active programs appear A previewed program may be viewed at a different time than its original airing time.

在TiVo标签的建立和管理方面亦存在挑战性。重要的是要尽可能减少针对现存广播方式和技术的更动。此表示机构应尽可能简单,使其容易综合于广播数据流,并得到坚固且可靠的操作特性。There are also challenges in setting up and managing TiVo tags. It is important to minimize changes to existing broadcast methods and technologies. This presentation mechanism should be as simple as possible to allow easy integration into broadcast data streams and result in robust and reliable operating characteristics.

标签的运作原理How Tags Work

如上所述,已认为传送标签的可用频宽会受到限制。例如,VBI具有争相使用的有限可用空间。甚至在数字电视信号中,其所传送的带外数据量也不多,因为该信号的大部分使用者主要是着重于电视节目编排的选择。As mentioned above, it has been considered that the available bandwidth for transmitting tags is limited. For example, the VBI has limited free space that it scrambles to use. Even in digital television signals, the amount of out-of-band data conveyed is modest, since most users of this signal are primarily concerned with television programming choices.

因此,标签成为大小仅几字节的简单对象。较为复杂的动作是借着连续传送多个标签而建立。Thus, tags become simple objects of only a few bytes in size. More complex actions are established by sequentially transmitting multiple tags.

广播传输的特性隐含标签将会因信号问题、太阳黑子等问题而遗失。TSM利用某种机构来处理遗失的标签,并确保不会因遗失的标签而采用任何未如预期的动作。The nature of broadcast transmissions implies that labels will be lost due to signal problems, sunspots, etc. TSM utilizes some kind of mechanism to deal with missing tags and make sure that no unintended actions are taken due to missing tags.

一般而言,观众可观看到的标签动作仅与其所收看的频道有关;在此假设:当频道改变之后即弃置标签状态。Generally speaking, the tag actions that viewers can watch are only related to the channel they watch; it is assumed here that the tag status is discarded when the channel is changed.

实体标签会由接收该等实体标签的源对象1901转译为抽象标签。由于标签并未附带可执行码,因此标签不是“主动代理者”;操作TSM可得到观众可观看到的修改及变更,但TiVo接收系统的基本运作并不会受到标签序列的影响。若标签能够包含可执行码—例如适用于ATVEF的Java字节流,则TiVo观赏体验的品质会因撰写较差或恶意的软件而受到不良影响。Entity tags are translated into abstract tags by the source object 1901 receiving the entity tags. Since no executable code is attached to the tag, the tag is not an "active agent"; manipulating the TSM results in modifications and changes that are visible to viewers, but the basic operation of the TiVo receiving system is not affected by the sequence of tags. If the tags could contain executable code—such as a Java byte stream for ATVEF—the quality of the TiVo viewing experience could be adversely affected by poorly written or malicious software.

所有标签动作均由匹配于当前频道的匹配策略对象加以管理。任何动作均由此对象启动或停用;若策略对象不存在,则所有标签动作均会被封锁。All tag actions are governed by a matching policy object that matches the current channel. Any action is enabled or disabled by this object; if no policy object exists, all tag actions are blocked.

基本抽象标签Basic abstraction tags

所有抽象标签均有一个共同的基础结构。下列组成部分会出现在所有抽象标签内:All abstract tags share a common underlying structure. The following components appear in all abstract tags:

—标签类型(1字节)— Tag type (1 byte)

不容许有类型0。类型255指示“延伸”标签,以防未来可能需要超过254个标签值。Type 0 is not allowed. Type 255 indicates an "extended" tag in case more than 254 tag values may be required in the future.

—标签序列(1字节)— tag sequence (1 byte)

此种不具正负号的栏随着序列中的各标签而递增。对于不属于序列的标签而言,此栏必须设定为0。1的标签序列代表新序列的开始;在概念上,序列可为任意的长度,但其必须由少于255个标签的有序片段所组成。This unsigned column increments with each label in the sequence. For tags that are not part of a sequence, this column must be set to 0. A tag sequence of 1 represents the start of a new sequence; conceptually, a sequence can be of any length, but it must consist of an ordered sequence of fewer than 255 tags. composed of fragments.

各标签类型均有一个内藏序列长度(可为0);引进序列号是为处理数据流中的标签遗漏或其它形式的标签遗失。一般而言,每当一个序列发生错误时,整个标签序列会被弃置并重设状态机。Each tag type has a built-in sequence length (may be 0); the sequence number is introduced to handle tag omissions or other forms of tag loss in the data stream. In general, whenever an error occurs in one sequence, the entire tag sequence is discarded and the state machine is reset.

标签应在实体范围内进行检验和。若检验和不符,则源对象会将标签弃置。如此会造成序列错误并重设状态机。Tags should be checked and summed within the scope of the entity. If the checksum does not match, the source object discards the tag. Doing so will cause a sequence error and reset the state machine.

—标签时间标记(8字节)— tag time stamp (8 bytes)

此为电视广播数据流内的同步时间,而标签即在此时被辨识。此时间会与TiVo接收机所产生的所有其它显示内容同步。此部分将不会被传送,而是由接收机本身所产生。This is the synchronous time within the television broadcast data stream at which the tag is recognized. This time is synchronized with all other displays produced by the TiVo receiver. This part will not be transmitted, but generated by the receiver itself.

—标签数据长度(2字节)—Length of label data (2 bytes)

此为任何与标签并联的数据的长度。此数据是根据标签类型予以解译。实体范围解译器应针对数据执行至少某种程度的错误检查。This is the length of any data in parallel with the tag. This data is interpreted according to the tag type. Entity scope interpreters should perform at least some level of error checking on the data.

标签状态机(TSM)Tag State Machine (TSM)

TSM为标签显现机构的一部份,该机构与录像重放联机。The TSM is part of the tag presentation mechanism, which is connected to the video playback.

在概念上,TSM是管理整数的抽象堆叠,其中整数的精确度至少为32位,或其大小足够存放一个对象识别码。此对象识别码为抽象化,其可指示或不指示TiVo接收机上的真实对象—否则该对象可能必须映射为正确对象。堆叠的大小是限制在255个数据项,以防止拒绝服务的破坏。Conceptually, a TSM manages an abstract stack of integers that are at least 32 bits in precision, or large enough to hold an object identifier. This object identification code is an abstraction that may or may not indicate a real object on the TiVo receiver - otherwise the object may have to be mapped to the correct object. The stack size is limited to 255 data items to prevent denial of service damage.

TSM亦管理一组变数。变数命名为2字节整数。变数名称0被保留。标签序列可操作“使用者”变数;此类变数介于1与2^15-1之间。“系统”变数由TSM处理,且包含关于目前TiVo接收机的数值,例如:当前节目的对象识别码、TSM修订版和其它有用的信息。此等变数的名称介于2^5与2^16-1之间。使用者变数的个数限制于TSM内;而TSM变数指示此界线。TSM also manages a set of variables. Variables are named 2-byte integers. Variable name 0 is reserved. Label sequences operate on "user" variables; such variables are between 1 and 2^15-1. The "system" variable is handled by the TSM and contains values about the current TiVo receiver, such as: object ID of the current program, TSM revision and other useful information. The names of these variables are between 2^5 and 2^16-1. The number of user variables is limited within the TSM; and TSM variables indicate this boundary.

标签数据是TSM指令序列。当标签被识别且被容许时,即开始执行此等指令。TSM指令面向字节,而且特定指令可包含额外的字节来支援其功能。Tag data is a sequence of TSM instructions. Execution of these commands begins when the tag is recognized and allowed. TSM instructions are byte-oriented, and certain instructions may contain additional bytes to support their functionality.

可供运用的TSM指令可区分为若干类型:Available TSM commands can be divided into several types:

数据移动指令Data Movement Instructions

push_byte—遵循指令而将字节推至堆叠上。push_byte—follows the instruction and pushes bytes onto the stack.

push_short—遵循指令而将短数推至堆叠上。push_short—follows the instruction to push a short number onto the stack.

push_word—遵循指令而将字推至堆叠上。push_word—Follows the instruction and pushes the word onto the stack.

变数存取指令variable access instruction

push_var—遵循指令而下推以16位命名的变数。push_var—Push down a 16-bit named variable following the instruction.

pop_var—遵循指令而上托以16位命名的变数。pop_var—follows the instruction to pop up a 16-bit named variable.

copy_var—遵循指令而从堆叠复制到以16位命名的变数。copy_var—follows the instruction to copy from the stack to a 16-bit named variable.

堆叠操作指令stack operation instructions

swap—使最上两层的堆叠值互换。swap—Swaps the stack values of the top two layers.

pop—上托最上层的堆叠值。pop—Pops up the topmost stacked value.

算术指令arithmetic instruction

add_byte—遵循指令而将有号字节加到堆叠顶层。add_byte—follows the instruction to add the signed byte to the top of the stack.

add_short—遵循指令而将有号短数加到堆叠顶层。add_short—follows the instruction to add a signed short to the top of the stack.

add_word—遵循指令而将有号字加到堆叠顶层。add_word—follows the instruction and adds the signed word to the top of the stack.

and—将顶层和下一层堆叠的数据项相加在一起,上托该堆叠并下推新的值。and—Adds together the top and next stacked data items, popping up the stack and pushing down the new value.

or—将顶层和下—层堆叠的数据项取“或”,上托该堆叠并下推新的值。or—ORs the top and bottom stacked data items, pops up the stack and pushes down the new value.

条件指令conditional instruction

(仅用于无号变数的比较)(only for comparison of unsigned variables)

brif_zero—若堆叠顶层为零,则遵循指令而分支到有号16位偏移量。brif_zero—follow the instruction to branch to a signed 16-bit offset if the top level of the stack is zero.

brif_nz—若堆叠顶层不为零,则遵循指令而分支到有号16位偏移量。brif_nz—Follow instruction to branch to signed 16-bit offset if top of stack is non-zero.

brif_gt—若堆叠顶层大于下一个堆叠数据项,则遵循指令而分支到有号16位偏移量。brif_gt—Follow the instruction to branch to the signed 16-bit offset if the top of the stack is greater than the next stack data item.

brif_ge—若堆叠顶层大于或等于下一个堆叠数据项,则遵循指令而分支到有号16位元偏移量。brif_ge—Follow instruction to branch to signed 16-bit offset if top of stack is greater than or equal to next stack data item.

brif_le—若堆叠顶层小于或等于下一个堆叠数据项,则遵循指令而分支到有号16位偏移量。brif_le—Follow the instruction to branch to the signed 16-bit offset if the top level of the stack is less than or equal to the next stack data item.

brif_lt—若堆叠顶层小于下一个堆叠数据项,则遵循指令而分支到有号16位偏移量。brif_lt - follow instruction to branch to signed 16-bit offset if top of stack is less than next stack data item.

brif_set—若当堆叠顶层与下一个堆叠数据项是以AND运算子连结在一起时,存在位集合,则遵循指令而分支到有号16位偏移量。brif_set—follows the instruction to branch to a signed 16-bit offset if there is a set of bits when the top of the stack and the next stack data item are joined together with the AND operator.

动作指令action command

exec—针对命名于堆叠顶层的对象识别码执行标签动作exec—Executes the tag action on the object identifier named at the top of the stack

fin—终止标签而不采取任何动作fin—terminates the label without taking any action

系统变数system variable

32768(TAG)—当前标签的值32768(TAG)—The value of the current tag

..

..

..

格林威治标准时间:GMT:

32769(YEAR)—当前年度(由0开始)。32769 (YEAR)—Current year (starts with 0).

32770(MONTH)—当前月份(1-12)。32770(MONTH)—Current month (1-12).

32771(DAY)—当月日期(1-31)。32771(DAY)—the day of the month (1-31).

32772(WDAY)—当周日期(1-7,从周日开始)。32772 (WDAY)—Day of the week (1-7, starting on Sunday).

32773(HOUR)—当日小时(0-23)。32773(HOUR)—the hour of the day (0-23).

32774(MIN)—小时内的分钟(0-59)。32774 (MIN)—Minute of hour (0-59).

32775(SEC)—分钟内的秒钟(0-59)。32775 (SEC)—Second of minute (0-59).

TiVo接收机的状态:Status of TiVo receiver:

32800(SWREL)—软件版本(以字节标示为x.x.x)32800 (SWREL)—software version (marked as x.x.x in bytes)

32801(NTWRK)—当前调谐网络的对象识别码32801 (NTWRK) - Object ID of the currently tuned network

32802(PRGRM)—当前调谐节目的对象识别码32802 (PRGRM) - Object ID of the currently tuned program

32803(PSTATE)—输出通道的目前状态:32803(PSTATE)—The current state of the output channel:

0—正常播放0—normal playback

1—暂停1—Pause

2—慢动作2—Slow motion

10—倒转速度110—reverse speed 1

11—倒转速度211—reverse speed 2

......

20—快速前进速度120—fast forward speed 1

21—快速前进速度221—fast forward speed 2

标签执行状态:Tag execution status:

32900(IND)—显示或消除的指示符号码。32900(IND)—Indicator code to show or clear.

32901(PDURING)—执行标签过程中的通道状态。32901(PDURING)—Channel status during label execution.

32902(ALTP)—推进播放堆叠的另一节目对象识别码。32902 (ALTP) - Alternate Program Object ID to advance play stack.

32903(SELOBJ)—选择指示符时的录制节目对象识别码。32903 (SELOBJ) - Recorded Program Object ID when the indicator is selected.

33000(MENU1)—选单项目1的字串对象编号。33000 (MENU1) - String object number for menu item 1.

33001(MENU2)—选单项目2的字串对象编号。33001 (MENU2) - String object number for menu item 2.

......

33009(MENU10)—选单项目10的字串对象编号。33009 (MENU10) - String object number for menu item 10.

33100(PICT1)—选单项目1的图像对象编号。33100 (PICT1) - Picture object number for menu item 1.

33101(PICT2)—选单项目2的图像对象编号。33101 (PICT2) - Picture object number for menu item 2.

......

3310g(PICT10)—选单项目10的图像对象编号。3310g (PICT10) - Picture object number for menu item 10.

33200(MSELOBJ1)—选择选单项目时的录制节目对象识别码。33200 (MSELOBJ1) - Recorded Program Object ID when selecting a menu item.

33201(MSELOBJ2)—选择选单项目时的录制节目对象识别码。33201 (MSELOBJ2) - Recorded Program Object ID when selecting a menu item.

......

33209(MSELOBJ10)—选择选单项目时的录制节目对象识别码。33209 (MSELOBJ10) - Recorded Program Object ID when selecting a menu item.

标签Label

—下推另一节目—Push down another show

—上托另一节目(节目结束之后自动上托)—Upload another program (upload automatically after the program ends)

—升高指示符— Raise indicator

—降低指示符— lower indicator

—选单— menu

标签执行策略Label Enforcement Policy

执行策略由TSM决定。若干建议如下:Execution strategy is determined by TSM. Some suggestions are as follows:

—选单— menu

选单根据标准化TiVo选单基准安排。一般而言,选单会出现于现场视像上。选择某选项通常会引发出录制对话。在操作选单时,最好能够暂停数据通道。Menus are arranged according to standardized TiVo menu benchmarks. Generally speaking, the menu will appear on the live video. Selecting an option usually initiates a recording dialog. It would be nice to be able to pause the data channel while manipulating the menu.

—指示符-indicator

请参照第17图和第22图。指示符是以小图像的形式排列显示于底部。在正常观赏状态下,遥控器2201上的上下方向键2203不运作。对指示符而言,上方向键2203会使指示符转向左边,而下方向键则使其转向右边。被选定的指示符周围会出现小方框。按下选择键2204会启动该项动作。根据预设条件,新的指示符会被选取;当某指示符被删除时,若有先前选取的指示符,则该指示符会突显出来。Please refer to Figure 17 and Figure 22. Indicators are displayed in an array of small images at the bottom. In the normal viewing state, the up and down arrow keys 2203 on the remote controller 2201 do not work. For an indicator, the up arrow key 2203 turns the indicator to the left, and the down arrow key turns it to the right. A small box appears around the selected indicator. Pressing the select key 2204 initiates the action. According to preset conditions, new indicators will be selected; when an indicator is deleted, if there is a previously selected indicator, the indicator will be highlighted.

—可供选择的节目- Programs to choose from

可供选择的节目应显现为视频数据流的一部分,而且具备完整的快速前进/倒转控制。跳变到现场节目按键2202首先将可供选择的节目堆叠上托为空堆叠。Alternative programs shall appear as part of the video stream with full fast forward/rewind controls. Jumping to the live program button 2202 first lifts up the available program stacks to be empty stacks.

熟习此项技艺的人士当可轻易得知:虽然在此特别以隐藏字幕数据流为例加以说明,但亦可使用其它传输方法,例如:EDS场、VBI、MPEG2专用数据频道等。People who are familiar with this technology can easily know that although the closed caption data stream is used as an example for illustration, other transmission methods can also be used, such as: EDS field, VBI, MPEG2 dedicated data channel, etc.

虽然在此以较佳实施例来说明本发明,凡熟习此项技艺的人士当可轻易得知,其它应用可用于替换在此提出的实施方式,而仍不脱离本发明的精神及范围。故此,本发明仅由权利要求予以界定。Although the present invention is described here with a preferred embodiment, those skilled in the art can easily understand that other applications can be used to replace the embodiment presented here without departing from the spirit and scope of the present invention. Accordingly, the invention is only to be defined by the appended claims.

Claims (8)

1. the method via the advertisement television program record scheduling time-histories of television broadcast stream is characterized in that, comprises:
Receive described television broadcast stream;
For the program of broadcasting future is broadcast promotional advertisement in the described television broadcast stream;
Show icon, can be to inform the described program of spectators for recording, described icon is to show according to the label that inserts in the described television broadcast stream;
Receiving the singly-bound of described spectators on a remote input units pushes;
The time-histories of recording of described program is ranked.
2. the method for claim 1 is characterized in that, when arrival was ranked the time, described program was stored in a memory device.
3. method as claimed in claim 2 is characterized in that described memory device is a hard disk.
4. method as claimed in claim 2 further comprises:
Whether detection described program during the described program of storage finishes too early; And
If program finishes too early, stop the described program of storage automatically.
5. device via the advertisement television program record scheduling time-histories of television broadcast stream, described device comprises:
Be used to receive the module of described television broadcast stream;
The program that will be used to broadcast future is broadcast the module of the promotional advertisement in the described television broadcast stream;
Be used to show the module of icon to inform that the described program of spectators can Gong be recorded, described icon is to show according to the label that inserts in the described television broadcast stream;
Be used to receive the module that the singly-bound of described spectators on a remote input units pushed;
The module of recording time-histories of described program is used to be ranked.
6. device as claimed in claim 5 further comprises:
Memory device; And
Wherein, when arrival was ranked the time, described program was stored in described memory device.
7. device as claimed in claim 6 is characterized in that described memory device is a hard disk.
8. device as claimed in claim 6 further comprises:
Detect module, wherein said detection module detects whether described program finishes too early during the described program of storage; And
Stop module, wherein said termination module stops the described program of storage automatically when program finishes too early.
CNB2005100094809A 1999-09-20 2000-09-20 Closed caption tagging system Expired - Lifetime CN100459682C (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15471399P 1999-09-20 1999-09-20
US60/154,713 1999-09-20
US09/665,921 2000-09-20
US09/665,921 US7889964B1 (en) 1998-07-30 2000-09-20 Closed caption tagging system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN 00815914 Division CN1220375C (en) 1999-09-20 2000-09-20 Closed caption tagging system

Publications (2)

Publication Number Publication Date
CN1674660A CN1674660A (en) 2005-09-28
CN100459682C true CN100459682C (en) 2009-02-04

Family

ID=34197425

Family Applications (2)

Application Number Title Priority Date Filing Date
CN 00815914 Expired - Lifetime CN1220375C (en) 1999-09-20 2000-09-20 Closed caption tagging system
CNB2005100094809A Expired - Lifetime CN100459682C (en) 1999-09-20 2000-09-20 Closed caption tagging system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN 00815914 Expired - Lifetime CN1220375C (en) 1999-09-20 2000-09-20 Closed caption tagging system

Country Status (1)

Country Link
CN (2) CN1220375C (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7304585B2 (en) * 2004-07-02 2007-12-04 Nokia Corporation Initiation of actions with compressed action language representations
JP4518079B2 (en) * 2005-01-14 2010-08-04 パナソニック株式会社 Content detection device for digital broadcasting
EP2039151A1 (en) * 2006-07-06 2009-03-25 Thomson Licensing Method and system for trick mode suppression control
CN101420622B (en) * 2007-10-22 2010-07-14 北京永新同方数字电视技术有限公司 Labeled television system for describing affair state of digital television set and describing method
US20090259944A1 (en) * 2008-04-10 2009-10-15 Industrial Technology Research Institute Methods and systems for generating a media program
US8347344B2 (en) * 2008-12-18 2013-01-01 Vmware, Inc. Measuring remote video playback performance with embedded encoded pixels
CA2816621A1 (en) * 2010-11-02 2012-05-10 Lg Electronics Inc. Method for adaptive streaming that transmits/receives media content according to a network bandwidth and device for adaptive streaming using the same
TWI574565B (en) 2011-03-31 2017-03-11 Sony Corp A transmitting apparatus, a receiving method, a receiving apparatus, a receiving method, a computer-readable medium, and a broadcasting system
CN102595192B (en) * 2012-03-07 2014-12-17 深圳市信义科技有限公司 Video streaming media non-mutual-exclusion buffering method
CN103369272A (en) * 2012-03-27 2013-10-23 联想(北京)有限公司 Controlling method and controlling device for video playing of video terminal and video terminal
WO2014063330A1 (en) * 2012-10-25 2014-05-01 Intel Corporation Anti-theft in firmware
CN105320684B (en) * 2014-07-28 2019-03-01 中国传媒大学 The method for interchanging data of closed caption
CN108605153A (en) * 2015-09-30 2018-09-28 TiVo解决方案有限公司 Synchronized multimedia content tab data

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996008921A1 (en) * 1994-09-12 1996-03-21 Arthur D. Little Enterprises, Inc. Method and apparatus for eliminating television commercial messages
US5659653A (en) * 1978-09-11 1997-08-19 Thomson Consumer Electronics, S.A. Method for programming a recording device and programming device
CN1159704A (en) * 1995-11-09 1997-09-17 汤姆森消费电子有限公司 Automatic screen words editing device and method for video-recorder recording
CN1190483A (en) * 1995-07-11 1998-08-12 汤姆森消费电子有限公司 Video replay automation
US5805763A (en) * 1995-05-05 1998-09-08 Microsoft Corporation System and method for automatically recording programs in an interactive viewing system
WO1999038321A1 (en) * 1998-01-23 1999-07-29 Index Systems, Inc. Home entertainment system and method of its operation
WO1999056466A1 (en) * 1998-04-30 1999-11-04 United Video Properties, Inc. Program guide system with advertisements
WO1999056473A1 (en) * 1998-04-30 1999-11-04 United Video Properties, Inc. Program guide system with flip and browse advertisements
WO2000040015A1 (en) * 1998-12-28 2000-07-06 Thomson Licensing S.A. Method for selecting a program displayed in an advertisement in an application software program

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659653A (en) * 1978-09-11 1997-08-19 Thomson Consumer Electronics, S.A. Method for programming a recording device and programming device
US5696866A (en) * 1993-01-08 1997-12-09 Srt, Inc. Method and apparatus for eliminating television commercial messages
WO1996008921A1 (en) * 1994-09-12 1996-03-21 Arthur D. Little Enterprises, Inc. Method and apparatus for eliminating television commercial messages
US5805763A (en) * 1995-05-05 1998-09-08 Microsoft Corporation System and method for automatically recording programs in an interactive viewing system
CN1190483A (en) * 1995-07-11 1998-08-12 汤姆森消费电子有限公司 Video replay automation
CN1159704A (en) * 1995-11-09 1997-09-17 汤姆森消费电子有限公司 Automatic screen words editing device and method for video-recorder recording
WO1999038321A1 (en) * 1998-01-23 1999-07-29 Index Systems, Inc. Home entertainment system and method of its operation
WO1999056466A1 (en) * 1998-04-30 1999-11-04 United Video Properties, Inc. Program guide system with advertisements
WO1999056473A1 (en) * 1998-04-30 1999-11-04 United Video Properties, Inc. Program guide system with flip and browse advertisements
WO2000040015A1 (en) * 1998-12-28 2000-07-06 Thomson Licensing S.A. Method for selecting a program displayed in an advertisement in an application software program

Also Published As

Publication number Publication date
CN1674660A (en) 2005-09-28
CN1451234A (en) 2003-10-22
HK1083965A1 (en) 2006-07-14
CN1220375C (en) 2005-09-21

Similar Documents

Publication Publication Date Title
US7986868B2 (en) Scheduling the recording of a program via an advertisement in the broadcast stream
US10587925B2 (en) Television viewer interface system
CN100407328C (en) Multimedia Visual Playing Progress Indication System
US6847778B1 (en) Multimedia visual progress indication system
CN100459682C (en) Closed caption tagging system
HK1083965B (en) Method and apparatus for scheduling a recording of a television program via an advertisement in a television broadcast stream
HK1145747A (en) Closed caption tagging system
HK1119340A (en) Multimedia program bookmarking system and method
HK1119340B (en) Multimedia program bookmarking system and method
HK1096765B (en) Multimedia visual progress indication system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1083965

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1083965

Country of ref document: HK

CP03 Change of name, title or address

Address after: California, San Carlos, USA

Patentee after: TiVo Solutions Ltd

Address before: American California

Patentee before: TIVO, Inc.

CP03 Change of name, title or address
CX01 Expiry of patent term

Granted publication date: 20090204

CX01 Expiry of patent term