CN1481646A - 转码器-多路复用器(transmux)软件结构 - Google Patents
转码器-多路复用器(transmux)软件结构 Download PDFInfo
- Publication number
- CN1481646A CN1481646A CNA018207979A CN01820797A CN1481646A CN 1481646 A CN1481646 A CN 1481646A CN A018207979 A CNA018207979 A CN A018207979A CN 01820797 A CN01820797 A CN 01820797A CN 1481646 A CN1481646 A CN 1481646A
- Authority
- CN
- China
- Prior art keywords
- data
- transcoding
- resource
- processing
- transcoder
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 60
- 230000008569 process Effects 0.000 claims abstract description 53
- 239000000872 buffer Substances 0.000 claims description 54
- 230000015572 biosynthetic process Effects 0.000 claims description 31
- 238000013139 quantization Methods 0.000 claims description 29
- GUGNSJAORJLKGP-UHFFFAOYSA-K sodium 8-methoxypyrene-1,3,6-trisulfonate Chemical compound [Na+].[Na+].[Na+].C1=C2C(OC)=CC(S([O-])(=O)=O)=C(C=C3)C2=C2C3=C(S([O-])(=O)=O)C=C(S([O-])(=O)=O)C2=C1 GUGNSJAORJLKGP-UHFFFAOYSA-K 0.000 claims description 23
- 238000000354 decomposition reaction Methods 0.000 claims description 16
- 230000006798 recombination Effects 0.000 claims description 10
- 238000005215 recombination Methods 0.000 claims description 10
- 230000033228 biological regulation Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims 3
- 238000010168 coupling process Methods 0.000 claims 3
- 238000005859 coupling reaction Methods 0.000 claims 3
- 230000006870 function Effects 0.000 abstract description 35
- 238000012360 testing method Methods 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 43
- 238000005755 formation reaction Methods 0.000 description 21
- 230000033001 locomotion Effects 0.000 description 18
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 description 18
- 230000000694 effects Effects 0.000 description 14
- 230000001360 synchronised effect Effects 0.000 description 14
- 239000013598 vector Substances 0.000 description 13
- 239000008186 active pharmaceutical agent Substances 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 230000002441 reversible effect Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000007792 addition Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 241001673391 Entandrophragma candollei Species 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000001824 photoionisation detection Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011049 filling Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000007306 turnover Effects 0.000 description 2
- 101000911390 Homo sapiens Coagulation factor VIII Proteins 0.000 description 1
- 241000761456 Nops Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 230000003370 grooming effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 102000057593 human F8 Human genes 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000002931 mesocarbon microbead Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 108010020615 nociceptin receptor Proteins 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003752 polymerase chain reaction Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 229940047431 recombinate Drugs 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000002910 structure generation Methods 0.000 description 1
- 229920002725 thermoplastic elastomer Polymers 0.000 description 1
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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Stored Programmes (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
一种数字视频转码器-多路复用器(TRANSMUX)结构,其完全由软件实施。该多路复用器(200)包括转码器处理元件(TPEs)(240),该元件可使用一超长指令字(VLIW)媒体处理器(105)来执行转码,并在一传输流阶别分解和重组;和一协处理器(131)用于提供在一基本流数据位阶的分解和重组。该处理器,至少部份,并行操作以最佳化处理量和提供处理负载平衡。提供一完全由软件实施的多路复用器结构以便升级处理新功能,解决硬件和软件问题,测试新方法,配合客户改变要求,等等。
Description
背景技术
本发明关于一种数字视频转码器结构。
本文使用下列缩写和术语:
AC-交流电(DCT系数)
ALU-算术逻辑单元
B-双向预测编码(MPEG)
Back.-反向(MPEG)
BSP-位流处理器
CBP-编码模块图案(MPEG)
CBR-固定位速率
Chan.-通道
CPU-中央处理器
D$-数据高速缓冲存储器
DC-直流电(DCT系数)
DCT-离散余弦转换
DMA-直接内存访问
DPCM-差分脉码调制
DPRAM-双端口RAM
DS-数据流式磁带机
DTS-译码时间标记
FIFO-先进,先出
FIR-有限脉冲响应
FPGA-现场可编程门阵列
Fwd.-正向(MPEG)
H/V-水平/垂直
HW-硬件
I-内部编码(MPEG)或整数
I$-指令高速缓冲存储器I/F-中间频率I2C-IIC-中间集成电路(一串行总线标准)I2S-IIS-中间-IC声音(一3线数字立体声PCM音频连接)iBLK-输入模块FIFOIDCT-反向DCTIEC-国际电机协会IFG-整数,浮点和图形(如IFG-ALU);赤道公司首字母缩写IG-整数,图形单位iMB-输入宏模块FIFOInfo.-信息Int.-接口iRB-输入速率缓冲器ISR-中断服务例程ITU-国际电讯联盟JTAG-联合测试指令标准(IEEE 1149.1协议)KB-千字节LRU-近来最少使用(超高速缓冲存储器线更换算法)MAP-媒体加速处理器(赤道公司)MB-兆字节或宏模块MC-运动补偿MTS-MPEG传输流MUX-多路复用器NC-非粘结连接NOP-无操作NTSC-(美国)全国电视系统委员会规定制式OBlK-输出模块FIFOoMB-输出宏模块FIFOoRB-输出速率缓冲器P-预测编码(MPEG)PCR-程序时钟参考(MPEG)PES-包结构基本数据流(MPEG)Pic.-图形PID-封包识别标记PTS-显示时间标记(MPEG)QL-量化电平RAM-随机存取内存RAMDAC-RAM数字模拟转换器Ref.-参考Reg.-寄存器RGB-红绿蓝RISC-精简指令系统计算机RL-游程长度(或运转位准对)ROM-只读存储器RTOS-实时操作系统Rx-接收器SAV-活动视频开始SC-起始编码SDRAM-同步动态随机存取内存SGRAM-同步图形随机存取内存SIMD-单指令,多数据Svc.-服务SW-软件TI-美国电话数字线标准含1.544 Mbps数据速率TCI-传输通道输入TLB-转换旁视缓冲器(MMU的部份)TMC-转码器多路复用器核心TPE-转码器处理元件T-STD-传输系统目标译码器tVLD-转码器VLDtVLE-转码器VLETx-发射器VBV-视频缓冲器检验器(MPEG)
VLD-可变长度译码
VLE-可变长度编码
VLIW-超长指令字
数字视频数据的传输,如,通过宽频通信系统如有线电视或卫星电视网络,已经逐渐变的普遍。源视频顺序能以任何速率预先编码,该速率可为固定位速率(CBR)或可变位速率(VBR),以形成预先压缩或有效位串流。但是,对许多应用,预先压缩位串流必须只适合特别许可或者是所希望的格式和位速率。因此,在与顶置盒和/或某些网络中间点通信之前使用转码器以改变位速率,格式或其它视频数据的特性。
在一统计多路复用器中通常使用许多转码器以便接收一些压缩位串流,解压缩该位串流(至少部份),然后由根据该位串流的一些统计性质(如图的复杂性)分配一量化参数,用不同位速率重新压缩该位串流。
通常,位串流根据已知的视频编码标准压缩,例如MPEG。
一多路复用器代表一种多个单服务视频转码器和动态设定视频位速率的一统计多路复用器的组合。通常,这样做是为了感性的均化多路复用器群内部视频服务的品质,即,为含有不易压缩视频的服务分配较多位,并为含有容易压缩视频的服务分配较少位。
但是,多路复用器结构的发展必须适应各种需要。特别是,我们希望提供的多路复用器结构完全由软件构成。如此提供较大的灵活性,容许只改变软件而非硬件便能在现场改变多路复用器的功能(如在有线电视的头端和类似物)。这种结构也适合用于计算机网络,如互联网。
其优势在于容许多路复用器升级以便处理新功能,改决硬件或软件问题(“误差”),测试新方法,配合客户改变要求,等等。这些任务非常容易由一“软”(基于软件)多路复用器处理。
另外,可以节省设计时间和费用。
多路复用器必须提供一良好的计算效率并容许一较小的实体尺寸(“脚印图”)。
多路复用器必须能使用现成媒体处理器构成,例如VLIW媒体处理器。
多路复用器必须执行完全转码,包括保持追踪帧间再量化误差。
多路复用器必须提供多次转码线程的进度(包括缓冲器管理,处理器管理,和其它),不必使用实时操作系统在单处理器上结合转码视频PIDs和通过数据/音频服务。
多路复用器必须使用一负载平衡算法,特别对转码任务,以使VLIW处理器和协处理器不会相互等候,并获得高位准的计算处理量。
多路复用器必须将转码算法分解成许多部分,以便在一VLIW处理器和一协处理器上根据协处理器内存限制,指令高速缓冲存储器尺寸和数据高速缓冲存储器尺寸进行运算。
多路复用器必须为不同MPEG-2图形类型(I,P或B)和宏模块编码型式(内部编码或中间编码)提供特别简化转码算法,并算出在转码期间中量化步骤尺寸是否增加或减少。
多路复用器必须提供转码器处理器元件(TPE)的全部软件结构。
本发明提供一具有上述和其它优点的多路复用器设计。
发明内容
本发明关于一种数字视频转码器-多路复用器(多路复用器)结构。
根据本发明的一种转码处理方法可以分解成下列5个步骤。一VLIW核心处理资源和一BSP处理资源按指示分配给不同步骤。BSP处理顺序位流压缩和压缩恢复。虽然其它供货商的类似装置也可使用,但在MAP-2000CA,BSP为VLx协处理器131,即一VLD/VLE协处理器。BSP操作多次转码VLD和VLE线程(处理回路)。一相对应的结构如图1(a)所示。
MPEG传输流译码(在VLIW核心上)(10)
MPEG视频基本流数据可变长度译码(VLD)(在BSP上)(20)
核心转码(在VLIW核心上)(30),一般由下列组成:
c.1)反向量化(VLD输出)
c.2)空间误差运动补偿(及增加IDCT输出)
c.3)运动补偿误差的正向DCT
c.4)增加反向量化结果误差(现在DCT范围)
c.5)正向量化(形成VLE输入)
c.6)反向量化VLE输入和从正向量化输入减去以形成DCT范围的累积误差
c.7)反向DCT误差以形成空间误差。这种误差储存在参照帧缓冲器内以供参考该影像的未来图形使用(步骤c.2)。
MPEG视频基本流数据可变长度编码(VLE)(在BSP上)(40)
MPEG传输流编码(封装转码视频基本流数据)(在VLIW上)(50)。
如此,剖析/多路分配器10提供传输流分解,VLD20提供ES分解,VLE40提供ES重组,并且再分多路复用器/封包50提供传输流重组。
总之,一视频存取单元(编码图形)的转码是由M个处理元件经N个计算步骤完成,其中若干步骤的结果用来作为以后步骤的输入(本案的特别步骤如上面所列)。N步骤的各个步骤根据算法规定的数据属性由不同的处理元件执行。
本发明的主要概念之一为各编码图形由在处理元件之间传递的一数据结构(图形结构)表示。图形队列出现在可由一个或多个处理元件提供服务的各功能(步骤)的输入。
根据本发明的一特别转码器装置包括至少一第一转码器处理元件(TPE)用于接收一包括压缩数字视频数据的传输流的输入通道,和与第一TPE相关的第一和第二处理资源以提供数据分解,核心转码,和数据重组。另外,与第一处理资源相关的一队列在第一处理资源处理之前将从第二处理资源接收的数据排成队列,且与第二处理资源相关的一队列在第二处理资源处理之前将从第一处理资源接收的数据排成队列。第一和第二处理资源至少部份可以并行操作以提供数据分解,核心转码,和数据重组。
单或多线程实施可用于VLIW和BSP处理器。
同时也提供一种对应方法。
附图简要说明
图1a显示根据本发明的一转码器结构。
图1b显示实施本发明的一媒体处理器。
图2显示根据本发明的一多路复用器的总示意图。
图3显示根据本发明的一转码器处理元件(TPE)软件结构。
图4显示根据本发明使用调度器处理图形队列。
图5显示根据本发明的一上下文切换路径的操作。
图6显示根据本发明使用一转码器。
图7显示图6转码器的功能模块在P图形中模块间编码。
图8显示图6转码器的功能模块在B图形中模块间编码。
图9显示图6转码器的功能模块在非B图形中模块内编码,其中Q2>Q1。
图10显示图6转码器的功能模块在B图形中模块内编码,其中Q2>Q1。
图11显示图6转码器的功能模块在非B图形中模块内编码,其中Q2≤Q1。
图12显示图6转码器的功能模块在B图形中模块内编码,其中Q2<Q1。
发明说明
本发明关于一种数字视频多路复用器结构。
1.介绍
本多路复用器是一种数字电视网络装置,其适合下列主要应用:
□传输流疏导(grooming)-多路复用器支持产生单客户传输流输出,其包含通过多达n个传输流输入接收的程序元件(视频,音频,和数据)。疏导表示从输入传输流选择用于转码的源数据。
□视频位速率减少-一般,多路复用器的传输流输出不能以原有的输入位速率支持程序元件。所以,多路复用器采用视频速率减少技术以确保“疏导”元件的总速率不超过通道容量。分配给特别服务(程序)的位速率由比较其它多路复用服务的相对服务复杂性决定,其取决于一常数总传输流速率。
□拼接(splicing)-多路复用器支持拼接通过相同或不同传输流输入接收的MPEG-2程序的能力。一般,拼接的元件包括通过一输入和一广告接收的一“网络”程序或通过其它输入接收的局部程序。
□数据插入-多路复用器支持各种固定和可变速率数据型式的传输,包括异步和同步串流,多协议封装,和数据转盘。多路复用器开发零封包“机会”,包括由转码提供的封包,容许数据服务争夺带宽作为含视频的统计多路复用群的元件。
图1(b)显示实施本发明的一媒体处理器。
2.媒体处理器结构的概述
用来实施本发明的一种可能的媒体处理器是目前有售的商品,即由西雅图,华盛顿的赤道技术公司制造的消费器具ModelMAPCA2000TM媒体加速处理器。
媒体处理器100的主要构件如下。
1.一VLIW处理器105,由2个群集器组成。各群集器具有自己的寄存器档案106,107,含64个32位通用寄存器,32个预测寄存器,和2个128位寄存器。各群集器含2个功能单元,称为I-ALU 108,109,以执行整数/逻辑/位算术,负载/储存操作,和分路,和IG-ALU 110,111,以执行整数算术,包括除和余数,32-和64-位分割运算,移位/抽取/合并,单精度IEEE浮动点,128位分割(8,16和32位因素)FIR和绝对值运算。
2.一32KB指令高速缓冲存储器112(具有NOPs扩展的数据流缓冲器)为2路联合方式,16字节线尺寸具有一LRU更换策略。
3.一32KB数据高速缓冲存储器114为4路联合方式,32字节线尺寸和使用LRU更换算法。
4.地址转换由分开的TLBs结合数据高速缓冲存储器114,指令高速缓冲存储器112和一DMA引擎120(在MAP CA2000TM称为DataStreamerTM)完成。TLB未产生中断并由软件服务。
5.一16位RISC CPU(协处理器)131包括一内存132。
6.DMA引擎120为一自主数据驱动器由一描述符链控制,其完成I/O-至/从内存转移和内存至内存转移。高达64个独立进度数据拷贝操作(路径)可以在任何时间处理。
7.一内SDRAM内存控制器140支持高达64MB,150MHz和一64位宽的数据路径。
8.提供二个32位(33或66 MHz)PCI总线接口141,142,包括一PCI 143。
9.芯片内外围设备包括传送通道接口163和165。多路复用器使用VLIW处理器(和超高速缓存/TLBs),DMA引擎,BSP协处理器,传送通道输入接口,PCI总线接口和SDRAM内存接口。MAP-2000封装的所有其它构件并不使用。
9.VLx为赤道公司的VLD/VLE(或BSP)协处理器131的名称。在TPE中,与VLIW处理器105相反,使用这种处理器以执行多次的tVLE和tVLD线程。
这种位流处理器经优化以执行编码和译码有关的固有的系列任务,如位字段(bitfield)压缩和压缩恢复,霍夫曼(Huffman)编码和译码,和条件语法分析和产生。本处理器为一通用CPU,其具有支持这些功能的特别指令或硬件。
图2显示根据本发明的一多路复用器的总示意图。
3.多路复用器高阶功能概述
在多路复用器200中,K个视频通道的一传送多路复用器为各自的接收器(Rx)210。如本例K=6通道。可使用任合适当数目的通道。连结各接收器的疏导器FPGA 215疏导各自的通道和提供相关数据至各自的FIFOs 220。
一多路分配器(DEMUX) FPGA 230根据DPRAM 245的“哪个转码器”信号路由数据从FIFOs至一排L转码器中的一现有的转码器240。各转码器同时也称为转码器处理元件。一TPE为一媒体处理器芯片(如MAP2000系列处理器),其具有相关的内存和I/O装置。各TPE处理数个来自输入多路复用的通道。在起动或再构造时,决定一TPE的服务的静态任务,即,使用在共同委托的,申请中的第09/666,902号美国专利所讨论的系统,日期2000年9月20日,题目为“视频多元处理器系统中通道的处理器分配”。
图2中TMC模块可为具有32MB的SDRAM的一MAP-2000CA。TPE为多路分配器FPGA 230和PCI总线242之间的TMC模块。自多路分配器FPGA 230过滤的传输流输入经MAP-2000的传送通道输入端口(TCI)输入。输出传送封包经PCI总线242传送至MUX处理器244(另外TMC模块)。MUX处理器244处理QL处理器246的统计多路复用决定的实施,交叉TPE输出并产生最后的PCR时间标记。各通道的输出位速率由QL处理器246动态更改(另外TMC模块)。TPEs通过信息通过PCI总线242与MUX 244,QL处理器246,和核心处理器248通信。核心处理器248为系统的控制处理器面象用户的,状态监视和DMA引擎的结构,和输出传输流的数据/PSI/SI来源的接口。
对于压缩视频的各输入帧,TPE能从一些不同的转码工具中选择用于帧的工具。复杂性和由这些工具引入的转码制造物发生改变。一般,复杂性越低,由工具引入的制造物越多。在一TPE上,一些压缩帧储存在各视频通道的一先行缓冲器内。首先分析储存的位串流以译码I/B/P图形类型和各帧的分辨率。然后分析数据应用转码算法以选择一适当的处理模式用于先行缓冲器中的每个帧以达到目标位速率并减少制造物。执行方法的目标为根据转码缓冲器的所有帧所需要的总循环数量不能超过TPE的有效处理功率的限制最小化转码制造物,该处理功率系根据特定的执行方法变化。容许用于转码特别图形的CPU总循环数大于能持久配合的实时,只要由TPE处理的所有服务的平均循环数小于实时限制。最后,再多路复用处理转码视频位串流供传输。
4.TPE结构
图3显示根据本发明的一转码器处理元件(TPE)软件结构。
如唯一的例子,图显示单TPE关连3个音频/视频数据服务的数据流。通常,一TPE能处理多个数据通道。一TPE能处理的最大通道数根据TPE的处理量,和通道数据的复杂性,其通过位速率,编码图形尺寸,帧速率,和其它因素测量。
一传送通道输入308经分解(在多路分配器306)以提供3个数据服务至各自的输入速率缓冲器310,312和314。然后在一可变长度译码器304译码数据服务,即响应BSP上下文交换DS通道功能340,然后再响应调度器350和各自服务的服务信息370,372和374。
提供VLD 304输出至输入MB FIFOs 316和输入模块FIFOs 318。然后在一转码功能320将数据转码,即可按需要(如,P和B图形的运动补偿处理需要)存取一正向参考图形322和一反向参考图形324。转码功能320提供VLD之后和VLE之前的处理线程(见图6-12)。
转码功能320的输出储存在输出MB FIFO 326和输出模块FIFO 328之内。供应FIFOs 326,328的数据至可变长度编码器302,然后至各自的输出速率缓冲器330,332,和334,例如3个数据服务。数据服务在再分多路复用器功能336重作多路复用处理,并经一PCI总线输出242通信(见图2)。
数据服务的音频部份在各自的功能340,342和344可以延迟,并在再分多路复用器336与转码视频数据再结合。
一些图形i-n(360),…,I(362),i+1(364),i+2(366),i+3(368)的处理由调度器350控制。
如果码完成转码功能不能配合无撞击I-超高速缓存,算法必须分解成数个传递以便有效执行(配合实时的限制)。在这种情况下,中间数据储存在中间传递的数据缓冲器380。
各TPE的媒体输入和输出为一如MPEG2标准规定的MPEG2传输流封包的顺序。在一可能的具体实施例中,传输流输入接口使用MAP的芯片内TCI端口。传输流输出封包传递至输出mux处理器。速率控制,统计多路复用,和多路复用器系统控制需要的通信,配置和调试基于PCI总线上的处理器之间传递的软件信息。
图3显示转码器的TPE软件结构的主要构件。软件处理在图中以隋圆形表示。术语“处理”不包括媒体处理器使用实时操作系统(RTOS)。本设计提供这些处理作为同堆栈的程序具有明码以便在“处理”之间切换(通过明码在“处理”之间切换,本设计将这些处理作为同一堆栈的程序实施)。如果使用一RTOS,本设计可以维持,其中所有“处理”能在同一RTOS任务中完成。
以下提供各种软件处理功能的概要。MPEG视频编码的许多媒体处理器提供一小型自主(可编程)装置用于可变长度编码302和译码304(分别为VLE和VLD)。在MAP-2000CA,本BSP为通用CPU称为VLx。BSP也执行分析,包装和拆装MPEG位串流。转码器的可变长度译码(tVLD)和编码(tVLE)处理同时使用BSP和媒体处理器VLIW处理器。其它所有的处理使用VLIW处理器。DMA引擎,如数据流器(DS)(也称为数据移动器)装置则用于内存,超高速缓存和I/O装置之中的数据移动。
一般的哲理是使用VLIW处理器的数据高速缓冲存储器作为小而快速工作内存使得DMA引擎处理所有在数据高速缓冲存储器和与VLIW处理器同时执行的外部RAM之间的媒体数据移动。
4.1主要数据结构和TPE数据流缓冲器
TPE使用一媒体数据流结构,即所有媒体数据(不同转码服务的音频和视频数据的各种表示)输出前通过一系列的计算处理和队列(FIFOs)。计算处理对数据的作用通过从一个或多个输入FIFOs(从TCI传送封包输入开始)至一个或多个输出FIFOs(传送封包输出至PCI结束)拷贝数据而产生。媒体数据为体积型并具有低局部参考性,所以在非高速缓存中维持FIFOs使得处理经DMA引擎存取本数据。数据缓冲器的功能,如TCIin,音频延迟(Aud Dly),输入速率缓冲器(iRB),输入宏模块(iMB),输入模块(iBlk),输出宏模块(oMB),输出模块(oBlk)。输出速率缓冲器(oRB),和PCIout,以及转码TPE的主要数据结构(位于缓冲器内)如表1所列。表1.转码处理的缓冲器和主要数据结构
名称 | 功能 | 输入DMA引擎路径 | 输出DMA引擎路径 | 每TPE数量 |
TCIin | 保持时间标记MTS封包直到可以由Demux()处理。容量够大足以保持所有一个帧周期的转码服务加进度裕度(假设没有额外传送封包输入)。 | 1 | 2 | 1 |
AudDly | 音频延迟缓冲器。尺寸系根据{最大音频位速率}×{statmux先行期间+2视频帧周期}计算。 | 3 | 19 | m |
iRB | 视频基本流数据输入速率缓冲器。容量为视频1VBV缓冲器尺寸(+终端对终端等候时间×最大视频位速率以支持支路模式操作) | 3 | 4 | m |
iMB | 输入宏模块FIFO(至转码器)。尺寸{每图形的最大MB数}×{statmux先行期间+1帧}×{数据结构MbData_t字节尺寸}。MbData_t结构的定义在下列表3。 | 5 | 7 | m |
iBlk | 输入模块FIFO(至转码器)。尺寸{每图形的最大模块数}×{statmux先行期间+1帧}×{数据结构BlkData_t字节尺寸}。一BlkData_t结构由64个2字节带符号整数组成:typedef struct{int16blk[64];/*一8×8模块*/}BlkData_t; | 6 | 8 | m |
fwd&bak | 这些缓冲器为空间差影像4:2:0[各像素成分为一带符号字节]。这些影像保持自最后的内部MB起的集合空间再量化误差。这些影像与降码器中的“参考图形”相似,因为内容由运动补偿和在各固定图形前正向和反向影像交换提示。目前误差必须写入反向影像。 | 13,22 | 9,10,22 | 2m |
Intrm | 转码P和B图形的传递1和传递2之间的中间数 | 11 | 12 | 1 |
据。本数据由6BlkData_t和1MbData_t结构组成[不论是否编码模块图案]。 | ||||
oMB | (自转码器)输出宏模块FIFO。尺寸为2×{每tVLE同步的最大宏模块数}×{数据结构MbData_t字节尺寸}。 | 14 | 16 | 1 |
OBlk | (自转码器)输出模块FIFO。尺寸为2×{每tVLE同步的最大模块数}×{数据结构BlkData_t字节尺寸}。 | 15 | 17 | 1 |
oRB | 输出视频基本速率缓冲器。尺寸为视频VBV缓冲器尺寸+进度裕度。 | 18 | 19 | M |
PClout | 输出传送封包。够大足以保持数据的一帧周期用于最大速率的全部转码服务+进度裕度。 | 20 | 21 | 1 |
表2说明TPE的DMA引擎(如,数据流式磁带机)用法。数据流式磁带机路径编号可以用来对照表1的数据结构。表2只列出逻辑DMA引擎路径。在实际TPE处理中,未同时使用的DMA引擎资源可再使用(见以下标示的“路径当量”)。表2:DMA引擎路径用法
路径 | 说明 |
1 | TCI输入路径为I/O至NC。本路径永远有效,重复充填TCIin。 |
2 | 多路分配器传送封包输入(NC至D$)。源永远有效,目的在读取各N MTS封包后暂停,而且必须由VLIW处理器等候暂停/继续。 |
3 | 多路分配器输出路径(D$至NC)传送音频基本数据至aud_delay和视频基本数据至iRB。源(src)和目的(dst)通道暂停,并将由VLIW处理器继续。 |
4(m) | iRB输出(NC至I/O)供tVLD GB输入数据。这些通道(每服务一个)不曾暂停,是由GB控制的含蓄流。 |
5(m) | tVLD宏模块数据输出(NC至NC)从BSP内存传送MbData_t’s至iMB。较高阶MPEG视频语法也由本路径传送。有m个分开路径(每服务一个)。dst通道不曾暂停,并由各MB的BSP继续。各MbData_t结构的最后字不等于零,所以BSP可决定等候DMA引擎将最后字变为零而完成操作。 |
6(m) | tVLD模块数据输出路径(NC至NC)从BSP内存传送BlkData_t’s至iBlk。每服务有一个路径,所以dst通道不曾暂停。为了BSP同步,各模块拷贝后进行缓冲器零化(由运转/位准MPEG码字产生的随机写入起动)。如果BSP产生一BlkData_t,指数63字必须具有位15组,所以一DMA引擎模块数据拷贝操作在字63写成零时即告完成。 |
7 | iMB(NC)至D$读取转码中由各图形处理的MB数据。起动Src通道以在停止前传送整个图形使得只有dst通道在MB处理回路中需要等候暂停/继续。 |
8 | iBlk(NC)至D$读取将由转码器处理的模块数据。src通道经程序化以在暂停前移动整个图形。dst通道操作以在等候暂停/继续之间读取MB模块。 |
9,10 | 正向和反向误差影像MC读取路径(NC至D$)。在各MB,起动src和dst通道。机制与MPEG2译码相同,使用一双缓冲器超高速缓存保有含MC像素的源影 |
像的一矩形出口对准左上角。根据是否需要帧预测或栏预测,使用两个描述符链。路径当量:10==22和9==12。 | |
11 | 中间数据输出(D$至NC)每个编码宏模块节省1MB和6模块(跳跃或误差MBs除外)。dst通道经程序化以拷贝整个图形并假设无误差,所以只有src在MB回路中等候暂停/继续[如果发生误差,某些预设Mbs会跳跃和使用图形端填补以完成总src计数]。路径当量:11==13。 |
12 | 中间数据输入(NC至D$)在P和B图形的传递2中从SDRAM读取中间数据。设定源在停止之前读取整个图形。编码宏模块的所有Mb和模块数据通过dst通道一次操作读取。 |
13 | 本路径拷贝每个固定图形MB的误差数据(D$至NC)进入”bak”空间差帧缓冲器。各MB的src和dst通道跳跃和等候暂停。 |
14 | oMB输入(D$至NC)目的通道不曾暂停,src在宏模块回路内为wait_halted/continued。必须特别注意tLVE同步点附近以避免FIFO底流(基本上不能保证同步直到最后同步点后的第7MB已经产生,且到oMB的DMA引擎转送起动)。假数据(3MbData_ts)在各图形终端插入oMB以容许一可能的上下文切换至其它服务。 |
15 | oBlk输入(D$至NC)目的通道不曾暂停,src在宏模块回路内为wait_halted/continued。一src通道传送操作拷贝MB的所有模块至一暂停/继续事件对的oBlk。像oMB输入,避免FIFO底流一般需要产生4模块(和DS转换起动)超过结尾MB_SYNCHRONIZE MB。如果因为模块稀疏而使本条件不符,添加假模块(由tVLE跳跃)至本FIFO。假 |
数据(2BlkData_t’s)必须插入各图形未端的oBlk以容许提供一可能上下文切换至其它服务。 | |
16 | oMB至tVLE为一NC至NC路径,其中源通道不曾暂停。dst信道由tVLE继续。起动DS操作之前,MB缓冲器的最后字写成零。当BSP能在本位置看到非零字时,本操作便告完成。在一图形的未端,tVLE先前已读取一额外MB,DMA引擎缓冲器含有2额外MBs。因为本数据遗失,在图形周围的输入MB流中需要3MbData_t的间隙。 |
17 | oBlk至tVLE数据串流为一NC至NC路径,其中源通道不曾暂停。dst通道由tVLE继续。在各通道继续之前,模块的最后字由BSP写成零,当BSP看到一非零字在此位置时,转换确实完成(源模块必须由本字的位15设定为1产生)。在一图形的末端,本路径将读取完(或正读取)额外模块进入BSP内存,而DMA引擎缓冲器将(一般)含额外模块。如此,图形之间需要一2BlkData_t结构的间隙。 |
18(m) | tVLE至o RB为一I/O至NC路径拷贝GB输出至SDRAM。目的通道不曾暂停。因为DMA引擎缓冲器不能轻易放空,各服务有一个这种型式的路径。 |
19 | 本路径系用来撷取由重多路复用器需要的(NC至D$)音频(从aud_delay)和视频(从oRB)基本流式数据以产生输出传输流封包。src和dst通道在Remux()执行中由VLIW处理器等候停止/继续。 |
20 | 本D$至NC路径撷取由Remux()从超高速缓存产生的传送封包至PCIout缓冲器。 |
21 | 本路径拷贝从PCIout缓冲器经过PCI总线至MUX处理器的全部传送封包(NC至NC)。 |
22 | 如果P图形的跳跃MBs(宏模块地址增量大于1)被检测,本路径从前“参考图形”拷贝累积的 |
空间重量化误差至目前参考图形。路径当量:10==22。 | |
*** | BSP上下文切换路径拷贝在上下文切换处理中需要的说明,VLx_state_t数据结构化和零化(初始化)BSP内存数据结构。本路径的功能在4.2.5节作更详细讨论。 |
表3:宏模块数据结构,MbData_t
enum MBFlags{ MB_QUANT =0X0001, /*本MB的新量化器尺标*/ MB_FWD =0X0002, /*正向移动向量存在*/ MB_BAK =0X0004, /*反向移动向量存在*/ MB_PATTERN =0X0008, /*本MB的编码模块图案*/ MB_INTRA =0X0010, /*此为一内部MB*/ MB_FLDDCT =0X0020, /*使用栏DCT*/ MB_MOTCODE =0X00C0, /*帧/栏移动码*/ MB_FRM_FIELD =0X0040, /*帧结构栏预测*/ MB_FRM_FRAME =0X0080, /*帧结构帧预测*/ MB_FLD_FIELD =0X0040, /*栏结构栏预测*/ MB_FLD_16×8 =0X0080, /*栏结构16×8预测*/ MB_DUALPRIME =0X00C0, /*双主要预测/* MB_REFFLD =0X0F00, /*参考栏/* MB_FWDTOP =0X0100, /*正向上栏参考为下栏*/ MB_FWDBOT =0X0200, /*正向下栏参考为下栏*/ MB_BAKTOP =0X0400, /*反向上栏参考为下栏*/ MB_BAKBOT =0X0800, /*反向下栏参考为下栏*/ MB_NEWSLICE =0X1000, /*一新切片的第一MB*/ MB_SYNCHRONIZE =0X2000, /*此MB之前与VLIW处理器 同步*/ MB_ALWAYS =0X4000, /*永远设定DMA引擎同步*/ MB_ERROR =0X8000, /*TVLD检测本MB的一个误差*/ }; <dp n="d18"/> typedef struct{ int8 mvc_f0_x; /*第一正向水平移动码*/ uint mvr_f0_x; /*第一正向水平移动剩余*/ int8 mvc_f0_y; /*第一正向垂直移动码*/ uint8 mvr_f0_y; /*第一正向垂直移动剩余*/ int8 mvc_f1_x; /*第二正向水平移动码 /horiz_dmv*/ uint8 mvr f1_x; /*第二正向水平移动剩余*/ int8 mvc_f1_y; /*第二正向垂直移动码 /vert_dmv*/ uint8 mvr_f1_y; /*第二正向垂直移动剩余*/ int8 mvc_b0_x; /*第一反向水平移动码*/ uint8 mvr_b0_x; /*第一反向水平移动剩余*/ int8 mvc_b0_y; /*第一反向垂直移动码*/ uint8 mvr_b0_y; /*第一反向垂直移动剩余*/ int8 mvc_b1_x; /*第二反向水平移动码*/ uint8 mvr_b1_X; /*第二反向水平移动剩余*/ int8 mvc_b1_y; /*第二反向垂直移动码*/ uint8 mvr_b1_y; /*第二反向垂直移动剩余*/ int8 y0_n0c; /*y0非零系数计数*/ int8 mbai; /*宏模块地址增量*/ int8 y1_n0c; /*y1非零系数计数*/ int8 qscale_code /*量化尺标1..31*/ int8 y2_n0c; /*y2非零系数计数*/ int8 cbp; /*位反cbp*/ int8 y3_n0c; /*y3非零系数计数*/ int8 slice_sc; /*切片开始码(if MB_NEWSLICE)*/ int8 cb_n0c; /*cb非零系数计数*/ int8 qscale; /*量化尺标1..112*/ int8 cr_n0c; /*cr非零系数计数*/ <dp n="d19"/> int8 blk_skip; /*此mb后模块跳跃*/ int16 stuffing; /*切片前充填nbr字节*/ int16 mode; /*mb_*常数(必须最后)*/ }MbData_t;
4.2TPE中转码处理
4.2.1多路分配器
以下为多路分配器处理306的高阶说明。多路分配器处理检查所有从TCI 308进来的MPEG传输流(MTS)封包。去除所有非TPE转码服务之一的音频或视频PID串流的部份的封包。本文不讨论音频转码。音频串流保有相同的MTS和PES封包结构并在转码系统延迟后作为相同服务的部份输出。多路复用器为一常数延迟装置并且同样的延迟应用于所有TPE的所有服务的所有成分。
多路分配器306分解视频成分的逆包结构基本流数据语法和传输流,并识别各自的视频存取单元(即,编码图形)。一视频存取单元由编码图形加上图形前所有高阶语法,和图形的最后切片后的任何充填字节组成。一旦视频存取单元被确认,即分配一图形结构。选择需要保留的MTS和PES层信息储存在图形结构内(包括输出PES和MTS语法)。
多路分配器处理306扫描起动码的视频基本流数据以识别存取单元(编码图形)。同时必须决定编码图形的尺寸(字节)和各图形的显示期间(从编码帧速率和repeat_first_field标志)。图形尺寸用来决定何时在输入速率缓冲器(iRB)中出现一完全图形,并也用来计算起动码和速率控制所需的参数。如果在PES封包中未出现,则显示期间用来建造一本图形的DTS。在本图形结构中决定和储存本图形开始区域27Mhz时钟和程序时钟之间的电流偏移。
4.2.2调度器
图4显示根据本发明使用调度器处理图形队列,图中编号相似的元件为相同的元件。
多路分配器306提供3个示例服务的新图形405,407,和409至一第一调度器402。另外,调度器402提供支路图形411,413,和415至再分多路复用器336。某些图形将回避转码,如当减少位不需要电流时。再分多路复用器336也接收各服务416,418,和420的编码图形。
先前说明的处理本体的内部控制是由图形队列处理操作。图形数据含所有视频,PES和MTS图形数据(如PES和MTS时间标记,tVLD和tVLE使用的VLx_state_t数据,图形型式,尺寸和显示时间),以及服务数据结构的一指针。服务数据结构含信息如服务使用的MTS PIDs,超服务队列的地址和尺寸(如,iRB,iMB,iBlk,oRB,音频延迟(AudioDelay)),视频顺序参数和量化数量。
第一进度模块(Schedl)402交错不同视频服务图形成为TPE局部处理指令。这是根据译码时间标记(DTS)指令完成。从超服务输入图形队列之一去除下一转码图形(FIFO指令)如果:(1)其DTS(转换成当地时间基准)为所有服务中最小,和(2)已检测到下一图形(考虑图形之后)的开始并拷贝至输入速率缓冲器。
图形结构保留在“等候DTS”队列408直到产生图形的DTS时间。在此期间编码图形放置在速率缓冲器中。当DTS时间结束和BSP 410经调度以处理本图形时,第二进度模块(Sched 2)404从“等候DTS”队列408移动图形到“VLD挂起”队列406。
这只是“Sched 2”模块的部份功能;同时也用来分配BSP至tVLE功能。BSP的处理操作并不独立于VLIW处理器是因为转码器和tVLE处理之间有较密的互相作用。转码器监视由tVLE产生的位数以决定是否符合目前图形位的目标数。如果目标位速率与实际位数有差异,转码器内的速率控制反馈机构调整编码输出MPEG模块使用的量化位准至较接近符合目标位速率。即tVLE必须停止每N个宏模块以报告产生的位数以容许转码器更新其量化参数。数量N约为,例如,半行的宏模块。
这种转码处理和BSP可变长度编码处理之间的相互作用表示这个功能必须在各自的处理器上同时执行。这种限制对转码器与tVLE之间和tVLD与剩余VLIW处理器软件处理之间负载平衡具有重要的含意。一种简化型TPE外循环如表4所示。
表4:外循环
/* */单纹TPE的外循环 */ for(;;){ //BSP Demux(); //tVLD 多路分解所有有效输入 Schedule(); //tVLD 决定其次作什幺 Transcode(); //tVLE 转码图形 Remux(); //tVLD 重组合MTS封包 }
当特别图形的statmux先行期间L已结束,从“等候DTS+L”队列412取出需要转码的图形。图形移动到“转码挂起”队列414直到确实可以转码。“Sched 2”模块404负责tVLE/transcode操作模式和tVLE/多路分配器/再分多路复用器操作之间切换。欲最小化BSP码影像交换次数并保持VLIW处理器超高速缓存区域,所有转码(和VLE)挂起图形须首先处理,然后处理所有挂起VLD操作。
4.2.3tVLD
tVLD为BSP功能,能分析视频基本流数据成为MbData流和BlkData流。tVLD处理一存取单位(图形),然后,停止控制使得可以(由调度器)重新指派BSP至其它服务的VLD或至VLE。各主动服务含一VLD线程和一VLE线程合作共享BSP。使用一数据结构(VLx_state_t)以保持所有BSP线程上下文加处理中视频存取单元的特定数据。
VLD程序读取位串流数据和产生2个内存对内存输出串流,MbData和BlkData,和一BSP内存常驻数据结构,VLx_state_t(如表5说明)。一旦起动,VLD程序在暂停前会处理一MPEG编码图形。在此处理步骤中不需要VLIW处理器的相互作用。
表5:VLx_state_t结构
typedef struct{ uint16 context; /*状态改变和缓冲器使用 (CTX_*consts)*/ uint16 gbstate[15]; /*取位状态*/ uint16 mbdata_chan; /*MbData通道指数*/ <dp n="d22"/> uint16 blkdata_chan; /*BlkData通道指数*/ uint16 rcodes; /*fh=15:12,fv=11:8,bh=7:4, bv=3:0*/ uint16 pict_flags; /*图的型式和标志*/ union{ struct{ uint16 nblocks; /*编码模块数*/ uint16 nmb; /*编码宏模块数*/ uint32 mquant_sum; /*本图所有mquant之和*/ uint16 seq_hdr_off; /*偏移至顺序标头或-1*/ uint16 seq_ext_off; /*偏移到顺序扩展或-1*/ uint16 pic_hdr_off; /*偏移至图形标头或-1*/ uint16 pic_ext_off /*偏移至图形码扩展或-1*/ uint16 quant_ext_off /*偏移至quant mtx ext或-1*/ uint16 ending_startcode; /*SC结束最后图的最后切片*/ } vld; /*VLD程序输出*/ struct{ uint32 picture; /*服务识别器(图形*)/ uint16 sync_mbnum; /*同步MB数*/ uint16 mbbits; /*自上次同步的MB位数*/ } vle; /*VLE/VLIW处理器同步使用的变量*/ } u; uint16 hisyntax_bytes; /*高于切片语法的字节*/ uint16 ctx_sw_loc; /*零如果未执行,其它重起动 addr*/ }VLx-state_t
当DS通道暂停时,BSP不能检测。因为BSP必须确认一通道在通知DS继续前暂停,转换完成条件必须由查询转换数据的最后字决定。在拷贝输入BSP内存,和DMA引擎暂停前转换的最后字必须不为零,且在BSP内存内的位置预置为零。BSP通过观察本位置的非零值而检测转换完成。在拷贝输出BSP内存,转换数据模块的最后字在暂停前必须不为零,且DMA引擎在完成拷贝后本源区必须程序化为零。当看到转换的最后位置为零,BSP知道DMA引擎已暂停。
VLD使用DMA引擎转换数据用于:
1.读取位串流至BSP内存;
2.从BSP内存移动MbData至主存储器(SDRAM)。MbData流系用来运送高于切片层语法和宏模块信息;
3.从BSP内存移动BlkData至主存储器(SDRAM)和零化BSP内存内的编码模块缓冲器;以及
4.BSP状态交换(存取单元完成中断VLIW处理器)。
位串流输入路径的DMA状态保留在相同位串流的VLD起动点之间,但是,其它路径可以恢复和再使用。VLx_state_t结构包含在VLD暂停时各流上写入数据的数量。
假设位串流输入DMA通道不暂停。因而消耗大基本流数据缓冲器的数据和当VLD起动时,假设至少一全编码图形在缓冲器内出现。便不能检测缓冲器低流(或等候较多的信息)。
MbData流源通道在各MbData_t结构转换后暂停。由VLD继续完成一BSP内存的双缓冲拷贝。BlkData源通道使用相似的策略。状态通道用来拷贝VLx_state_t结构进出BSP内存。需要中断VLIW处理器以便与BSP同步执行(如,再负载BSP,恢复/再分配DMA引擎资源和根据其数据源/储井流动控制BSP)。本通道在各图形的末端由VLD/VLE继续。
图形数据(在VLx_state_t中)由tVLD从图形标头和图形编码延长抽取的数据组成。包括图形类型(I,P,或B),DC内部准确,图形结构,顶部栏第一标志,帧预测帧DCT标志,隐藏移动向量标志,量化尺标型式标志,内部VLC格式标志,交替扫描标志,重复第一栏标志,全像素正向标志,全像素反向标志,各移动向量成分和预测方向的r_码(f_码-1)。图形数据也包括高阶语法字节数量,上述语法的偏移,BSP GB单元状态,tVLD DMA引擎通道和缓冲器指数,目前图形中编码模块数量和编码宏模块数量。图形译码后,本数据在图数据结构中拷贝并由转码器,tVLE和再分多路复用器使用。也存在一误差标志以标记图形中存在的不可修复的误差。
所有译码量化器尺标值之和在1至112的范围之内(每编码宏模块)由tVLD累计。同时这种数退回含图形数据。这种信息合并图形类型和编码图形尺寸以形成statmux需要的参数。统计多路复用算法使用,如,先前的一166ms(30 fps 5帧)和一1秒历史以决定各服务各图形的目标位速率。各图形的tVLD操作完成后,立刻将此信息传送至QL处理器(经PCI总线)。输入模块(iBlk)队列,输入宏模块(iMB)队列,和等候DTS+L图形结构队列412的尺寸基于先前的规定。
宏模块和模块数据为由DMA引擎从BSP内存拷贝的信息流。一般,有各种不同的宏模块数目(由于跳跃宏模块由一宏模块表示,地址增量大于1)和各种不同的每宏模块的模块数目(在编码模块图案中由“1”位数表示)。只有编码的宏模块和模块由tVLD产生。因为宏模块和模块由tVLD译码,DMA引擎拷贝本数据进入目前服务的iMB队列和iBlk队列。这些队列归入非超高速缓存SDRAM,并且在非粘结模式中只由DMA引擎存取。
图5显示根据本发明一上下文切换路径的操作。
如在时间顺序500显示,以及参考表3的数据结构,各编码宏模块的宏模块数据由一32字节结构组成,包含:
1.一标志表示是否本宏模块为一切片的第一宏模块。包括由切片起动码的最后字节所示的切片垂直位置。
2.译码宏模块地址增量用于维持追踪跳跃的MBs和目前MB的屏幕位置。
3.提供宏模块型标志(量化器存在,正向MC,反向MC,编码模块图案存在,内部编码)。
4.出现dct_型位(帧对栏)。
5.存在motion_型(帧结构的frame_motion_型和栏结构的field_motion_型)。
6.因为5位quantizer_scale_code和译码quantizer_scale都在1至112范围内,因而包括量化位准(不管是否在目前MB_中显示)。
7.部份译码移动向量(motion_code和motion_residual格式)。用于双主预测的Δ移动向量为代表。如果使用栏预测,则包括参考栏选择器位。
8.出现编码模块图案以表示哪个和多少个编码模块为本宏模块的部份。
9.出现一误差标志表示存在一检测的语法误差。如果发生误差,即尝试在下一切片再继续译码。
图例550说明顺序500的语法。
如果处理标头信息(高于切片层语法),则本数据的逐字拷贝储存在MbData流内。标头信息包装成30字节模块使得各32字节单元的至少2字节为由BSP使用以检测一转换完成的非零标志。
模块数据包括一译码量化DCT系数8×8数组,代表带符号的16位数。内部DC值为一微分DC;先前同样彩色成分的内部DC值(或128)必须相加以求得实际DC值。
注意:
1)内部DC模块的DPCM(解)编码在VLIW处理器完成。内部模块DC项目作为BSP的输入/输出,为微分DC值。
2)移动向量的DPCM(解)编码在VLIW处理器完成。各移动向量的成分(水平或垂直)作为一对(motion_code,motion_residual)储存在MBData_t中。
3)M接收程序化服务能具有分开或共同MbData_t和BlkData_t缓冲器和DS路径。在两种情况下,DS通道在BSP负载之间不需要冲刷或恢复。即使M服务共享内存对内存DMA引擎缓冲器/路径,tVLD和tVLE需耍经BSP GB单元的分开位串流I/O路径。
4)欲增加BSP和VLIW处理器的并行性,往往可以,(a)由接收运转/位准对顺序代替VLIW处理器的BlkData_t加速tVLE,和(b)由提供运转/位准对顺序至VLIW处理器加速tVLD。项目(b)也节省先行缓冲器中的空间。
4.2.4tVLE
tVLE处理消耗由转码器产生FIFOs的输出模块(oBlk)并输出宏模块(oMB)的模块和宏模块数据。这两个FIFOs供所有服务使用(各FIFO只存在一个),并且当转码器从一个图形切换到下一个图形时,FIFOs成为空。DMA引擎使用非粘结存取模式从各FIFO撷取数据以供应tVLE。输出视频基本位串流储存在输出速率缓冲器(oRB)通过非粘结内存写入DMA引擎路径。
tVLE预设为一无误差相位。所有不良图形必须删除使得不被tVLE看见。不良语法误差由扫描回收至下一切片起动码造成跳跃宏模块的顺序传递至tVLE。
如前述,转码器和tVLE同步每N个宏模块以交换自最后同步后产生的位数信息。只有切片,宏模块和模块层的位计算数量;标头语法的尺寸为常数并不包括在内。同步点在宏模块贴上MB SYNCHRONIZE标志成为一个MBData_t模式位后产生。宏模块并不需要规则隔离;但是,一些限制如下:
1.最后宏模块必须贴上MB_SYNCHRONIZE(否则不包括位数的最后增量)。tVLE不计算模块或宏模块;依赖转码器通知图形的末端已经到达。
2.N数量不能太小,否则输入DMA引擎路径读取的数据会超出转码器所写入的。转码器至少保留两编码模块和两编码宏模块于tVLE之前以防止因为DMA引擎不能检查本条件而造成的FIFO低运转。另外,较普遍的避免小N值的理由为:作为性能的条件同步化的成本贵昂;通过旋转强制快速处理器等候。
3.N数量不能太大。BSP维持累计位数作为一未带符号16位数不容许水平循环。较大的N数值造成较长的校正量化位准的响应时间,意即减少符合目标位速率的精确度。
VLE产生转码MPEG视频基本位串流。所有高于切片层的语法从源位串流即不变;这种语法系从MbData流直接拷贝到输出位串流。切片,宏模块和模块语法根据读取MbData_t和BlkData_t结构产生。为了达到速率控制的目的,tVLE计算产生的输出切片/MB位数量,然后停止(旋转),只要MB_SYNCHRONIZE标志放在MbData_t结构的模式字内便传递此数据至VLIW处理器。
这种同步化机制设有特定要求用于管理oBlk和oMb FIFOs。tVLE使用一先读策略使得DMA引擎对超出同步点的模块和宏模块的读取在已知tVLE暂停VLIW处理器同步之前已经起动。另外,DMA引擎缓冲器也读取超出转换至BSP内存的数据。即超出MB_SYNCHRONIZE宏模块的3 MbData_t结构(有2 MbData_t结构位在最小尺寸的DMA引擎(如DS)缓冲器内)和2 BlkData_t结构在开始同步之前必须在外部RAM内以避免FIFO低串流。转码器用来写入数据至oBlk和oMb FIFOs的方法为一管线后写算法,表示VLIW处理器必须起动写入至少6 MbData_t结构和4 BlkData_t结构以保证不会发生低串流。
如果,写入6编码宏模块至oMB已经起动时,而4编码模块(原文为:fewer that 4 coded…P32)已经写入,然后必须插入假模块至oBlk以避免低串流。tVLE通过MbData_t的“blk_skip”栏得知假模块;本栏告诉tVLE跳跃目前宏模块之后的规定数量的模块。
图末端(EOP)的出现存在一些复杂性。首先,如果EOP出现在MB_SYNCHRONIZE宏模块的6编码宏模块之内,同步点移到EOP(即为规定的同步点)。第二,因为调度多项服务和多项服务共享相同的oMB和oBlk FIFOs,要在EOP避免oMB和oBlk低串流并不实际。由于这些原因,容许在图末端产生一“无害”低串流。通过插入一个3MbData_t和2 BlkData_t的“间隙”至图形之间的FIFOs使低串流成为无害。这种间隙结构由tVLE读取并在开始处理下一新图形时加以忽略。
VLE使用下列的DMA引擎(如DS)路径:
1)使用BSP上下文切换路径以替换上下文切换用的BSP内存的VLx_state_t结构。BSP在各图形末端本路径的源通道作一DsContinue,然后,等候完成(NC对NC)的ctx_sw_flags。
2)MbData流为一mem对mem(NC对NC)拷贝,其中源通道在各MbData_t结构拷贝后暂停,使tVLE能作一双缓冲读取。这路径可恢复并在tVLE起动点之间再使用。
3)BlkData流为一mem对mem(NC对NC)拷贝,其中源通道在各BlkData_t结构拷贝后暂停,使tVLE能作一双缓冲读取。这路径可恢复并在tVLE起动点之间再使用。
4)GB输出串流储存位串流在SDRAM内。GB输出状态为储存/恢复于VLx_state_t和本路径的DMA引擎状态必须在tVLE起动点之间不受干扰。
对于tVLE,MbData_t的“.qscale_code”栏为5位“quantizer_scale_code”须直接放入位串流。如果设定MB_NEWSLICE,MB_QUANT必须消除以避免本宏模块传送两次.qscale。
4.2.5 BSP管理
BSP处理(tVLD和tVLE)一次操作一图形。当目前图形完成后,BSP经上下文切换至另外服务,并可能为另外功能(如,VLD对VLE)。也可能并无下一个功能存在(如,BSP空转并等候VLIW处理器并简单执行一旋转回路直到更多工作就绪)。上下文切换处理由DMA引擎完成并基本上与VLIW处理器不同步。BSP上下文切换程序如下:
1)结束BSP处理储存所有必要的状态于一BSP内存常驻数据结构(即VLx_state_t,见表5)。包括BSP硬件GB单元。
2)BSP上下文切换内存对内存DMA引擎路径的源通道连续。连续操作从BSP内存拷贝VLx_state_t结构至SDRAM的一指定位置。
3)BSP零化VLx_state_t结构的.ctx_sw_loc栏,然后输入一快速回路询问本位置。如果本位置通过跳跃至本字读取地址变为非零,则快速回路退出。
4)VLIW处理器由完成BSP内存的VLx_state_t拷贝而中断。此中断容许VLIW处理器监视BSP的进度。这种ISR的功能以后说明。
5)如果有另外可运转的BSP线程存在,上下文切换路径将:(a)选择性重新加载BSP内存文字影像(指令和表),(b)起动/零化任何工作数据结构,和(c)将新BSP线程的状态重新加载到VLx_state_t缓冲器。“.ctx_sw_loc”输入新VLx_state_t结构包含本线程的输入点地址,并且一在BSP检测到非零值后立刻产生输入点的支路。
6)如果没有直接的可运转的BSP线程存在,BSP继续询问快速回路内的.ctx_sw_loc。BSP上下文切换DS路径将暂停(源和目的通道)使得在一新BSP线程变为可运转后立刻继续(至步骤5)。
BSP上下文切换DMA引擎路径在上下文切换处理中完成最少2个拷贝。第一,拷贝结束处理状态结构至SDRAM。第二,从SDRAM拷贝新BSP处理的状态结构至BSP内存。所有BSP处理的所有状态结构具有一共同格式(包含一VLD对VLE联合),并且放置在BSP内存内一共同的已知地址。如果BSP码影像必须改变,那幺在上下文切换中,上下文切换路径在去除日状态结构和安装新状态结构之间拷贝该码影像至BSP内存。上下文切换路径的源和目的说明标记为1对1对应;并且由“Sched 2”模块404动态定义(见图4)。每次添加一图形至“转码挂起”队列414,对应的tVLE执行通过添加新的说明标记至上下文切换源和目的通道而调度。每一图形移至“VLD挂起”队列406,tVLD执行同样调度使得在各进度循环中,所有tVLE执行在所有tVLD执行之前发生(外部程序回路的一重复)。
图5显示根据本发明BSP上下文切换路径的操作。
为了VLIW处理器维持追踪BSP完成的进度,SDRAM的结束BSP处理状态拷贝的目的说明标记在完成时中断VLIW处理器。VLIW处理器ISR用来执行内务管理功能包括:
1.释放上下文切换路径的源和目的通道的执行说明标记。
2.提供VLIW处理器同步状态(如此转码器会知道tVLE在运转)。
3.从“VLD挂起”队列移动图形结构至“等候DTS+L”队列。
4.DsContinue()ing源和目的通道。如果此时没有排定额外BSP工作,需要这种功能以防止上下文切换路径操作“至表末端终止”。
4.2.6 VLIW核心转码器
一视频转码器的基本功能为转换一高位速率位串流成一低位速率位串流。另外的特征,例如广告插入,logo插入,和疏导,也能在步骤内完成。转码器(VLIW引擎)执行转码功能(工具)例如,运动补偿,DCTs,和量化。
图6显示根据本发明可能使用的一转码器。该结构执行DCT区域内的大部份操作,使得反向DCT和运动补偿操作次数减少。再者,因为移动向量无法重新计算,因此所需的计算将大幅减少。根据这种结构,可以作进一步简化。小心比较之后,相信这种结构是提供低计算复杂性和高调适性的最佳组合。
VLIW机器的实时程序化的一些重要考虑为:
1)媒体处理算法必须有效使用现有的指令,特别是分割字算法。在此模式中,一单指令在一个字(32,64,或128位)上操作,该字作为由8,16,或32位元素构成的一短向量在单指令多数据(SIMD)形态中处理。所有媒体数据(像素,DCT系数,…)的内回路处理必须使用这些指令以获得实时视频计算性能。
2)多数功能单元必须保持忙碌且并行操作。大部份时间可用最少说明对说明数据相关性依任务说明顺序完成。如果有替代对替代独立性存在,通常这可由展开回路达成。
3)分支缓慢,且“延迟间隙”的操作利用困难。通过使用数据选择操作器(?:在C),展开回路和内衬小功能来减少分支。
4)有效使用超高速缓存(无打散)。对于指令高速缓冲存储器,意即一图形的整个宏模块回路必须在正常情况下保持超高速缓存常驻程序。罕见事件(如,tVLE同步或误差回收)或在图象转换中可以作为例外,数据工作组必须是超高速缓存常驻程序(DS转换媒体数据进出超高速缓存),包括堆栈的顶部。
5)VLIW寄存器资源必须有效使用。MAP上两群集器的每一群集器具有64个32位寄存器供局部标量变量和临时表示使用。内衬功能可以增加使用的寄存器数量。储存和恢复大量寄存器(该事件发生在实际功能呼叫中并中断进入和退出)必须降到最少。
在图6中,在各固定图形之前,先前帧缓冲器(P_FB)630和目前帧缓冲器(C_FB)640交换(由指针交换)。在B图形转码中,P_FB630用作正向运动补偿,而C_FB640用作反向运动补偿。这些帧缓冲器保持空间差影像,代表像素对像素误差或由位速率减少产生的噪音信号。在本文讨论的有效转码算法中,移动向量,预测(移动)模式,中间对内部,和帧对一宏模块的栏DCT属性经转码处理而不变。
转码器600的主要功能模块为:
1.(选择性)游程长度译码器(RL-Dec)605:(运行,值)[(Run,Value)]对转换成为8×82-D数组。此步骤在tVLD产生。
2.Q1 -1:译码器的反向量化(610)。因为反向量化只对(运转,值)[(Run,Value)]对的值执行,操作的次数远低于每8×8模块64。许多8×8模块全为零,如MEPG VBP标志所示,所以Q1 -1的总计算很小。本文使用输入位量化标度Q1。
3.DCT(615):正向DCT。要求的计算负载约与IDCT相同。但是,必须在一个帧的每个8×8编码内模块的运动补偿预测上执行。如果需要,栏DCT交换发生在MC620和DCT 615模块之间。
4.MC(620):译码器的运动补偿(MC)存取P_FB630(正向MC)和C_FB640(反向MC),而且这须在帧的所有模块上执行。MC处理造成低计算但高内存存取。MC需要的数据经DMA引擎从SDRAM的参考图形撷取。恢复固定尺寸矩型像素(各彩色成分)致使左上角像素为(在半像素插补中)MC输出的最上和最左像素。
5.A1:Q1 -1输出相加运动补偿和转换模块以形成再造频率区域模块。这种功能加载缓冲器C_FB的数据,然后回存数据至C_FB。计算为简单的加法,但内存存取包括每像素一个储存和两个负载。
6.Q2(650):量化DCT系数。本操作在8×8模块的所有64数据点和帧的每个模块上执行。本步骤使用输出量化标度Q2。
7.Q2 -1(660):使用输出量化标度的编码器的反向量化。本功能具有一低于Q1 -1610的计算负载。
8.A2:再造影像与运动补偿相减以形成差异模块。本模块的输出代表频率区域累积预测链的所有误差。
9.IDCT(670):译码器的反向DCT。IDCT需要许多操作(一8点1-D转换,通用的陈王快速算法需要19次加法和13次乘法)。IDCT的空间结果储存在固定图形的C_FB帧缓缓器640。C_FB帧缓缓器640必须更新,即使本模块CBP输入位为零或Q2量化步骤造成一零模块。
10.(选择性)游程长度编码器(680)RL-Enc:产生(运转,位准)[(run,level)]对。本功能模块计算少但由加载量化DCT系数存取内存。因为“运转”[“Run”]必须按顺序计算,很难并行操作。本步骤发生在tVLE。
虽然转码器的结构固定,通过注意特别状况,数据流可以简化,某些情况下非常有效。图6的转码器结构具有许多功能模块,但不是所有的功能模块都可用于每个图型或宏模块型式。根据图型和宏模块型式,所有条件分成六类,而各类产生适当的简化。
1)P图,中间模块。这类使用大部份的功能模块,所以最耗时间。图7显示编码P图中间模块时,图6转码器的功能模块。图中相似编号元件相互对应。图7显示一转码器700使用如图6转码器600的所有功能模块。只缺少反向运动补偿。这是最差的情况(即计算最密集)。
2)B图,中间模块。图8显示编码B图中间模块图6转码器的功能模块。因为B帧并非固定帧,不需要输出一空间差帧,因而获得的计算节省如下:C_FB缓缓器640更新可以省下。同时,如图8转码器800所示,Q2 -1,IDCT,和A2功能的操作全部省下。
3)非B图,内部模块,其中Q2>Q1。I和P帧的内部模块不需要运动补偿。图9显示编码非B图(其中Q2>Q1)的内部模块时,图6转码器的功能模块。如所示转码器900,省下译码器部份的A1,DCT和MC操作。其它节省为编码器部份不再需要IDCT。Q1 -1610的输出直接馈入Q2650。
4)B图,内部模块,其中Q2>Q1。图10显示编码B图(其中Q2>Q1)的内部模块时,图6转码器的功能模块。这种情况相对简单。因为是内部模块,转码器1000不需要运动补偿和DCT。IDCT也可以省略。
5)非B图,内部模块,其中Q2≤Q1。图11显示编码非B图(其中Q2≤Q1)的内部模块时,图6转码器的功能模块。注意在Q2小于Q1计算的情况下,宏模块传递不必再量化因为转码器只提供位速率减少。
在这种情况下,因为是内部模块和没有量化变化,转码器1100不需要运动补偿,Q2,Q2 -1,和DCT。IDCT也可以省略。
6)B图,内部模块,其中Q2≤Q1。图12显示编码B图(其中Q2≤Q1)的内部模块时,图6转码器的功能模块。这是最简单的情况。转码器1200只使用游程长度译码器605和游程长度编码器680。
转码处理的一些特别功能模块归纳如下。
(1)对于P图的输入No-MCMBs,CBP在重量化后会等于零。如此:
(a)如果此MB不是切片的第一或最后的MB,一跳跃MB产生;
(b)如果此MB是切片的第一或最后的MB,产生具有一零移动向量的一正向帧预测MB。
(2)B图转码处理不执行DC预测。
(3)对于P图的跳跃MBs,使用DMA引擎从P_FB_630至C_FB_640移动参考数据。
(4)对于具有一零移动向量(P图)或零差动零移动向量(B图)的帧预测MB和相同预测型的先前MB,CBP在重量化后会等于零。如此,如果此MB不是切片的第一或最后的MB,一跳跃MB产生。
转码器于下列数据转换中使用DMA引擎:(1)iMB至数据高速缓冲存储器;(2)iBlk至数据高速缓冲存储器;(3)帧缓冲器(预测的正向和反向参考)至数据高速缓冲存储器;(4)数据高速缓冲存储器至C_FB帧缓冲器;(5)数据高速缓冲存储器至oMB;(6)数据高速缓冲存储器至oBlk;和(7)(P图的跳跃MBs从)P_FB至C_FB。
4.2.7误差处理
输入视频中的误差由tVLD和转码程序检测。误差分为两类:
(1)轻微:通常在下一切片中会继续,和
(2)严重:程序必须继续至下一视频顺序标头。
轻微误差继续至图形的下一切片。这些由MbData_t流的隔离MB_误差表示。转码程序“跳跃”MB_误差MBs(不传递至tVLE),且继续至图形的下一良好MB。严重误差(由PX_误差位表示)造成破裂图形作废和Demux()必须由找寻一新顺序标头来恢复。严重误差状态由各处理模块独立保持,而且会造成所有图形结构的去除,而且这一后果会一直持续到发现一贴有一视频顺序起动码(并且无严重误差状态)的图形。一PX_误差图形传递至转码器(),而其中为该图形产生的所有MbData_t或BlkData_t作废。
一些详细的程序如下:
1)切片层上面大部份的语法和语义误差条件都不曾检查,除了以下在.pict_标志中设定PX_误差位。
图形类型码不是1,2或3(没有MB经过处理)。
1或更多的fcodes==0(没有MB经过处理)。
图形_结构为0(没有MB经过处理)。
第一切片之前没有发现图形标头(没有MB经过处理)。
减少图形内切片垂直位置。
检测切片间垃圾。
2)下列宏模块层误差条件被检测出,它们造成了在MbData_t中设定的MB_误差位。
零值量化器标度码(在MB或切片中)
零值的{帧,栏}_移动_码
一模块超过64个系数
失效宏模块地址增量VLC
失效宏模块型式VLC
失效移动向量码VLC
失效编码模块图案VLC
失效运转/位准VLC
在处理任何MBs之前检测一图形误差(或较高层),如果看到第一切片SC即会造成中断。设定PX_误差,第一切片的起动码为.u.vld.nblock===0===.u.vld.nmb,.u.vld.ending_startcode。“.u.vld”项表示一参考VLx_state_t数据结构元件(如表5所列)的C程序语言语法。一宏模块层误差会造成在该MB的MbData_t结构中设定MB_误差,然后由下一起动码扫描。如果本SC为具有一垂直位置不小于最后处理切片的位置的一片起动码,则MB译码继续。
如果MB误差回收起动码扫描发现一非切片起动码,则由PX_误差组(.u.vld.nmb和.u.vld.nblock分别表示处理的MBs/Blks数量,包括具有MB_误差组的最后MB)终止图形处理。.u.vld.ending_startcode包含发现的非切片起动码。如果MB误差回收起动码扫描发现一切片起动码具有一小于最后处理切片的位置的垂直位置,下一非切片起动码扫描输入,设定PX_误差,.nmb和.nblock退回处理的MBs/Blks数量,.ending_startcode则包含发现的非切片起动码。
如果发生误差,.u.vld.nmb,.u.vld.nblock,.hisyntax_字节会正确标示标头字节,模块和宏模块输出数量。如果发生宏模块层误差,一些在最后/误差CBP栏的位会被清除。存活1位表示有效模块输出的数量。意即内部宏模块具有少于6的有效模块(如果存在MB_ERROR)。
4.2.8再分多路复用器
再分多路复用器模块336使用储存在(视频)图形结构或aud_delay FIFO的数据再生PES和MTS层语法。交错由此TPE转码的各种服务的音频和视频的封包必须符合MPEG系统(ISO/IEC 13818-1)所述的T-STD模型。根据多路复用器系统的一常数延迟模型产生时间标记。
视频,编码图形数据可从两个可能源获得:如果图形已经转码,可从oRB速率缓冲器,或如果图形已经支路(见以下),可从iRB速率缓冲器。
再多路复用计算线程包括使用DMA引擎以读取输入基本流式数据至超高速缓存由PES和MTS语法密封。DMA引擎用来储存输出MTS数据至PCIout缓冲器。PTS和DTS时间标记系局部计算。输出PTS等于输入PTS加一常数。输出DTS为虚拟oRB缓冲器占有率的直线函数。DTS计算包括用支路图尺寸更新虚拟oRB占有率。使用“虚拟”占有率是因为转码图形不在T-STD规定的时间产生(储存在oRB),且支路模式图形不在实际oRB占有率中模造。PCRs由MUX处理器修改以反应产生输出传输流所需的最后多路复用量。
4.2.9速率控制和QL处理器通信
欲决定编码视频服务的相对复杂性,QL处理器要求各图形的图形尺寸和量化器值的总和(非量化器码)。再分多路复用器决定图形尺寸(基本流数据字节),而tVLD累积量化器值数量,编码宏模块数量,和各图形的编码模块数量的总和。这些数量必须在图形转码之前5帧传送到QL处理器。先行规定由大iMB和iBlk FIFOs完成,而不用自tVLD完成到5帧周期结束的图形转码进度来完成。含有图形类型和量的信息在tVLD完成后自BSP上下文切换路径传送至QL。
QL处理器246退回目标速率数据供转码处理使用。目标速率数据转换成每切片目标位,使用如在输入图形所见的相同的位相对分配。量化位准最初猜测系根据量化器值乘以输入图形尺寸与输出图形尺寸比计算。转码中(使用MB_SYNCHRONIZE)监视各切片产生的位数,一反馈处理通过比较输入和输出切片尺寸调整量化器计算比例。各种服务的各种图形类型维持各自的计算比例。累计的剩余或不足(实际位减目标位)传给服务的下一图形。
较准确表示,
q_out[i]=q_in[i]*α*(P_in/P_target)
其中:
q_out[i]为宏模块i的输出量化位准,
q_in[i]为宏模块i的输入量化位准,
P_in为转码图形的位尺寸,其不包括图形层和较高语法,和
P_target为QLP转码图形的位输出目标尺寸,其不包括图形层和较高语法。
各图形类型(I,P和B)有各自的α值。各图形起动的原始α值为1.0。各切片编码后(从tVLE求得尺寸),α值更新如下:
α=α*(P_in/P_target)*(S_out/S_in),
其中S_out为至目前切片末端的累计输出图形尺寸(不含标头),S_in为对应输入切片的切片尺寸总和。注意值α在图形之间不能恢复。
如果一图形的目标输出尺寸超过输入尺寸,便发生一特别状况。在这种状况下,支路转码和tVLE的图形的编码输入表示输出不变。在此情况下,再分多路复用器消耗直接来自iRB(iRB必须大于2,VBV延迟加先行周期加计算延迟)的不变图形,。如果使用支路模式,累计空间误差是为零或正向拷贝(由fwd/bak缓冲器交换)或不使用,视输入图形类型是否为I,P或B而定。
因此,可以发现本发明提供一转码装置和方法。装置包括至少一第一转码处理元件(TPE)用来接收压缩数字视频数据的输入通道的传输流;一第一处理资源,例如一协处理器,与第一TPE连接,且提供基本流数据量输入通道的分解(如,VLD)和重组(如,VLE);
一第二处理资源,例如一VLIW媒体处理器,执行基本流数据量转码,和提供传输流量输入通道的分解和重组。特别地,VLIW核心处理(VLE之前)传输流分解和(VLE之后)再多路复用。再多路复用功能系部份由TPE处理[如,MTS和PES封包,PTS和DTS时间标记],部份由MUX处理器处理[如,PCR时间标记](见图2)。
第一和第二处理资源可以并行操作(至少一部份可以),以使转码器的处理量达到最佳,而且两处理器之间的处理负载达到平衡。
另外,提供完成转码器的一软件结构。
虽然本发明以一些特别实施例作说明,但应当理解:不悖离如权利要求所列的本发明范围,这些实施例仍可进行各种变化和修改。
Claims (27)
1.一种转码器装置,包括:
至少一第一转码器处理元件用于接收一包括压缩数字视频数据的传输流的输入通道;及
第一和第二处理资源与该第一转码器处理单元相关联用于提供数据分解,核心转码,和数据重组;
一队列与该第一处理资源相关联用于在第一处理资源处理之前排队自第二处理资源接收的数据;及
该一队列第与二处理资源相关联用于在第二处理资源处理之前队列自第一处理资源接收的数据;其中:
该第一和第二处理资源可并行操作(至少一部份可以),用于提供数据分解,核心转码,和数据重组。
2.如权利要求1所述的装置,其中:
该第一和第二处理资源提供传输流的分解以提供基本流式数据,基本流式数据分解,包括可变长度译码,以提供可变长度译码数据,可变长度译码数据的核心转码以提供核心转码数据,该核心转码数据重组以提供转码基本流式数据,和转码基本流式数据重组以提供构成一输出传输流的数据。
3.如权利要求1所述的装置,进一步包括:
当至少该第一和第二处理资源之一经历一规定的高计算负载时,用于支路输入通道的至少一宏模块的核心转码的一种装置。
4.如权利要求1所述的装置,其中:
该核心转码至少包括输入通道再量化。
5.如权利要求1所述的装置,其中:
该第一处理资源包括一超长指令字处理器。
6.如权利要求1所述的装置,其中:
该第二处理资源包括一该第一处理资源的协处理器。
7.如权利要求1所述的装置,另外包括:
用于根据图形类型,宏模块型式,和至少一输入通道的输入/输出量化电平,将至少该第一和第二处理资源之一的计算负载降至最少的一种装置。
8.如权利要求1所述的装置,另外包括:
额外转码器处理元件,各用于接收包括压缩数字视频数据的传输流的一关联的多个输入通道;
第一和第二处理资源与各额外转码器处理单元相关联用于提供数据分解,核心转码,和数据重组;
对于各额外转码器处理单元,一队列与该第一处理资源相关联用于在第一处理资源处理之前排队自第二处理资源接收的数据;和
对于各额外转码器处理单元,一队列连接第二处理资源用于在第二处理资源处理之前队列自第一处理资源接收的数据;其中:
对于各额外转码器处理单元,该第一和第二处理资源可并行操作(至少一部份可以),用于提供数据分解,核心转码,和数据重组。
9.如权利要求1所述的装置,另外包括:
供转码器处理元件,第一处理资源,和第二处理资源使用的一软件实现结构。
10.如权利要求1所述的装置,其中:
该第一和第二处理资源位在一公用芯片内。
11.如权利要求1所述的装置,其中:
该转码器处理元件在输入通道上执行全转码,包括保持追踪帧间再量化误差。
12.如权利要求1所述的装置,另外包括:
用于与第一和第二处理资源外部的一量化电平处理器通信以提供多转码视频服务的统计多路复用的一种装置,该服务至少有部份由该第一和第二处理资源提供。
13.如权利要求1所述的装置,另外包括:
用于平衡该第一和第二处理资源之间的处理负载的一种装置。
14.如权利要求1所述的装置,其中:
根据目前图形类型调整该输入通道的该转码以减少其计算负载。
15.如权利要求1所述的装置,其中:
根据目前宏模块编码型式是为内部编码还是中间编码调整输入通道的转码以减少其计算负载。
16.如权利要求1所述的装置,其中:
根据目前图形的量化步骤尺寸在转码中是增加还是减少调整输入通道的转码以减少其计算负载。
17.如权利要求1所述的装置,另外包括:
当至少第一和第二处理资源之一经历一规定高计算负载时,用于支路输入通道的至少一图形的核心转码的一种装置。
18.如权利要求1所述的装置,其中:
第一处理资源提供传输流的分解以提供基本流式数据;
第二处理资源提供基本流式数据的分解,包括可变长度译码,以提供可变长度译码数据;
第一处理资源执行可变长度译码数据的核心转码以提供核心转码数据;
第二处理资源提供核心转码数据的重组以提供转码基本流式数据;及
第一处理资源提供转码基本流式数据的重组以提供构成一输出传输流的数据。
19.如权利要求18所述的装置,其中:
第一和第二处理资源可并行操作(至少一部份可以),使得第一处理资源提供至少下列之一:(a)该传输流的分解,(b)该可变长度译码数据的核心转码,(c)该转码基本流式数据的重组,用于至少一输入通道,同时第二处理资源提供至少下列之一:(d)该基本流式数据的分解,及(e)该核心转码数据的重组,用于至少一其它输入通道。
20.如权利要求1所述的装置,另外包括:
一进度资源连接第一转码器处理元件用于提供多次转码线程的进度。
21.如权利要求20所述的装置,其中:
多次转码线程包括缓冲器管理。
22.如权利要求20所述的装置,其中:
多次转码线程包括处理器管理。
23.如权利要求20所述的装置,其中:
调度资源提供多次转码线程调度以及转码视频和通过数据/音频服务。
24.如权利要求20所述的装置,其中:
进度资源提供多次转码线程进度以及不必使用实时操作系统的一单处理器的转码视频和通过数据/音频服务。
25.如权利要求1所述的装置,其中:
规定了该输入通道图形的每个图形处理循环的平均数量;及
至少由第一和第二处理资源之一使用的处理循环数量容许与该平均数量相差一规定数量。
26.如权利要求1所述的装置,其中:
至少第一和第二处理资源之一容许通过平均不同输入通道图形使用的处理循环以符合输入通道图形的每个图形处理循环的平均数量。
27.一种转码方法,包括下列步骤:
接收位于至少一第一转码器处理元件的一包括压缩数字视频数据的传输流的输入通道;及
在与第一转码器处理单元相关联的第一和第二处理资源中,提供数据分解,核心转码,和数据重组;
提供与第一处理资源关联的一队列,用于在第一处理资源处理之前队列自第二处理资源接收的数据;和
提供与第二处理资源关联的一队列,用于在第二处理资源处理之前队列自第一处理资源接收的数据;其中:
第一和第二处理资源可并行操作(至少一部份可以),用于提供数据分解,核心转码,和数据重组。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/696,533 | 2000-10-25 | ||
US09/696,533 US6748020B1 (en) | 2000-10-25 | 2000-10-25 | Transcoder-multiplexer (transmux) software architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1481646A true CN1481646A (zh) | 2004-03-10 |
Family
ID=24797453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA018207979A Pending CN1481646A (zh) | 2000-10-25 | 2001-10-15 | 转码器-多路复用器(transmux)软件结构 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6748020B1 (zh) |
EP (1) | EP1329113A2 (zh) |
KR (1) | KR100960425B1 (zh) |
CN (1) | CN1481646A (zh) |
AU (1) | AU2002232376A1 (zh) |
CA (1) | CA2425921C (zh) |
MX (1) | MXPA03003657A (zh) |
TW (1) | TW552810B (zh) |
WO (1) | WO2002035853A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100341333C (zh) * | 2005-05-23 | 2007-10-03 | 上海广电(集团)有限公司中央研究院 | 一种增强像素域码流转换方法 |
CN100403787C (zh) * | 2004-03-31 | 2008-07-16 | 株式会社东芝 | 录像装置和录像方法 |
CN117097962A (zh) * | 2023-10-19 | 2023-11-21 | 江苏云舟通信科技有限公司 | 用于无线传输的多路复用时长预测系统 |
Families Citing this family (142)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7088725B1 (en) * | 1999-06-30 | 2006-08-08 | Sony Corporation | Method and apparatus for transcoding, and medium |
JP4485728B2 (ja) * | 1999-09-10 | 2010-06-23 | パナソニック株式会社 | ストリーム変換方法および装置、並びにストリーム記録方法および装置 |
JP2002041285A (ja) * | 2000-07-28 | 2002-02-08 | Toshiba Corp | データ処理装置およびデータ処理方法 |
JP2002202799A (ja) * | 2000-10-30 | 2002-07-19 | Fujitsu Ltd | 音声符号変換装置 |
JP3636061B2 (ja) * | 2000-11-08 | 2005-04-06 | 日本電気株式会社 | データ挿入装置及びその方法 |
JP3636062B2 (ja) * | 2000-11-09 | 2005-04-06 | 日本電気株式会社 | ビデオデータを含むデータストリームの処理回路およびその制御方法 |
US6934417B2 (en) * | 2000-12-22 | 2005-08-23 | Texas Instruments Incorporated | Transcoding scheme for assistance in image transformations |
JP2002209215A (ja) * | 2001-01-09 | 2002-07-26 | Sony Corp | 符号量制御装置及び方法、並びに画像情報変換装置及び方法 |
US7602847B1 (en) | 2001-03-27 | 2009-10-13 | Vixs Systems, Inc. | Device and method for compression of a video stream |
US8107524B2 (en) * | 2001-03-30 | 2012-01-31 | Vixs Systems, Inc. | Adaptive bandwidth footprint matching for multiple compressed video streams in a fixed bandwidth network |
US20070053428A1 (en) * | 2001-03-30 | 2007-03-08 | Vixs Systems, Inc. | Managed degradation of a video stream |
US20020191116A1 (en) * | 2001-04-24 | 2002-12-19 | Damien Kessler | System and data format for providing seamless stream switching in a digital video recorder |
US7058087B1 (en) | 2001-05-29 | 2006-06-06 | Bigband Networks, Inc. | Method and system for prioritized bit rate conversion |
WO2002098136A2 (en) * | 2001-05-29 | 2002-12-05 | Koninklijke Philips Electronics N.V. | Method and device for video transcoding |
US7675972B1 (en) * | 2001-07-30 | 2010-03-09 | Vixs Systems, Inc. | System and method for multiple channel video transcoding |
US6959348B1 (en) * | 2001-07-30 | 2005-10-25 | Vixs Systems, Inc. | Method and system for accessing data |
KR100424850B1 (ko) * | 2001-08-08 | 2004-03-27 | 엘지전자 주식회사 | 데이터 전송 속도 변환 장치 |
US20030039226A1 (en) * | 2001-08-24 | 2003-02-27 | Kwak Joseph A. | Physical layer automatic repeat request (ARQ) |
US6990147B2 (en) * | 2001-10-23 | 2006-01-24 | Thomson Licensing | Generating a non-progressive dummy bidirectional predictive picture |
US7596127B1 (en) | 2001-10-31 | 2009-09-29 | Vixs Systems, Inc. | System for allocating data in a communications system and method thereof |
US7139330B1 (en) | 2001-10-31 | 2006-11-21 | Vixs Systems, Inc. | System for signal mixing and method thereof |
US7116712B2 (en) * | 2001-11-02 | 2006-10-03 | Koninklijke Philips Electronics, N.V. | Apparatus and method for parallel multimedia processing |
US7106715B1 (en) | 2001-11-16 | 2006-09-12 | Vixs Systems, Inc. | System for providing data to multiple devices and method thereof |
US7403564B2 (en) * | 2001-11-21 | 2008-07-22 | Vixs Systems, Inc. | System and method for multiple channel video transcoding |
US7356079B2 (en) * | 2001-11-21 | 2008-04-08 | Vixs Systems Inc. | Method and system for rate control during video transcoding |
US7165180B1 (en) | 2001-11-27 | 2007-01-16 | Vixs Systems, Inc. | Monolithic semiconductor device for preventing external access to an encryption key |
US9497452B2 (en) * | 2002-01-22 | 2016-11-15 | Broadcom Corporation | System and method of transmission and reception of video using compressed differential time stamps |
US7236521B2 (en) * | 2002-03-27 | 2007-06-26 | Scientific-Atlanta, Inc. | Digital stream transcoder |
US7190723B2 (en) * | 2002-03-27 | 2007-03-13 | Scientific-Atlanta, Inc. | Digital stream transcoder with a hybrid-rate controller |
US7295610B2 (en) * | 2002-03-27 | 2007-11-13 | Scientific-Atlanta, Inc. | Hybrid rate control in a digital stream transcoder |
JP4130780B2 (ja) * | 2002-04-15 | 2008-08-06 | 松下電器産業株式会社 | 画像符号化方法および画像復号化方法 |
US7151856B2 (en) * | 2002-04-25 | 2006-12-19 | Matsushita Electric Industrial Co., Ltd. | Picture coding apparatus and picture coding method |
US7310679B1 (en) | 2002-04-29 | 2007-12-18 | Vixs Systems Inc. | Method and system for transmitting video content while preventing other transmissions in a contention-based network |
US7120253B2 (en) * | 2002-05-02 | 2006-10-10 | Vixs Systems, Inc. | Method and system for protecting video data |
US7191342B1 (en) * | 2002-06-04 | 2007-03-13 | Xilinx, Inc. | Methods and circuits for allowing encrypted and unencrypted configuration data to share configuration frames |
US7127520B2 (en) * | 2002-06-28 | 2006-10-24 | Streamserve | Method and system for transforming input data streams |
US8837605B2 (en) * | 2006-09-26 | 2014-09-16 | Onmobile Global Limited | Method and apparatus for compressed video bitstream conversion with reduced-algorithmic-delay |
US7009655B2 (en) * | 2002-07-23 | 2006-03-07 | Mediostream, Inc. | Method and system for direct recording of video information onto a disk medium |
ITTO20020858A1 (it) | 2002-10-04 | 2004-04-05 | Rai Radiotelevisione Italiana | Sistema di trasmissione di segnali digitali dvb/mpeg,particolarmente per comunicazioni via satellite |
US7079578B2 (en) * | 2002-10-28 | 2006-07-18 | Scopus Network Technologies Ltd. | Partial bitstream transcoder system for compressed digital video bitstreams |
US20040193289A1 (en) * | 2002-12-31 | 2004-09-30 | Shi Chen | Decoding system and method |
US7408989B2 (en) * | 2003-01-16 | 2008-08-05 | Vix5 Systems Inc | Method of video encoding using windows and system thereof |
US20040141555A1 (en) * | 2003-01-16 | 2004-07-22 | Rault Patrick M. | Method of motion vector prediction and system thereof |
US7133452B1 (en) | 2003-02-24 | 2006-11-07 | Vixs Systems, Inc. | Method and system for transcoding video data |
US7327784B2 (en) * | 2003-02-24 | 2008-02-05 | Vixs Systems, Inc. | Method and system for transcoding video data |
US7606305B1 (en) | 2003-02-24 | 2009-10-20 | Vixs Systems, Inc. | Method and system for transcoding video data |
US7130350B1 (en) | 2003-02-28 | 2006-10-31 | Vixs Systems, Inc. | Method and system for encoding and decoding data in a video stream |
US20040247030A1 (en) * | 2003-06-09 | 2004-12-09 | Andre Wiethoff | Method for transcoding an MPEG-2 video stream to a new bitrate |
US7739105B2 (en) * | 2003-06-13 | 2010-06-15 | Vixs Systems, Inc. | System and method for processing audio frames |
KR101094323B1 (ko) * | 2003-09-17 | 2011-12-19 | 톰슨 라이센싱 | 적응 기준 화상 생성 |
US7277101B2 (en) | 2003-09-29 | 2007-10-02 | Vixs Systems Inc | Method and system for scaling images |
US7668396B2 (en) * | 2003-09-29 | 2010-02-23 | Vixs Systems, Inc. | Method and system for noise reduction in an image |
JP4470431B2 (ja) * | 2003-10-01 | 2010-06-02 | ソニー株式会社 | データ処理装置およびその方法 |
US8185600B2 (en) * | 2003-12-29 | 2012-05-22 | Broadcom Corporation | Programming system and method for a video network |
US7406598B2 (en) * | 2004-02-17 | 2008-07-29 | Vixs Systems Inc. | Method and system for secure content distribution |
US20050262276A1 (en) * | 2004-05-13 | 2005-11-24 | Ittiam Systamc (P) Ltd. | Design method for implementing high memory algorithm on low internal memory processor using a direct memory access (DMA) engine |
EP1610560A1 (en) * | 2004-06-24 | 2005-12-28 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for generating and for decoding coded picture data |
JP4863438B2 (ja) * | 2004-09-10 | 2012-01-25 | キヤノン株式会社 | データ処理装置及び処理方法 |
GB0426911D0 (en) * | 2004-12-08 | 2005-01-12 | Koninkl Philips Electronics Nv | Data communication system and method |
US7421048B2 (en) * | 2005-01-20 | 2008-09-02 | Vixs Systems, Inc. | System and method for multimedia delivery in a wireless environment |
US20060168637A1 (en) * | 2005-01-25 | 2006-07-27 | Collaboration Properties, Inc. | Multiple-channel codec and transcoder environment for gateway, MCU, broadcast and video storage applications |
US7609766B2 (en) * | 2005-02-08 | 2009-10-27 | Vixs Systems, Inc. | System of intra-picture complexity preprocessing |
US8949920B2 (en) * | 2005-03-17 | 2015-02-03 | Vixs Systems Inc. | System and method for storage device emulation in a multimedia processing system |
US7400869B2 (en) * | 2005-03-22 | 2008-07-15 | Vixs Systems Inc. | System and method for adaptive DC offset compensation in wireless transmissions |
US20060256860A1 (en) * | 2005-05-16 | 2006-11-16 | Gordon Stephen E | Transcoding with look-ahead |
KR100710305B1 (ko) * | 2005-06-07 | 2007-04-23 | 엘지전자 주식회사 | 비디오 디코딩 장치의 데이터 관리기 |
JP4839035B2 (ja) * | 2005-07-22 | 2011-12-14 | オリンパス株式会社 | 内視鏡用処置具および内視鏡システム |
US7707485B2 (en) | 2005-09-28 | 2010-04-27 | Vixs Systems, Inc. | System and method for dynamic transrating based on content |
US7782955B2 (en) * | 2005-09-28 | 2010-08-24 | Avisonic Technology Corporation | Transcoder and transcoding method operating in a transform domain for video coding schemes possessing different transform kernels |
EP1814334A4 (en) * | 2005-10-12 | 2010-04-28 | Nec Corp | METHOD, DEVICE AND SYSTEM FOR CONVERSION OF MOVEMENT PICTURES, SERVER DEVICE AND PROGRAM |
US20070112826A1 (en) * | 2005-11-10 | 2007-05-17 | Vixs Systems, Inc. | Multimedia transcoding based on remaining storage capacity |
US7881320B1 (en) * | 2005-12-12 | 2011-02-01 | Xilinx, Inc. | Parsing data from multiple digital bitstreams |
US20070160134A1 (en) * | 2006-01-10 | 2007-07-12 | Segall Christopher A | Methods and Systems for Filter Characterization |
US8131995B2 (en) * | 2006-01-24 | 2012-03-06 | Vixs Systems, Inc. | Processing feature revocation and reinvocation |
US8068541B2 (en) * | 2006-01-30 | 2011-11-29 | Jan Harding Thomsen | Systems and methods for transcoding bit streams |
US20070177519A1 (en) * | 2006-01-30 | 2007-08-02 | Thomsen Jan H | Systems and methods for transcoding bit streams |
US8014445B2 (en) * | 2006-02-24 | 2011-09-06 | Sharp Laboratories Of America, Inc. | Methods and systems for high dynamic range video coding |
FR2898757A1 (fr) * | 2006-03-14 | 2007-09-21 | Canon Kk | Procede et dispositif d'adaptation d'une frequence temporelle d'une sequence d'images video |
US8194997B2 (en) * | 2006-03-24 | 2012-06-05 | Sharp Laboratories Of America, Inc. | Methods and systems for tone mapping messaging |
US20070230586A1 (en) * | 2006-03-31 | 2007-10-04 | Masstech Group Inc. | Encoding, decoding and transcoding of audio/video signals using combined parallel and serial processing techniques |
US20070230579A1 (en) * | 2006-03-31 | 2007-10-04 | Masstech Group Inc. | Serial processing of video signals using a programmable hardware device |
US8711925B2 (en) | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US20070288980A1 (en) * | 2006-06-08 | 2007-12-13 | Huaning Niu | System and method for digital communication having a frame format and parsing scheme with parallel convolutional encoders |
US8189627B2 (en) | 2006-06-28 | 2012-05-29 | Samsung & Electronics Co., Ltd. | System and method for digital communications using multiple parallel encoders |
US8107552B2 (en) | 2006-06-28 | 2012-01-31 | Samsung Electronics Co., Ltd. | System and method of wireless communication of uncompressed video having a fast fourier transform-based channel interleaver |
US8111259B1 (en) | 2006-07-06 | 2012-02-07 | Marvell International Ltd. | Image processing apparatus having context memory controller |
US8422548B2 (en) * | 2006-07-10 | 2013-04-16 | Sharp Laboratories Of America, Inc. | Methods and systems for transform selection and management |
US8059714B2 (en) * | 2006-07-10 | 2011-11-15 | Sharp Laboratories Of America, Inc. | Methods and systems for residual layer scaling |
US8532176B2 (en) * | 2006-07-10 | 2013-09-10 | Sharp Laboratories Of America, Inc. | Methods and systems for combining layers in a multi-layer bitstream |
US7885471B2 (en) * | 2006-07-10 | 2011-02-08 | Sharp Laboratories Of America, Inc. | Methods and systems for maintenance and use of coded block pattern information |
US8130822B2 (en) * | 2006-07-10 | 2012-03-06 | Sharp Laboratories Of America, Inc. | Methods and systems for conditional transform-domain residual accumulation |
US7840078B2 (en) * | 2006-07-10 | 2010-11-23 | Sharp Laboratories Of America, Inc. | Methods and systems for image processing control based on adjacent block characteristics |
US7577559B2 (en) * | 2006-08-15 | 2009-08-18 | Nero Ag | Apparatus for transcoding encoded content |
US20080056354A1 (en) * | 2006-08-29 | 2008-03-06 | Microsoft Corporation | Transcoding Hierarchical B-Frames with Rate-Distortion Optimization in the DCT Domain |
US8194750B2 (en) | 2006-10-16 | 2012-06-05 | Samsung Electronics Co., Ltd. | System and method for digital communication having a circulant bit interleaver for equal error protection (EEP) and unequal error protection (UEP) |
EP2080377A2 (en) * | 2006-10-31 | 2009-07-22 | THOMSON Licensing | Method and apparatus for transrating bit streams |
US8265177B2 (en) | 2006-12-04 | 2012-09-11 | Samsung Electronics Co., Ltd. | System and method for wireless communication of uncompressed high definition video data using beambook-constructed beamforming signals |
US8259836B2 (en) | 2006-12-04 | 2012-09-04 | Samsung Electronics Co., Ltd. | Method and system for generating candidate beamforming coefficients for transmission of data over a wireless medium |
US8040856B2 (en) | 2006-12-04 | 2011-10-18 | Samsung Electronics Co., Ltd. | System and method for wireless communication of uncompressed high definition video data using a beamforming acquisition protocol |
US7826673B2 (en) * | 2007-01-23 | 2010-11-02 | Sharp Laboratories Of America, Inc. | Methods and systems for inter-layer image prediction with color-conversion |
US8503524B2 (en) * | 2007-01-23 | 2013-08-06 | Sharp Laboratories Of America, Inc. | Methods and systems for inter-layer image prediction |
US8233536B2 (en) | 2007-01-23 | 2012-07-31 | Sharp Laboratories Of America, Inc. | Methods and systems for multiplication-free inter-layer image prediction |
US8665942B2 (en) * | 2007-01-23 | 2014-03-04 | Sharp Laboratories Of America, Inc. | Methods and systems for inter-layer image prediction signaling |
US7760949B2 (en) * | 2007-02-08 | 2010-07-20 | Sharp Laboratories Of America, Inc. | Methods and systems for coding multiple dynamic range images |
US8767834B2 (en) | 2007-03-09 | 2014-07-01 | Sharp Laboratories Of America, Inc. | Methods and systems for scalable-to-non-scalable bit-stream rewriting |
US7688908B2 (en) | 2007-03-12 | 2010-03-30 | Samsung Electronics Co., Ltd. | System and method for processing wireless high definition video data using a shortened last codeword |
US8111670B2 (en) | 2007-03-12 | 2012-02-07 | Samsung Electronics Co., Ltd. | System and method for processing wireless high definition video data using remainder bytes |
US20080240168A1 (en) * | 2007-03-31 | 2008-10-02 | Hoffman Jeffrey D | Processing wireless and broadband signals using resource sharing |
US20090046798A1 (en) | 2007-08-13 | 2009-02-19 | Samsung Electronics Co., Ltd. | System and method for acquiring a training matrix for a breamforming acquisition protocol using a butson matrix |
US20100296572A1 (en) * | 2007-12-11 | 2010-11-25 | Kumar Ramaswamy | Methods and systems for transcoding within the distributiion chain |
US8515052B2 (en) | 2007-12-17 | 2013-08-20 | Wai Wu | Parallel signal processing system and method |
KR101682516B1 (ko) * | 2008-01-07 | 2016-12-05 | 톰슨 라이센싱 | 파라미터 필터링을 사용하는 비디오 인코딩 및 디코딩을 위한 방법 및 장치 |
US20090228733A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Power Management On sRIO Endpoint |
US20090225775A1 (en) * | 2008-03-06 | 2009-09-10 | Integrated Device Technology, Inc. | Serial Buffer To Support Reliable Connection Between Rapid I/O End-Point And FPGA Lite-Weight Protocols |
US8312241B2 (en) * | 2008-03-06 | 2012-11-13 | Integrated Device Technology, Inc. | Serial buffer to support request packets with out of order response packets |
US8625621B2 (en) * | 2008-03-06 | 2014-01-07 | Integrated Device Technology, Inc. | Method to support flexible data transport on serial protocols |
US8213448B2 (en) * | 2008-03-06 | 2012-07-03 | Integrated Device Technology, Inc. | Method to support lossless real time data sampling and processing on rapid I/O end-point |
US8312190B2 (en) * | 2008-03-06 | 2012-11-13 | Integrated Device Technology, Inc. | Protocol translation in a serial buffer |
US9848209B2 (en) | 2008-04-02 | 2017-12-19 | Microsoft Technology Licensing, Llc | Adaptive error detection for MPEG-2 error concealment |
US8897359B2 (en) | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
US9788018B2 (en) | 2008-06-30 | 2017-10-10 | Microsoft Technology Licensing, Llc | Error concealment techniques in video decoding |
US8341615B2 (en) * | 2008-07-11 | 2012-12-25 | International Business Machines Corporation | Single instruction multiple data (SIMD) code generation for parallel loops using versioning and scheduling |
US20100104006A1 (en) * | 2008-10-28 | 2010-04-29 | Pixel8 Networks, Inc. | Real-time network video processing |
US9131241B2 (en) * | 2008-11-25 | 2015-09-08 | Microsoft Technology Licensing, Llc | Adjusting hardware acceleration for video playback based on error detection |
US8654849B2 (en) * | 2008-12-22 | 2014-02-18 | Arris Enterprises, Inc. | Integrated transcoding |
US8340510B2 (en) | 2009-07-17 | 2012-12-25 | Microsoft Corporation | Implementing channel start and file seek for decoder |
US8948241B2 (en) * | 2009-08-07 | 2015-02-03 | Qualcomm Incorporated | Signaling characteristics of an MVC operation point |
US8897377B2 (en) * | 2009-12-31 | 2014-11-25 | Broadcom Corporation | Transcoding multiple media elements for independent wireless delivery |
TWI432953B (zh) | 2010-12-09 | 2014-04-01 | Ind Tech Res Inst | 具電源管理之超長指令處理器以及其電源管理裝置與方法 |
US20120236940A1 (en) * | 2011-03-16 | 2012-09-20 | Texas Instruments Incorporated | Method for Efficient Parallel Processing for Real-Time Video Coding |
US8589480B2 (en) | 2011-05-24 | 2013-11-19 | Sony Computer Entertainment America Llc | Automatic performance and capacity measurement for networked servers |
US9172982B1 (en) * | 2011-06-06 | 2015-10-27 | Vuemix, Inc. | Audio selection from a multi-video environment |
US9740377B1 (en) | 2011-06-06 | 2017-08-22 | Vuemix, Inc. | Auxiliary information data exchange within a video environment |
US9113227B2 (en) * | 2012-03-12 | 2015-08-18 | Broadcom Corporation | Reduced complexity transcoding |
US8914809B1 (en) | 2012-04-24 | 2014-12-16 | Open Text S.A. | Message broker system and method |
US9106921B2 (en) * | 2012-04-24 | 2015-08-11 | Vixs Systems, Inc | Configurable transcoder and methods for use therewith |
US9743091B2 (en) * | 2012-12-17 | 2017-08-22 | Lg Electronics Inc. | Method for encoding/decoding image, and device using same |
US20150271492A1 (en) | 2014-03-20 | 2015-09-24 | Panopto, Inc. | Systems and Methods for Group of Pictures Encoding |
US10606921B2 (en) | 2016-05-27 | 2020-03-31 | Open Text Sa Ulc | Document architecture with fragment-driven role-based access controls |
JP6977422B2 (ja) * | 2017-09-13 | 2021-12-08 | 株式会社Jvcケンウッド | トランスコード装置、トランスコード方法及びトランスコードプログラム |
TWI699656B (zh) | 2018-12-27 | 2020-07-21 | 新唐科技股份有限公司 | 可切換的i2s介面 |
US11888793B2 (en) | 2022-02-22 | 2024-01-30 | Open Text Holdings, Inc. | Systems and methods for intelligent delivery of communications |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5289577A (en) | 1992-06-04 | 1994-02-22 | International Business Machines Incorporated | Process-pipeline architecture for image/video processing |
WO1996025823A2 (en) * | 1995-02-15 | 1996-08-22 | Philips Electronics N.V. | Method and device for transcoding video signals |
JP2000508855A (ja) | 1996-04-12 | 2000-07-11 | イメディア コーポレイション | ビデオ・トランスコーダ |
GB9608271D0 (en) | 1996-04-22 | 1996-06-26 | Electrocraft Lab | Video compession |
CN100518319C (zh) | 1996-12-18 | 2009-07-22 | 汤姆森消费电子有限公司 | 将数据压缩成固定长度数据块及解压的方法 |
US6038256A (en) | 1996-12-31 | 2000-03-14 | C-Cube Microsystems Inc. | Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics |
US5870146A (en) | 1997-01-21 | 1999-02-09 | Multilink, Incorporated | Device and method for digital video transcoding |
US6483543B1 (en) | 1998-07-27 | 2002-11-19 | Cisco Technology, Inc. | System and method for transcoding multiple channels of compressed video streams using a self-contained data unit |
US6483851B1 (en) | 1998-11-13 | 2002-11-19 | Tektronix, Inc. | System for network transcoding of multimedia data flow |
US6310915B1 (en) * | 1998-11-20 | 2001-10-30 | Harmonic Inc. | Video transcoder with bitstream look ahead for rate control and statistical multiplexing |
US6570922B1 (en) * | 1998-11-24 | 2003-05-27 | General Instrument Corporation | Rate control for an MPEG transcoder without a priori knowledge of picture type |
US6434197B1 (en) * | 1999-01-07 | 2002-08-13 | General Instrument Corporation | Multi-functional transcoder for compressed bit streams |
US6275536B1 (en) * | 1999-06-23 | 2001-08-14 | General Instrument Corporation | Implementation architectures of a multi-channel MPEG video transcoder using multiple programmable processors |
US6643327B1 (en) * | 2000-05-05 | 2003-11-04 | General Instrument Corporation | Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures |
-
2000
- 2000-10-25 US US09/696,533 patent/US6748020B1/en not_active Expired - Lifetime
-
2001
- 2001-10-03 TW TW090124406A patent/TW552810B/zh not_active IP Right Cessation
- 2001-10-15 WO PCT/US2001/032105 patent/WO2002035853A2/en active Application Filing
- 2001-10-15 MX MXPA03003657A patent/MXPA03003657A/es active IP Right Grant
- 2001-10-15 EP EP01989027A patent/EP1329113A2/en not_active Withdrawn
- 2001-10-15 KR KR1020037005714A patent/KR100960425B1/ko active IP Right Grant
- 2001-10-15 CA CA2425921A patent/CA2425921C/en not_active Expired - Lifetime
- 2001-10-15 CN CNA018207979A patent/CN1481646A/zh active Pending
- 2001-10-15 AU AU2002232376A patent/AU2002232376A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100403787C (zh) * | 2004-03-31 | 2008-07-16 | 株式会社东芝 | 录像装置和录像方法 |
CN100341333C (zh) * | 2005-05-23 | 2007-10-03 | 上海广电(集团)有限公司中央研究院 | 一种增强像素域码流转换方法 |
CN117097962A (zh) * | 2023-10-19 | 2023-11-21 | 江苏云舟通信科技有限公司 | 用于无线传输的多路复用时长预测系统 |
CN117097962B (zh) * | 2023-10-19 | 2024-01-26 | 江苏云舟通信科技有限公司 | 用于无线传输的多路复用时长预测系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2002035853A2 (en) | 2002-05-02 |
WO2002035853A3 (en) | 2002-10-31 |
AU2002232376A1 (en) | 2002-05-06 |
KR20030068140A (ko) | 2003-08-19 |
MXPA03003657A (es) | 2004-05-04 |
TW552810B (en) | 2003-09-11 |
CA2425921C (en) | 2013-05-28 |
CA2425921A1 (en) | 2002-05-02 |
KR100960425B1 (ko) | 2010-05-28 |
EP1329113A2 (en) | 2003-07-23 |
US6748020B1 (en) | 2004-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1481646A (zh) | 转码器-多路复用器(transmux)软件结构 | |
CN1236616C (zh) | 变换活动图像编码方式的方法及其装置 | |
CN1113289C (zh) | 能执行多异步运行任务中的异步事件任务的处理器 | |
CN1162001C (zh) | 对多个运动图象编码的运动图象编码装置和方法 | |
CN1076932C (zh) | 图像信号编码和解码的方法与装置 | |
CN1056716C (zh) | 动态图象的编码/解码方法、装置及其存储介质 | |
CN1148955C (zh) | 编码数据流接合设备和方法及编码数据流生成设备和方法 | |
CN1199471C (zh) | 提高了处理效率的图象声音处理装置 | |
CN1199472C (zh) | 对数字编码视频信号进行译码的可变长度译码器 | |
CN1183770C (zh) | 视频信号编码系统控制器 | |
CN1224271C (zh) | 图像编码译码装置 | |
CN1161989C (zh) | 编辑装置、编辑方法、接续装置、接续方法、编码装置和编码方法 | |
CN1117479C (zh) | 编码视频图像序列数据以及从若干视频源传送数据的方法 | |
CN1504051A (zh) | 不同代码转换频道中对带宽分配的统计再复用 | |
CN1203679C (zh) | 用于自动转码编码的视频图象数据的方法和设备 | |
CN1832575A (zh) | 视频编码/解码方法和设备 | |
CN1191513C (zh) | 显示驱动器,备有这种显示驱动器的显示装置及电子设备 | |
CN1934866A (zh) | 视频解码设备 | |
CN1219321A (zh) | 高分辨率电视下转换系统 | |
CN1557097A (zh) | 图像编码方法及图像解码方法 | |
CN101052127A (zh) | 信息处理装置、信息处理方法、记录介质和程序 | |
CN1225545A (zh) | 移动图像合成系统 | |
CN1270541C (zh) | 编码设备和方法 | |
CN1867077A (zh) | 图像编码装置和方法 | |
CN1848941A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |