CN1357200A - 使用多个可编程处理器的多信道mpeg视频代码转换器 - Google Patents
使用多个可编程处理器的多信道mpeg视频代码转换器 Download PDFInfo
- Publication number
- CN1357200A CN1357200A CN00809277A CN00809277A CN1357200A CN 1357200 A CN1357200 A CN 1357200A CN 00809277 A CN00809277 A CN 00809277A CN 00809277 A CN00809277 A CN 00809277A CN 1357200 A CN1357200 A CN 1357200A
- Authority
- CN
- China
- Prior art keywords
- queuing
- processing unit
- processing
- processing units
- transcoding
- 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 270
- 238000000034 method Methods 0.000 claims abstract description 56
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000003111 delayed effect Effects 0.000 claims description 2
- 239000000872 buffer Substances 0.000 abstract description 38
- 238000012546 transfer Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 19
- 230000033001 locomotion Effects 0.000 description 15
- 230000006872 improvement Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
- H04N21/23655—Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
一种使用排队***模型来对数字视频图象进行代码转换的方法和装置。并行设置若干代码转换处理器(120、122、124、260、262、264)。在第一种结构中,将n个信道的输入位流(220)分为若干处理单元,例如片或帧,将这些处理单元(110、230)分成m个子流,且在相应的分支(260、262、264)处理该每个子流。对每个子流提供一单独的队列(240、242、244)。在第二种结构中,从公用队列(410)中将处理单元指定给任一可用的处理器。根据该排队***模型来同时处理各个独立的处理单元,以使平均处理时间最小化。尤其是,避免了同时处理基准图象(I图象)单元和相关的预测图象(P或B图象单元)单元。进一步的技术完成记录保持,并在已处理完该基准图象单元后,调整将该基准图象单元从其处理器向相关预测图象单元的处理器的传送。还提供了具有图象重排序和使用优先权的缓冲器的实施例。
Description
技本领域
本发明涉及数字视频图象的代码转换,具体而言,涉及使用并行操作的多个代码转换处理器的特定结构。
背景技术
数字视频数据的传输,例如通过诸如有线电视或***网络等的宽带通信***的传输已变得越来越普及。在用户家庭中使用数字解码器/机顶盒来接收该数字视频信号,并以一种适合于显示在电视或视频显示终端上的格式处理该信号。
通常,源视频序列可以为任何格式,例如,就空间分辨率而言,有帧速率、帧大小、彩色取样格式、隔行或顺序扫描格式、比特率、分辨率(例如高清晰度或标准清晰度)、或噪声滤波的数量和类型。另外,可以任何速率对该源视频序列进行预编码,无论是恒定的比特率(CBR)还是可变的比特率(VBR)。
但是,对于许多应用而言,预压缩位流必须对应于唯一指定的可允许的或期望的视频格式和速率。因此,通常需要在将该视频数据传递给机顶盒和/或网络中的某个中间点之前,改变它的格式或其它特征。
可由代码转换器来提供所需的格式改变。通常,多信道视频代码转换器是可将一组预压缩视频位流,例如符合MPEG标准的位流转换为另一组视频位流的仪器。这种转换仪器可完成多种功能,例如改变比特率、***和删减位流、变换分辨率和位流的再多路复用等。可增加和删减数据信道。这种仪器的基本功能器件为单信道MPEG视频代码转换器。
用于MPEG位流的顺向代码转换器可以仅仅是级联的MPEG解码器和编码器。首先,该级联代码转换器对该压缩位流进行解码,以获得重构的视频序列。然后对该重构视频序列再编码,获得适合于传输的不同的压缩位流。另外,已建议更有效的代码转换器,其重新利用运动向量并将宏块模式的改变降至最小。
但是,尤其是由于需要对预测图象(例如P图象和B图象)进行运动估计,该代码转换器仍然非常复杂。并且,需要对多个信道进行实时的代码转换。例如,有线电视网络的头端可能使用一代码转换器来将卫星馈送和本地编程实时地结合在一起。该代码转换器的处理速度必须足以执行所期望地操作,而察觉不到任何延迟。
相应地,期望提供一种更有效的代码转换器结构。该***应通过提供多个代码转换处理器来提高处理效率。该***应降低整个处理时间,和/可允许使用较低速度的处理器。
该***应允许将代码转换算法更新为容易执行的算法。
该***应能够升级为新的更快的处理器(芯片),而无需对主要部分进行重新设计。
该***与专用的代码转换硬件相比,更节省成本。
该***应适于转换多个种信道的代码,例如标准清晰度视频信道,或单个高比特率信道,例如HDTV信道。
本发明提供具有上述和其它优点的***。
发明内容
本发明涉及数字视频图象的代码转换,具体地,涉及使用并行操作的多个代码转换处理器的特定结构。
在第一种结构(结构A)中,将n个信道的输入位流分割为若干处理单元,再将这些处理单元(例如片(slice)或帧)分离成m个子流,并在相应的分支处理每个子流。每一子流具有一单独的队列。
在第二种结构(结构B)中,将处理单元指定给任何可用的处理器。且所有处理器只具有一个队列。
改进结构A的一种选择是对该m个分支的每一个分支提供一缓冲器饱和反馈信号,以及调整对该位流的分离以将该输入数据发送到最空的队列(缓冲器)。
另一种对结构A或B的改进使得可根据最短尺寸优先的技术,重新排列这些处理单元在该队列(这些队列)中的位置。
当一个或若干视频流被分成不同的子流时对结构A的另一可能的改进和对结构B的另一可能的改进是隔行扫描不同视频位流的帧,以确保在每个预测处理单元位于其队列中第一之前,具有其可用的基准处理单元。
当一个或若干视频流被分成不同的子流时对结构A的另一可能的改进和对结构B的另一可能的改进是提供一保护协议,其能够保持对预测处理单元和其相关基准处理单元的跟踪,以确保它们不被同时处理(在不同的处理器中)。该保护协议延迟对该预测处理单元的处理直到其已处理其相应的基准处理单元。还协调该未被压缩的基准处理单元向具有预测处理单元的处理器的移动,移动到该处理器用于进行运动补偿处理。
通过确保不同时处理相关的处理单元,可获得最小平均处理延迟。
此外,通常可同时实现上述的改进。
本发明适用于转换若干信道的代码,例如标准清晰度视频信道,或单个高比特率信道,例如HDTV信道。
一种转换数字视频数据的位流的代码的特定方法,包括以下步骤:将该位流分成若干连续处理单元,对这些处理单元进行排队,以及根据一排队***模型将该排队处理单元的每一个指定给并行排列的若干可用的代码转换处理器中的一个。
根据该排队***模型,可将该排队处理单元指定给这些代码转换处理器,以便可同时处理该排队处理单元中彼此独立的几个特定的单元。
具体地,根据该排队***模型,可将这些排队处理单元指定给这些代码转换处理器,使得不能同时处理一基准图象的排队处理单元和其预测图象的排队处理单元。
这些处理单元例如可以是片、帧、半帧、视频物面(VOP)或块组(GOB)等。
对于结构A,在所述排队步骤中,将所述分割处理单元排列为公用队列。在所述指定步骤中,从该公用队列中将所述排队处理单元指定给代码转换处理器。这里的一种选项是以最短尺寸处理单元优先的方式将分割处理单元排队为该公用队列。
该处理单元可包括一基准图象的处理单元和其预测图象的处理单元。此外,该基准图象的处理单元可被排列为第一队列,该预测图象的处理单元可被排列为第二、优先队列。在将该基准图象的排队处理单元指定给各个代码转换处理器用以进行处理后,该预测图象的排队处理单元在被指定给其各自的代码转换处理器方面具有优先权。
在结构A中,将该连续处理单元分成若干子流,该处理单元的若干子流被排列成各自的队列,且从该各个队列中将该排队处理单元指定给代码转换处理器。
在所有的方案中,可按最短尺寸处理单元优先的方式来排队该分割处理单元。或者,对于结构A,可按最空队列优先的方式来排队。
在隔行扫描或重排序技术中,位流至少具有第一和第二视频信道,这些信道具有沿各自的图象顺序的各自的图象。逐行交错扫描第一视频信道的图象和来自第二视频信道的图象,使得与在各自的图象顺序中的情况相比,第一和第二视频信道的各自相关的图象被分隔得更远。即,第一视频信道中的相关图象被分隔得更远,且第二视频信道中的相关图象被分隔得更远。
这就为处理基准图象提供了时间,并且可获得对相关预测图象的运动补偿处理。
类似地,该位流可至少具有第一和第二视频信道,这些信道具有沿各自分组顺序的各自的图象分组。每个分组可具有一个图象,或若干不相关的图象。隔行扫描第一视频信道的图象分组和来自第二视频信道的图象分组,使得与在各自分组顺序中的情况相比,该第一和第二视频信道的各自相关的分组被分隔得更远。
基本上,当将不同分组内的图象分隔开时,在公用分组中的图象的隔行扫描位置更加靠近,或最好相邻。
在该保护协议中,将一基准图象的该排队处理单元和其预测图象的排队处理单元指定给各个代码转换处理器。延迟在该预测图象的排队处理单元的处理器中对该预测图象的排队处理单元的处理,直到已处理该基准图象的排队处理单元为止。
为此目的,保持被指定的该基准图象的排队处理单元、被指定的其预测图象的排队处理单元和被指定了上述两单元的处理器的一个记录(例如任务窗口和确认窗口)。当已处理该基准图象的排队处理单元时,更新该记录。延迟对该预测图象的排队处理单元的处理,直到已更新该记录来反映可获得该基准图象的排队处理单元为止。之后,将该基准图象的排队处理单元从其处理器提供给用于该预测图象的排队处理单元的处理器。
还公开了相应的装置。
附图说明
图1示出根据本发明的具有用于n个信道的n个代码转换器的多信道视频代码转换器的框图。
图2示出根据本发明的具有用于将n个信道分到m个代码转换处理器的位流分离器(splitter)的多信道视频代码转换器(结构A)的框图。
图3示出图2的结构,其中,根据本发明,分别对该m个代码转换处理器中的每一个提供各自的队列。
图4示出根据本发明的具有用于调度在m个代码转换处理器之中对n个信道的处理的处理器/调度程序的多信道视频代码转换器(结构B)的框图。
图5示出图4的结构,其中,根据本发明,为该处理器/调度程序设有一队列。
图6示出图4的结构,其中,根据本发明,为该处理器/调度程序设有一附加、优先队列。
图7示出根据本发明的用于证实数据已被处理的保护协议。
具体实施方式
本发明涉及对数字视频图象的代码转换,具体而言,涉及使用并行操作的多个代码转换处理器的特定结构。
图1示出根据本发明的具有用于n个信道的n个代码转换器的多信道视频代码转换器的框图。
多信道MPEG视频代码转换器100从功能上讲包括:接收n路输入位流(例如信道)的位流调度程序或分离器110,用于对该各个位流进行代码转换的n个单信道代码转换器(SCT)120、122…、124,和用于将单独的经代码转换的位流重新组合为传输流的统计复用器(stat mux)130。
大家知道,统计复用是对多个不同比特率的信号进行编码并将该速率变化的位流组合为一单一固定速率传输流,使得分配给每个信号的带宽是可变的且随每个信号的比特率需要而改变的过程。
代码转换器100示出该代码转换过程的基本数据流。然而,该过程的实际执行可有许多途径。
由于许多实际原因,较佳的是使用多个可编程处理器来实现该多信道MPEG视频代码转换器。对于该多处理器的实现,每个处理器都负责该代码转换过程的某些片段。这方法的优点包括:
·允许使用不同的视频编码算法的灵活性。这意味着该结构可支持编码算法的改进和变更。通过仅改变或重构每个单独代码转换器的软件可实现一个新的算法。例如,该代码转换器算法可将MPEG-2的主测线主水平(main profile,main level)(MP@ML)位流转换为在一新的速率下的另一MP@ML位流。可将一MPEG-2的4∶2∶2测线主水平(422P@ML)位流转换成一MP@ML位流。还可将一MPEG-2主测线高水平(HP@ML)位流转换成一MP@ML位流,等等。
·设计风险低,因此一定数量的选择芯片将能够完成任务。即,使用具有许多子卡的母板,类似于具有多个PCI插座的PC母板可实现该结构。每个子卡包括一处理器和多个本地存储器。增加更多的子卡,可转换更多视频信道的代码。
·处理器技术的改进。无需对主要部分进行重新设计就可采用新出的具有更快时钟速率的芯片。随着同一处理器家族中更快或更便宜的芯片的出现,保留了该方法和软件开发中的投资。
·与用于MPEG代码转换的专用硬件相比,更节省成本。
必须提到多信道MPEG视频代码转换器的设计的不同版本。本发明的目的在于使用排队***理论来使用多个可编程处理器实现多信道MPEG视频代码转换器。开发用于调度一多路复用的n信道位流单元的队列以进行该转换代码处理的策略和方法。
图2示出根据本发明的具有将n个信道的位流分离到m个代码转换处理器的位流分离器的多信道视频代码转换器(结构A)的框图。
对于具有多个可编程处理器的多信道MPEG视频代码转换器200而言,一个重要的版本是调度一位流单元队列,使得该代码转换处理更有效。
这里,将一MPEG传输流(MTS)提供给MTS输入队列210作为其输入。在分析程序和处理单元功能块220中,分析该MTS位流,并将其分割成多个“处理单元”,以向位流分离器230提供n个信道的多路复用位流。例如,该处理单元可以是片或完整的帧。片是指从左至右和从上至下穿过一图象的任意长度的一串连续的宏块。如果存在传送位误差,则使用片头来进行再同步。于是,片是单个帧或半帧的一部分。
如下面参照表1所述,可选择其它处理单元。
功能块220还恢复其它数据,例如时钟恢复数据和程序时间基准(PCR)校正数据,这些恢复是由一单独的微处理器或控制器以已知方式来处理的。
位流分离器230将该多路复用流分成m个单独的位流(例如子流),其中,m可小于、等于或大于信道数n。通常,m<n,这表示每个处理器必须对多于一个的视频数据信道的代码进行转换。每个子流包括连续的处理单元,这些处理单元分别被提供给各个缓冲器,例如缓冲器1(240)、缓冲器2(242)、…、缓部器m(244)。
处理器/调度程序250从缓冲器1(240)、缓冲器2(242)、…、缓部器m(244)中找回这些处理单元,并将这些处理单元提供给相应的代码转换处理器,例如处理器1(260)、处理器2(262)、…、处理器3(264)。例如,来自缓冲器1(240)的处理单元被提供给处理器1(260),来自缓冲器2(242)的处理单元被提供给处理器2(262),等等。
从处理器1(260)、处理器2(262)、…、处理器3(264)输出的经代码转换的数据被提供给统计复用器130,以形成一输出位流(例如传输流)。
这里,选择m个相同的处理器(或m相同的处理器组),以执行n信道的MPEG视频代码转换。每个处理器(或每组处理器)执行相同的代码转换程序,以一次处理一个处理单元。
根据本发明,具有两个基本的实现结构。一个为并行处理m分支的结构(结构A),如图2所示。第二个结构(结构B)是多处理的单分支结构,如图4所示。
对于结构A,将n个信道的多路复用位流分成m个子流。每个处理器(例如260、262、…、264)对一个子流进行代码转换。于是,n信道MPEG视频的整个代码转换过程就具有并行处理m个分支的结构。
对于每个分支,如果处理单元彼此独立,则可将该代码转换处理模型化为M/M/l排队***。在该符号中,第一个“M”表示泊松到达过程是相同分布(iid)的指数随机变量,其中,在每个分支中该处理单元的每两次到达的时间间隔是独立的。第二个“M”表示该分支中的服务时间(即每个处理单元的处理时间)为iid指数随机变量。“l”表示每个分支中服务器(即处理器)的数量,此时为1。
图3示出图2的结构,其中,根据本发明对m个代码转换处理器的每一个分别提供有各自的队列。图中相同标号的元件彼此对应。
在代码转换器200’中,分别为处理器1(260)、处理器2(262)、…、处理器m(264)提供队列1(240)、队列2(242)、…、队列3(244)。例如,可按照已知的方式将每个队列实现为先进先出(FIFO)缓冲器。
值得注意的是,在每个时刻,队列1、2、…、m的充满度通常是不同的,这是因为不同处理单元的计算时间通常是不同的。该计算时间基于以下因素,例如,每个处理单元中的数据量、比特率、相关图象的复杂性、编码方法、是否使用运动补偿和图象类型(I、P或B)等。
因此,分离器230应不平均地将这些处理单元指定给每个队列。特别是,可通过向最空的队列发送该引入的处理单元、即以最空队列优先的方式来提高该代码转换器200’的性能。这种情况下的平均延迟时间T3可被证明满足以下关系:T3≤T1。为了实现这种分离器230,使用该缓冲器充满度的反馈信号来确定应将引入的处理单元发送给哪个队列。例如,为此目的,可分别可选择的反馈路径320、322、…、324提供给队列240、242、…、244。
图4示出根据本发明的具有用于在m个代码转换处理器中调度n个信道的处理的处理器/调度程序的多信道视频代码转换器(结构B)的框图。这是本发明的第二种结构,具有单个分支、多个处理。
这里,n个信道的多路复用位流的处理单元被提供给一重排序缓冲器或队列410。处理器/调度程序420以循环方式将每个处理单元发送给一可用的处理器(例如,处理器260、然后是处理器262、…、然后是处理器264)。
如果这些处理单元彼此独立,则这些处理单元的排队可被模型化为M/M/m排队***。“m”表示服务器(即处理器)的数量,这里,处理流程在一整个分支内。
图5示出图4的结构,其中,根据本发明为该处理器/调度程序提供有一队列。
如图所示,队列410将这些处理单元缓冲存储在该多路复用位流中,之后将多路复用位流送往调度程序420。
注意,对于两个结构A和B而言,可用条件λ/(m·μ)<1来粗略估算该服务所需的处理器的最少数量m。现在,可比较T1和T2之间的平均延迟时间。(通过使用归纳法)可将其表示为PQ≤λ/(m·μ)。因此,总有T1>T2。在可忽略1/μ的情况下,有T1≥mT2。因此,就平均延迟时间而言,结构B的性能总优于结构A。
另外,对于上述给出的两个结构,问题在于如何确定该处理单元及如何调度或分离这些单元,使得它们对于其处理器来说是彼此独立。即,在每个代码转换处理器中的每个处理单元的处理时间都应是独立的。
对处理单元的基本要求是可容易地将该单元从该位流中恢复出来,并形成一序列或图象或单个帧或半帧的基本构件块。并且,该处理单元应具有能够被作为一个完整、独立的单元处理的功能。对于运动补偿单元,该处理单元可能需要一些已可在该当前处理器或其它处理器中获得的基准单元。表1归纳了用于不同视频编码标准的处理单元的可能的选择。
尽管公开了用于所列视频标准的可能的处理单元,但本发明基本上可适用于与任何视频编码标准一起使用,包括所列标准衍生的标准。另外,处理单元可包括一帧或半帧的一部分,或整个帧或半帧。
表1
视频标准 | MPEG-2 | MPEG-1 | H.263 | H.261 | H.263+ | MPEG4 |
可能的处理单元 | 帧半帧、片 | 帧 | 帧、块组(GOB) | 帧、GOB | 帧、GOB | 帧、视频物面(VOP) |
最小处理单元 | 片 | 帧 | GOB | GOB | GOB | VOP |
一个GOB可包括例如33个宏块。
一个VOP包括一帧内的视频物体。
注意,因为空间转换系数的直流预测和运动矢量预测,该最小的处理单元(通常)不能为用于图4的结构的宏块。因为每个片中的数据量通常是不相关的,所以单个帧中的各个片对于其处理器是彼此独立的。
较大的处理单元通常需要较大的缓冲能力。
另外,需要存储用于每个处理单元的某些信息,以便正确排序、多路复用及传输该经代码转换的位流。该信息包括信道号、帧号(由用于MPEG-2的暂时基准字“temp-ref”表示)、和用于每个信道的每个帧的处理单元号(例如片号)。
处理单元之间的独立性要求对于本发明的代码转换器的计算性能是至关重要的。但是,在单个视频位流中的处理单元,例如MPEG-2视频中的帧或片通常由于运动预测而彼此相关。
对于结构A而言,如果单个视频位流的处理单元被发送到相同的处理器,则这种相关不会引起任何问题。此时,将按顺序处理这些单元,并可从所述在先处理单元中获得运动预测所需的所有信息。
然而,对于结构B而言,或当将该单一视频位流的处理单元发送给不同的处理器时对于结构A而言,需要“保护协议”来防止在不同的处理器中同时处理相关的处理单元。后面将参照图7来描述这种协议。
对于结构B而言,期望避免这样一种情况,其中,一个预测处理单元被指定给一处理器,而其基准宏块仍在一个或若干其它的处理器中被处理,因此还无法利用。根据本发明,公开了一种方案,以通过隔行扫描该不同视频位流的编码帧来避免这种情况。
例如,假设编码的MPEG-2视频位流具有以下帧顺序(传输顺序):
I1 P1 B1 B2 P2 B3 B4 P3 B5 B6 P4 B7 B8 P5 …
其中,I、P和B表示图象类型,而下标表示每个图象类型在位流中的顺序。且假设该处理单元为片。接着,在每个具有下划线的图象分组中的片,例如I1、P1、B1 B2 P2与相同分组中的其它片不相关。例如,对于由具有若干片的单个帧组成的图象分组I1而言,通常每个片中的数据会与该相同帧中其它片不相关。对于图象分组B1 B2 P2而言,B1、B2和P2彼此不相关。
然而,在该位流中相邻图象组之间的片可能是相关的。例如,考虑预测处理单元(例如B1中的片)为待指定给一可用处理器的队列中的第一单元,但其基准宏块(例如P1中的某些宏块)仍在一个或多个其它处理器中被处理的情况。并且,B1和P1位于不同的分组。则无法处理该预测处理单元,直到其基准宏块准备好为止。该延迟可导致某些处理器空闲。
为使空闲时间降到最小,一个方法是重新隔行扫描一视频位流和其它视频位流,以保证在每个处理单元成为队列中的第一单元之前,总是具有其可用的基准宏块。基本上,对公用分组中的不相关的图象进行排序以使其彼此更加接近,或最好是相邻,而不同的相关分组被分隔开。
由此,可同时由相同或不同的处理器来处理相同分组的不相关的图象,同时增加不同分组中图象处理之间的时间,使得在没有延迟处理其它分组的预测图象的情况下,可获得一个分组中的基准单元。由于在一给定信道的分组的处理之间处理来自其它信道的图象,所以总的处理量不会降低。
例如,假设在传输流中存在另一视频位流i1 p1 b1 p2 b2 p3…,且在该传输流中的原始多路复用位流具有以下顺序:
I1 i1 p1 P1 B1 b1 p2 B2 P2 B3 b2 p3 B4 P3 B5 B6 P4 …
该经编码的图象重排列缓冲器410(或缓冲器240、242、…、244)可如下顺序重新设置该位流顺序,以减少该处理器的空闲时间:
I1 P1 i1 p1 B1 B2 P2 b1 p2 B3 B4 P3 b2 p3 B5 B6 P4 …
有时这种重新隔行扫描过程会受到每个视频位流的实际所允许的延迟的限制。可提供其它不受该限制制约的多种方法。如下所讨论的一个例子是从图4和5结构中变更而来的双缓冲器方案。
重新排序可用于这里论述的任何结构。
图6示出结构B,其中,根据本发明对处理器/调度程序提供一附加的优先队列。
在该方案中,用第一队列,队列1(410’)来缓冲基准图象处理单元。用第二队列,、队列2(610)来暂时缓冲其基准宏块(即基准图象处理单元)仍不可用的预测处理单元。队列2(610)中的处理单元当它们的基准单元可用且有可用的处理器时,该队列在指定给处理器方面具有较高的优先权。因此,这是一优先队列模型。
值得注意的是,当在相同子流中携载单个视频流时,该优先队列模型还可与图2的结构一起使用。例如,可将一附加的、优先队列加入到图3的队列240、242和244的每一个。
图7示出根据本发明的用于验证数据已被处理的保护协议。这里公开了一种保护协议,用于防止在不同处理器中同时处理相关的处理单元。可由用于图2的代码转换器的处理器/调度程序250和用于图4的代码转换器的处理器/调度程序420来执行该协议。
值得注意的是,可使用任何已知的语法和通信协议来执行该协议,包括任务和确认窗口的实现,并可使用任何已知的语法和通信协议来在处理器/调度程序和代码转换处理器之间发送和接收信息。
当存在多个视频位流或单个HDTV位流时,处理该基准处理单元的处理器可放慢速率并落在后面,以使该预测处理单元和其(相关的)基准处理单元同时在不同的处理器中被处理。这可导致非最优化最小平均处理时间。该保护协议可防止这种问题。
该保护协议使用预定义窗口或列表,通过处理器来验证“已完成”的处理单元。对于图2实施例的缓冲器240、242、…、244或图4实施例的缓冲器410,处理器/调度程序既具有任务窗口又具有确认窗口。该任务窗口顺序地将固定(anchor)/基准图象(用于MPEG-2视频的I和P图象)的处理单元指定给可用的处理器。该确认窗口指示已处理了对应于该任务窗口的处理单元。通过使用该窗口,该协议仅需跟踪由该任务窗口指定且由确认窗口指示的一部分处理单元。操作这些窗口,并使其从一个固定图象更新到另一固定图象。
在块705中,由处理器/调度程序从缓冲器中获得下一处理单元。在块710中,如果该处理单元是部分基准图象,或其本身是一整个基准图象(例如完整帧或半帧),则该处理器/调度程序将该单元标记在其任务窗口中(块715)。处理器/调度程序可具有一存储器,用于对处理单元的识别数据,例如信道号、帧号和处理单元号(例如片号)进行列表。
在块720中,该处理器/调度程序向一可用的处理器分配一任务,以处理该基准处理单元,并将该处理单元数据转发给该处理器。在块725中,该处理器/调度程序等待从该处理器中收到已接收到任务的确认。当接收到该确认时,处理器/调度程序在其确认窗口中作一适当的标记(块730)。
在块735中,如果该处理器已完成对基准处理单元的处理,则设定一适当的标志(“end_of_unit=1”),且在块740中,设定一适当标志(例如“referenc_eready=1”),表明该基准处理单元可由被指定来处理相关预测处理单元的任何处理器来使用。
值得注意的是,该协议提供一通用的程序流程。例如对来自B和P图象的单元,应对该协议进行适当的修改。例如,来自B图象的单元需要两个基准单元用于进行运动补偿。相应地,仅当该两个基准单元都准备好时才应设定“referenc_eready”标志。并且,来自P图象的单元可以是一个固定单元(对于B图象单元而言),也可以是一个预测单元(这里,I图象单元是该固定单元)。此外,应当理解,多个处理器被同时跟踪,并且可按要求同时跟踪多组基准和处理单元。
例如,每个处理器可包括基准缓冲器以获取基准单元数据,该基准缓冲器用于可被其它处理器访问的两个基准单元(向前和向后预测)。可对用于当前单元,例如B图象的每个处理器提供一第三缓冲器。并且,无论是否被基准,均可将经处理的固定帧单元(I或P)存储于基准缓冲器中。因为当前向后预测基准缓冲器在下一时刻将是向前预测基准缓冲器,所以帧缓冲器指针在两个基准缓冲器之间交换。
可使用已知的MPEG参数来检测一处理单元的帧类型。
值得注意的是,当处理单元是一个完整图象(例如帧或半帧)的子集(例如片)时,因为在一预测处理单元中的区域运动补偿典型地需要来自仅一个基准处理单元中的基准数据,所以可立即利用该处理单元。该“推动”方法将节省处理时间,但每个处理器需要较大的缓冲器,且处理器之间需要更多的DMA传送。这是真实地,因为当基准帧中的处理单元未被压缩时,不知道将来会用哪个其它的处理器来作为基准。因此,必须广播给所有处理器。执行DMA的第二种方法是使每个处理器存储其自己的经解码的基准单元,且对每个处理器来说,从其它处理器中“拉出”所需的基准单元。这样做在处理时间上放慢了速度,但可节省DMA和存储器。
如果需要,可处理、暂时存储包括该图象的若干处理单元,直到图象中所有单元都被处理且一起作为一整个图象来被利用。
在块710中,如果该处理单元不是一基准图象的一部分,即是预测图象,则处理器检查标志“reference_ready”,以查看是否可获得相关的基准单元(块745)。如果不能,则输入一保持模式(块750)。如果基准单元或若干基准单元已准备好,则该处理器/调度程序复位该“reference_ready”标志(块755),清除任务窗口(块760),并清除确认窗口(765)。这意味着不存在未决任务,例如,不存在基准处理单元用于当前还未被处理的预测处理单元。
因此,在块770中,该预测处理单元被指定并提供给一处理器。
根据来自相关处理器的请求,该所需的基准处理单元被传送给预测单元的处理器,用于对预测单元进行运动补偿。可通过总线使用直接存储器存取(DMA)传送来进行该数据传送。为此目的,可使用已知的计算机结构,因此这里不再详细论述。通常,该处理器/调度程序保持该基准和预测单元被指定的那个处理器的记录,并可协调该所需的传送。
此外,每个处理器都具有其自身的本地存储器,用于存储基准和预测处理单元。每个处理器还可具有其自身的缓冲器,用于存储经代码转换的处理单元,然后将其转发给stat mux。
已知的stat mux技术控制该经代码转换的数据从每个处理器传送到该stat mux。
值得注意的是,该基准处理单元被事先进行代码转换,并提供给该stat mux(或当前等待提供给stat mux)。由该预测单元的处理器使用,用于该预测单元的运动补偿的基准处理单元数据为未压缩、象素畴(domain)格式,且在使用后被丢弃。
以单元来讲,任务和确认窗口都具有相同规模的处理单元的数量。该规模由每基准图象的处理单元的个数来确定。
只要确认开始从处理器到处理器/调度程序定期地流回,则位流顺利且有效地流动。
这样,该保护协议通过将预测处理单元的处理延迟到基准处理单元的处理之后来避免同处理该基准处理单元和其相关的一个或若干预测处理单元。结果,期望根据M/M/l或M/M/m排队理论来使处理器的平均延迟最小化。
在本发明的另一方面,可将下面的处理单元重排序方法应用于这里所述的多信道代码转换器结构。每个处理单元具有其自身的尺寸,该尺寸通常确定所需的计算功率。该尺寸越大,则所需的计算功率越多。对于软件实现而言,通常是处理单元尺寸越大,处理延迟就越大。为了最小化这种延迟,可将下述的重排序处理应用于每个信道。
具体而言,在重排序缓冲器中对每个图象中的处理单元进行重排序。设计每个重排序缓冲器(队列)来根据最短尺寸处理单元优先的规律将该信道的处理单元指定给处理器。此时,队列模型对于图2的并行处理结构的m个分支而言变为M/G/l,对于图4的多处理结构的单个分支而言变为M/G/m。通过用Ui k(t)在时间t标注该k帧的第I个处理单元,并用Si k(t)表示该单元的尺寸(以位的形式)来指定优先权。例如,假设MTS分析程序和处理单元分割220之后的位流的处理单元顺序如下。 并假设 则该重排序缓冲器410的输出中的处理单元的顺序为
总之,应根据性能和成本折衷来选择用于实现一多信道MPEG视频代码转换器的结构。假设所需的总的处理功率为P,则从减少每个处理单元的平均延迟的观点来看,应注意以下问题:
·对于安排多路复用的n信道位流用于m个处理器(每个处理器的处理功率为P/m)的情况,对越小的m,该***的每个处理单元的平均延迟越小。例如在M/M/l排队***的情况下,当m=1时,具有最小的平均延迟。
·在给定处理器的数量m的情况下,与直接安排多路复用的n信道位流用于m个处理器的方法相比,将该多路复用的n信道位流事先分成m个子流(每个子流被发送给每个处理器)的方法的***延迟较大。
·对于处理单元的预确定块而言,可通过重排序该块中的处理单元使得尺寸较小的处理单元首先被处理,来减少该平均延迟。
·因为:(a)对位流分离器230的速度要求远远低于对图4结构中处理器/调度程序420的速度要求,且(b)控制协议较简单,所以实现图2的结构的复杂性较小。
因此,可知本发明提供用于一种有效的代码转换器的方法和装置,该转换器使用多个单独的代码转换处理器。在第一种结构(结构A)中,将n个信道的输入位流分成若干处理单元,这些处理单元又被分成m个子流,且在相应的分支中处理该每个子流。对每个子流提供一队列。在第二种结构(结构B)中,这些处理单元被指定给任何可用的处理器。所有处理器具有一个队列。或在优先队列方案中,用一优先队列来保持预测图象单元,使得这些单元在已处理其基准单元时,在被指定给处理器方面具有优先权。
改进结构A的一种选择是为该m个分支中的每一个提供一缓冲器充满反馈信号,并调整该位流的分离,从而将引入的数据发送给最空的队列(缓冲器)。
在对结构A或B之一的另一种改进中,可根据最短尺寸优先技术重排队列中的这些处理单元。
当单一视频流被分成不同的子流时对结构A的另一可能的改进和对结构B的另一可能的改进是隔行扫描不同视频位流的帧,以确保在每个预测处理单元位于其队列中第一之前,具有其可用的基准处理单元。
当一个或若干视频流被分成不同的子流时对结构A的另一可能的改进和对结构B的另一可能的改进是提供一保护协议,其能够保持对预测处理单元和其相关基准处理单元的跟踪,以确保它们不被同时处理(在不同的处理器中)。该保护协议延迟对该预测处理单元的处理直到其已处理其相应的基准处理单元。还协调该未被压缩的基准处理单元向预测处理单元的处理器的移动,移动到该处理器用于进行运动补偿处理。
通过确保不同时处理相关的处理单元,可获得最小平均处理延迟。
此外,通常可同时实现上述的改进。
另一优点是本发明的代码转换器的结构可容易地通过仅将数据传给操作处理器来调整一个或若干故障处理器。
本发明适于对多个信道,例如标准定义视频信道,或单个高比特率信道,例如HDTV信道进行代码转换。
虽然参照不同的具体实施例对本发明进行了描述,但本领域技术人员应该明白,在不脱离权利要求所限定的本发明的精神和范围下可进行多种修改和变更。
例如,尽管这里讨论了不同的语法元件,但值得注意的是,它们仅仅是实例,可使用任何语法程序。
此外,尽管结合MPEG-2标准论述了本发明,但应该明白,这里所公开的概念可适于与任何类似的通信标准一起使用,包括当前MPEG标准的衍生。
此外,事实上,本发明还适于与任何类型的网络一起使用,包括有线或***广播通信网、局域网(LANs)、城域网(MANs)、宽域网(WANs)、互连网、内联网和因特网或这些网络的组合。
Claims (21)
1.一种用于对包括数字视频数据的位流进行代码转换的方法,包括以下步骤:
将该位流分成若干连续的处理单元;
对这些处理单元进行排队;以及
根据一排队***模型,将该排队处理单元的每一个分别指定给并行排列的若干代码转换处理器中的一个。
2.根据权利要求1的方法,其中:
根据该排队***模型,可将这些排队处理单元指定给这些代码转换处理器,以便在此同时处理彼此独立的几个特定的排队处理单元。
3.根据权利要求1的方法,其中:
所述排队处理单元包括一基准图象的排队处理单元和其预测图象的排队处理单元;且
根据该排队***模型,将这些排队处理单元指定给这些代码转换处理器,使得该基准图象的排队处理单元和该预测图象的排队处理单元不被同时处理。
4.根据权利要求1的方法,其中:
该处理单元至少包括片、帧、半帧、视频物面(VOP)和块组(GOB)中的一种。
5.根据权利要求1的方法,其中:
在所述排队步骤中,所述分割处理单元被排列进一公用队列;且
在所述指定步骤中,从该公用队列中将该排队处理单元指定给这些代码转换处理器。
6.根据权利要求5的方法,其中,在所述排队步骤中,
以最短尺寸处理单元优先的方式将所述分割处理单元排列到该公用队列。
7.根据权利要求5的方法,其中:
所述位流仅具有一个视频信道。
8.根据权利要求1的方法,其中:
所述处理单元包括一基准图象的处理单元和其预测图象的处理单元,
在所述排队步骤中,该基准图象的处理单元被排列到第一队列,而该预测图象的处理单元被排列到第二、优先队列;且
在所述指定步骤中,在将该基准图象的排队处理单元指定给各个代码转换处理器用以进行处理后,该预测图象的排队处理单元在被指定给其各自的代码转换处理器方面具有优先权。
9.根据权利要求8的方法,其中,在所述排队步骤中,
以最短尺寸处理单元优先的方式将所述分割处理单元排列到第一和第二队列。
10.根据权利要求1的方法,还包括以下步骤:
将所述连续处理单元分成若干子流;
在所述排队步骤中,将该处理单元的子流排列到各自的队列中;且
在所述指定步骤中,从该各个队列中将所述排队处理单元指定给代码转换处理器。
11.根据权利要求10的方法,其中
所述位流包括若干视频信道。
12.根据权利要求10的方法,其中,在所述排队步骤中,
以最短尺寸处理单元优先的方式将该处理单元的子流排列到所述各自的队列。
13.根据权利要求10的方法,其中,在所述排队步骤中,
以最空队列优先的方式将该处理单元的子流排列到各自的队列。
14.根据权利要求1的方法,其中,所述位流至少包括第一和第二视频信道,这些信道具有按各自的图象顺序排列的各自的图象,还包括以下步骤:
隔行扫描第一视频信道的图象和来自第二视频信道的图象,使得与在各自图象顺序中的情况相比,第一和第二视频信道各自的相关的图象被分隔得更远。
15.根据权利要求1的方法,其中,所述位流至少包括第一和第二视频信道,这些信道具有按各自的分组顺序排列的各自的图象分组,每个分组包括一个图象或若干不相关的图象,还包括以下步骤:
隔行扫描第一视频信道的图象分组和来自第二视频信道的图象分组,使得与在各自分组顺序中的情况相比,第一和第二视频信道各自的相关的分组被分隔得更远。
16.根据权利要求1的方法,其中,在所述指定步骤中,一基准图象的该排队处理单元和其预测图象的排队处理单元被指定给各自的代码转换处理器,还包括以下步骤:
延迟该预测图象的排队处理单元在被指定了该处理单元的代码转换处理器中的处理,直到已处理该基准图象的排队处理单元为止。
17.根据权利要求16的方法,还包括以下步骤:
保持该被指定的基准图象的排队处理单元、其被指定的预测图象的排队处理单元、以及在所述指定步骤中被指定了上述两单元的代码转换处理器的一个记录;并
当已由被指定了该基准图象的排队处理单元的代码转换处理器处理该处理单元时,更新该记录;
其中,所述延迟步骤对所述更新步骤做出反映。
18.根据权利要求16的方法,还包括以下步骤:
当在被指定了该基准图象的排队处理单元的代码转换处理器处进行完处理之后,将该基准图象的排队处理单元从该处理器提供到被指定了该预测图象的排队处理单元的代码转换处理器。
19.一种用于对包括数字视频数据的位流进行代码转换的设备,包括:
分割装置,用于将所述位流分割为若干连续的处理单元;
排队装置,用于对这些处理单元进行排队;
若干并行排列的代码转换处理器;以及
指定装置,用于根据一排队***模型,将所述排队处理单元的每一个分别指定给该若干代码转换处理器中的一个。
20.根据权利要求19的设备,其中:
所述排队装置包括一用于对所述分割处理单元进行排队的公用队列;且
所述指定装置从该公用队列中将该排队处理单元指定给代码转换处理器。
21.根据权利要求19的设备,还包括:
一分离器,用于将该连续的处理单元分离成若干子流;其中,
所述排队装置包括用于排列该处理单元的子流的各个队列;且
所述指定装置从该各个队列中将排队处理单元指定给代码转换处理器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/338,873 | 1999-06-23 | ||
US09/338,873 US6275536B1 (en) | 1999-06-23 | 1999-06-23 | Implementation architectures of a multi-channel MPEG video transcoder using multiple programmable processors |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1357200A true CN1357200A (zh) | 2002-07-03 |
Family
ID=23326513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00809277A Pending CN1357200A (zh) | 1999-06-23 | 2000-06-09 | 使用多个可编程处理器的多信道mpeg视频代码转换器 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6275536B1 (zh) |
EP (1) | EP1195061A1 (zh) |
JP (1) | JP2003502958A (zh) |
KR (1) | KR20020020920A (zh) |
CN (1) | CN1357200A (zh) |
AU (1) | AU769961B2 (zh) |
BR (1) | BR0011634A (zh) |
CA (1) | CA2375842C (zh) |
TW (1) | TW488167B (zh) |
WO (1) | WO2000079801A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101115207B (zh) * | 2007-08-30 | 2010-07-21 | 上海交通大学 | 基于预测点间相关性的帧内预测实现的方法及装置 |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JP2000244921A (ja) * | 1999-02-24 | 2000-09-08 | Matsushita Electric Ind Co Ltd | 映像符号化方法および装置 |
US7088725B1 (en) * | 1999-06-30 | 2006-08-08 | Sony Corporation | Method and apparatus for transcoding, and medium |
US6577679B1 (en) * | 1999-09-30 | 2003-06-10 | Hewlett-Packard Development Company Lp | Method and apparatus for transcoding coded picture signals from object-based coding to block-based coding |
US7339993B1 (en) * | 1999-10-01 | 2008-03-04 | Vidiator Enterprises Inc. | Methods for transforming streaming video data |
US7114174B1 (en) | 1999-10-01 | 2006-09-26 | Vidiator Enterprises Inc. | Computer program product for transforming streaming video data |
US7143432B1 (en) | 1999-10-01 | 2006-11-28 | Vidiator Enterprises Inc. | System for transforming streaming video data |
US7047305B1 (en) | 1999-12-09 | 2006-05-16 | Vidiator Enterprises Inc. | Personal broadcasting system for audio and video data using a wide area network |
US6539059B1 (en) * | 2000-03-02 | 2003-03-25 | Sun Microsystems, Inc. | Apparatus and method for efficiently scalable digital video decoding |
US6404814B1 (en) * | 2000-04-28 | 2002-06-11 | Hewlett-Packard Company | Transcoding method and transcoder for transcoding a predictively-coded object-based picture signal to a predictively-coded block-based picture signal |
US6647061B1 (en) * | 2000-06-09 | 2003-11-11 | General Instrument Corporation | Video size conversion and transcoding from MPEG-2 to MPEG-4 |
US6931059B1 (en) * | 2000-07-14 | 2005-08-16 | Tut Systems, Inc. | Rate and delivery time multiplexing for bandwidth optimization |
JP3561485B2 (ja) * | 2000-08-18 | 2004-09-02 | 株式会社メディアグルー | 符号化信号分離・合成装置、差分符号化信号生成装置、符号化信号分離・合成方法、差分符号化信号生成方法、符号化信号分離・合成プログラムを記録した媒体および差分符号化信号生成プログラムを記録した媒体 |
US6766376B2 (en) | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
US7039115B1 (en) * | 2000-09-20 | 2006-05-02 | General Instrument Corporation | Processor allocation for channels in a video multi-processor system |
US6748020B1 (en) * | 2000-10-25 | 2004-06-08 | General Instrument Corporation | Transcoder-multiplexer (transmux) software architecture |
US6671322B2 (en) * | 2001-05-11 | 2003-12-30 | Mitsubishi Electric Research Laboratories, Inc. | Video transcoder with spatial resolution reduction |
US6968006B1 (en) | 2001-06-05 | 2005-11-22 | At&T Corp. | Method of content adaptive video decoding |
US7773670B1 (en) | 2001-06-05 | 2010-08-10 | At+T Intellectual Property Ii, L.P. | Method of content adaptive video encoding |
US6810086B1 (en) | 2001-06-05 | 2004-10-26 | At&T Corp. | System and method of filtering noise |
US7912124B2 (en) * | 2001-06-11 | 2011-03-22 | Thomson Licensing | Motion compensation for fine-grain scalable video |
US8713623B2 (en) | 2001-09-20 | 2014-04-29 | Time Warner Cable Enterprises, LLC | Technique for effectively providing program material in a cable television system |
US7116712B2 (en) * | 2001-11-02 | 2006-10-03 | Koninklijke Philips Electronics, N.V. | Apparatus and method for parallel multimedia processing |
US7159216B2 (en) * | 2001-11-07 | 2007-01-02 | International Business Machines Corporation | Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system |
US20030126086A1 (en) * | 2001-12-31 | 2003-07-03 | General Instrument Corporation | Methods and apparatus for digital rights management |
US7738551B2 (en) * | 2002-03-18 | 2010-06-15 | International Business Machines Corporation | System and method for processing a high definition television (HDTV) image |
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 |
US7236521B2 (en) * | 2002-03-27 | 2007-06-26 | Scientific-Atlanta, Inc. | Digital stream transcoder |
US7127520B2 (en) | 2002-06-28 | 2006-10-24 | Streamserve | Method and system for transforming input data streams |
KR100479478B1 (ko) * | 2002-07-26 | 2005-03-31 | 연세대학교 산학협력단 | 객체별 중요도를 고려한 객체 기반의 트랜스코딩 방법 및그 장치 |
US20060031889A1 (en) * | 2002-12-11 | 2006-02-09 | Bennett James D | Video processing system with simultaneous multiple outputs each with unique formats |
US8631451B2 (en) | 2002-12-11 | 2014-01-14 | Broadcom Corporation | Server architecture supporting adaptive delivery to a variety of media players |
US7272658B1 (en) | 2003-02-13 | 2007-09-18 | Adobe Systems Incorporated | Real-time priority-based media communication |
US7907665B2 (en) * | 2003-03-14 | 2011-03-15 | Lsi Corporation | Multi-channel video compression system |
WO2004092888A2 (en) * | 2003-04-07 | 2004-10-28 | Modulus Video, Inc. | Scalable array encoding system and method |
US7898951B2 (en) * | 2003-08-13 | 2011-03-01 | Jones Farm Technology 2, Llc | Encoding and transmitting variable bit streams with utilization of a constrained bit-rate channel |
US7324592B2 (en) * | 2003-08-13 | 2008-01-29 | Mitsubishi Electric Research Laboratories, Inc. | Resource-constrained encoding of multiple videos |
US7489726B2 (en) * | 2003-08-13 | 2009-02-10 | Mitsubishi Electric Research Laboratories, Inc. | Resource-constrained sampling of multiple compressed videos |
WO2005033891A2 (en) * | 2003-09-30 | 2005-04-14 | Droplet Technology, Inc. | System and method for temporal out-of-order compression and multi-source compression rate control |
US20050125832A1 (en) * | 2003-12-03 | 2005-06-09 | Jost Arthur P. | Method and apparatus for cost effective central transcoding of video streams in a video on demand system |
JP2007520171A (ja) | 2004-01-29 | 2007-07-19 | ヒルデブランド,ジョン,ジー. | 信号提供方法及びシステム |
WO2006063618A1 (en) * | 2004-12-15 | 2006-06-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and device for encoding mode changing of encoded data streams |
US9723267B2 (en) | 2004-12-15 | 2017-08-01 | Time Warner Cable Enterprises Llc | Method and apparatus for wideband distribution of content |
WO2006126148A1 (en) * | 2005-05-25 | 2006-11-30 | Nxp B.V. | Multiple instance video decoder for macroblocks coded in a progressive and an interlaced way |
US20070091928A1 (en) * | 2005-10-21 | 2007-04-26 | Wee Susie J | Serial and parallel processing of data using information about the data and information about a streaming network |
US7965898B2 (en) | 2005-10-28 | 2011-06-21 | Nvidia Corporation | Accelerating video decoding using multiple processors |
KR100734314B1 (ko) * | 2006-02-11 | 2007-07-02 | 삼성전자주식회사 | 움직임 보상 기반의 영상 압축 시스템에서의 영상 신호의공간 해상도 변환 방법 |
US9058221B2 (en) * | 2006-05-05 | 2015-06-16 | Avaya, Inc. | Signal processing at a telecommunications endpoint |
WO2007136093A1 (ja) * | 2006-05-24 | 2007-11-29 | Panasonic Corporation | 画像復号装置 |
GB0617758D0 (en) * | 2006-09-08 | 2006-10-18 | Taylor Nelson Sofres Plc | Highly distributed audio/video conversion |
US8087044B2 (en) | 2006-09-18 | 2011-12-27 | Rgb Networks, Inc. | Methods, apparatus, and systems for managing the insertion of overlay content into a video signal |
US7801213B2 (en) * | 2006-09-18 | 2010-09-21 | Rgb Networks, Inc. | Method and apparatus for modifying a data rate of a video signal |
WO2008039857A2 (en) * | 2006-09-26 | 2008-04-03 | Dilithium Networks Pty Ltd. | Method and apparatus for compressed video bitstream conversion with reduced-algorithmic-delay |
US8739304B2 (en) * | 2006-11-10 | 2014-05-27 | Sony Computer Entertainment Inc. | Providing content using hybrid media distribution scheme with enhanced security |
US8752199B2 (en) * | 2006-11-10 | 2014-06-10 | Sony Computer Entertainment Inc. | Hybrid media distribution with enhanced security |
US8380864B2 (en) * | 2006-12-27 | 2013-02-19 | Microsoft Corporation | Media stream slicing and processing load allocation for multi-user media systems |
US20080170611A1 (en) * | 2007-01-17 | 2008-07-17 | Srikrishna Ramaswamy | Configurable functional multi-processing architecture for video processing |
KR100885722B1 (ko) * | 2007-03-02 | 2009-02-26 | 주식회사 케이티프리텔 | 사용자 생성 컨텐츠 보호 시스템 및 그 방법 |
US7962640B2 (en) * | 2007-06-29 | 2011-06-14 | The Chinese University Of Hong Kong | Systems and methods for universal real-time media transcoding |
JP2009272706A (ja) * | 2008-04-30 | 2009-11-19 | Toshiba Corp | 動画像トランスコード装置およびその方法 |
JP5097830B2 (ja) * | 2008-06-26 | 2012-12-12 | ジーブイビービー ホールディングス エス.エイ.アール.エル. | 動画像処理方法、プログラム、及び装置 |
EP2151970B1 (en) * | 2008-08-09 | 2011-08-03 | Saffron Digital Limited | Processing and supplying video data |
US8051287B2 (en) | 2008-10-15 | 2011-11-01 | Adobe Systems Incorporated | Imparting real-time priority-based network communications in an encrypted communication session |
JP2010109572A (ja) * | 2008-10-29 | 2010-05-13 | Toshiba Corp | 画像処理装置、及び方法 |
US20100281508A1 (en) | 2009-05-04 | 2010-11-04 | Comcast Cable Holdings, Llc | Internet Protocol (IP) to Video-on-Demand (VOD) Gateway |
US9300445B2 (en) | 2010-05-27 | 2016-03-29 | Time Warner Cable Enterprise LLC | Digital domain content processing and distribution apparatus and methods |
US9338467B1 (en) * | 2010-07-19 | 2016-05-10 | Google Inc. | Parallel video transcoding |
US9185341B2 (en) | 2010-09-03 | 2015-11-10 | Time Warner Cable Enterprises Llc | Digital domain content processing and distribution apparatus and methods |
PL4164224T3 (pl) | 2011-06-28 | 2024-07-08 | Lg Electronics Inc. | Urządzenie do dekodowania wideo i urządzenie do kodowania wideo |
JP5979406B2 (ja) * | 2012-02-22 | 2016-08-24 | ソニー株式会社 | 画像処理装置、画像処理方法、および画像処理システム |
US8914809B1 (en) | 2012-04-24 | 2014-12-16 | Open Text S.A. | Message broker system and method |
WO2013173292A1 (en) | 2012-05-14 | 2013-11-21 | Motorola Mobility Llc | Scalable video coding with enhanced base layer |
US9532080B2 (en) | 2012-05-31 | 2016-12-27 | Sonic Ip, Inc. | Systems and methods for the reuse of encoding information in encoding alternative streams of video data |
US9571827B2 (en) * | 2012-06-08 | 2017-02-14 | Apple Inc. | Techniques for adaptive video streaming |
US20140189141A1 (en) * | 2012-12-28 | 2014-07-03 | Humax Co., Ltd. | Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus |
US9992499B2 (en) | 2013-02-27 | 2018-06-05 | Apple Inc. | Adaptive streaming techniques |
US9357210B2 (en) | 2013-02-28 | 2016-05-31 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams for adaptive bitrate streaming |
US10534843B2 (en) | 2016-05-27 | 2020-01-14 | Open Text Sa Ulc | Document architecture with efficient storage |
WO2018033350A1 (en) | 2016-08-16 | 2018-02-22 | British Telecommunications Public Limited Company | Reconfigured virtual machine to mitigate attack |
WO2018033375A2 (en) | 2016-08-16 | 2018-02-22 | British Telecommunications Public Limited Company | Mitigating security attacks in virtualised computing environments |
GB2553597A (en) * | 2016-09-07 | 2018-03-14 | Cisco Tech Inc | Multimedia processing in IP networks |
US10764396B2 (en) | 2017-12-18 | 2020-09-01 | The Directv Group, Inc. | Media transcoding based on priority of media |
CN108600863A (zh) * | 2018-03-28 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 多媒体文件处理方法和装置、存储介质及电子装置 |
US11888793B2 (en) | 2022-02-22 | 2024-01-30 | Open Text Holdings, Inc. | Systems and methods for intelligent delivery of communications |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5887115A (en) | 1993-01-13 | 1999-03-23 | Hitachi America, Ltd. | Method and apparatus for implementing a video tape recorder for recording digital video signals having either a fixed or variable data transmission rate |
US5477397A (en) | 1993-02-23 | 1995-12-19 | Matsushita Electric Corporation Of America | Digital high definition television receiver with features that facilitate trick-play modes on a digital VCR |
KR950014858B1 (ko) | 1993-06-04 | 1995-12-16 | 대우전자주식회사 | 디지탈 영상 기록장치 |
US5532744A (en) | 1994-08-22 | 1996-07-02 | Philips Electronics North America Corporation | Method and apparatus for decoding digital video using parallel processing |
US5617142A (en) | 1994-11-08 | 1997-04-01 | General Instrument Corporation Of Delaware | Method and apparatus for changing the compression level of a compressed digital signal |
US5619733A (en) | 1994-11-10 | 1997-04-08 | International Business Machines Corporation | Method and apparatus for synchronizing streaming and non-streaming multimedia devices by controlling the play speed of the non-streaming device in response to a synchronization signal |
US5838664A (en) * | 1997-07-17 | 1998-11-17 | Videoserver, Inc. | Video teleconferencing system with digital transcoding |
US5920572A (en) | 1995-06-30 | 1999-07-06 | Divicom Inc. | Transport stream decoder/demultiplexer for hierarchically organized audio-video streams |
US5731837A (en) * | 1996-01-25 | 1998-03-24 | Thomson Multimedia, S.A. | Quantization circuitry as for video signal compression systems |
US5933500A (en) | 1996-05-31 | 1999-08-03 | Thomson Consumer Electronics, Inc. | Adaptive decoding system for processing encrypted and non-encrypted broadcast, cable or satellite video data |
JP3228874B2 (ja) * | 1996-06-05 | 2001-11-12 | 松下電器産業株式会社 | 圧縮ディジタルビデオビットストリーム分割方法及び装置、並びにその復号方法及び装置 |
US5963260A (en) * | 1997-03-18 | 1999-10-05 | U.S. Philips Electronics North America Corporation | Macroblock-level partitioned HDTV video decoder and related method |
-
1999
- 1999-06-23 US US09/338,873 patent/US6275536B1/en not_active Expired - Lifetime
-
2000
- 2000-06-09 JP JP2001504690A patent/JP2003502958A/ja active Pending
- 2000-06-09 EP EP00938237A patent/EP1195061A1/en not_active Withdrawn
- 2000-06-09 KR KR1020017016462A patent/KR20020020920A/ko not_active IP Right Cessation
- 2000-06-09 CN CN00809277A patent/CN1357200A/zh active Pending
- 2000-06-09 WO PCT/US2000/015852 patent/WO2000079801A1/en not_active Application Discontinuation
- 2000-06-09 BR BR0011634-3A patent/BR0011634A/pt not_active IP Right Cessation
- 2000-06-09 CA CA002375842A patent/CA2375842C/en not_active Expired - Fee Related
- 2000-06-09 AU AU53306/00A patent/AU769961B2/en not_active Ceased
- 2000-06-15 TW TW089111676A patent/TW488167B/zh not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101115207B (zh) * | 2007-08-30 | 2010-07-21 | 上海交通大学 | 基于预测点间相关性的帧内预测实现的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
AU769961B2 (en) | 2004-02-12 |
US6275536B1 (en) | 2001-08-14 |
CA2375842A1 (en) | 2000-12-28 |
AU5330600A (en) | 2001-01-09 |
BR0011634A (pt) | 2002-05-28 |
WO2000079801A1 (en) | 2000-12-28 |
EP1195061A1 (en) | 2002-04-10 |
KR20020020920A (ko) | 2002-03-16 |
TW488167B (en) | 2002-05-21 |
CA2375842C (en) | 2007-01-23 |
JP2003502958A (ja) | 2003-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1357200A (zh) | 使用多个可编程处理器的多信道mpeg视频代码转换器 | |
JP7021167B2 (ja) | ビデオ・データストリーム・コンセプト | |
CN1212737C (zh) | 用于活动图像专家组(mpeg)传输流的程序时钟基准数据的再生 | |
US8873634B2 (en) | Method and device for modification of an encoded data stream | |
US7035278B2 (en) | Method and apparatus for forming and utilizing a slotted MPEG transport stream | |
CN1203676C (zh) | 能够进行简易的多窗口显示的活动图象解码装置以及活动图象解码方法 | |
CN1315118A (zh) | 压缩与未经压缩的数字视频信号的统计式多路转接的动态位分配 | |
CN1476248A (zh) | 压缩图像数据从发送端传输到接收端的视频数据收发*** | |
US20080080619A1 (en) | Method and apparatus for compressed video bitstream conversion with reduced-algorithmic-delay | |
US9357213B2 (en) | High-density quality-adaptive multi-rate transcoder systems and methods | |
CN1205154A (zh) | 图像声音解码装置和图像声音编码装置以及信息传输*** | |
JP5011308B2 (ja) | データストリームの分割 | |
CN1531823A (zh) | 在视频多处理器***中频道的处理模式的选择 | |
US20100046639A1 (en) | Time shift and tonal adjustment to support video quality adaptation and lost frames | |
CN1650560A (zh) | 编码分组传送接收方法及其装置以及程序 | |
CN1675931A (zh) | 家庭多媒体传输方法和*** | |
US6996178B1 (en) | Look ahead motion compensation | |
US20190356911A1 (en) | Region-based processing of predicted pixels | |
CN101080925A (zh) | 在数字广播接收机中解复用的设备和方法 | |
CA2640607A1 (en) | Systems and methods for transcoding bit streams | |
US11909954B2 (en) | Decoding apparatus, encoding apparatus, decoding method, encoding method, and program | |
JP5213130B2 (ja) | データ配信システム、切替装置及びデータ配信方法 | |
Masala et al. | Optimized H. 264 video encoding and packetization for video transmission over pipeline forwarding networks | |
WO2023144964A1 (ja) | 映像処理システム、圧縮装置、映像処理方法及びプログラム | |
CN1638480A (zh) | 运动补偿技术的视频压缩方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |