CN101151840B - 用于依据指令处理媒体的单芯片媒体处理器 - Google Patents
用于依据指令处理媒体的单芯片媒体处理器 Download PDFInfo
- Publication number
- CN101151840B CN101151840B CN2006800073932A CN200680007393A CN101151840B CN 101151840 B CN101151840 B CN 101151840B CN 2006800073932 A CN2006800073932 A CN 2006800073932A CN 200680007393 A CN200680007393 A CN 200680007393A CN 101151840 B CN101151840 B CN 101151840B
- Authority
- CN
- China
- Prior art keywords
- data
- interface
- processing
- processing unit
- layer
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Advance Control (AREA)
Abstract
本发明直接涉及在芯片结构上的一种***,是关于在复数个处理层内具有分散处理部件以及记忆库的一种芯片架构上可变化***。本发明的一个应用是在新颖媒体处理装置上,使用为所有视觉媒体的单集成处理芯片,设计以运行视频和图像的处理和通讯。
Description
技术领域
本发明一般来说是关于在芯片结构上的一种***,更明确地说,是关于在复数个处理层内具有分散处理部件以及记忆库的一种芯片架构上可变化***。本发明亦涉及用于音频、视频、文字以及图形之编码和译码的方法与***,以及运用此新颖编码及译码方式的装置。
背景技术
媒体处理以及通讯装置包含的硬件及软件,运用相互依赖之处理程序以使得通过电路交换和封包交换网络以及其彼此间的模拟和数字信号之处理与无缝传递成为可能。举例来说,一话音封包传送网关器使得人类语音能够由一传统公众交换网络传送到一封包交换网络,可能是与传真信息以及调制解调器数据同时在单一封包网络线上输送,并再传送回来。结合跨越不同网络之不同媒体的通讯,其好处包含成本节省以及新与/或改进之通讯服务的传送,像是用于改进顾客支持的网站可及电话服务中心,以及更有效率的个人生产力工具。
此类透过封包传递媒体的通讯装置(像是媒体网关器)需要具有精密软件控制和应用的实质、可升级处理能力,以使得资料能够由电路交换网络至封包交换网络有效率地来回传输。范例产品运用至少一通讯处理器,像是德州仪器的48频道数字信号处理器(DSP)芯片,以实施一软件架构,像是Telogy提供的***,其结合起来提供之特征像是自适应语音活动侦测、自适应舒适噪音制造、自适应抖动缓冲区、工业标准编码译码器、回声消除、音调侦测及产生、网络管理支持,以及信息分包。
除了不同媒体跨越不同网络之通信合一的优点,还有一优点是将如文字、图形以及视频(合称「视觉媒体」)之某媒体的处理在一已知处理装置内统合为一。目前,媒体网关器、通讯装置、任何型式的计算装置像是一笔记本计算机、膝上型计算机、DVD播放机或录象机、机顶盒、电视机、***、桌上型 个人计算机、数字相机、摄影机、行动电话或个人数据助理,或任何输出型式像是一显示器、监视器、电视屏幕或投影仪(各别称之为「媒体处理装置」),仅能用分别独立的处理***处理视觉媒体。用于影像及图案/文字的各个媒体处理装置中,存在有分别独立的输入/输出(I/O)单元。这些分别独立的端口对不同资料需要不同通信连接线路。因此,一单独的媒体处理装置可具有不同的I/O以及相关处理***,以便一方面处理图形/文字,而另一方面处理影像。
参照图24,显示的是传统媒体处理压缩/解压缩***2400的一部分之框图。该***在传输端包含一媒体源呈现于或整合入一媒体处理装置2401,复数个预处理部件2402、2403、2404,视频编码器2405,图形编码器2406,音频编码器2407,复用器2408以及控制器2409。该媒体处理装置2401以数字化的帧撷取多媒体数据(或由一模拟来源转换成数字型式),并将其传给预处理部件2402、2403、2404,该等数据在此处理并接着传送至视频编码器2405、图形编码器2406及音频编码器3407以供编码。该等编码器进一步用一附着于该复用器的控制电路2409连接至该复用器2408,以使该复用器2408的功能可以发挥。该复用器2408结合由视频2405、图形2406和音频编码器2407而来的已编码数据,以形成单一数据流2420。如此使得多重数据流以单一串流2420型式,越过一物理层或媒介接入控制层(MAC layer)或任何适当网络2410,而由一处带往另一处。
在接收端,该***包含多路信号分离器2411,视频译码器2413,图形译码器2414,音频译码器2415以及复数个后处理部件2416、2417及2418。呈现在网络上的数据是由该多路信号分离器2411接收,其解析高速数据流成为原始的较低速数据流,其将被转换回原始的多重数据流。该等多重数据流传送入不同译码器,像是视频译码器2413、图形译码器2414以及音频译码器2415。各别的译码器依据适当解压缩算法,把压缩的视频、图形和音频数据解压缩,并将他们提交给准备该数据以供输出为视频、图形和音频或进一步处理的后处理部件。
范例的处理器揭示于美国专利第6,226,735、6,122,719、6,108,760、5,956,518以及5,915,123号。该等专利是关于一种具有一自适应指令集的混合数字信号处理器(DSP)/精简指令集计算器(RISC),使其有可能依逐周期的基础重组一系列基本构件(像是乘法器以及算术逻辑部件(ALU))的内部连结和功能。如此提供一指令集架构,可动态地客制化以匹配正执行之应用的特殊需求,并因而为该特定周期创造一客制化的路径以用于该特殊指令。依照发明人的构想,并不把用于指令储存及分配的资源与用于数据储存及计算的资源分开,并在制造时就把硅晶资源专属上述各个资源,这些资源可被统合为一。一旦统合为一,传统的指令及控制资源连同计算资源可被分离,并可依特殊应用的方法展开。芯片能力可依据该应用的需要以及可利用的硬件资源,选择性地配置以便动态地支持现行的计算或控制计算资源的再利用。理论上,如此导致改进的性能。
尽管有上述的先前技艺,仍需要一种改良的方法及***以使得跨越不同网络的媒体通信成为可能。明确地说,最好有一种处理***可用来处理图形、文子及视频信息。所有媒体处理装置最好进一步在其内纳入此单一处理法,以使得更有成本效益且有效率的处理***成为可能。此外,需要一方法可提供使用单一接口的全面压缩解压缩***。更明确地说,需要一种***集成芯片架构,其可有效率地变化以符合新的处理需求,并足够分散以使得高处理输出及增加的产品收得率。
发明内容
本发明是关于一种***集成芯片(system on chip)架构,其藉由复数个处理层而具有可变化、分散的处理及记忆能力。在一较佳实施例中,一分散处理层处理器(DPLP)包含复数个处理层,其各自经由通信数据总线及处理层接口与一处理层控制器及中央直接存储器存取控制器进行通讯。在各处理层之内,复数个管线化处理部件(PUs)与复数个程序存储器及数据存储器通讯。最好是各个处理部件应能存取至少一程序存储器及一数据存储器。该处理层控制器管理任务的调度以及各处理层之处理任务的分配。该直接存储器存取控制器(DMAcontroller)是用于处理本机存储器缓冲区处理部件与外部存储器(例如同步动态 随机存取存储器(SDRAM))之间数据传送的多频道直接存储器存取部件。在各处理层内,有复数个管线化处理部件,特别为进行一组已知处理任务所设计。如是观之,该等处理部件并不是一般目的处理器,也就不能用以进行任意处理任务。此外,在各处理层内有一组分散的存储器库,其可使得用以实施一指派处理任务所需要的指令集、处理过的信息及其它数据可为本机储存。
本发明一应用是在一媒体网关器中,其经设计以使得跨越线路交换网络及信息包交换网络的媒体通讯成为可能。该新颖网关器的硬件***架构包含复数个分散处理层处理器(DPLPs),即所称的“媒体引擎”,其与一主处理器互相连接,后者接下来与连至网络的接口通讯,最好是一异步传送模式(ATM)的实际装置或十亿位媒体独立接口(GMII)实际装置。该等媒体引擎处理层之内的各个处理部件是特别设计以实施某类媒体处理特殊任务,像是线路回音消除、编码或译码数据,或发出音调信号。
本发明第二应用例是一种新颖的媒体处理装置,其经设计以使得用于所有视觉媒体的一单独整合处理芯片能够处理及通讯视频和图形。用于依据指令处理媒体的该媒体处理器,其包含:复数个处理层,其中各处理层具有至少一处理部件,至少一程序存储器,以及至少一数据存储器,所称各个处理部件、程序存储器以及数据存储器是彼此通讯,至少一所称处理层内的至少一处理部件经设计用以对所接收资料实施动作预估;至少一所称处理层内的至少一处理部件经设计用以对所接收资料实施编码与译码功能;以及一可由一来源接收复数个任务并分配所称任务至该等处理层的任务调度器。
附图说明
本发明的这些及其它特征及优点,在参照下列发明详述并与其附图一起考量之后将有更佳理解,其中:
图1是该分散处理层处理器一实施例的框图;
图2a是一用于媒体网关器的硬件***架构之第一实施例的框图;
图2b是一用于媒体网关器的硬件***架构之第二实施例的框图;
图3是具有包头/标题及用户数据的一数据包的简图;
图4是一用于媒体网关器的硬件***架构之第三实施例的框图。
图5是本发明软件***一逻辑分区的框图;
图6是图5之软件***的第一具体实现的框图;
图7是图5之软件***的第二具体实现的框图;
图8是图5之软件***的第三具体实现的框图;
图9是本发明硬件***的媒体引擎组件之第一实施例的框图;
图10是本发明硬件***的媒体引擎组件之一较佳实施例的框图;
图10a是用于图10媒体引擎之媒体层组件的较佳架构的框图呈现;
图11是第一较佳处理部件的框图呈现;
图12是由该第一较佳处理部件进行之管线处理基于时间的概略图;
图13是第二较佳处理部件的框图呈现;
图13a是由该第二较佳处理部件进行之管线处理的时序概略图;
图14是本发明硬件***的数据包处理组件之一较佳实施例的框图;
图15是本发明硬件***数据包处理器组件内的复数个网络接口之一实施例的概略呈现;
图16是用于促进本发明硬件***数据包处理器组件的控制及发送信号功能之复数个PCI接口的框图;
图17是本发明软件***多个组件之间通讯数据的第一示范流程图;
图17a是本发明软件***多个组件之间通讯数据的第二示范流程图;
图18是包含本发明软件***的媒体处理子***之较佳组件的概略图;
图19是包含本发明软件***的信息分包处理子***之较佳组件的概略图;
图20是包含本发明软件***的信号发送子***之较佳组件的概略图;
图21是包含本发明软件***的信令处理子***之较佳组件的概略图;
图22是在一实际DSP上可操作之主应用的框图;
图23是在一虚拟DSP上可操作之主应用的框图;
图24是一传统媒体处理***的框图;
图25是本发明一媒体处理***的框图;
图26是可适用于视频、文字及图形数据之统合处理的示范集成芯片架构的框图;
图27是绘出本发明之新颖装置的示范性输入及输出的框图;
图28是指出一像素被其它像素包围之先前技艺的框图;
图29a、29b及29c指出实行错误消除之新颖处理程序。
图30是本发明媒体处理器的一实施例之框图。
图31是本发明媒体处理器的另一实施例之框图。
图32是本发明媒体处理器的另一实施例之框图。
图33的流程图指出一示范芯片架构中视频压缩期间所达成多个状态的实施例;
图34是LZQ算法之一实施例的框图;
图35是该LZQ算法一实施例中一关键帧差异编码器的框图;
图36是本发明一实施例之关键帧译码器区块的框图;
图37是一改良LZQ算法的框图;
图38是本发明一示范实施例中所用的关键行差异块的框图;
图39是本发明压缩/解压缩架构的一实施例之框图。
图40是本发明视频处理器的一实施例之框图。
图41是本发明动作预估处理器的一实施例之框图;
图42是前述动作预估处理器之处理元素数组一实施例的简图;
图43是本发明DCT/IDCT的一实施例之框图;
图44是本发明后处理器的一实施例之框图;以及
图45是本发明软件堆栈的一实施例之框图。
具体实施方式
本发明是一种***集成芯片架构,其藉由复数个处理层具有可变化、分散的处理及记忆能力。本发明一实施例是一新颖的媒体处理装置,经设计是要使运用单独一个整合式处理部件以供所有视觉媒体的处理及通讯成为可能。现在将参照上述略图描述本发明。所用标题是为明晰目的,而不是要限制或以其它方式限制本文所揭示的内容。附图中若用箭头符号,本技艺中具一般能力者应能理解该等箭号表示组件和(或)组件藉由总线或其它种类通讯管道互相连结。
参照图1,显示的是一示范分散处理层处理器(DPLP)100的框图。该分散处理层处理器100包含复数个处理层105各自藉由通讯数据总线彼此通讯,并藉由通讯数据总线及处理层接口115与一处理层控制器107及中央直接存储器存取(DMA)控制器110通讯。各处理层105与一中央处理器接口106通讯,其接着与一中央处理器104通讯。在各处理层105之内,复数个管线化处理部件(PUs)130藉由通讯数据总线与复数个程序存储器135及数据存储器140通讯。程序存储器135及数据存储器140最好各自可经数据总线由至少一处理部件130存取。各个处理部件310、程序存储器135,以及数据存储器140是经通讯数据总线与一外部存储器147通讯。
在一较佳实施例中,处理层控制器107管理任务的调度以及给予各处理层105之处理任务的分配。处理层控制器107以一依序循环方式仲裁由程序存储器135及数据存储器140来回的数据及程序代码传送请求。依此仲裁的基础,该处理层控制器107填充定义上述部件如何直接存取存储器的数据路径,也就是直接存储器存取信道(未显示)。该处理层控制器107能够进行指令译码以依数据流安排一指令的路由并追踪所有处理部件130的请求状态,像是写入请求、回写请求以及指令转发的状态。处理层控制器107进一步能够实行接口相关功能,像是为直接存储器存取信道编程序、激活信号的生成、维持处理部件130在各处理层105内的页状态、译码调度器指令,以及管理数据来回各处理部件130之任务队列的动作。藉由实行上述功能,该处理层控制器107实质上消除在各处理层105中所出现的处理部件130伴随相关复杂状态机器的需求。
该直接存储器存取控制器110,其是用于处理本机存储器缓冲区处理部件与外部存储器(例如同步动态随机存取存储器(SDRAM))之间数据传送的多信道直接存储器存取部件。各处理层105具有独立直接存储器存取信道,经安排以供由处理部件的本机存储器缓冲区来回传送数据。其最好是一仲裁程序,像是一单层的依序循环仲裁,介于直接存储器存取内的信道至该外部存储器之间。直接存储器存取控制器110,提供硬件支持以供跨处理部件130及处理层105的依序循环请求仲裁。各直接存储器存取信道彼此独立发挥功能。在一示范操作 中,最好藉由运用本机存储器地址、外部存储器地址、缓冲区大小、传送方向(也就是直接存储器存取信道是由外部存储器传送数据至本机存储器或反过来),以及各处理部件130所需多少传送,实施本机处理部件存储器及外部存储器之间的传送。直接存储器存取控制器110最好进一步能够为程序代码攫取要求仲裁优先权,实施连结表横移以及产生直接存储器存取信道信息,并进行直接存储器取信道预取以及生成信号。
处理层控制器107及直接存储器存取控制器110是与复数个通讯接口160、190通讯,其中控制信息及数据经该等接口传输。分散处理层处理器100最好包括一外部存储器接口170(像是一动态直接随机存取存储器接口),其可与处理层控制器107及直接存储器存取控制器110通讯,并与一外部存储器147通讯。
在各处理层105内,有复数个管线化处理部件130,特别为进行一组已知处理任务所设计。如是观之,该等处理部件并不是一般目的处理器,也就不能用以进行任意处理任务。对具体的处理任务之调查及分析得到某些功能部件共同特性,当其结合起来得到一特殊化处理部件,有能力可最佳化处理这些特殊处理任务的范围。各处理部件的指令集架构得出精简码。增加程序代码密度导致所需存储器减少,并因而导致所需面积、功率及存储器传输量减少。
在各处理层内,最好该等处理部件130的运作是依据由该处理层控制器107经一先入先出(FIFO)任务队列(未显示)所调度的任务。该管线架构改进性能。管线是一实现技术,多重指令藉此在执行时重迭。在一计算机管线中,该管线内各步骤完成一指令的一部分。如同一装配线,不同步骤平行地完成不同指令的不同部分。这些步骤各自称为一管线阶段或一数据段。这些步骤连结至下一步骤以形成一管线。在一处理器内,指令进入管线的一端,经该等步骤进展,并由另一端离开。一指令管线的生产量是由一指令离开该管线的频率判定。
此外,在各处理层105内有一组分散的存储器库140,其使得要实施一被指派处理任务所需要的指令集、处理过的信息及其它数据能够在本机储存。藉由将存储器140分配在离散的处理层105内,分散处理层处理器100保有弹性并 得到高产品收得率。传统上,某些数字信号处理器芯片的制造在一单芯片上并不具有超过9兆字节的存储器,因为随存储器区块增加,不良晶圆(由于损坏的存储器区块)的机率也增加。本发明中,该分散处理层处理器100可藉由纳入多余的处理层105而制造出具有12兆字节或更多存储器。纳入多余处理层105的能力使得具有较多存储器之芯片的制造成为可能,因为若一组存储器区块损坏,与其丢弃整个芯片,可以把在其内发现该损毁存储器部件的处理层置之不理,而使用其它处理层替代。该多重处理层的可变本性容许冗余也就因此容许更高产品收得率。
虽然本发明的分层架构并不限于特定数目的处理层,某些实际限制可能限定可纳入一单一分散处理层处理器的处理层数目。具本技艺一般能力者应能理解如何判定由外在条件设下的处理限制,像是该***上的传输量及频宽约束,其限制处理层的可行数目。
示范应用例
本发明可用来使得一新颖媒体网关器的操作成为可能。该新颖网关器的硬件***架构包含复数个分散处理层处理器(称为“媒体引擎”)与一数据总线通讯,并与一主处理器或一数据包引擎互相连接,后者接下来与连至网络的接口通讯,最好是一异步传送模式(ATM)的实际装置或千兆位媒体独立接口(GMII)实际装置。
参照图2a,显示的是最上层硬件***架构的第一实施例。一数据总线205a连接至存在第一新颖I型媒体引擎215a及第二新颖I型媒体引擎220a上的接口210a第一I型媒体引擎215a和第二I型媒体引擎220a是经由第二组通讯总线225a连接至一新颖数据包引擎230a,后者接着经接口235a连接至输出240a、245a。各个该等I型媒体引擎215a、220a最好与一静态随机存取存储器246a及同步动态随机存储器247a通讯。
最好数据总线205a是一时分复用器(TDM)总线。一时分复用器总线是用于跨越一单独通讯媒介同时传输多个分开的语音、传真、调制解调器、视频及 (或)其它数据信号的路径。该等分开的信号是藉由各信号彼此交错一部分而被传输,因而使得一通讯信道能够处理多重分开的传输而避免需要对各传输贡献一分开的通讯信道。现有的网络使用时分复用器以由一通讯装置传输数据至另一通讯装置。第一I型媒体引擎215a及第二新颖I型媒体引擎220a上所存在的接口210a更好能依循H.100协议,这一硬件规范详述要为计算机机箱的周边组件扩展接口(PCI)插槽在物理层实现一计算机电话总线(CT bus)接口所需信息,与软件规范无关。该计算机电话总线定义一跨过多个个人计算机机箱卡插槽的等时通讯总线,并容许相对可变的多个组件之互操作。应可理解,遵守不同硬件规范的接口可用来由数据总线205a接收信号。
如下述,该两新颖I型媒体引擎215a、220a各自可支持复数个信道以供处理媒体,像是语音。其所支持信道的特定数目是依所需的特性而定,像是回声消除,以及所支持的编码译码类型。就具有相对低处理能力需求的编码译码器而言(像是G.711),I型媒体引擎215a、220a各可支持约256或更多个语音信道的处理。各个I型媒体引擎215a、220a是经由一通讯总线225a与数据包引擎通讯,最好是一周边组件互连(PCI)通讯总线。一周边组件互连通讯总线是用来传送控制信息,并在I型媒体引擎215a、220a及数据包引擎芯片230a之间传送数据。由于I型媒体引擎215a、220a经设计是要支持(相对于下述II型媒体引擎)较低的数据量处理,一单独周边组件互连通讯总线可有效地支持在所定芯片之间的控制及数据传送。然而,应可理解当数据传输量变得太大,该周边组件互连通讯总线应以第二芯片间通讯总线补充。
数据包引擎230a经通讯总线225a由两I型媒体引擎215a、220a各自接收已处理数据。虽然理论上可连接至复数个I型媒体引擎,在此实施例中最好该数据包引擎230a是与至多两I型媒体引擎215a、220a通讯。如下文将进一步详述,该数据包引擎230a为数据信道(在一较佳实施例中约为2016个信道)提供单元及数据包的封装,为传输量管理提供服务功能品质,为分化之服务及多重协议卷标切换做标记,并提供为单元及数据包网络桥接的能力。虽然最好使用 数据包引擎230a,其可以一不同主处理器取代,其限制条件为该主处理器能够实行该数据包引擎230a的上述功能。
该数据包引擎230a与一异步传送模式实际装置240a及千兆位媒体独立接口实际装置245a通讯。该异步传送模式实际装置240a能够接收已处理及已封包数据,例如经过数据包引擎230a由I型媒体引擎215a、220a传来,并将其经过以异步传送模式操作的网络(ATM网络)传送。如本技艺中具一般能力者所能理解,一异步传送模式网络自动调整网络容量以符合***需求,并可处理语音、调制解调器、传真、视频和其它数据信号。各异步传送模式数据单元(或数据包)由包头的5个八位字节加上供用户数据的48个八位字节组成。该包头包含辨别相关单元的数据,一逻辑地址辨别路由设定、包头错误更正位,加上供优先权处理及网络管理功能的位。一异步传送模式网络是一宽频、低迟延、连结为导向、类似数据包的交换及复用网络,其可容许相对有弹性的传输频宽使用。该千兆位媒体独立接口实际装置245a依特定数据量的接收及传输为标准来操作,不论所涉及的媒材类型为何。
图2a显示的实施例可提出最高达光载体等级1(OC-1)的语音处理。光载体等级1是设计在每秒51.840兆位,并为同步传输信号(STS-1)的直接电子对光学映像提供帧同步扰码。更高的光载体等级是OC-1的直接乘积,也就是说OC-3是OC-1速率的3倍。如下文所述,本发明的其它配置可用于支持以OC-12运作的语音处理。
现在参照图2b,显示的是支持数据速率最高至OC-3的实施例,在本文中以OC-3管道200b指称。一数据总线205b连接至存在第一新颖II型媒体引擎215b及第二新颖II型媒体引擎220b上的接口210b。第一新颖II型媒体引擎215b和第二新颖II型媒体引擎220b经过第二组通讯总线225b、227b连接至一新颖数据包引擎230b,其接下来经过接口260b、265b连接至输出240b、245b并经接口250b连接至主处理器255b。如前所讨论,最好数据总线205b是一时分复用(TDM)总线且在第一新颖II型媒体引擎215b及第二新颖II型媒体引擎 220b上存在的接口210b遵循H.100硬件规范。依然可理解,遵守不同硬件规范的接口可用来由数据总线205b接收信号。
该两新颖I型媒体引擎215b、220b各自可支持复数个信道以供处理媒体,像是语音。其所支持信道的特定数目是依所需的特性而定,像是回声消除,以及所执行的编码译码类型。对于具有相对低处理能力需求的编码译码器(像是G.711),以及所需要的回声消除范围是128微秒时,各个II型媒体引擎可支持约2016个语音频道的处理。具有两II型媒体引擎提供处理能力,此配置能够支持OC-3数据速率。当II型媒体引擎215b、220b执行需要较高处理能力的编码译码器时,像是G.729A,所支持的信道数量减少。举例来说,所支持信道的数目由支持G.711时的每个II型媒体引擎2016,减至支持G.729A时的约672到1029信道。为符合OC-3,一额外II型媒体引擎可经共享通讯总线225b、227b连接至数据包引擎230b。
各个II型媒体引擎215b、220b是经通讯总线225b、227b与数据包引擎230b通讯,最好是一周边组件互连(PCI)通讯总线225b以及一UTOPIA II/POSII通讯总线227b。如前述,当数据传输量超过某阀值,该周边组件互连通讯总线225b必须以一第二通讯总线227b补充。该第二通讯总线227b最好是一UTOPIA II/POS-II总线,并充当介于II型媒体引擎215b、220b与数据包引擎230b之间的数据路径。一POS(同步光纤网上数据包)总线表示一种经过直接连接传送数据的高速方法,其容许数据以其原本格式流通而没有显着水平的信令及控制信息形式之包头添加。UTOPIA(异步传送模式接口的通用测试及操作)指的是一种在物理层的传输会聚子层与依物理介质而定的子层之间的电子接口,并发挥为装置连接至一异步传送模式(ATM)网络的接口之功能。
该实际接口经配置是要以同步光纤网上数据包二代(POS-II)模式,其可容许不同大小的数据框传送。各数据包是用同步光纤网上数据包二代控制信号传送,以明白定义一数据包的启始及终止。如图3所示,各数据包300包含一具有复数个信息的包头305以及用户资料310。各包头305最好包含多个信息字段,包括数据包种类315(像是实时传输协议、原始编码语音、AAL2),数据 包长度(包括信息字段的数据包总长),以及信道识别325(识别实际信道,也就是该数据包将前往或该数据包从之而来的时分复用器插槽)。安排在II型媒体引擎215b、220b及数据包引擎230b之间传送的已编码数据时,进一步最好能在包头305中包括编码器/译码器类型330、序号335,以及语音活动侦测结果340。
数据包引擎230b是经过一周边组件互连目标接口250b与主处理器255b通讯。该数据包引擎230b最好在PCI接口226b到PCI通讯总线225b以及PCI目标接口250b之间包括一PCI对PCI桥接(未显示)。该PCI对PCI桥接充作在主处理器255b与两II型媒体引擎215b、220b之间通讯信息的链路。
该新颖数据包引擎230b经通讯总线225b、227b由两II型媒体引擎215b、220b各自接收已处理数据。虽然理论上能够连接至复数个II型媒体引擎,最好数据包引擎230b与不超过三个II型媒体引擎215b、220b(图2b中仅显两个)通讯。如前文所描述的实施例,该数据包引擎230b为数据信道(当实行G.711时最多为1048个信道)提供单元及数据包的封装,为传输量管理提供服务功能品质,为分化之服务及多重协议卷标切换做标记,并提供为单元及数据包网络桥接的能力。数据包引擎230b分别经过一UTOPIA II/POS II兼容接口以及千兆位媒体独立接口兼容接口265b,与一异步传送模式(ATM)实际装置240b以及千兆位媒体独立接口实际装置245b通讯。除了在物理层中的GMII接口265b(本文中称为PYH GMII接口),该数据包引擎230b也最好在该网络的媒介存取控制(MAC)层内具有另一GMII接口(未显示),后者在本文中称为MAC GMII接口。MAC是定义该数据连接层下半部的一媒介专属存取控制协议,其定义用于工业标准局域网络规范并且与网络布局相依的存取控制协议。
如接下来将进一步讨论,数据包引擎230b经设计是要使异步传送模式-网际协议(ATM-IP)网际互连成为可能。电信服务提供者已建立在一异步传送模式或网际协议基础上操作的独立网络。使异步传送模式-网际协议的网际互连成为可能,容许服务提供者支持跨越一单独网络基础设施的大致所有数字服务,因而减少由于跨服务提供者全部网络所具有多重技术/协议所引入的复杂性。数据 包引擎230b也就经设计要藉由提供介于异步传送模式模式及网际协议之间的网际互连使一共通网络基础设施成为可能。
更明确地说,该新颖数据包引擎230b支持多个异步传送模式AAL(ATM配适层)至特定网际协议的网际互连。分成一会聚子层以及分段/重组子层,ATM配适层完成由更高层、原始格式及服务规范至该异步传送模式层的转换。从数据发起的来源,该处理包括原始及较大数据组分段成为异步传送模式单元的大小及格式,其包含48个八位字节数据负载以及5个八位字节的包头。在接收侧,ATM配适层完成数据重组。AAL-1发挥支持A类传输量的功能,其为连接导向的固定位率(CBR)、时间相关的传输量,像是未压缩、数字化的语音及视频,且其为串流导向并相对较不能忍受延迟。AAL-2发挥支持B类传输量的功能,其为需要来源与接收器之间相对较精确同步的连接导向之可变位率(VBR)等时传输,像是未压缩的语音及视频。AAL-5发挥支持C类传输量的功能,其为需要较对最少排序或侦测支持的可变位率(VBR)可容许延迟的连接导向之等时传输,像是信令及控制数据。
这些异步传送模式ALLs是以在一IP网络上可操作的协议(像是RTP、UDP、TCP及IP)网际互连。网际协议(IP)描述为不同节点追踪网址,为离开讯息设定路由,并辨识流入讯息,同时容许数据包由源头至目的穿过多个网络的软件。实时传输协议(RTP)是为了以数据包在IP之上实时传送多媒体流的一种标准并支持类似实时的传送,像是在互动视频及数据包交换网络上的视频。传输控制协议(TCP)是一传送层、连接导向、终端至终端的协议,其提供送至一远程或本机用户的相对可靠、排序并不可重复之字节传递。用户数据报协议(UDP)为数据报交换作准备而不确认保证送达,并且是一种传送层、无连结模式的协议。在图2b中呈现的较佳实施例中,最好异步传送模式AAL-1是与RTP、UDP及IP协议网际互连,AAL-2是与UDP及IP网际互连,且AAL-5是与UDP及IP协议或TCP及IP协议网际互连。
如图2b所示,多重OC-3管道可互相连接以形成支持更高数据速率的管道。如图4所示,四个OC-3管道405可互相连接,或成「菊花链」,合起来形成 一OC-12管道400。形成菊花链是把装置连接为序列的一种方法,以致于信号由一装置通到另一装置。藉由使菊花链成为可能,本发明提供目前难以获得的数据量可扩性支持以及硬件实现。一主处理器455经由通讯总线425与各个OC-3管道405上的周边组件互连接口(最好是周边组件互连通讯总线)435连接。各个OC-3管道405具有一时分复用器接口460,经由一时分复用器通讯总线465运作以经由一时分复用器接口接收时分复用器信号(未显示)。各个OC-3管道405进一步经一通讯总线495与一异步传送模式实际装置490通讯,该通讯总线经一UTOPIA II/POS II接口470连接至该OC-3管道405。由OC-3管道405所接收且未经处理的数据,例如由于该数据包是导向在该定OC-3管道405中找不到的一特定数据包引擎地址,是经物理GMII接口410送至该序列中的下一个OC-3管道405,并经该媒介存取控制GMII接口413由下一个OC-3管道接收。让菊花链成为可能,消除为了能够整合而在各OC-3管道上有一外部聚合器与GMII接***接的需要。最后的OC-3管道405是经物理GMII接口410与一GMII实际装置417通讯。
依上述硬件架构实施例运作的是复数个新颖、整合软件***,经设计以使媒体处理、信令及数据包处理成为可能。参照图5,显示的是该软件***500的逻辑分类。该软件***500分割成三个子***,一媒体处理子***505、一信息分包子***540,以及一信令/管理子***570。各子***505、540、570进一步包含一序列的模块,其经设计是要实施不同任务以便实行媒体的处理及传输。模块520最好经设计以便包括基本上不可分割的单一核心任务。例如,示范的模块包括像是回声消除、编码译码器实施、调度、IP为基础的信息分包,以及ATM为基础的信息分包。本发明中所配置模块520的本性及功能将进一步描述如下。
图5的逻辑***可用许多方式实际配置,依据部分由于该新颖软件架构的处理需要,将详述于下。如图6所示,图5中所描述该软件***的一实际实施例是在一单芯片上,其中媒体处理区块610、信息分包区块620,以及管理区块630全都在该相同芯片上运作。若处理需求增加,也就需要更多芯片能力投注至 媒体处理,该软件***可实际实现以致于该媒体处理区块710及信息分包区块720在一数字信号处理器(DSP)715上操作,该DSP经一数据总线770与在一独立主处理器735之上运作的管理区块730通讯,如图7所指出。同样地,若处理需求进一步增加,处理区810及信息分包区820可在独立的DSP 860、865上实现,并经数据总线870彼此通讯且与在一独立主处理器835上操作的管理区通讯,如图8所示。在各区之内,该等模块可实际地分离成不同处理器以使得更高程度的***可扩性成为可能。
在一较佳实施例中,四个OC-3管道结合成一单个集成电路(IC)卡,其中各OC-3管道经配置以实施媒体处理及信息分包任务。该集成电路具有四个OC-3管道藉数据总线通讯。如上述,该等OC-3管道各自具有三个II型媒体引擎处理器经芯片间通讯总线与一数据包引擎处理器通讯。该数据包引擎处理器具有一MAC及PHY接口,藉此实施对OC-3外部的通讯。第一OC-3管道的PHY接口是与第二OC-3的MAC接口通讯。同样地,第二OC-3管道的PHY接口与第三OC-3管道的MAC接口通讯,而该第三OC-3管道的PHY接口是与第四OC-3管道的MAC接口通讯。第一OC-3管道的MAC接口是与一主处理器的PHY接口通讯。各个II型媒体引擎实现本发明的媒体处理子***,在图5中以505指出。各个数据包引擎处理器实现本发明的信息分包子***,在图5中以540指出。该主处理器实现管理子***,在图5中以570指出。
接下来将进一步描述最高层级的硬件***架构之主要组件,包括I型媒体引擎、II型媒体引擎以及数据包引擎。此外,软件架构配上特定的特征也将进一步详细描述
媒体引擎
I型媒体引擎及II型媒体引擎都是分散处理层处理器的类种,也就包含分层的架构,其中各层编码并译码最多N个语音、传真、调制解调器或其它依頼分层配置的频道。各层实现一组经实质上最佳硬件及软件分区的特别设计管线化处理部件,以实施特定媒体处理功能。该处理部件是特殊功能数字信号处理器,各自经最佳化以实施一个(或一类)特定的信号处理功能。藉由制造能够表现一类 良好定义之功能(像是回声消除或编码译码实施)的多个处理部件,并将他们置入一管线结构中,本发明提供具有实质上比传统方式表现更好的媒体处理***和方法。
参照图9,显示的是I型媒体引擎900的概略图。I型媒体引擎900包含复数个媒体层905各自经通讯总线数据总线920与一直接存储器存取(DMA)控制器910通讯。运用一DMA方法使得可以略过一***处理部件以管理直接在其自身与***存储器之间的数据传送。各个媒体层905进一步包含与通讯数据总线920互相连接的直接存储器存取925接口。接下来,该DMA接口925经通讯总线数据总线920与复数个管线处理部件930各自通讯,并且经过置于直接存储器存取接口和各个处理部件930之间的通讯数据总线920与复数个程序和数据存储器940通讯,。程序及数据存储器940也经数据总线920与各个处理部件930通讯。各处理部件930最好可存取至少一程序存储器以及至少一数据存储器单元940。此外,最好具有至少一先进先出任务队列(未显示)以接收受调度的任务并将之排入队列以供由处理部件930操作。
虽然本发明的分层架构并不限于特定数目的媒体层,某些实际限制可能限定可迭至一I型媒体引擎内的媒体处理层数目。随着媒体层的数目增加,记忆及装置输入/输出频宽可增加至一程度以致于存储器需求、引线数、密度及能量消耗受不利影响,并变得不符应用或经济需求。然而,这些实际限制并不表示本发明的范畴和本质的限制。
媒体层905经通讯总线920与连至该中央处理部件950的一接口(CPU IF)通讯。该中央处理器接口950由一外部调度器955、直接存储器存取控制器910、周边组件互连接口(PCI IF)960、静态随机存储器接口(SRAM IF)975以及连至一外部存储器的接口,像是经通讯总线920的同步动态随机存取存储器接口(SDRAM IF)970,传送并接收控制信号及数据该周边组件互连接口(PCI IF)960最好是用于控制信号。该SDRAM IF 970连接至一同步动态随机存取存储器模块,其中该存储器存取周期是与中央处理器时脉同步以便消除与随机存取存储器(RAM)及CPU之间的记忆撷取有关的等待时间。在一较佳实施例中,连 接处理器与同步动态随机存取存储器的SDRAM IF 970支持133兆赫同步DRAM以及异步存储器。它支持一同步动态随机存取存储器库(64兆位/256兆位至最多256兆字节)以及四个异步装置(8/16/32位)具有32位并固定长度的数据路径以及未知长度的区块传送器并容纳背对背传送器。可有八个事务处理排入队列以供操作。该同步动态随机存取存储器(未显示)包含该等处理部件930的状态。虽然并非偏好,本技艺具一般能力者应该理解可选用其它外部存储器配置及种类以代替同步动态随机存取存储器,并且因此另一类存储器接口可用来代替同步动态随机存取存储器接口970使用。
同步动态随机存取存储器接口970进一步经通讯总线920与周边组件互连接口960、直接存储器存取控制器910、中央处理器接口950,最好还有静态随机存储器接口(SRAM IF)975通讯。SRAM(未显示)是随机存取存储器形式之静态随机存储器,其留存数据而不经常更新,提供相对快的存储器存取。静态随机存储器接口975也经数据总线920与一时分复用器接口(TDM IF)980、中央处理器接口950、直接存储器存取控制器910,以及周边组件互连接口通讯。
在一较佳实施例中,时分复用器接口980最好是H.100/H.110兼容,且该时分复用器总线981以8.192兆赫操作。该I型媒体引擎900能够提供八个数据信号,因而得到一最多达512全双工信道的容量,该时分复用器接口980具有下述较佳特征;一H.100/H.110兼容从设备,帧长可设为16或20样本且调度器可设定时分复用器接口980以储存特定缓存器或帧长、为最大数目信道所用的可编程交错点。该时分复用器接口最好在8,000赫兹的时钟每N次抽样后中断调度器,其中数字N是可编程的而可能数值为2、4、6和8。在一语音应用中,时分复用器接口980最好并不是以逐次抽样(sample-by-sample)方式传送脉冲编码调制(PCM)资料至存储器,而是缓冲一信道的十六或二十个(依所用编码器及译码器的帧长而定)抽样,再传送该频道的语音数据至存储器。
周边组件互连接口960也经通讯总线920与直接存储器存取控制器910通讯。外部连接包含时分复用器接口980与一时分复用器总线981之间、静态随机存储器接口975与一静态随机存储器总线976之间、同步动态随机存取存储 器接口970与同步动态随机存取存储器总线971之间的连接,其最好是以32位在133兆赫下操作,以及在周边组件互连接口960与一PCI 2.1总线961之间也最好以32位133兆赫操作。
在I型媒体引擎之外,调度器955将信道对映至媒体层905以供处理。当调度器955处理一新信道时,它将该信道指定至其中一层,依据各层905可获得的处理层资源而定。各层905安排复数个信道的处理以致于处理是平行进行并分割成固定帧,或数据部分。调度器955透过以任务型式至先入先出任务队列的数据传输与各媒体层905通讯,其中各任务是对该媒体层905以一特定信道处理复数个数据部分的要求。因此该调度器955最好藉由把一任务置入一任务队列发动由一频道而来之数据的处理,而不要分别为每个处理部件930排定程序。更明确地说,最好让调度器955藉由把一任务置入特定处理部件930的任务队列中激活由一信道而来之数据的处理,并让该媒体层905的管线架构处理传至后续处理部件930的数据流。
调度器955应处理各个信道处理的速率。在一实施例中媒体层905必须接受由M个信道而来的数据之处理,且各信道使用T微秒的帧长,然后调度器955最好在各个T微秒时间间隔内处理各M个信道的一数据帧。此外,在一较佳实施例中,该调度是依据由时分复用器接口980而来的周期中断(以抽样单位的型式)。如一例中,若中断期间是2个抽样,那幺最好每次收集到所有信道的二个新抽样,时分复用器接口980中断调度器。调度器最好维持一「滴答计数」,在每一中断增量并且当时间等于所经过帧长时重设至零。信道对时间空档的映像最好并非固定不变。例如,在语音应用中,只要在一信道上开始一呼叫,调度器动态地指定一层至一预知的时间空档信道。此外,最好由一时分复用器缓冲区至该存储器的数据传送是与此数据处理的时间空档对齐,也就把用于由时分复用器至存储器(以及反方向)之不同信道的数据传送交错开来,其方法等同于不同信道之处理的交错。因此,时分复用器接口980最好进一步维持一滴答计数变量,其中时分复用器的滴答计数与调度器955之间大略同步。上述示范实施例中,该滴答计数变量依据缓冲区大小每2或2.5微秒设定为零。
参照图10,显示的是II型媒体引擎1000的框图。II型媒体引擎1000包含复数个各自与处理层控制器(在此称为媒体层控制器)1007通讯的媒体层1005,并经通讯数据总线及接口1015与中央直接存储器存取(DMA)控制器1010通讯。各媒体层1005与一中央处理器接口1006通讯,其接着与一中央处理器1004通讯。在各媒体层1005之内,复数个管线化处理部件(PUs)1030藉由通讯数据总线与复数个程序存储器1035及数据存储器1040通讯。各处理部件1030最好可存取至少一程序存储器1035以及一数据存储器1040。各个处理部件1030、程序存储器1035,以及数据存储器1040是经媒体层控制器1007及直接存储器存取1010与一外部存储器1047通讯。在一较佳实施例中,各媒体层1005包含四个处理部件1030,其各与一单独程序存储器1035及数据存储器1040通讯,其中各个处理部件1031、10321033、1034与该媒体层1005内的各个其它处理部件1031、1032、1033、1034通讯。
图10a所示,所提出的是媒体层控制器(MLC)架构的一较佳实施例。一程序存储器1005a,最好是512乘64,与一控制器1010a及数据存储器1015a一起运作以传递数据及指令至数据寄存盘1017a(最好是16乘32)以及地址寄存盘1020a(最好是4乘12)。数据寄存盘1017a及地址寄存盘1020a与能部件通讯,像是地址/媒介存取控制1025a、还辑部件1027a以及桶形移位器1030a,并与像是请求仲裁逻辑运算器1033a及直接存储器存取信道库1035a通讯。
回过去参见图10,多层控制器(MLC)1007以一依序循环方式仲裁数据及程序代码传送请求由程序存储器1035及数据存储器140来回。依此仲裁的基础,该媒体层控制器1007填充定义上述部件如何直接存取存储器的数据路径,也就是直接存储器存取信道(未显示)。该媒体层控制器1007能够进行指令译码以依数据流安排一指令的路由并追踪所有处理部件1030的请求状态,像是写入请求、回写请求以及指令转发的状态。媒体层控制器1007进一步能够实行接口相关功能,像是为直接存储器存取信道编程序、激活信号的产生、维持处理部件1030在各媒体层1005内的页状态、译码调度器指令,以及管理数据来回各处理部件130之任务队列的动作。藉由实行上述功能,该媒体层控制器1007实 质上消除在各媒体层1005中所出现的处理部件1030伴随相关复杂状态机器的需求。
该直接存储器存取控制器1010是用于处理本机存储器缓冲区处理部件与外部存储器(例如同步动态随机存取存储器(SDRAM))之间之数据传送的多频道直接存储器存取部件。直接存储器存取信道最好经动态的程序设计。更明确地说,处理部件1030产生独立需求,各自具有一相关优先级别,并被送到媒体层控制器1007以供读取或写入。依据由一特定处理部件1030传来的优先性请求,媒体层控制器1007因此设定该直接存储器存取信道的程序。其最好也是一仲裁程序,像是一单层的依序循环仲裁,介于直接存储器存取内的信道至该外部存储器之间。直接存储器存取控制器1010提供硬件支持以供跨处理部件1030及媒体层1005的依序循环请求仲裁。
在一示范操作中,最好藉由运用本机存储器地址、外部存储器地址、缓冲区大小、传送方向(也就是直接存储器存取信道是由外部存储器传送数据至本机存储器或反过来),以及各处理部件所要求的传送有多少,实施本机处理部件存储器及外部存储器之间的传送。在此较佳实施例中,制造一直接存储器存取信道由位于该直接存储器存取内的的两个32位寄存器接此信息。第三个寄存器在直接存储器存取与包含DMA传送目前状态的各处理部件之间交换控制信息。在一较佳实施例中,仲裁是在以下要求之间实施:由各媒体层而来的一架构读出、四数据读出及四数据写入,全部约为九十个数据要求,以及由各媒体层而来的四程序代码撷取要求,总共约四十个程序代码撷取要求。直接存储器存取控制器1010最好进一步能够为程序代码撷取要求仲裁优先权,实施连结表横移以及产生直接存储器存取信道信息,并进行直接存储器存取信道预取以及生成信号。
媒体层控制器1007及直接存储器存取控制器1010经通讯总线与一中央处理器接口(CPU IF)1006通讯。周边组件互连接口1060经通讯总线与一外部存储器接口(像是一同步动态随机存取存储器接口)1070以及该中央处理器接口1006通讯。
外部存储器接口1070进一步经通讯总线与该媒体层控制器1007及直接存储器存取控制器1010及时分复用器接口1080通讯。同步动态随机存取存储器接口1070经通讯数据总线与一数据包处理器接口通讯,像是UTOPIA II/POS兼容接口(U2/POS IF)。U2/POS IF 1090最好也与中央处理器接口1006通讯。虽然周边组件互连接口及同步动态随机存取存储器接口的最佳实施例和I型媒体引擎类似,最好时分复用器接口1080实现所有三十二个串联数据信号,因此支持至少2048个全双工信道。外部连接包括时分复用器接口1080与时分复用器总线1081之间、外部存储器1070与一存储器总线1071之间的连接,最好是用64位以133兆赫操作,周边组件互连接口1060与周边组件互连2.1版总线1061之间的连接最好是用32位以133兆赫操作,以及在U2/POS接口1090与UTOPIA II/POS连接1091之间最好是以每秒622兆位操作。在一较佳实施例中,时分复用器接口1080最好是H.100/H.110兼容,且该时分复用器总线1081以8.192兆赫操作,如前文关于媒体引擎的描述。
就I型媒体引擎以及II型媒体引擎而言,各媒体层内,本发明运用复数个特别设计用于行一组已知处理任务的管线化处理部件。如是观之,该等处理部件并不是一般目的处理器,也就不能用以进行任意处理任务。对具体的处理任务之调查及分析得到某些功能部件共同特性,当其结合起来得到一特殊化处理部件,有能力可最佳化处理这些特殊处理任务的范围。各处理部件的指令集架构得出精简码。增加程序代码密度导致所需存储器减少,并因而导致所需面积、功率及存储器传输量减少。
该管线架构也改进性能。管线是一实现技术,多重指令藉此在执行时重迭。在一计算机管线中,该管线内各步骤完成一指令的一部分。如同一装配线,不同步骤平行地完成不同指令的不同部分。这些步骤各自称为一管线阶段或一数据段。这些步骤连结至下一步骤以形成一管线。在一处理器内,指令进入管线的一端,经该等步骤进展,并由另一端离开。一指令管线的生产量是由一指令离开该管线的频率判定。
更明确地说,在一管线架构中,一种处理部件(本文中称为EC PU)经特别设计要实行复数个媒体处理功能,像是回声消除(EC)、语音活动侦测(VAD),以及音调信令(TS)功能。回声消除移去可能由于反射及(或)修改之输入信号反向回传至输入信号的起源所引起的信号回声。一般来说,当信号由一扩音器发出然后经一麦克风接收并重传输时出现回声(声学回声),或是当一远程信号在传输过程中沿杂线产生的反射(线路回声)。虽然并不受欢迎,在一电话***中回声可被容忍,只要回声轨迹的时间迟延相对短。然而,较长的回声延迟对远程讲者而言可能分心或混淆。信号活动侦测判定是否在输入中存在一有意义的信号或噪音。音调信令包含一电路或网络之上藉音调方式处理监督、地址,以及警告信号。监督信号监控一线路或电路的状态以判定它是否忙线、空闲,或要求服务。警告信号指出一进来的通话抵达。寻址信号包含排定路由及目标信息。
线路回声消除(LEC)、VAD以及TS功能可用一处理部件有效地实施,其具有多个单周期乘加(MAC)单元与一地址生成部件以及指令译码器一同运作。各乘加单元包含一压缩器、多个加法及进位寄存器、一加法器,以及一饱和暨舍入逻辑运算器。在一较佳实施例中,如图11所示,此处理部件1100包含具有一单独地址生成部件(AGU)1105的负载储存架构,其支持无额外开销运算回路(zero over-head looping)并以延迟切口进行分支,还有一指令译码器1106。该等复数个乘加单元1110是在两个16位运算对象上平行操作并实行下述函数:
Acc+=a*b
保护位是用相加及进位寄存器添加以促进反复的媒介存取控制操作。一可变单元避免累加器溢位。各乘加单元1110可经程序以自动进行舍入操作。此外,其最好具有一加法/减法部件(未显示)像是一条件式总和加法器,其两输入运算对象为20位数值且输出运算对象为16位数值。
实际操作上,该回声消除运算部件以管线方式实施任务。第一管线阶段包含一指令撷取,其中指令是由程序存储器撷取入一指令寄存器。第二管线阶段包含一指令译码器及运算对象撷取,其中一指令是被译码器并储存在一译码器寄存器中。在此循环中激活硬件回路机器。由数据寄存盘而来的运算对象是储存在运 算对象寄存器中。地址生成部件(AGU)在此循环中操作。该地址置于数据存储器地址总线。在储存操作的情形下,数据也置于数据存储器数据总线。至于之后的增或减指令,待该地址被置于地址总线后或增或减。所得结果被写回地址寄存盘。第三管线阶段,即执行阶段,包含藉由加法/减法部件及乘加单元对所撷取运算对象的运算。状态寄存器更新且该算出结果或由存储器加载的数据储存在数据/地址寄存盘中。回声消除处理部件的操作所需之状态及历史信息经由一多信道直接存储器存取接口(如之前在各媒体层中所显示者)相比。该回声消除处理部件直接针对直接存储器存取控制器寄存器配置。回声消除处理部件把直接存储器存取链接指针载以该链接头的存储器位置。
藉由使得不同数据流同时移动经过该等管线阶段,回声消除处理部件减少为处理进入媒体(像是语音)的等待时间。参考图12,在时间空档1 1205中,实施一取指令任务(IF)以供处理由信道1 1250而来的数据。在时间空档2 1206中,实施取指令任务以供处理由信道2 1255而来的数据,而同时实施一指令译码及取运算对象(IDOF)以供处理由信道1 1250而来的数据。在时间空档3 1207中,实施一取指令任务以供处理由信道3 1260而来的数据,而同时实施一指令译码及取运算对象(IDOF)以供处理由信道2 1255而来的数据,并实施一执行(Ex)任务以供处理由信道1 1250而来的数据。本技艺中具一般能力者应能理解,由于信道是动态生成,信道编号可能并不反映一任务的实际定位及指定。此处的信道编号仅用来指出跨多重信道管线化的概念,并不代表实际任务位置。
第二类处理部件(本文中以CODEC PU指称)经特别设计以采一管线架构实施复数个媒体处理功能,像是依特定标准及协议编码及译码信号,包括由国际电信同盟(ITU)所发起的像是语音标准,包括G.711、G.723.1、G.726、G.728、G.729A/B/E以及数据调制解调器标准,包括V.17、V.34以及V.90,并实施和谐背景音产生(CNG)和不连续发送(DTX)功能。各种编码译码器是用来以不同程度的复杂性以及所得品质编码并译码语音信号。CNG产生一背景噪音以便给用户联机持续而未中断的感觉。DTX功能是当所接收帧包含静音时实施,而不在语音传输时实施。
编码译码、和谐背景音产生,以及不连续发送功能可用具有一算术逻辑部件(ALU)、乘加单元、桶形移位器以及正规化部件的一处理部件有效率地执行在一较佳实施例中,如图13所示,此编码译码器处理部件1300包含具有一单独地址生成部件(AGU)1305的负载储存架构,其支持无额外开销运算回路(zeroover-head looping)及无额外开销分支(zero overhead branching)并以延缺口进行分支,还有一指令译码器1306。
在一示范实施例中,各乘加单元1310包含一压缩器、多个加法及进位寄存器、一加法器,以及一饱和暨舍入逻辑运算器。该乘加单元1310作为一压缩器实施,其具有传入压缩树的反馈以供累加。媒介存取控制的一较佳实施例1310有具一周期通过量的约两周期的传输延迟时间。媒介存取控制1310以17位的运算对象操作,不论其是否带有符号。中间结果存于加总进位寄存器内。保护位附加至加总进位寄存器以供反复的乘与加(MAC)运作。饱和逻辑将总和进位结果转换成32位数值。舍入逻辑把一32位舍入成为一16位数字。除法逻辑也在该乘加单元1310中实现。
在一示范实施例中,算术逻辑部件1320包含一32位加法器及一能够运行复数个操作的32位逻辑电路,包括加法、加法进位、减法、减法借位、正负反向、逻辑“与”运算(AND)、逻辑“或”运算(OR)、逻辑互斥(XOR)以及逻辑互补(NOT)。该算术逻辑部件1320的其中一个输入具有一XOR数组,其以32位运算对象操作。包含一绝对值部件、一逻辑部件以及一加法/减法部件,该算术逻辑部件1320的绝对值部件驱动此数组。依据该绝对值部件的输出,输入运算对象与1或0作逻辑互斥运算以对输入运算对象实行正负反向。
在示范实施例中,桶形移位器1330与算术逻辑部件1320串联放置并如同在任何算术逻辑部件操作之后需要一移位操作之运算对象的前移位器。一类较佳的桶形移位器可在16位或32位运算对象上实行最大往左9位或往右26位的算术移位。桶形移位器的输出是一32位数值,其可进入该算术逻辑部件1320的两输入。
在一示范实施例中,正规化部件1340计数该数字的多余正负值位。它依16位数字。负数被反转以计算该多余符号位要被正规化的数字送入该逻辑互斥数组。其它输入由该数字的符号位而来。若所处理的媒体是语音,最好具有一接口传至回声消除部件。该回声消除处理部件用一VAD以判定所接收到的一帧包含静音或话语。VAD判定结果最好与编码译码器处理部件通讯,以至其可判定是要实行编码译码或不连续发送功能。
实际操作上,该编码译码器运算部件以管线方式实施任务。第一管线阶段包含一指令撷取,其中该指令是由程序存储器撷取入一指令寄存器。在此同时,下一个程序计数器数值是在该程序计数器中计算并储存。此外,回路及分支判定结果是在同一周期内进行。第二管线阶段包含一指令译码及运算对象撷取,其中一指令是被译码并储存在一译码寄存器中。指令译码、寄存器读取以及分支决定都发生在该指令译码阶段。第三管线阶段(即执行1阶段)中,桶形移位器及乘加压缩器树完成他们的运算。对数据存储器的地址也在此阶段实施。第四管线阶段(即执行2阶段)中,算术逻辑部件、正规化部件以及乘加加法器完成他们的运算。在执行2阶段末了寄存器写回并且地址寄存器更新。编码译码器处理部件的操作所需之状态及历史信息经由一多信道直接存储器存取接口(如之前在各媒体层中所显示者)撷取。
藉由使得不同数据流能够同时移动经过该等管线阶段,编码译码器处理部件减少为处理进入媒体(像是语音)的等待时间。参考图13a,在时间空档1 1305a中,实施一取指令任务(IF)以供处理由信道1 1350a而来的数据。在时间空档2 1306a中,实施取指令任务以供处理由信道2 1355a而来的数据,而同时实施一指令译码及取运算对象(IDOF)以供处理由信道1 1305a而来的数据。在时间空档3 1307a中,实施一取指令任务以供处理由信道3 1360a而来的数据,而同时实施一指令译码及取运算对象(IDOF)以供处理由信道2 1355a而来的数据,并实施一执行1(Ex1)任务以供处理由信道1 1350a而来的数据。在时间空档4 1308a中,实施一取指令任务以供处理由信道41 370a而来的数据,而同时实施一指令译码及取运算对象(IDOF)以供处理由信道3 1360a而来的数据,实施一执行1(EX1)任务以供处理由信道2 1355a而来的数据,并实施 一执行2(EX2)任务以供处理由信道1 1350a而来的数据。本技艺中具一般能力者应能理解,由于信道是动态生成,信道编号可能并不反映一任务的实际定位及指定。此处的信道编号仅用来指出跨多重信道管线化的概念,并不代表实际任务位置。
本发明的管线架构并不限于在处理部件内的指令处理,也存在于处理部件至处理部件架构的层次。如13b图所示,多重处理部件可在用管线方式对一数据组N操作以完成复数个任务的处理,其中各任务包含复数个步骤。第一处理部件1305b可能能够实行回声消除功能,标示为任务A。第二处理部件1310b可能能够实行音调信令功能,标示为任务B。第三处理部件1315b可能能够实行第一组编码功能,标示为任务C。第四处理部件1320b可能能够实行第二组编码功能,标示为任务D。在时间空档1 1350b中,第一处理部件1305b在数据组N上实行任务A1 1380b。在时间空档2 1355b中,第一处理部件1305b在数据组N上实行任务A2 1381b,并且第二处理部件1310b在数据组N上实行任务B1 1387b。在时间空档3 1360b中,第一处理部件1305b在数据组N上实行任务A3 1382b,第二处理部件1310b在数据组N上实行任务B2 1388b,并且第三处理部件1315b在数据组N上实行任务C1 1394b。在时间空档41365b中,第一处理部件1305b在数据组N上实行任务A4 1383b,第二处理部件1310b在数据组N上实行任务B3 1389b,第三处理部件1315b在数据组N上实行任务C2 1395b,并且第四处理部件1320b在数据组N上实行任务D11330。在时间空档5 1370b中,第一处理部件1305b在数据组N上实行任务A5 1384b,第二处理部件1310b在数据组N上实行任务B4 1390b,第三处理部件1315b在数据组N上实行任务C3 1396b,并且第四处理部件1320b在数据组N上实行任务D2 1331。在时间空档6 1375b中,第一处理部件1305b在数据组N上实行任务A5 1385b,第二处理部件1310b在数据组N上实行任务B4 1391b,第三处理部件1315b在数据组N上实行任务C3 1397b,并且第四处理部件1320b在数据组N上实行任务D2 1332。本技术中具一般技术者应能理解管线处理将可以如何进一步改善。
在此示范实施例中,具有管线的特殊化处理部件的组合使得在单独媒体层上处理更多信道为可能。其中各信道实行G.711编码译码以及128微秒的回声尾音消除,其配上并用DTMF侦测/生成、语音活动侦测(VID)、和谐背景音产生(CNG),以及通话区分,该媒体引擎层以各信道1.95兆赫操作。所得信道功率消耗是在各信道约为6微瓦,用0.13μ标准单元技术。
数据包引擎
本发明的数据包引擎是一通讯处理器,其在一较佳实施例中支持用于电路交换网络、数据包为主的IP网络以及单元为主的异步传送模式网络的复数个接口及协议。该数据包引擎包含一独特的架构能够提供复数个功能以供媒体处理成为可能,包括(但不限于)单元及数据包封装,供传输量管理的服务质量功能以及为其它服务的传送加上标记,多重协议标志交换,以及为单元网络和数据包网络桥接的能力。
参照图14,提供的是数据包引擎的一示范架构1400。所指实施例中,数据包引擎1400经配置以处理最多约达OC-12的数据速率。本技艺中具一般能力者应能了解可就基本架构做出一定修改以增加超越OC-12的数据处理速率。数据包引擎1400包含复数个处理器1405、一主处理器1430、一异步传送模式引擎1440、往内的直接存储器存取信道1450、往外的直接存储器存取信道1455、复数个网络接口1460、复数个寄存器1470、存储器1480、连至外部存储器的接口1490,以及接收控制及信令信息的方法1495。
该等处理器1405包含一内部高速缓存1407、中央处理部件接口1409,以及数据存储器1411。在一较佳实施例中,该等处理器1405包含具有16千字节指令高速缓存以及12千字节本机存储器的32位精简指令集(RISC)处理器。该中央处理部件接口1409容许处理器1405与该数据包引擎1400之内及之外的其它存储器通讯。该处理器1405最好能够处理往内及往外的通讯传输量。在一较佳实施例中,通常一半的处理器处理往内传输量而另一半处理往外传输量。处理器1405内的存储器1411最好区分成复数个记忆库以致于数据包引擎1400的不同组件可独立存取该存储器而不需争用,因而增加总体产出量。在一较佳实 施例中,存储器区分成三个存储器库,以致于往内的直接存储器存取信道可写入存储器库一,而处理器是处理由存储器库二传来的数据,同时往外的直接存储器存取信道是由存储器库三传送处理过的数据包。
异步传送模式引擎1440包含两主要亚组件,在本文中分别称为异步传送模式接收引擎(ATMRx Engine)以及异步传送模式传送引擎(ATMTx Engine)。异步传送模式接收引擎处理进来的异步传送模式单元包头并传送该单元以供相应的应用编程接口(API)协议(也就是AAL1、AAL2、AAL5),在内部存储器中处理或传至另一单元管理器(若其位于该***外部)。异步传送模式传送引擎处理出去的异步传送模式单元并要求往外直接存储器存取信道以传送数据至一特定接口,像是UTOPIA II/POS II接口。最好,其具有分别独立的本机存储器区块以供数据交换。异步传送模式引擎1440举数据存储器1483共同操作以将一应用编程接口(即AAL2)映像至时分复用器总线上相应的信道(若该数据包引擎1400是连接至一媒体引擎),或映像至相应的IP信道辨识器(若需要IP及异步传送模式***之间的网际互连)。内部存储器1480运用一独立区块以维持复数个查表以供将信道辨识符与虚拟路径标识符(VIP)、虚拟信道标识符(VCI)以及兼容之标识符(CID)比较及(或)关连。虚拟路径标识符是在该异步传送模式单元包头中的一8位字段,指出该单元应在其上设定路由的虚拟路径。虚拟信道标识符是一虚拟信道的地址或标志,其包含一独特的数字标记,由异步传送模式单元包头中的一16位字段所定义,其标识装置间通话过程期间单元流应在其上行进的虚拟信道。该等复数个查找表最好由主处理器1430更新,并由异步传送模式接收引擎及异步传送模式传送引擎分享。
该主处理器1430最好是具有一指令快记存储器的一精简指令集处理器1431。该主处理器1430经一中央处理器接口1432与其它硬件区块通讯,其中该接口能够管理跨过一总线(像是一周边组件互连总线)与媒体引擎的通讯,并经一PCI对PCI桥接与一主机(像是一信令主机)通讯。主处理器1430能够被其它处理器1405透过其中断讯号的传送而被中断,该等中断讯号是由在中央处理器接口内的一中断处理程序1433管理。主处理器1430最好还能够实施下述功能:1)激活处理,包括由一闪速存储器至一外部存储器加载程序代码并开始执 行,启始接口及内部寄存器,作为一周边组件互连主机,并适当地将其配置,然后设定信令主机、数据包引擎、媒体引擎之间的处理器间通讯;2)直接存储器存取配置;3)特定的某些网络管理功能;4)处理例外,像是解析未知地址、分段数据包,或带有无效包头的数据包;4)在***停机期间提供查找表的中间储存;5)IP堆栈实施;6)为该数据包引擎外部的用户提供一讯息为基础的接口以供经由(尤其是)控制及信令方式与该数据引擎通讯。
在一较佳实施例中,提供两直接存储器存取信道以供经数据总线在不同存储器之间的数据交换。参照图14,往内的直接存储器存取信道1450是用来处理进到该数据包引擎1400之数据处理组件的传输量,而且往外直接存储器存取信道1455是用来处理传至复数个网络接口1460的离开传输量,往内直接存储器存取信道1450处理所有进入该数据包引擎1400的数据。
为了接收及传送数据至异步传送模式及IP网络,该数据包引擎1400具有复数个网络接口1460,其容许数据包引擎跨多个网络兼容通讯。参照图15,在一较佳实施例中,该等网络接口包含一GMII PHY接口1562、一GMII MAC接口1564,以及两UTOPIA II/POS II接口1566,与622兆字节的ATM/SONET连接1568通讯以接收并传送数据。就IP为基础的传输量来说,数据包引擎(未显示)支持媒介存取控制并仿真该以太网络接口的PHY层,如IEEE 802.3所指明。该千兆位以太网媒介存取控制1570包含先入先出1503以及一控制状态机器1525。传送及接收先入先出1503是为千兆位以太网媒介存取控制1570与总线信道接口1505之间的数据交换而提供。总线信道接口1505是经总线信道与往外的直接存储器存取信道1515以及往内的直接存储器存取信道1520通讯。当接口数据由千兆位媒体独立接口媒介存取控制接口1564接收来,媒介存取控制1570最好送一请求至直接存储器存取1520以供数据移动。一旦接收到该请求,直接存储器存取1520最好检查在媒介存取控制接口1564中的任务队列(未显示)并传送排在队列中的数据包。在一较佳实施例中,该媒介存取控制接口中的任务队列是一组64位寄存器,其包含一数据结构至少是由数据长度、来源地址以及目的地址所组成。当直接存储器存取1520为复数个目的(未显示)维持写入指示器时,并不会用到该目的地址。直接存储器存取1520将越过总线信道 移动数据至位于该等处理器内的存储器,并将把任务的数目及预定的存储器位置写入。待完成所有任务的写入,直接存储器存取1520将把传送至存储器页面的任务总数写入。处理器将处理器接收到的数据,并将写入该直接存储器存取一往外信道的任务队列。往外直接存储器存取信道1515将检查存在该等存储器位置的帧数,待读取任务队列后,将把数据移动至I型或II型媒体引擎的POS II接口,或移动至接口对异步传送模式实行桥接处的外部存储器位置。
就异步传送模式传输量或异步传送模式与IP结合的传输量而言数据包引擎支持两个可配置的UTOPIA II/POS II接口1566,其提供一接口位于IP/ATM传输所用的PHY层及其更上层之间。该UTOPIA II/POS II 1580包含先入先出1504以及一控制状态机器。传送及接收先入先出1504是为UTOPIA II/POS II 1580与总线信道接口1506之间的数据交换而提供。总线信道接口1506是经总线信道与往外的直接存储器存取信道1515以及往内的直接存储器存取信道1520通讯。该等UTOPIA II/POS II接口1566可被配置为UTOPIA第二级或POS第二级模式其中之一。当数据在UTOPIA II/POS II接口1566上接收,数据将把任务队列中已存在的任务往前推动,并请求直接存储器存取1520移动该数据。直接存储器存取1520将由该UTOPIA II/POS II接口1566读取任务队列,其中该接口包含的数据结构是由数据长度、来源地址,以及接口种类所组成。依据接口种类(例如POS或UTOPIA),往内直接存储器存取信道1520将送数据至复数个处理器(未显示)或送至异步传送模式接收引擎(未显示)两者之一。待数据写入异步传送模式接收存储器后,是由异步传送模式引擎处理器并传至对应的ATM配适(AAL)层。在传送侧,数据由各自的ATM配适层移至该异步传送模式传送引擎的内部存储器(未显示)异步传送模式传送引擎在该单元开始处***所需要的异步传送模式包头,并将请求往外的直接存储器存取信道1515把该数据移至UTOPIA II/POS II接口1566,其具有一任务队列是带有如下数据结构:数据长度以及来源地址。
参见图16,为促进控制及信令功能,数据包引擎1600有复数个PCI接口1605、1606,在图14中以1495指称。在一较佳实施例中,一信令主机1610藉由一发起器1612经一通讯总线1617传送要由数据包引擎1600接收的讯息 至一PCI目标1605。该PCI目标进一步经一PCI对PCI桥接1620与一PCI发起器1606通讯。该PCI发起器1606经一通讯总线1618送讯息至复数个媒体引擎1650,其各自具有一带有一存储器队列1665的存储器1660。
软件架构
如前文讨论,依上述硬件架构实施例运作的是复数个新颖、整合软件***,经设计以使媒体处理、信令及数据包处理成为可能。该新颖软件架构使得图5所呈现的逻辑***可以实际依据处理需求以多种方式配置。
该软件***中任两模块(或组件)之间的通讯是藉助于多个应用编程接口(API),其保持实质上不变且一致而不论该软件组件是居于一硬件组件上或跨越多重硬件组件。如此作法允许多个组件映像至不同处理组件上,因而修改实际接口,而不需同时修改个别组件。
在一示范实施例中,如图17所示,第一组件1705分别经第一接口1720及第二接口1725与第二组件及第三组件1715共同运作。由于所有三个组件1705、1710、1715都在同一个实际处理器1700上执行,第一接口1720及第二接口1725透过由三组件1705、1710、1715各自的API所实施的功能映像执行接***接。参照图17a,其中第一1705a、第二1710a、第三1715a组件分别存在分离的硬件组件1700a、1701a、1002a上,像是分离的处理器或处理组件,第一接口1720a及第二接口1725a透过共享存储器中的队列1721a、1726a实现接***接任务。虽然接口1720a、1725a不再限于功能映像及讯息传送,该等组件1705a、1710a、1715a持续用相同API实行组件间的通讯。标准API的一致使用让一分散处理环境中不同组件对不同硬件架构的端口分配成为可能,其法是藉由在需要处修改接口或驱动程序而其自身并无修改。
参照图18,显示的是该软件***1800的逻辑分区。该软件***1800分割成三个子***,一媒体处理子***1805、一信息分包子***1840,以及一信令/管理子***1870(自此之后指称为信令子系)。媒体处理子***18055送已编码数据至信息分包子***1840以供封装并在网络上传送,且接收由该信息分包 子***1840来要被译码并播出的数据。信令子***1870与信息分包子***1840通讯以得到状态信息(像是已传送数据包的数目),以监视服务质量、尤其是控制特定信道的模式。信令子***1870也与信息分包子***1840通讯以控制为通话开始及结束之信息分包会话的建立及中断。各子***1805、1840、1870进一步包含一序列的组件1820,其经设计是要实施不同任务以便实行媒体的处理及传输。各组件1820经APIs与任一其它模块、子***或***进行通讯,该等API实质上保持不变且一致不论该等组件是否存在一硬件组件上或跨越多重硬件组件,如前文讨论。
如图19所示,在一示范实施例中,媒体处理子***1905包含一***应用编程接口(API)组件1907、媒体API组件1909、实时媒体内核1910以及语音处理组件,包括线路回声消除组件1911、专用于实施语音活动侦测的组件1913、和谐背景音产生1915,以及不连续发送管理1917、一专用于处理语音信令功能的组件1919(像是双音调(DTMF/MF)、通话进程、通话等待以及通话者识别)、以及为语音1927、传真1929以及其它数据1931用于媒体编码和译码功能的组件。
***API组件1907应能够提供一***广泛的管理并使得个别组件能够紧密互动,包括建立外部应用与个别组件之间的通讯、映像程序执行时的组件加入或移除、由中央服务器下载程序代码,以及因应由其它组件而来的请求存取多个组件的管理***库(MIB)。媒体API组件1909与实时媒体内核_1910及个别语音处理组件互动。该实时媒体内核1910分配媒体处理资源、监控在各媒体处理组件上的资源使用量,并实施负载平衡以实质上最大化其密度及效能。
语音处理组件可分配给多重处理组件。线路回声消除组件1911配置适应性的过滤器运算法以移除可能由于反射及(或)修改之输入信号反向回传至输入信号的起源所引起的信号回声。在一较佳实施例中,线路回声消除组件1911经程序设计以实现下述过滤办法:长度为N的一适应性有限脉冲响应(FIR)过滤器是用一收敛程序使其收敛,像是一最小平方法。适应性过滤器生成一被过滤的输出,其方式是藉由取得在接收路径上的远程信号之个别抽样,将该等抽样与算出 的过滤系数缠绕,再在适当时间减去在该传送信道上而来之接收到信号的计算回声估计值。一旦完成收敛,该过滤器再用ARMA-Levinson法的一通用式转换成一无限脉冲响应(IIR)过滤器。在操作期间,数据是由一输入源接收并以最小平方(LSM)办法用来适应该IIR过滤器的原点,保持坐标轴固定。该适应程序生成一组收敛的过滤器系数,其可再接着应用于输入信号以产生一修改过的信号而用来过滤该数据。监控修改后的信号与实际接收信号之间的误差并用来进一步适应该IIR过濍器的原点。若估计误差大于预先决定的阀值,借着再返回该FIR收敛步骤重新激活收敛程序。
语音活动侦测组件1913接收进来的数据,并依据某些数据参数的分析判定语音或其它种类信号(例如噪音)是否出现在收到的数据中。和谐背景音产生组件1915的运作是要发送一无声***描述因子(SID),其包含的信息使得一译码器能够对应于由该传送所接收到的背景噪音而产生噪音。已知一可听见但并不突出的噪音覆盖在帮助用户辨别一联机是接通或中断时相当有价值。SID帧通常很小,也就是在G.729B编码译码器规范之下约15个位。每当背景噪音有足够改变时,最好将更新的SID帧送至译码器。
音调信令组件1919(包括DTMF/MF、通话进程、通话等候以及通话者身份的辨识)运作以截取意谓要指出一特殊活动或事件的音调,像是进行两阶段拨号(若是DTMF音调的情况)、提取语音信件以及接收一进来通话(若是通话等待的情况),并以可理解的方式将该活动或事件的性质传至一接收装置,因而避免把该音调信号当作一语音流当中的其它组件编码。在一实施例中,该音调信令组件1919能够辨认复数个音调,因此当接收到一音调时就送出复数个辨别该音调的实时传输协议(RTP)数据包,还有其它指针,像是该音调的长度。藉由携带一已认出音调的发生,该RTP数据包搬运与该音调相关的事件至一接收部件。在一第二实施例中,该音调信令组件1919能够产生一动态的RTP设定文件,其中该RTP设定档携带详述该音调本质的信息,像其频率、音量及持续时间。藉由携带该音调的本质,RTP数据包搬运该音调至接收部件并允许该接收部件解读音调,并因而解读与其相关的事件或活动。
用于语音1927、传真1929以及其它数据193的媒体编码及译码功能组件(称为codecs),是依国际电信同盟(ITU)标准规范设计,像是为语音、传真以及其它数据编码及译码的G.711。用于语音、数据及传真通讯的一示范编码译码器是国际电信同盟标准G.711,往往称为脉冲编码调制。G.711是具有8,000赫兹抽样率的波形编码译码器。在均匀量化之下,信号位准通常需要每样本至少12位,得到每秒96千位(kbps)的位速率。在非均匀量化之下,也就常见所用者,信号位准需要约每样本8位,得出64kbps速率。其它语音编码译码器包括ITU标准G.723.1、G.726以及G.729A/B/E,以上所有都为熟悉本技艺人士知晓并理解。传真媒体处理组件1929支扰的其它ITU标准最好包括T.38以及属于V.xx之类的标准,像是V.17、V.90以及V.34。用于传真的示范编码译码器包括ITU标准T.4及T.30。T.4解决传真影像的格式以及由发送者至接收者的传输,其方法是藉由详列传真机如何扫描文件、所扫描的线条如何编码、所用的调制方式,以及所用的传输方式。其它编码译码器包括ITU标准T.38。
参照图20,在一示范实施例中,信息分包子***2040包含一***应用编程接口组件2043、信息分包应用编程接口组件2045、POSIX API 2047、实时操作***(RTOS)2049、专用于实行此类服务质量功能的组件像是缓冲及传输量管理2050、用于使IP通讯成为可能的组件4051、用于使ATM通讯成为可能的组件2053、用于资源保留协议(RSVP)的组件2055,以及用于多协议标记交换(MPLS)的组件2057。信息分包子***2040运用将已编码语音/数据的封装成数据包以供在ATM及IP网络上传输,管理某些服务质量组件,包括数据包延迟、数据包遗失以及突波管理,并实现传输量调整(trafficshaping)以控制网络通讯量。信息分包API应用编程接口2045由与媒体处理子***(未显示)及信令子***(未显示)通讯而提供外部应用促进对信息分包子***2040的存取。
可移植操作***接口(POSIX)应用编程接口(API)2047层把操入作***(OS)与该等组件独立分开并提供该等组件一致的OS API,而因确保若该软件需移植至其它OS平台时在此层之上的该等组件并不需要修改。实时操作***(RTOS)2049的作用如同促进软件程序代码实现成为硬件指令的OS。
IP通讯组件2051支持供TCP/IP、UDP/IP,以及RTP/RTCP协议的信息分包。ATM通讯组件2053支持为AAL1、AAL2及AAL5协议的信息分包。最好在该数据包引擎的精简指令集处理器上实现RTP/UDP/IP堆栈。一部分的异步传送模式堆栈也最好在精简指令集处理器上实现,其中该异步传送模式堆栈比较密集运算的部分是在异步传送模式引擎上实现。
用于资源保留协议(RSVP)的组件2055指定用于IP网络的资源保留技术。RSVP协议使得资源能在参与者之间任何交换媒体的尝试之前能够为某一对话期间保留(或复数个对话期间)。通常有两级的服务成为可能,包括一保证等级仿真传统电路交换网络中所达到的品质,以及一受控负载实质上等于一网络在最佳表现及无负载状况中所达成的服务级别。操作上,一传送部件发出一PATH讯息经复数个路由器至一接收部件。该PATH讯息包含一传输量规范(Tspec),其提供关于发送者预期要发送之数据的细节,包括频宽需求及数据包大小。沿传输路径上各个能够实行VSVP的路由器建立一路径状态,其包括该PATH讯息的先前资源地址(先前的路由器)。接收部件以一保留请求(RESV)响应,其包括一流量规范具有Tspec及关于保留服务请求类型的信息,像是负载受控服务或确保服务。RESV讯息沿路由器路径以相反方式传回至发送部件。在各个路由器,只要此等资源可取得且接收者有权提出此要求,所要求资源都经配置。RESV最终抵达发送部件,确认所要求资源都已被保留。
用于多协议标记交换(MPLS)的组件2057运作以在一网络的入口标定传输量以判定由来源至目的路径中的下一个路由器。更明确地说,MPLS 2057组件附着一标志,其包含一路由器要转送数据包至IP包头之前的数据包所需所有信息。该标志的价值是用来找寻该路径中的下一次跳跃传输,以及该数据包转送至下一个路由器的基础。传统IP路由安排操作类似,不过MPLS程序要找到精确匹配,不是传统IP路由安排之中的最长匹配。
参照图21,在一示范实施例中,信令子***2170包含一用户应用程序AIP组件2173、***AIP组件2175、可移植操作***接口API 2177、实时操作***(RTOS)2179、一信令API 2181、专用于实施信令功能的组件像是为ATM 网络的信令堆栈2183以及为IP网络的信令堆栈2185,以及一网络管理组件2187。该信令应用编程接口2181包含一主控网关器及N个子网关器。一单独主控网关器可拥有N个与其相关的子网关器。该主控网关器进行由一ATM或IP网络抵达的进来通话的多路信号分离,并将该等通话安排路由至具有可取得资源的子网关器。该等子网关器为所有使用中的终端维持状态机器。该等子网关器可经复制以处理许多终端。用此设计,主控网关器及子网关器可位于一单独处理器上或跨越不同处理器,因而使得为大量终端的同时信令处理成为可能,并可供应实质可扩性。
用户应用API组件2173提供一方法以供外部应用与整个软件***交接,其包含媒体处理子***、信息分包子***,以及信令子***。网络管理组件2187支持本机及远程配置,以及透过简单网络管理协议(SNMP)支持的网络管理。该网络管理组件2187的部分配置能够与任一个其它组件通讯以实施配置及网络管理任务并可为远程任务要求(像是加入或移除特定组件)安排路由。用于ATM网络的信令堆栈2183包括对用户网络接口(UNI)的支持,以供利用AAL1、AAL2及AAL5协议的数据通讯。用户网络接口包含用于该程序的规范以及网关器***之间的协议,包含软件***及硬件***,以及一ATM网络。IP网络的信令堆栈2185包括对复数个已标准的支持,包括媒体网关器控制协议(MGCP)、H.323、会话启始协议(SIP)、H.248,以及以网络为基础的通话信令(NCS)。MGCP指定一协议转换器,其组件可分散于多个独立装置。MGCP使得在多重服务数据包网络边缘上运作的数据通讯设备(像是媒体网关器)的外部控制及管理成为可能。H.323标准定义一组呼叫控制、信道设定,以及用于并不必然需要提供保证服务的跨网络传送实时语音及视频的编码译码器规范,像是数据包网络。SIP是一种应用层协议,用于IP为基础的网络上会谈及电话通话之建立、修改以及终止,并且有能力在该通话建立时协议通话的特性及容量。H.248提供在媒体网关控制协议(MGCP)实现之下的建议。
为进一步使可扩性及实现的能够容易,本发明的软件方法及***并不需要运用处理硬件的特殊知识。参照图22,在一典型实施例中,一机应用2205经一中 断能力2220及共享存储器2230与一数字信号处理器2210互相作用。如图23所示,相同功能可透过操作一虚拟数字信号处理器程序2310的仿真执行而达成,其中该程序就如同应用码2320作为处理器2315上的一分开独立线程。此仿真执行是藉由一任务队列互斥锁2330及一条件变量2340而成为可能。该任务互斥锁2330保护在虚拟数字信号处理器程序2310及一资源管理器(未显示)共享的数据。该条件变量2340容许应用与虚拟数字信号处理器2310同步,其方法类似图22内中断2220的功能。
第二示范应用
简介
目前,视频和音频埠是分开的。为连接装置以传输视频,必须用笨重又昂贵的视频电缆。此外,常见的视频接线,像是视频图形阵列(VGA)及数字视频接口(DVI),并不携带音频数据。由于VGA是模拟传输,可用电缆长度并不受限而信号并无实质降级。最好用一广泛接纳的标准作为结合的音频及视频埠,万用串行汇流排(USB)尤其是USB 2.0。本技艺目前并无提供容许此一使用的集成芯片解决方案。
本发明是一***或一芯片,其支持视频类(尤其是MPEG 2/4、H.264)的编码译码器以及无损失图形编码译码器。其包括区辨不同种类的数据流的一新颖协议。明确地说,在编码器侧及译码器侧均呈现的一新颖***复用器能够区辨并管理每个在一数据流中的四组件:视频、音频、图形以及控制。本***也能够是实时或非实时,也就是说可储存已编码的数据流以供未来显示或可在任何种类网络上串流以供实时串流或非串流应用。本发明中,USB接口可用来传送标准清晰度视频与音频而不需压缩。无压缩的标准清晰度视频与音频需要少于250Mbps并以每秒248千位压缩音频。高清晰度视频可同样用无损失图形压缩传输。
藉由本新颖方式,有许多应用成为可能。例如,屏幕、投影机、摄影机、机顶盒、计算机、数字视频录像机以及电视,仅需要具有USB连接器而不需额外要求其它音频或视频埠需求。相对于依靠图形覆盖层,多媒体***可由整合式图形或具有标准视频的文字集约视频改进,因而使得USB至电视(TV)以及USB至计算机的应用还有(或)网际协议(IP)至TV及IP至计算机的应用成为可能。在利用IP通讯的例子中,数据将被封装并以服务质量软件(QoS)支持。
除了简化及改进连通性,本发明让如今仍无法完成的用户应用成为可能。在一实施例中,本发明使得家中复数个装置的无线连网成为可能,而不需要分配装置或路由器。包含本发明之集成芯片的装置附着至各个装置的通讯端口,像是机顶盒、屏幕、硬盘、电视、计算机、数字录像机、游戏设备(Xbox、任天堂、Playstation),并可用一控制装置控制,像是一遥控器、红外线控制器、键盘或鼠标。视频、图形以及音频可用该控制装置由任一装置安排路由至任一其它装置。控制装置也可用来输入数据至任一连网的装置。
因此,单独的屏幕可连网至复数个不同装置,包括一计算机、数字录像机、机顶盒、硬盘,或其它数据来源。一单独的投影仪可连网至复数个不同装置,包括一计算机、数字录像机、机顶盒、硬盘,或其它数据来源。一单独的电视可连网至复数个不同装置,包括一计算机、机顶盒、数字录像机、硬盘,或其它数据来源。此外,一单独的控制器可用来控制复数个电视、屏幕、投影仪、计算机、数字录像机、机顶盒、硬盘,或其它数据来源。
参见图27,更明确地说,一装置2705可接收媒体,包括由任一来源而来的任何模拟或数字视频、图形或音频媒体2701,以及由任何种类控制器(红外线、键盘、鼠标)而来的控制信息2703,透过任何联机或无线连网或直接连接。此时该装置2705可处理器并传输由控制器2703至该媒体来源2701的控制信息,以修改或影响被传输的媒体。该装置也可传输媒体至任一种显示器2709或任一种存储设备2710。图27中各组件可为本机或彼此远离,并经线路或无线连网或直接连接通讯数据。
此新颖发明因而能使控制器、媒体来源,以及显示器可以完全分离且独立,并进一步联合所有媒体类型的处理至一单个芯片。在一实施例中,一用户有一手持式的装置2705。该装置2705是一控制器,其所提供的控制器功能至少可在电视机遥控器、键盘或鼠标其中之一找到。装置2705可结合电视机遥控器、键盘或鼠标其中两项或全部三项的功能。装置2705包括本发明的集成芯片并可选择性地包括一小屏幕、数据存储器,以及传统上在一个人数据助理或便携式电话上找得到的其它功能。装置2705与一用户的媒体来源2701通讯数据,其中该来源可为一计算机、机顶盒、电视、数字录象机、DVD播放机,或其它数据来源。用户媒体来源2701可位于远程并经一无线网络存取。用户媒体来源2701也具有本发明的集成芯片。该装置也与一显示器2709通讯数据,其中该显示器可为任一型式的监视器、投影仪或电视屏幕,并可位于任何地方,像是旅店、家庭、公司、飞机、餐厅,或其它零售处。该显示器2709也有本发明的集成芯片。用户可由该媒体来源2701存取任何图形、视频或音频信息并将其显示在显示器2709上。用户也可修改由媒体来源2701来的媒体之编码类别,并将其存在位于远程并经一线路或无线连网或直接连接而能存取的存储设备2710。媒体来源2701及显示器2709之中每一个,集成芯片可纳入该设备或经一埠连接,像是一USB埠。
这些应用并不限于家庭且可用于商业环境,像是医院,以用于多重数据来源及监视器的监视及管理。该通讯网路可以是任一通讯总线协议。在一应用中,由一单个控制器所控制的X光机、金属探测器、摄像机、痕量检测器,以及其它数据来源所送来的数据并可传输至任一连网监视器,构成一安全网络。
高层架构
参见图25,显示的是本发明第二实施例2500的一框图。该***在传输端包含一媒体来源2501,例如可由一媒体处理装置提供或整合于其内;复数个媒体处理前部件2502、2503;一视频及图形编码器2504;一音频编码器2505;一复用器2506及控制器2507;集合起来整合成为媒体处理装置2515。来源2501传输图形、文字、视频及(或)音频数据至预处理部件2502、2503,其被处理并传送至视频及图形编码器2504和音频编码器2505。视频和图形编码器2505以及音频编码器2506在预处理多媒体数据上实施压缩或编码操作。该两编码器2504、2505更进一步以一控制电路以数据通讯连接至复用器2506,以使得复用器2506的功能性成为可能。该复用器2506结合由视频及图形编码器2405b和音频编码器2505已编码数据以形成一单个数据流。如此使得多重数据流越过 一物理层或媒介接入控制层(MAC layer)或任何适当网络2508由一处被带往另一处。
在接收端,该***包含多路信号分离器2509,视频及图形译码器2511,音频译码器2512以及复数个后处理部件2514、2515及2418,共同整合成为媒体处理装置2515。呈现在该网络2508上的该数据是由该多路信号分离器2509接收,其解析高速数据流成为原始的较低速数据流并将数据流转换成原始的多重数据流。多重数据流再传至不同译码器,也就是视频与图形译码器2511,以及音频译码器2512。各个该等译码器依据适当解压缩算法(最好是LZ77)把压缩的视频和图形以及音频数据解压缩,并将他们提交给后处理部件2513、1514,该部件让数据准备好以供显示或进一步执行。
媒体处理装置2515、2516两者均可为硬件模块或软件子程序,但在较佳实施例中,该等部件结合成一单独的集成芯片。该集成芯片被当作是数据存储器或数据传输***的一部分使用。
任何传统计算机的兼容端口可用于以本发明的集成芯片***传送数据。该集成芯片可与USB端口(最好是USB 2.0)结合以供更快的数据传输。因此一基本USB连接器可用来(与音频一起)传输所有视觉媒体,因而消除视频及图形接口的需要。标准清晰度视频及高清晰度视频也可不需压缩在USB之上传送,或藉由使用无损的图形压缩。
参照图26,集成芯片2600包含复数个处理层,其包括一视频译码器2601、视频代码转换器2602、图形编码译码器2603、音频处理器2604、后处理器2605,以及管理的精简指令集计算器2606;还有复数个接口/通讯协议,其包括音频视频输入/输出(LCD、VGA、TV)2608、通用输入/输出(GPIO)2609、IDE(交互开发环境)2610、以太网2611、USB 2612,以及红外线、键盘及鼠标控制器2613。该等接口/通讯协议的位置是经一非阻塞交叉连接2607与上述复数个处理层通讯。
该集成芯片2600具有多个有利的特性,包括SXGA图形重放,DVD重放,一图形引擎,一视频引擎,一视频后处理器,一DDR SDRAM控制器,一USB2.0接口,一交叉连接DMA,音频/视频输入/输出(VGA、LCD、TV),低功率,280针脚球栅数组封装(BGA),1600×1200的IP上之图形,远程PC图形及高清晰度影像,最高1000倍的压缩,能够在802.11上传输,整合为一的每秒百万条指令(MIPS)等级中央处理器,Linux及WinCE支持以供方便的应用软件整合,安全引擎以供安全数据传输,接线或无线连网,视频与控制器(键盘、鼠标、遥控器),以及视频/图形后处理器以供影像加强。
在此所纳入的视频编码译码器可包括译码所有分块压缩算法的编码译码器,特别像是MPEG-2、MPEG-4、WM-9、H.264、AVS、ARIB、H.261、H.263。可想而知,除了实现依照标准的编码译码器,本发明可实现专属的编码译码器。在一如此的应用中,一低复杂性编码器撷取在一PC中的视频帧,将他们压缩并在IP之上传送至一处理器。该处理器操作一译码器将该传输译码并在任一显示器(包括一投影仪、监视器或电视机)上显示该PC视频。以此低复杂性编码器在膝上型计算机中运行并以一处理器与连接至TV的无线模块通讯,人们可一大屏幕TV上分享以PC为基地的信息,像是相片、家庭影片、DVDs、网际网下载内容。
在此所纳入的图形编码译码器包括一1600×1200图形编码器以及1600×1200图形译码器。代码转换器使得任一编码译码器能够用帧速率、帧长或位速率以高品质转换至任何编码译码器。具有子母画面以及图形译码的两个同时高清晰度译码也可包括于此。本发明进一步最好包括可编程音频编码译码器支持,像是AC-3、AAC、DTS、Dolby、SRS、MP2、MP3以及WMA。接口也可包括10/100以太网(x2),USB 2.0(x2),IDE(32位PCI、UART、IrDA),DDR,Flash,视频像是VGA、LCD、HDMI(输入及输出)、CVBS(输入及输出)及分量视频(输入及输出)以及音频。同时亦使用任何数量本技艺中已知的安全机制提供安全性,包括Macrovision 7.1、HDCP、CGMS以及DTCP。
可想而知,若视频未压缩那幺在接收端仅需一USB端口以及一接口以便分配RGB至显示器以及音频至音频的译码器。若视频被压缩那幺在接收端也需要一图形解压缩部件。改进的视频品质是经后处理技术得到,像是误差消除、解块、解交错、抗闪烁、缩放、视频强化,以及色彩空间转换。明确地说,视频后处理包括除去多余人造物(像是抖动)的智能过滤。
该新颖集成芯片架构提供一处理编码译码器计算的应用专属分布式数据路径,以及解决编码译码器相关决定的一集中微处理器为基础之控制。所得架构能够处理关于编码的渐增复杂性、更多数目的编码译码器类型、更大量的每编码译码器处理需求、渐增的数据速率需求、数据品质(嘈杂、清晰)、多重标准,以及复杂的功能性。
该新颖架构可达成上述优点是因为它在其它特征之上特别具有相当多程度的平行处理。第一层次的并行算法包含一精简指令集微处理器,其智能地调用(或调度)数据路径以进行极明确的任务。第二层次的并行算法包含负载切换管理功能,其维持该等数据路径满载(此点将在下文显示并讨论)。第三层次的并行算法包含数据层自身,其足够专门化以实行明确的处理任务,像是动作预估或误差消除(将在下文显示并讨论)。
换句话说,在总体媒体处理器架构中,有多个可程序区块以提供大粒度并行算法(执行最上层控制内涵状态机器并维持程序调制解调器极简的编码/译码引擎)、中粒度并行算法(能够实现并调度任何分块DCT为基础编码译码器以供几近百分之百效率的媒体交换器),以及细粒度并行算法(执行复杂算术而运行最佳化微代码而的可编程功能部件,像是数据路径功能)。此独特架构在固定功能晶粒尺寸及功率状态下,可容许具有完全可编程性。
参照图30,所提供的是该集成芯片的另一透视图。该分散处理层处理器3000包含复数个处理层3005各自藉由通讯数据总线彼此通讯,并藉由通讯数据总线及处理层接口3015和一处理层控制器3007及中央直接存储器存取(DMA)控制器3010通讯。各处理层3005与一中央处理器接口3006通讯,其接着与一中央处理器3004通讯。在各处理层3005之内,复数个管线化处理 部件(PUs)3030藉由通讯数据总线与复数个程序存储器3035及数据存储器3040通讯。程序存储器3035及数据存储器3040最好各自可经数据总线由至少一处理部件3030存取。各个处理部件3030、程序存储器3035,以及数据存储器3040是经通讯数据总线与一外部存储器3047通讯。
在一较佳实施例中,处理层控制器3007管理任务的调度以及给予各处理层3005之处理任务的分配。处理层控制器3007以一依序循环方式仲裁由程序存储器3035及数据存储器3040来回的数据及程序代码传送请求。依此仲裁的基础,该处理层控制器3007填充定义上述部件如何直接存取存储器的数据路径,也就是直接存储器存取信道(未显示)。该处理层控制器3007能够进行指令译码以依数据流安排一指令的路由并追踪所有处理部件3030的请求状态,像是写入请求、回写请求以及指令转发的状态。处理层控制器3007进一步能够实行接口相关功能,像是为直接存储器存取信道编程序、激活信号的产生、维持处理部件3030在各处理层3005内的页状态、译码调度器指令,以及管理数据来回各处理部件3030之任务队列的动作。藉由实行上述功能,该处理层控制器3007实质上消除在各处理层3005中所出现的处理部件3030伴随相关复杂状态机器的需求。
该直接存储器存取控制器3010是用于处理本机存储器缓冲区处理部件与外部存储器(例如同步动态随机存取存储器(SDRAM))间之数据传送的多信道直接存储器存取部件。各处理层3005具有独立直接存储器存取信道经安排以供自处理部件的本机存储器缓冲区来回传送数据。最好存在一仲裁程序,像是一单层的依序循环仲裁,介于直接存储器存取内的信道至该外部存储器之间。直接存储器存取控制器3010提供硬件支持以供跨处理部件3030及处理层3005的依序循环请求仲裁。各直接存储器存取信道彼此独立发挥功能。在一示范操作中,最好藉由运用本机存储器地址、外部存储器地址、缓冲区大小、传送方向(也就是直接存储器存取信道是由外部存储器传送数据至本机存储器或反过来),以及各处理部件3030所需多少传送,实施本机处理部件存储器及外部存储器之间的传送。直接存储器存取控制器3010最好进一步能够为程序代码撷取要求仲裁优 先权,实施连结表横移以及产生直接存储器存取信道信息,并进行直接存储器存取信道预取以及生成信号。
处理层控制器3007及直接存储器存取控制器3010是与复数个通讯接口3060、3090通讯,其中控制信息及数据经该等接口传输。分散处理层处理器3000最好包括一外部存储器接口3070(像是一动态直接随机存取存储器接口),其可与处理层控制器3007及直接存储器存取控制器3010通讯,并与一外部存储器3047通讯。
在各处理层3005内,有复数个管线化处理部件3030,特别为进行一组已知处理任务所设计。如是观之,该等处理部件并不是一般目的处理器,也就不能用以进行任意处理任务。对具体的处理任务之调查及分析得到某些功能部件共同特性,当其结合起来得到一特殊化处理部件,有能力可最佳化处理这些特殊处理任务的范围。各处理部件的指令集架构得出精简码。增加程序代码密度导致所需存储器减少,并因而导致所需面积、功率及存储器传输量减少。
在各处理层内,最好该等处理部件3030的运作是依据由该处理层控制器3007经一先入先出(FIFO)任务队列(未显示)所调度的任务。该管线架构改进性能。管线是一实现技术,多重指令藉此在执行时重迭。在一计算机管线中,该管线内各步骤完成一指令的一部分。如同一装配线,不同步骤平行地完成不同指令的不同部分。这些步骤各自称为一管线阶段或一数据段。这些步骤连结至下一步骤以形成一管线。在一处理器内,指令进入管线的一端,经该等步骤进展,并由另一端离开。一指令管线的生产量是由一指令离开该管线的频率判定。
此外,在各处理层3005内有一组分散的存储器库3040,其可使得要实施一被指派之处理任务所需要的指令集、处理过的信息及其它数据之本机储存成为可能。藉由将存储器3040分配在离散的处理层3005内,分散处理层处理器3000保有弹性并得到高产品收得率传统上,某些数字信号处理器芯片的制造在一单芯片上并不具有超过9兆字节的存储器,因为随存储器区块增加,不良晶圆(由于损坏的存储器区块)的机率也增加。本发明中,该分散处理层处理器3000可藉由纳入多余的处理层3005而制造出具有12兆字节或更多存储器。纳入多余处 理层3005的能力使得具有较多存储器之芯片的制造成为可能,因为若一组存储器区块损坏,与其丢弃整个芯片,可以把在其内发现该损毁存储器部件的处理层置之不理,而使用其它处理层替代。该多重处理层的可变本性容许冗余也就因此容许更高产品收得率。
在一实施例中,该分散处理层处理器3000包含一视频编码处理层105以及一视频译码处理层105。在另一实施例中,该分散处理层处理器3000包含一视频编码处理层105、一图形处理层105,以及一视频译码处理层105。在另一实施例中,该分散处理层处理器3000包含一视频编码处理层105、一图形处理层105、一后处理层105,以及一视频译码处理层105。在另一实施例中,该等接口160、190包含DDR、存储器、各种视频输入、各种音频输入、以太网、PCI-E、ENAC、PIO、USB,以及本技艺中具一般能力者所知的任何其它数据输入。
视频处理部件
在一实施例中,视频处理部件(在图30中显示为一层)具有至少一层处理部件与数据及程序存储器通讯数据。一较佳实施例具有三层。各层具有至少一或多个下述个别处理部件:运动估计(ME)、离散余弦变换(DCT)、量化(QT)、反向离散余弦变换(IDCT)、反量化(IQT)、解块过滤器(DBF)、运动补偿(MC),以及算术编码(CABAC)。可想而知,算术编码仅是编码法的一例且本发明也可用VLC编码、CAVLC编码,或任何其它型式的编码实施。在一实施例中,各层具有上述所有处理部件配上两个运动估计处理部件。在另一实施例中,视频编码处理部件包含三层,而各层具有上述所有处理部件配上两个运动估计处理部件。上述处理部件可实现为硬件部件或应用专属数字信号处理器。最好离散余弦变换、量化、反向离散余弦变换、反量化以及解块过滤器是硬件区块,因为由一标准至另一标准这些功能并未改变太多。
在另一实施例中,该视频译码处理部件(图30中显示为一层)具有三层处理部件与数据及程序存储器通讯数据。各层具有至少一或多个下述个别处理部件:反向离散余弦变换(IDCT)、反量化(IQT)、解块过滤器(DBF)、运动 补偿(MC),以及算术编码(CABAC)。上述处理部件可实现为硬件部件或应用专属数字信号处理器。最好反向离散余弦变换、反量化以及解块过滤器是硬件区块,因为由一标准至另一标准这些功能并未改变太多。算术编码及运动补偿处理部件是专注且完全可编程的数字信号处理器,在其上分别运行实现算术编码及运动补偿的特定功能。
运动估计处理部件是具有超长指令字(VLIW)指令集的资料路径为主数字信号处理器。该运动估计处理部件能够对参照帧各自以四分之一像素分辨率实行彻底的搜寻。在两运动估计处理部件平行操作的一实施例中,该芯片可对两参照帧以固定窗口大小以及可变宏块大小实行全面搜寻。
运动补偿处理部件是简化版本的运动估计处理部件,在编码处理的重组期进行运动补偿。运动补偿的输出存回至存储器并用来当作是下一帧的参照帧。该运动补偿处理部件的控制器类似于运动估计,但仅支持该指令集的一子集。这幺做是为了减少单元计数以及设计的复杂性。
算术编码是能够进行不同种类熵编码的另一个数字信号处理器。
除了这些处理部件之外,各层有接口藉以和层控制引擎通讯以便在外部存储器及程序数据存储器之间移动数据。在一实施例中,存在四个接口(ME1接口、ME2接口、MC接口,以及算术编码接口)。调度任一任务之前,该控制引擎藉由请求对应接口由外部存储器仲裁并传送数据至其内部数据存储器而激活一数据撷取。由该等接口生成的请求首先透过对其激活者发出许可的一依序循环仲裁器仲裁。优胜接口最后用主要直接存储器存取以该方向移动数据,其中该方向是由层控制引擎指出。
层控制器由数字信号处理器接收任务,其中该DSP帧基底运行主要编码状态机器。在该层控制引擎之内有一任务队列。每当主要数字信号处理器调度一新任务,它先查看第一队列的状态标志。若并未设定为全满标志,将把新的任务推入该队列。另一方面,该层控制引擎抽样空标志以判定在该队列中是否有任何等着被处理的任务。若有,将会由队列的顶端送出并处理它。该任务将包含有关引用指针的信息,以及关于目前在外部存储器中之帧的信息。该层控制引擎使用此 信息计算用于目前被处理之数据各区域的指针。被撷取的信息通常是大块大块而来以改进外部存储器效率。每一块包含用于多种宏块的数据。数据移入以乒乓方式与各引擎连接的两存储器库其中之一。同样地,处理过的数据及重组帧使用在写出方向上的接口及DMA存回至存储器。
在一实施例中,视频处理层是一视频编码层。它接收由视频输入/输出区而来,以33.33微秒(msec)间隔的周期性嘀嗒信号中断。对各中断反应,它调用调度器。当调度器被调用,会采取下列动作:
1.它估算传至外部存储器的指针,其中参考值及当前帧均储存在此。
2.它判定执行中编码译码器种类所专属的参数。
3.在分配任何指令之前,该调度器判定层控制引擎是否举起全满标志。若
否,它将推动在其队列中的任务并等待下一个嘀嗒信号中断。
该层控制引擎抽样空标志样本的空标志以判定在该队列中是否有任何等着被处理的任务。若有,将会由队列的顶端送出并处理它。该任务将包含有关引用指针的信息,以及关于目前在外部存储器中之帧的信息。该层控制引擎使用此信息计算用于目前被处理之数据各区域的指针,以及将要被撷取数据的大小。它把对应信息存在其内部数据存储器。被撷取的信息通常是大块大块而来以改进外部存储器效率。它把目标及来源地址以及方向位及该数据的大小写至动作估计接口(ME IF)。接着它设定起始位。不需等待数据传送结束,它决定为其它引擎的未决数据传送请求。若确实有此等请求,它为每一个重复上述步骤。
既然MC及ME处理部件在宏块层次工作,该层控制引擎把任务切开并以该层次把数据及相关信息送至该等处理部件。该数据是由包含多重宏块的外部存储器撷取而来。因此,该层控制引擎必须追踪目前宏块在内部数据存储器的位置。在它决定要被处理的数据存在数据存储器之后,它以起始位及指向目前宏块的指针激起PU。待其完成处理之后,该处理部件设定完成位。该层控制引擎读取完 成位并检查下一个流通宏块。若其存在,它将为该引擎调度该任务;否则,它将先藉由提供接口以正确指针而把新数据撷取进来。
参照图40,在另一实施例中,显示的是本发明一视频处理层的框图。该视频处理器包含运动估计处理器4001、DCT/IDCT处理器、编码处理器4003、量化处理器4004、存储器4005、媒体交换器4006、直接存储器存取4007,以及RISC调度器4008。运动估计处理器4001是用来避免二次抽样内插数据的多余处理以减少存储器传输量。运动估计及运动补偿是时间压缩功能,并藉由移除该数据流中相同的像素消除原始数据流的时间冗余度。他们是具高度计算需求的反复性功能,且他们包括密集的重建处理,像是反向离散余弦变换、反量化,以及运动补偿。
DCT/IDCT处理器4003接着在视频上实施二维DCT,并待该数据的空间冗余度被移除后藉由转换该数据成为一DCT系数矩阵把转换后的视频提供给量化处理器4004。该DCT矩阵值代表对应至参照帧的内帧。待离散余弦变换后,许多较高频组件以及基本上所有最高频组件趋近零。较高频项被舍去。留下各项用任何适当可变长度压缩法编码,最好是LZ77压缩法。量化处理器4004接着藉一量化步骤把已转换输入之中的各个数值分解,而用于已转换输入各个系数的量化步骤是选自一量化位阶。编码处理器4003储存量化位阶,而且媒体交换器4006处理调度及负载平衡任务,且其最好是一微编码硬件实时操作***。DMA协助该存储器的直接存取且有时不需处理器之助。
参照图41,显示的是本发明运动估计处理器的框图。该运动估计处理器4100包含处理组件数组4101、4102,数据存储器4103、4104、4105、4106,地址生成部件(AGU)4107以及一数据总线4108。该数据总线4108进一步连接寄存盘4109(16*32)、地址寄存器4110(16*14)、数据寄存器指针档4111、程控4112、指令分配及控制4113以及程序存储器4114。预移位(Pre-shift)4115以及数字音频广播(DAB)4116也连接至该寄存盘4109。DAB是用于网际网上优质视频的标准格式。
最好两个该等处理组件数组4101、4102经过介于寄存盘4109及专属数据总线4108之间的总线交换数据,其连接第一处理组件数组4101、地址生成部件4107、第二处理组件数组4102以及寄存盘4109。程控4112组织全部程序的流动并把该等模块的其它部份结合起来。
该控制器最好实现为一微编码状态机器。程控4112以及程序存储器4114和指令分配及控制寄存器4113支持多层级巢状循环控制、分支及子程序控制。地址生成部件4107实现用于有效率的地址计算,此计算为从存储器撷取运算对象所必需。它可在一时钟周期内生成及修改18位地址。AGU使用整数运算以和其它处理器资源并行计算地址,以最小化地址生成包头。地址寄存盘由16*14位寄存器组成,其各自可被独立控制以当作是暂时的数据寄存器或作为间接存储器指针。该寄存器内的数值可改自存储器内的数据、由地址生成部件4107算出的结果,以及由指令分配及控制寄存器4113而来的常数。
参照图42,显示的是上述运动估计处理器的处理组件的网状连接数组。它包含一8×8处理组件的网状连接数组,其执行由指令控制器发出的指令。利用这些任务内在的细粒并行算法,可有效率地实现多种低阶影像处理算法。当执行图像处理算法时,一单独处理组件是与该图像中的一单独像素相关连。
操作上,各图象是用处理组件数组分成多个帧,各帧接着再分成多个块,其中各块是由亮度块及色度块组成。为了编码效率,运动估计仅在亮度块上实施。藉由数据存储器及寄存盘的帮助,目前帧的各亮度块与参照帧上一搜寻区域内的可能块匹配,这些可能块正是原始块的已位移版本。最佳(扭曲最低,即最匹配)可能块被找到并且其位移(运动向量)被记录下来,而且输入帧是由预知的参照帧扣除。因此可传输该运动向量及所得误差而不要传输原始亮度块;因此帧内冗余被移除且达成数据压缩。在接收端,译码器由所接收数据而来的差异信号建立该帧,并把它加到已重建的参照帧。其总和得出该目前帧的精确复制品。预测愈准误差信号愈小,且传输位率因而愈小。
任何适当块匹配算法均可使用,包括三步骤搜寻、二维对数搜寻、4-TSS、正交搜寻、交叉搜寻、彻底搜寻、菱形搜寻,以及新式三步骤搜寻。
一旦帧内冗余性被移除,使用离散余弦变换(DCT)、加权及自适应量化的组合法处理帧差异以移除空间冗余度。
参照图43,显示的是本发明离散余弦变换/反向离散余弦变换处理器的框图。该DCT/IDCT处理器4300包含数据存储器4301,其连接至地址生成部件4302及寄存盘4303。寄存盘4303输出其数据至复数个乘加(MAC)单元4304、4305,其进一步传输数据至加法器4307-4310。程序控制4311、程序存储器4312以及指令分配及控制器4313互相连接。地址寄存器4314及指令分配及控制器4313传送他们的输出至寄存盘4303。
数据存储器4301通常结合所有寄存器存储器并且经寄存盘4303提供已有地址并被选取的数据至乘加器4304-4307及加法器4308-4311。寄存盘4303存取存储器4301以供由该等寄存器存储器之一选取数据。由该存储器选出的数据被提供给媒介存取控制4304-4307及加法器两者,以供为离散余弦变换实施一蝶形运算。此蝶形运算并不为反向离散余弦变换在前端实施,其间该数据略过加法器。
为了减少位率,是用8*8离散余弦变换(DCT)把块转换成为频率域以供量化。8*8离散余弦变换中的第一系数(频率零)称为直流系数;该块中的其余63个DCT系数称为交流系数。该等离散余弦变换系数块被量化、扫描成为一维级数,并藉由使用LZ77压缩编码。为运动补偿(MC)所涉及的预测编码,反馈回路需要反向量化及反向离散余弦变换。该等块通常是以可变长度编码(VLC)、基于内容的自适应变长编码(CAVLC)或算术编码法(CABAC)编码。也可用一4×4离散余弦变换。
寄存盘输出提供数据值给四个MAC每一个以及类似MAC(MAC 0,MAC 1,MAC 2,MAC 3)。该等MAC的输出提供给选择逻辑,其提供至寄存盘的输入。 所选逻辑也有多个输出连接至4个加法器1608-1611的输入。该等4个加法器的输出连连结至总线以便提供数据值至寄存盘4303。
寄存盘4303所选逻辑是由该处理器控制,并在IDCT运算期间由该等MAC4304-4307提供数据值至4个加法器4308-4311,且在DCT、量化及反量化运算期间把数据值直接提供至总线。为反向离散余弦变换运算,各自的数据字节提供至4个加法器以便在被提供回给存储器4301之前实行蝶形运算。数据及所实施功能的实际流动是依所实现的实际运决定,像是由计算机控制。执行离散余弦变换、量化、反量化及反向离散余弦变换的该等处理器全部使用相同媒介存取控制4304-4307。
图形及视频压缩
视频可看作是一序列图案一个接一个显示以致于他们引发运动的错觉。为了要在PAL电视(720×567图形分辨率)上显示的视频来说,各帧是414,720个像素而且若是用三个字节表示颜色(红、蓝、绿),那幺帧长是1.2兆字节。若显示速度是30fps(每秒帧数),那幺所需频宽是35.6MB/sec。这幺大的频宽需求会阻塞任何用于视频分送的数字网络。因此,需要多个压缩解决方案以储存并传输大量视频。
消费电子产品中的模拟至数字转换以及在IP上传送媒体流的需要趋使视频压缩解决方案的成长。目前所提出的编码及译码解决方案是用于MPEG-1、MPEG-2及MPEG-4的软件或硬件。当前,数字图象及数字视频通常经压缩以便节省硬盘空间并让传输更快。通常压缩率范围由10至100。具640×480像素图形分辨率的未压缩图象大约是600千字节(每像素2字节)。25倍的压缩该图象将生成大约25KB的档案。
可有许多压缩标准供选择。使用静止图象标准的摄影机在网络上传送单张图象。使用视频标准的摄影机传送的静止图象混有包含其变化的数据。如此一来,比如像是背景的未改变数据并不是在每个图象中传送。刷新率是以每秒帧数(fps)表示。一常见的静止图象及视频编码压缩标准是联合图象专家组(JPEG)。 JPEG是设计要用于压缩“自然”、现实世界景色的全彩或灰阶图象。它对于非现实图象(像是卡通画或线条画)的表现并不太好。JPEG并不处理黑白(每个像素1位)图象或电影的压缩。对移动图象序列的每一帧实施JPEG静止图象压缩的一种移动图象压缩技术称作Motion JPEG。JPEG-2000低至每像素0.1位提供给合理的品质,但在约每像素0.4位以下品质大幅下滑。它是基于小波技术而非JPEG。
小波压缩标准可用于包含少量数据的图象。因此该图象将不会是最佳品质。小波并未标准化并且需要特殊软件。图象交换格式(GIF)是以LZW算法压缩的标准数字化图象。GIF是不复杂图象(像是商标)的良好标准。并不建议它用于由摄影机撷取的图象,因为其压缩率受限。
H.261、H.263、H.321以及H.324是用于视频会议所设计的一组标准,并且偶尔用于网络摄影机。该等标准供给高帧速率,但当图象包含大的移动物体时图象品质很差。图象的图形分辨率通常最高达352×288像素。由于图形分辨率十分有限,较新产品并不用此标准。
MPEG 1是用于视频的标准。当使用MPEG 1时,虽有变更的可能,它通常供给352×240像素、30fps(NTSC)或352×288像素、25fps(PAL)的表现。MPEG 2获得720×480像素、30fps(NTSC)或720×576像素、25fps(PAL)的表现。MPEG 2需要许多计算能力。MPEG 3通常具有352×288像素、30fps的图形分辨率,配上最高每秒1.86兆字节的速率。MPEG 4是延伸早期MPEG-1及MPEG-2算法的视频压缩标准,其具有语音及视频合成、分形压缩、计算机造影及以人工智能为基础的图象处理技术。
参照图31,显示的另一实施例是可应用于视频、文字及图形数据的统一处理的集成芯片。该芯片包含VGA控制器3101,缓冲区0 3101及缓冲区1 3102,配置及控制寄存器3104,DMA信道0 3105,DMA信道1 3106,作为压缩器输入缓冲区的SRAM0 3107及SRAM1 3108,KFID及噪音过滤器3109,LZ77压缩器3110,量化器3111,输出缓冲区控制3112,作为压缩器输出缓冲区的 SRAM2 3113,SRAM3 3114,MIPS处理器3116及算术逻辑部件3117。该VGA控制器最好是在12至12.5兆赫的范围内操作。
参照图32,显示的是本发明一示范单芯片架构的详尽数据流。RGB视频3201是由VGA控制器3202及颜色转换器3203接收。数据再传送至缓冲区3206以供暂时储存,并且该数据至少一部分再传至直接存储器存取(DMA)信道0 507及(或)高速DMA信道1 3208,最好不需微处理器介入。SDRAM控制器3209接着调度、指示和(或)引导至少一部分的数据传送至SRAM 0 510d及(或)SRAM1 3211。SRAM0 3210及SRAM1 3211两者作为用于压缩器的输入缓冲区。SRAM再把数据传送至内核Fisher判别器(KFD)及噪音过滤器3212d,其中在输入视频内不想要的信号及噪音在压缩前被消除。一旦不想要的信号被移除,数据再传送至与一压缩部件结合的内容可寻址存储器(CAM)2313,最好是一LZ77为基础的压缩部件3214。使用一适当算法(最好是LZ77算法),该CAM 3213及压缩部件3214压缩该视频数据。量化器3215配合适当电压位准接着把压缩数据量化。数据接着暂时储存在输出缓冲区控制器3216并接着经SRAM 3217被传送至直接存储器存取3208。直接存储器存取3208传送已量化已压缩数据至SDRAM控制器3209。SDRAM控制器3209接着传送该数据至SRAM 3217以及MIPS处理器3219。
参照图33,一流程图显示出在上述芯片架构中的视频压缩期间所达成的复数个状态。视频使用适当A2D(模拟至数字转换器)由模拟被转换至数字帧3301。一旦该帧成为可能3302,VGA撷取3303该帧并经附着至该VGA的色彩转换器转换3304其色空间。被撷取的帧接着写3305至SDRAM。由SDRAM读3306出之前所储存的及目前帧,并且在计算他们的差异并移除3307其噪音之后,就预备好可供压缩。LZ77压缩器压缩3308该帧,而且被压缩的帧接着藉由量化器被量化。被量化被压缩的帧接着总算写3310至SDRAM,由此它可被提取3311以供适当的执行或传输。
参照图34,显示的是LZQ算法一实施例的框图。LZQ压缩算法包含输入视频数据3404、关键帧差异块3401及复数个压缩引擎块3402、3403,其中一 LZ77压缩引擎的输出被送入下一个压缩引擎块。被压缩数据3405是由第n个压缩引擎块输出。
实际操作上,关键帧差异块接收视频数据3404。视频数据使用本技艺中具一般能力者已知的任何适当技术被转换成为帧。关键帧差异块3401定义第N个关键帧的频率。最好第10个、第20个、第30个并以此类推作为关键帧。一旦关键帧被定义,就用LZ77压缩引擎3402、3403压缩。一般来说,压缩是基于操纵在时间向量及运动向量中的信息。视频压缩是基于消除在时间及(或)空间运动向量中的冗余性。待第一帧的压缩完成后,压缩的数据3405被传输至网络。在接收端或接收者处,压缩数据被译码并可供执行。
参照图35,显示的是LZQ算法一实施例的关键帧差异编码器的框图。该关键帧差异编码器3500包含一延迟部件3501把该帧延迟一单位,一复用器3502,一加总器3503,一关键帧计数器3504以及一输出埠3505。该视频帧3506的关键帧(fk)直接当作是复用器3502的输入之一送入,且一接续帧作为该复用器3502的第二输入。先前帧是在用一延迟部件3501将该视频帧3506延迟之后所获得。举例来说,若传至复用器3502的输入之一是(fk)那幺另一输入是(fk-(fk-1),其中fk指的是已经被复用器3502接收的当前关键帧而fk-1指的是已移出的先前帧。携带该关键帧及延迟部件的总线终止于一加法器3503,在此由关键帧(fk)减去该延迟帧(fk-1)得到(fk-(fk-1),此值再传至复用器3502作为第二输入。第一输入(fk)及(fk-(fk-1)在关键帧计数器3504的控制之下被送入复用器。对两输入来说,该复用器3507提供一单独输出,此输出接着被传送至LZ77引擎3507以供压缩。
参照图36,显示的是本发明一实施例的关键帧差异译码器区块的框图。该关键帧差异译码器区块3600包含一复用器3601、关键帧计数器3602、一延迟部件3603以及一加法器3604。该关键帧差异译码器区块3600由LZ77压缩引擎接收数据3606并输出视频3605的已译码帧。实际操作上,压缩数据的关键帧被送入复用器3601当作是第一输入且第二输入是由反馈回路形成。该反馈回路由一延迟部件3603组成,其提取已译码帧3605并将它延迟一帧,以在加法 器3604处与该关键帧3606形成一差异帧。该加法器3604的输出担当传至该复用器的第二输入。第一输入及第二输入在关键帧计数器3602的控制之下送至该复用器3601得出译码帧。
无损算法的另一实施例是减少压缩法中所涉及的计算次数。这是藉由仅传送和运动有关的那几行而达成。在此例中,之前帧而来的一行与目前帧之中相同行号做比较,而且只有包含至少一像素具有差异值的那几行藉者一个更多LZ77步骤编码。
参照图37,显示的是一修改过LZQ算法一实施例的框图。视频数据3701送入该关键行差异块3702。待由该关键行差异块3702处理之后,它被传送至LZ77压缩引擎3703,并且该差异数据经过LZ77压缩引擎3703、3704的邻近区块,因而输出压缩数据3705。
参照图38,显示的是用在本发明一示范实施例中的关键行差异块的框图。该关键行差异块3800包含一媒体输出端口3801、延迟部件3802、一加法器3803以及一加总比较器3804。输入埠3801接收由摄影机或实况直播所撷取的视频数据。视频数据的目前帧被延迟一单帧延迟单位fk-1。延迟帧fk-1以及目前帧(fk)在加法器3803处形成差异帧。差异帧接着被输入至加总及比较器区块3804,在此比较该等差异帧的总合,而且若是大于零那幺就由加总比较器区块3804输出Kline 3805。该输出接着以LZ77邻近的压缩引擎为目的地并因此被压缩。
参照图39,显示的是用于本发明的压缩/解压缩架构。LZQ算法的一实现方法,使用内容可寻址存储器(CAM)以便把进来的数据流与先前在该CAM存储器中接收并经处理的数据做比较,且一旦历史记录满了之后便丢弃最旧的数据。
储存在输入数据缓冲区3901中的数据与在CAM数组3902中的目前条目比较。该CAM数组3903包括多重段落(N+1个段落),各段落包括一寄存器及一比较器。各CAM数组储存一字节的数据并包括一单独单元以便指出是否一有效或当前数据字节是储存在该CAM数组寄存器中。当储存在对应CAM数组寄存器中的数据字节与储存在输入数据缓冲区3901中的数据字节匹配,各比较器生成一作用信号。一般来说,若找到匹配,他们可用代码字取代,所以若有多重匹配发生就使用相同代码字。当搜寻期间找到更长字符串就达到更高压缩比率,该等字符串因而接着以代码字取代而得出更少数据量。
一写入选取移位寄存器(WSSR)3904与CAM数组结合,该CAM数组的各段落具有一写入选取区块。一单独取入区块设为1而其余单元全都设为0。作用的写入选取单元,也就是具有1数值的单元,选取CAM数组的哪个段落将被用来储存当前由输入数据缓冲区3901所持有的数据字节。WSSR 3904为进入输入数据缓冲区3901的各个新数据字节位移一单元。使用位移寄存器3904以选取容许在CAM数组中使用固定寻址。
匹配处理持续直到主选择器的OR闸输出有一0值,指出已不再有匹配留下。一旦此情况发生,存在最后数据字节之前以标示所有匹配字符串终点的数值,依然储存在次级选择器单元中。地址生成器接着决定匹配字符串之一的位置并生成其地址。地址生成器已经设计是要使用由次级选择器一或更多单元而来的信号生成地址。匹配字符串的长度可在长度计数器中得到。
地址生成器为CAM数组段落生成包含该匹配字符串终端的固定地址,而长度计数器提供匹配字符串的长度。接着将该匹配字符串的启始地址及长度计算、编码并当作压缩或字符串记号(token)输出。
不同大小CAM数组的评估已证实约512字节的历史记录大小是有效率压缩及支出成本(以像是功率消耗以及集成电路装置上的硅晶面积等因素来说)之间的理想折衷。
后处理器
参照图44,显示的是本发明后处理器的框图。该后处理器4400包含数据存储器4401,其连接至地址生成部件4402及寄存盘4403。该寄存盘4403输出其数据至位移器4408。逻辑部件4409及复数个乘加(MAC)单元4404、44405、4406进一步传送数据至加法器04410及加法器14411。程序控制4412、程序存储器4413以及指令分配及控制器4414互相连接。地址寄存器4415及指令 分配及控制器4414传送他们的输出至寄存盘4403。乘加单元是17位且可累加至最高40位。
一旦压缩数据通过运动估计处理器、DCT/IDCT处理器及后处理器,由后处理器而来的输出经图象数据的实时误差回复处理。任何适当技术(包括边缘匹配、选择性空间内插法以及边框匹配)可用来增强被执行图象的品质。
在一实施例中,一新颖消除方法是用在任何以块为基础的视频编码译码后处理。可想而知,当数据在网际网或一无线信道上传送时,数据损失将是无可避免。误差出现在一视频的I及P帧中并导致显着的视觉不快。
对I帧误差消除而言,空间信息是以两步骤程序用来消除误差:先是边缘回复然后接着是选择性的空间内插法。就P帧的误差来说,空间及时间信息是用于以下两步骤:线性内插法以及藉由边框匹配的运动向量回复。传统上,I帧误差消除是藉由各损失像素从邻近兆位(MB)而来的内插来实现。举例来说,参照图28,像素P是从复数个像素数值内插而来,各像素以Pn表示且P与pn之间的距离为dn,其中n是由1起算的整数。像素P的内插可用以下公式算出:
P=[p1*(17-d1)+p2*(17-d2)+p3*(17-d3)+p4*(17-d4)]/34
若损失的MB包含高频组件,此处理得到模糊的图象。虽然模糊逻辑推理以及凸面映像可有助于更佳地回复损失的MB,这些方法对于实时应用在计算上颇浪费。
本发明使用损失MB的边缘回复再接着藉由选择性的空间内插法以处理I帧误差消除。在一实施例中,多方向过滤是用来分类损失MB属于8个选项之中其中之。相邻像素被转换成为二元图。藉由连接在该二元图内的过渡点,回复一或更多边缘。损失的MB沿着边缘方向定向地内插。
更明确地说,参照图29a,一损坏MB 2901是由正确译码的多个MB 2905包围。实行这些边界像素2905的侦测是要辨识边缘2908。边点2910是藉由计算在一预定阀值以上的局部最佳斜率辨识。具有类似度量(以斜率及亮度而论)的边点2910被辨识出并匹配。参照图29b匹配的边点接着被连结在一块2911,因此把MB分离成区块,其各自以一平滑区块为模范并以选择性空间内插法消除。
待边缘回复实行后,参照图29c,一独立边点2912被辨别出并延展2909进入该破损MB直到抵达边界。像素2915是从由边缘2911及其延展2909所定义的三个区域之中选出。由像素2915沿各边缘方同找到边界像素,在此例中生成四个参照像素2918。如像素2915在相同区域内的两像素2918被辨识出。该等像素2918是用来计算像素2915,使用下列公式:
其中p1及p2是两像素2918且d1及d2是分别介于p1与p还有p2与p,之间的距离。
至于P帧误差消除,运动向量及编码模式回复的实现是藉由决定前帧位于损坏MB位置的数值并以前帧的数值取代该损坏MB。决定围绕该损坏MB区域的运动向量并求得其平均。以围绕该损坏MB区域而来的中位运动向量,取代破损MB数值。使用边界匹配法,重新估计运动向量。最好该损坏MB进一步分成小区间,而且为各区间决定该运动向量。举例来说,在一实施例中,相对于损坏像素P的上、下、左、右像素Pu、Pl、Pr及Plt是用来线性内插出P:
1≤x,y≤16
边框匹配也可用来实现运动向量回复。在一实施例中,决定损坏MB相同位置上的前帧数值。该损坏MB数值是以那个前帧数值取代。决定围绕损坏MB 位置的备选侧边,并由该等备选侧边算出平方误差。平方误差的最小值即指出一最佳匹配。本技艺中具一般能力者应能了解进行上述I帧误差消除及P帧误差消除步骤所需的计算技术、公式以及方法。
本发明进一步包含用于媒体应用的一可变及模块化软件架构。参照图45,软件堆栈4500包含一硬件平台4501,实时操作***及主机板支持套件4503,实时操作***抽象层4050,复数个接口4057,多媒体链接库4509,以及多媒体应用4511。
本发明的软件***最好提供执行时的软件组件动态交换,不影响其服务的远程软件升级,远程除错及开发,为低功率消耗而将未使用资源休眠,完全的可编程性,应用编程接口层级的软件兼容性以供芯片升级,以及一先进的整合开发环境。该软件实时操作***最好提供与硬件无关的API,在呼叫起始时进行资源配置,进行芯片及外部存储器管理,收集***性能参数及统计数字,并且最小化程序撷取请求。该硬件实时操作***最好提供所有程序及数据撷取请求的仲裁,完全的可编程性,依据不同PU的数据流为通往他们的信道安排路由,同时对外部及本机存储器的传送,为直接存储器存取信道编程的能力,以及环境交换。
本发明的***也提供一整合式开发环境,其具有下述特征:具有点按式(point and click)控制以取得硬件调试选项的一图形用户接口,汇编码的发展以用于使用单一调试环境的媒体适应处理器,一整合编译器及优化程序组以供媒体适应处理器DSP,编译器选项及优化程序交换器以用于选择不同汇编优化级别,汇编程序/连接程序/装入程序以供用于媒体适应处理器,在仿真硬件上的支持,信道追踪能力以供用于经过媒体适应处理器的单一帧处理,在微软VisualC++6.0环境之中的彚编码调试,以及可随时调用C语言的汇编程序支持及参数传递选项。
可想而知,本发明已配上特定的实施例作出描述,但本发明并不因此受限。特别是,本发明是关于具有可变动模块化处理层的集成芯片架构,其有能力处理多种的标准译码视频、音频及图形数据,并且是关于使用如此架构的装置。
Claims (7)
1.一种用于依据指令处理媒体的单芯片媒体处理器,其包含:
复数个处理层,其中各处理层具有复数个管线化处理部件(3030),以及复数个程序存储器(3035)和复数个数据存储器(3040),处理部件(3030)、程序存储器(3035)和数据存储器(3040)藉由通讯数据总线彼此通讯,其中各处理层的复数个处理部件经设计以管线化方式对所接收的数据执行媒体处理功能;
一任务调度器有能力由一来源接收复数个任务并分配所称任务至所述处理层;
其特征在于:
每个所述处理层的至少一处理部件经设计对所接收的数据执行运动估计功能,
每个所述处理层的至少一个处理部件经设计对所接收的数据执行编码或解码功能,
每个所述处理层的至少一个处理部件经设计对所接收的数据执行离散余弦变换,
每个所述处理层的至少一个处理部件经设计对所接收的数据执行运动补偿,使得所述媒体处理器执行视频处理。
2.如权利要求1的单芯片媒体处理器,进一步包含一直接存储器存取控制器能够处理数据传送,各个所称传送具有一大小及一方向,由至少一具有一地址的数据存储器及复数个各自具有一地址的外部存储器而来。
3.如权利要求2的单芯片媒体处理器,其中在至少一数据存储器与至少一外部存储器之间所称传送的发生是藉由利用该数据存储器的地址、该外部存储器的地址、该传送的大小以及该传送的方向。
4.如权利要求1的单芯片媒体处理器,其中该任务调度器是与一外部存储器通讯。
5.如权利要求1的单芯片媒体处理器,进一步包含一接口以用于数据与控制信号的接收及传输。
6.如权利要求5的单芯片媒体处理器,其中该接口包含一以太网兼容接口。
7.如权利要求5或6的单芯片媒体处理器,其中该接口包含一传输控制协议/网际网协议(TCP/IP)兼容接口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US64260205P | 2005-01-10 | 2005-01-10 | |
US60/642,602 | 2005-01-10 | ||
PCT/US2006/000622 WO2006121472A1 (en) | 2005-01-10 | 2006-01-09 | Integrated architecture for the unified processing of visual media |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101151840A CN101151840A (zh) | 2008-03-26 |
CN101151840B true CN101151840B (zh) | 2011-09-21 |
Family
ID=37396848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800073932A Expired - Fee Related CN101151840B (zh) | 2005-01-10 | 2006-01-09 | 用于依据指令处理媒体的单芯片媒体处理器 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20080126812A1 (zh) |
EP (1) | EP1836797A4 (zh) |
JP (1) | JP4806418B2 (zh) |
CN (1) | CN101151840B (zh) |
AU (1) | AU2006244646B2 (zh) |
CA (1) | CA2593247A1 (zh) |
WO (1) | WO2006121472A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12047209B2 (en) * | 2020-03-02 | 2024-07-23 | Calterah Semiconductor Technology (Shanghai) Co., Ltd. | Automatic gain control method, sensor, and radio device |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483532B2 (en) * | 2003-07-03 | 2009-01-27 | Microsoft Corporation | RTP payload format |
KR100937060B1 (ko) * | 2004-06-14 | 2010-01-15 | 닛본 덴끼 가부시끼가이샤 | 쌍방향 통신 방법과 장치, 시스템 및 프로그램을 기억한 기억 매체 |
US7684566B2 (en) | 2005-05-27 | 2010-03-23 | Microsoft Corporation | Encryption scheme for streamed multimedia content protected by rights management system |
US7769880B2 (en) * | 2005-07-07 | 2010-08-03 | Microsoft Corporation | Carrying protected content using a control protocol for streaming and a transport protocol |
US8321690B2 (en) | 2005-08-11 | 2012-11-27 | Microsoft Corporation | Protecting digital media of various content types |
US7634816B2 (en) * | 2005-08-11 | 2009-12-15 | Microsoft Corporation | Revocation information management |
US7720096B2 (en) * | 2005-10-13 | 2010-05-18 | Microsoft Corporation | RTP payload format for VC-1 |
US20080201751A1 (en) * | 2006-04-18 | 2008-08-21 | Sherjil Ahmed | Wireless Media Transmission Systems and Methods |
US20070255433A1 (en) * | 2006-04-25 | 2007-11-01 | Choo Eugene K | Method and system for automatically selecting digital audio format based on sink device |
US20080001955A1 (en) * | 2006-06-29 | 2008-01-03 | Inventec Corporation | Video output system with co-layout structure |
US20080062322A1 (en) * | 2006-08-28 | 2008-03-13 | Ortiva Wireless | Digital video content customization |
US8606966B2 (en) * | 2006-08-28 | 2013-12-10 | Allot Communications Ltd. | Network adaptation of digital content |
US9478062B2 (en) * | 2006-09-19 | 2016-10-25 | Imagination Technologies Limited | Memory allocation in distributed memories for multiprocessing |
US7773618B2 (en) * | 2006-11-08 | 2010-08-10 | Sicortex, Inc. | System and method for preventing deadlock in richly-connected multi-processor computer system using dynamic assignment of virtual channels |
US20080165277A1 (en) * | 2007-01-10 | 2008-07-10 | Loubachevskaia Natalya Y | Systems and Methods for Deinterlacing Video Data |
US8127233B2 (en) * | 2007-09-24 | 2012-02-28 | Microsoft Corporation | Remote user interface updates using difference and motion encoding |
US8619877B2 (en) * | 2007-10-11 | 2013-12-31 | Microsoft Corporation | Optimized key frame caching for remote interface rendering |
US8121423B2 (en) * | 2007-10-12 | 2012-02-21 | Microsoft Corporation | Remote user interface raster segment motion detection and encoding |
US8106909B2 (en) * | 2007-10-13 | 2012-01-31 | Microsoft Corporation | Common key frame caching for a remote user interface |
US7929860B2 (en) * | 2007-10-15 | 2011-04-19 | Motorola Mobility, Inc. | System and method for sonet equipment fault management |
FR2925187B1 (fr) * | 2007-12-14 | 2011-04-08 | Commissariat Energie Atomique | Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele,en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees |
DE102008009719A1 (de) * | 2008-02-19 | 2009-08-20 | Siemens Enterprise Communications Gmbh & Co. Kg | Verfahren und Mittel zur Enkodierung von Hintergrundrauschinformationen |
US8086644B2 (en) * | 2008-07-10 | 2011-12-27 | International Business Machines Corporation | Simplifying complex data stream problems involving feature extraction from noisy data |
WO2010038212A2 (en) * | 2008-10-01 | 2010-04-08 | Nxp B.V. | Embedded video compression for hybrid contents |
US8145813B2 (en) * | 2008-10-24 | 2012-03-27 | Himax Display, Inc. | Electronic device utilizing connecting port for connecting connector to transmit/receive signals with customized format |
US8923774B2 (en) * | 2008-11-04 | 2014-12-30 | Broadcom Corporation | Management unit with local agent |
US8131220B2 (en) * | 2008-11-04 | 2012-03-06 | Broadcom Corporation | Management unit for managing a plurality of multiservice communication devices |
KR101494642B1 (ko) * | 2008-11-10 | 2015-02-23 | 삼성전자주식회사 | 외부 장치별 단말기 제어 방법 및 이를 위한 외부 장치 운용 시스템 |
US8392885B2 (en) * | 2008-12-19 | 2013-03-05 | Microsoft Corporation | Low privilege debugging pipeline |
US20100321579A1 (en) * | 2009-02-11 | 2010-12-23 | Mohammad Ahmad | Front End Processor with Extendable Data Path |
KR101553652B1 (ko) * | 2009-02-18 | 2015-09-16 | 삼성전자 주식회사 | 이종 프로세서에 대한 명령어 컴파일링 장치 및 방법 |
CN102055969B (zh) * | 2009-10-30 | 2012-12-19 | 鸿富锦精密工业(深圳)有限公司 | 影像解块过滤器及使用其的影像处理装置 |
US20110125987A1 (en) * | 2009-11-20 | 2011-05-26 | Qualcomm Incorporated | Dedicated Arithmetic Decoding Instruction |
US8554743B2 (en) | 2009-12-08 | 2013-10-08 | International Business Machines Corporation | Optimization of a computing environment in which data management operations are performed |
US20110194606A1 (en) * | 2010-02-09 | 2011-08-11 | Cheng-Yu Hsieh | Memory management method and related memory apparatus |
CN102200947A (zh) * | 2010-03-24 | 2011-09-28 | 承景科技股份有限公司 | 存储器管理方法与相关存储器装置 |
US20130265921A1 (en) * | 2010-12-13 | 2013-10-10 | Dsp Group Ltd. | Method and system for signaling by bit manipulation in communication protocols |
KR101805622B1 (ko) * | 2011-06-08 | 2017-12-08 | 삼성전자주식회사 | 프레임율 제어 방법 및 장치 |
WO2013152452A1 (en) | 2012-04-09 | 2013-10-17 | Intel Corporation | Parallel processing image data having top-left dependent pixels |
JP2014067333A (ja) * | 2012-09-27 | 2014-04-17 | Sony Corp | 画像処理装置、画像処理方法、およびプログラム |
US9979960B2 (en) | 2012-10-01 | 2018-05-22 | Microsoft Technology Licensing, Llc | Frame packing and unpacking between frames of chroma sampling formats with different chroma resolutions |
US9026983B2 (en) * | 2013-03-15 | 2015-05-05 | Ittiam Systems (P) Ltd. | Flexible and scalable software system architecture for implementing multimedia applications |
US9847937B2 (en) * | 2013-03-25 | 2017-12-19 | Marvell World Trade Ltd. | Hardware acceleration for routing programs |
US9323584B2 (en) | 2013-09-06 | 2016-04-26 | Seagate Technology Llc | Load adaptive data recovery pipeline |
US9280422B2 (en) | 2013-09-06 | 2016-03-08 | Seagate Technology Llc | Dynamic distribution of code words among multiple decoders |
US9459931B2 (en) | 2014-01-06 | 2016-10-04 | International Business Machines Corporation | Administering a lock for resources in a distributed computing environment |
FR3016764B1 (fr) * | 2014-01-17 | 2016-02-26 | Sagemcom Broadband Sas | Procede et dispositif de transcodage de donnees video de h.264 vers h.265 |
US10474597B2 (en) * | 2015-08-03 | 2019-11-12 | Marvell World Trade Ltd. | Systems and methods for performing unknown address discovery in a MoChi space |
US10237593B2 (en) * | 2016-05-26 | 2019-03-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Monitoring quality of experience (QoE) at audio/video (AV) endpoints using a no-reference (NR) method |
US10368080B2 (en) | 2016-10-21 | 2019-07-30 | Microsoft Technology Licensing, Llc | Selective upsampling or refresh of chroma sample values |
US10261115B2 (en) * | 2017-07-24 | 2019-04-16 | Lg Chem, Ltd. | Voltage monitoring system utilizing a common channel and exchanged encoded channel numbers to confirm valid voltage values |
US10659797B2 (en) * | 2017-10-31 | 2020-05-19 | Google Llc | Video frame codec architectures |
US10426424B2 (en) | 2017-11-21 | 2019-10-01 | General Electric Company | System and method for generating and performing imaging protocol simulations |
CN111064912B (zh) * | 2019-12-20 | 2022-03-22 | 江苏芯盛智能科技有限公司 | 一种帧格式变换电路与方法 |
TWI778524B (zh) * | 2021-02-24 | 2022-09-21 | 圓展科技股份有限公司 | 偵測雙邊發話及消除回音的方法、通訊裝置及通訊系統 |
CN117395437B (zh) * | 2023-12-11 | 2024-04-05 | 沐曦集成电路(南京)有限公司 | 一种基于异构计算的视频编解码方法、装置、设备及介质 |
Family Cites Families (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5193204A (en) * | 1984-03-06 | 1993-03-09 | Codex Corporation | Processor interface circuitry for effecting data transfers between processors |
US5043979A (en) * | 1986-09-16 | 1991-08-27 | Hitachi, Ltd. | Time-division channel arrangement |
US5142677A (en) * | 1989-05-04 | 1992-08-25 | Texas Instruments Incorporated | Context switching devices, systems and methods |
US4914692A (en) * | 1987-12-29 | 1990-04-03 | At&T Bell Laboratories | Automatic speech recognition using echo cancellation |
JP2617798B2 (ja) * | 1989-09-22 | 1997-06-04 | 三菱電機株式会社 | 積層型半導体装置およびその製造方法 |
US5200564A (en) * | 1990-06-29 | 1993-04-06 | Casio Computer Co., Ltd. | Digital information processing apparatus with multiple CPUs |
JPH0743700B2 (ja) * | 1990-07-17 | 1995-05-15 | 三菱電機株式会社 | データ駆動型情報処理装置 |
US6400996B1 (en) * | 1999-02-01 | 2002-06-04 | Steven M. Hoffberg | Adaptive pattern recognition based control system and method |
US5594784A (en) * | 1993-04-27 | 1997-01-14 | Southwestern Bell Technology Resources, Inc. | Apparatus and method for transparent telephony utilizing speech-based signaling for initiating and handling calls |
US5572040A (en) * | 1993-07-12 | 1996-11-05 | Peregrine Semiconductor Corporation | High-frequency wireless communication system on a single ultrathin silicon on sapphire chip |
JP3698754B2 (ja) * | 1995-04-12 | 2005-09-21 | シャープ株式会社 | データ駆動型情報処理装置 |
US5724356A (en) * | 1995-04-28 | 1998-03-03 | Multi-Tech Systems, Inc. | Advanced bridge/router local area network modem node |
JPH0926949A (ja) * | 1995-07-10 | 1997-01-28 | Sharp Corp | データ駆動型情報処理装置 |
JP3720094B2 (ja) * | 1995-10-18 | 2005-11-24 | シャープ株式会社 | データ駆動型情報処理装置 |
US5680181A (en) * | 1995-10-20 | 1997-10-21 | Nippon Steel Corporation | Method and apparatus for efficient motion vector detection |
US5768537A (en) * | 1996-02-22 | 1998-06-16 | International Business Machines Corporation | Scalable MPEG2 compliant video encoder |
US5956518A (en) * | 1996-04-11 | 1999-09-21 | Massachusetts Institute Of Technology | Intermediate-grain reconfigurable processing device |
US5799091A (en) * | 1996-05-24 | 1998-08-25 | Lsi Logic Corporation | Single chip solution for multimedia GSM mobile station systems |
KR100195065B1 (ko) * | 1996-06-20 | 1999-06-15 | 유기범 | 데이타 통신망 정합장치 |
US5852437A (en) * | 1996-09-24 | 1998-12-22 | Ast Research, Inc. | Wireless device for displaying integrated computer and television user interfaces |
WO1998024267A1 (en) * | 1996-11-27 | 1998-06-04 | Alcatel Usa Sourcing, L.P. | Telecommunications switch for providing telephony traffic integrated with video information services |
US6009505A (en) * | 1996-12-02 | 1999-12-28 | Compaq Computer Corp. | System and method for routing one operand to arithmetic logic units from fixed register slots and another operand from any register slot |
US6226266B1 (en) * | 1996-12-13 | 2001-05-01 | Cisco Technology, Inc. | End-to-end delay estimation in high speed communication networks |
US6304551B1 (en) * | 1997-03-21 | 2001-10-16 | Nec Usa, Inc. | Real-time estimation and dynamic renegotiation of UPC values for arbitrary traffic sources in ATM networks |
US6075788A (en) * | 1997-06-02 | 2000-06-13 | Lsi Logic Corporation | Sonet physical layer device having ATM and PPP interfaces |
US6067595A (en) * | 1997-09-23 | 2000-05-23 | Icore Technologies, Inc. | Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories |
US6108760A (en) * | 1997-10-31 | 2000-08-22 | Silicon Spice | Method and apparatus for position independent reconfiguration in a network of multiple context processing elements |
US6122719A (en) * | 1997-10-31 | 2000-09-19 | Silicon Spice | Method and apparatus for retiming in a network of multiple context processing elements |
US6131130A (en) * | 1997-12-10 | 2000-10-10 | Sony Corporation | System for convergence of a personal computer with wireless audio/video devices wherein the audio/video devices are remotely controlled by a wireless peripheral |
US6349098B1 (en) * | 1998-04-17 | 2002-02-19 | Paxonet Communications, Inc. | Method and apparatus for forming a virtual circuit |
US6226735B1 (en) * | 1998-05-08 | 2001-05-01 | Broadcom | Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements |
CN1257356A (zh) * | 1998-07-24 | 2000-06-21 | 休斯电子公司 | 多调制无线通信 |
US7100026B2 (en) * | 2001-05-30 | 2006-08-29 | The Massachusetts Institute Of Technology | System and method for performing efficient conditional vector operations for data parallel architectures involving both input and conditional vector values |
US6269435B1 (en) * | 1998-09-14 | 2001-07-31 | The Board Of Trustees Of The Leland Stanford Junior University | System and method for implementing conditional vector operations in which an input vector containing multiple operands to be used in conditional operations is divided into two or more output vectors based on a condition vector |
US6493666B2 (en) * | 1998-09-29 | 2002-12-10 | William M. Wiese, Jr. | System and method for processing data from and for multiple channels |
US6573905B1 (en) * | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
US6768774B1 (en) * | 1998-11-09 | 2004-07-27 | Broadcom Corporation | Video and graphics system with video scaling |
US6798420B1 (en) * | 1998-11-09 | 2004-09-28 | Broadcom Corporation | Video and graphics system with a single-port RAM |
US6853385B1 (en) * | 1999-11-09 | 2005-02-08 | Broadcom Corporation | Video, audio and graphics decode, composite and display system |
US6597689B1 (en) * | 1998-12-30 | 2003-07-22 | Nortel Networks Limited | SVC signaling system and method |
US6449655B1 (en) * | 1999-01-08 | 2002-09-10 | Cisco Technology, Inc. | Method and apparatus for communication between network devices operating at different frequencies |
US6522688B1 (en) * | 1999-01-14 | 2003-02-18 | Eric Morgan Dowling | PCM codec and modem for 56K bi-directional transmission |
US6519259B1 (en) * | 1999-02-18 | 2003-02-11 | Avaya Technology Corp. | Methods and apparatus for improved transmission of voice information in packet-based communication systems |
WO2000051398A1 (de) * | 1999-02-23 | 2000-08-31 | Siemens Aktiengesellschaft | Zeitkritische steuerung von daten an eine taktgesteuerte schnittstelle mit asynchroner datenübertragung |
IL129345A (en) * | 1999-04-06 | 2004-05-12 | Broadcom Corp | Video encoding and video/audio/data multiplexing device |
US7110358B1 (en) * | 1999-05-14 | 2006-09-19 | Pmc-Sierra, Inc. | Method and apparatus for managing data traffic between a high capacity source and multiple destinations |
GB9915327D0 (en) * | 1999-06-30 | 1999-09-01 | Nortel Networks Corp | Packet interface and method of packetizing information |
CN1250294A (zh) * | 1999-07-27 | 2000-04-12 | 邮电部武汉邮电科学研究院 | 以太网与同步数字体系或同步光网络融合的适配方法 |
US6580727B1 (en) * | 1999-08-20 | 2003-06-17 | Texas Instruments Incorporated | Element management system for a digital subscriber line access multiplexer |
US6580793B1 (en) * | 1999-08-31 | 2003-06-17 | Lucent Technologies Inc. | Method and apparatus for echo cancellation with self-deactivation |
US6640239B1 (en) * | 1999-11-10 | 2003-10-28 | Garuda Network Corporation | Apparatus and method for intelligent scalable switching network |
NL1013747C2 (nl) * | 1999-12-03 | 2001-06-25 | Stertil Bv | Voertuigblokkeringsinrichting. |
GB0001585D0 (en) * | 2000-01-24 | 2000-03-15 | Radioscape Ltd | Method of designing,modelling or fabricating a communications baseband stack |
US6965960B2 (en) * | 2000-03-01 | 2005-11-15 | Realtek Semiconductor Corporation | xDSL symbol processor and method of operating same |
US6807167B1 (en) * | 2000-03-08 | 2004-10-19 | Lucent Technologies Inc. | Line card for supporting circuit and packet switching |
US6631135B1 (en) * | 2000-03-27 | 2003-10-07 | Nortel Networks Limited | Method and apparatus for negotiating quality-of-service parameters for a network connection |
US6934937B1 (en) * | 2000-03-30 | 2005-08-23 | Broadcom Corporation | Multi-channel, multi-service debug on a pipelined CPU architecture |
US6810039B1 (en) * | 2000-03-30 | 2004-10-26 | Azanda Network Devices, Inc. | Processor-based architecture for facilitating integrated data transfer between both atm and packet traffic with a packet bus or packet link, including bidirectional atm-to-packet functionally for atm traffic |
US6751224B1 (en) * | 2000-03-30 | 2004-06-15 | Azanda Network Devices, Inc. | Integrated ATM/packet segmentation-and-reassembly engine for handling both packet and ATM input data and for outputting both ATM and packet data |
US6795396B1 (en) * | 2000-05-02 | 2004-09-21 | Teledata Networks, Ltd. | ATM buffer system |
US20020031132A1 (en) * | 2000-05-25 | 2002-03-14 | Mcwilliams Patrick | UTOPIA-LVDS bridge |
US20020031141A1 (en) * | 2000-05-25 | 2002-03-14 | Mcwilliams Patrick | Method of detecting back pressure in a communication system using an utopia-LVDS bridge |
US20020009089A1 (en) * | 2000-05-25 | 2002-01-24 | Mcwilliams Patrick | Method and apparatus for establishing frame synchronization in a communication system using an UTOPIA-LVDS bridge |
KR100336593B1 (ko) * | 2000-06-14 | 2002-05-16 | 박종섭 | 에이티엠 다중화/역다중화 장치에서 유토피아 레벨2수행부와 유토피아 레벨1 수행부간 정합 장치 |
US20020059426A1 (en) * | 2000-06-30 | 2002-05-16 | Mariner Networks, Inc. | Technique for assigning schedule resources to multiple ports in correct proportions |
US20020034162A1 (en) * | 2000-06-30 | 2002-03-21 | Brinkerhoff Kenneth W. | Technique for implementing fractional interval times for fine granularity bandwidth allocation |
US6707821B1 (en) * | 2000-07-11 | 2004-03-16 | Cisco Technology, Inc. | Time-sensitive-packet jitter and latency minimization on a shared data link |
US6892324B1 (en) * | 2000-07-19 | 2005-05-10 | Broadcom Corporation | Multi-channel, multi-service debug |
US6751723B1 (en) * | 2000-09-02 | 2004-06-15 | Actel Corporation | Field programmable gate array and microcontroller system-on-a-chip |
US6738358B2 (en) * | 2000-09-09 | 2004-05-18 | Intel Corporation | Network echo canceller for integrated telecommunications processing |
US20020136220A1 (en) * | 2000-10-02 | 2002-09-26 | Shakuntala Anjanaiah | Apparatus and method for an interface unit for data transfer between data processing units in the asynchronous transfer mode and in the I/O mode |
US6631130B1 (en) * | 2000-11-21 | 2003-10-07 | Transwitch Corporation | Method and apparatus for switching ATM, TDM, and packet data through a single communications switch while maintaining TDM timing |
US6636515B1 (en) * | 2000-11-21 | 2003-10-21 | Transwitch Corporation | Method for switching ATM, TDM, and packet data through a single communications switch |
US7140016B2 (en) * | 2000-11-29 | 2006-11-21 | Texas Instruments Incorporated | Media accelerator quality of service |
US6763018B1 (en) * | 2000-11-30 | 2004-07-13 | 3Com Corporation | Distributed protocol processing and packet forwarding using tunneling protocols |
US6754804B1 (en) * | 2000-12-29 | 2004-06-22 | Mips Technologies, Inc. | Coprocessor interface transferring multiple instructions simultaneously along with issue path designation and/or issue order designation for the instructions |
US20020101982A1 (en) * | 2001-01-30 | 2002-08-01 | Hammam Elabd | Line echo canceller scalable to multiple voice channels/ports |
US7215672B2 (en) * | 2001-03-13 | 2007-05-08 | Koby Reshef | ATM linked list buffer system |
AU2002249429A1 (en) * | 2001-04-19 | 2002-11-05 | Indigovision Limited | Apparatus and method for processing video data |
US6952238B2 (en) * | 2001-05-01 | 2005-10-04 | Koninklijke Philips Electronics N.V. | Method and apparatus for echo cancellation in digital ATV systems using an echo cancellation reference signal |
US6806915B2 (en) * | 2001-05-03 | 2004-10-19 | Koninklijke Philips Electronics N.V. | Method and apparatus for echo cancellation in digital communications using an echo cancellation reference signal |
US6928080B2 (en) * | 2001-06-28 | 2005-08-09 | Intel Corporation | Transporting variable length ATM AAL CPS packets over a non-ATM-specific bus |
JP2003023138A (ja) * | 2001-07-10 | 2003-01-24 | Toshiba Corp | メモリチップ及びこれを用いたcocデバイス、並びに、これらの製造方法 |
US6728209B2 (en) * | 2001-07-25 | 2004-04-27 | Overture Networks, Inc. | Measurement of packet delay variation |
US7519081B2 (en) * | 2001-09-18 | 2009-04-14 | Cisco Technology, Inc. | Multi-carrier frequency-division multiplexing (FDM) architecture for high speed digital service in local networks |
US20030053493A1 (en) * | 2001-09-18 | 2003-03-20 | Joseph Graham Mobley | Allocation of bit streams for communication over-multi-carrier frequency-division multiplexing (FDM) |
US7218901B1 (en) * | 2001-09-18 | 2007-05-15 | Scientific-Atlanta, Inc. | Automatic frequency control of multiple channels |
US20030105799A1 (en) * | 2001-12-03 | 2003-06-05 | Avaz Networks, Inc. | Distributed processing architecture with scalable processing layers |
US7051246B2 (en) * | 2003-01-15 | 2006-05-23 | Lucent Technologies Inc. | Method for estimating clock skew within a communications network |
DE102005034010A1 (de) * | 2005-07-18 | 2007-01-25 | Coltène/Whaledent GmbH + Co. KG | Wurzelkanalinstrument mit abrasiver Beschichtung und Verfahren zur Herstellung desselben |
-
2006
- 2006-01-09 AU AU2006244646A patent/AU2006244646B2/en not_active Ceased
- 2006-01-09 EP EP06717783A patent/EP1836797A4/en not_active Withdrawn
- 2006-01-09 JP JP2007550531A patent/JP4806418B2/ja not_active Expired - Fee Related
- 2006-01-09 US US11/813,519 patent/US20080126812A1/en not_active Abandoned
- 2006-01-09 CN CN2006800073932A patent/CN101151840B/zh not_active Expired - Fee Related
- 2006-01-09 WO PCT/US2006/000622 patent/WO2006121472A1/en active Application Filing
- 2006-01-09 CA CA002593247A patent/CA2593247A1/en not_active Abandoned
Non-Patent Citations (2)
Title |
---|
Masafumi Takahashi等.A 60-MHz 240-mW MPEG-4 Videophone LSI with 16-Mb Embedded DRAM.《IEEE JOURNAL OF SOLID-STATE CIRCUITS》.2000,第35卷(第11期),1713-1721. * |
Tatsuya Koyama等.A 250-MHz Single-Chip Multiprocessor for Audio and Video Signal Processing.《IEEE JOURNAL OF SOLID-STATE CIRCUITS》.2001,第36卷(第11期),1768-1774. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12047209B2 (en) * | 2020-03-02 | 2024-07-23 | Calterah Semiconductor Technology (Shanghai) Co., Ltd. | Automatic gain control method, sensor, and radio device |
Also Published As
Publication number | Publication date |
---|---|
JP2008527545A (ja) | 2008-07-24 |
WO2006121472A1 (en) | 2006-11-16 |
CA2593247A1 (en) | 2006-11-16 |
EP1836797A1 (en) | 2007-09-26 |
US20080126812A1 (en) | 2008-05-29 |
AU2006244646B2 (en) | 2010-08-19 |
CN101151840A (zh) | 2008-03-26 |
EP1836797A4 (en) | 2010-03-17 |
AU2006244646A1 (en) | 2006-11-16 |
JP4806418B2 (ja) | 2011-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101151840B (zh) | 用于依据指令处理媒体的单芯片媒体处理器 | |
Furht | Multimedia systems: An overview | |
CN101827242A (zh) | 一种基于网络电视机顶盒的可视电话***实现方法 | |
KR20070101346A (ko) | 게이트웨이, mcu, 브로드캐스팅 및 비디오 저장애플리케이션들을 위한 다중-채널 코덱 및 트랜스코더 환경 | |
AU4768693A (en) | A single chip integrated circuit system architecture for video-instruction-set-computing | |
Ahmad et al. | Video compression with parallel processing | |
CN101568030A (zh) | 一种自适应多标准可重构视频解码方法及*** | |
CN104980682A (zh) | 一种智能动态高清视频传输*** | |
CN109891887A (zh) | 解耦视频系数的规范和实现数据路径交织的转换缓冲器 | |
Chen et al. | Image set compression through minimal-cost prediction structure | |
WO2005015805A2 (en) | Software and hardware partitioning for multi-standard video compression and decompression | |
CN109743643A (zh) | 楼宇对讲***的处理方法及装置 | |
US7457363B2 (en) | Method and apparatus for multi-threaded variable length coding | |
Mitchell | Dynamic configuration of distributed multimedia components | |
Tan et al. | A real-time software decoder for scalable video on multi-processors | |
Read et al. | Implementing a videoconferencing system based on a single‐chip signal and image processor | |
Chen | Synchronization and control of multi-threads for MPEG-4 video decoder | |
Liu et al. | Design and Implementation of Embedded Multimedia Surveillance System | |
Li et al. | Design and realization of embedded network video surveillance system based on the DM365 | |
Qian | Implementation of a JPEG Encoder on the Nostrum Network-on-Chip | |
Ahmad et al. | Software-based MPEG-2 encoding system with scalable and multithreaded architecture | |
Manolescu et al. | A scalable approach to continuous-media processing | |
Okumura et al. | Multiprocessor DSP with multistage switching network and its scheduling for image processing | |
De Pietro | Multimedia Applications for Parallel and Distributed Systems | |
Koodli | Scheduling support for multi-tier quality of service (QOS) in continuous media applications |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110921 Termination date: 20130109 |
|
CF01 | Termination of patent right due to non-payment of annual fee |