CN1158856C - 数字式传输流处理 - Google Patents

数字式传输流处理 Download PDF

Info

Publication number
CN1158856C
CN1158856C CNB988094312A CN98809431A CN1158856C CN 1158856 C CN1158856 C CN 1158856C CN B988094312 A CNB988094312 A CN B988094312A CN 98809431 A CN98809431 A CN 98809431A CN 1158856 C CN1158856 C CN 1158856C
Authority
CN
China
Prior art keywords
bag
tabulation
received
stream
output stream
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
CNB988094312A
Other languages
English (en)
Other versions
CN1271492A (zh
Inventor
J-C
J-C·萨法蒂
J·梅里克
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.)
Thomson Licensing SAS
Original Assignee
Canal Plus SA
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 Canal Plus SA filed Critical Canal Plus SA
Publication of CN1271492A publication Critical patent/CN1271492A/zh
Application granted granted Critical
Publication of CN1158856C publication Critical patent/CN1158856C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream

Abstract

一种使用接收器/解码器的设备,其用于广播数字电视系统,在该系统中,所接收的信号通过接收器传输到接收器/解码器(2020),进而进入电视装置(2022)。接收器/解码器将经过压缩的MPEG类型的信号解码,这通过接收器/解码器中的一个接口由手持遥控器(2066)来控制。接收器/解码器包含多个连接到外部单元的接口以及用于接口的逻辑驱动器设备。在应用程序的控制下,设备从所接收的广播数字数据流中产生部分传输流或者压缩的数据流。这可以使得所需要的例如含有选定节目的数据流可以记录到一个连接到设备输出的数字视频记录器,或者可以方便和计算机之间的通信。

Description

