CN1242605C - 接收器/解码器及其广播系统 - Google Patents

接收器/解码器及其广播系统 Download PDF

Info

Publication number
CN1242605C
CN1242605C CNB998066524A CN99806652A CN1242605C CN 1242605 C CN1242605 C CN 1242605C CN B998066524 A CNB998066524 A CN B998066524A CN 99806652 A CN99806652 A CN 99806652A CN 1242605 C CN1242605 C CN 1242605C
Authority
CN
China
Prior art keywords
message
fifo
receiver
decoder
buffer
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 - Fee Related
Application number
CNB998066524A
Other languages
English (en)
Other versions
CN1303566A (zh
Inventor
J·梅里克
C·德克莱尔克
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 CN1303566A publication Critical patent/CN1303566A/zh
Application granted granted Critical
Publication of CN1242605C publication Critical patent/CN1242605C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/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
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Communication Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Channel Selection Circuits, Automatic Tuning Circuits (AREA)

Abstract

一个设备管理模块(11)被特别用于广播数字电视系统的接收器/解码器中,在该系统中接收信号被通过一个接收器传送到该接收器/解码器,然后再传送到电视机。该模块(11)将输入消息从端口单元(10)传送到应用程序模块(12)。一个存储器(13)被连接到该单元(11),该存储器(13)具有缓存区(13-B)和FIFO区(13-F),它们分别受缓存控制器/处理器和FIFO控制器/处理器的控制,输入消息可以被传送通过缓存器,并且可以被它所要被引向的应用程序从缓存器中检索出来,有两个不同的操作模式可用于此目的。或者,这样的消息可以被传送给FIFO,该FIFO管理器可以起低级别应用程序的作用,它可将该消息传送到高级应用程序而无需该应用程序采取任何动作和等待接收到整个消息。通过该FIFO的消息可以组合成为MPEG信号流。

Description

接收器/解码器及其广播系统
技术领域
本发明涉及接收器/解码器,并且具体涉及接收器/解码器中的存储器管理和数据传递。本发明在应用程序与物理设备的接口中有具体的应用。
背景技术
在本文所用的术语“接收器/解码器”中,所指的是这样的接收器,它用于接收可由某些其它设备广播或传送的、例如是电视和/或无线信号的编码或未编码信号。该术语还指这样的解码器,它用于对接收到的信号进行解码。这种接收器/解码器的实施例可包括例如“机顶盒”中与接收器形成整体的、用于对接收到的信号进行解码的解码器,这种解码器可与在物理上独立的接收器结合起来起作用,或者,这种解码器包括诸如web浏览器、录像机或电视之类的其它功能。
在广播数字电视系统中,将接收到的信号传给接收器/解码器,从而传给电视机。正如本文所使用的那样,术语“数字电视系统”例如包括任何卫星、陆地、电缆和其它系统。接收器/解码器将压缩的MPEG型信号解码成用于电视机的电视信号。这可以通过接收器/解码器上的接口而由手持遥控器控制。接收器/解码器用于处理输入的位流并包括多个应用程序模块,这些模块可使得接收器/解码器执行多种控制和其它功能。
这种接收器/解码器可使多个设备与之相连,诸如:用户的读卡器,它用于使授权卡得以通过,以便确认将什么样的服务授权给用户使用;手持式接收器控制棒;视频显示器;以及,第二读卡器,它可供银行卡使用,以使得用户执行家庭银行功能。接收器/解码器还可以使多种端口与之相连,例如使用于接入因特网并用于执行家庭银行事务的调制解调器与之相连。
业已提出了使得接收器/解码器有与诸如调制解调器、串行信道、并行信道、MPEG(压缩和编码的视频信号)信道、柄式卡(swipecard)读卡器等之类的多个不同端口相连的能力。所述接收器/解码器包括一虚拟机,它包括一个运行时间引擎。所述虚拟机与设备管理器相连,设备管理器则通过设备和设备驱动器与各个信道的物理接口相连。
本发明具体涉及这样一种接收器/解码器,它具有一个或多个应用程序模块,这些应用程序模块与一个或多个端口或设备相连,通过这些端口或设备可将信息传给或传自上述应用程序模块。
一般地说,所述多个端口例如在数据速率方面有不同的特征(从用于手持式接收器控制棒的几个bps(每秒位)到MPEG位流的数兆bps)。所以,通常提供一个设备管理模块,它能实际构成应用程序模块与端口之间的接口。这就能简化应用程序模块。
在应用程序模块要发送信息时,该模块通常能根据接收器/解码器中的状态来控制传输速率和其它参数。但是,就信息的接收而言,传输速率通常取决于外部条件。所以,为了避免信息丢失,设备管理模块通常包括缓存结构,从而将输入信息存入一缓存器,直至接收的应用程序模块准备好了接受信息。
所述设备管理模块通常设计成能限定或指定多个缓存器,从而使得应用程序模块、设备管理模块与端口之间有灵活的通信结构。
在接收器/解码器中进行缓存的基本原理是:将存储器中的一个存储器段指定为缓存器。将来自端口的输入数据放进该缓存器,应用程序模块从该缓存器中读出信息。依照环境的不同,可将缓存器的大小选定为大得足以包容最多或所有的输入消息,或者,所述缓存器可借助两个指针周期性地进行操作,一个指针用于这样的位置,在该位置处,将新输入的数据写进缓存器,另一个指针用于这样的位置,在该位置处,从缓存器中读出所存储的数据。设备之间的独立通信是不可能的,所述系统可能会在某些情况下不作响应,因为,在可将数据从缓存器中读至另一个端口之前需用一个端口来填充缓存器。
发明内容
本发明的主要目的是提供上述类型系统中的改进的消息处理结构。
因此,本发明提供了一种接收器/解码器,它包括:
至少一个端口,用于接收消息;
一个存储器,包括FIFO(先进先出)段;
至少一个应用程序模块;
FIFO控制装置,耦合到每个端口、所述存储器和每个应用程序模块,用于响应在一个端口处出现的消息而操作,以便将所述消息写进所述存储器的FIFO段并将所述消息从存储器的FIFO段中读出至一个应用程序模块或另一个端口。
具体地,本发明提供一种接收器/解码器,包括:至少一个端口,用于接收消息;至少一个应用程序模块;包括缓存段的存储器,出现在端口上的消息被写入缓存段,并且在完成该消息的写入之后,该消息被从缓存段中读出到应用程序模块,以响应来自应用程序模块的控制信号,其特征在于,该存储器还包括FIFO段和FIFO控制装置;所述FIFO控制装置耦合到该端口或每个端口、该存储器和该应用程序模块或每个应用程序模块,并用于响应出现在端口上的消息,将该消息写入FIFO段,并将该消息从FIFO段读出到应用程序模块或读出到另一端口(10),而无需等待完成该消息的写入,由此能够根据应用程序模块的需要,将在端口上接收的消息读出到另一端口而无需等待完成该消息的写入,或者在完成该消息的写入之后或无需等待完成该消息的写入而将该消息读出到应用程序模块。
本发明还提供一种广播系统,包括前述的接收器/解码器,以及用于传送消息到该接收器/解码器的装置。
这能允许在对应用程序模块的操作有最小限度的影响的情况下有效地将输入消息传给应用程序模块。与先有的缓存系统不同,数据传输是在FIFO控制装置或FIFO控制器的控制下而不是在应用程序的控制下进行。
FIFO控制装置最好设置成在消息接收结束之前开始将消息从存储器的FIFO段中读出至所述应用程序或所述另一个端口。通过这种方式,可以保持从一个端口或设备到另一个端口或设备的连续的数据流。例如,接收自MPEG源设备的数据可在没有来自应用程序的任何输入的情况下直接流进视频设备。
FIFO控制装置可被设置成能刷新(flush)来自FIFO段的消息。这就能在FIFO段溢出的情况下对要加以保持的信息流进行处理。
FIFO控制装置最好包括占用检测器装置或一个占用检测器,以便检测FIFO的占用状态。占用检测器可检测FIFO的溢出和下溢,并还可检测FIFO的即将到来的溢出和下溢的至少一个阈值。这就能使得FIFO控制器将适当的控制消息发送给FIFO段所接收的消息的源和/或发送给FIFO段所接收的消息的目的地。
FIFO段可包括多个FIFO缓存器,FIFO控制装置可包括多个相应的FIFO寄存器控制装置或FIFO寄存器控制器。
所述存储器可还包括一个缓存段,所述接收器/解码器还包括缓存器控制装置或缓存器控制器,它可响应端口处出现的消息进行操作以便将消息写进存储器的缓存段,并响应来自应用程序模块的控制信号进行操作以便将消息从缓存器中读至应用程序模块。这就能例如使得应用程序去根据消息的特性确定将接收到的消息存入FIFO段还是存入缓存段。
缓存段可包括两个缓存区,它们是由缓存器控制装置中的相应缓存寄存器限定的。这就能使得缓存器控制器在上述两个缓存区之间切换消息。
缓存器控制装置可按位流模式进行操作,在所述位流模式中,将输入的位流引导到当前选定的缓存区,然后在各缓存区依次被充满时在这两个缓存区之间切换上述位流。缓存器控制装置还可按数据报模式进行操作,在所述数据报模式中,将输入的消息的长度与当前选定的缓存区中的自由空间相比较,如果该空间小于消息的长度,则选定另一个缓存区。
所述接收器/解码器还包括一个视频设备应用程序单元,它自FIFO段接受馈送的信号并向一个视频芯片单元馈送信号,该视频芯片单元还被馈送一个视频位流。
本发明还可扩展至一种广播系统,该广播系统包括如前所述的接收器/解码器以及用于将消息传给该接收器/解码器的装置。
可用硬件(例如用专用集成电路)来实现接收器/解码器的各种功能,这就能提高操作速度。但是,最佳的是,至少某些功能是用软件实现的,所述软件最好由运行应用程序的处理装置来运行,这就能有更大的灵活性、需要较少的部件并能更容易地更新接收器/解码器。
附图说明
以下参照附图以举例的方式说明体现本发明的接收器/解码器,在附图中:
图1是接收器/解码器的接口的概略图;
图2是接收器/解码器的功能框图;
图3是接收器/解码器中消息管理系统的简化框图;
图3A是所述消息管理系统的详细框图,它示出了缓存器子系统;
图3B是所述消息管理系统的详细框图,它示出了FIFO子系统;
图4A是缓存寄存器单元的简化图;
图4B是FIFO寄存器单元的简化图;以及
图5是示出了消息管理系统如何与主MPEG位流进行交互的框图。
具体实施方式
参照图1,概略地示出了一个供数字交互式电视系统使用的接收器/解码器2020或机顶盒。在我们共同未决的申请PCT/EP97/02106-02117号中可找到适当的数字交互式电视系统的细节,本文引用了上述申请的内容。为了使于参照,通常用这些说明书中所使用的标号来表示这些说明书中详细说明的部件。
正如上述说明书中详细说明的那样,参照图1和2,接收器/解码器2020包括若干个部件,具体地说包括:一个调谐器4028,它用于MPEG信号流;一个串行接口4030;一个并行接口4032;以及,两个读卡器,一个用于构成了所述系统一部分的智能卡(smartcard),一个用于银行卡(用于付费、家庭银行业务等)。接收器/解码器还包括一个通向带调制解调器的反向信道4002的接口4032,所述反向信道通往电视信号制作者,因此,用户可将他的喜好等指示给电视信号(节目)制作者。接收器/解码器还包括一个运行时间引擎4008、一个设备管理器4086以及多个设备4062和设备驱动器4060,它们用于运行一个或多个应用程序4056。
在本说明中,应用程序是一段计算机代码,它用于对最好是接收器/解码器2020的高层功能进行控制。例如,当终端用户将遥控器的焦点对准电视机2022的屏幕上看到的按钮对象并按下确认键时,就运行与该按钮相关的指令序列。
交互式应用程序按终端用户请求而提供菜单并执行命令,而且提供与应用程序的目的有关的数据。应用程序可以是常驻应用程序即被存储在接收器/解码器2020的ROM(或快闪或其它非易失性存储器)之内,也可以被广播和下载至接收器/解码器2020的RAM或快闪存储器内。
应用程序还可存储在接收器/解码器2020中的存储器存储单元内并被表示为资源文件。如上述专利说明书中详细说明的那样,资源文件包括图形对象说明单元文件、变量块单元文件、指令序列文件、应用程序文件以及数据文件。
接收器/解码器包含有存储器,它被分成RAM部、快闪部以及ROM部,但是,这种物理组织有别于逻辑组织。所述存储器还被分成与各接口相关的存储器部。从一个角度来看,所述存储器可被看作是硬件的一部分,从另一个角度来看,所述存储器可被看作是支持或包含被以独立于硬件方式示出的整个系统。
所述接收器/解码器可被看作是位于运行时间引擎4008的中心,所述引擎构成了虚拟机4007的一部分。虚拟机一侧(“高层”侧)与应用程序相连,另一侧(“低层”侧)通过各种下述中间逻辑单元与接收器/解码器硬件4061相连。接收器/解码器硬件可被看作是包括如上所述的多个端口(用于手持装置2026的接口2030、MPEG流接口4028、串行接口4030、并行接口4032、与读卡器4036的接口以及通向带调制解调器的反向信道4002的接口)。
具体参照图2,各种应用程序4056与虚拟机4007相连,某些更通用的应用程序可或多或少地永久驻留于系统内,如标号4057所示,而其它的应用程序则可按需例如从MPEG数据流或从其它端口下载至系统。
除运行时间引擎4008以外,虚拟机4007还包括某些常驻库函数4006,它们包括一工具箱4058。所说的库包含有多种C语言的函数,它们被引擎4008所使用。这些函数包括诸如压缩、扩展或比较数据结构、画线等之类的数据操作。库4006还包括与接收器/解码器2020中固件有关的信息,如硬件和软件版本号与可用的RAM空间以及在下载新设备4062时使用的函数。可将函数下载至库内,以便存入快闪或RAM存储器。
运行时间引擎4008与设备管理器4068相连,设备管理器4068与一组设备4062相连,设备4062与设备驱动器4060相连,设备驱动器4060则与端口或接口相连。广义地说,设备驱动器可被看作是限定了逻辑接口,因此,两个不同的设备驱动器可与一共用的物理端口相连。一个设备通常与一个以上的设备驱动器相连,如果一个设备与一个单个的设备驱动器相连,则该设备通常被设计成包括通信所需的全部功能,因此,可免除对单独的设备驱动器的需要。某些设备可在它们自身之间进行通信。
正如以下说明的那样,从设备4026至运行时间引擎之间有3种通信形式:通过变量进行通信、通过缓存器进行通信、以及通过被传给一组事件队列的事件进行通信。
接收器/解码器2020的每个功能都被表示为一个设备4062。设备可以是本地的,也可以是远程的。本地设备4064包括智能卡、SCART连接器信号器、调制解调器、串行和并行接口、MPEG视频和音频播放器以及MPEG段和表抽取器。在远程位置上执行的远程设备4060在以下方面不同于本地设备:端口和过程必须由系统管理机构或设计者来限定,而不是由接收器/解码器制造者所提供和设计的设备及设备驱动器来限定。
运行时间引擎4008在微处理器和共用应用程序编程接口的控制下运行。微处理器和共用应用程序编程接口被安装在每个接收器/解码器2020内,因此,从应用程序的角度看,所有的接收器/解码器2020都是相同的。
引擎4008运行接收器/解码器2020上的应用程序4056。该引擎可执行应用程序4056并接收来自接收器/解码器外部的事件、显示图形和文本、调用用于服务的设备、并使用与引擎4008相连的用于特定计算的库4058的函数。
运行时间引擎4008是安装在各接收器/解码器2020中的可执行代码并且包括一用于解释和运行应用程序的解释器。引擎4008适用于包括单任务操作系统(如MS-DOS)在内的任何操作系统。引擎4008是以进程排序器单元(它可接收诸如按下按键之类的多种事件以执行多种动作)为基础的,并且包含有自己的调度器以便对来自不同硬件接口的事件队列进行管理。引擎4008还对图形和文本的显示进行管理。进程排序器单元包括一组动作组。每个事件都会使得上述进程排序器单元根据该事件的特征从当前的动作组移至另一个动作组,并执行该新动作组的动作。
引擎4008包括一代码装载器,以便将应用程序4056装载和下载至接收器/解码器存储器。仅将必要的代码装载进RAM或快闪存储器,以确保能最佳地进行使用。用鉴别机制来检验所下载的数据,以防止对应用程序4056作任何的修改或执行任何不合法的应用程序。引擎4008还包括一个解压缩器。由于为了节约空间以及从MPEG流中进行快速下载或通过内置式接收器/解码器模式进行快速下载而对应用程序代码(一种中间代码形式)进行了压缩,故必须在将上述代码装进RAM之前对该代码进行解压缩。引擎4008还包括:一个解释器,以便对应用程序代码进行解释,从而更新各种变量值并确定状态的变化;以及,一检错器。
在使用任何设备4062的服务之前,必须将(诸如应用程序指令序列之类的)程序声明为“客户”,它是指对设备4066或设备管理器4068的逻辑访问方式。管理器将客户号赋给客户,所述客户号涉及到对设备的所有访问。设备4062可具有若干个客户,每个设备4062的客户号都根据设备4062的类型来加以指定。可通过过程“Device:Open Channel(设备:打开信道)”来将一个客户引入设备4066。上述过程将一客户号分配给该客户。可通过过程“Device:Close Channel(设备:关闭信道)”将客户从设备管理器4068的客户列表中删除。
设备管理器4068所提供的对设备4062的访问可以是同步的,也可以是异步的。就同步访问而言,使用过程“Device:Call(设备:呼叫)”。这是一种这样的访问数据的方法,该方法可立即使用,或者是一种不包括等待预定响应的功能。就异步访问而言,使用过程“Device:I/O(设备:I/O)”。这是一种这样的访问数据的方法,该方法包括等待响应,例如扫描调谐器频率以便找到一种多路复用或从MPEG流中取回一个表。在可以获得所请求的结果时,就将一个事件放进上述引擎的队列中,以便发信号指示该事件到达了。另一个过程“Device:Event(设备:事件)”提供了一种管理意外事件的方法。
如上所述,运行时间引擎的主循环与多个进程排序器单元相连,当该主循环遇到一个适当的事件时,就将控制权暂时传给上述进程排序器单元中的一个。
因此,可以看出,接收器/解码器提供了一种在使应用程序能够与多个设备相通信方面有相当灵活性的平台。
就本发明的目的而言,设备和端口是等价的。应用程序模块需要传送和接收信息,可以与设备(它们一般是本地的并与缓存器管理系统紧密相连)进行通信,或者与端口(它们一般与信息源相连,所述信息源是远程的和/或独立于所述系统)进行通信。从现在开始,术语“端口”用来包括设备。
参照图3,接收器/解码器包括多个端口单元10、10′、10″,它们通过数据总线20和控制总线21与设备管理模块11相连,设备管理模块11则又通过数据总线22和控制总线23与多个应用程序模块12、12′、12″相连。数据管理模块11还通过数据总线24、地址总线25和控制总线26与存储器13相连。
在端口和应用程序之间通过的消息可以经过缓存器或者经过FIFO(先进先出存储器单元)。存储器13包含有两个存储区13-B和13-F,它们分别用于缓存器和FIFO,设备管理模块11包含有两个控制器14-B和14-F,它们分别用于对流过缓存器13-B和FIFO13-F的消息进行控制。
按基本上相同的方式建立和管理缓存器和FIFO。可用限定缓存器或FIFO的特征(存储器单元、长度等)的命令来建立缓存器或FIFO,并且以类似的方式删除该缓存器或FIFO。一旦建立了缓存器或FIFO,则端口和应用程序可通过使用上述过程来使用缓存器或FIFO。
首先考虑对经过缓存寄存器的消息的管理,缓存存储器13-B包括两个缓存区30和31(图3A),它们是由设备管理模块11的缓存器控制器14-B的缓存器地址控制单元34中的相应缓存寄存器单元32和33所限定的。设备管理模块中的缓存器控制器还包含有一控制单元35,它对缓存器地址控制单元34进行控制。数据总线36将设备管理模块11中的所有数据通路连到一起。
参照图4A,每个缓存寄存器单元均包含有多个地址寄存器32-1、32-2、......32-n。这些寄存器包括:一顶端寄存器32-1和一底端寄存器32-n,它们是预置的并且限定了存储器13中相应缓存区的顶端和底端;以及,一指针寄存器32′,它指向缓存区中将要写入输入数据的位置。(因此,指针寄存器32′指向缓存区中包含有数据的部分与空的部分之间的边界。)
各个端口单元10、10′、10″可将要经过缓存寄存器13-B的消息传给各个应用程序模块12′、12′、12″。这些消息有两种基本类型:位流和数据报。这两种类型消息的区别是:位流是具有不定长度的消息,数据报是有预定长度的消息。消息的类型取决于消息的来源(如伴随消息的控制信号所示)或者取决于消息的头标(由控制单元35从数据总线36上进行监视)。
某些端口单元可发送两种类型的消息,另一些端口单元可发送一种或另一种类型的消息。在端口10要发送消息时,设备管理模块11按通常的方式选定端口10和适当的应用程序模块12。
控制单元35具有两种操作模式,它取决于输入消息是位流还是数据报。
控制单元35包括二进制选择器部件或触发器37,它选定要使用两个缓存区30、31中的哪一个。就位流而言,控制单元35使输入的位流进入当前选定的缓存区30,直至该缓存区充满。这时,控制单元35改变选择器部件37的状态以便选定另一个缓存区31并使位流进入该缓存区,直至该缓存区充满。然后,选择器部件37再次选定第一缓存区30并继续在这两个缓存区之间切换或转换,直至位流结束。
如上所述,控制单元35选定缓存区30、31中的一个、使输入位流进入缓存区30等等,但是,当然应该认识到,这种说明是简化的说明。详细地说,控制单元35实际上选定两个缓存器地址寄存器单元32、33中的一个、用选定单元32中的指针寄存器32′来选定缓存区中要将输入数据写入的地址并适当地在这两个缓存器地址寄存器单元32、33之间转换。
控制单元35还将关于正在接收位流通知给应用程序模块12。应用程序模块12应逐部分地从两个缓存区30、31中交替地读出该消息,因此,缓存区不会溢出(也就是说,应用程序模块可在作为位流一部分的新到来的数据重写旧数据之前读出缓存区中已存在的数据)。应用程序模块12可为进行这种读取而保持一个或多个地址寄存器,或者,可为此将一辅助地址寄存器设置在各缓存器地址寄存器单元32、33中。当所存储的消息读取结束时,就重置缓存器地址寄存器单元32、33中的指针地址寄存器。
就数据报而言,控制单元35确定数据报的长度并查询当前选定的缓存器地址寄存器单元,以确定其中有多少空间可用。通过确定顶端与指针地址寄存器中的值的差值,可以获得自由空间值。然后,控制单元比较自由空间值和数据报的长度,如果数据报长度大于自由空间值,则控制单元改变选择器部件37的状态以选定另一个缓存区。
如果在位流模式下输入消息使缓存区30、31溢出,或者,如果在数据报模式下缓存区不具有足以接受输入消息的自由空间,则系统就进入出错模式,在这种模式中,阻止或放弃消息接收。然后进行适当的恢复行动,从而例如在可能的情况下要求重新传送消息或者将系统重置成开始接收消息之前它所处的状态。
因此,就位流而言,输入消息被引入当前选定的缓存区,如果输入消息使该缓存区溢出,则自动地切换至另一个缓存区,在需要的情况下重复进行这两个缓存区之间的切转。但是,就数据报而言,将整个的输入消息都引入单个的缓存区。
这就使得能够成功地接受具有任意和周知长度的输入消息,并且能较为简单地组织缓存寄存器。
缓存器还可更一般地用于在应用程序之间传送消息。
以下说明对经过FIFO的消息的管理,缓存存储器13-F包括一组FIFO40(图3B),它们是由设备管理模块11的FIFO控制器14-F中的相应寄存器单元41所限定的。数据经过数据总线24传至和传自FIFO40,数据总线24与数据总线36相连(图3A)。设备管理模块中的FIFO控制器14-F还包括一组FIFO控制单元43,它们对将消息写入FIFO40的写操作和从FIFO中读出这些消息的读操作进行控制。
参照图4B,每个FIFO寄存器单元41均包含有多个地址寄存器42-1、42-2、......42-n。这些寄存器包括:顶端寄存器42-1和底端寄存器42-2,它们是预置的并且限定了存储器13中相应FIFO的顶端和底端;一个写指针寄存器42-3,它指向FIFO中要写入输入数据的位置;以及,一个读指针寄存器42-4,它指向FIFO内要从中读出已存储的数据的位置。
所以,一般就设备管理器而言,可用缓存器或FIFO将消息从端口传至应用程序、从应用程序传至端口并在应用程序之间传送消息。
缓存器的用法受控于顶层应用程序。所述系统是基于事件的,也就是说,在将消息传给顶层应用程序时,应用程序在对读出缓存器内容采取行动之前等待接收来自缓存器管理器14-B的“缓存器准备好了”的消息。在这种结构下,不可能在端口之间进行独立的通信。此外,系统可以在某种程度上不作响应,因为,在另一个端口可以读取缓存器内容之前需要由一个端口填满缓存器。
就FIFO而言,其用法受控于FIFO控制器或管理器14-F中的FIFO控制单元43。在FIFO管理器41-F(包括相应的FIFO控制单元43)的控制下将信息写入FIFO40并从中读出信息。所以,数据传递受控于FIFO管理器14-F而不是受控于应用程序12。因此,信息流可直接在两个端口10之间流动并在端口10与应用程序12之间流动。
用写和读指针42-1和42-2将数据写入FIFO40并从其中读出数据。所述指针受控于FIFO管理器14-F。这就能独立地实现对FIFO40的读和写操作。也就是说,端口10或应用程序12不一定需要具有与从FIFO40中读出的消息的起点有关的信息。可在FIFO40已充满或在消息已被全部接收并被写入FIFO40之前开始从FIFO40中读出信息。这就能获得基本上是连续的信息流。从FIFO40中读出信息不必是连续的,可在任何时候停止和重新开始进行读取。
FIFO管理器14-F检查:被写进FIFO40的信息是在FIFO底端地址处开始的,并且不继续超过FIFO的顶端地址。FIFO40操作的精确方式取决于FIFO构成的特定用途。因此,FIFO40可根据单个的消息进行操作,其中将每个消息的起点写入FIFO的底端地址。另外,FIFO40可周期性地操作,其中将新消息的起点写在前一消息结尾的紧上面,将FIFO的顶端和底端看作是连续的。
如果消息比FIFO40的长度长、或者一个消息在前一消息业已全部从FIFO40中被读出之前开始到达,则存在有潜在的冲突危险。FIFO控制单元43监视这种冲突。在检测到冲突时,FIFO控制单元43当然可以将适当的控制信号发送给消息源(例如端口10)、消息的目的地(例如应用程序12)或者这两者。
如果写指针寄存器42-3追上了读指针寄存器42-4或者如果读指针寄存器42-4追上了写指针寄存器42-3,就会出现实际的冲突。但是,FIFO控制单元43可设置成能检测潜在的冲突,即写指针寄存器42-3是否接近到了读指针寄存器42-4的某一距离范围之内或者相反。设备管理模块11可为FIFO控制单元43设定这些距离(阈值)。FIFO40的溢出和下溢阈值不必是相同的,并且不同FIFO40的阈值不必是相同的。还可以有两个或更多的溢出和/或下溢阈值,以便在接近实际溢出或下溢时渐近地给出较为紧急的警告。
此外,FIFO控制单元43可包含一标志,它在溢出时是可设置的,以便允许重写或使其它写操作挂起。前者能从FIFO40中有效地刷新旧的信息。这种刷新通常是希望有的,以便允许连续处理信息流。
FIFO控制单元43可被看作是一低层应用程序(或者在某些情况下被看作是一个设备),它可代表高层应用程序来执行传递功能。高层应用程序可解除传递功能,并且,被传递的消息实际上被自动地提供给高层应用程序,该程序就能直接地使用这些消息,而不必去关心能够获得这些消息。
图5示出了如何用FIFO生成视频信号,这些信号可与主MPEG位流的视频信号相结合。图3、3B和4B的消息管理系统用于在不需要有来自上层应用程序的任何输入的情况下使接收自MPEG设备源的数据直接流进视频设备。
在线路50上将MPEG位流(它通常是接收自调谐器4028的位流,图1)提供给多路解调器51,该多路解调器与服务设备52相连。设备52的功能是建立视频即获得与主视频的建立有关的信息并对视频的显示进行控制。多路解调器51受控去从MPEG视频位流中抽取出主视频序列(视频PID序列)。在线路53上将主视频序列提供给MPEG-2芯片54。
此外,可在线路55上从一个或多个FIFO40中抽出视频MPEG-2位流。这些位流被传给视频设备56,视频设备56在线路53上与主视频信号相连。线路55上的位流被视频设备56所处理并作为辅助视频信号出现在线路57上,线路57则被提供给MPEG-2芯片54。视频序列仅被显示进MPEG层。
MPEG层的每个视频序列都具有自己的阿尔法混合系数,该系数可作用于图像的每个象素,以便与背景层的相应象素相混合。MPEG层未被使用的部分是完全透明的。
对实现者来说,上述各功能的实现形式的精确细节及其在硬件与软件之间的分布是可选的,以下不作详细说明。但是,应该注意,能执行接收器/解码器中所需操作的专用集成电路是市售的或者能很容易地加以设计,它们可用作硬件加速器的基础,或者可最佳地加以修改以形成专用的硬件加速器,从而实现多种所需的操作,以便降低运行软件所需的处理功率。但是,如果有足够的处理功率,则可用软件来实现所需的操作。
业已就各部件提供的特征和功能以及可选和最佳的特征说明了各个模块和其它部件。通过给出的信息和所提供的说明,本技术的专家能明了这些特征的实际实现形式,故将精确的细节留给实现者。作为一个实例,可用软件来实现某些模块,所述软件最好用C编程语言编写并最好编译成在用于运行应用程序的处理器上运行,但是,某些组件可在独立的处理器上运行,并且,可用专用硬件来实现某些或所有的部件。
上述模块和部件仅仅是说明性的,可用多种方式来实现本发明,具体地说,某些部件可与执行类似功能的其它部件相结合,或者,在简化的实现形式中可省略某些部件。各个功能的硬件和软件实现形式可在部件之间或在单个部件之内自由地组合。
可很容易地认识到,硬件、计算机软件等执行的功能可以靠电信号或类似的信号来实现或者用电信号或类似的信号来实现。软件实现形式可存储在ROM内或者插在快闪存储器内。
作为本发明的最佳实施例的概括,提供了一种设备管理模块11,它具体用于广播数字电视系统的接收器/解码器,其中,将接收到的信号经由接收器传给接收器/解码器,从而传给电视机。模块11将来自端口单元10的输入消息与应用程序模块12连接起来。与模块11相连的存储器13具有一个缓存区13-B和一个FIFO区13-F,它们分别受控于缓存器控制器/管理器14-B和FIFO控制器/管理器14-F。消息所涉及的应用程序可将输入消息传进缓存器并从缓存器中检索出消息,对此,有两种不同的操作模式。另外,可将这种消息传给FIFO,FIFO管理器起低层应用程序的作用,它可在应用程序不必采取任何行动并且不必等待要接收的全部消息的情况下将消息传给高层应用程序。经过FIFO传送的消息可以被组合进MPEG信号流。

Claims (11)

1.一种接收器/解码器,包括:
至少一个端口(10),用于接收消息;
至少一个应用程序模块(12);
包括缓存段(13-B)的存储器(13),出现在端口(10)上的消息被写入缓存段(13-B),并且在完成该消息的写入之后,该消息被从缓存段(13-B)中读出到应用程序模块(12),以响应来自应用程序模块(12)的控制信号,其特征在于
该存储器(13)还包括FIFO段(13-F)和FIFO控制装置(14-F);
所述FIFO控制装置(14-F)耦合到该端口或每个端口(10)、该存储器(13)和该应用程序模块或每个应用程序模块(12),并用于响应出现在端口(10)上的消息,以便将该消息写入FIFO段(13-F),并将该消息从FIFO段(13-F)读出到应用程序模块(12)或读出到另一端口(10),而无需等待完成该消息的写入,由此能够根据应用程序模块(12)的需要,将在端口(10)上接收的消息读出到另一端口(10)而无需等待完成该消息的写入,或者在完成该消息的写入之后或无需等待完成该消息的写入而将该消息读出到应用程序模块(12)。
2.如权利要求1所述的接收器/解码器,其特征在于,FIFO控制装置(14-F)包括占用检测器装置(43),用于检测存储器(13)的FIFO段(13-F)的占用状态。
3.如权利要求2所述的接收器/解码器,其特征在于,占用检测器装置(43)适用于检测FIFO段(13-F)的溢出和下溢。
4.如权利要求2或3所述的接收器/解码器,其特征在于,占用检测器装置(43)适用于检测FIFO段(13-F)的即将到来的溢出和下溢的至少一个阈值。
5.如权利要求1-3之一所述的接收器/解码器,其特征在于,FIFO控制装置(14-F)被设置为刷新FIFO段(13-F)中的消息。
6.如权利要求1-3之一所述的接收器/解码器,其特征在于,FIFO段(13-F)包括多个FIFO缓存器(40),并且FIFO控制装置(14-F)包括相应多个FIFO寄存器控制装置(41)。
7.如权利要求1-3之一所述的接收器/解码器,其特征在于,缓存段(13-B)包括利用缓存器控制装置(14-B)中的相应缓冲寄存器(32,33)定义的两个缓存区(30,31)。
8.如权利要求7所述的接收器/解码器,其特征在于,缓存器控制装置(14-B)可操作在位流模式中,在所述位流模式中,将输入位流引导到当前选择的缓存区,并且随后在每个缓存区依次变满时在两个缓存区之间切换输入位流。
9.如权利要求7所述的接收器/解码器,其特征在于,缓存器控制装置(14-B)可操作在数据报模式中,在所述数据报模式中,将输入消息的长度与当前选择的缓存区中的自由空间进行比较,并且如果该空间小于该消息的长度,则选择另一个缓存区。
10.如权利要求7所述的接收器/解码器,包括从FIFO段(13-F)馈送的视频设备应用单元(56),并馈送芯片单元(54),该芯片单元也被馈送视频位流。
11.一种广播系统,包括如前述任一权利要求的接收器/解码器,以及用于传送消息到该接收器/解码器的装置。
CNB998066524A 1998-03-27 1999-03-29 接收器/解码器及其广播系统 Expired - Fee Related CN1242605C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98400764A EP0946053A1 (en) 1998-03-27 1998-03-27 Memory management in a receiver/decoder
EP98400764.1 1998-03-27

Publications (2)

Publication Number Publication Date
CN1303566A CN1303566A (zh) 2001-07-11
CN1242605C true CN1242605C (zh) 2006-02-15

Family

ID=8235318

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB998066524A Expired - Fee Related CN1242605C (zh) 1998-03-27 1999-03-29 接收器/解码器及其广播系统

Country Status (20)

Country Link
EP (2) EP0946053A1 (zh)
JP (1) JP4642230B2 (zh)
KR (1) KR100604211B1 (zh)
CN (1) CN1242605C (zh)
AT (1) ATE274773T1 (zh)
AU (1) AU2953199A (zh)
BR (1) BR9909128A (zh)
CA (1) CA2324086A1 (zh)
DE (1) DE69919686T2 (zh)
ES (1) ES2226352T3 (zh)
HR (1) HRP20000599A2 (zh)
HU (1) HUP0105435A3 (zh)
ID (1) ID26209A (zh)
IL (1) IL138440A0 (zh)
NO (1) NO20004837L (zh)
NZ (1) NZ507160A (zh)
PL (1) PL343250A1 (zh)
TR (1) TR200002764T2 (zh)
WO (1) WO1999051021A1 (zh)
ZA (1) ZA200006082B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073218A1 (en) * 1998-12-23 2002-06-13 Bill J. Aspromonte Stream device management system for multimedia clients in a broadcast network architecture
GB0130407D0 (en) * 2001-12-20 2002-02-06 Koninkl Philips Electronics Nv Delivery of digital applications
TWI284810B (en) * 2004-08-18 2007-08-01 Via Tech Inc Software communication between MPEG layer and servo layer
US8045472B2 (en) * 2008-12-29 2011-10-25 Apple Inc. Credit management when resource granularity is larger than credit granularity

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH083956B2 (ja) * 1986-09-18 1996-01-17 日本テキサス・インスツルメンツ株式会社 半導体記憶装置
US4942553A (en) * 1988-05-12 1990-07-17 Zilog, Inc. System for providing notification of impending FIFO overruns and underruns
TW237589B (zh) * 1991-02-27 1995-01-01 Gen Electric
US5442390A (en) * 1993-07-07 1995-08-15 Digital Equipment Corporation Video on demand with memory accessing and or like functions
JP2658832B2 (ja) * 1993-11-12 1997-09-30 日本電気株式会社 動画像復号制御装置
US5642498A (en) * 1994-04-12 1997-06-24 Sony Corporation System for simultaneous display of multiple video windows on a display device
US5720037A (en) * 1994-06-16 1998-02-17 Lucent Technologies Inc. Multimedia on-demand server
JP3560078B2 (ja) * 1995-02-06 2004-09-02 ソニー株式会社 電子機器制御装置、電子機器制御方法、および電子機器制御システム
IT1275228B (it) * 1995-02-09 1997-07-31 Italtel Spa Decodificatore per postazione di utente in un sistema di televisione interattiva
FR2741172B1 (fr) * 1995-11-09 1997-12-12 Thomson Multimedia Sa Dispositif de traitement de donnees comportant une memoire tampon

Also Published As

Publication number Publication date
TR200002764T2 (tr) 2001-01-22
ZA200006082B (en) 2001-05-30
WO1999051021A1 (en) 1999-10-07
CA2324086A1 (en) 1999-10-07
DE69919686D1 (de) 2004-09-30
CN1303566A (zh) 2001-07-11
DE69919686T2 (de) 2005-09-01
KR100604211B1 (ko) 2006-07-24
JP2002510908A (ja) 2002-04-09
BR9909128A (pt) 2000-12-19
ID26209A (id) 2000-12-07
ATE274773T1 (de) 2004-09-15
NO20004837L (no) 2000-11-27
KR20010042226A (ko) 2001-05-25
PL343250A1 (en) 2001-07-30
IL138440A0 (en) 2001-10-31
ES2226352T3 (es) 2005-03-16
AU2953199A (en) 1999-10-18
HUP0105435A3 (en) 2002-05-28
HRP20000599A2 (en) 2001-06-30
NZ507160A (en) 2002-03-28
JP4642230B2 (ja) 2011-03-02
EP1064781B1 (en) 2004-08-25
EP1064781A1 (en) 2001-01-03
HUP0105435A2 (hu) 2002-04-29
NO20004837D0 (no) 2000-09-26
EP0946053A1 (en) 1999-09-29

Similar Documents

Publication Publication Date Title
US8201154B2 (en) Multithread data processor
CN1158871C (zh) 条件访问信息的装置
US6384846B1 (en) Methods and apparatus for rendering multiple images using a limited rendering resource
EP0909094A1 (en) Multithread data processor
EP2046039A2 (en) Information processing apparatus, information processing system, and controlling method of information processing apparatus
WO2005069155A2 (en) Method and apparatus for task schedulin in a multi-processor system based on memory requirements
KR20020035558A (ko) 개별 클래스로더 구현을 위한 방법 및 장치
CN101833520A (zh) 计算机系统、多个应用程序同时使用一个摄像头的方法
EP1450242A2 (en) Navigation
WO2005011280A1 (en) Handling feature availability in a broadcast
US20090278956A1 (en) Method of determining priority attributes associated with data containers, for example in a video stream, a coding method, a computer program and associated devices
CN1254478A (zh) 数据处理系统
CN1242605C (zh) 接收器/解码器及其广播系统
CN1262934C (zh) 具有不同资源访问方案的系统集成代理程序
CN101686341A (zh) 电视机、机顶盒与移动设备间实现节目共享的方法
CN1324889C (zh) 一种嵌入式的数字电视业务平台的实现方法
CN1255212A (zh) 计算机存储器组织
CN1307780A (zh) 接收机/解码器和处理视频数据的方法
US20020035598A1 (en) Communication system, transmitter, receiver, and method utilizing a data storage descriptor
CN1121779C (zh) 具有可变管理指令集的应用程序管理器
CN1280685A (zh) 调制解调器的控制方法
US8843986B2 (en) Transport stream, data processing device and digital television for intermittently updating firmware
EP1515465A1 (en) Digital broadcast system
CN1741088A (zh) 切换设备、电子设备、数据传送方法和计算机产品
CN1784005A (zh) 一种通过文件系统访问轮播数据的方法

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: CANAL + TECHNOLOGIES SOCIETE ANONYME

Free format text: FORMER OWNER: CANAL + SOCIETE ANONYME

Effective date: 20110224

Owner name: RCA THOMSON LICENSING CORPORATION

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

Effective date: 20110224

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: 20110224

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: 20110224

Address after: Paris France

Patentee after: Thomson Licensing S.A.

Address before: Paris France

Patentee before: CANAL+ S.A.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060215

Termination date: 20170329

CF01 Termination of patent right due to non-payment of annual fee