测试应用程序的装置和方法

文档序号:7658930阅读:195来源:国知局
专利名称:测试应用程序的装置和方法
技术领域
本发明涉及到一种测试方法,一种操作接收机/解码器的方法,接收机/解码器本身,一种模拟方法,一种工作站,一种计算机程序产品,以及一种比特流模拟器。
本发明对在数字电视系统中的接收机/解码器使用的交互式应用程序的开发、测试和调试的前后联系上具有特别的应用,当然也可以用于这种应用程序的演示。
数字电视系统以数字而不是模拟形式向观众发送电视频道。数字频道在发送端被编码成数字数据流,并且在接收机一端用数字解码器解码,解码器可以是一个数字机顶盒(DSTB)或是集成在数字电视机中。为实现交互性可以通过传送电视频道的同一介质或是通过不同介质例如是电话线提供一条上行链路。本文中采用的术语“数字电视系统”例如是包括卫星,陆地,有线的及任何其他系统。
本文中采用的术语“数字电视系统”包括用于发送或广播例如主要是视听或多媒体数字数据的任何传输系统。本发明特别适用于广播数字电视系统,本发明还适用于多媒体Internet用途的固定电信网络和闭路电视等等。
本文中采用的术语“接收机/解码器”的含义可能是用于接收编码或非编码信号例如是电视和/或无线电信号的接收机,信号可能是用某种其他手段广播或发送的。这种接收机/解码器的实施例可以包括与接收机成一体用来对接收的信号解码的解码器,例如是一个机顶盒,这种解码器和物理上独立的接收机组合使用,或是让这种解码器包括诸如网络浏览器,录像机或是电视等附加功能。
数字解码器通常包括一个处理器,在上面可以运行被称为应用程序的程序。这种应用程序的例子包括节目指南,电视购物,测验,家庭银行,电视投票和游戏。应用程序可以永久驻留在DSTB或是集成的数字电视中,或者是在需要时可以通过数字介质下载。若根据需要下载这些应用程序,就能降低接收机/解码器的存储器需求,因为接收机/解码器仅需要存储有限数量的应用程序。另外还能更新现有的应用程序并根据需要引入新的应用程序。
应用程序能够与接收机/解码器中诸如调谐器,智能卡阅读器,图形卡,红外线遥控电路,键盘,输入/输出端口或调制解调器等各种硬件交互作用,还可以从传输电视信号的介质上接收数据。为了提供应用程序与硬件之间的接口,提供了被称为“装置(Device)”的软件模块。这种装置(Device)由管理外部事件和物理接口所需的逻辑资源组成。本发明文本中的“装置”被用来表示这样的软件模块。
典型的应用程序能够处理由用户通过遥控器或键盘输入到接收机/解码器的信息。例如,应用程序能在电视屏幕上显示一个菜单,供用户选择一个特定选项,应用程序也可以是一种游戏,用户能控制目标在屏幕上的运动。在解码器上运行的应用程序能直接解释用户输入的数据,或是通过上行链路发送以便采取适当的行动。
供应用程序使用的数据可以在电视频道的同一个数据流中发送给解码器。这种数据可以是作为用户输入信息的结果发送给解码器的数据。例如,用户可以要求特殊的信息并且发送给解码器,或是可以响应用户的动作而发送游戏数据。能够在服务供应商和接收机/解码器之间双向传送数据的应用程序一般被称作交互式应用程序。
广播信号总有一部分是保留用来向接收机/解码器传输供接收机/解码器上运行的应用程序所使用的数据的。例如,如果广播信号采用MPEG标准,可以为传输这种数据保留某些MPEG表或是片段。接收机/解码器从广播信号中提取它所需的数据。运行在接收机/解码器上的应用程序一般会传送一个数据请求,向接收机/解码器中的MLOAD Device提出要求,而该Device就会从接收的广播信号中提取要求的数据。
术语MPEG是指International Standard Organisation工作组“Motion Pictures Expert Group”制订的数据传输标准,特别是为数字电视应用制订的并且在ISO 13818-1,ISO13818-2,ISO13818-3和ISO13818-4文件中规定的MPEG-2标准。在本申请的说明书中,该术语包括适用于数字数据传输领域的MPEG格式的所有变形,修改或发展。
随着为用户提供的服务种类的迅速增长,对应用程序开发工具提出的要求是应该能设计,产生,调试并测试应用程序。这种应用程序工具的一个例子是由CANAL+提供的Mediahighway ApplicationWorkshop。
已知的创作工具通常能在诸如Windows NT或UNIX工作站上开发应用程序。在应用程序可供测试时,将其全部下载到一个数字解码器例如是DSTB中。可以用数字解码器测试应用程序的性能。
在多数情况下,在配置使用应用程序时,接收机/解码器可以从数字广播信号中下载。应用程序也可以采用广播MPEG片段或表作为应用程序配置参数或是作为数据。为了执行严格的测试,最好是在这样的环境中执行应用程序,能够以在实践中可能遇到的方式访问一个信号。
以本申请人的名义提出的可供本文参考的国际专利申请号WO98/43165描述了一种系统,它是通过在工作站的控制下在接收机/解码器上运行应用程序来执行测试的。合成广播数据从外部发生器馈送到接收机/解码器对应用程序进行测试。为了提供合成广播数据,外部发生器要产生一个完整实体的广播信号或是在实际广播信号中插入适当的控制信号。发生器必须能高速产生或是插入高带宽信号,这样的发生器本身必须具有高速度和高带宽性能,这意味着很高的成本和复杂性。
按照本发明的第一方面提供了一种测试方法,它包括在接收机/解码器上模拟接收广播/发送信号中的数据。并且/或是在接收机/解码器的控制下执行模拟。
按照本发明的第二方面提供了一种操作接收机/解码器接收在发送信号中发送的数据并且/或是对其解码的方法,该方法包括以下步骤在接收机/解码器中模拟对这种发送信号的接收,产生模拟数据;并且还处理这种模拟数据,或是更换这种模拟数据。
如果在测试或调试程序的过程中模拟在发送数据中接收的数据,而不是产生一整个广播信号,就能降低对测试的硬件需求。
该方法例如可以用来测试广播系统中的一或多个部件,例如是可以在接收机/解码器上运行的应用程序,交互式游戏等等。广播或发送的信号(的数字内容)可以是任何大信号的任意部分;例如可以是一或多个信息包,一或多个表,一或多个片段,或者实际上是上述包,表或片段的一个完整数据流或是序列。信号可以是比特流中的至少一部分,例如是代表音频和/或视频数据。广播或发送信号的这种模拟或模型可以用于调试的目的。
本发明还可以应用于测试以外的场合,例如是模拟接收机/解码器的操作或是(可以在接收机/解码器上)运行一个应用程序,一般需要从广播信号中获取数据,但是广播信号中可能没有这种数据,或是缺少广播信号本身。
模拟步骤应该包括在接收机/解码器中产生这种模拟信号的步骤。模拟实际上可以单独在接收机/解码器中执行,而不是在广播系统中的其他地方执行。该方法还可以包括在接收机/解码器之外产生这种模拟数据的步骤;并且模拟步骤可以包括以下步骤控制这种模拟数据的产生;并且接收产生的模拟数据。
最好将代表模拟的数据存储在接收机/解码器中。如果能将数据存储在接收机/解码器中原本剩余的存储区中,这一特征特别有益。
为了便于初始化,该方法还可以包括从一个工作站向接收机/解码器传送代表模拟的数据的步骤。在这种情况下,最好是每次只将代表模拟的一部分数据传送给接收机/解码器。这样就能模拟比存储器所能保存的更多的数据。例如可以在接收机/解码器中存储短循环时间信息,同时可以在工作站的大规模存储器中存储长循环时间信息。
产生步骤最好能利用一个广播循环模型。该模型可以包括至少一个参数例如是这种发送信号中的数据的数据定时的一种表示;和/或这种发送的信号中的循环发送数据的循环周期的一种表示;和/或这种发送的信号中的噪声性质的一种表示(例如是能够模拟一定的误码率);和/或有关这种发送的信号中的数据的修改(例如是可以添加或抑制数据;例如是压缩MPEG片段还有可能恢复)。
最好能改变至少一个上述参数。按照设想可以在初始化阶段期间产生这种模型,并且可以在执行阶段执行这种模拟。如果这样做,最好是在执行阶段期间而不是在初始化阶段期间改变这一参数。为了便于控制,该方法还应该包括多次改变至少一个这种参数。这样就能提供一个序列发生器,它利用了产生一个预定事件序列的步骤,并且在模拟过程中适时执行这些事件,每个事件包括对至少一个这种参数的一种改变。
该方法还应该包括在模拟步骤开始之后的预定时间改变至少一个这种参数的步骤。这样就能再现适当的调试条件。
最好能由一个外部来源例如是工作站改变至少一个参数。
该方法最好包括以下步骤在接收机/解码器中执行一个程序(例如是应用程序),发出对数据的请求;并且响应这一请求为程序提供这种模拟数据而不是发送的数据。因而不必产生连续的模拟比特流;而是可以响应具体的请求提供所需的数据。该方法最好包括以下步骤在发出请求的时间(TMLOAD)之后按特定的延迟周期延迟为程序提供模拟数据。为了模拟现实,在有至少一个这种参数可以代表循环周期(tCYC)的情况下,最好是按照tLOAD=tCYC-((TMLOAD-T0)mod tCYC)来确定延迟周期tLOAD,其中的T0是循环开始的时间。
该方法进一步包括以下步骤从发送的信号中接收发送的数据;并且确定是否在处理步骤中处理这种发送的数据或是这种模拟数据。
最好是在接收机/解码器中的装置驱动器级和应用程序级之间的一个软件级执行这种模拟。模拟应该包括为来自广播信号的数据截取从应用程序级到装置驱动器级的请求。
在模拟步骤中应该模拟从多个转发器接收发送的数据。实际上可以混合使用真实和模拟(或“虚拟的”)转发器。
该方法还可以包括在给定时刻冻结模拟的步骤。
按照本发明的第三方面提供的一种接收机/解码器具有执行本发明第一或第二方面方法的装置(例如是处理器和有关的存储器)。为此可以提供一个接收机/解码器,它包括在接收机/解码器上模拟接收广播信号中的数据的装置(例如是处理器和有关的存储器)。还可以提供一种用于接收发送信号中发送的数据并且/或是对其解码的接收机/解码器,这种接收机/解码器包括在接收机/解码器中模拟接收这种发送的数据而产生模拟数据的装置(例如是处理器和有关的存储器);以及还用来处理这种模拟数据,或是更换这种模拟数据的装置(例如是现有的或是另外一个处理器和有关的存储器)。
模拟装置应该包括在接收机/解码器中产生模拟数据的装置(例如是现有的或是另外一个处理器和有关的存储器)。接收机/解码器进一步包括在接收机/解码器以外产生模拟数据的装置(例如是接收机/解码器外部的另一个处理器和有关的存储器),并且该模拟装置应该包括用于控制模拟数据的产生的装置(例如是现有的或是另外一个处理器)以及接收所产生的模拟数据的装置。
接收机/解码器还可以包括一个装置(例如是存储器)用于存储代表在接收机/解码器中的模拟的数据,,还可以包括一个装置(例如是现有的或是另外一个处理器),用于从工作站向接收机/解码器传送代表模拟的数据。用于传送数据的装置应该能在任何时间仅传送一部分数据。
产生装置应该能利用这种发送信号的一个模型。该模型应该包括至少一个参数,在这种情况下的至少一个参数可以代表发送信号中的数据的数据定时。这至少一个参数还可以代表或是代替在发送信号中循环发送的数据的循环周期(tCYC)。这至少一个参数还可以代表发送信号的噪声特性,或是涉及到发送信号中的数据的修改。
接收机/解码器还包括用来改变至少一个参数的装置(例如是一个处理器),用来改变至少一个参数的这种装置应该能多次改变这至少一个参数。
用来改变至少一个参数的这种装置应该能在模拟开始后的预定时间改变这至少一个参数。
接收机/解码器还应该包括在接收机/解码器外部改变至少一个参数的装置(例如是能连接到接收机/解码器的一个遥控装置)。接收机/解码器还应该包括在接收机/解码器中执行一个程序对数据发出请求的装置(例如是处理器和有关的存储器);以及响应这一请求为处理提供模拟的数据而不是发送的数据的装置(例如是现有的或是另外一个处理器)。
接收机/解码器还应该包括在发出请求的时间(TMLOAD)之后按特定的延迟周期延迟为程序提供模拟数据的装置(例如是一个处理器)。最好是按照tLOAD=tCYC-((TMLOAD-T0)mod tCYC)来确定延迟周期tLOAD,其中的T0是循环开始的时间。
模拟装置应该能在接收机/解码器的装置驱动器级和应用程序级之间的一个软件级上执行。
接收机/解码器还应该包括接收发送信号中的发送数据的装置(例如是一个输入);以及用来确定是否在处理步骤中处理这种发送的数据或是这种模拟数据的装置(例如是一个处理器)。
模拟装置能够模拟从多个转发器上接收发送的数据。接收机/解码器还可以包括用于冻结模拟的装置(例如是一个处理器)。
还提供了一种接收机/解码器,它包括一个处理器和有关的存储器,适合在接收机/解码器上模拟接收广播信号中的数据。还应该提供一种用于接收发送信号中发送的数据并且/或是对其解码的接收机/解码器,这种接收机/解码器包括在接收机/解码器中模拟接收这种发送的数据而产生模拟数据的处理器和有关的存储器;并且处理这种模拟数据,或是更换这种发送的数据。
接收机/解码器还应该能在接收机/解码器中产生模拟数据,但是也能在接收机/解码器外部产生模拟数据控制模拟数据的产生,以及接收所产生的模拟数据。
接收机/解码器还能在接收机/解码器中存储代表模拟的数据,并且还能从工作站向接收机/解码器传送代表模拟的数据,在这种情况下还应该能在任何时间仅传送一部分数据。
接收机/解码器还应该能利用发送信号的一个模型。该模型应该包括至少一个参数。这至少一个参数可以代表发送信号中的数据的数据定时;它可以代表或是代替在发送信号中循环发送的数据的循环周期(tCYC);它可以代表发送信号的噪声特性,或是涉及到发送信号中的数据的修改。
可以为接收机/解码器配合提供一个接收机/解码器的外部装置,该装置能改变至少一个参数。
接收机/解码器还可以在接收机/解码器中执行一个程序,发出对数据的请求;并且响应这一请求为程序提供这种模拟数据而不是发送的数据。接收机/解码器还能在发出请求的时间(TMLOAD)之后按特定的延迟周期延迟为程序提供模拟数据。最好是按照tLOAD=tCYC-((TMLOAD-T0)mod tCYC)来确定延迟周期tLOAD,其中的T0是循环开始的时间。
接收机/解码器还应该能在接收机/解码器中的装置驱动器级和应用程序级之间的一个软件级执行这种模拟。接收机/解码器还能接收在发送信号中发送的数据;并且确定是否在处理步骤中处理这种发送的数据或是这种模拟数据。
接收机/解码器还应该能模拟从多个转发器上接收发送的数据,接收机/解码器还可以冻结模拟。
本发明的第四方面提供了一种计算机程序产品,它能模拟在接收机/解码器上接收广播/发送信号中的数据。该计算机程序产品还能由接收机/解码器中的一个处理器来执行。还提供了一种用来操作接收机/解码器接收在发送信号中发送的数据并且/或是对其解码的计算机程序产品,该计算机程序产品能模拟在接收机/解码器上接收这种发送的数据而产生模拟数据;并且处理这种模拟数据,或是更换这种发送的数据。
计算机程序产品还应该能在接收机/解码器中产生模拟数据,并且能在接收机/解码器外部控制这种模拟数据的产生;以及接收产生的模拟数据。
可以为计算机程序产品配合提供代表模拟的数据,还应该能从工作站向接收机/解码器传送代表模拟的数据。计算机程序产品还应该能在任何时间仅向接收机/解码器传送一部分代表模拟的数据。
计算机程序产品还应该能利用发送信号的一个模型,该模型应该包括至少一个参数。这至少一个参数可以代表发送信号中的数据的数据定时;它可以代表在发送信号中循环发送的数据的循环周期(tCYC),或是可以代表发送信号的噪声特性。这至少一个参数还可能涉及到发送信号中的数据的修改。
计算机程序产品还能改变至少一个参数,并且还能多次改变这至少一个参数,或是还能在模拟开始后的预定时间改变这至少一个参数。
计算机程序产品还能接收一个外部指令来改变至少一个参数。计算机程序产品还能从接收机/解码器中的一个程序接收对数据的请求;并且响应这一请求为该程序提供这种模拟数据而不是发送的数据。计算机程序产品还能在发出请求的时间(TMLOAD)之后按特定的延迟周期延迟为该程序提供模拟数据。最好是按照tLOAD=tCYC-((TMLOAD-T0)modtCYC)来确定延迟周期tLOAD,其中的T0是循环开始的时间。
计算机程序产品还能在接收机/解码器中的装置驱动器级和应用程序级之间的一个软件级执行这种模拟。计算机程序产品还应该能接收在发送信号中发送的数据;并且确定是否在处理步骤中处理这种发送的数据或是这种模拟数据。
计算机程序产品还应该能模拟从多个转发器上接收发送的数据,计算机程序产品还可以冻结模拟。
本发明的第五方面为使用接收机/解码器接收在发送信号中发送的数据并且/或是对其解码提供了一种模拟方法,该方法包括产生这种信号的模型的步骤。在以后对广播信号的模拟中可以采用这种模型。
该产生步骤最好由一个工作站来执行,并且该方法还包括由工作站向接收机/解码器提供所产生的模型的步骤。
本发明的第六方面提供了一种工作站,它具有执行本发明第五方面的方法的一个装置(例如是处理器和有关的存储器)。可以为使用接收机/解码器接收在发送信号中发送的数据并且/或是对其解码而提供一个工作站,工作站具有为这种信号产生一个模型的装置(例如是处理器和有关的存储器)。该模型应该包括至少一个参数,而工作站还包括用来改变并且最好是多次改变这至少一个参数的装置(最好是采取与处理器和存储器相联系的用户接口的形式)。
按照本发明的其他方面还能单独提供·上面存有广播信号模型的一种计算机程序产品(例如是计算机可读介质);·用来执行本文所述任何一种方法的一种计算机程序和计算机程序产品;·上面存有用来执行本文所述任何一种方法的程序的一种计算机可读介质;·基本上如本文中所述及其附图所示的装置;·一种测试方法,它包括在接收机/解码器上接收广播信号模型的至少一个参数;·一种接收机/解码器,它具有在接收机/解码器上接收广播信号模型的装置(例如是处理器和有关的存储器);·广播系统的测试装置,它包括具有产生广播信号模型的装置(最好是处理器和有关的存储器的形式)的一个工作站;和一个接收机/解码器,它具有用来模拟在接收机/解码器上接收广播信号中的数据的装置(最好是处理器和有关的存储器的形式),和/或用来在接收机/解码器上接收广播信号的一个模型;·在接收机/解码器上接收广播信号中的数据,和/或在接收机/解码器上接收广播信号的一个模型;·广播系统的测试装置,它包括按照本发明第六方面的工作站,以及按照本发明第一,第二或第三方面的接收机/解码器。
·一种数据流模拟器;
·基本上如按照附图5,6,9到13中所示来描述的一种工作站;·基本上如按照附