数字式传输流处理
技术领域
本发明涉及应用程序与物理设备的连接,特别是数字电视系统接收器/解码器的相关内容,但也不仅仅限于此。
背景技术
数字传输系统的出现提供了利用该系统实现其它目的的可能性。其中之一是为终端用户提供交互装置,对于这样的应用,术语“数字传输系统”包括任何用于传输或者广播例如主要是音频或多媒体数字数据的传输系统。而本发明尤其适合于广播数字电视系统,本发明也可适合于进行多媒体互联网应用的固定电信网络,适合于闭路电视,等等。对于这样的应用,术语“数字电视系统”包括例如任何卫星、地面、有线和其它系统。
本发明在广播数字电视系统中有专门应用,而在该电视系统中,所接收的信号通过接收器到达接收器/解码器,进而进入一个电视装置。此处的“接收器/解码器”术语的意思是一个用于接收可被其它装置广播或传输的编码的和未编码的信号的接收器,例如电视和/或无线电信号,该术语也表示一个用于将所接收的信号解码的解码器。这种接收器/解码器的实例可以包含一个与接收器集成在一起的解码器,以将所接收的信号解码,例如在一个“机顶盒”中的这样一个解码器,它与实体上分开的接收器联合运行,或者是这样的一个解码器,包括额外的装置,如web浏览器、视频记录器或者电视。
接收器/解码器将经过压缩的MPEG类型的信号解码成电视机用的电视信号。这可以通过接收器/解码器中的一个接口由手持遥控器来控制,接收器/解码器也称作机顶盒或者STB。术语MPEG是指由国际标准组织工作小组“活动图象专家组”制定的数据传输标准,特别是MPEG-2标准,但又不仅仅是,该标准被制定来用于数字电视应用,并在ISO13818-1、ISO 13818-2、ISO 13818-3和ISO 13818-4文档中宣布。在本专利申请文件中,该术语包括所有的变化、修改或发展的适合于数字数据传输领域的MPEG格式。
提供上述交互装置的一个方法是在接收电视信号的接收器/解码器上运行一个应用程序。各种应用程序以透明的方式和各种物理设备进行通信,这是人们所希望的。我们的共同未决申请PCT/EP97/02115和PCT/EP97/02116描述了这样的系统,其中通过接收器/解码器可以下载一个或者多个应用程序,应用程序通过每一个设备各自的驱动程序和一个全局的设备管理器来与接收器/解码器中的物理设备进行通信,例如与并口、串口和智能卡阅读器进行通信。对于这样的应用,术语“智能卡”包括任何基于芯片的卡设备,或者含有类似装置、性能和处理的对象,例如微处理器和/或存储器,但也不仅仅如此。具备能够代替卡的物理结构的设备也属于该术语的范畴,例如经常用在电视解码系统中的键构型设备。
发明内容
按照本发明,有希望提供用于机顶盒的这样的装置,即从所接收的数据流中提供输出数据流。例如,用一个数字视频记录器来实现所接收的节目和数据的数字存储,或者通过TCP/IP网络方便与其它设备的数据通信。
提供这样一个数字输出流的问题是所接收的数据流通常包含比特率很高的MPEG数据,而把所接收的全部数据流存储起来并不切实际。另外,所接收的数据流可能包含有很多观众并不感兴趣的信息。接收器/解码器中的装置用于拆接多路的数据,如果必要,还解扰一部分接收数据流来为模拟显示器提供一个可以利用传统模拟视频记录器记录下来的单信道数据。然而,传统的装置缺乏灵活性,并且不能提供适合数字存储的数据流。
本发明提出了提供一个适合存储到数字视频记录器的数字数据流的新技术。尽管,在处理包含许多电视节目的MPEG数据流和其它由接收器/解码器(利用电缆或者最好是卫星)接收的数据以产生一个适合传输到数字视频记录器的输出数据流方面,本发明具有大部分优势,但是发明人更赞赏的却是本发明能够用于处理其它数据,以及提供数字视频的实时编辑。
第一方面,本发明提供了用于处理数字数据流的装置,该装置包含如下装置:接收含有多个信息包的数字数据流的装置;存储指定包的一个列表的装置,该列表的指定包包含优先级信息,以指示分配给每一个包的优先级,而指定包从所接收的数字数据流中取出;提取上面提到的从所接收的数据流中选出的指定信息包的装置,以及处理装置,该处理装置用于处理提取出的包以形成输出数据流,并用于使输出的数据流中包含优先级更高的提取的包而舍弃优先级较低的提取的包来有选择地减少输出数据流中的包的数量。
由本发明的这个方面扩展出的一个处理数字数据流的方法包括如下过程:
接收一个包含多个信息包的数字数据流;存储指定包的一个列表,该列表包含优先级信息,以指示分配给每一个包的优先级,而指定包从所接收的数字数据流中取出;提取上面提到的从所接收的数据流中选出的指定信息包;处理被提取的包以形成一个输出数据流,以及通过在输出的数据流中包含优先级更高的包而舍弃优先级较低的包来有选择性地减少提取的包的数量。
这样,根据本发明的这个方面,包就可以直接从所接收的数据流(也可以叫作原始传输流)以及从中选出的小节中解出,例如一个或者多个重要的节目被提取并组合成输出数据流(也可以叫作部分传输流)。
处理数据流的装置提供了相当的灵活性,因为它可以简单地用于复制含有一些未变化频道数据的原始传输流,或者用于选择个人数据包,这些好处会被人们意识到。
列表包含有指示每一个包优先级的优先级信息,因此不很重要的信息,例如不重要的节目内容,就可以遗弃掉。虽然这样会导致该节目质量衰减,但同时却可以更为可靠地记录下其它节目。
实现的例子中,处理装置包括在被提取包的数量由于输出流的数据处理容量的原因而变得太大的情况下有选择性地减少输出数据流中的被提取包的数量。包可以因为一些原因而被排除掉,例如在包数量由于存储介质、一个设备或者接收输出数据流的输出端口的数据处理容量的原因而变得太大的情况下就可以将一些包排除出输出数据流。
处理装置还包括有选择性地将被排除的已提取的包再插入到输出数据流中,例如在输出数据流的数据处理容量增加的情况下。
一个包典型地包含有多个小节。用于处理已提取的小节的设备优选执行许多操作之一,其将所接收的MPEG小节以一个合适的格式进行压缩或者打包。在一个简单的实现例子中,处理被提取的小节时可以简单地从小节中剥掉MPEG头信息或者其它数据,例如通过删除段落中的小节,特别是在开始或者结尾处,来提取原始数据形成前向传输。在这样一种情况下,附加的通信协议的指定头和类似的就必须在发送后期处理好,例如通过发送预备好的TCP/IP包。
处理提取的小节的装置还包括用于添加至少一个头和尾之一,最好两者都有的装置,该装置就是将它们添加到一个所接收的小节中以提供一个通信协议的数据流确认,而不是所接收数据流的通信协议。小节处理装置可以包括用于往数据中增加一个帧检测序列的装置,包含这些装置可以减少传输器需要进行的处理量,同时减少必须传输的数据量。另外,通信协议也可以在接收器/解码器中更改。
对于每一种情况,所接收的数字数据流最好是一个MPEG数据流(在基本MPEG格式上加以变化、修正或者发展,优选是一个MPEG-2数据流),该数据流包含一系列带有各自包识别符(也叫作PID)的包。
特别地(但不仅仅),列表中最好包含一个从所接收的数据流中选出的包识别符的序列。
特别地(但不仅仅),如果列表中包含一个小节的目录,则每一个小节就可以通过该小节指定位置上的一个数值来进行鉴别,该小节最好这样指定:在离检测点有一个预先指定比特数偏移的位置处定义一个预先指定比特数的域,优选是在小节的开头。
该装置可以具备用于记录所接收小节识别符的装置。该记录装置可以包括定义一个位图的装置,位图的每一个比特位对应于所接收或者将被接收的小节;以及用于改变与所接收小节相对应的比特位的状态以表示该小节已经被接收的装置。
该装置最好还要具备存储至少一个包识别符的额外清单并对相应清单或者每一个额外清单中的指定包进行一个或者多个指定的处理操作例如解扰操作的装置,这些操作在指定包被加入到输出数据流之前进行。这样就允许解扰一个组合起来的节目并将之存储到分离的表中。
该装置最好也具备往输出数据流中插入额外数据的装置,例如插入包。该装置更适合设计成从一个应用程序中接收额外的数据,这就使得其它的信息,例如在数字数据流中包含有标记的节目信息,可以存储起来,或者使得由负责接收原始传输流的应用程序产生的其它数据可以存储起来。
装置最适合于在一个接收器/解码器中作为一个设备来实现,例如在我们的待审共同未决申请PCT/EP97/02106-02117中所描述的一个数字卫星系统。在这样一个系统中,相应设备可以在一个应用程序的控制下运行,通过一个设备管理器,为输出数据流的合成控制提供一个方便的灵活的方案。该设备较适合于设计成和一个数字视频记录器进行通信,通信可以利用高速数字接口进行,例如IEEE 1394接口,也可以利用一个合适的设备驱动程序进行,例如在我们的97401793.1号欧洲专利申请中所描述的驱动程序,当然该设备也可以使用其它任何合适的数字接口。
装置可以设计成与计算机提供一个虚拟的TCP/IP连接,连接可以通过接收所广播的MPEG包并将之压缩以给计算机提供一个TCP/IP数据流来实现。在这样一个例子中,通信可以利用一个串行或者并行口进行,最好是一个增强的或者双向的并行口。
第三方面,本发明所提供的设备可以在应用程序的控制下处理一个所接收的数字数据流并从那里产生一个输出数据流。该设备具备如下装置:
接收一个包含多个信息包的数字数据流的装置;从一个应用程序中接收信息以编辑一个指定包的列表的装置,这些指定包从所接收的数字数据流中选出,相应的列表包含有指示每一个包优先级的优先级信息;从所接收的数据流中提取列表所指定的包的装置;处理所提取的包以形成一个输出数据流的处理装置,该处理装置还要能够在输出数据流中包含优先级更高的包而舍弃优先级较低的包来选择性地减少输出数据流中的包的数量。
该设备运行于两种模式之中的一种模式下,两种模式中一种是空闲模式,该模式下设备不产生输出数据流,另一种是运行模式,该模式下有数据通过设备。虽然通过简单地指定无包指令可以停止输出数据流的产生,但提供一个空闲模式可以更为有效地利用系统资源。设备最好包含这样一个装置,即从一个应用程序中接收命令以开始和停止输出数据流的产生(为了在两种模式中进行切换)。
在上面所述的空闲模式下,设备最好设计成接收一些信息,这些信息将用于以所有包识别符的原始列表的形式对前文所述的列表进行编辑,而所有的包识别符将被复制到输出流中。这样就使得原始列表可以有效地获得设置。据此,在运行模式下,设备就最好设计成接收一个包识别符的列表,这些包识别符将被添加到当前列表中或者从当前列表中删除掉。于是,当更新列表时,就没有必要处理越来越长的列表和跟踪前面的所有包识别符,其优势将更为明显,因为运行模式处理可能比空闲模式处理对时间的要求更为严格。
空闲模式下所复制的包识别符列表的原样存储和运行模式下入口的增加和删除有相似之处,因此设备最好设计成维持一个将被解扰的包识别符的列表,这可以通过利用接收器/解码器的解扰设备来实现,接收器/解码器则解扰节目用于显示。另外,设备可以设计成接收一些信息,这些信息用于应用程序中的解扰操作,解扰操作更适合于作为一个过程的部分,该过程用于对将被解扰的包识别符的原始列表进行设置。
设备最好还要具备存储一个MPEG小节的列表的装置,这些MPEG小节由应用程序插入。设备也要设计成从一个应用程序接收一些参数数据,这些参数用于控制输出数据流中小节的重复情况。基于这些参数,设备就可以重复相应的小节。这样就使得仅需要从应用程序输入相当少的数据就可以产生复杂的数据流。例如,一个应用程序可以发送一个简单的指令来在输出流中插入一个标记节目的小节,而这个小节可以由装置以规则的时间间隔自动地插入到输出流中。
设备最好具备有这样一个装置,即向应用程序返回一个确认信息,表示当前选定的包识别符已经包含进输出流中。
设备的许多装置可以用硬件来实现,例如用一个专门的集成电路,这会增进运行速度。然而,最好的情况是,至少要有一些设备的驱动器用软件来实现,特别是处理装置部分,这样做的好处是能够带来更大的灵活性,需要更少的组件,以及允许设备驱动程序更为可靠地获得更新。
第四方面,本发明提供的一个数据处理系统由以下装置或者设备组成:
运行至少一个应用程序的实时引擎装置;接收一个广播数字数据流的装置;一个设备,正如上面所定义的,用于在应用程序的控制下对所接收的数字数据流进行处理;以及将设备输出的数据流传到一个输出接口的装置。
第一和第二方面的首选装置可以应用到第三和第四方面。
数据处理系统最好在一个接收器/解码器(例如一个机顶盒)中实现,接收器/解码器具备有从一个卫星接收器或者电缆接收广播数字数据流的装置,并包含上面所提到的接口,该接口设计成与一个数字视频记录器(该术语等同于一个具有合适配置的能够为一个电视节目存储数据的数字存储,而无论数据是实际存储到何种物理介质上)、数字显示设备、计算机显示器或者或用于显示或存储所接收数据的至少一部分的计算机连接。数据处理系统中的设备最好设计成与一个设备驱动程序协同运行以将输出数据流送到一个高速(100Kbit/s以上,最好是至少1Mbit/s、10Mbit/s或者更高)数字接口。
上面所说的接口最好符合IEEE 1394标准或者相应的变化或修正版本。
当系统是在一个与数字视频记录器相连的接收器/解码器中实现时,接收器/解码器最好包含一个应用程序,该应用程序用于控制接收器/解码器中的设备以选取部分(包或者小节)所接收的数据流并送到数字视频记录器,数据流包含有两个或者多个电视节目,接收器/解码器还应具备有向输出数据流中加入标记节目的信息的装置。这样,一个用户就可以选择两个或者多个节目进行记录,以备后期欣赏。但要能够这样做,通常需要两个或者多个模拟视频记录器和两个或者多个接收器/解码器,接收器/解码器中的应用程序可以包含有控制视频记录器的装置,正如在我们的97401793.1号欧洲专利申请中所描述的那样,该专利中已经公开的部分在这里给予了介绍。
第五方面,本发明为接收器/解码器提供了一个应用程序,接收器/解码器具有接收一个广播的数字数据流的装置,并包含有一个连接到一个数字存储介质的接口以及一个用于处理所接收的数字数据流以产生一个输出数据流到数字存储介质的设备。所提供的应用程序具有这样的装置,即控制上述的设备以选取部分所接收的与两个或者多个节目相关的数字数据流以及将它们输出到数字存储介质中,存储时以一种使节目可以后期回放的格式进行存储。该应用程序可以有选择性地减少输出数据流中段落的数目,这可以通过将所接收的数字数据流中的具有更高优选权的段落传送到数字存储介质而舍弃掉优选权较低的段落来实现。上面所说的所有装置可以独立提供。
应用程序最好以解释语言的方式运行,而设备驱动程序则最好是编译型的。
附图简述
现在纯粹以示例的方式,参照附图对本发明所述装置的实例进行描述,其中,
图1是接收器/解码器的接口原理示意图;
图2是接收器/解码器的装置模块图;
图3较为详细地说明了虚拟机器的某一个组件和运行时间引擎;
图4总体上描述了根据本发明所制作的一个设备的装置;
图5是一个解释往输出数据流中重复插入小节的示意图;
图6总体上描述了根据本发明所制作的又一个设备的装置;
图7是一个描述图6所示设备产生的数据包的示意图;
图8列举了一个包识别符列表,这些包识别符应该直接从一个输入数据流拷贝到输出数据流中;
图9也列举了一个包识别符列表,这些包识别符在从输入数据流拷贝到输出数据流之前将被解扰。
优选实施例详细描述
接收器/解码器基础
为有助于理解这个设备及其所运行的最佳平台,这里首先简要介绍一下我们的数字卫星接收器/解码器。
图1以图的方式描述了一个用在数字交互电视系统中的接收器/解码器2020或者机顶盒的构成,数字交互电视系统中安装有设备驱动程序。有关一个合适的数字交互电视系统的详细资料可以参见我们的共同未决申请的PCT/EP97/02106-02117文件,该专利中已经公开的部分这里给予了介绍。对于每一个需要引用的前文已经详细描述的对象,一般就以说明中的引用标号来指明。
如图1所示,前文已经详细描述的接收器/解码器2020包含如下几个接口:特别是一个MPEG信号流的调谐器4028,一个串行接口4030,一个并行接口4032以及两个卡阅读器4036,其中一个卡阅读器是构成系统的一个智能卡,另一个是储存卡(用于储存薪水,家庭储蓄等等)或者是另一个智能卡。接收器解码器还包含一个接口,该接口与一个连接到电视信号提供者的调制解调器4002回路通道相连,这就使得用户可以将自己的爱好情况回送到电视信号(节目)提供者。接收器也还包含一个运行时间引擎4008,一个设备管理器4068和多个装置4062以运行一个或多个应用程序4056。
鉴于本文的意图,一个应用程序就是一段用于适当控制接收器/解码器2020高级装置的计算机代码。例如当终端用户在电视机2022屏幕上将遥控器的焦点定位在一个按钮对象上,并按下一个合法的键时,和该按钮相联系的指令序列就会获得执行。
一个交互的应用程序支持菜单操作,并按照终端用户的要求执行命令,同时提供与程序本身目的相关的数据。应用程序可以是驻留式的,也就是说存储在接收器/解码器2020的ROM(或者FLASH存储器或者其它的非易失性存储器)中,也可以是广播式的,先下载到接收器/解码器2020的RAM或者FLASH存储器中再运行。
前面已经详细描述了各应用程序,这里给出一些应用程序的例子:
·一个能适应系数集的初始化程序,使得接收器/解码器2020能够立即运行于MPEG2的环境下;
·一个启动程序,该程序允许任何应用程序,不论是驻留式的,还是下载的都可以在接收器/解码器2020上运行;
·一个程序指南,其实就是一个能给出所有有关程序的信息的交互式程序;
·一个使得终端用户可以购买当前事件的计费程序,这是一个在许多数字电视的每一个PPV频道上都能提供的交互式服务;
·一个PC下载应用程序,使得终端用户可以下载计算机软件;
·一个杂志浏览应用程序,包含有一个图象的循环视频广播,引导终端用户通过屏幕上的按钮进行导航;
·一个电话购物应用程序,使得商品的销售价格能够传送到接收器/解码器2020,然后显示在电视机2022屏幕上,终端用户可以选购各自喜欢的物品。
应用程序存储在接收器/解码器2020的存储器中,并以资源文件的方式提供。资源文件包含图形对象描述单元文件、变量模块单元文件、指令序列文件、应用程序文件和数据文件,正如前文所详细描述的那样。
在MPEG数据流中,每一个模块都包含一组MPEG表,而每一个MPEG表可以包含许多小节。在MPEG数据流中,每一个小节的最大长度为4k字节,例如对于通过串口或者并口进行的数据传输。模块同样被分成多个表和小节,小节的大小随传输介质的不同而变化。
模块在MPEG数据流中以数据包的形式传输,典型大小是188个字节,在各种类型的数据流中都是这样,例如视频数据流、音频数据流以及电报数据流。每一个包的前面加一个13比特的包识别符(PID),每个包的包识别符都在MPEG数据流中传输。一个节目映射表(PMT表)包含有不同数据流的一个列表,根据各自的包识别符可以指出每一个数据流的内容。一个PID在使用PMT表进行识别时,可以提醒一个设备要注意数据流中存在应用程序。
解码器中包含有存储器,存储器被分成一个RAM卷、一个FLASH卷和一个ROM卷,但是它们的物理组织方式和逻辑组织方式是截然不同的。存储器也可以分成各个与不同接口相联系的存储器卷。从一个观点来看,存储器可以当作是硬件的一部分,而从另一个观点来看,存储器可以认为是支持或者包含在硬件之外的整个系统。
可以认为系统的中心位于运行时间引擎4008中,该引擎构成虚拟机4007的一部分。虚拟机在一边(高的一边)和应用程序连接,在另一边(低的一边)通过各种中间逻辑单元和接收器/解码器4061的硬件部分连接。接收器/解码器的硬件部分可以当作是包含有各种端口或者上面所述的接口(和手持话筒2026连接的接口2030、MPEG流接口4028、串行接口4030、并行接口4032、连接到卡阅读器4036的接口和连接到调制解调器4002回路通道的接口4034)。
如图2所示,不同的应用程序4056连接到单元4007,一些较常使用的应用程序可能或多或少地永久驻留在系统中,正如4057预示的那样,而其它的则通过下载进到系统中,例如从MPEG数据流或者所要求的其它端口。
单元4007除了包含运行时间引擎4008之外,还包含一些驻留函数库4006,4006中含有工具包4058。函数库包含了各种各样的采用c语言编写的函数,用在引擎4008中,例如象数据结构的压缩、扩展或者比较等的数据操作、画线等等。函数库4006也包含了有关接收器/解码器中固件4060的信息,例如硬件和软件版本号和可利用的RAM空间等等,还包含了一个当下载一个新的设备4062驱动时使用的函数。许多的函数可以下载到库中,而库则存储在快闪存储器或者RAM中。
运行时间引擎4008连接到一个设备管理器4068,该管理器则连接到一组设备4062,设备4062和设备驱动程序4060相连,而4060则回接到端口或者接口。广义上说,一个设备驱动程序可以认为是定义了一个逻辑接口,因此两个不同的设备驱动程序可以连接到同一个物理接口,一个设备通常连接到多个设备驱动程序。如果一个设备连接到单个设备驱动程序,则通常该设备将设计成能够提供通信所需的全部装置,这样就可以避免再要一个分开的设备驱动程序了。这种特定的设备可以在它们内部进行通信。
下面将介绍3种从设备4064到运行时间引擎之间的通信方式:通过变量、缓存和事件,其中事件会被送到一个事件队列中。
接收器/解码器2020的每一个装置作为一个设备4062提供,设备可以是本地的,也可以是远程的。本地的设备4062包括智能卡、SCART连接器信号、调制解调器、串行及并行接口、一个MPEG视频及音频播放器和一个MPEG小节及表提取器。远程的设备4062在远距离处执行,和本地的设备不同的是,端口和程序必须由系统权威或者设计者定义,而不是由接收器/解码器制造商所提供及设计的设备和驱动器定义。
当创建一个新的设备4062时,它可以从广播中心下载相关的应用程序4056并安装在已有的接收器/解码器2020中。下载是利用接收器/解码器2020中的应用程序4056来实现的,该应用程序负责检查硬件和软件版本,如果检查无误的话,还加载代表着新设备的软件模块4056,并执行函数库4006中的一个程序来安装新设备代码到固件(在快闪存储器)中。这样的做法使得给接收器/解码器2020中安装新装置有了一个灵活和安全的方法,而不会影响到其余的软件。
设备管理器4068是一个在应用程序4056和接收器/解码器2020的特定装置之间的公有的软件接口,管理与设备4068之间的存取,权利要求无法预料事件的接收以及管理共享内存。
运行时间引擎4008在微处理器和一个公有的应用程序编程接口的控制下运行,在每一个接收器/解码器2020中它们都会被安装,因此从应用程序这个方面来看,所有的接收器/解码器2020都是相同的。
引擎4008在接收器/解码器2020上运行着应用程序4056,它执行应用程序4056,从接收器/解码器2020外部接收事件,显示图形和文字,向设备请求服务,以及利用连接到引擎4008的函数库4006的函数来进行特定的计算。
运行时间引擎4008是一个安装在每一个接收器/解码器2020中的可执行的代码,包含有一个解释器,负责解释和运行应用程序。引擎4008适合于任何操作系统,包括单任务操作系统(例如MS-DOS)。引擎4008的工作原理是基于序列处理单元(根据不同的消息,如按键,执行不同的操作),它具有自己的调度表,用于管理来自不同硬件接口的事件队列,它还处理图形和文字的显示。一个序列处理单元由一组指令组构成。每一个事件都会使得序列处理单元根据事件的性质从当前的指令组转换到另一个指令组。
引擎4008包含有一个代码加载器,用于加载和下载应用程序4056到接收器/解码器的存储器2028中。为了优化使用,只有必须的代码才会加载到RAM或者快闪存储器中。所下载的数据要通过鉴定机制进行鉴定以防止应用程序4056发生任何的改变或者防止任何未经授权的应用程序的执行。引擎4008还包含一个解压缩器。这是由于为了要节省空间和能够快速从MPEG-2传输流或者是通过内置的一个接收器/解码器模式下载代码,应用程序代码(一种中间代码形式)进行了压缩处理,因此在将代码加载到RAM之前必须先进行解压缩。引擎4008也还包含有一个解释器和一个错误检测器,其中解释器用于解释应用程序代码,更新不同的变量值和决定状态的变化。
在使用任何设备4062提供的服务之前,必须先通过一个程序(例如一个应用程序指令序列)声明为一个“客户”,这是一种对设备4062或者设备管理器4068的逻辑存取方式。设备管理器给客户一个客户号,作为对设备的所有存取操作的根据。一个设备4062可以具有几个客户。每一个设备4062拥有的客户数目决定于设备4062的类型。一个客户通过一个“Device:Open Channel”过程来连入设备4062,该过程会分配一个客户号码给相应的客户。通过一个“Device:Close Channel”过程则使得一个客户可以从设备管理器4068的客户列表中退出来。
由设备管理器4068提供的对设备4062的存取操作可以是同步的,也可以是异步的。对于同步存取方式,使用一个“Device:Call”过程,这是对立即有效的数据的存取方式,调用一个函数时也不需要等待预期的响应;对于异步存取方式,使用一个“Device:I/O”过程,这是对存取时需要等待响应的数据的存取方式,例如扫描调谐器频率以找到一个多路通道或者从MPEG流中获取一个表,当所要求的结果有效时,一个指示数据到达的事件就放到引擎的队列中。一个额外的“Device:Event”过程提供了一个管理未预期事件的手段。
正如上面所说的,运行时间引擎的主循环连接到各种各样的序列处理单元,当主循环遇到一个适当的事件时,就将控制权转移到序列处理单元之一。
如图3所示,设备管理器包含一个队列100,来自设备的事件将送到该队列中暂时保存起来。虚拟机以一个合适的间隔向队列中发送一个信号以从中解出第一个事件,该事件则被送到虚拟机的一个队列101结构中。根据事件的优先级别,事件将被插入到5个队列中合适的一个队列,5个队列从0排到4。在运行时间引擎的控制下,通过一个队列102选择单元可以从队列101结构中解出事件。
当一个事件从队列101结构中选出时,它将被送到一个事件序列处理单元引擎104,该引擎由一个序列处理单元驱动器105和一组序列处理单元106组成。每一个序列处理单元就是一组连接在一起的指令组,因此从一个指令组转到下一个指令组的过程通常决定于当前的指令组和事件的性质。不同的序列处理单元具有不同的大小和复杂度,并包含这样一个指令组,该指令组的下一个指令组,如响应一个事件使系统加速的指令组,仅决定于事件的性质,而与当前指令组无关。另外,正如序列处理单元模块的右边所表示的那样,每一个序列处理单元都有几个备份,即相同的几个序列处理单元,用于通过单个端口运用相同的协议来处理几个分离的数据流。
当一个事件被选择时,它将被送到合适的序列处理单元,就是从序列处理单元的当前指令组中选择合适的出口。这将导致合适的下一个指令组被选中,其中的指令也被执行,例如包括发送一个消息到设备管理器或者执行一个指令序列。序列处理单元中的指令组也可以发送事件消息到其它的序列处理单元。
系统还包含一个过滤器110,该过滤器和例如来自序列处理单元106的事件类型一同加载。当一个事件从设备管理器的队列100中被送到虚拟机的队列101结构时,其类型或者性质会再次和过滤器110中的列表进行匹配,过滤器如果无法识别该事件的类型,将拒绝该事件的进入。这样如果说设备管理器或者键盘产生了虚拟机不能处理的类型的事件,则可以保证这些事件不会送到队列101结构中。(如果这种类型的事件被送到了队列101结构,那么它们将在该队列结构中积累起来或者可能造成序列处理单元引擎104的故障。)
从上面可以看到,我们的基本系统提供的平台在使一个应用程序和各种各样的设备通信方面有着相当好的灵活性。
信号处理设备
下面将介绍本发明所提供的两个信号处理设备,这两个设备同时存在于相同的接收器/解码器中,每一个所设计的设备提供的装置仅有稍微的差别。
第一个信号处理设备将所接收的经过解扰的传输流再次进行复接以形成一个部分输出传输流,典型情况下,该设备包含有一些而不是全部的原始传输流信息,另外的信息下面将进行介绍,请参见图4。为了易于引用,下面以TS_REMUX(Transport Stream RE-MultipleXer的缩写)代表信号处理设备。
TS_REMUX设备
Ts_Remux设备可以认为是由许多的装置单元和下文中提到的命令组成。另外,令人赞赏的是,这个设备具有下面这样一个装置,即实际实现了由各种命令执行的函数。例如,从所接收的数据流中选出包的实际操作可以通过专用硬件的方式来实现,该专用硬件对数据进行过滤以提取出对应于指定包识别符的包。一个应用程序通过下文所描述的命令之一可以提供一些信息,基于这些信息在软件控制下可以提供包识别符的列表。在下面的讨论中,应该注意的是,一个命令名字的大小写都代表同一个命令。
有关各种函数的实现的详细资料以及硬件与软件之间的差别是一个选择实现方法的问题,这里不再详细介绍。然而需要指出的是,能够在一个MPEG数据流上执行过滤操作的专用集成电路已经有商用成品可用,并可作为一个硬件加速器的基础,或者为了实现各种所需的选包操作以降低软件运行的处理功耗,经过适当改造后可以制作成专用硬件加速器。然而,如果能够提供足够的功率,所需的操作也可以在软件中实现。
该设备设计成在两种模式之中的一种模式下工作,两种模式中一种是空闲模式,该模式下不产生输出,另一种是运行模式,该模式下数据被送到输出数据流中。在运行模式下,令人赞赏的是,设备可以请求更多的系统资源。下文所介绍的命令的执行可能决定于工作的模式,特别是大多的命令都将只能在一种模式下执行,如果在另一种模式下执行将返回一个错误。
每一个命令都在设备管理器4068的控制下和一个应用程序相接,这可以通过上文中所介绍的三个标准过程中的一个来实现,这三个标准过程对于其它的设备都是一样的。信息通过参数表可以在应用程序和设备之间传递。为易于参考,下面对三个基本过程进行简要介绍:
1)Device:Call,一个应用程序可以使用该过程来执行同步命令或者数据传输。执行该过程时应用程序将被挂起,直到设备驱动程序完成操作并返回控制权,这样就可以可靠地控制必须以严格顺序执行的操作。
2)Device:I/O,该过程允许异步操作,这也就是说,一个应用程序在请求进行数据传输或者要求通过设备驱动程序执行一个特定的函数后,程序的执行可以继续进行,即使数据仍在传输或者设备驱动程序仍在执行函数。
3)Device:Event,事件陷阱函数通过设备向应用程序通知事件的发生。当所发生的事件被通知到正在运行的应用程序时,应用程序将转而执行特定的操作,作为对新发生事件的响应,程序的这种中断是有效的。事件可以设置优先次序,可以用于指示发生在接口上的情况,例如总线复位,或者用于监视异步命令的执行,例如指示一个程序所请求的数据已经传输完成。
本发明所实现的设备提供的命令下面将给予介绍。一个应用程序可以通过向上面的三个标准过程之一传送一个命令标识符参数来调用每一个命令。下面所描述的所有命令并不是都需要提供,命令的装置也可以进行修改。令人赞赏的是,尽管命令可以单独提供或者修改,但是所介绍的命令提供的复合装置性却能提供某些更大的好处。
下面根据每一个命令的特征和装置对命令进行介绍,包括可选的和更好的特征。根据所给的信息和提供的介绍,这些特征的实际实现对一个技术熟练的人来说应该是较简单的,至于详情就留给实现者。举这样一个例子,每一个命令都可以在软件中实现,并最好采用c编程语言编写,然后在用来运行应用程序的处理器上编译运行,然而,设备驱动程序却可能运行在一个分开的处理器上,一些或者全部的命令也都可以通过专用硬件来实现。Call和IO命令可以指示信息或者在一个参数表中设置参数值来将参数返回给应用程序,参数表存储在内存中,其地址会传给设备。
命令:TS_REMUX SET PID
该命令只能在空闲模式下运行。如图8所示,该命令用于接收一个包识别符(PID)200的初始列表。列表200中包含有PID(NB_PID)的数目,PID会被复制到输入传输流中,每一个包识别符(PID)的值则从输入数据流复制到输出数据流中,并被赋予一个优先级值(PRIORITY)。优先级值最好是单个字节值,从0到255之间变化,0表示优先级最低,255则表示优先级最高。
有可能输出数据流的比特率容量会比一个包含从输入数据流中复制而来的所有列表中的包的数据流的比特率低,如果是这样,那么PID优先级最低的包将轮流被排除出输出数据流,直到源自输入数据流的数据流的比特率降低到小于或者等于输出数据流的比特率容量。
如果包被排除出输出数据流,这些包的PID不会被删除出列表200。输出数据流的比特率容量应该提高以使得额外的包可以加入到输出数据流中,这样,被舍弃的包中优先级最高的包就可以轮流包含进输出数据流中,直到达到了输出数据流的新的比特率容量。
该命令更适宜通过Device:Call过程进行异步调用。
命令:TS_REMUX SET SCR PID
如图9所示,该命令的行为和上面介绍的Set_PID命令相似,用于指出一个包识别符列表300中的包,使得这些包在进入输出数据流之前被解扰。除了一个包识别符(PID)列表和优先级(PRIORITY)之外,该命令还要接收必要的信息用于对包进行解扰,这些信息包含有一个用以指定包处理类型的模式标记(MODE)、节数量(Session Number)、索引值(Index Number)、一个操作符引用(OPI)、被解扰包的PID以及包含有ECM的包的PID(PID_ECM),该ECM在包解扰时使用。
命令:TS_REMUX SET DATA PID
该命令的行为和上面介绍的Set_PID命令相似,用于指出来自应用程序的MPEG小节的包识别符,使得这些包识别符被包含进输出数据流中。
命令:TS_REMUX SET SECTION
该命令的行为和上面介绍的Set_PID命令相似,用于指出MPEG小节的包识别符,使得这些包识别符被包含进输出数据流中。另外,应用程序可以设置许多参数,包括一个OFFSET参数,用于指定运行模式开始后的延迟量,一个REPEAT参数,用于指定一个小节重复的次数,一个DELAY参数,用于指定小节中包的时间间隔,一个CYCLE参数,用于指定一个小节到下一个小节的重复周期,一个CYCLE_2参数,用于指定一次系列重复到下一次系列重复的重复周期,参照图5可以更好地理解这些参数的装置。
命令:TS_REIUX ADD PID
正如上面所提到的那样,Set_PID命令仅在空闲模式下运行。在运行模式下,Add_PID命令使得一个应用程序可以向被指定复制到输出数据流中的PID的当前列表中加入PID。Ts_Remux设备还包含一个补充的Ts_Remux_Stop_PID命令,用于从当前的PID列表中删除PID。PID最好都以相同的方式指定,正如Set_PID命令一样,这种方式对每一个命令都有一个优先级。当设备处于运行模式下时,由于列表中PID的编辑会使得列表的更新要耗费一些时间,这些命令最好通过Device:I/O过程来异步调用。
另外,通过Ts_Remux_{Add;Stop}_{SCR_PID;Da ta_PID;Section}命令的方式,还可以提供类似的过程来动态地在将被解扰的包列表、将被复制的小节或者将被插入的小节中添加或者删除PID。
为了从空闲模式切换到运行模式,设备提供了Ts_Remux_Start命令,而为了从运行模式返回到空闲模式,则提供了Ts_Remux_Stop命令,这些命令最好通过Device:I/O过程来异步调用。
还有,为了返回与PID、加密PID以及被包含进当前输出数据流的小节相关的信息,设备还提供了Ts_Remux_PID_Info、Ts_Remux_ECM_Info和Ts_Remux_Info_Sevtion命令,这些命令以相似的格式返回当前PID的一个列表到调用程序,调用程序由应用程序利用相应的Set或者Add命令组成。
除了允许一个应用程序向设备发送指令的命令之外,Ts_Remux设备还通过设备管理器的事件处理函数向应用程序通知事件的发生。Ts_Remux设备定义了如下事件:
事件:EV TS_REMUX ECM
该事件用于通过RSM表示拒绝接收一个ECM,设备将忽略带有ECM的包的PID以及储存被拒绝的ECM的缓存的地址,还有状态字。
事件:EV TS_REMUX GETALL
当一个ECM被送到RSM时,该事件用于通知应用程序RSM的响应。
事件:EV TS_REMUX BAD NB
该事件表示随同一个未预期的小节或者索引值接收了一个ECM,该ECM没有被送到RSM。
事件:EV TS_REMUX STREAM
当一个与PID有关的优先级已经被用于控制在输出数据流中跳过还是加入PID时,该事件用于表示在流合成过程中的一个变化。
下面将介绍本发明提供的第二个设备,请参见图6和图7,该设备将表示成MCOM(MPEG Communication的缩写),主要是用于压缩所接收的来自一个卫星连接的MPEG小节以提供一个虚拟的TCP/IP数据源。
MCOM DEVICE
该设备和TS_REMUX设备一样,由许多命令组成,而很多命令的装置和TS_REMUX设备的命令类似,因此不再详细介绍。象TS_REMUX设备一样,MCOM设备或者在运行模式或者在空闲模式下工作,并包含转换模式的命令。MCOM设备不再提供向输出数据流添加包和从输出数据流删除包的命令,转而提供了下面的命令,包括选出要包含的小节的命令、删除小节中的部分内容的命令(或者是另一种看法,提取出要包含的小节中的部分内容)以及修改要加到所接收的小节(或者是其中的部分加要包含进输出数据流中)中的头标(如果存在)、脚标(如果存在)和数据检验(如果存在)的参数的命令。MCOM设备允许以一个应用程序运行时所需的最小限度的交互来仿真许多通信协议中的任何一个协议,这提供了一定的灵活性。
该设备也可以在一个自动模式下工作,该模式下,在定义了在所接收的数据上所进行的过滤操作之后,以小节为单位的数据将自动排队等待输出,直到所有预期的小节被接收完为止。另一种选择是设备在一个手工模式下工作,该模式下,每一个小节都要在应用程序的控制下进行传输。
对MCOM设备的介绍将集中在特征和TS_REMUX设备明显不同的命令上。
命令:MCOM INIT COMM
该命令用于配置通信端口,调用时要提供一个包含有端口类型标记及该端口特定数据的缓存。该命令使得MCOM设备可以和各种各样的通信端口(例如串口、并口、IEEE 1394)一起工作,而不需要MCOM设备的其它命令所需要的特定端口信息,这是很有用的。
命令:MCOM INIT FILTER
该命令可以调用来定义一个长度为n个比特的数字域,该数字域从一个MPEG小节的开头m个比特后开始,而从MPEG小节中可以查到一个小节标记符。
所定义的域可以包含一个从0到(2n-1)变化的数字c。
执行该命令后,内存中会定义一个2n个比特的位图,每一个比特对应一个要接收的小节。例如,如果n=8,则定义了一个256个比特(32个字节)的位图,用以标记256个分开的小节的接收。从拆接器接收小节的过程中,所定义域的数字c会被减1,同时位图中的第(c-1)个比特位被检验,如果该比特位已置位,则相应的小节将被拒收,这样就可以自动执行小节的过滤操作,其中一个已经置位的比特位可以用来表示已经接收了一个小节,或者表示不需再等待相应的小节。当然,这个比特位可以重新设置,否则就要以一个不同的方式来标记小节的接收。
该命令允许定义一个初始位图,所有的比特位可以都置位或者清零,或者将一个特定的位图设置成初始位图。
为了动态地改变过滤器,如在运行模式下,或者为了查询过滤器的当前状态,还提供了相应的命令。
位图(或者其它的标记表)可以用来控制包自动排队,直到所有预期的小节都已被接收。
该命令在给予MPEG小节的格式相当大的灵活性方面是很有用的,那些MPEG小节会被设备进行自动过滤处理。
命令:MCOM PACKET DEL
该命令被调用来指定MPEG小节中要进行删除的部分内容,作为压缩处理的一部分。例如,可以指定开头处的p个偏移量和结尾处的q个偏移量,这样分别在开头和结尾处去除p和q个字节后,就对相应的MPEG小节进行了斩头去尾。
该命令及其所提供的装置使得所通信的数据可以自由放置在一个MPEG小节的中部。
命令:MCOM PACKET HEADER
该命令将预定义格式的头标加入到所接收的小节,头标中可以包含符合特定通信协议的信息,如TCP/IP。该命令在两种模式中的一种模式下运行,两种模式中一种是USER_HEADER模式,该模式下仅仅将头标加入到所接收的小节,另一种是USER_LG_HEADER模式,该模式下除了头标之外,还将压缩包的长度信息也加入到所接收的小节中,例如一个预定义的附加常数外加上小节的长度值,如图7所示。
MCOM设备还包含有一个类似的命令,用于添加一个帧检测序列,例如针对包中预定义部分的16位或32位的一个CRC(循环冗余检测)或者一个LRC,而预定义部分从距离开头一个偏移量的字节处开始,持续到距离结尾一个偏移量的字节处,紧随在这需要检测的部分后面将加上计算好的检验值。
MCOM设备还包含有一个转化字符的命令,例如转换一个列表的字符(也就是由一对字符代替,该对字符包含一个预定义的换码符和一个预定义值)
上面所介绍的命令和事件只是一些例子,本发明可以用各种各样的方法来实现,特别是一些命令可以由其它装置相似的命令组成,或者为了简化实现方法,可以省略一些命令。每一个函数的硬件和软件实现方法可以自由地进行组合,包括在命令和命令之间以及单个命令内部。
由硬件执行的函数、计算机软件以及类似的东西要依靠或者利用电以及类似的信号来执行,这样说会容易理解一些。所实现的软件可以存储在ROM或FLASH中,或者可以在FLASH中加以补充。
上面纯粹以例子的方式介绍了本发明,细节改进可在本发明的范围内进行,这是可以理解的。
说明书、权利要求以及附图中公开的每个特征可独立提出或以合适的组合提供。

