具有用于交错中断的双中断线的音频/视频渲染器外设的制作方法

文档序号:7641667阅读:165来源:国知局
专利名称:具有用于交错中断的双中断线的音频/视频渲染器外设的制作方法
技术领域
本发明涉及音频视频(AV)重放链路和渲染器外设,更具体地 说涉及用于产生两个或更多的在它们之间具有可编程延时的中断以 防止两个处理器在它们各自的中断服务程序中竞争而访问相同的资 源的方法和电路。
背景技术
萨尔诺夫(普林斯顿,新泽西)DVD音频/视频解码器接收译出 的DVD数据流、MPEG-1系统流或MPEG-2节目流,对所述音频和视频 有效载荷进行解码,并自动使所述解码的音频和视频输出同步,而不 需要主软件介入。它还接收并解码音频和视频PES包的序列,供外部 数字广播系统(DBS)传输流多路分解器使用。所述系统处理器被设 计成能以最小4兆字节的外部SDR雄进行操作。它支持64MBits/sec 的输入数据速率和15 MBits/sec的视频位速率。所述主机通过对它 进行重置和配置所述期望的音频和视频选项来初始化所述解码器。在 操作期间,所述解码器发出中断以通知所述主机可从SDR認取得视频 用户数据、音频辅助数据或系统级PSI数据,通知特定的数据缓冲存 储器是空的或者满的,或者通知已经检测到比特流错误。所述主机对 中断状态寄存器进行读取以确定每个中断的性质。
音频视频(AV)重放链路常常被分裂以便由一个以上的处理器 进行处理。所以对于外围设备重要的是提供周期中断并且可由所有这 些处理器访问。如果对渲染器外设的这种访问是通过公共存储器映射 输入-输出(腿IO)寄存器进行的,那么渲染器外设对直接控制它的 处理器的访问应该与其它处理器进行交错以避免竞态条件(race condition)禾口停顿。
传统的电路和方法只能提供一个从AV渲染器外设输出的硬布线中断。被分配来利用其中断服务程序(ISR)软件以服务所述中断的 处理器会彼此竞争所述单一的中断。甚至没有通过硬布线中断触发以 服务AV渲染器外设的处理器仍然会陷入引起停顿的竞争和冲突。
所需要的并且至今缺少的是这样的AV渲染器外设,其能够发出
多线中断来非同时地涉及一个以上的独立处理器。

发明内容
本发明提供一种用于具有多个中断输出的音频视频渲染器外围 设备的电路。
简要地,本发明的一个电路实施例包括具有两个处理器中断输 出的音频视频渲染器外围设备。心跳中断输出是初级中断输出,而第 二中断输出可以通过一个可变时间延迟进行编程以遵循所述初级心 跳中断。
本发明的优点是提供一种电路和方法来确保多个处理器能满足 它们各自对于音频视频渲染器外围设备的处理期限。
本发明的另一个优点是提供一种电路和方法,其允许通过无法 直接访问音频视频渲染器外围设备的处理器以软件的形式来实现虚 拟渲染器。
本发明的另外一个优点是当通过寄存器可访问渲染器时钟时, 时间标记平移方案可用于将显示时间标记从源时钟域转换到渲染器 时钟域。


