CN104125465B - 用于协调并行视频代码转换的技术 - Google Patents
用于协调并行视频代码转换的技术 Download PDFInfo
- Publication number
- CN104125465B CN104125465B CN201410175143.6A CN201410175143A CN104125465B CN 104125465 B CN104125465 B CN 104125465B CN 201410175143 A CN201410175143 A CN 201410175143A CN 104125465 B CN104125465 B CN 104125465B
- Authority
- CN
- China
- Prior art keywords
- bit rate
- slave
- current bit
- section
- code conversion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- 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
Abstract
本申请公开了用于协调并行视频代码转换的技术。各实施例一般涉及协调对多个并行地使用的计算设备之间的比特率控制以对动态视频的一些部分进行代码转换的技术。协调并行视频代码转换的设备包括:处理器组件;以及,供所述处理器组件执行的监测组件,用于判断总的当前比特率是否保持在并行地使用多个从属设备来对原始视频数据的多个段进行代码转换以生成经代码转换的视频数据的比特率的目标范围之内,总的当前比特率包括由所述多个从属设备在对所述多个段进行代码转换时执行的视频压缩的当前比特率的总和。描述并要求保护其他实施例。
Description
技术领域
此处所描述的各实施例一般涉及协调由多个计算设备对动态视频的段的并行代码转换。
背景
动态视频通常是使用"编码器-解码器"(编解码器)压缩的,编解码器使用多种广泛接受的视频压缩算法中的一种,其中,动态视频的所产生的比特率在一个部分与另一部分之间不同。作为示例,在其中存在片头字幕的典型的动态视频节目的一部分中,带有慢慢地滚动的白色文本字符的典型的黑色背景,由于图像和其中的移动的复杂性相对低,能够以相对低的比特率来编码。相比之下,带有在各种方向移动的多个形状复杂和/或有色物体的快速移动的动作场景要求利用相对较高的比特率来编码,以保留足够的细节,以避免观众注意到诸如像素化或模糊之类的可视伪像。
动态视频的绝大多数包括带有相对低和相对高的复杂性的图像和移动的部分的混合,从而导致比特率要求的宽范围变化。结果,在不实际压缩动态视频的情况下,通常非常难以以合理的精度来确定压缩形式的动态视频的最后的数据大小。由于此困难,在视频流式播放业务中,通常有分配给每一个动态视频的数据大小“预算”,该“预算”通常是以在压缩之后该动态视频在其范围内的数据大小的目标范围来指定。通常选择这样的范围以指定足够大以允许跨整个动态视频的足够高的平均比特率的数据大小,以使压缩能实现保留足够的细节以最小化可视伪像的引入、同时还将数据大小限制到切实可行的最大值,以避免存储和流式传送不必要的大数据的成本和困难。
在压缩动态视频时,选择一个或多个量化参数(取决于编解码器符合的规范)以控制在压缩过程中所使用的编码算法的各方面,以尝试以在数据大小的所选目标范围内的其压缩的形式在整个动态视频中达到平均比特率。当执行压缩时,对变化的比特率进行分析,以判断是否应该修改一个或多个量化参数,以更好地确保经过压缩的动态视频的所产生的数据大小将在所选目标范围内。当在单一计算设备上压缩动态视频时控制一个或多个量化参数以实现目标范围内的数据大小时的困难是相当大的。当并行地使用多个计算设备来压缩动态视频时,这些困难加重。
附图简述
图1示出了视频代码转换系统的实施例。
图2-4中每一个都示出了实施例的操作的阶段。
图5-6中每一个都示出了实施例的部分。
图7-9中每一个都示出了实施例中的协调并行视频代码转换的各方面。
图10-11中每一个都示出了根据实施例的逻辑流程。
图12示出了根据实施例的处理体系结构。
图13示出了视频代码转换系统的替换实施例。
图14示出了设备的实施例。
具体实施方式
各实施例一般涉及协调对多个并行地使用的计算设备之间的比特率控制以对动态视频的一些部分进行代码转换的技术。更具体而言,在代码转换中,在主控设备内将动态视频分成几个段,并将这些段与要由每一个从属设备在代码转换时使用的各种设置一起分配到多个从属设备。基本上并行地操作,从属设备使用提供给每一个的设置,对它们的相应的段进行代码转换,利用在对它们的相应的段进行代码转换时每一个当前要求的比特率的指示来反复地指示主控设备。
主控设备通过来自从属设备的当前比特率的指示的重复的信令来监测每一个段的并行代码转换,并反复地将它们的当前比特率相加,以从其中导出当前总的比特率。主控设备反复地将当前总的比特率与比特率和/或选择的比特率的目标范围进行比较,以使动态视频能在其代码转换的压缩部分完成时实现相对来说接近于目标数据大小或者在数据大小的目标范围内的数据大小。
在总的当前比特率简单地保持在比特率的目标范围之内的情况下,从属设备之间当前比特率的变化是被主控设备允许的,只要总的当前比特率保持在目标范围之内。然而,在总的当前比特率要相对接近于指定的目标比特率的情况下,主控设备可以反复地传输由从属设备用于视频压缩的一个或多个主要量化参数的调节的值,以动态地调节每一个从属设备的当前比特率,以使总的当前比特率保持相对接近于该目标比特率。在有这样的指定的目标比特率的情况下,可以由主控设备导出比特率的目标范围,以提供总的当前比特率的上限和/或下限,超出该上下限时,主控设备可以采取进一步的行动。
不管是否有指定的目标比特率,响应于总的当前比特率停止在目标范围内的情况,主控设备可以指示从属设备中的一个或多个停止使用主要量化参数并切换到使用选择的替换的量化参数,以使从属设备中的一个或多个中的当前比特率的显著变化将总的当前比特率带回目标范围内。作为示例,在总的当前比特率急剧地上升或高于比特率的目标范围的最大比特率的情况下,主控设备可以指示从属设备中的一个或多个进入应急模式,在该应急模式下,使用一个或多个替换的量化参数来导致当前比特率中的一个或多个的显著减小。进一步地,可以使从属设备中的一个或多个更频繁地向主控设备指示它们的当前比特率。
一般参考此处所使用的符号和命名法,可以以按照在计算机或计算机网络上执行的程序过程来呈现随后的详细描述的各部分。这些过程描述和表示法被所属领域的技术人员用于最有效地将他们的工作的实质传递到本领域技术人员。过程,这里一般是指导致所希望的结果的操作的独立的序列。这些操作是那些需要对物理量进行物理操纵的那些操作。尽管不一定,但通常这些量呈现电的和/或磁性或光信号的形式,这些或光信号能够被存储、传输、组合、比较,以及以别的方式操纵。已经证明有时,主要是由于通用的原因,将这些信号称为比特、值、元素、符号、字符、术语、数字等等比较方便。然而,值得注意的是,所有那些些和/或类似的术语将与适当的物理量关联,而且仅仅是应用于这些量的方便的标记。
进一步地,这些操纵常常以诸如添加或比较(通常与由人类操作员执行的心理操作相关联)之类的术语来引用。然而,在大多数情况下,在构成一个或多个实施例的一部分的此处所描述的操作中的任何一种操作中,这样的人类操作员的能力不是必须的,或不是需要的。相反,这些操作是机器操作。对于执行各实施例的操作的有用的机器包括通过根据此处的原理编写的存储在存储器内的计算机程序有选择地激活或配置的通用数字计算机,和/或包括专门地为所需的用途构建的设备。各实施例还涉及用于执行这些操作的设备或系统。这些设备可以为所需的用途专门地构建或可以包括通用计算机。根据给定的描述,这些机器中的各种机器的所需的结构将变得显而易见。
现在将参考附图,全部附图中相同的附图标记用于表示相同的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以没有这些具体细节的情况下实施各新颖实施方式。在其他情况下,以框图形式示出了各个公知的结构和设备以便于描述本发明。本发明将涵盖落入权利要求的范围内的所有修改、等效方案和替换方案。
图1是包括了源设备100、主控设备300、一个或多个从属设备500a-d,以及目的地设备700中的一个或多个的视频代码转换系统1000的实施例的框图。这些计算设备中的每一个都可以是各种类型的计算设备中的任何一种,包括,但不仅限于,台式计算机系统、数据输入终端、膝上型计算机、上网本计算机、平板电脑、手持式个人数据助理、智能电话、数码相机、安装在衣服中的穿戴计算设备、集成到交通工具(例如,小汽车、自行车、轮椅等等)中的计算设备、服务器、服务器集群、服务器场等等。
如所描绘的,这些计算设备100、300、500a-d以及700通过网络999 交换传输视频数据、以及设置、参数和/或涉及协调代码转换动态视频的并行操作的状态的信号。然而,这些计算设备中的一个或多个可以通过网络 999彼此和/或与其他计算设备(未示出)交换完全不与动态视频和/或动态视频的代码转换相关的其他数据。在各种实施例中,网络可以是可能局限于在单一建筑物或其他相对有限区域内延伸的单一网络,可能延伸相当大的距离的连接的网络的组合,和/或可以包括因特网。如此,网络999可以基于可以用来交换信号的各种通信技术中的任何一种(或组合),包括,但不仅限于,使用电缆和/或光缆的有线技术,以及使用红外线、射频或其他形式的无线传输的无线技术。
在各种实施例中,主控设备300包括处理器组件350、存储器360、显示器380以及将主控设备300耦合到网络999的接口390中的一个或多个。存储器360存储控制例程340、配置数据330、原始视频数据130以及经代码转换的视频数据730中的一项或多项。在各种实施例中,从属设备500a-d 中的每一个都包括处理器组件550、存储器560以及将从属设备500a-d中的对应的从属设备耦合到网络999的接口590中的一个或多个。存储器560 存储控制例程540,以及原始视频段135a-d中的对应的段以及经代码转换的视频段735a-d中的一项或多项。
控制例程340包括指令序列,该指令序列在其角色作为主控设备300 的主处理器组件的处理器组件350上操作以实现执行各种功能的逻辑。在执行控制例程340时,处理器组件350接收要被代码转换的原始视频数据 130,以从其生成已经代码转换的视频数据730,并接收指定代码转换的一个或多个方面的配置数据330。这些可以通过网络999从源设备100接收,或者可以以某种其他方式接收(例如,通过未示出的可移动存储介质传输到主控设备300)和/或从某种其他源接收。
原始视频数据130包括以数字方式编码的动态视频,包括,但不仅限于,家庭视频、文献片视频、电视节目的片断、电影等等。如下面将更详细地说明的,处理器组件350将原始视频数据130分割为原始视频段 135a-d,每一段具有基本上类似的数据大小。原始视频段135a-d的数量被选为等于在对那些段进行代码转换时要使用的从属设备的数量。如所描绘的,从属设备的数量是四个,即,从属设备500a-d,从而原始视频段135a-d 的数量也是四个。然而,此所描绘的四个从属设备的数量以及对应的四个视频段只是示例,但其他从属设备和视频段的数量可以与其他可能的实施例相关联。
然后,处理器组件350将原始视频段135a-d中的每一个传输到从属设备500a-d中的对应的从属设备,以便由每一个基本上并行地代码转换。如那些精通动态视频处理技术的人将轻松地认识到的,术语"代码转换"可以表示若干种视频处理操作中的任何一种或视频处理操作的组合,包括,但不仅限于,压缩(也被称为"编码")、解压缩(也被称为"解码")、重新缩放、压缩格式之间的转换、重叠文本的插入、与图像或其他动态视频的组合,等等。假定以数字方式编码的动态视频(例如,视频数据130的动态视频)倾向于以压缩形式存储和传输,代码转换通常至少包括解压缩,允许其他视频处理以及接下来的再压缩。应该指出的是,此处假设,原始视频数据130代码转换为经代码转换的视频数据730在生成经代码转换的视频数据730时至少包括压缩(不论是否包括任何其他视频处理)。
处理器组件350也将一个或多个设置传输到从属设备500a-d中的每一个,以分别控制由每一个从属设备执行的对原始视频段135a-d的代码转换的至少某些方面,包括在执行压缩时要使用的主要量化参数的一个或多个初始值。那些精通视频压缩技术的人员将轻松地认识到,比较广泛地使用的并被接受的用于视频压缩的算法中的各种算法(例如,MPEG、H264、 AVC等等)是有损的算法,其中,使用一个或多个量化参数来控制压缩度,相应地,控制视频信息的损失的程度。与无损压缩算法不同,用于压缩任何类型的数据的有损压缩算法在压缩执行时实际导致一定程度的信息损失。选择了有损压缩中所使用的这样的参数作为量化参数来平衡实现相对较高的压缩比与避免太多信息的损失。在动态视频压缩领域,选择一个或多个量化参数(取决于选择的压缩算法,可以有一个或多个)以平衡实现相对较高的压缩比与避免引入显著的可视伪像(例如,像素化或模糊)。压缩比涉及所产生的比特率,因为较大的压缩比导致较小的比特率,类似于比特率,在实际执行压缩之前,难以以合理的精度弄清压缩比。
配置数据330可以指定在从原始视频数据130生成时要实现的目标平均比特率、平均比特率的目标范围、经代码转换的视频数据730的数据大小的目标数据大小和/或目标范围。如所讨论的,由于难以确定在压缩之后动态视频的平均比特率或数据大小将是什么,可以将平均比特率和/或数据大小指定为目标范围。然而,也可以指定表示经代码转换的视频数据730 寻求相对来说接近地达到的总平均比特率或数据大小的特定目标比特率或目标数据大小。
在配置数据330中指定目标数据大小或数据大小的目标范围代替指定比特率的情况下,处理器组件350可以从对原始视频数据130的初始分析来计算目标比特率或比特率的目标范围,并指定任何目标数据大小或数据大小的目标范围。配置数据330也可以包括在将原始视频数据130代码转换为经代码转换的视频数据730时要包括什么形式的视频处理的指示。至少根据配置数据330中所提供的信息,处理器组件350导出传输到从属设备500a-d中的每一个的至少某些设置,包括要在执行的代码转换的压缩部分使用的主要量化参数的一个或多个初始值。
此外,在未指定比特率或数据大小的目标范围的情况下,处理器组件 350导出比特率的目标范围。在将如此导出比特率的目标范围的某些实施例中,可以使用各种默认参数来选择该最小和/或最大比特率,包括,但不仅限于,百分率偏差、一个或多个乘数等等。在一个可能的实施例中,可以将目标范围的最大比特率选择为指定的目标比特率的两倍,可以选择目标范围的最小比特率是指定的目标比特率的四分之一。
控制例程540包括指令序列,该指令序列在其角色作为从属设备500a-d 中的每一个中的主处理器组件的处理器组件550上操作以实现执行各种功能的逻辑。在执行控制例程540时,从属设备500a-d中的每一个的处理器组件550从主控设备300接收原始视频段135a-d中的对应的段以及初始设置。然后,从属设备500a-d中的每一个的处理器组件550基本上并行地对原始视频段135a-d中的它们的相应的段进行代码转换,由此生成经代码转换的视频段735a-d中的对应的段。在对原始视频段135a-d中的它们的相应的段进行代码转换的过程中,处理器组件550中的每一个都通过网络999 反复地将它们的代码转换过程的压缩部分的它们的当前比特率的指示传输到主控设备300。也在此代码转换过程中,处理器组件550中的每一个还都通过网络999等待来自主控设备300的指出对主要量化参数的更改的信号或在主要和替换的量化参数之间切换的指令,并且处理器组件550中的每一个在处理器组件550中的每一个继续代码转换时实现这样的更改。
处理器组件350从从属设备500a-d中的每一个接收当前比特率的指示,并从这些指示中反复地导出当前总的比特率。处理器组件350还反复地将当前总的比特率与比特率的目标范围进行比较,以判断当前总的比特率是否落在该范围内。如所讨论的,在某些实施例中,处理器组件350允许从属设备之中的当前比特率的变化,而不采取措施来调节一个或多个主要量化参数,只要总的当前比特率保持在目标范围之内。换句话说,处理器组件350允许从属设备500a-d之中的当前比特率的波动,其中,一个当前比特率可以增大,而另一当前比特率减小,以便在这些当前比特率之间有"折衷",只要在任何给定时间这些比特率的总和在比特率的目标范围内。
然而,在其他实施例中,处理器组件350反复地将当前总的比特率与单一指定的目标比特率进行比较,并反复地将主要量化参数的调节的值传输到从属设备500a-d,以便改变它们的当前比特率,以使总的当前比特率相对接近于该目标比特率。具体而言,处理器组件350可以反复地将主要量化参数的调节的值传输到从属设备500a-d中的一个或多个,以抵消总的当前比特率偏离目标比特率的情况。在这样的实施例中,处理器组件350 可以反复地分析从属设备500a-d中的每一个的当前比特率的当前上升和下降的趋势,以确定要对它们中的每一个使用的主要量化参数作出什么调节,以使总的当前比特率相对接近于目标比特率。换句话说,处理器组件350 可以反复地导出当前总的比特率可能将要偏离目标比特率的情况的推测。
在当前总的比特率停止在目标范围内的情况下,处理器组件350可以指示从属设备500a-d中的一个或多个进入应急模式,在该模式下,主要量化参数的使用被替换的量化参数的使用取代,以导致当前比特率的显著变化。进一步地,在这样的应急模式下,使从属设备500a-d更频繁地指示它们的当前比特率,以使主控设备300能够以较大的精度跟踪它们的当前比特率。
在完成对原始视频段135a中的它们的相应的段中的每一段的代码转换之后,从属设备500a-d中的每一个的处理器组件550都通过网络999将现在生成的经代码转换的视频段735a-d中的它们的相应的段传输到主控设备 300。处理器组件350接收已经代码转换的视频段735a-d并将它们组装为已经代码转换的视频数据730。然后,处理器组件350可以在显示器380上在视觉上呈现经代码转换的视频数据730。另选地或另外地,处理器组件350可以操作接口390以将经代码转换的视频数据730传输到目的地设备700。应该指出的是,虽然单独的设备被描绘成向主控设备130提供原始视频数据130以及接收经代码转换的视频数据730,但是,在其他可能的各实施例中,这两种设备可以是同一个。
在各种实施例中,处理器组件350和550中的每一个都可以包括各种市场上销售的处理器中的任何一种。进一步地,这些处理器组件中的一个或多个可以包括多个处理器、多线程处理器、多核处理器(无论多个核在同一个或单独的晶片上共存),和/或多个在物理上分离的处理器以某种方式链接的某种其他种类的多处理器体系结构。
在各种实施例中,存储器360和560中的每一个都可以基于各种信息存储技术中的任何一种,可能包括要求电能的不中断的供应的易失性技术,以及可能包括需要使用可以或可以不可移动的机器可读的存储介质的技术。如此,这些存储器中的每一个都可以包括各种类型的存储设备中的任何一种(或类型组合),包括,但不仅限于,只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据速率DRAM (DDR-DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除编程ROM(EPROM)、电可擦可编程序ROM(EEPROM)、闪存、聚合物存储器(例如,铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、一个或多个单个铁磁磁盘驱动器,或被组织成一个或多个阵列的多个存储设备(例如,被组织成独立磁盘冗余阵列,或RAID阵列的多个铁磁磁盘驱动器)。应该指出的是,虽然这些存储器中的每一个都被描绘成单一块,但是,这些中的一个或多个可以包括可以基于不同的存储技术的多个存储设备。如此,例如,这些所描绘的存储器中的一个或多个可以表示可以用来在某种形式机器可读的存储介质上存储和传输程序和/或数据的光驱动器或闪存卡读取器,本地地存储程序和/或数据相对来说比较长的时间的铁磁磁盘驱动器,以及允许相对快速地访问程序和/或数据的一个或多个易失性固态存储器设备(例如,SRAM或DRAM)的组合。还应注意,这些存储器中的每一个都可以由多个存储器组件基于相同的存储技术构成,但是,这些存储器组件可以由于用途的特殊化而分开地维护 (例如,某些DRAM设备被用作主存储器,而其他DRAM设备被用作图形控制器的不同的帧缓冲器)。
在各种实施例中,接口390和590可以使用允许计算设备耦合到其他设备的各种信令技术中的任何一种,如所描述的。这些接口中的每一个都包括提供至少某些所需的功能以实现这样的耦合的电路。然而,这些接口中的每一个都也可以至少部分地利用由处理器组件中的对应的处理器组件执行的指令序列来实现(例如,以实现协议堆栈或其他特征)。在使用电缆和/或光缆的情况下,这些接口可以使用符合各种行业标准中的任何一种的信令和/或协议,包括,但不仅限于,RS-232C、RS-422、USB、以太网 (IEEE-802.3)或IEEE-1394。在需要使用无线信号传输的情况下,这些接口可以使用符合各种行业标准中的任何一种的信令和/或协议,包括,但不仅限于,IEEE802.11a、802.11b、802.11g、802.16、802.20(通常被称为" 移动宽带无线访问");蓝牙;ZigBee;或蜂窝无线电话业务,诸如带有通用分组无线业务的GSM(GSM/GPRS)、CDMA/1xRTT、Enhanced Data Rates for Global Evolution(EDGE)、Evolution Data Only/Optimized(EV-DO)、 Evolution For Data and Voice(EV-DV)、高速下行链路分组访问(HSDPA)、高速上行链路分组访问(HSUPA)、4G LTE等等。
图2、3和4中的每一个都是图1的视频代码转换系统1000的实施例的简化框图。这些图形中的每一个都描绘了视频代码转换系统1000在不同的阶段的操作的各方面。更具体而言,图2描绘了用于将原始视频数据130 代码转换为经代码转换的视频数据730的准备的各方面。图3描绘了该代码转换正在进行中的各方面。图4描绘了在该代码转换之后视频代码转换系统1000的计算设备之中的活动的各方面。
转向图2,原始视频数据130被分成原始视频段135a-d。如前面所讨论的,视频段135a-d中的每一个都被创建为基本上相等的大小,以使它们中的全部由从属设备500a-d中的相应的从属设备基本上同时并行地进行代码转换。结果,选择视频段135a-d中的每一个的长度,以使用于每一个要被代码转换的视频段的时间量基本上类似。
然而,那些熟悉广泛地被接受的视频压缩算法中的各种算法以压缩形式编码动态视频帧的方式的人将轻松地认识到,不可能简单地在任何两个相邻的帧之间细分如此编码的动态视频。这是由于压缩的动态视频中的帧的大多数不是包括完整的可查看的帧的全部像素信息的完整的帧(例如,内部帧或I帧)。相反,帧的大部分是由描述该帧和另一帧(诸如内部帧中的一个或另一差异帧)之间的差异的像素信息构成的差异帧。进一步地,完整的帧的大部分被用作参考,通过在时间上在它们前面或者在它们之后的差异帧来描述与它们的差异。通常存在完整的帧的子集(通常被称为瞬时解码器刷新帧或IDR帧)可以被用作参考,只通过在时间上在它们之后的差异帧,而不通过在时间上在它们前面的差异帧来描述与它们的差异。
IDR帧始终是一块动态视频中的第一帧(例如,原始视频数据130开始处的IDR帧136a),因为它是不使用另一帧作为参考的完整的帧,并且因为它前面决不会有参考它的帧。如此,在确定原始视频数据130中的要将原始视频数据130分割为原始视频段135a-d的位置时,处理器组件350 分析每一个这样的位置附近处的原始视频数据130的帧,以查明原始视频段135b、135c和135d中的每一个分别将开始的IDR帧136b、136c或136d 中的一个。在这种将原始视频数据130分割为原始视频段135a-d之后,原始视频段135a-d被传输到从属设备500a-d中的相应的从属设备,如所讨论的。
与原始视频段135a-d一起,处理器组件350还传输配置数据335a-d中的对应的配置数据。配置数据335a-d中的每一个都包括前面所描述的在分别由从属设备500a-d中的每一个执行代码转换时要使用的初始设置中的一个或多个。作为示例,配置数据335a-d中的每一个都可以指出在将原始视频段135a-d代码转换为经代码转换的视频段735a-d时将执行什么形式的视频处理。此信息可能在配置数据330中已经提供给主控设备300。如前面所讨论的,虽然假设视频压缩(对于其,一个或多个量化参数被提供到从属设备500a-d)将是要执行的代码转换的一部分的视频处理操作,但是,也可以包括各种其他视频处理操作中的一个或多个。
配置数据335a-d中的每一个都还可以包括要在正常操作过程中使用的主要量化参数的初始值和在进入应急模式时要使用的替换的量化参数的值中的一个或两者。在某些实施例中,处理器组件350可以从对原始视频段 135a-d中的每一个的分析和/或对整个原始视频数据130的分析,导出一个或多个量化参数以在配置数据335a-d中提供,以及可以指定或者由处理器组件350从配置数据330导出目标比特率和/或比特率的目标范围。在其他实施例中,可以在配置数据335a-d中指定主要量化参数的至少一个值,并基于对动态视频(该动态视频可以或可以不包括通过原始视频数据130来表示的动态视频的片段)的很多段的分析或基于以前的经验的其他方面来选择默认值。选择替换的量化参数以导致与预期源于以别的方式预期被用作主要量化参数的其他量化参数值的比特率相比显著地更改的比特率。
进一步地,配置数据335a-d中的每一个都可以指定从属设备500a-d将向主控设备300传输它们的当前比特率的指示的主要间隔,以及在进入应急模式时使用的替换的间隔中的一个或两者。在某些实施例中,在配置数据335a-d中,主要和/或替换的间隔被指定为时间间隔,选择的替换的间隔比主要间隔短。在其他实施例中,主要和/或替换的间隔被指定为在压缩期间在向主控设备300传输当前比特率的指示的每一个实例之间遇到的IDR 帧的数量(或其他类型的帧的数量),选择的替换的间隔是比初始间隔数量更少的IDR帧(或其他类型的帧)。
应该指出的是,分别在配置数据335a-d中传输到从属设备500a-d中的每一个的各种设置中的一个或多个可以不同。作为示例,尽管当前比特率将被传输到主控设备300的主要间隔可以对于所有从属设备500a-d相同,但是,主要量化参数中的一个或多个可以不同。这样的量化参数的相异性可能由于处理器组件350对原始视频段135a-d中的每一个执行分离的分析,以分别为每一个导出至少一个唯一主要量化参数。
转向图3,原始视频段135a-d分别被从属设备500a-d中的每一个的处理器组件550代码转换为已经代码转换的视频段735a-d。如前面所讨论的,在代码转换过程中,从属设备500a-d中的每一个的处理器组件550反复地向主控设备300传输它们的当前比特率的指示。在图3中,这些传输被描绘为状态数据535a-d分别从从属设备500a-d向主控设备300的传输。当前比特率的这些传输可以以在配置数据335a-d中的对应的配置数据中指定的主要间隔发生。处理器组件350反复地接收状态数据535a-d中的每一个的重复的传输中当前比特率的这些指示。处理器组件350反复地将最近从从属设备500a-d中的每一个接收到的当前比特率的指示相加,以从其中导出总的当前比特率。处理器组件350反复地将总的当前比特率与特定目标比特率(如果提供的话)和/或比特率的目标范围进行比较。
如前面所讨论的,从属设备500a-d中的每一个的处理器组件550等待从主控设备300接收表达调节一个或多个量化参数的值的指示的传输。在图3中,这些传输被描绘为控制数据336a-d分别从主控设备300向从属设备500a-d的传输。预想,这样的传输的大部分将表达对由处理器组件350 导出的至少一个主要量化参数的调节以使总的当前比特率相对接近于指定的目标比特率(例如,总的当前比特率偏离指定的目标比特率的相反的实例)的指示。然而,在从属设备500a-d中的一个或多个的当前比特率相对快速地增大的情况下和/或在总的当前比特率停止保持在比特率的目标范围之内的情况下,控制数据336a-d中的一项或多项可以表达从属设备500a-d 中的对应的一个或多个进入应急模式的指示。在这样的应急模式下,对应的一个或多个从属设备500a-d的处理器组件550可以从使用主要量化参数切换到使用替换的量化参数,以选择的方式显著地更改其当前比特率,以导致总的当前比特率再次落在比特率的目标范围内。
可另选地,由处理器组件350传输的信号指示从属设备500a-d中的一个或多个进入应急模式的信号是不传输数据(例如,指出经调节的主要量化参数值的控制数据336a-d)的相对较短的信号。这样的相对较短的信号被定向到的从属设备500a-d中的任何一个从属设备的处理器组件550将此相对较短的信号识别为立即停止使用主要量化参数以便使用以前在配置数据335a-d中的对应的配置数据中传输的如所指定的用于应急模式的替换的量化参数的指示。信号的较短形式的这样的使用可以确保它通过网络999 比其他较大形式的网络流量更快速地传输,并确保由处理器组件550中的接收到它的一个处理器组件可以快速地识别它并对其采取措施。作为示例,在通过网络999作为分组传输表达控制数据336a-d中的一个的实例以及表达进入应急模式的指示的信号的情况下,表达进入应急模式的指示的信号可以是不包括数据有效负载部分的较短的分组。如那些精通各种网络协议的技术的人将轻松地认识到的,表达数据有效负载的较大的分组可能在某些类型的网络中由于它们的较大的大小而延迟。
转向图4,在分别由从属设备500a-d中的处理器组件550将原始视频段135a-d代码转换为经代码转换的视频段735a-d完成时,从属设备500a-d 的处理器组件550将它们的经代码转换的视频段735a-d传输到主控设备 300。在分别从从属设备500a-d接收到经代码转换的视频段735a-d时,处理器组件350组装已经代码转换的视频段735a-d,以生成已经代码转换的视频数据730。
图5和6中的每一个都是比较详细地描绘的图1的视频代码转换系统 1000的实施例的一部分的框图。更具体而言,图5描绘了主控设备300的操作环境的各方面,其中处理器组件350在执行控制例程340时在协调将原始视频数据130代码转换为已经代码转换的视频数据730时执行上述的功能。图6描绘了从属设备500a中的一个的操作环境的各方面,其中,处理器组件550在执行控制例程540时在将原始视频段135a代码转换为经代码转换的视频数据735a时执行上述的功能。如将由所属领域的技术人员认识到的,控制例程340和540,包括其组件,被选为在被选择为实现处理器组件350和550中的适用的处理器组件的任何类型的处理器上操作。
在各种实施例中,控制例程340和540中的每一个都可以包括操作系统、设备驱动程序和/或应用级别的例程(例如,在光盘介质上提供的所谓的"套装软件",从远程服务器中获取的"小程序",等等)中的一项或多项。在包括操作系统的情况下,操作系统可以是适合于处理器组件350和550 中的对应的处理器组件的各种可用的操作系统中的任何一种。在包括一个或多个设备驱动程序的情况下,这些设备驱动程序可以为计算设备300和 500中的对应的计算设备的各种其他组件(无论是硬件还是软件组件)中的任何一种提供支持。
控制例程340和540中每一个都分别包括可由处理器组件350和550 中的对应的处理器组件执行的通信组件349和549,以操作接口390和590 以通过网络999传输和接收信号,如所描述的。接收到的信号可以是表达用于代码转换的视频数据和从其中产生的视频数据的信号,以及协调这样的代码转换的信号。如所属领域的技术人员将认识到的,这些通信组件中的每一个被选为与被选为实现接口390和590中的对应的接口的任何类型的接口技术一起操作。
控制例程340包括拆分组件341,该组件341可由处理器组件350执行,用于基于在执行代码转换时要使用的从属设备的数量以及可能还基于 IDR帧在原始视频数据130内的位置,将原始视频数据130分割为段,如所描述的。如此,给定四个从属设备的数量,即,从属设备500a-d,拆分组件341生成四个原始视频段135a-d。
控制例程340可以包括可由处理器组件350执行的分析组件343,用于分析原始视频数据130和/或原始视频段135a-d以导出一个或多个量化参数。这样一来,分析组件343也可以分析可以在要执行的代码转换的压缩部分的比特率的目标范围的配置数据330中提供任何指示。如所讨论的,这样的导出的量化参数可以作为一个或多个主要量化参数在配置数据 335a-d中的对应的配置数据中被传输到从属设备500a-d,如所描述的。
控制例程340包括监测组件345,该组件345可由处理器组件350执行以从从属设备500a-d中的每一个接收当前比特率的指示,该当前比特率的指示作为状态数据535a-d中的对应的状态数据反复地传输到主控设备 300。监测组件345通过将从从属设备500a-d中的每一个最近接收到的当前比特率相加,反复地导出总的当前比特率,反复地将该总的当前比特率与特定目标比特率和/或在配置数据330中指定的或从在配置数据330中指出的其他数据(例如,特定目标数据大小或者数据大小的目标范围)导出的比特率的目标范围进行比较。
控制例程340包括调节组件346,该组件346可由处理器组件350执行以从监测组件345接收总的当前比特率与指定的目标比特率和比特率的目标范围中的一个或两者的重复的比较的结果的指示。在提供特定目标比特率的各实施例中,调节组件导出主要量化参数的一个或多个调节的值,以便作为控制数据336a-d中的对应的控制数据传输到从属设备500a-d中的一个或多个。选择主要量化参数的一个或多个调节的值,以改变从属设备500a-d中的一个或多个的当前比特率,以导致所产生的总的当前比特率仍然相对接近于指定的目标比特率。
调节组件346可以使用各种算法中的任何一种以导出一个或多个调节的值和/或选择从属设备500a-d中的一个或多个以向其提供调节的值。作为示例,在总的当前比特率增大使得它比指定的目标比特率高得多的情况下,调节组件346可以选择按相同比例度调节从属设备500a-d中的每一个的主要量化参数,以尝试改变所有当前比特率相对较小的量,以导致总的当前比特率仍然接近于该目标比特率。作为另一示例,在从属设备500a-d中的一个的当前比特率开始快速地改变使得它可能会导致总的当前比特率不再相对接近于目标比特率的情况下,调节组件346可以选择调节从属设备 500a-d中的该特定从属设备的主要量化参数,以至少缩小从属设备500a-d 中的该特定从属设备的当前比特率改变的程度。
不管是否指定了特定目标比特率,在总的当前比特率停止保持在比特率的目标范围之内的情况下,调节组件346指示从属设备500a-d中的一个或多个(通过通信组件349)进入应急模式。如所讨论的,这样的信号被定向到的从属设备500a-d中的一个或多个开始使用选择的替换的量化参数以导致当前比特率中的显著变化以将总的当前比特率带回比特率的目标范围内。
控制例程340包括组装组件347,该组装组件347可由处理器组件350 执行以从从属设备500a-d中的对应的从属设备接收经代码转换的视频段 735a-d,并将它们组装为经代码转换的视频数据730。如所描述的,处理器组件350在执行控制例程340时可以在显示器380(如果存在的话)上在视觉上呈现经代码转换的视频数据730,和/或可以操作接口390(通过通信组件349)以将经代码转换的视频数据730传输到另一计算设备。
控制例程540包括代码转换组件541,该代码转换组件541可由处理器组件550执行以被涉及在原始视频段135a执行以生成经代码转换的视频段735a的任何形式的代码转换,如所描述的。除由构成代码转换组件541 的一部分的压缩组件547执行的压缩之外,配置数据335a可以包括作为代码转换的一部分将执行什么视频处理的指示。
控制例程540包括设置组件546,该组件546可由处理器组件550执行以在开始代码转换之前在配置数据335a中传输到从属设备500a的初始设置,以及可以在代码转换过程中在控制数据336a的一个或多个传输中传输的主要量化参数的任何经调节的值。设置组件546向压缩组件547提供主要或替换的量化参数(视情况而定),以在执行的代码转换的压缩部分使用,如所描述的。设置组件546也可以接收可以由主控设备300传输的指出从属设备500a将进入应急模式的信号。在接收到这样的应急模式信号时,设置组件546在配置数据335a中传输提供给设置组件546的用于应急模式的一个或多个替换的量化参数。如所描述的,选择用于应急模式的替换的量化参数,使得代码转换操作的压缩部分的当前比特率与最初在配置数据335a中传输的和/或随后在控制数据336a中经调节的主要量化参数相比大大地降低。
控制例程540包括监测组件545,该监测组件545可由处理器组件550 执行以反复地监测由从属设备500a的处理器组件550(通过压缩组件547) 执行的代码转换的压缩部分的当前比特率,并在状态数据535a中将其传输到主控设备300。如所讨论的,配置数据335a可以指定当前比特率将被传输到主控设备300的主要时间间隔或IDR帧的数量。进一步地,配置数据 335a也可以指定在应急模式过程中当前比特率将被传输到主控设备300的替换的时间间隔或IDR帧的数量,替换的间隔被选择成小于主要间隔以导致当前比特率在应急模式过程中更频繁地被传输。
图7、8和9中的每一个都描绘图1的视频代码转换系统1000的实施例的操作的示例的各方面。更具体而言,这些图形中的每一个都描绘了由主控设备300监测从属设备500a-d中的每一个的当前比特率的变化以及对它们的响应,包括主控设备300和从属设备500a之间的信号的交换的示例。
转向图7,呈现了描绘了从属设备500a-d中的每一个的单个当前比特率和从这些单个当前比特率导出的总的当前比特率的示例的图,其中,它们的时间轴被校准,以示出它们之间的因果关系。与这些图一起,还为这样的各实施例呈现了主控设备300和从属设备500a之间的信号的对应的示例交换:其中,使主控设备300的处理器组件350反复地检查当前总的比特率是否保持在比特率的目标范围之内,但不一定检查当前总的比特率是否相对接近于指定的目标比特率。
如所描绘的和所讨论的,在执行由从属设备500a-d并行地执行的代码转换的压缩部分时,从属设备500a-d中的每一个的当前比特率可以在执行视频压缩时随着时间的推移而显著地变化。也如所描绘的,只要所产生的总的当前比特率保持在比特率的目标范围之内(即,利用虚线所描绘的低于最大比特率和高于最小比特率),从属设备500a-d的单个当前比特率中的波动可以被主控设备300允许发生。换句话说,只要从属设备500a-d中的一个或多个的当前比特率的增大为从属设备500a-d中的一个或多个其他从属设备的当前比特率的对应的缩小所抵销,以便总的当前比特率保持在比特率的目标范围之内,则主控设备300可以不采取动作以改变这些当前比特率中的一个或多个。
这种主控设备300不采取动作被反映在主控设备300和从属设备500a 之间的信号活动的伴随描绘中。如所描绘的,主控设备300最初将原始视频段135a传输到从属设备500a。在某些实施例中,并如在图8中所描绘的,可以存在握手协议,其中,从属设备500a通过将确认信号(ACK)传输回到主控设备300,来对成功地接收到原始视频段135a作出响应。配置数据335a也由主控设备300传输到从属设备500a,从属设备500a可以以 ACK信号作出响应。应该指出的是,尽管这描绘了由主控设备300向从属设备500a相对简单地供应配置数据335a,但是,可能存在这样的各实施例:主控设备300和从属设备500a交换多个信号,作为通过网络999执行协商以约定由从属设备500a在对原始视频段135a执行代码转换时使用的初始设置中的一个或多个的一部分。作为示例,可以如此协商从属设备500a将向主控设备300传输其当前比特率的间隔的长度(无论被指定为时间的度量还是IDR帧的量)。
在对原始视频段135a的代码转换开始之后,并对应于图7的初始时间时间段中的从属设备500a-d的当前比特率的描绘,从属设备500a在状态数据535a的多个实例中反复地将其当前比特率传输到主控设备300。由于在此示例中总的当前比特率保持在比特率的目标范围之内,所以主控设备300 不将任何信号传输到从属设备500a以调节主要量化参数。
转向图8,呈现了描绘了从属设备500a-d中的每一个的单个当前比特率的相同示例和从这些单个当前比特率导出的相同总的当前比特率的图,如在图7中呈现的,并以相同对齐的方式示出了它们之间的因果关系。然而,与图8中的这些图一起,还对于这样的实施例呈现了主控设备300和从属设备500a之间的信号的对应的示例交换,其中,使处理器组件350反复地检查当前总的比特率是否保持接近于指定的目标比特率,而不是简单地在比特率的目标范围内。
如所描绘的,在示例时间点Ta和Tb,在从属设备500a-d中的单个从属设备的当前比特率中的一个或多个变化到总的当前比特率不像在其他时间那样接近于指定的目标比特率的程度的情况下,主控设备300通过将表达主要量化参数的经调节值的控制数据336a的实例传输到至少从属设备 500a来作出响应。更具体而言,所描绘的信号活动类似于图7中所描绘的那样开始,原始视频段135a和配置数据335a由主控设备300传输到从属设备500a(为清楚起见,省略了由从属设备500a对ACK信号的传输的描绘)。也如图7中所描绘的,从属设备500a反复地将状态数据535a的实例传输到主控设备300以反复地传输其当前比特率,如所讨论的。然而,响应于在大约时间点Ta和Tb,从从属设备500a接收到至少状态数据535a 的实例,主控设备300在大约那些相同时间点,传输表达主要量化参数的调节的值的指示的控制数据336a的实例。如此,图8描绘了其中主控设备 300尝试使总的当前比特率保持相对接近于指定的目标比特率的实施例的示例。
转向图9,呈现了描绘了当前比特率的变化的值的不同模式以及所产生的总的当前比特率的示例的类似的时间对齐的图。具体而言,描绘了从属设备500a的当前比特率通向时间点Tc快速地增大的示例实例。从属设备500a的当前比特率中的这种快速增大不能充分地被在其他从属设备 500b-d的其他当前比特率之中发生的比特率的任何减小所抵消,这导致总的当前比特率还快速地上升,以致于它超出通向时间点Tc的比特率的目标范围的最大比特率。
作为响应,在时间点Tc,主控设备300指示从属设备500a进入应急模式。从属设备500a在或大约在时间点Tc这样做,停止使用在快速增大过程中在其当前比特率中直到时间点Tc使用的主要量化参数,并开始使用被选择用于应急模式的替换的量化参数,导致从属设备500a的当前比特率的大幅度降低,如图所示的在时间点Tc之后相对快速地发生的。由于从属设备500a的当前比特率中的这种相对快速的降低,总的当前比特率也减小,导致它相对快速地在时间点Tc之后再次落在比特率的目标范围内。
如所讨论的,在这样的应急模式过程中,从属设备500a以比当不在应急模式里时较短的间隔反复地将其当前比特率的指示传输到主控设备300。在某些实施例中,可以由主控设备300施加结束应急模式之前的一种形式的延迟,以确保视频段135a的压缩中的促成当前比特率的急剧上升的任何状态已过去。如此,在与时间点Tc的至少这样的延迟之后的时间点Td,主控设备300指示从属设备500a退出应急模式。然后,从属设备500a停止使用应急模式的替换的量化参数,并再次使用主要量化参数,以便其当前比特率被允许再次上升,如在时间点Tc之后所描绘的。
转向图9中的主控设备300和从属设备500a之间的信号的交换的对应的描绘,以类似于在图7和8的前面的示例中所讨论的方式,从属设备500a 反复地传输状态数据535a的实例以反复地将其当前比特率传输到主控设备 300。然而,响应于通向时间点Tc的从属设备500a的比特率的上述的急剧上升,主控设备300在时间点Tc将应急信号传输到从属设备500a。如所描述的,从属设备500a通过停止使用主要量化参数并通过开始使用替换的量化参数来作出响应。也如所描述的,从属设备500a还可以进一步通过更频繁地(即,以这样的传输之间的较小间隔)反复地将其当前比特率传输到主控设备500来作出响应。
在应急模式(可以是包括插入的延迟的时间长度)下其当前比特率的重复的传输之后,主控设备300在大约时间点Td将退出应急模式的指示传输到从属设备500a。在某些实施例中,向从属设备500a的退出应急模式的此指示可以是另一相对较短的不传输数据的信号,诸如应急信号。在其他实施例中,并如在图9中所描绘的,给从属设备500a的退出应急模式的信号可以是控制数据336a的实例的传输。在这样的传输中,控制数据336a 可以在控制数据336a的该实例中作为二进制或其他值来传输退出应急模式的指示。另选地或另外地,控制数据336a的该实例可以包括要供从属设备 500a在其对原始视频段135a的代码转换的压缩部分使用的主要量化参数的经调节的值,代替继续使用与应急模式相关联的替换的量化参数。
如所讨论的,由主控设备300向从属设备500a传输的应急信号可以不同于由主控设备300传输控制数据336a所传输的信号,因为应急信号的持续时间可以较短。应该进一步指出,这样的差异可能由于对于应急信号与控制数据336a使用了通过网络999传输的不同类型的分组。更具体而言,在某些实施例中,应急信号可以在或许不包括数据有效负载、而是相反通过一个或多个比特的首部来传输其是应急信号的事实的较短的分组来传输。
图10示出了逻辑流程2100的一个实施例。逻辑流程2100可以代表由此处所描述的一个或多个实施例执行的某些或全部操作。更具体而言,逻辑流程2100可以示出由处理器组件350在执行至少控制例程340时执行的操作和/或由主控设备300的其他组件执行的操作。
在2110处,代码转换系统的主控设备的处理器组件(例如,代码转换系统1000的主控设备300的处理器组件350)从对原始视频数据(例如,原始视频段135a-d)的段执行基本上并行的代码转换以生成经代码转换的视频数据(例如,经代码转换的视频段735a-d)的对应的段的多个从属设备(例如,从属设备500a-d)中的每一个接收当前比特率的指示。如所讨论的,原始视频数据被分成等于要使用的视频代码转换系统的从属设备的数量的段数,那些从属设备中的每一个都反复地将它们的相应的段的当前部分的编码所需的当前比特率的指示传输到主控设备。
在2120处,将来自从属设备中的每一个的当前比特率的最近指示相加,以导出总的当前比特率,用于与要实现的(或至少相对接近于)经代码转换的视频的指定的目标比特率或比特率的目标范围中的一个或两个进行比较。在2130,就总的当前比特率是否在比特率的目标范围内作出检查。
如果在2130总的当前比特率不在目标范围内,那么,在2132选择从属设备中的一个或多个进入应急模式,并在2134指示这些选择的从属设备进入应急模式。如所讨论的,由从属设备中的一个进入应急模式需要从属设备在它执行的代码转换的压缩部分停止使用主要量化参数并开始使用替换的量化参数。在2136,等待延迟,以允许自从应急模式的开始以来有足够的时间过去,以使促成进入应急模式的条件平息,然后,指示至少一个从属设备退出应急模式。然后,在2138,指示所选从属设备退出应急模式。
图11示出了逻辑流程2200的一个实施例。逻辑流程2200可以代表由此处所描述的一个或多个实施例执行的某些或全部操作。更具体而言,逻辑流程2200可以示出由处理器组件350在执行至少控制例程340时执行的操作,和/或由主控设备300的其他组件执行的操作。
在2210处,代码转换系统的主控设备的处理器组件(例如,代码转换系统1000的主控设备300的处理器组件350)从对原始视频数据(例如,原始视频段135a-d)的段执行基本上并行的代码转换以生成经代码转换的视频数据(例如,经代码转换的视频段735a-d)的对应的段的多个从属设备(例如,从属设备500a-d)中的每一个接收当前比特率的指示。在2220 处,将来自从属设备中的每一个的当前比特率的最近指示相加,以导出总的当前比特率,用于与要实现的(或至少相对接近于)经代码转换的视频的指定的目标比特率或比特率的目标范围中的一个或两个进行比较。
在2230中,作出关于总的当前比特率是否接近于指定的目标比特率或偏离指定的目标比特率的检查。如所讨论的,主控设备可以反复地分析从属设备中的每一个的当前比特率的变化,来预测总的当前比特率将接近于指定的目标比特率或偏离指定的目标比特率,然后,导出一个或多个主要量化参数的经调节的值,以防止(或停止)这样的偏离。
如果在2230总的当前比特率不保持接近于目标比特率(例如,偏离或被预测偏离),那么,在2232处,选择从属设备中的一个或多个,以给它们提供主要量化参数的经调节的值。然后,在2234处,导出那些经调节的值,然后,在2236处,将它们传输到从属设备中的所选的从属设备。
图12示出了适用于实现如前所述的各实施例的示例性处理体系结构 3000的实施例。更具体而言,处理体系结构3000(或其变型)可以被实现为计算设备100、300或600以及可能控制器400中的一个或多个的一部分。应该指出的是,给处理体系结构3000的组件提供了附图标记,其中最后两个数字对应于前面所描绘的并且描述为计算设备100、300和600,以及控制器400的一部分的组件中的至少某些的附图标记的最后两个数字。这是为了帮助关联每一个的组件。
处理体系结构3000包括各种通常用于数字处理的元件,包括,但不仅限于,一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、计时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件、电源等等。如本申请中所使用的,术语“系统”和“组件”是指其中执行数字处理的计算设备的实体,该实体是硬件、硬件和软件的组合、软件,或执行中的软件,通过此所描绘的示例性处理体系结构提供了其示例。例如,组件可以是,但不仅限于是,在处理器组件上运行的进程、处理器组件本身、可以使用光学和/或磁存储介质的存储设备 (例如,硬盘驱动器、阵列中的多个存储驱动器等等)、软件对象、可执行的指令序列、执行的线程、程序,和/或整个计算设备(例如,整个计算机)。作为说明,在服务器上运行的应用和该服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算设备上和/或分布在两个或更多的计算设备之间。进一步地,组件可以通过各种类型的通信介质可通信地彼此耦合,以协调操作。协调可以涉及信息的单向或双向交换。例如,组件可以以通过通信介质传递的信号的形式来传递信息。信息可被实现为分配给一个或多个信号线的信号。消息 (包括命令、状态、地址或数据消息)可以是这样的信号中的一个,或可以是多个这样的信号,并可以通过各种连接和/或接口中的任何一种串行地或者基本上并行地传输。
如所描绘的,在实现处理体系结构3000时,计算设备至少包括处理器组件950、存储器960、到其他设备的接口990以及耦合955。如将说明的,取决于实现处理体系结构3000的计算设备的各方面,包括其计划的用途和 /或使用条件,这样的计算设备还可以包括额外的组件,诸如,但不仅限于,显示接口985。
耦合955包括一个或多个总线、点对点互连、收发机、缓冲器、交叉点交换机,和/或其他导体和/或可通信地将至少处理器组件950耦合到存储器960的逻辑。耦合955还可以进一步将处理器组件950耦合到接口990、音频子系统970和显示接口985中的一个或多个(取决于这些和/或其他组件中的哪一个也存在)。在处理器组件950通过耦合955如此耦合的情况下,处理器组件950能够执行上文详细地所描述的任务中的各种任务,对于上述的计算设备中的任何一个实现处理体系结构3000。耦合955可以利用用来以光学方式和/或以电的方式传输信号的各种技术中的任何一种或技术的组合来实现。进一步地,耦合955的至少某些部分可以使用符合各种行业标准中的任何一种的时间选择和/或协议,包括,但不仅限于,加速图形端口(AGP)、CardBus、扩展的工业标准体系结构(E-ISA)、微通道体系结构(MCA)、NuBus、外围组件互连(扩展的)(PCI-X)、PCI Express (PCI-E)、个人计算机存储器卡国际联合会(PCMCIA)总线、 HyperTransportTM、QuickPath等等。
如前面所讨论的,处理器组件950(对应于处理器组件150、350和650) 可以包括各种市场上销售的处理器中的任何一种,使用各种技术中的任何一种,并利用以若干种方式中的任何一种以物理方式组合的一个或多个核来实现。
如前面所讨论的,存储器960(对应于存储器160、360和660)可以基于各种技术中的任何一种或技术的组合,由一个或多个不同的存储设备构成。更具体而言,如所描绘的,存储器960可以包括易失性存储器961 (例如,基于RAM技术的一种或多种形式的固态存储器)、非易失性存储器962(例如,固态、铁磁或不要求电能的恒定供应以保留它们的内容的其他存储器),以及可移动介质存储器963(例如,可以用来在计算设备之间传输信息的可移动磁盘或固态存储器卡存储器)中的一个或多个。这种将存储器960描绘为可能包括多个不同类型的存储器是识别计算设备中的一个以上的类型的存储设备的常见的用途,其中,一种类型提供相对快速的读取和写入功能,能通过处理器组件950更快速地对数据进行操纵(但是可能使用不断地要求电能的“易失性”技术),而另一种类型提供比较高密度的非易失性存储器(但是,可能提供相对慢的读取和写入功能)。
给定使用不同的技术的不同的存储设备的不同的特征,这样的不同的存储设备通过不同的存储器控制器(这些存储器控制器通过不同的接口耦合到它们的不同的存储设备)耦合到计算设备的其他部分也是常见的。作为示例,在易失性存储器961存在并基于RAM技术的情况下,易失性存储器961可以通过提供合适的到易失性存储器961的接口的存储器控制器 965a(或许使用行和列寻址,并且其中存储器控制器965a可能执行行刷新和/或其他维护任务以帮助保留存储在易失性存储器961内的信息)可通信地耦合到耦合955。作为另一示例,在非易失性存储器962存在并包括一个或多个铁磁和/或固态磁盘驱动器的情况下,非易失性存储器962可以通过提供合适的到非易失性存储器962的接口的存储器控制器965b(或许使用对信息块和/或柱面和扇区的寻址)可通信地耦合到耦合955。作为再一个示例,在可移动介质存储器963存在并包括使用一个或多个机器可读的存储介质969的一个或多个光学和/或固态磁盘驱动器的情况下,可移动介质存储器963可以通过提供合适的到可移动介质存储器963的接口的存储器控制器965c(或许使用对信息块的寻址)可通信地耦合到耦合955,在存储器控制器965c可以以延长机器可读的存储介质969的寿命特定的方式协调读取、擦除和写入操作的情况下。
取决于每一个存储介质所采用的技术,易失性存储器961或非易失性存储器962中的某一个可以包括机器可读的存储介质的形式的制品,在其上面,可以存储包括可由处理器组件950执行的指令序列的例程。作为示例,在非易失性存储器962包括基于铁磁的磁盘驱动器(例如,所谓的“硬盘驱动器”)的情况下,每一个这样的磁盘驱动器通常都使用一个或多个旋转磁盘板,在磁盘板上面,沉积了磁性响应性粒子的涂层,并以各种模式以磁性方式定向,以近乎于诸如软盘之类的存储介质的方式存储诸如指令序列之类的信息。作为另一示例,非易失性存储器962可以由成排的固态存储设备构成,以近乎于紧凑闪存卡的方式来存储诸如指令序列之类的信息。在不同的时间在计算设备中使用不同类型的存储设备来存储可执行的例程和/或数据是常见的。如此,包括要由处理器组件950执行的指令序列的例程最初可以存储在机器可读的存储介质969中,可移动介质存储器 963随后可以用于将该例程复制到非易失性存储器962中,以便存储比较长的时间,不要求机器可读的存储介质969和/或易失性存储器961的持续存在,以便在执行该例程时,由处理器组件950更快速地访问。
如前面所讨论的,接口990(可能对应于接口190、390或690)可以使用对应于可以用于可通信地将计算设备耦合到一个或多个其他设备的各种通信技术中的任何一种的各种信令技术中的任何一种。可以使用各种形式的有线或无线信令中的一种或两种来使处理器组件950与输入/输出设备 (例如,所描绘的示例键盘920或打印机925)和/或其他计算设备进行交互(可能通过网络(例如,网络999)或网络的互连组)。在识别常常必须由任何一个计算设备支持的多种类型的信令和/或协议的显著不同的特征时,接口990被描绘成包括多个不同的接口控制器995a、995b和995c。接口控制器995a可以使用各种类型的有线数字串行接口或射频无线接口中的任何一种来从用户输入设备(诸如所描绘的键盘920)接收串行传输的消息。接口控制器995b可以通过所描绘的网络999(或许由一个或多个链路、较小的网络构成的网络,或或许因特网)使用各种基于电缆或无线信令、时间选择和/或协议中的任何一种来访问其他计算设备。接口995c可以使用允许使用串行或并行信号传输来将数据传输到所描绘的打印机925的各种导电电缆中的任何一种。可以通过接口990的一个或多个接口控制器可通信地耦合的设备的其他示例包括,但不仅限于,话筒、遥控器、指示笔、读卡器、指纹读取器、虚拟现实交互手套、图形输入平板、操纵杆、其他键盘、视网膜扫描仪、触摸屏的接触输入组件、轨迹球、各种传感器、照相机或照相机阵列,以监测人的移动,以接受那些人通过手势和/或面部表情发出的命令和/或数据、激光打印机、喷墨打印机、机械机器人、铣床等等。
在计算设备可通信地耦合到(或或许,实际包括)显示器(例如,所描绘的示例显示器980,对应于显示器380或680)的情况下,实现处理体系结构3000的这样的计算设备也可以包括显示接口985。虽然在可通信地耦合到显示器时可以使用更一般化的类型的接口,但是,在显示器上在视觉上显示各种形式的内容常常要求的有点专业化的另外的处理,以及所使用的基于电缆的接口的有点专业化的本质,常常使供应不同的显示接口合乎需要。可以被显示接口985用于显示器980的通信耦合的有线和/或无线信令技术可以利用符合各种行业标准中的任何一种的信令和/或协议,包括,但不仅限于,各种模拟视频接口中的任何一种,数字视频接口(DVI)、 DisplayPort等等。
图13示出了系统4000的实施例。在各种实施例中,系统4000可以表示适合用于此处所描述的一个或多个实施例的系统或体系结构,诸如视频代码转换系统1000;计算设备100、300、500a-d或700中的一个或多个;和/或逻辑流程2100或2200中的一个或两个。在这一方面,实施例不受限制。
如图所示,系统4000可以包括多个元件。根据给定设计或性能约束组的需要,可以使用一个或多个电路、组件、寄存器、处理器、软件子例程、模块,或其任何组合来实现一个或多个元件。虽然此图作为示例示出了某一拓扑的数量有限的元件,但是,可以理解,根据对于给定实现的需要,可以在系统4000中使用任何合适的拓扑的多一些或少一些元件。在此上下文中,实施例不受限制。
在各实施例中,系统4000可以是媒体系统,虽然系统4000不仅限于此上下文。例如,系统4000可以集成到个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上电脑、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA的组合、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动因特网设备(MID)、消息接发设备、数据通信设备等等。
在各实施例中,系统4000包括耦合到显示器4980的平台4900a。平台 4900a可以从诸如内容服务设备4900c、或内容递送设备4900d之类的内容设备或其他类似的内容源接收内容。包括一个或多个导航特征的导航控制器4920可以被用来与例如平台4900a和/或显示器4980进行交互。在下文中更详细地描述这些组件中的每一个。
在各实施例中,平台4900a可以包括处理器组件4950、芯片组4955、存储器单元4969、收发机4995、存储器4962、应用4940,和/或图形子系统4985的任何组合。芯片组4955可以在处理器电路4950、存储器单元4969、收发机4995、存储器4962、应用4940,和/或图形子系统4985之间提供相互通信。例如,芯片组4955可以包括能够与存储4962进行相互通信的存储器适配器(未描绘)。
处理器组件4950可以使用任何处理器或逻辑设备来实现,并可以与图 12的处理器组件350或550和/或处理器组件950中的一个或多个相同或类似。
存储器单元4969可以使用能够存储数据的任何机器可读的或计算机可读介质来实现,并可以与图12的存储介质969相同或类似。
收发机4995可以包括能够使用各种合适的无线通信技术,传输和接收信号的一个或多个无线装置,并可以与图12中的收发机995b相同或类似。
显示器4980可以包括任何电视机类型监视器或显示器,并可以与图 12中的显示器380和/或显示器980相同或类似。
存储器4962可以实现为非易失性存储器设备,并可以与图12中的非易失性存储器962相同或类似。
图形子系统4985可以对诸如静止图像或视频之类的图像执行处理,供显示。图形子系统4985可以是,例如,图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以被用来可通信地耦合图形子系统4985 和显示器4980。例如,接口可以是高清晰度多媒体接口、显示端口 (DisplayPort)、无线HDMI,和/或遵循无线HD的技术中的任何一个。图形子系统4985可以被集成到处理器电路4950或芯片组4955中。图形子系统4985可以可通信地耦合到芯片组4955的独立卡。
此处所描述的图形和/或视频处理技术可以以各种硬件体系结构来实现。例如,图形和/或视频功能可以集成在芯片组内。替代地,可以使用单独的图形和/或视频处理器。作为再一个实施例,图形和/或视频功能可以通过通用处理器(包括多核处理器)来实现。在又一实施例中,功能可以在消费电子产品中实现。
在各实施例中,内容服务设备4900b可以由任何国家的,国际的和/或独立的服务,并由此可以被平台4900a例如通过因特网来访问。内容服务设备4900b可以耦合到平台4900a和/或显示器4980。平台4900a和/或内容服务设备4900b可以耦合到网络4999以往返于网络4999进行通信(例如,发送和/或接收)媒体信息。内容递送设备4900c可以耦合到平台4900a和/ 或显示器4980。
在各实施例中,内容服务设备4900b可以包括有线电视盒、个人计算机、网络、电话、启用因特网的设备或能够分发数字信息和/或内容的电器,以及能够通过网络4999或直接在内容提供商和平台4900a和/或显示器 4980之间单方向地或双向地传递内容的任何其他类似的设备。可以理解,内容可以通过网络4999往返于系统4000中的组件中的任何一个和内容提供商单向地和/或双向地传递。内容的示例可以包括任何媒体信息,包括,例如,视频、音乐、医学和游戏信息等等。
内容递送设备4900b接收内容,诸如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供商的示例可以包括任何有线或卫星电视或电台或因特网内容提供商。所提供的示例不限制各实施例。
在各实施例中,平台4900a可以从具有一个或多个导航特征的导航控制器4920接收控制信号。导航控制器4920的导航特征可以被用来例如与用户界面4880进行交互。在各实施例中,导航控制器4920可以是指示设备,该指示设备可以是计算机硬件组件(具体地,人机接口设备),可使用户向计算机中输入空间(例如,连续的和多维)数据。诸如图形用户界面(GUI)、电视机和监视器之类的许多系统可使用户使用物理手势控制并向计算机或电视机提供数据。
导航控制器4920的导航特征的移动可以通过指针、光标、焦点环,或显示在显示器上的其他可视指示器,在显示器(例如,显示器4980)上反射。例如,在软件应用4940的控制下,位于导航控制器4920上的导航特征可以被映射到用户界面4880上显示的虚拟导航特征。在各实施例中,导航控制器4920可以不是单独的组件,而是集成到平台4900a和/或显示器 4980中。然而,各实施例不仅限于此处所示出的或所描述的上下文中的元件。
在各实施例中,驱动程序(未示出)可以包括允许用户立即打开和关闭平台4900a的技术,类似于电视机,例如,当启用时,在初始引导之后,按下按钮。程序逻辑可以允许平台4900a当平台被“关闭”时向媒体适配器或其他内容服务设备4900b或内容递送设备4900c流送内容。另外,芯片组4955还可以包括,例如,对于5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动程序可以包括集成的图形平台的图形驱动程序。在各实施例中,图形驱动程序可以包括外围组件互连(PCI)Express 图形卡。
在各种实施例中,可以集成系统4000所示出的组件的任何一个或更多。例如,可以集成平台4900a和内容服务设备4900b,或者也可以集成平台4900a和内容递送设备4900c,或者,例如,也可以集成平台4900a、内容服务设备4900b,以及内容递送设备4900c。在各种实施例中,平台4900a 和显示器4890可以是集成单元。例如,可以集成显示器4980和内容服务设备4900b,或者也可以集成显示器4980和内容递送设备4900c。这些示例不限制各实施例。
在各种实施例中,系统4000可以实现为无线系统、有线系统,或两者的组合。当实现为无线系统时,系统4000可以包括适用于通过无线共享介质进行通信的组件和接口,诸如一个或多个天线、发射器、接收器、收发机、放大器、滤波器、控制逻辑等等。无线共享介质的示例可以包括诸如 RF频谱之类的无线范围的某些部分等等。当实现为有线系统时,系统4000 可以包括适用于通过有线通信介质进行通信的组件和接口,诸如I/O适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡 (NIC)、光盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可包括,线路、电缆、金属导线、印刷电路板(PCB)、后面板、交换机结构、半导体材料、双绞线、同轴电缆、光纤等等。
平台4900a可以建立一个或多个逻辑或物理信道以传递信息。信息可以包括媒体信息和控制信息。媒体信息可以是指表示给用户的内容的任何数据。内容的示例可以包括,例如,来自语音谈话、视频会议、流式视频、电子邮件消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音谈话的数据可以是,例如,语音信息、静默时间长度、背景噪声、舒适噪声、音调等等。控制信息可以是指表示用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用来通过系统路由媒体信息,或指示节点以预先确定的方式处理媒体信息。然而,各实施例不仅限于图13中所示出的或所描述的上下文中的元件。
如上文所描述的,系统4000可以以不同的物理样式或形状因子来体现。图14示出了其中可以实现系统4000的小形状因子设备5000的各实施例。在各实施例中,例如,设备5000可以实现为具有无线能力的移动计算设备。移动计算设备可以是指具有处理系统和移动电源(诸如,例如,一个或多个电池)的任何设备。
如上文所描述的,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上电脑、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA 的组合、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动因特网设备(MID)、消息传送设备、数据通信设备等等。
移动计算设备的示例还可以包括被配置为由人佩带的计算机,诸如腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带计算机、臂带计算机、鞋计算机、衣服计算机,及其他可佩带的计算机。例如,在各实施例中,移动计算设备可以实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。虽然可以利用作为示例实现为智能电话的移动计算设备描述一些实施例,但是,可以理解,其他实施例也可以使用其他无线移动计算设备来实现。在此上下文中,实施例不受限制。
如图14所示,设备5000可以包括显示器5980、导航控制器5920a、用户界面5880、外壳5905、I/O设备5920b,以及天线5998。显示器5980 可以包括用于显示适合于移动计算设备的任何合适的显示单元,并可以与图13中的显示器4980相同或类似。导航控制器5920a可以包括一个或多个导航特征,这些导航特征可以被用来与用户界面5880进行交互,并可以与图13中的导航控制器4920相同或类似。I/O设备5920b可以包括用于向移动计算设备中输入信息的任何合适的I/O设备。I/O设备5920b的示例可以包括字母数字键盘、数字键区、触摸板、输入键、按钮、开关、往复式开关、话筒、扬声器、语音识别设备以及软件等等。信息还可以通过话筒输入到设备5000中。这样的信息可以通过语音识别设备来数字化。在此上下文中,实施例不受限制。
更一般而言,此处所描述的和所描绘的计算设备的各种元件可以包括各种硬件元件、软件元件,或两者的组合。硬件元件的示例可包括器件、逻辑器件、组件、处理器、微处理器、电路、处理器组件、电路元件(例如,晶体管、电阻器、电容器、感应器等等)、集成电路、专用集成电路 (ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等等。软件元件的示例可包括软件组件、程序、应用、计算机程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。然而,判断一个实施例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及其他设计或性能约束,如根据需要给定实现的需要。
可以使用表达“一个实施例”或“实施例”以及它们的派生词来描述某些实施例。这些术语意味着,参考实施例所描述的特定功能、结构或特征包括在至少一个实施例中。在本说明书中的不同位置出现短语“在一个实施例中”不一定都是指同一个实施例。进一步地,可以使用表达“耦合”和“连接”以及它们的派生词来描述某些实施例。这些术语不一定作为彼此的同义词。例如,可以使用术语“连接”和/或“耦合”来描述某些实施例,以指出两个或更多元件彼此处于直接的物理或电接触的状态。然而,术语“耦合”也可以意味着,两个或更多彼此不直接接触,但是仍彼此合作或进行交互。此外,来自不同的实施例的各方面或元件还可以组合。
值得强调的是,提供“摘要”以使读者快速地弄清一技术公开的本质。但应理解,它不能被用来解释或限制权利要求的范围或含义。此外,在前面的"具体实施方式"中,可以看出,各种特点可以组合在一个实施例中,以便简化说明。本发明的此方法不应被解释为反映带权利要求的各实施例需要比每一个权利要求中明确地列举的特点更多的特点的意图。相反,如下面的权利要求所反映的,本发明的主题在于少于所公开的单一实施例的所有特点。如此,下面的权利要求被包括到“具体实施方式”,每一个权利要求本身也作为单独的实施例。在所附权利要求书中,术语“包括”和“其特征在于”被用作相应的术语“包含”和“其中”的普通英语等效词。此外,术语“第一”、“第二”、“第三”等等只用作标记,并不旨在对它们的对象施加数值要求。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。详细的公开现在转向提供涉及进一步的实施例。下面所提供的示例不旨在是限制性的。
用于协调并行视频代码转换的设备的示例包括处理器组件,以及,供所述处理器组件执行以判断总的当前比特率是否保持在并行地使用多个从属设备来对原始视频数据的多个段进行代码转换以生成已经代码转换的视频数据的比特率的目标范围之内的监测组件,所述总的当前比特率从由所述多个从属设备在对所述多个段进行代码转换时执行的视频压缩的当前比特率的总和而导出。
上面的设备示例包括调节组件,该调节组件供处理器组件执行,用于响应于总的当前比特率不保持在目标范围之内,指示多个从属设备中的一个从属设备进入应急模式,以改变由从属设备在对多个段中的一个段进行代码转换时执行的视频压缩的当前比特率。
在设备的上面的示例中的任何一个中,所述应急模式导致所述从属设备在视频压缩时利用替换的量化参数来替换主要量化参数的使用。
在设备的上面的示例中的任何一个中,设备包括供处理器组件执行的分析组件,用于在从属设备代码转换段之前向从属设备提供主要量化参数和替换的量化参数。
在设备的上面的示例中的任何一个中,所述分析组件将从对至少所述段的分析导出所述主要量化参数和所述替换的量化参数中的一个。
在设备的上面的示例中的任何一个中,监测组件将判断总的当前比特率是否偏离代码转换多个段的指定的目标比特率,以及,所述调节组件响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的调节的值指示所述多个从属设备中的一个从属设备,以动态地改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
在设备的上面的示例中的任何一个中,设备包括拆分组件,用于将所述原始视频数据分割为所述多个段并将所述多个段中的每一个段提供到所述多个从属设备中的一个从属设备。
在设备的上面的示例中的任何一个中,设备包括组装组件,用于在由所述多个从属设备对所述原始视频数据的所述多个段的代码转换以生成所述已经代码转换的视频数据之后,组合从所述多个从属设备接收到的所述已经代码转换的视频数据的多个段。
在设备的上面的示例中的任何一个中,设备包括显示器、在显示器上在视觉上呈现已经代码转换的视频数据的处理器组件。
协调并行视频代码转换的另一设备的示例包括处理器组件,以及,供所述处理器组件执行的监测组件,用于判断总的当前比特率是否偏离并行地使用多个从属设备来对原始视频数据的多个段进行代码转换以生成已经代码转换的视频数据的指定的目标比特率的,所述总的当前比特率从由所述多个从属设备在对所述多个段进行代码转换时执行的视频压缩的当前比特率的总和而导出。
在另一设备的上面的示例中,设备包括响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的调节的值指示所述多个从属设备中的一个从属设备,以动态地改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
在另一设备的上面的示例任何一个中,设备包括供处理器组件执行以在从属设备代码转换段之前向从属设备提供主要量化参数和替换的量化参数的分析组件。
在另一设备的上面的示例中的任何一个中,所述分析组件将从对至少所述段的分析导出所述主要量化参数。
在另一设备的上面的示例中的任何一个中,监测组件将判断总的当前比特率是否保持在对多个段进行代码转换的指定的比特率的目标范围之内,以及,所述调节组件响应于所述总的当前比特率不保持在所述目标比特率之内,指示所述多个从属设备中的一个从属设备进入应急模式,以在对所述多个段中的一个段进行代码转换时,改变由所述从属设备执行的视频压缩的当前比特率。
在另一设备的上面的示例中的任何一个中,设备包括拆分组件,用于将所述原始视频数据分割为所述多个段并将所述多个段中的每一个段提供到所述多个从属设备中的一个从属设备。
在另一设备的上面的示例中的任何一个中,设备包括组装组件,用于在由所述多个从属设备对所述原始视频数据的所述多个段的代码转换以生成所述已经代码转换的视频数据之后,组合从所述多个从属设备接收到的所述已经代码转换的视频数据的多个段。
在另一设备的上面的示例中的任何一个中,设备包括显示器、在显示器上在视觉上呈现经代码转换的视频数据的处理器组件。
在另一设备的上面的示例中的任何一个中,设备包括将处理器组件耦合到网络的接口,以及,供处理器组件执行以通过网络将经代码转换的视频数据传输到计算设备的通信组件。
一种用于协调并行视频代码转换的计算机实现的方法的示例包括从由多个从属设备在对原始视频数据的多个段进行代码转换时执行的视频压缩的当前比特率的总和导出总的当前比特率,以及,判断总的当前比特率是否保持在并行地使用多个从属设备来对原始视频数据的多个段进行代码转换以生成已经代码转换的视频数据的比特率的目标范围之内。
在计算机实现的方法的上面的示例中,方法包括响应于总的当前比特率不保持在目标范围之内,指示多个从属设备中的一个从属设备进入应急模式,以改变由从属设备在对多个段中的一个段进行代码转换时执行的视频压缩的当前比特率。
在计算机实现的方法的上面的示例中的任何一个中,所述应急模式导致所述从属设备在视频压缩时利用替换的量化参数来替换主要量化参数的使用。
在计算机实现的方法的上面的示例中的任何一个中,方法包括在从属设备代码转换段之前利用主要量化参数和替换的量化参数来指示从属设备。
在计算机实现的方法的上面的示例中,方法包括通过经由网络向从属设备传输第一分组来指示从属设备进入应急模式,以及,通过经由所述网络向所述从属设备传输第二分组,利用所述主要量化参数和所述替换的量化参数来指示所述从属设备,所述第二分组大于所述第一分组,并包括数据有效负载,所述数据有效负载包括所述主要量化参数和所述替换的量化参数的值的指示。
在计算机实现的方法的上面的示例中的任何一个中,方法包括根据对至少所述段的分析导出所述主要量化参数和所述替换的量化参数中的一个。
在计算机实现的方法的上面的示例中的任何一个中,方法包括判断总的当前比特率是否偏离对多个段进行代码转换的指定的目标比特率,以及,响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的经调节的值,指示所述多个从属设备中的一个从属设备,以在对所述多个段中的一个段进行代码转换时,动态地改变由所述从属设备执行的视频压缩的当前比特率。
在计算机实现的方法的上面的示例中的任何一个中,方法包括将所述原始视频数据分割为所述多个段,以及将所述多个段中的每一个段提供给所述多个从属设备中的一个从属设备。
在计算机实现的方法的上面的示例中的任何一个中,方法包括在由所述多个从属设备对所述原始视频数据的所述多个段的代码转换以生成所述已经代码转换的视频数据之后,组合从所述多个从属设备接收到的所述已经代码转换的视频数据的多个段。
在计算机实现的方法的上面的示例中的任何一个中,方法包括在显示器上在视觉上呈现已经代码转换的视频数据或将已经代码转换的视频数据传输到计算设备中的一项。
一种用于协调并行视频代码转换的设备的示例包括用于执行计算机实现的方法的上面的示例中的任何一个的装置。
至少一个机器可读的存储介质的示例包括指令,所述指令,当由计算设备执行时,导致计算设备执行计算机实现的方法的上面的示例中的任何一个。
一种用于协调并行视频代码转换的另一计算机实现的方法的示例包括从由多个从属设备在对原始视频数据的多个段进行代码转换时执行的视频压缩的当前比特率的总和导出总的当前比特率,以及,判断所述总的当前比特率是否偏离并行地使用所述多个从属设备来对所述多个段进行代码转换以生成已经代码转换的视频数据的指定的目标比特率。
在另一计算机实现的方法的上面的示例中,方法包括响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的调节的值,指示所述多个从属设备中的一个从属设备,以在对所述多个段中的一个段进行代码转换时,动态地改变由所述从属设备执行的视频压缩的当前比特率。
在另一计算机实现的方法的上面的示例中的任何一个中,方法包括在从属设备对段进行代码转换之前向从属设备提供主要量化参数。
在另一计算机实现的方法的上面的示例中的任何一个中,方法包括从对至少所述段的分析导出所述主要量化参数。
在另一计算机实现的方法的上面的示例中的任何一个中,方法包括判断总的当前比特率是否保持在对段进行代码转换的比特率的目标范围之内,以及,响应于所述总的当前比特率不保持在所述目标范围之内,指示所述多个从属设备中的一个从属设备进入应急模式,以在对所述多个段中的一个段进行代码转换时,改变由所述从属设备执行的视频压缩的当前比特率。
在另一计算机实现的方法的上面的示例中的任何一个中,方法包括将所述原始视频数据分割为所述多个段,以及将所述多个段中的每一个段提供到所述多个从属设备中的一个从属设备。
在另一计算机实现的方法的上面的示例中的任何一个中,方法包括在由所述多个从属设备对所述原始视频数据的所述多个段的代码转换以生成所述已经代码转换的视频数据之后,组合从所述多个从属设备接收到的所述已经代码转换的视频数据的多个段。
在另一计算机实现的方法的上面的示例中的任何一个中,方法包括在显示器上在视觉上呈现经代码转换的视频数据或将经代码转换的视频数据传输到计算设备中的一项。
一种用于协调并行视频代码转换的另一设备的示例包括用于执行另一计算机实现的方法的上面的示例中的任何一个的装置。
至少一个机器可读的存储介质的另一示例包括指令,所述指令,当由计算设备执行时,导致计算设备执行另一计算机实现的方法的上面的示例中的任何一个。
至少一个机器可读的存储介质的示例包括指令,所述指令,当由计算设备执行时,导致计算设备判断总的当前比特率是否保持在并行地使用多个从属设备来对原始视频数据的多个段进行代码转换以生成经代码转换的视频数据的比特率的目标范围之内,从由所述多个从属设备在对所述多个段进行代码转换时执行的视频压缩的当前比特率的总和导出所述总的当前比特率。
在至少一个机器可读的存储介质的上面的示例中,使计算设备响应于总的当前比特率不保持在目标范围之内,指示多个从属设备中的一个从属设备进入应急模式,以改变由从属设备在对多个段中的一个段进行代码转换时执行的视频压缩的当前比特率。
在至少一个机器可读的存储介质的上面的示例中的任何一个中,所述应急模式导致所述从属设备在视频压缩时利用替换的量化参数来替换主要量化参数的使用。
在至少一个机器可读的存储介质的上面的示例中的任何一个中,使计算设备判断总的当前比特率是否偏离代码转换多个段的指定的目标比特率,以及,响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的调节的值,指示所述多个从属设备中的一个从属设备,以在对所述多个段中的一个段进行代码转换时,动态地改变由所述从属设备执行的视频压缩的当前比特率。
在至少一个机器可读的存储介质的上面的示例中的任何一个中,使计算设备在显示器上在视觉上呈现经代码转换的视频数据,或者,将经代码转换的视频数据传输到另一计算设备。
至少一个机器可读的存储介质的另一示例包括指令,所述指令,当由计算设备执行时,导致计算设备判断总的当前比特率是否偏离并行地使用多个从属设备来对原始视频数据的多个段进行代码转换以生成已经代码转换的视频数据的指定的目标比特率,从由所述多个从属设备在对所述多个段进行代码转换时执行的视频压缩的当前比特率的总和导出所述总的当前比特率。
在至少一个机器可读的存储介质的上面的其他示例中,使计算设备响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的调节的值,指示所述多个从属设备中的一个从属设备,以在对所述多个段中的一个段进行代码转换时,动态地改变由所述从属设备执行的视频压缩的当前比特率。
在至少一个机器可读的存储介质的上面的其他示例中的任何一个中,使计算设备判断总的当前比特率是否保持在对多个段进行代码转换的比特率的目标范围之内,以及,响应于所述总的当前比特率不保持在所述目标范围之内,指示所述多个从属设备中的一个从属设备进入应急模式,以在对所述多个段中的一个段进行代码转换时,改变由所述从属设备执行的视频压缩的当前比特率。
在至少一个机器可读的存储介质的上面的其他示例中的任何一个中,使计算设备在显示器上在视觉上呈现经代码转换的视频数据,或者,将经代码转换的视频数据传输到另一计算设备。
Claims (23)
1.一种用于协调并行视频代码转换的设备,包括:
处理器组件;
供所述处理器组件执行的监测组件,用于判断总的当前比特率是否保持在并行地使用多个从属设备来对原始视频数据的多个段进行代码转换以生成经代码转换的视频数据的比特率的目标范围之内,所述总的当前比特率从由所述多个从属设备在对所述多个段进行代码转换时执行的视频压缩的当前比特率的总和而导出;以及
供所述处理器组件执行的调节组件,用于响应于所述总的当前比特率未保持在所述目标范围之内,指示所述多个从属设备中的一个从属设备进入应急模式以改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
2.如权利要求1所述的设备,其特征在于,所述应急模式导致所述从属设备在视频压缩时利用替换的量化参数来替换主要量化参数的使用。
3.如权利要求2所述的设备,其特征在于,包括供所述处理器组件执行的分析组件,用于在所述从属设备对所述段进行代码转换之前向所述从属设备提供所述主要量化参数和所述替换的量化参数。
4.如权利要求3所述的设备,其特征在于,所述分析组件用于从对至少所述段的分析导出所述主要量化参数和所述替换的量化参数中的一个。
5.如权利要求1所述的设备,其特征在于,所述监测组件用于判断所述总的当前比特率是否偏离用于对所述多个段进行代码转换的指定的目标比特率,以及所述调节组件用于,响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的调节的值指示所述多个从属设备中的一个从属设备,以动态地改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
6.如权利要求1所述的设备,其特征在于,包括拆分组件,用于将所述原始视频数据分割为所述多个段并将所述多个段中的每一个段提供到所述多个从属设备中的从属设备。
7.如权利要求6所述的设备,其特征在于,包括组装组件,用于在由所述多个从属设备对所述原始视频数据的所述多个段进行代码转换以生成所述经代码转换的视频数据之后,组合从所述多个从属设备接收到的所述经代码转换的视频数据的多个段。
8.一种用于协调并行视频代码转换的计算机实现的方法,包括:
从由多个从属设备在对原始视频数据的多个段进行代码转换时执行的视频压缩的当前比特率的总和导出总的当前比特率;
判断总的当前比特率是否保持在并行地使用多个从属设备来对原始视频数据的多个段进行代码转换以生成经代码转换的视频数据的比特率的目标范围之内;以及
响应于所述总的当前比特率未保持在所述目标范围之内,指示所述多个从属设备中的一个从属设备进入应急模式,以改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
9.如权利要求8所述的计算机实现的方法,其特征在于,所述应急模式导致所述从属设备在视频压缩时利用替换的量化参数来替换主要量化参数的使用。
10.如权利要求9所述的计算机实现的方法,其特征在于,包括在所述从属设备对所述段进行代码转换之前,利用所述主要量化参数和所述替换的量化参数来指示所述从属设备。
11.如权利要求10所述的计算机实现的方法,其特征在于,包括:
通过经由网络向所述从属设备传输第一分组,指示所述从属设备进入所述应急模式;以及
通过经由所述网络向所述从属设备传输第二分组,利用所述主要量化参数和所述替换的量化参数来指示所述从属设备,所述第二分组大于所述第一分组,并包括数据有效负载,所述数据有效负载包括所述主要量化参数和所述替换的量化参数的值的指示。
12.如权利要求10所述的计算机实现的方法,其特征在于,包括根据对至少所述段的分析导出所述主要量化参数和所述替换的量化参数中的一个。
13.如权利要求8所述的计算机实现的方法,其特征在于,包括:
判断所述总的当前比特率是否偏离用于对所述多个段进行代码转换的指定的目标比特率;以及
响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的经调节的值指示所述多个从属设备中的从属设备,以动态地改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
14.一种用于协调并行视频代码转换的设备,包括:
处理器组件;
供所述处理器组件执行的监测组件,用于判断总的当前比特率是否偏离并行地使用多个从属设备来对原始视频数据的多个段进行代码转换以生成经代码转换的视频数据的指定的目标比特率,所述总的当前比特率从由所述多个从属设备在对所述多个段进行代码转换时执行的视频压缩的当前比特率的总和而导出;以及
调节组件,用于响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的调节的值指示所述多个从属设备中的一个从属设备,以动态地改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
15.如权利要求14所述的设备,其特征在于,包括供所述处理器组件执行的分析组件,用于在所述从属设备对所述段进行代码转换之前向所述从属设备提供所述主要量化参数。
16.如权利要求15所述的设备,其特征在于,所述分析组件从对至少所述段的分析导出所述主要量化参数。
17.如权利要求14所述的设备,其特征在于,所述监测组件判断所述总的当前比特率是否保持在对所述多个段进行代码转换的比特率的目标范围之内,所述调节组件响应于所述总的当前比特率不保持在所述目标比特率之内,指示所述多个从属设备中的从属设备进入应急模式,以改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
18.一种用于协调并行视频代码转换的计算机实现的方法,包括:
从由多个从属设备在对原始视频数据的多个段进行代码转换时执行的视频压缩的当前比特率的总和导出总的当前比特率;
判断所述总的当前比特率是否偏离并行地使用所述多个从属设备来对所述多个段进行代码转换以生成经代码转换的视频数据的指定的目标比特率;以及
响应于所述总的当前比特率偏离所述指定的目标比特率,利用主要量化参数的经调节的值指示所述多个从属设备中的从属设备,以动态地改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
19.如权利要求18所述的计算机实现的方法,其特征在于,包括在所述从属设备对所述段进行代码转换之前,将所述主要量化参数提供给所述从属设备。
20.如权利要求19所述的计算机实现的方法,其特征在于,包括根据对至少所述段的分析,导出所述主要量化参数。
21.如权利要求18所述的计算机实现的方法,其特征在于,包括:
判断所述总的当前比特率是否保持在用于对所述多个段进行代码转换的比特率的目标范围之内;以及
响应于所述总的当前比特率未保持在所述目标范围之内,指示所述多个从属设备中的从属设备进入应急模式,以改变在对所述多个段中的一个段进行代码转换时由所述从属设备执行的视频压缩的当前比特率。
22.一种或多种其上存储有指令的计算机可读介质,所述指令当由计算机处理器执行时使所述处理器执行如权利要求8至13或18至21中任一项所述的方法。
23.一种用于协调并行视频代码转换的设备,包括用于执行如权利要求8至13或18至21中任一项所述的方法的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/871,478 US20140321532A1 (en) | 2013-04-26 | 2013-04-26 | Techniques for coordinating parallel video transcoding |
US13/871,478 | 2013-04-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104125465A CN104125465A (zh) | 2014-10-29 |
CN104125465B true CN104125465B (zh) | 2018-08-03 |
Family
ID=51770710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410175143.6A Expired - Fee Related CN104125465B (zh) | 2013-04-26 | 2014-04-28 | 用于协调并行视频代码转换的技术 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140321532A1 (zh) |
CN (1) | CN104125465B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9118670B2 (en) * | 2013-08-30 | 2015-08-25 | U-Me Holdings LLC | Making a user's data, settings, and licensed content available in the cloud |
US10715833B2 (en) * | 2014-05-28 | 2020-07-14 | Apple Inc. | Adaptive syntax grouping and compression in video data using a default value and an exception value |
JP2016019140A (ja) * | 2014-07-08 | 2016-02-01 | 富士通株式会社 | コンテンツ転送方法、コンテンツ転送装置、コンテンツ受信装置およびコンテンツ転送プログラム |
US10873781B2 (en) | 2017-06-13 | 2020-12-22 | Comcast Cable Communications, Llc | Video fragment file processing |
US10798393B2 (en) * | 2018-07-09 | 2020-10-06 | Hulu, LLC | Two pass chunk parallel transcoding process |
CN109471715B (zh) * | 2018-09-17 | 2021-10-29 | 咪咕视讯科技有限公司 | 一种转码任务的调度方法、装置及存储介质 |
CN111757118B (zh) | 2020-06-29 | 2023-04-21 | 北京百度网讯科技有限公司 | 视频转码处理方法、装置、设备和介质 |
CN112333447A (zh) * | 2020-11-02 | 2021-02-05 | 上海网达软件股份有限公司 | 音视频转码方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101253777A (zh) * | 2005-07-01 | 2008-08-27 | 极速决件公司 | 用于在多媒体信号编码中使用的方法、装置和系统 |
CN102318345A (zh) * | 2009-02-27 | 2012-01-11 | 富士通株式会社 | 动态图像编码装置、动态图像编码方法以及动态图像编码用计算机程序 |
CN102986211A (zh) * | 2010-04-15 | 2013-03-20 | 德克萨斯仪器股份有限公司 | 视频编码中的速率控制 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005176069A (ja) * | 2003-12-12 | 2005-06-30 | Ntt Data Corp | 分散並列トランスコーダシステム及び分散並列トランスコード方法 |
US7974193B2 (en) * | 2005-04-08 | 2011-07-05 | Qualcomm Incorporated | Methods and systems for resizing multimedia content based on quality and rate information |
US8928804B2 (en) * | 2012-11-19 | 2015-01-06 | Broadcom Corporation | Managing encoder parameters for parallel transcoding |
-
2013
- 2013-04-26 US US13/871,478 patent/US20140321532A1/en not_active Abandoned
-
2014
- 2014-04-28 CN CN201410175143.6A patent/CN104125465B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101253777A (zh) * | 2005-07-01 | 2008-08-27 | 极速决件公司 | 用于在多媒体信号编码中使用的方法、装置和系统 |
CN102318345A (zh) * | 2009-02-27 | 2012-01-11 | 富士通株式会社 | 动态图像编码装置、动态图像编码方法以及动态图像编码用计算机程序 |
CN102986211A (zh) * | 2010-04-15 | 2013-03-20 | 德克萨斯仪器股份有限公司 | 视频编码中的速率控制 |
Also Published As
Publication number | Publication date |
---|---|
US20140321532A1 (en) | 2014-10-30 |
CN104125465A (zh) | 2014-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104125465B (zh) | 用于协调并行视频代码转换的技术 | |
KR102578967B1 (ko) | 단대단 신경망 기반 비디오 코딩 | |
CN105917649B (zh) | 用于将兴趣区域指示包括在压缩视频数据中的设备及方法 | |
CN103577269A (zh) | 媒体工作负荷调度器 | |
CN109997154A (zh) | 信息处理方法及终端设备 | |
US20150023669A1 (en) | Techniques for low power visual light communication | |
US9992500B2 (en) | Techniques for evaluating compressed motion video quality | |
CN109643456A (zh) | 图像压缩方法与设备 | |
CN104284187B (zh) | 在压缩视频数据中包括缩略图的方法、设备、系统及存储介质 | |
US11212540B2 (en) | Video data processing system | |
US20160140428A1 (en) | Electronic device, method of displaying code, and recording medium | |
CN111881927A (zh) | 电子装置及其图像处理方法 | |
CN106664409A (zh) | 视频编码中的黄金帧选择 | |
US9412057B2 (en) | Electronic device, method of displaying two-dimensional code, and recording medium with program recorded thereon | |
GB2516124A (en) | Optimizing video transfer | |
CN109923860A (zh) | 量化参数确定和分层代码化 | |
US20210279589A1 (en) | Electronic device and control method thereof | |
US9204150B2 (en) | Techniques for evaluating compressed motion video quality | |
WO2023122132A2 (en) | Video and feature coding for multi-task machine learning | |
US20150043653A1 (en) | Techniques for low power video compression and transmission | |
US11475281B2 (en) | Electronic apparatus and control method thereof | |
CN108027715A (zh) | 图形命令令牌的修改 | |
EP3635953B1 (en) | Electronic device for high-speed compression processing of feature map of cnn utilizing system and controlling method thereof | |
KR20240050435A (ko) | 조건부 이미지 압축 | |
CN115427972A (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 | ||
C53 | Correction of patent for invention or patent application | ||
CB03 | Change of inventor or designer information |
Inventor after: D Gart Inventor after: A Pengtamu Rebecca Inventor after: RUMALE, VINUTHA Inventor after: GHAT, DEVADUTTA Inventor before: Ghat Devadutta Inventor before: TIDKE, HIMANI D. Inventor before: RUMALE, VINUTHA Inventor before: GHAT, DEVADUTTA |
|
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180803 Termination date: 20190428 |