Claims (43)

1.一种用于处理数字数据流的装置,包括:
用于接收含有多个信息包的数字数据流的装置,每个包具有一个或多个包共有的包识别符;
用于存储从所接收的数字数据流中选出的指定包的列表的装置,该列表包含优先级信息,以指示分配给每一个包识别符的优先级;
用于从所接收的数据流中提取在所述列表中指定的包的装置,和处理装置,该处理装置用于处理提取出的包以形成输出数据流,在该输出数据流中包含优先级更高的提取的包而舍弃优先级较低的提取的包以有选择地减少输出数据流中的包的数量。
2.根据权利要求1的装置,其中在提取出的包的数量相对于输出流的数据处理容量来说太大时,所述处理装置就在输出数据流中有选择地减少提取出的包的数量。
3.根据权利要求1或2的装置,其中所述处理装置适合有选择性地将被舍弃的提取出的数据包重新插入到输出数据流中。
4.根据权利要求1的装置,其中包具有多个优先级值中的一个值。
5.根据权利要求1的装置,其中包具有在0到255之间变化的优先级值。
6.根据权利要求1的装置,其中所接收的数字数据流是MPEG数据流,列表中包含有要从所接收的数据流中选出的包识别符的列表。
7.根据权利要求6的装置,包括用于存储至少一个包识别符的额外列表的装置,以及在输出数据流中进行包含处理之前,将一个或多个指定的处理操作作用在所述每个额外的列表中指定的包上的装置。
8.根据权利要求1的装置,包括用于将额外数据包插入输出数据流中的装置。
9.根据权利要求1的装置,其中所接收的包包含多个数据小节,并且所述处理装置被设置成执行下面的操作之一:从所接收的数据小节中去除头标和/或脚标;向所接收的数据小节中添加头标和/或脚标;添加所接收小节的长度指示以及添加帧检测序列。
10.根据权利要求1的装置,包括用于监视信息包接收的装置。
11.根据权利要求10的装置,具有用于自动排列提取出的包直到所述的监视装置显示所有预期的包已经被接收或者直到从应用程序接收到停止指令为止的装置。
12.根据权利要求1的装置,其中所述处理装置被设置成产生适合存储在数字视频记录器上的输出数据流。
13.根据权利要求1的装置,其中所述处理装置被设置成产生适合和计算机进行数据通信的输出数据流。
14.根据权利要求1的装置,在接收器/解码器中被设置以通过设备管理器在应用程序的控制下工作。
15.根据权利要求14的装置,包括:
用于从应用程序中接收信息以编译指定包的列表的装置。
16.根据权利要求15的装置,其被设置成在两种模式之中的一种模式下工作,所述两种模式包括不产生输出数据流的空闲模式和有使数据通过装置的运行模式。
17.根据权利要求16的装置,包括用于从应用程序接收命令以在所述两种模式之间进行转换的装置。
18.根据权利要求16或17的装置,包括编译装置,该编译装置可在所述空闲模式下工作以便接收信息,该信息用于以将被复制到输出流中的包识别符的原始列表的形式,对所述列表进行编译。
19.根据权利要求16的装置,包括可在所述运行模式下工作以便接收包括将要被添加到当前列表中或者从当前列表中删除掉的包识别符列表的列表的装置。
20.根据权利要求14的装置,还包括被设置成维持一个包括将要被解扰的包识别符的列表的额外的列表的装置。
21.根据权利要求20的装置,包括用来从应用程序接收用于解扰的信息的装置。
22.根据权利要求21的装置,其特征在于,解扰操作作为对包括被解扰的包识别符的列表的原始列表进行设置的过程的一部分。
23.根据权利要求14的装置,还包括用于存储由应用程序插入的MPEG小节的列表的装置。
24.根据权利要求23的装置,被设置成从应用程序接收用于控制输出数据流中MPEG小节的重复的参数,并且被设置成基于这些参数重复该小节。
25.根据权利要求14的装置,包括用于向应用程序返回与已经包含在输出流中的当前选定的包识别符有关的信息的装置。
26.一种数据处理系统,包括:运行至少一个应用程序的运行时间引擎装置;
用于通过设备管理器在每个应用程序的控制下对所接收的数字数据流进行处理的装置,包括以下a)-c):
a)用于接收含有多个信息包的数字数据流的装置,每个包具有一个或多个包共有的包识别符;
b)用于存储从所接收的数字数据流中选出的指定包的列表的装置,该列表包含优先级信息,以指示分配给每一个包识别符的优先级;
c)用于从所接收的数据流中提取在所述列表中指定的包的装置,和处理装置,该处理装置用于处理提取出的包以形成输出数据流,并用于使输出的数据流中包含优先级更高的提取的包而舍弃优先级较低的提取的包来有选择地减少输出数据流中的包的数量;以及
将对所接收的数字数据流进行处理的装置输出的数据流加到一个输出接口的装置。
27.一种接收器/解码器,包括数据处理系统,该数据处理系统包括:
运行至少一个应用程序的运行时间引擎装置;
用于通过设备管理器在每个应用程序的控制下对所接收的数字数据流进行处理的装置,包括以下a)-c):
a)用于接收含有多个信息包的数字数据流的装置,每个包具有一个或多个包共有的包识别符;
b)用于存储从所接收的数字数据流中选出的指定包的列表的装置,该列表包含优先级信息,以指示分配给每一个包识别符的优先级;
c)用于从所接收的数据流中提取在所述列表中指定的包的装置,和处理装置,该处理装置用于处理提取出的包以形成输出数据流,并用于使输出的数据流中包含优先级更高的提取的包而舍弃优先级较低的提取的包来有选择地减少输出数据流中的包的数量;以及
将对所接收的数字数据流进行处理的装置输出的数据流加到一个输出接口的装置;
所述接收器/解码器包括从卫星接收器或者电缆接收广播数字数据流的装置以及所述输出接口,该输出接口针对数字视频记录器、数字显示设备或用于显示或存储所接收数据的计算机的一部分或全部,或者提供一个到计算机的通信链路而设置。
28.根据权利要求27的接收器/解码器,其中所述数据处理系统被设置成与设备驱动器协同工作以便将输出数据流输出到所述输出接口。
29.根据权利要求28的接收器/解码器,其中所述输出接口符合IEEE 1394标准或者其变化或修正版本。
30.根据权利要求27的接收器/解码器,其被设置成与数字视频记录器连接,所述接收器/解码器包含控制装置,该控制装置用于控制接收器/解码器中的装置以选取包含有两个或者多个电视节目的所接收的数据流的部分并输出到数字视频记录器,所述接收器/解码器还包含向输出数据流中加入标记节目的信息的装置。
31.一种处理数字数据流的方法,包括:
接收包含多个信息包的数字数据流,每个包具有一个或多个包共有的包识别符;
存储指定包的一个列表,该列表包含优先级信息,以指示分配给每一个包识别符的优先级,而指定包是从所接收的数字数据流中选出;
从所接收的数据流中提取在所述列表中指定的包;
处理提取出的包以形成输出数据流,以及通过使输出的数据流中包含优先级更高的提取的包而舍弃优先级较低的提取的包来有选择地减少输出数据流中提取的包的数量。
32.根据权利要求31的方法,其中当提取出的包的数量相对于输出流的数据处理容量来说太大时,就在输出数据流中有选择地减少提取出的包的数量。
33.根据权利要求31或32的方法,还包括有选择性地将被排除的提取出的包再插入到输出数据流中的步骤。
34.根据权利要求31的方法,其中包具有多个优先级值中的一个值。
35.根据权利要求31的方法,其中包具有在0到255之间变化的优先级值。
36.根据权利要求31的方法,其中所接收的数字数据流是MPEG数据流,列表中包含有要从所接收的数据流中选出的包识别符的列表。
37.根据权利要求36的方法,还包括存储至少一个包识别符的额外列表和在从输出数据流中进行包含处理之前,将所述处理数字数据流的方法中的一个或者多个指定的步骤操作用在每个额外列表中所表示的包上的步骤。
38.根据权利要求31的方法,还包括向输出数据流中插入额外数据包的步骤。
39.根据权利要求31的方法,其中所接收的包包含多个数据小节,并且处理提取出的包以形成输出数据流的步骤至少包括下面的操作之一:从所接收的数据小节中去除头标和/或脚标;向所接收的数据小节中添加头标和/或脚标;添加所接收小节的长度指示以及添加帧检测序列。
40.根据权利要求31的方法,还包括监视信息包的接收情况的步骤。
41.根据权利要求40的方法,还包括自动排列提取出的包直到所有预期的包已经被接收或者直到从应用程序接收到一个停止指令为止的步骤。
42.根据权利要求31的方法,产生适合存储在数字视频记录器上的输出数据流。
43.根据权利要求31的方法,产生适合和计算机进行数据通信的输出数据流。
CNB988094312A 1997-07-24 1998-07-23 数字式传输流处理 Expired - Lifetime CN1158856C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97401792.3 1997-07-24
EP97401792A EP0893913A1 (en) 1997-07-24 1997-07-24 Digital transport stream processing