图1到5和8到13中所示来描述的一种接收机/解码器;以及·基本上如按照附图8到13中所示来描述的一种方法。
来自本发明一个方面的特征可以适当地单独或是组合应用于本发明的任一其他方面。方法特征也可以应用于装置方面,反之亦然。
用软件实施的特征也可以用硬件实施,反之亦然。
本文中使用的术语“计算机程序”意味着一或多段计算机代码,能够在计算机体系内的任一或若干层次上同时或单独运行,在一或多个处理器上执行。
体现本发明的系统应该允许开发者能够·产生MPEG片段和表·构成一个比特流·定义动态比特流参数·模拟一个比特流·人工或是利用一个定序器调节模拟的数据流动/数据流该系统能用来装载属于加载在解码器的高速缓冲存储器中的数据流的MPEG表和MPEG片段。这些加载加到从接收的广播信号的数据流获得的MPEG表和MPEG片段的加载上。
加载到体现本发明的解码器中的数据流可以由根据在一个开发工作站中定义的数据流所确定的数据的三个目录组成·虚拟转发器(或虚拟频率)的目录·用于各个虚拟转发器的虚拟PID的目录·用于各个虚拟PID的目录这样就有可能根据(在构造数据流的过程中确定的)SCANNING模式将装置调谐到真实频率或是虚拟频率,或者是扫描所有频率。扫描模式可以是·VIRTUAL SCANNING模式扫描虚拟频率(虚拟转发器)·VIRTUAL AND REAL SCANNING模式扫描虚拟频率(虚拟转发器)和真实频率·REAL SCANNING模式扫描真实频率总之,在体现本发明的系统中采用这种比特流模拟器最典型的可能性是·调谐到真实或虚拟转发器·扫描真实和虚拟转发器·加载出现在真实PID或虚拟PID下的MPEG片段(MLOAD_SECTION业务)·加载出现在真实PID或虚拟PID下的一组MPEG片段(MLOAD__GROUP_SECTION业务)·连续加载出现在真实PID或虚拟PID下的MPEG片段(MLOAD_SECTION_ALL业务)·加载出现在真实PID或虚拟PID下的MPEG片段(叫做MLOAD_TABLE_LOAD业务)的表在模拟情况下有可能改变出现在高速缓冲存储器中的数据流的性能。
在开发一种装置时可以将比特流模拟器和调试器配合使用。
这种工具能够模拟视频,音频,字幕等等数据流。
体现本发明的系统可能有益地用于现有的装置开发和测试工具。这种工具可以包括本申请在已经安装有本申请人的EDIT和DEBUGGER工具的工作站上的“Mediahighway”开发平台。在同样以本申请人的名义提出的欧洲专利申请99401746.5和00102943.7号中公开了这些工具,这些内容可供本文参考。
本发明具有的优点是能够用常规的接收机/解码器硬件在执行环境中对装置进行测试,非常类似于装置在使用中所执行的环境。本发明还具有的优点是装置开发者能够看到对装置或是传送给装置的数据作出的任何修改所带来的结果。
以下要参照附图用纯粹是举例的方式说明本发明的最佳特征,在附图中图1表示一种典型的数字电视系统的体系构造;图2表示图1的数字电视系统中的一种交互系统的体系构造;图3是图1系统中的接收机/解码器的结构示意图;图4是接收机/解码器的层次体系构造的一个功能性框图;图5表示用来运行一种装置设计工具的工作站;图6表示一种设计工具的主要部件;
图7表示在装置和一个装置之间的通信;图8进一步说明装置和一个装置之间的通信;图9和10的示意图表示体现本发明的测试和调试系统;图11的时序图表示发射(launch)开发软件的时序;图12表示MPEG表的两种可行的模式;以及图13表示一加载顺序实例。
数字电视系统概述图1表示一种数字电视系统1的总体形式。本实施例包括采用公知的MPEG-2压缩系统发送压缩数字信号的一种最普通的数字电视系统2。具体地说,用广播中心的MPEG-2压缩器3接收一个数字信号流(通常是视频信号流)。利用链路5将压缩器3连接到一个多路复用器和扰频器4。
多路复用器4接收多个另外的输入信号,组配成传送数据流,并且通过链路7将压缩的数字信号发送给广播中心的发射机6,而连接当然可以采取包括电信链接的各种形式。发射机6通过上行链路8向卫星转发器9发送电磁波信号,转发器上经过电子技术处理并通过下行链路10广播给地面接收机12,它的一般形式是终端用户拥有或是租用的碟形卫星天线。当然也可以用其他传送信道来传输数据,例如是陆地广播,有线传输,组合的卫星/有线链路,电话网等等。
由接收机12接收的信号被发送给终端用户所拥有或租用并且连接到终端用户的电视机14上的集成的接收机/解码器13。接收机/解码器13将压缩的MPEG-2信号解码成供电视机14使用的电视信号。尽管在图1中表示了独立的接收机/解码器,接收机/解码器也可以是集成的数字电视机的一个组成部分。本文中使用的术语“接收机/解码器”包括独立的接收机/解码器例如是机顶盒,以及一种内部集成了接收机/解码器的电视机。
在一种多信道系统中,多路复用器4处理从许多并行来源接收的音频和视频信息并且与发射机6相互作用沿着相应数量的信道广播信息。除了视听信息之外,也能在某些或所有这些信道中与发送的数字音频和视频信息交错地引入报文或应用程序或是任何其他形式的数字数据。
在MPEG数据流中,每个模块包括一组MPEG表。每个MPEG表的格式可以是许多片段。在MPEG数据流中,每个片段的“大小”在4K字节以上。例如是对于通过串行和并行端口的数据传送,模块可能被分离成表和片段,片段的大小随着传送介质而变。
模块在MPEG数据流中以数据分组的形式传送,例如在各种类型的数据流中是典型的188字节分组的视频数据流,音频数据流和电文数据流。每个分组前面有一个12位Packet Identifier(PID),在MPEG数据流中传送的每个分组有一个PID。一个节目变换表(PMT表)包含不同数据流的目录并且按照各自的PID定义了各种数据流的内容。PID能够警告一个Device在数据流中存在应用,用PMT表来识别PID。
在多路复用器4和接收机/解码器13上连接一个条件存取系统15,并且一部分装在广播中心另一部分装在解码器中。它允许终端用户接入来自一或多个广播供应商的数字电视广播。可以在接收机/解码器13中插入一个能够对有关商业报价(也就是由广播供应商出售的一或若干种电视节目)的报文解密的智能卡。终端用户可以利用解码器13和智能卡以定购模式或预付费观看模式购买商用节目。
如上所述,由系统发送的节目在多路复用器4中被扰频,对给定的传输采用的条件和密码是由存取控制系统15来确定的。以这种方式传输扰频数据在付费TV系统的领域中是公知的。典型的扰频数据是和用于对数据解扰频的控制字一同发送的,控制字本身是用所谓的开发密钥(exploitation key)加密并且以加密的形式发送的。
然后由相当于存储在插入解码器的智能卡上存储的开发密钥接入的解码器13接收扰频数据和加密的控制字,对加密的控制字解密后将发送的数据解扰频。已付费的订户可以从广播中按月接收EMM(Entitlement Management Message(授权管理消息))也就是对加密的控制字解密所需的开发密钥,以便能收看传输的节目。
同样连接到多路复用器4和接收机/解码器13并且同样是一部分装在广播中心另一部分装在解码器中的一个交互系统1000允许终端用户通过调制解调的返回信道17与各种装置互动。调制解调的返回信道还可以用于条件存取系统15的通信。例如,观众可以用一个交互系统与传输中心直接通信,要求授权收看特殊的事件,下载一种装置等等。
图2表示本发明的数字电视系统1的交互系统1000的总体构造。
例如,交互系统1000允许一个终端用户从屏幕目录上购买项目,按照需要查寻本地新闻和气象图,以及通过他们的电视机玩游戏。
交互系统1000总体上包括四个主要部件·设在广播中心等处的创作工具4004,让广播供应商能创建,开发,调试和测试应用程序·在广播中心连接到创作工具4004的装置和数据服务器4006,让广播供应商能够对应用程序和数据进行制备,鉴别和格式化,提供给多路复用器和扰频器4插入MPEG-2传送数据流(通常是插入其中的专用片段)广播给终端用户·包括运行时间引擎(RTE)4008的一种虚拟机器,它是安装在终端用户所拥有或是租用的接收机/解码器13中的一种可执行代码,使终端用户能够接收和鉴别应用程序并将其加载到解码器13的工作存储器中执行。引擎4008还运行驻留的通用应用程序。引擎4008按照与硬件和操作系统保持独立的方式为终端用户提供上述服务·在接收机/解码器13与应用程序和数据服务器4006之间的一个调制解调的返回信道17,按照终端用户的请求用信号指令服务器4006将数据和应用程序插入MPEG-2传送数据流。
交互电视系统在操作中利用“应用程序”来控制接收机/解码器和其中包含的各种装置的功能。应用程序在引擎4008中的体现是“源文件”,“模块”是一组源文件和数据。接收机/解码器的“存储体”是模块的存储空间。模块可以从MPEG-2传送数据流下载到接收机/解码器13中。
以下要参照图3解释接收机/解码器13或机顶盒的部件。图中表示的部件是以功能框来描述的。
解码器13包括一个中央处理器20,它包括有关的存储部件,并且适合从串行接口21,并行接口22,(连接到图1的调制解调的返回信道17的)调制解调器23,和解码器前面板上的一个开关触点24接收输入数据。
解码器还适合通过控制单元26从一个红外线遥控器25接收输入,并且拥有两个智能卡读卡器27,28分别适合读取银行或定购智能卡。定购智能卡读卡器28与插入的定购智能卡配合,并且用一个条件存取单元29为多路复用器/解扰频器30提供所需的控制字,以便能对加密的广播信号解扰频。解码器还包括一个常规的调谐器31和解调器32,用来在单元30滤波和多路分解之前接收卫星传输并且执行解调。
解码器的数据处理主要由中央处理器20承担。图4表示接收机/解码器的中央处理器20的软件体系构造。参见图4,这种软件体系构造包括一个Run-Time-Engine(运行时间引擎)4008,一个DeviceManager(装置管理器)4068和多个Device(装置)4062以及用来运行一或多个应用程序4056的Device Driver(装置驱动器)。
本文中所述的应用程序是用来控制接收机/解码器13的高级功能的一段计算机代码。例如,若终端用户将遥控器25的焦点对准在电视机14屏幕上看到的一个按钮并且按下有效键,就能运行与该按钮相联系的指令序列。
由一个交互应用程序按照终端用户的请求提示菜单并执行指令,并且提供与该用途有关的数据。应用程序可以是驻留也就是存储在接收机/解码器13的ROM(或是FLASH(闪速)等其他非易失性存储器)中的应用程序,或者是广播并下载到接收机/解码器13的RAM或FLASH存储器中。
应用程序被存储在位于接收机/解码器13中的存储器中并且体现为一种源文件。正如上述专利说明书中所详细说明的,这种源文件包括图形对象描述单元文件,可变块单元文件,指令序列文件,应用程序文件和数据文件。
接收机/解码器包含被划分成RAM体,FLASH体和ROM体的存储器,但是这一物理体系有别于逻辑体系。还能将存储器进一步划分成与各种接口相联系的存储体。从一种观点来看可以将存储器视为硬件的一部分;从另一种观点看可以将存储器视为似乎与硬件分开的支持或者是包含整个系统。
中央处理器20可以被看作是集中在构成虚拟机器4007中一部分的运行时间引擎4008上。它的一侧(“高级”一侧)连接到应用程序,而另外一侧(“低级”一侧)通过下述的各种中间逻辑单元连接到接收机/解码器硬件4061包括上述的各种端口(例如有串行接口21,并行接口22,调制解调器23和控制单元26)。
具体参见图4,各种应用程序4057被连接到虚拟机器4007;有些更常用的应用程序可以或多或少地永久驻留在系统中,如4057所示,而其他则可以根据需要从MPEG数据流或是其他端口下载到系统中。
虚拟机器4007除运行时间引擎4008外还包括一些驻留的程序库功能4006,包括一个工具盒4058。程序库包含引擎4008使用的C语言的混杂的功能。这其中包括压缩,扩展或是数据结构比较,划线等数据处理。程序库4006还包括有关接收机/解码器13固件的信息,例如有硬件和软件版本号和有效的RAM空间,以及在下载一个新Device4062时用到的功能。下载到程序库中的功能被存储在FLASH或RAM存储器中。
运行时间引擎4008被连接到Device管理器4068,它又连接到一组Device(装置)4062,再连接到Device(装置)驱动器4060,后者又连接到端口或接口。广义上的Device(装置)驱动器可以被看作定义了一个逻辑接口,这样就能将两个不同的Device(装置)驱动器连接到共同的物理端口上。一个Device(装置)通常可以连接到一个以上Device(装置)驱动器;如果一个Device(装置)仅连接到单个Device(装置)驱动器,该Device(装置)就往往被设计成囊括了通信所需的全部功能,这样就能省去独立的Device(装置)驱动器。有些Device(装置)能够在自身之间相互通信。
如下文所述,从Device(装置)4064到上级的运行时间引擎有三种通信形式利用变量,缓冲器,以及排列成一组事件排队的事件。
接收机/解码器13的各种功能是由接收机/解码器13的软件体系构造中的Device(装置)4062来体现的。Device(装置)可以在本地或远方。本地装置4064包括智能卡,SCART连接器信号,调制解调器,串行和并行接口,MPEG视频和音频播放器,以及MPEG片段和表提取器。在远方位置执行的远程Device4066与本地装置的区别在于必须由系统设计人员来定义一个端口和程序,而不是由接收机/解码器制造商所提供和设计的Device(装置)和Device(装置)驱动器来定义的。
运行时间引擎4008在微处理器和一个公共应用程序程序接口的控制下运行。它们被安装在每一个接收机/解码器13中,使所有接收机/解码器从应用程序的观点来看都是相同的。
引擎4008在接收机/解码器13上运行应用程序4056。它执行交互应用程序4056并从接收机/解码器13外部接收事件,显示图形和文本,按业务调用Device,并且为具体的计算使用连接到引擎4008的程序库的功能。
运行时间引擎4008是安装在各接收机/解码器13中的可执行代码,并且包括一个用来解释和运行应用程序的解释程序。引擎4008适用于任何操作系统,包括单一任务操作系统(例如是MS-DOS)。引擎4008是基于一种程序定序器单元(按诸如按键等各种事件执行各种动作),并且包含自身的调度程序来管理来自不同硬件接口的事件排队。它还要处理图形和文本的显示。一个程序定序器单元包括一组动作集。每个事件会使程序定序器单元按照事件的特征从其当前动作集转向另一个动作集,并且执行新动作集的动作。
引擎4008包括一个代码装载器,用来在接收机/解码器存储器中装载和下载应用程序4056。为了确保存储器的优化利用,只有必要的代码被装载到RAM或FLASH存储器中。由一个鉴定机构确认下载的数据防止对应用程序的任何修改或是执行任何非法应用程序。引擎4008还包括一个解压缩器。由于为了节省空间和从MPEG数据流中或是通过内置的接收机/解码器模式快速下载而压缩了应用程序代码(中间代码的一种形式),代码在装载到RAM中之前必须要解压缩。引擎4008还包括一个解释程序,用来解释应用程序代码,更新各种变量值并确定状态变化,以及一个误差校验器。
在使用任一Device4062的业务之前必须将一个程序(例如是应用程序指令序列)指定为“顾客”也就是Device4062或Device管理器4068的逻辑存取路径。管理器给顾客一个顾客号也就是Device的所有入口。Device4062可以有若干顾客,每个Device4062的顾客数量是根据Device4062的类型来规定的。由一个程序“DeviceOpen Channel(装置打开频道)”为Device管理器4068引入一个顾客。该程序为顾客分配一个顾客号。可以用一个程序“DeviceClose Channel(装置关闭频道)”从Device管理器4068中去除一个顾客。
由Device管理器4068提供的对Device4062的接入可以是同步或异步的。对于同步接入采用程序“DeviceCall”。这是接入立即有效的数据或是包含对必要响应的等待功能的一种手段。对于异步接入采用程序“DeviceI/O”。这是接入数据不需要等待的一种手段,例如是扫描调谐器频率从MPEG数据流中找到一个多路复用或是得到一个表。在请求的结果有效时,就将一个事件加入引擎的排队通知事件的到达。另一个程序“DeviceEvent”提供了管理意外事件的手段。
运行时间机器的主环被连接到各种程序定序器单元,在主环遇到一个合适的事件时,控制就临时转到其中一个程序定序器单元。
Device4062到4066的例子有MLOAD和TUNER。MLOAD Device被用来从发送的数据流中下载DVB片段。应用程序于所提供的PID(Program ID)包含要装载的片段,并且滤波以减少片段的数量,仅仅装载那些对应用程序有用的片段。
TUNER Device被用来请求有关机顶盒调谐器的信息,读出调谐器状态(AGC,BER等等)并且设置并获取调谐参数。这种Device还能做频率扫描操作。
应用程序创作工具如上所述,创作工具4004的作用是要能对应用程序进行设计,产生,测试和调试。创作工具在工作站(WS)上运行,例如是一台运行WindowsNT,Windows 95或windows 98的个人计算机(PC)或是UNIX机器,或者是运行任何其它操作系统的一个工作站,它被用来产生和编辑构成应用程序的源文件和数据文件。参见图5,工作站200包括屏幕210,计算机212,键盘214和鼠标216。计算机212包括处理器218,存储器220,硬盘222,输入/输出(I/O)端口214,以及这种计算机常用的其它各种硬件和软件。
在图6中表示了在工作站200上运行的创作工具4004的概况。创作工具4004包括用来产生和编辑构成应用程序的各种文件的一个编辑器410,存储供编辑器410使用的现有文件的程序库412,编辑程序414将编辑器410已经产生的程序编辑成虚拟机器例如是图4中的虚拟机器4007能够理解的中间语言,以及一个模拟器100被用来模拟接收机/解码器的动态以便对应用程序进行测试和调试,如下文所述。
一个应用程序包括源文件,它包含用为虚拟机器设计的中间语言撰写的指令,以及优选的数据文件,它包含供应用程序所使用的数据。一个应用程序可能包括一或多个下述类型的源文件·模块文件-用来定义应用程序的入口·面板文件-用来定义屏幕·等级文件-用来定义供应用程序使用的数据指令·原本文件-用来定义应用程序的动态数据文件的例子如下
·图标程序库文件-这其中包含总数多达80×64象素最大尺寸的每个象素位图4位的集合。这些图标可以用做面板上的按钮或是用做装饰。
·图像-这些文件包含每象素有四位的任意尺寸的单一位图,提供十六种颜色。此类图像通常被用做面板的背景。
·颜色表-这些被用来定义能够显示在屏幕上的模块的颜色。
·用户数据文件-这些文件是由用户依照应用程序的需要来定义的。它们是ASCII文本文件或二进制数据文件。
在使用中,一个应用程序的开发者利用存储在程序库412中的现有文件,用编辑器410产生为他的应用程序定制的文件。被编辑的文件显示在工作站屏幕210上,并且用键盘214和鼠标216输入变化。可以用各种方式显示文件例如是可以在屏幕上用图形显示图形文件,而资源文件则可以显示文件中的代码,或是可以显示代码的整体结构或构造体系的一种表达方式。
将产生的应用程序转换成虚拟机器能够通过编辑程序414理解的中间语言。
为了对应用程序进行初步测试,工作站设有一个模拟器100,能够模拟接收机/解码器的动态,这样就能在工作站200上对应用程序进行测试,不需要下载到真实的接收机/解码器上。这样能立即测试应用程序,无需提供接收机/解码器和有关的硬件。尽管模拟器提供了一种类似接收机/解码器的外部环境,并且因此对确保应用程序功能大体无误是非常有效的,这种模拟并不是很精确。始终存在这样的可能性,应用程序的动态与其在实际的接收机/解码器中的动态是不同的。由于这种情况,在本实施例中,如下文所述要在接收机/解码器上另外对应用程序进行测试。然而,使用模拟器并不是本发明的基本特征。对应用程序的测试和调试可以完全在接收机/解码器上进行,或是在接收机/解码器中结合另外的测试和/或调试系统进行。
测试一个应用程序的调试(debugging)终端在本发明的实施例中设有一个调试终端,能够在非常接近该应用程序在正常执行中的环境下对应用程序进行测试。这种环境不仅要提供相当于实际环境的硬件和软件,还要模仿对包括传送这种应用程序的可执行代码和数据的PID的广播信号的接收效果。为此可以在终端内提供一个比特流模拟器来模拟接收机/解码器从接收的广播信号中获取的数据流中有关的部分。
具体,比特流模拟器能够使Device MLOAD满足(或是实际上不能满足)RTE4008对数据的需求,就好象终端是在被测的应用程序已经通过的情况下接收广播信号一样。
为了起到测试终端的作用,必须对普通接收机/解码器的硬件和软件做少量的修改。硬件完全不必改动;尽管需要比接收机/解码器相关制造标准所规定的最小容量多一些的RAM许多现有的接收机/解码器都具有足够的额外RAM(出于接收机/解码器制造商对零件规格的经济性的考虑)。终端还必须具有一个串行端口,但是按照接收机/解码器的标准已经具备了。终端的软件与接收机/解码器产品中的软件基本上相同,为了模拟数据流专门做了适当的修改。
如上所述参见图7,在未经修改的接收机/解码器上运行的一个应用程序可以用运行时间引擎4008的一个专用接口发出一个请求。运行时间引擎还要从装置到一个应用程序306反方向传送信息。
具体针对MLOAD装置314的情况而言,应用程序向MLOAD装置314传送一个在MPEG表或片段中包含数据描述的一个请求302,说明从广播信号中请求什么。
MLOAD装置314则与硬件4061互动,使其扫描广播信号中满足具体要求的MPEG片段或是表,并在找到这种片段或表时(如果此时尚未到时),MLOAD装置314就将请求的数据304送回到应用程序306。
参见图8,软件的修改可以考虑在RTE4008与装置之间插入一个附加软件层300。用这一附加层监听在RTE4008与装置之间通过的数据。
在某些情况下,附加层300能够有效地从一个应用程序308向下级的装置316‘转发’并传送一个请求310。来自装置的响应也通过附加层300和RTE4008回送给应用程序308。
在其它情况下,附加层300自身对请求320产生一个响应322并通过RTE4008将响应送回应用程序306。这样,附加层300就起到一个能够与RTE4008通信的虚拟装置的作用,并且有效地旁路原先作为请求对象的装置。可以从附加层300能够访问的高速缓存器318获得这一响应306。
也可以由RTE4008本身或是系统的其它部分发出请求,在这种情况下仍然适用上述方法,唯一不同是响应被传送给发出请求的装置。
从开发者的角度来看,不考虑硬件和软件就无法进行具体的开发。
为了模拟一个比特流,如上所述对MLOAD Device加载的请求通过包括含有预先加载的表和片段的高速缓存器的一个本地处理器被转向。
这些表和片段可以对应着该应用程序已经被采用时出现在广播信号中的那些表和片段,但是在对应用程序进行开发和测试时不会出现在广播信号中。这一软件层300在终端中构成比特流模拟器。
具体实施是遵循以下的原理,并且如图9中所示。
在工作站1310一侧的‘比特流发生器’工具能够产生一种静止比特流,它被存储在终端1312的存储器1314中并且控制它的动态。比特流发生器1310在工作站上执行一个应用程序,通常包括与用户互动的一个图形用户接口。
应用程序允许用户选择要向终端下载的数据,为虚拟PID提供数据,并且能选择用来控制终端操作的参数,大概要选择以下的所有选项。
如果通信协议是已经定义的并且规定了数据库格式,就能如图10所示用一个PC1410代替工作站对应用程序执行其它的测试,或者是为了集中。在这种情况下,PC1410的角色包括装载(在工作站上产生的)静止比特流,并且利用一种特殊应用程序来管理测试程序。
以下给出具体的功能。
表和片段的产生可以用做‘比特流发生器’的一种工具能够产生供这种应用程序使用的MPEG片段和表。表和片段的集合构成存储在工作站上的一个数据库。这种数据可以用于其它工作。
有可能恢复由一个外部工具(例如是MkTab或MediaTab)产生的表或片段。可以使用格式转换工具。
比特流的静止结构虚拟转发器模拟比特流是以一或多个虚拟转发器的形式出现的。虚拟转发器与真实转发器具有相同的结构,但是可能仅仅支持MPEG表或片段。
在产生这种转发器时,开发者可以配置一些参数,例如有频率,极性等等。频率规定了一个特定的转发器。
在必要时(除非工具能够提供一些便利,例如是产生一个能够驱动产生并且更新这种表)定义用来描述一种虚拟转发器(NIT,PAT,PMT…)的表是开发者的任务。
虚拟PID在产生了转发器之后,PID的一种属性就是接收MPEG表和片段。必须预先规定一个转发器所具有的PID的数量。这一数量应该足以覆盖无法预先确定的额外对话期间可能出现的PID数量。虚拟PID按照它们在每个转发器中唯一的编号来识别。
硬件滤波器数量有可能规定可供同一PID使用的硬件滤波器的最大数量。可以用这种选择来建立一个应用程序。做这种选择是为更加精确地模拟MLOAD装置,并且反映出能够与真实MLOAD装置同时使用的硬件滤波器的数量。
表和片段的属性在定义好PID之后就能为它们赋予表和片段。可以为若干转发器的若干个PID赋予相同的表和片段。
一个PID所能包含的片段数量必须是预先规定的,这一数量应该足以覆盖无法预先确定的额外对话期间可能增加的片段数量。
转发器联合联合的重要性在于能够在同时使用覆盖真实数据流和虚拟数据流的数据广播。
一个虚拟转发器对应着可以调谐的一个虚拟频率。对于这种虚拟调谐而言,同时还可能将一个终端调谐到一个真实转发器上,有可能增加视频和音频等等,或是加载真实的表和片段,同时有将加载的表局限于虚拟转发器上。同样,如果调谐器是在一个真实频率上,还能通过联合来加载数据,不用来自真实的数据流,而是来自一个虚拟数据流。
在构成一个数据流的过程中有可能定义联合的一种集合·一个虚拟转发器联合一个真实转发器(仅仅是一对一),使一个虚拟转发器的虚拟PID有可能一个且仅仅是一个真实转发器的真实PID。
·一个真实转发器联合一个虚拟转发器(仅仅是一对一),使一个真实转发器的真实PID有可能一个且仅仅是一个虚拟转发器的虚拟PID。
在模拟情况下不能修改定义的联合,并且它们有以下的差别
·如果调谐频率是一个虚拟频率,它就是对应着一个真实转发器的虚拟转发器。如果对这一虚拟PID定义一种联合,就能在真实PID上执行下载。否则,加载的PID就是一个虚拟PID。
·如果调谐频率是一个真实频率,它就是对应着一个虚拟转发器的真实转发器。如果对这一真实PID定义一种联合,就能在虚拟PID上执行下载。否则,加载的PID就是一个真实PID。
‘真实-虚拟’和‘虚拟-真实’的联合是根据转发器的PID层次独立选择的。
‘真实-虚拟’联合这种联合是考虑到(应用户的请求)调谐到一个真实转发器的情况。如果有一个真实PID与虚拟PID的联合,则对加载的所有请求都是在虚拟转发器的有关PID中执行的,而不是象没有联合的情况下在真实PID中执行。
‘虚拟-真实’联合这种联合是考虑到(应用户的请求)调谐到一个虚拟转发器的情况。如果有一个虚拟PID与真实PID的联合,则对加载的所有请求都是在真实转发器的有关PID中执行的,而不是象没有联合的情况下由虚拟PID来执行。
虚拟优先权‘V优先权’标志在构成一个数据流的过程中还能为每个虚拟PID定义一个被称作虚拟优先权的加载优先权。它是通过设置一组VPRIORITY标志来指示的。如果出现至少一个MPEG片段并且与滤波标准有机地匹配,这一优先权就允许在虚拟PID上执行加载。如果不是就用真实PID执行加载。
换句话说,VPRIORITY是一种选择,在联合的情况下能够改进加载的规则。在具备联合的情况下使用PID加载的规则如下,可以试图用虚拟PID加载数据。如果没有联合,则尝试着由真实数据流加载,而不是产生一个TIME-OUT错误。
无论是调谐到真实转发器还是虚拟转发器,这种规则都是有效的。
如果定义了一种联合,就采纳虚拟优先权标志。
具体地说,按照这种联合,如果加载的最终PID是一个虚拟PID,并且如果这一PID的虚拟优先权标志是有效的
·如果出现至少一个MPEG片段并且与MLOAD指令中给定的滤波标准有机地匹配,就在虚拟PID上执行加载。如果出现至少一个MPEG片段并且与用于SDG片段的滤波标准有机地匹配,就执行请求一组MPEG片段的加载。
或是·在真实PID上执行加载或是·暂停加载(到时)如果在联合之后最终加载的PID是一个虚拟PID,且如果对这一PID的优先权标志无效·就在虚拟PID上执行加载或是·暂停加载(到时)与联合的情况相反,有可能使模拟进程中设置的优先权标志有效或是无效。
加载PID加载PID对应着加载有效时的PID。在以下的表1中表示了PID中包含的数据
表1在下载的数据中插入,删除和更换数据在数据流模拟中有可能·插入一个虚拟PID·插入,删除和更换MPEG表(表中的所有片段)·插入,删除和更换一个孤立的MPEG片段以下要进一步详述这些程序。
插入在当前和以后的加载中必须考虑到新插入和有效的虚拟PID,表或是片段。如果插入的虚拟PID,表或是片段是处在无效状态则不包括在内。
删除当前或未来加载的标志有‘删除’的MPEG表和MPEG片段被暂停。所有加载都会被废弃。对于没有被废弃的带非零到时值的加载,在加载的结尾会被贴上一个误差信息E_TIME_OUT。在高速缓存器中清空分配的存储缓冲器。
更换MPEG表或MPEG片段的更换包括删除要更换的数据并且插入更换数据。
加载一个MPEG片段对要加载的一个片段,该片段需要与MLOAD指令中给定的滤波标准匹配,还要求该片段的加载时间出现在发出MLOAD指令的时间与加载的到时时间(若不是零)之间。
为了满足此条件,在加载的虚拟PID的有效片段当中需要
·将片段的字节0和3到9与MLOAD指令的硬件滤波器标准(如果不是零)相比较·将片段的8个相邻字节与MLOAD指令的软件滤波器标准(如果不是零)相比较·对应着滤波器标准计算加载这一片段的时间。加载具有最小加载时间的那一片段。为此要对一个定时器编程来模拟片段的加载时间。
对于一个零值的硬件滤波器不能加载片段。
硬件滤波器硬件滤波器标准是由MLOAD指令中传送的值HARD_FILTER_VAL和HARD_FILTER_MSK组成的,如表2中所示0 1 2 3 45678 9
HARD_FILTER_VALHARD_FILTER_MSK表2滤波器HARD_FILTER_VAL的值表示在滤波器屏蔽分布HARD_FILTER_MSK中为每一位选定的预期值。例如是对字节0。
表3为了得知一个片段是否符合滤波器标准,需要对九个字节执行以下的操作MPEG Section Byte XNOR Byte HARD_FILTER_VAL=Result字节Result字节AND Byte HARD_FILTER_MSK=Result′字节Result′字节必须等于HARD_FILTER_MSK
例如
软件滤波器软件滤波器标准是由MLOAD指令中传送的SOFT_FILTER_VAL和SOFT_FILTER_MSK组成的。对于软件滤波器需要将相邻的8个字节与一个从该片段的字节0开始的偏移SOFT_FILTER_OFFSET相比较。只有在用硬件滤波器标准选定了一个片段并且SOFT_FILTER_MSK的值不是零时才执行对软件滤波器标准的比较。
软件滤波器的原理和硬件滤波器相同。
加载时间以下要参见图13来解释一种加载顺序。一个MLOAD请求出现在1710所指的时间T_MLOAD。在1712所指的时间T_Load加载这一片段。加载请求到时出现在1714所指的时间T_Time_Out。加载时间窗口如1716所指。如果到时值是零,这一窗口就是无限长。附加值有以ms代表片段的循环持续时间的T_Cycle,以及T_0是首次传输这一片段的时间。
为了从虚拟PID中找出哪个是要加载的第一有效MPEG片段,需要计算各自的加载时间,并且选择具有最短时间的那一片段。
其中T_Load=T_Cycle-(T_MLOOAD-T_0)MOD T_Cycle如果T_Time_Out不是零,若T_Load<T_Time_Out就能加载片段。
按照以下的加载时间模式如果“最佳”就立即加载选择的片段(T_Load=0)如果“最差”加载时间就等于选择片段的循环时间(T_Load-T_Cycle)如果“正常”就遵守片段的加载时间如果有可能还需从T_Load中减去片段的搜索时间,以便能更精确地得到片段加载时间。为T_Load要设置延迟;与延迟有关的事件复发就是该片段的加载时间。
对于MLOAD_SECTION_ALL,MLOAD_TABLE_LOAD和MLOAD_GROUP_LOAD等业务,需要在虚拟PID的所有有效片段当中再次查找与所要加载的第一片段,下一片段的加载有关的事件的复发,并且要设置一个新的延迟,而且有多少要加载的片段就要重复多少次。每次加载时查遍所有片段来搜索下一个要加载的片段,这样就能在可能加载的片段当中实现插入,删除,更换,有效和无效。
为了避免MLOAD事件的饱和,对以下业务不考虑“最佳”和“最差”模式MLOAD_SECTION_ALLMLOAD_GROUP_LOAD具有EVENT_MODE等于0x01(为各个加载的MPEG片段传送的MLOAD事件)的MLOAD_TABLE_LOAD在模拟过程中有可能修改循环时间,第一广播的时间,以及对一个孤立片段和表的加载模式。
到时对一个虚拟PID上的每一个加载请求,如果到时不是零,并且如果该业务不同于MLOAD_SECTION_ALL,就要为到时安排一个延迟。
与延迟有关的事件的复发相当于加载的到时暂停加载并将有关事件后延(E_TIME_OUT)。如果已经为加载一个片段安排了一个延迟,就要重新安排。
高速缓存器高速缓存器对应着不受操作系统管理的某些解码器中的一个辅助存储区。这一存储区被用来存储数据流。
高速缓存器是一种被划分成64字节存储块的缓冲器,可以将这种缓冲器平等划分成叫做‘低存储器’和‘高存储器’的两个区。
仅仅管理高速缓存器的自由空间,并且布置成被称为洞的自由块的一个目录。每个洞是由一个(64字节块)尺寸,对下一块的指针和有效空间组成的。洞被存储在存储器地址的前一级,而最后一个洞指向第一个。
在执行一个指令时,从头查找洞的目录直至找到一个足够大的洞(‘第一配合’方法)。如果洞的尺寸正合适,就将其从目录中提出(变成一个缓冲器)并将其地址送回。如果洞过大,就仅仅送回所需的尺寸而剩下的洞仍留在目录中。如果没有可用的洞,就送回一个分配误差。
如果高速缓存器被划分成两个存储区(低和高),则对于低存储器的分配是从第一洞直到两个区之间边界上的那一洞查找。对于高存储器的分配是从最后一洞向下直到两个区之间边界上的那一洞查找。
在清空一个缓冲器时,仍然要查遍洞的目录来得知插入新洞的位置。如果新洞紧挨着一个现有的洞,就将两个洞合并形成一个尺寸增大的洞并且缩小存储残片的范围。借助于洞的地址在目录中的上升次序有可能实现这种合并。
这样就形成了一个洞,并且将跟踪目录中的洞的一个指针和64字节成块的尺寸都编组在一个字头中。为了避免排列问题,这两片数据采用长类型(每个字头8字节)。
在着手第一次分配之前,首先需要调用一个init功能对高速缓存器进行初始化。然后调用一个功能malloc对存储器中的缓冲器进行分配,保留一个大于或是等于所请求尺寸的<n>块64字节的尺寸。调用一个功能free,在用malloc进行分配之前清空一个缓冲器。调用malloc和free的次序是随意的。
高速存储器中缓冲器的结构在高速存储器中分配的一个缓冲器是这样构成的·由两个场构成的字头(供功能malloc和free使用)-第一场包含由malloc送回的存储器空间的地址-第二场包含存储器空间按64字节成块的尺寸·由malloc送回的存储器空间这种结构如表4中所示。 表4
高速存储器中一个洞的结构在高速存储器中的一个洞是由两部分构成的·由两个场构成的字头(供功能malloc和free使用)-第一场包含顺序洞的地址-第二场包含按64字节成块的洞的尺寸·自由存储器空间这种结构如表5中所示。 表5初始化功能Init要计算在缓冲器中有用的64字节块的数量,如果存储器是划分的,要一直计算到低存储器和高存储器的边界,最后建立的洞的目录只包含一个洞。对于比特流模拟器,高存储器是空的。仅仅使用低存储器(所有高速缓存器)。
Malloc功能malloc送回一个指针,它指示的一个缓冲器是由64字节的块构成的,其尺寸大于或等于理论上给出的尺寸。
对于一个分配请求,malloc要查遍洞的目录以确定足够大能包含这一缓冲器的第一洞(‘第一配合’方法)。从目录中去掉这个洞并且送回。如果洞过大,就要分割并且由这个洞的端部构成缓冲器;剩下的洞留在目录中。
由malloc送回的指针指示刚好在字头之后开始的存储器空间。
在分配低存储区的情况下,malloc要按地址递增的上升次序查遍洞的目录,直至存储区之间的边界。对于在高存储区中的分配,要按地址递减的下降次序查遍洞的目录,直至存储区之间的边界。
Free
功能free使下一次能够使用malloc功能,从理论上给出由块组成的缓冲器的地址(由malloc送回的地址)。
为了确认给定的地址就是在高速缓存器中分配的地址,需要从这一地址中减去字头的尺寸后指向字头,并且将这一字头的第一场与理论上给出的地址相比较。
清空一个缓冲器是指在洞的目录中搜索以便找出需要插入新洞的位置。如果这个洞刚好挨着另一个洞或是处在两个洞之间,就将这两,三个洞合并成一个洞。
使用TCS和TPT在采用(由Canal+SA提供的)Mediastart来开发应用程序的情况下,用户可以利用TSC(Table de Coordonnees de Service/ServiceCoordinates Table)和TPT(Table des Parametres deTuning/Tuning Parametres Table)的知识来实现转发器的联合。TCS是一种包括业务量和名称的专用表,而TPT是一种包括有关调谐数据的专用表。
使用PMTVPRIOITY选择能够将应用程序与广播数据分开。它的用处是在分析完PMT之后向比特流发生器传送有关数据类型的信息。
虚拟手册的结构按上文所述利用联合与VPRIOITY的组合就能加载虚拟应用程序模块(由一个虚拟数据流)和真实模块(对应的真实PID上的广播)。比特流发生器能产生一个手册,它包含参考的真实和虚拟模块。有可能混合广播和虚拟应用程序,用另外的虚拟版本代替真实的模块。
为了协助用户,要重新加载从真实PID上找到的手册以便利用其所包含的模块中的知识。
用工作站上提供的专用密钥核查新的虚拟手册。
动态数据流参数的定义TID,TID Ext有可能修改一个片段的TID和一个表的TID Ext(即表中片段的集合)。在选择表时指示出对应着加载的一个表(片段)的HardwareFilter Value的值。
Cycle Time
对组成数据流的每一个片段,以10ms时间单位赋予一个循环时间。比特流模拟器用这一数据作为MLOAD请求和有关到时的时间函数来确定能否加载这一片段。
对于一个表,如果它是符合规定模式(参见下文定义)的广播,就可以定义表的循环时间或是内部片段的时间。
Time of Frist Broadcast相对于数据流起点的时间零T0为每一个片段分配第一广播时间。时间原点T0对应着所开发软件的发射时间。图11的示意图表示其定时。
用户在第一时刻无法定义这一时间。采用一种更高级版本的工具就能将这一参数作为虚拟转发器上的数据的函数来计算。
‘Burst’或‘Regular’Mode对于表可以采用两种广播模式·图12A所示的Burst模式连续加载表中的所有片段。不需要等待一个完整的循环时间来加载表·图12B所示的Regular模式按照分配给表的循环时间的函数在时间上分割片段。在整个循环时间内按规则的间隔来加载一个表。
Actvation/Deactvation为转发器,PID,片段,表,和表片段提供有效/无效(允许/禁止)选择。
如果一个元素是有效的,就能‘看见’MLOAD指令。如果它是无效的就看不见而是出现在存储器中。这样就能使来自一个转发器,PID,表或是一个片段的数据流‘出现’或是‘隐藏’,而不一定要在工作站和终端之间传送数据。
如果一个元素是无效的,组成这一元素的所有元素也就都是无效的。优先权的次序如下--转发器-PID-不属于一个表的片段(短格式字头)-表-属于一个表的片段(长格式字头)
(在构成数据流时)可以固定设置这种选择,或者是在模拟对话过程中动态设置,如下所述。
虚拟转发器的Actvation和Deactvation当一个调谐的虚拟转发器从有效状态过渡到无效状态时,正在进行的加载和有关的转发器被暂停。所有的加载都可以废弃。对于还没有被废弃的具有非零到时的加载,在加载截止时加上一个误差信息E_TIME_OUT。
当一个调谐的虚拟转发器从无效状态过渡到有效状态时,暂停的加载就会恢复而变成有效的。
一个虚拟转发器的有效或无效不会影响连接到该转发器的PID,表或是片段的状态。
应该注意到使一个调谐的虚拟转发器变成无效能有效地模拟一种载波损失。同样,在无效状态下无法调谐到一个虚拟转发器。
虚拟PID的Actvation和Deactvation当一个调谐的虚拟PID从有效状态过渡到无效状态时,正在进行的任何加载和有关的PID被暂停。所有的加载都可以废弃。对于还没有被废弃的具有非零到时的加载,在加载截止时加上一个误差信息E_TIME_OUT。
当一个调谐的虚拟PID从无效状态过渡到有效状态时,暂停的加载就会恢复而变成有效的。
一个虚拟PID的有效或无效不会影响连接到该PID的表和孤立片段的状态。
一个MPEG表的Actvation和Deactvation当一个表处在无效状态,表片段不会被包括在下一步加载的表中。当一个表进入无效状态时,在当前或下一步加载表时必须考虑到表片段。所有加载都可以废弃。对于没有被废弃的带非零到时值的加载,在加载的结尾会被贴上一个误差信息E_TIME_OUT。
反之,若表变为有效,在当前或下一步加载表时就必须考虑到变为有效的表中的片段。
使一个MPEG表无效会造成表中所有的片段无效。如果表回到有效状态,这些片段就回到有效状态。
一个MPEG片段的Actvation和Deactvation
在当前和下一步加载中不会考虑无效的片段。所有加载都可以废弃。对于没有被废弃的带非零到时值的加载,在加载的结尾会被贴上一个误差信息E_TIME_OUT。
反之,若片段回到有效状态,在当前或下一步加载时就必须考虑它。
加载时间选择为了确认一个应用程序作为MLOAD Device响应时间函数的形态,有可能为表和片段单独模拟对应着一个循环时间或是一个中间加载的综合加载延迟这一例支持三种加载时间选择最佳立即加载表/片段正常在循环时间决定的延迟之后加载表/片段最差在一个循环时间之后加载表/片段‘最佳’和‘最差’模式仅仅对模=0的MLOAD_TABLE和MLOAD_SECTION有意义,只有对加载请求才需要考虑。
模拟模拟对话模拟对话自从工作站向终端下载数据流开始。在本实施例中有可能按顺序改变数据流(高速缓存的内容)而无需对终端采用RESET。在终端初始化时在真实MLOAD Device与比特流模拟器之间实现永久的同步。
比特流模拟器的初始化在接通电源或是打开解码器时,比特流模拟器对数据初始化。如果在初始化过程中有问题,对加载的所有请求就要由真实MLOADDevice来执行。
比特流模拟器的发射当数据流出现在高速缓存器中(下载完成)时,比特流模拟器就会被启动。否则就由真实MLOAD Device来执行所有加载请求。
MLOAD Device模拟MLOAD Device的所有指令。
TUNER Device调谐象真实比特流一样通过TUNER Device接入模拟比特流。在构成静止比特流时,用户可以规定对应着各个虚拟转发器的调谐参数。为了接入虚拟转发器只需要调谐到对应的参数。
在比特流没有预先被加载到高速缓存器的情况下,向应用程序送回一个载波损失信息。
扫描在比特流模拟过程中,如果请求扫描一个频带,各个模拟载波都会被作为该频带的起点,也就是在真实载波之前。由TUNER Device送回的参数是在构成静止数据流时定义的那些参数。
在本实施例中,开发者的任务是提供Mediastart所需的各种规格化的表(NIT,CIT...)。在另外的实施例中,系统会生成规格化的表,自动给出各种参数(信道名称等等)。
虚拟-真实联合在虚拟-真实联合的情况下,如果应用程序请求被调谐到一个虚拟频率,调谐器Device就被调谐到一个真实频率。
载波损失按照调谐器是否调谐到一个真实还是虚拟的转发器会出现与以下情况有关的形态如果TUNER是在与一个虚拟转发器联合的一个真实频率上,虚拟转发器就继承真实转发器的特性。
.真实转发器的载波损失-虚拟转发器被INACTIVE。在虚拟转发器上进行中的所有加载都到时.出现真实转发器的载波-虚拟转发器被ACTIVE。虚拟转发器上所有原先暂停并且尚未到时的加载都被恢复如果TUNER是在与一个真实转发器联合的一个虚拟频率上.虚拟载波的损失--所有正在进行的(虚拟)加载被暂停(等待或到时)。到来的加载被暂停。加载的PID始终是虚拟PID.出现虚拟载波--所有加载都被恢复.真实载波损失--在虚拟PID上执行所有请求的加载。可能的联合变成‘无效’·出现真实载波--可能的联合变成‘有效’虚拟AGC,BER
在终端被调谐到没有和一个真实转发器联合的一个虚拟转发器上的情况下,在模拟对话过程中可以从工作站来调节AGC(自动增益控制)和BER的值。如果虚拟转发器与一个真实转发器联合,虚拟AGC和BER就跟随真实转发器中相应的变化。模拟过程中数据流的变化可调节参数数据流特性的主要动态参数在模拟过程中是可以调节的·不属于一个表的循环时间·一个表的循环时间·符合规定模式的一个表的内部片段时间·表和片段的第一广播时间·表或片段的‘最佳/最差/正常’加载时间·转发器,PID,表或是片段(仅仅是属于一个表的那种片段的可调节参数)的有效/无效·一个表从BURST模式变成REGULAR模式·表或片段的增加/删除·转发器之间联合条件下的VPRIORITY选择·增加PID不可调节参数这些参数是唯独在产生数据流时定义的。
·转发器频率·转发器之间的联合·PID的值·片段TID·表的TID和TID Ext静止比特流中的变化在对话的结尾要询问用户是否想要对模拟过程中执行的静止比特流中的内容进行任何修改。如果是,下一次加载就会考虑到数据流在对话结束时的状态。如果用户不想修改内容,就恢复原始数据流。终端1312会报告业已被修改的元素。
定序器一个‘定序器’工具能够预先为数据流的改变编程(在模拟对话之外)。这样就能重放一个情节,并且精确地改变数据流。应用程序还能利用定序器精确地实时改变数据流。
与调试器的互动当终端和一个调试器配合使用时,可以在应用程序代码中插入一个断点。在这种情况下,数据流在断点处可以暂停。终端可以和调试器进行通信与其交换控制信号,例如是通过串行链路,通过网络,或是借助于网络代理商。如果数据流已经被暂停,就能从暂停的那一点或是数据流中在时间上相对于暂停的那一点提前或滞后的任一其他确定的点上重新启动数据流。
终端的操作在工作站发出数据流数据之后,终端一定要能独立地工作。应用程序所需的所有数据可以从广播信号或是从一个虚拟PID中获取。在后一种情况下,数据是从终端的内部高速缓存器中检索的。
应该理解以上对本发明的说明仅仅是举例,在本发明的范围内还可以修改。在说明书及其(适当的)权利要求和附图中披露的各种特征都能单独存在或是以任意的适当方式组合。
权利要求
1.一种测试方法,包括在接收机/解码器上模拟接收广播/发送信号中的数据。
2.按照权利要求1的方法,其特征是模拟是在接收机/解码器中执行的。
3.按照权利要求1或2的方法,其特征在于模拟是在接收机/解码器的控制下执行的。
4.一种操作接收机/解码器接收在发送信号中发送的数据并且/或是对其解码的方法,该方法包括以下步骤在接收机/解码器中模拟对这种发送信号的接收,产生模拟数据;并且除了发送这种模拟数据之外,还处理这种模拟数据。
5.按照前述任何一项权利要求的方法,其特征是模拟步骤包括在接收机/解码器中产生这种模拟数据的步骤。
6.按照前述任何一项权利要求的方法,其特征是该方法还包括在接收机/解码器之外产生这种模拟数据的步骤;并且模拟步骤包括以下步骤控制这种模拟数据的产生;并且接收产生的模拟数据。
7.按照前述任何一项权利要求的方法,其特征是将代表模拟的数据存储在接收机/解码器中。
8.按照前述任何一项权利要求的方法,其特征是进一步包括从一个工作站向接收机/解码器传送代表模拟的数据的步骤。
9.按照权利要求8的方法,其特征是每次只将代表模拟的一部分数据传送给接收机/解码器。
10.按照权利要求5到9之一的方法,其特征是产生步骤利用这种发送信号的一个模型。
11.按照权利要求10的方法,其特征是该模型包括至少一个参数。
12.按照权利要求11的方法,其特征是这至少一个参数是这种发送信号中的数据的数据定时的一种表示。
13.按照权利要求11或12的方法,其特征是这至少一个参数是在这种发送信号中循环发送数据的循环周期(tCYC)的一种表示。
14.按照权利要求11到13之一的方法,其特征是这至少一个参数是这种发送信号的噪声性质的一种表示。
15.按照权利要求11到14之一的方法,其特征是这至少一个参数是有关这种发送信号中的数据的修改。
16.按照权利要求11到15之一的方法,其特征是包括改变至少一个上述参数的步骤。
17.按照权利要求11到16之一的方法,其特征是包括多次改变至少一个上述参数的步骤。
18.按照权利要求11到17之一的方法,其特征是包括在开始模拟步骤之后的预定时间改变至少一个上述参数的步骤。
19.按照权利要求11到18之一的方法,其特征是由一个外部源改变至少一个上述参数。
20.按照前述任何一项权利要求的方法,其特征是包括以下步骤在接收机/解码器中执行一个程序,发出对数据的请求;并且响应这一请求为程序提供这种模拟数据而不是发送的数据。
21.按照权利要求20的方法,其特征是进一步包括以下步骤在发出请求的时间(TMLOAD)之后按特定的延迟周期延迟为程序提供模拟数据。
22.按照从属于权利要求13的权利要求21的方法,其特征是延迟周期tLOAD是按照tLOAD=tCYC-((TMLOAD-T0)mod tCYC)来确定的,其中的T0是循环开始的时间。
23.按照前述任何一项权利要求的方法,其特征是模拟步骤是在接收机/解码器中的装置驱动器级和应用程序级之间的一个软件级执行的。
24.按照前述任何一项权利要求的方法,其特征是包括以下步骤从发送的信号中接收发送的数据;并且确定是否在处理步骤中处理这种发送的数据或是这种模拟数据。
25.按照前述任何一项权利要求的方法,其特征是在模拟步骤中模拟从多个转发器接收发送的数据。
26.按照前述任何一项权利要求的方法,其特征是进一步包括冻结模拟步骤的步骤。
27.一种接收机/解码器包括在接收机/解码器上模拟接收广播/发送信号中的数据的装置。
28.一种用于接收发送信号中发送的数据并且/或是对其解码的接收机/解码器,包括在接收机/解码器中模拟接收这种发送的数据而产生模拟数据的装置;以及还用来处理这种模拟数据,或是更换这种模拟数据的装置。
29.按照权利要求27或28的接收机/解码器,其特征是模拟装置包括在接收机/解码器中产生模拟数据的装置。
30.按照权利要求27到29之一的接收机/解码器,其特征是进一步包括在接收机/解码器以外产生模拟数据的装置;并且该模拟装置还包括用于控制模拟数据的产生的装置;以及接收所产生的模拟数据的装置。
31.按照权利要求27到30之一的接收机/解码器,其特征是进一步包括一个装置,用于存储代表在接收机/解码器中的模拟的数据。
32.按照权利要求27到31之一的接收机/解码器,其特征是进一步包括一个装置,用于从工作站向接收机/解码器传送代表模拟的数据。
33.按照权利要求32的接收机/解码器,其特征是用于传送数据的装置适合在任一时间仅传送一部分数据。
34.按照权利要求29到33之一的接收机/解码器,其特征是产生装置适合利用这种发送信号的一个模型。
35.按照权利要求34的接收机/解码器,其特征是该模型包括至少一个参数。
36.按照权利要求35的接收机/解码器,其特征是这至少一个参数代表发送信号中的数据的数据定时。
37.按照权利要求35或36的接收机/解码器,其特征是这至少一个参数代表在发送信号中循环发送的数据的循环周期(tCYC)。
38.按照权利要求35到37之一的接收机/解码器,其特征是这至少一个参数代表发送信号的噪声特性。
39.按照权利要求35到38之一的接收机/解码器,其特征是这至少一个参数涉及到发送信号中的数据的修改。
40.按照权利要求35到39之一的接收机/解码器,其特征是还包括用来改变至少一个参数的装置。
41.按照权利要求40的接收机/解码器,其特征是用来改变至少一个参数的装置适合多次改变这至少一个参数。
42.按照权利要求40或41的接收机/解码器,其特征是用来改变至少一个参数的装置适合在模拟开始后的预定时间改变这至少一个参数。
43.按照权利要求35到42之一的接收机/解码器,其特征是进一步包括在接收机/解码器外部改变至少一个参数的装置。
44.按照权利要求27到43之一的接收机/解码器,其特征是进一步包括在接收机/解码器中执行一个程序对数据发出请求的装置;以及响应这一请求为程序提供模拟的数据而不是发送的数据的装置。
45.按照权利要求44的接收机/解码器,其特征是进一步包括在发出请求的时间(TMLOAD)之后按特定的延迟周期延迟为程序提供模拟数据的装置。
46.按照从属于权利要求37的权利要求45的接收机/解码器,其特征是延迟周期tAOAD是按照tLOAD=tCYC-((TMLOAD-T0)mod tCYC)来确定的,其中的T0是循环开始的时间。
47.按照权利要求27到46之一的接收机/解码器,其特征是模拟装置适合在接收机/解码器中的装置驱动器级和应用程序级之间的一个软件级执行。
48.按照权利要求27到47之一的接收机/解码器,其特征是进一步包括接收发送信号中的发送数据的装置;以及用来确定是否在处理步骤中处理这种发送的数据或是这种模拟数据的装置。
49.按照权利要求27到48之一的接收机/解码器,其特征是模拟装置能够模拟从多个转发器上接收发送的数据。
50.按照权利要求27到49之一的接收机/解码器,其特征是进一步包括用于冻结模拟的装置。
51.一种接收机/解码器包括一个处理器和有关的存储器,适合执行权利要求1到26之一的方法。
52.一种接收机/解码器包括一个处理器和有关的存储器,适合模拟在接收机/解码器中接收广播信号中的数据。
53.一种用来接收在发送信号中发送的数据并且/或是对其解码的接收机/解码器,接收机/解码器包括一个处理器和有关的存储器,适合模拟在接收机/解码器中接收发送的数据而产生模拟数据,并且处理这种模拟数据,或是更换这种发送的数据。
54.按照权利要求52或53的接收机/解码器,其特征是还适合在接收机/解码器中产生模拟数据。
55.按照权利要求52到54之一的接收机/解码器,其特征是还适合在接收机/解码器外部产生模拟数据,控制模拟数据的产生,以及接收所产生的模拟数据。
56.按照权利要求52到55之一的接收机/解码器,其特征是还适合在接收机/解码器中存储代表模拟的数据。
57.按照权利要求52到56之一的接收机/解码器,其特征是还适合从工作站向接收机/解码器传送代表模拟的数据。
58.按照权利要求57的接收机/解码器,其特征是还适合在任何时间仅传送一部分数据。
59.按照权利要求53到58之一的接收机/解码器,其特征是还适合利用发送信号的一个模型。
60.按照权利要求59的接收机/解码器,其特征是该模型包括至少一个参数。
61.按照权利要求60的接收机/解码器,其特征是这至少一个参数代表发送信号中的数据的数据定时。
62.按照权利要求60或61的接收机/解码器,其特征是这至少一个参数代表在发送信号中循环发送的数据的循环周期(tCYC)。
63.按照权利要求60到62之一的接收机/解码器,其特征是这至少一个参数代表发送信号的噪声特性。
64.按照权利要求60到63之一的接收机/解码器,其特征是这至少一个参数涉及到发送信号中的数据的修改。
65.按照权利要求60到64之一的接收机/解码器,其特征是还适合改变这至少一个参数。
66.按照权利要求65的接收机/解码器,其特征是还适合多次改变这至少一个参数。
67.按照权利要求65或66的接收机/解码器,其特征是还适合在模拟开始之后的预定时间改变这至少一个参数。
68.按照权利要求60到67之一的接收机/解码器,其特征是为接收机/解码器配合提供一个外部装置,该装置适合改变至少一个参数。
69.按照权利要求52到68之一的接收机/解码器,其特征是还适合在接收机/解码器中执行一个程序,发出对数据的请求,并且响应这一请求为程序提供这种模拟数据而不是发送的数据。
70.按照权利要求69的接收机/解码器,其特征是还适合在发出请求的时间(TMLOAD)之后按特定的延迟周期延迟为程序提供模拟数据。
71.按照从属于权利要求62的权利要求70的接收机/解码器,其特征是延迟周期tLOAD是按照tLOAD=tCYC-((TML0AD-T0)mod tCYC)来确定的,其中的T0是循环开始的时间。
72.按照权利要求52到71之一的接收机/解码器,其特征是还适合在接收机/解码器中的装置驱动器级和应用程序级之间的一个软件级执行这种模拟。
73.按照权利要求52到72之一的接收机/解码器,其特征是还适合接收在发送信号中发送的数据;并且确定是否在处理步骤中处理这种发送的数据或是这种模拟数据。
74.按照权利要求52到73之一的接收机/解码器,其特征是还适合模拟从多个转发器上接收发送的数据。
75.按照权利要求52到74之一的接收机/解码器,其特征是还适合冻结模拟。
76一种接收机/解码器,其特征是具有执行权利要求1到26之一的方法的装置。
77.一种计算机程序产品,它适合模拟在接收机/解码器上接收广播/发送信号中的数据。
78.按照权利要求77的计算机程序产品,其特征是还适合由接收机/解码器中的一个处理器来执行。
79.一种用来操作接收机/解码器接收在发送信号中发送的数据并且/或是对其解码的计算机程序产品,该计算机程序产品适合模拟在接收机/解码器上接收这种发送的数据而产生模拟数据;并且处理这种模拟数据,或是更换这种发送的数据。
80.按照权利要求77到79之一的计算机程序产品,其特征是还适合在接收机/解码器中产生模拟数据。
81.按照权利要求77到80之一的计算机程序产品,其特征是还适合在接收机/解码器外部控制这种模拟数据的产生;以及接收产生的模拟数据。
82.按照权利要求77到81之一的计算机程序产品,其特征是组合了代表模拟的数据。
83.按照权利要求77到82之一的计算机程序产品,其特征是还适合从工作站向接收机/解码器传送代表模拟的数据。
84.按照权利要求83的计算机程序产品,其特征是还适合在任何时间仅向接收机/解码器传送一部分代表模拟的数据。
85.按照权利要求80到84之一的计算机程序产品,其特征是还适合利用发送信号的一个模型。
86.按照权利要求85的计算机程序产品,其特征是该模型包括至少一个参数。
87.按照权利要求86的计算机程序产品,其特征是这至少一个参数代表发送信号中的数据的数据定时。
88.按照权利要求86或87的计算机程序产品,其特征是这至少一个参数代表在发送信号中循环发送的数据的循环周期(tCYC)。
89.按照权利要求86到88之一的计算机程序产品,其特征是这至少一个参数代表发送信号的噪声特性。
90.按照权利要求86到89之一的计算机程序产品,其特征是这至少一个参数涉及到发送信号中的数据的修改。
91.按照权利要求86到90之一的计算机程序产品,其特征是还适合改变这至少一个参数。
92.按照权利要求86到91之一的计算机程序产品,其特征是还适合多次改变这至少一个参数。
93.按照权利要求86到92之一的计算机程序产品,其特征是还适合在模拟开始后的预定时间改变这至少一个参数。
94.按照权利要求86到93之一的计算机程序产品,其特征是还适合接收一个外部指令来改变至少一个参数。
95.按照权利要求77到94之一的计算机程序产品,其特征是还适合从接收机/解码器中的一个程序接收对数据的请求;并且响应这一请求为该程序提供这种模拟数据而不是发送的数据。
96.按照权利要求95的计算机程序产品,其特征是还适合在发出请求的时间(TMLOAD)之后按特定的延迟周期延迟为该程序提供模拟数据。
97.按照从属于权利要求88的权利要求96的计算机程序产品,其特征是按照tLOAD=tCYC-((TMLOAD-T0)mod tCYC)来确定延迟周期tLOAD,其中的T0是循环开始的时间。
98.按照权利要求77到97之一的计算机程序产品,其特征是还适合在接收机/解码器中的装置驱动器级和应用程序级之间的一个软件级执行这种模拟。
99.按照权利要求77到98之一的计算机程序产品,其特征是还适合接收在发送信号中发送的数据;并且确定是否在处理步骤中处理这种发送的数据或是这种模拟数据。
100.按照权利要求77到99之一的计算机程序产品,其特征是还适合模拟从多个转发器上接收发送的数据。
101.按照权利要求77到100之一的计算机程序产品,其特征是还适合冻结模拟。
102.一种使用接收机/解码器接收在发送信号中发送的数据并且/或是对其解码的模拟方法,该方法包括产生这种信号的模型的步骤。
103.按照权利要求102的模拟方法,其特征是在以后对广播信号的模拟中采用这种模型。
104.按照权利要求102或103的模拟方法,其特征是该产生步骤由一个工作站来执行,并且还包括由工作站向接收机/解码器提供所产生的模型的步骤。
105.一种工作站,具有执行权利要求102到104之一的方法的装置。
106.一种测试方法,包括在接收机/解码器上接收广播信号模型的至少一个参数。
107.一种接收机/解码器,具有在接收机/解码器上接收广播信号模型的装置。
108.一种广播系统的测试装置,包括具有产生广播信号模型的装置的一个工作站;和一个接收机/解码器,具有用来模拟在接收机/解码器上接收广播信号中的数据的装置,和/或用来在接收机/解码器上接收广播信号的模型。
109.一种广播系统的测试装置,包括权利要求105的工作站和权利要求27到51之一的接收机/解码器。
110.用来执行权利要求1到26和102到104之一的方法的一种计算机程序。
111.一种计算机程序产品,在上面存储有广播信号的模型。
112.一种用来执行权利要求1到26和102到104之一的方法的计算机程序产品。
113.一种计算机可读介质,在上面存储有用来执行权利要求1到26和102到104之一的方法的程序。
114.一种计算机可读介质,在上面存储有权利要求77到101之一的计算机程序产品。
115.一种实际体现如权利要求77到101之一所述的计算机程序产品的信号。
116.一种数据流模拟器。
117.一种基本上如按照附图中所示来描述的装置。
118.一种基本上如按照附图5,6,9到13中所示来描述的工作站。
119.一种基本上如按照附图1到5和8到13中所示来描述的接收机/解码器。
120.一种基本上如按照附图8到13中所示来描述的方法。
全文摘要
一种(例如是数字电视机的)接收机/解码器,正常接收在正常发送的信号中发送的数据和/或对其解码。为了测试一种在接收机/解码器上运行的应用程序,可以产生一个专用测试信号,或是可以在提供给接收机/解码器之前修改一个正常的信号。然而这样做复杂而且昂贵。为了克服这些问题,用接收机/解码器模拟接收这种发送的数据来产生模拟数据;由待测试的应用程序另外处理这种模拟数据或者是代替发送的数据。模拟中包含在接收机/解码器中产生模拟数据,或是由一个工作站控制模拟数据的产生,并且从工作站接收模拟数据。数据产生可以采用发送信号的一个模型,该模型具有可以改变的各种参数。代表模拟的数据可以存储在接收机/解码器中,和/或由工作站按照需求分各部分传送给接收机/解码器。
文档编号H04N17/00GK1435058SQ01810835
公开日2003年8月6日 申请日期2001年4月6日 优先权日2000年4月7日
发明者J-C·萨尔法蒂, E·德洛奈, A·埃尔奥马里, O·皮卡德, A·康塞尔 申请人:卡纳尔技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1