在阅读了在各幅图中图示的优选实施例的下述详细说明之后, 本发明这些和其它目的和优点对于本领域普通技术人员来说无疑将 变得明显。
图1是本发明的音频视频重放链路实施例的功能框图2是具有被分开用于AV解码和渲染的两个内核处理器的系统
芯片实施方案的功能框图3是本发明的AV渲染系统实施例的功能框图;和图4为表示ISR-1、 ISR-2、 IRQ-1、和IRQ-2之间的相对定时的 曲线图,并示出如何通过交叉存储器访问避免由在MMIO处的冲突引 起的竞争和停顿。
具体实施例方式
图1表示用于本发明的音频视频(AV)重放链路实施例的数据 流,在此处将之指代为一般参考数字100。 AV重放链路100包括由调 谐器104选择的AV源102。它将数据流保存在存储器106中。数据 流解码器108恢复原始数据,并将所述解码的数据放入存储器106中。 AV后处理器IIO对所述解码的数据进行操作,并将其输出放入存储器 106中。AV渲染器112为用户输出AV显示114。
Philips TriMedia Streaming Software Architecture (飞禾'J 浦多媒体流软件体系结构)(TSSA)是类似于图1的实施方案的示例。 用于电视接收机的声音系统被构成在TSSA内并且被优化用于流传送 多媒体数据。由调谐器104、数据流解码器108、 AV后处理器110和 AV渲染器112来表示软件模块。所述软件模块能够被独立地生成, 因为所述接口被清楚地定义在各元件之间。程序装置能够集成各种模 块,因为它们是以共同的方式连接的。市场上可利用许多TSSA元件 来建立一个完整的高级电视系统委员会(ATSC)接收器。TSSA使用 数据驱动的设计。实时操作系统(RTOS)提供这样的基础其允许将 所述系统分解为独立的任务,所述独立任务使用队列、指针和由中断 传递的标记进行通信。 一个给定的任务将休眠直到数据生效,对数据 进行处理,发送它,并再次休眠。任务之间的连接是使用操作系统的队 列构建执行的。每个连接由一对队列组成,其中在一个队列中承载装 满数据的包,在另一个队列中承载空包。所述空包用信号通知所述发 送器能够使所述相关数据存储器再循环。在该对中循环的包的数量确 定了两个任务之间的缓冲量。数据通过包在任务之间传递,并且包使 用所述架构定义的标准结构。通过索引传递包,不需要不必要地拷贝 数据。还可以将包加上时间标记以便于同步。这些数据包可以传递音 频、视频和其它数据。
处理器和AV渲染器外设之间的大多数交互作用是在渲染器心跳
中断服务程序(ISR)的环境中发生的。所述心跳周期性中断通常用 信号通知AV数据缓冲器的渲染完成。它向上游触发对所述AV渲染器
的下一次数据传输和后续数据处理。如果两个或更多处理器连接到相 同的AV渲染器中断线,则会发生竞争和临时执行锁定。
本发明的实施例从所述AV渲染器外围设备提供至少一个第二中 断线。在一个实例中,第二中断输出相对于初级心跳中断被偏移一个 固定的可编程时间间隔。
图2表示本发明的一个系统芯片(SoC)实施例,此处该系统芯 片由一般参考数字200指代。SoC 200使用至少两个内核处理器(处 理器-l) 202和(处理器-2) 204来实现音频视频(AV)重放链路。 处理器-1 202包括调谐器206、数据流解码器208、和虚拟AV渲染 器210。处理器-2 204具有AV后处理器212和AV渲染器214。
对于AV重放系统,通常以等于渲染心跳的规则间隔通过共用存 储器在处理器之间传送数据。同时,数据传输本身必须关于所述渲染 器中断被交错,使得任何进一步的通过软件的处理在渲染之前都能够 被实现。如果渲染器时钟域与解码器时钟域不同,则来自所述数据流 解码器的任何显示时间标记(PTS)值都应该被译成用于所述渲染器 的相应PTS值。所述PTS翻译过程典型地需要对渲染器时钟的访问。
例如,SoC 200可以是系统芯片(例如飞利浦(荷兰,阿姆斯特 丹)NexperiaTM PNX8550家用娱乐引擎)的一部分。这种SoC是结合 了一个控制处理器、两个可编程媒体处理器、高清晰视频解码器、定 标器、渲染器和许多其它单片功能的高度集成SoC。所述SoC支持模 拟和数字电视广播标准、去交错和其它图像改进特征、和多格式音频 /视频解码和渲染以及其它高级特征。基于飞利浦SoC的电视能够解 码和显示直接来自闪存卡或存储棒的数字图片、MPEG-4和DV视频剪 辑。专用MPEG-2解码器能够同时处理达到两个的高清晰节目流,以 在屏幕上同时显示,例如画中画或者并排的。或者它们可用于转换HD 视频节目以便记录在标准清晰记录器上。
处理器和AV渲染器外围设备之间的大多数交互作用是在通常称
作渲染器心跳ISR (中断服务程序)环境的背景下发生的。所述心跳
周期性中断以信号通知AV数据缓冲器的渲染结束,并由此触发向AV
渲染器的进一步数据传输,和因此触发进一步的上游数据处理。然而,
如果两个或更多处理器与所述AV渲染器中断线连接,则会显现先前 提及的问题。
图3表示本发明的AV渲染系统实施例,在此处由一般参考数字 300指代。系统300包括一个AV渲染器外围设备302,其具有一个可 编程中断延迟定时器304。在所述可编程中断延迟定时器304内部的 一个寄存器可例如用于对AV数据缓冲器中剩余的时钟节拍(clock tick)或数据字节进行计数。
第一中断请求(IRQ-I) 306触发所述可编程中断延迟定时器304 产生一个第二中断请求(IRQ-2) 308。这允许第一内核处理器310 执行第一中断服务程序(ISR-I)访问312。在一个固定时间之后,由 IRQ-2 308触发一个第二内核处理器314以产生第二中断服务程序 (ISR-2)访问316。所有这些访问和直接AV数据外围设备访问318 必须通过存储映像输入/输出(MMIO)寄存器320。外部存储器322, 例如SDRAM为视频和音频节目提供存储。
图4表示AV渲染系统300的特殊结构如何有助于避免竞态条件 和停顿。如果数据流解码在其ISR-1访问312中是被指定通过处理器 -1 310进行的,并且后处理和渲染是被指定在其ISR-2访问316中通 过处理器-2 314进行的,那么图4表示这些访问将如何通过廳I0寄 存器320交错。第一 ISR-1 401通过IRQ-1触发。在执行ISR-1 401 的足够时间已经过去之后,所述可编程延时定时器304发出IRQ-2。 然后ISR-2开始402、 404。然后所述AVE渲染器外围设备将发出一 个随后IRQ-l,并且所述交替ISR访问继续403、 405。
IRQ-1 306可用于通知处理器-1 310当前正被渲染的AV数据缓 冲器的一部分已经被使用。IRQ-2 308可用于把所述AV数据缓冲器 已经被完全清空这一情况通知处理器-2 314。这意味着IRQ-1中断处 在IRQ-2之前一个确定的间隔处。这种间隔对于时钟节拍或者在例如 通过所述AV渲染器外围设备中的寄存器装置清空的缓冲器字节中是可编程的。
本发明的实施例简化了具有在不同处理器上执行的软件模块的 嵌入式音频视频重放链路的SoC实施方案。例如,所述音频/视频数据 流解码器处理和效果处理可以在两个内核处理器之间分配。本发明同
时为音频和视频渲染硬件带来益处。
虽然已经根据目前的优选实施例说明了本发明,但应该理解所 述公开不应解释为限制。在读取了上述公开之后,各种替代和修改对 于本领域技术人员无疑将变得显而易见。因此预期的是权利要求应被 解释为覆盖落入本发明的真正精神和范围中的所有替代和修改。
权利要求
1.一种供音频视频(AV)重放链路使用的渲染器外围设备(300),包括用于处理输入数据流的AV渲染器(302);第一中断服务请求(IRQ-1)(306)输出,其被连接来由在AV渲染器(302)中发生的预定事件产生,并供给第一处理器(310)以开始第一中断服务程序(ISR-1)(312)以便服务于AV渲染器(302)的第一任务;第二中断服务请求(IRQ-2)(308)输出,供给第二处理器(314)以开始第二中断服务程序(ISR-2)(316)以服务用于AV渲染器(302)的第二任务;和可编程延时定时器(304),其被连接来由IRQ-1(306)输出触发并在一个延迟之后产生IRQ-2(308)输出,该延迟取决于编程的寄存器值。
2. 如权利要求1所述的渲染器外围设备(300),其中可编 程延时定时器(304)使用编程的寄存器值对外设时钟节拍进行递减 计数。
3. 如权利要求1所述的渲染器外围设备(300),其中可编 程延时定时器(304)使用编程的寄存器值对一个AV数据缓冲器中的 字节进行递减计数。
4. 一种在具有至少两个处理器内核(202,204)的SoC中进行 AV渲染的方法,包括通过在一个AV渲染器中发生的预定事件产生 第一中断服务请求(IRQ-1)(306)并将其提供给一个第一处理器(202) 以便开始第一中断服务程序(ISR-1) (312)从而服务于所述AV渲 染器的第一任务;以及将第二中断服务请求(IRQ-2) (308)定时到 第二处理器(204)中以便开始第二中断服务程序(ISR-2) (316) 从而服务于所述AV渲染器的第二任务,所述第二任务具有一个取决 于编程的寄存器值的延迟;其中竞态条件被控制和限制。
5. 如权利要求4所述的方法,还包括在所述第一和第二处理器(2Q2,204)之间分配调谐(206)、解码(208)、后处理(210) 和渲染(212)的任务。
6. 如权利要求4所述的方法,其中所述定时用于通过丽IO 寄存器(320)从所述第一和第二处理器(202,204)对存储器的访问 的交错。
7. —种系统芯片(SoC),包括用于执行第一中断服务程序 (ISR-1) (312)的第一内核处理器(310);用于执行第二中断服务程序(ISR-2) (316)的第二内核处理器(314);和AV渲染器外 围设备(302),其被提供用于利用通过在AV渲染器中发生的预定事 件所产生的第一中断服务请求(IRQ-1) (306)和第二中断服务请求 (IRQ-2) (308)来管理所述第一和第二处理器(310,314),所述 第一中断服务请求(306)被提供给第一处理器(310)以开始执行所 述ISR-1 (312),所述ISR-1 (312)服务于所述AV渲染器的第一任 务,所述第二中断服务请求(IRQ-2)( 308)被提供给第二处理器(314) 以便开始所述ISR-2 (316),所述ISR-2利用取决于编程的寄存器 值的延迟(304)来服务于所述AV渲染器的第二任务。
全文摘要
一种音频视频(AV)重放链路和渲染器外围设备(300),用于产生两个或更多中断(306,308),它们之间具有一个可编程延时(304)。这种装置被配置用于防止两个处理器(310,314)在它们各自的中断服务程序中竞争访问相同的系统资源。
文档编号H04N5/00GK101341736SQ200680048433
公开日2009年1月7日 申请日期2006年12月21日 优先权日2005年12月23日
发明者普兰卓依·巴塔查里亚 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1