Publications (2)

Publication Number Publication Date
CN1271492A CN1271492A (zh) 2000-10-25
CN1158856C true CN1158856C (zh) 2004-07-21

Family

ID=8229822

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB988094312A Expired - Lifetime CN1158856C (zh) 1997-07-24 1998-07-23 数字式传输流处理

Country Status (21)

Country Link
EP (2) EP0893913A1 (zh)
JP (1) JP4201975B2 (zh)
KR (1) KR100553195B1 (zh)
CN (1) CN1158856C (zh)
AT (1) ATE244486T1 (zh)
AU (1) AU749225B2 (zh)
BR (1) BR9810774B1 (zh)
CA (1) CA2297843A1 (zh)
DE (1) DE69816087T2 (zh)
ES (1) ES2201511T3 (zh)
HK (1) HK1026552A1 (zh)
HR (1) HRP20000040A2 (zh)
HU (1) HUP0003527A3 (zh)
ID (1) ID24158A (zh)
IL (1) IL134146A0 (zh)
NO (1) NO322938B1 (zh)
NZ (1) NZ502918A (zh)
PL (1) PL338244A1 (zh)
TR (1) TR200000845T2 (zh)
WO (1) WO1999005854A1 (zh)
ZA (1) ZA986603B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1542588B (zh) * 2003-03-28 2011-04-13 凹凸科技国际股份有限公司 能够在无源状态下访问数据的计算机系统及方法

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1067770B1 (en) * 1999-07-08 2011-03-02 Sony Deutschland GmbH Method for recording transport streams of data
US6925577B1 (en) 1997-11-14 2005-08-02 Sony International (Europe) Gmbh Method for recording/storing multiple transport streams by dividing into series of packets
EP0964572A1 (en) * 1998-06-08 1999-12-15 CANAL+ Société Anonyme Decoder and security module for a digital transmission system
US6671290B1 (en) * 1998-11-10 2003-12-30 Sony Corporation Receiving apparatus and recording/reproducing system for digital broadcasts
FR2792154B1 (fr) * 1999-04-07 2001-06-08 Thomson Multimedia Sa Procede de gestion de donnees de service et recepteur dans un systeme de television numerique
EP1049336A3 (en) * 1999-04-26 2001-03-07 Sarnoff Corporation Establishing a datapipe in a video stream
EP1051028A1 (en) 1999-05-05 2000-11-08 Sony International (Europe) GmbH Control module of a tuner for a HAVI network
GB9911989D0 (en) * 1999-05-25 1999-07-21 Pace Micro Tech Plc Data transport strems processing
GB2350980B (en) 1999-06-08 2003-08-27 Sgs Thomson Microelectronics Device and method for processing a stream of data
GB2352595B (en) 1999-07-27 2003-10-01 Sgs Thomson Microelectronics Data processing device
EP1073263A1 (en) * 1999-07-28 2001-01-31 Sarnoff Corporation Acquiring data from a bitstream
JP2002094472A (ja) * 2000-05-30 2002-03-29 Matsushita Electric Ind Co Ltd データ取得装置及びその方法
EP1175086A1 (en) * 2000-07-21 2002-01-23 Sony International (Europe) GmbH Network storage device including a demultiplexer
FR2812500A1 (fr) * 2000-07-31 2002-02-01 Koninkl Philips Electronics Nv Traitement d'un ensemble de donnees
GB0022951D0 (en) * 2000-09-19 2000-11-01 Sgs Thomson Microelectronics Data injection
GB0022949D0 (en) 2000-09-19 2000-11-01 Sgs Thomson Microelectronics Processing instruction words
CN101241740B (zh) * 2001-01-16 2011-05-18 松下电器产业株式会社 信息记录装置和方法
CZ20031749A3 (cs) * 2001-01-16 2004-01-14 Matsushita Electric Industrial Co., Ltd. Médium pro záznam dat, zařízení pro záznam dat a způsob záznamu dat
EP1304871A3 (en) 2001-08-21 2003-06-18 Canal+ Technologies Société Anonyme Method and apparatus for a receiver/decoder
AU2002332114A1 (en) 2001-10-12 2003-04-22 Bellsouth Intellectual Property Corporation Methods and systems of wireless communication between a remote data network and a set-top box
EP1311115A1 (en) * 2001-11-08 2003-05-14 Deutsche Thomson-Brandt Gmbh Method for recording digital video broadcast data, and digital video recorder
EP1311116A3 (en) * 2001-11-08 2004-12-15 Thomson Licensing S.A. Method for recording digital video broadcast data, and digital video recorder
KR100439339B1 (ko) * 2002-01-15 2004-07-07 한국전자통신연구원 데이터 방송 서버 제어 장치 및 그 방법
US20030134651A1 (en) * 2002-01-16 2003-07-17 Hsu Raymond T. Method and apparatus for flow treatment and mapping on multicast/broadcast services
KR100439338B1 (ko) * 2002-01-16 2004-07-07 한국전자통신연구원 디지털 지상파 데이터 방송을 위한 데이터 부호화 장치 및그 방법
KR100483451B1 (ko) * 2002-05-27 2005-04-15 주식회사 아이큐브 컨텐츠 파일과 네비게이션 정보의 편집처리방법 및 그 방법에 의하여 정보가 기록된 기록매체
KR100468163B1 (ko) * 2002-06-22 2005-01-26 삼성전자주식회사 디지털 비디오 수신기 및 그 스트림 생성방법
US8000647B2 (en) 2002-10-11 2011-08-16 At&T Intellectual Property I, L.P. Method using a set-top box and communicating between a remote data network and a wireless communication network
EP1427210B1 (en) * 2002-12-04 2006-08-16 Irdeto Access B.V. Terminal, data distribution system comprising such a terminal and method of re-transmitting digital data
KR100717176B1 (ko) * 2005-08-23 2007-05-10 한국방송공사 멀티 애플리케이션 제공 방법 및 멀티 애플리케이션 제공시스템
EP1768285A1 (en) 2005-09-23 2007-03-28 Udcast Method and device for processing a DVB-H (Digital Video Broadcasting - Handheld) compliant transport stream
KR100740202B1 (ko) * 2005-10-21 2007-07-18 삼성전자주식회사 듀얼 전송 스트림 생성 장치 및 그 방법
KR100740201B1 (ko) * 2005-10-21 2007-07-18 삼성전자주식회사 듀얼 전송 스트림 생성 장치 및 그 방법
JP4123283B2 (ja) * 2006-04-03 2008-07-23 株式会社日立製作所 記録媒体記録装置
US8358687B2 (en) * 2007-09-07 2013-01-22 Qualcomm Incorporated Method and apparatus for receiving multiple simultaneous stream bursts with limited DVB receiver memory
CN101568027B (zh) * 2009-05-22 2012-09-05 华为技术有限公司 转发视频数据的方法、装置和系统
US9439148B2 (en) * 2011-04-15 2016-09-06 Intel Corporation Methods and arrangements for channel access in wireless networks
FR3002718A1 (fr) * 2013-02-25 2014-08-29 France Telecom Traitement d'un multiplex video
CN106034259A (zh) * 2015-03-13 2016-10-19 杭州云链网络技术有限公司 一种多路广播数字电视信号的路由器及其广播方法
CN111343494B (zh) * 2018-12-19 2023-08-15 深圳市茁壮网络股份有限公司 数据过滤方法、解复用器及数字信号的处理设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2146472C (en) * 1994-04-22 2007-10-09 Kevin Elliott Bridgewater Packet video signal inverse transport processor with memory address circuitry
KR0166935B1 (ko) * 1994-11-23 1999-03-20 구자홍 엠펙2 트랜스포트 디코더 장치
US5533021A (en) * 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
DE69631393T2 (de) * 1995-03-29 2004-10-21 Hitachi Ltd Dekoder für komprimierte und multiplexierte Bild- und Audiodaten
US5574505A (en) * 1995-05-16 1996-11-12 Thomson Multimedia S.A. Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals
US5621463A (en) * 1995-05-16 1997-04-15 Thomson Multimedia S.A. Easily expandable transport stream encoder
US6069902A (en) * 1995-06-14 2000-05-30 Matsushita Electric Industrial Co., Ltd. Broadcast receiver, transmission control unit and recording/reproducing apparatus
US5729292A (en) * 1995-12-21 1998-03-17 Thomson Multimedia, S.A. Optimizing performance in a packet slot priority packet transport system
US5899578A (en) * 1995-12-25 1999-05-04 Sony Corporation Digital signal processor, processing method, digital signal recording/playback device and digital signal playback method
JP3305183B2 (ja) * 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
FR2752350B1 (fr) * 1996-08-09 2001-06-08 Thomson Multimedia Sa Procede d'extraction de donnees dans un systeme de transmission cyclique et dispositif de mise en oeuvre

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1542588B (zh) * 2003-03-28 2011-04-13 凹凸科技国际股份有限公司 能够在无源状态下访问数据的计算机系统及方法

Also Published As

Publication number Publication date
ZA986603B (en) 1999-03-16
EP0998813A1 (en) 2000-05-10
TR200000845T2 (tr) 2000-07-21
JP4201975B2 (ja) 2008-12-24
CN1271492A (zh) 2000-10-25
HK1026552A1 (en) 2000-12-15
KR100553195B1 (ko) 2006-02-22
EP0893913A1 (en) 1999-01-27
AU8353498A (en) 1999-02-16
NO322938B1 (no) 2006-12-18
KR20010022200A (ko) 2001-03-15
NZ502918A (en) 2002-09-27
HUP0003527A3 (en) 2003-01-28
NO20000320D0 (no) 2000-01-21
IL134146A0 (en) 2001-04-30
HRP20000040A2 (en) 2000-10-31
DE69816087T2 (de) 2004-05-13
ATE244486T1 (de) 2003-07-15
BR9810774B1 (pt) 2014-07-15
EP0998813B1 (en) 2003-07-02
AU749225B2 (en) 2002-06-20
HUP0003527A2 (hu) 2001-02-28
DE69816087D1 (de) 2003-08-07
JP2001511629A (ja) 2001-08-14
PL338244A1 (en) 2000-10-09
BR9810774A (pt) 2000-09-19
CA2297843A1 (en) 1999-02-04
ID24158A (id) 2000-07-13
WO1999005854A1 (en) 1999-02-04
NO20000320L (no) 2000-03-24
ES2201511T3 (es) 2004-03-16

Similar Documents

Publication Publication Date Title
CN1158856C (zh) 数字式传输流处理
CN1217542C (zh) 信息提供装置和方法、信息接收装置和方法
CN1166180C (zh) 电视广播接收机系统
EP1734445B1 (en) Event control device and digital broadcasting system
CN100387055C (zh) 接收装置及接收方法
EP1039758B1 (en) Apparatus for creating shared video scene content
CN1372662A (zh) 运行和测试应用程序
CN1211140A (zh) 智能数字电视接收机
CN1336070A (zh) 多业务数字传输系统的应用数据表
CN1265206A (zh) Ieee机顶盒设备驱动器
CN1146227C (zh) 多媒体终端设备和数字信号处理方法
US20080152319A1 (en) Apparatus for processing multimedia stream and method for transmitting multimedia stream
CN1574743A (zh) 网络系统和电子设备
CN1373970A (zh) 用于测试应用程序的装置及其方法
CN1125561C (zh) 电视系统中管理服务数据的方法和装置
JP2000333043A (ja) 情報処理装置およびその方法
JP2000331465A (ja) 情報処理装置およびその方法
CN1784005B (zh) 一种通过文件系统访问轮播数据的方法
JP2001145079A (ja) 情報送受信システム、送出装置、受信装置、情報処理方法
JP2000333041A (ja) 情報処理装置及び情報処理方法
JP2010011115A (ja) 放送受信装置
JP2000286809A (ja) 情報処理装置及び情報処理方法
JP2000286806A (ja) 情報処理装置、情報処理方法
CZ2000266A3 (cs) Zpracování digitálního přenosového toku dat

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: RCA THOMSON LICENSING CORPORATION

Free format text: FORMER OWNER: CANAL + TECHNOLOGIES SOCIETE ANONYME

Effective date: 20110225

Owner name: CANAL + TECHNOLOGIES SOCIETE ANONYME

Free format text: FORMER OWNER: CANAL + SOCIETE ANONYME

Effective date: 20110225

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: PARIS, FRANCE TO: BOULOGNE-BILLANCOURT, FRANCE

TR01 Transfer of patent right

Effective date of registration: 20110225

Address after: French Boulogne Billancourt

Patentee after: THOMSON LICENSING S.A.

Address before: Paris France

Patentee before: Thomson Licensing S.A.

Effective date of registration: 20110225

Address after: Paris France

Patentee after: Thomson Licensing S.A.

Address before: Paris France

Patentee before: CANAL+ S.A.

CX01 Expiry of patent term

Granted publication date: 20040721

CX01 Expiry of patent term