编码器以及用于编码的方法

文档序号:7559632阅读:159来源:国知局
专利名称:编码器以及用于编码的方法
技术领域
本发明涉及编码器以及用于编码的方法。
背景技术
可以以数字编码数据的形式对信息,如音频和视觉信息,加以利用。可以将单个静止画面看作映射到栅格上的模拟图像的例子,这里称之为“帧”。可以用多个帧表示运动的画面。根据需要的显示格式,静止的和运动的画面都可以具有与之伴随的音轨。为了节省存储器、带宽以及其它资源,可以按照以不同的压缩标准进行编码的数据流,在多个位置之间将静止和运动的画面与其相关的音轨一起进行传输,包括利用运动图像专家组进行传播的画面。
最好通过将经过编码的静止和运动画面流段,包括相关的音轨,融为一体,建立单个数据流。但是,会出现与对不同帧速率的数据流进行组合有关的问题。
发明概述本发明的一方面提供一种设备,包括用于发送与包含在第一流段中的帧有关的多个帧速率指示的装置,和用于接收多个帧速率指示并且生成一个与包含在第二流段中的帧有关的非预报帧的装置。
本发明的另一方面提供一种系统,包括一个编辑器,用于接收多个流段并且提供与包含在所述多个流段中的一个流段中的帧有关的时间标记;一个协调器,用于对所述时间标记进行调节并且根据所述多个流段建立一个单个流;一个打包器,用于接收所述单个流并且确定多个编码参数;以及一个编码器,用于对来自打包器(114)的帧提出请求并且根据所述多个编码参数对帧进行编码。
本发明的另一方面提供一种方法,包括减少第一流段与第二流段之间的时间差异;对所述第一流段与所述第二流段进行组合,以提供一个单个流;按照相关的第一帧速率,对包含在所述单个流中的第一帧进行编码;以及按照相关的第二帧速率,对包含在所述单个流中的第二帧进行编码,其中,所述第二帧速率与所述第一帧速率不同。
附图简要说明

图1为按照本发明不同实施例的设备,一种包括可机械存取的介质的装置,以及系统的框图;图2为示出了按照本发明实施例的方法的流程图。
发明详细描述在以下对本发明的不同实施例进行的详细描述中,对形成其一部分的附图进行参考,附图中所示是为了进行说明而非进行限制,可以按照其中的特定实施例实施本发明。对所示的实施例进行充分详细的描述,以使本领域技术人员能够对这里所披露的思路加以实施。可以由此得到并且利用其它实施例,从而在不脱离本披露的范围的情况下,进行结构和逻辑上的替换和改变。因此,不是利用以下的详细描述进行限制,而且仅由所附权利要求对本发明的各个实施例的范围以及本权利要求所授权的等价物的完整范围进行规定。
在将它们组合为单个流之前,可以按照帧速率将静止和运动画面的编码流段分配给各自的输入数据流。例如,可以将静止画面段分配给第一输入流,将帧速率为十帧每秒(FPS)的运动画面段分配给第二输入流,将速率为十二FPS的运动画面段分配给第三输入流,将音频段分配给第四流,依此类推。
每个视频段具有一个应该非常精密地与相关的音轨段对齐的指定开始时间,以避免明显的音频/视频同步问题。但是,由于不是必须使在各个流段中的帧持续同步相关,并且由于应该使相关的音轨段同步,因此,在正显示来自一个段的最后图像的同时可能出现在另一段中的第一图像。因此,为了保持显示的连续性,可能需要改变帧显示的次数。不幸的是,可用的编码器可能不支持对静止和运动画面的输入帧速率或者流段同步进行动态修改。
为了使这里进行的讨论清晰,提供了几个定义帧——单个图像,它可以是映射在栅格上的模拟图像的样本;帧可以编码(例如压缩)或不编码;帧可能与持续时间(例如显示时间)或“帧速率”联系在一起,可以将“帧速率”定义为1/持续时间。
运动图像专家组(MPEG)标准——包括ISO/IEC JTC1/SC29/WG11International Standard的部分1、2、和4(和/或后面的部分)中一个或多个,例如,Coding Of Moving Pictures And Associated Audio ForDigital Storage Media At Up To About 1.5Mbit/s,MPEG-1International Standard,ISO/IEC 11172 Parts 1-5,1993-1998;Generic Coding Of Moving Pictures And Associated AudioInformation,MPEG-2 International Standard,ISO/IEC 13818 Parts1-10,1996-2000;以及Coding Of Moving Pictures And Audio,MPEG-4 International Standard,ISO/IEC JTC1/SC29/WG11 N4668,March2002,这里将它们中的每一个全文引用为参考。
运动画面段——包括多个不完全相同的帧,每个帧与不同的静止画面有关。
静止画面段——包括一个或多个帧,每个帧都与相同的静止画面有关。
单个流——包括一个或多个静止画面段、一个或多个运动画面段、或静止和运动画面段的任何组合;在单个流中的运动画面段可以涉及相同的帧速率或不同的帧速率。
MPEG编码器根据帧中的空间和经过多个帧的时间,压缩图像。未经编码的帧用作开始点,编码器产生I(即,内部)帧以及P和B帧(即,分别为单向预报帧和双向预报帧),其中,根据空间而非时间对I帧进行压缩,P和B帧使用来自编码流中的其它帧的数据,如I帧以及其它P和B帧,以便重构图像。这使得能够根据时间对图像样本进行压缩。I、P和B帧的顺序称为图像组(GOP)结构。
可以给编码器提供输入帧速率固定的流段。例如,如果要按照30 FPS将静止图像显示3秒钟,则编码器应该接收90个图像拷贝。如果要按照30 FPS的输出帧速率显示原始帧速率为10 FPS的运动画面,则对每个帧来说,编码器应该接收3个拷贝。某些编码器可能在输入端接收一帧,而在内部产生附加帧。另一些编码器可能使附加图像在外部生成。但是,由于这些编码器要求输入帧速率固定不变,因此,在提供给编码器之前生成附加输入图像。这样的操作会消耗时间,尤其当将静止和运动画面组成单个流时,还要在编码器中利用额外处理。
本发明的实施例可以利用各种技术,在充分保持单个输出流的质量的同时,减少用于输入流段的这种处理的量。这些技术的组合可以使每个帧在编码器中出现一次。
第一技术包括在保持与相关的音轨对齐的同时,以保持在运动画面段中的每个帧的持续时间的方式,使帧显示时间彼此对齐。计算在运动画面段中的每个帧的开始和结束时间。当需要时,对这些时间进行调整,以便能够将在前的帧显示足够的显示时间。可以对静止画面段的显示时间进行调整,以便能够使运动画面流段在要求它们的时间开始。
为了由编码器,如MPEG编码器,进行接收,第二技术发送帧速率指示,以便发出改变了用于输入段的经过编码的帧速率的信号。在响应方面,编码器对为每个输入帧建立的经过编码的输出帧的数量进行调节,以便与由接收到的帧速率指示所生成的要求一致。
为了由编码器进行接收,第三技术发送段类型指示,以便发出改变了用于输入段的经过编码的段类型(即,静止或运动画面)的信号。在响应方面,编码器生成空的P和B帧,用于静止画面段的持续时间。
第四技术要求编码器改变其GOP结构,以便生成与每个静止画面段的开始相关的I帧。
图1为按照本发明不同实施例的设备,一种包括可机械存取的介质的产品,以及系统的框图。例如,在第一实施例中,系统100包括编辑器110、协调器112、打包器114以及编码器116。按照需要,这些部件110、112、114和116中的每个部件都能够通过通信与一个或所有其它部件进行耦合。
可以以段的形式显示多种来源的原始图像数据,其中,每段具有一个或多个帧。例如,原始图像数据可以包括一个或多个运动画面段A、一个或多个静止画面段B以及一个或多个伴音段n。可以由编辑器110接收段A,B,...,n,编辑器110将时间标记(包括开始时间和/或结束时间的每个时间标记)与包括在段A,B,...,n中的每个帧联系起来。将段A,B,...,n和它们相应的时间标记分别表示为A′,B′,...,n′。多半以一个或多个载波的形式向协调器112发送被加上时间标记的段A′,B′,...,n′,并且由协调器112接收。
如果需要,可以由协调器112对用于包括在任何一个或所有段A′,B′,...,n′中的一个或多个帧的时间标记进行调节。例如,可以将在运动画面段A′、静止画面段B′和/或伴音段n′的每个帧中开始时间和/或结束时间中的每一个改变为更早的时间或更晚的时间。
允许运动画面段A′按照时间移动,但不改变它们的持续时间,尽管本发明的实施例不限于此。例如,在Tb=1.00分开始并且在Te=2.00分结束的运动画面段A′可以将开始和结束时间分别改变为Tb=1.15分和Te=2.15分。
允许静止画面段B′按照时间移动,并且可以按照需要改变它们的持续时间,尽管本发明的实施例不限于此。例如,在Tb=2.25分开始并且在Te=2.95分结束的静止画面段B′可以将开始时间改变为Tb=2.15分而结束时间Te保持不变。与运动画面段A′或静止画面段B′相关的音频段n′可以以相似的方式对相关的开始和结束时间进行调节。
在对用于段A′,B′,...,n′的一个或多个时间标记进行调节之后,协调器可以建立一个或多个单个流124、128和132,它们分别包括段A′,B′,...,和/或n′以及相关的、经过调节的时间标记ta,tb,...,tn。可以以任意组合将段A′,B′,...,n′以及相关的、经过调节的时间标记ta,tb,...,tn分配给流124、128和132中的任何一个或多个。例如,尽管本发明的实施例不限于此,但是,可以将音频段n′以及相关的、经过调节的时间标记tn分配给音频流124。尽管本发明的实施例不限于此,但是,可以将运动画面段A′和静止画面段B′以及相关的、经过调节的时间标记ta,tb分配给低分辨率流128或高分辨率流132。
多半以一个或多个载波的形式将单个流124、128和132发送到打包器114并且由打包器114接收。然后,由打包器114读取流124、128和132并且给编码器116发送一个或多个初始参数134,以确定编码器116的输出,如输出帧速率和编码类型,再按照需要给编码器116提供数据134。可以以一个或多个载波的形式向编码器116发送数据134和参数134并且由编码器116接收。
例如,编码器116可以要求包括在来自打包器114的流124、128和132中的任何一个中的单独的帧136。由于系统100的操作方式,尽管本发明的实施例不限于此,但是,可以将每个单独的帧从打包器114向编码器116发送一次。
在编码器116进行处理之后,向打包器114发送经过编码的数据140并且由打包器114接收。然后将经过编码的数据140放入一个或多个输出流01,02,...,0n中,可以将它们依次写入由其它模块(没有示出)使用的文件。尽管本发明的实施例不限于此,但是,每个输出流01,02,...,0n可以具有单个的、大致固定的帧速率(例如,按照参数134所确定的)。
编码器116可以包括一个接口数据区域144,它包括多个输入参数和输出参数IA,IB,...,In。可以设置用于每个输入帧136的输入参数,并且输入参数可以包括指向帧数据的指针、段类型指示(例如,该帧是包括在静止画面段还是运动画面段中)、与帧有关的帧速率指示、电视编码标准(例如,NTSC或PAL)、输入彩色格式(例如,用于Apple计算机的RGB24或者用于Windows计算机的RGB24)、输出的宽度和高度、输出的帧速率、编码表说明、长宽比和静止画面段的持续时间(这使得编码器能够生成一组I、P和B帧,以便立即对所有静止段进行编码)等等。还可以对输出参数进行设置,并且当要将数据写入文件时,输出参数可以包括数据的地址以及对音频和视频数据的要求等等。
当在静止画面段中包括帧136时,编码器116可以立即生成与静止画面段相关的非预报帧,如I帧(即,如MPEG标准定义的内部帧)。按照需要,编码器还可以生成后续的、空的B和P帧,这样可以减少由输出流140所使用的带宽,以及由后续的解码器(没有示出)所执行的处理。
由此可见,本发明的另一个实施例包括由用于发送与包括在第一流段A′中的一个或多个帧FR1有关的多个帧速率指示IA的装置114和用于接收多个帧速率指示IA的装置116组成的设备150。多个帧速率指示IA中的一个或多个可以是帧数每秒。
可以利用装置116生成与包括在静止画面段B′中的帧FR2有关的非预报帧I。设备150还可以包括用于生成与非预报帧I有关的一个或多个空预报帧(例如,如MPEG标准所定义的B和/或P帧)的装置116,以及用于调节与第一流段A′有关的一个或多个时间标记ta的装置112。如上所述,一个或多个时间标记ta,tb,...,tn可以包括开始时间和/或结束时间。
用于接收多个帧速率指示IA的装置116还可以包括用于接收段类型指示IB的装置144。可以从由静止画面段和运动画面段构成的组中选择段类型指示IB。
在另一个实施例中,系统100可以包括用于接收多个流段A,B,...,n的编辑器模块110。编辑器模块110可以提供与包括在多个流段A,B,...,n中的一个流段中的一个或多个帧有关的时间标记。流段A,B,...,n可以包括运动画面流段和静止画面段。任何一个运动画面流段(例如A)可以具有与另一个运动画面流段(例如B)不同的帧速率或者相同的帧速率。系统100还可以包括用于对时间标记进行调节并且根据多个流段A,B,...,n建立一个或多个单个流124、128和132的协调器模块112,以及用于接收单个流124、128和132并且确定编码参数IA,IB,...,In的打包器模块114。
系统100还可以包括用于从打包器模块114请求一个或多个帧136并且根据多个编码参数IA,IB,...,In对帧136进行编码的编码器模块116。编码器模块116可以包括用于存储多个编码参数IA,IB,...,In的接口数据区域144,编码参数可以包括多个输入编码参数,如段类型和输出帧速率,以及多个输出编码参数。
图2我示出了按照本发明的实施例的方法的流程图。方法215可以包括通过各种信号源(例如,计算机工作站或包括在网络,如包括因特网在内的环球计算机网络,中的节点)提供多个流段。因此,方法215可以包括在框223提供第一流段(例如,运动画面段或静止画面段),并且在框227提供第二流段(例如,运动画面段或静止画面段)。
接着,在框233,方法215使在第一和第二流段之间的时间差异减少。例如,这可以包括在框237将与包含在这两个流段中的任何一个中的一个或多个帧有关的开始和/或结束时间调整到更早的时间或更晚的时间。
接着,在框243,方法215对第一和第二流段进行组合,以提供一个或多个单个流,并且发送由打包器接收的单个流,例如,在框247,读取流。
在框253,编码器可以准备对帧数据进行接收,多半在框257对编码器进行初始化,然后在框263将输入和输出参数发送到编码器。在框267,可以由编码器按照对数据的要求开始进行编码。
在框273的处理操作可以包括与相关的第一帧速率一起发送由编码器接收的,包含在单个流中的第一帧,并且按照相关的第一帧速率对第一帧进行编码。由此,可以由编码器接收与在单个流中的一个或多个帧有关的帧速率指示以及段类型指示。帧速率指示可以是不同的或者是相同的。相似地,段类型指示可以是相同的或者是不同的。应该注意,第一帧可以是例如包含的运动画面段中的一系列帧中的第一帧。
按照在框277判断,如果对第一帧的处理没有完成,则继续在框273进行处理。否则,在框283,多半将用于第一帧的经过编码的数据从编码器返回到打包器,在框293,将经过编码的数据添加到输出流。
按照在框293的判断,如果完成了对段中的最后帧的处理,则方法215可以进行到框295。否则,方法215可以在框267对用于更多数据的请求继续进行处理。在框273的处理操作可以包括与相关的第二帧速率一起发送由编码器接收的,包含在单个流中的第二帧,并且按照相关的第二帧速率对第二帧进行编码。第一和第二帧速率可以是相同的或者是不同的。例如,第二帧可以是静止帧,或者是在包含在第二运动画面段中的另一系列帧中的第一帧。可以按照任意号码的标准进行编码,这些标准包括MPEG标准如MPEG-1、MPEG-2和/或MPEG-4或者其它版本的MPEG标准,或者其它标准如包括H.261和H.263标准的国际电信同盟标准(ITU-T标准),这里将它们的全文引用为参考。
按照在框277判断,如果对第二帧的处理没有完成,则继续在框273进行处理。否则,在框283,多半将用于第二帧的经过编码的数据从编码器返回到打包器,在框293,将经过编码的数据添加到输出流。
按照在框293的判断,如果完成了对段中的最后帧的处理,则方法215可以进行到框295。否则,如上所述,方法215可以在框267通过请求更多数据继续进行处理。例如,在框273的处理操作可以包括发送由编码器接收的,包含在单个流中的第三帧(例如,包含在静止画面中的第三帧),并且生成与第三帧有关的非预报帧(例如,内部的或I帧)。在框273的处理操作还可以包括生成与第三帧有关的一个或多个空预报帧(例如,B和/或P帧)。一般来说,尽管本发明的实施例不限于此,但是向编码器发送一次第三帧。此外,可以以比编码器生成对应组的帧的第二次数少的第一次数将第三帧发送给编码器。例如,即使编码器生成了九十个I、B和/或P帧,也可以将各个帧发送给编码器两次。
如果在框295确定了单个流的结尾,则方法215可以以将流指示结尾发送给编码器来结束,并且在框297对保留了经过编码的数据的编码器进行刷新。
应该注意,这里所描述的方法不是必须按照所描述的顺序或按照特定的顺序执行。此外,根据这里所认定的方法而描述的各种操作可以以串行或者并行的方式执行。可以以一个或多个载波的形式发送并且接收包括帧、参数、指令等的信息以及其它数据。
这里,可以将系统100、编辑器110、协调器112、打包器114、编码器116、流124、128、132、接口144以及设备150都称为“模块”。如系统100和设备150的设计者所描述的,这些模块可以包括硬件、电路和/或微处理器和/或存储器电路、软件程序模块和/或固件以及它们的组合,并且适合于本发明的特定实施例。例如,可以将编辑器110、协调器112、打包器114和编码器116组合为单个硬件和/或软件和/或固件模块,或者如所述,组成任意数量的这种模块(例如,两个、三个四个或多个)。
在阅读了本披露之后,本领域技术人员应该理解,可以将本发明的各个实施例的设备和系统用在除了视听表现以外的场合,由此,本发明的实施例不限于此。对系统100和设备150进行说明的意图在于提供对本发明的各种实施例的结构的总体理解,而不是要对可能利用这里所描述的结构的设备和系统的所有要素和特征进行完整的描述。
能够包括本发明的各种实施例的新颖设备和系统的应用包括在高速计算机中使用的电子电路和软件、通信和信号处理电路、调制解调器、处理器模块、嵌入式处理器以及包括多层、多芯片模块的专用模块等。还可以将这种设备和系统作为子部件包括在各种电子系统中,如电视机、移动电话、传真机、个人计算机、收音机以及汽车等。
因此,现在容易理解,本发明的另一个实施例可以包括产品100,如计算机、存储器系统、磁盘或光盘、某些其它存储器件和/或任何类型的电子设备或系统,包括具有有关数据110、112、114和/或116(例如,计算机程序指令)的机械可存取介质150(例如,包括电、光学或电磁导体的存储器),当对其进行访问时,产生机械操作的执行动作,包括减少第一流段与第二流段之间的时间差异,对第一流段与第二流段进行组合以便提供单个流,在编码器与相关的第一帧速率一起接收包含在单个流中的第一帧,按照相关的第一帧速率对第一帧进行编码,在编码器与相关的第二帧速率一起接收包含在单个流中的第二帧,按照相关的第二帧速率对第二帧进行编码。如前面所注意的,第一和第二帧速率可以是不同的或相同的。
减少第一流段与第二流段之间的时间差异可以包括将与第二流段有关的开始时间调节为更早的时间或更晚的时间。按照相关的第一帧速率对第一帧进行编码可以包括根据MPEG标准对第一帧进行编码。其它操作包括在编码器接收与第一帧有关的第一段类型指示,以及在编码器接收与第二帧有关的第二段类型指示。第一和第二段类型指示可以是不同的或相同的。
尽管这里已经对特定实施例进行了说明和描述,但是,本领域技术人员应该清楚,打算实现相同目的的任何方案可以替换所示的实施例。本披露意图覆盖对本发明的各个实施例进行的任何以及所有修改和改变。要理解的是,以上描述是以说明的方式而不是限制的方式进行的。回顾以上描述时,本领域技术人员应该明白,这里没有对上述实施例与其它实施例的组合进行具体描述。本发明的各种实施例的范围包括在其中使用了上述结构和方法的任何其它应用。因此,应该参照所附权利要求,与本权利要求所授权的等价物的整个范围一起,确定本发明的各种所要强调的是,提供了摘要,以遵守37 C.F.R.§1.72(b),它要求摘要能够使读者迅速领会技术披露的特性。它是按照将不用于对权利要求的范围或含义进行解释或限制的理解而提出的。
在上述详细说明中,为了使本申请文件流畅,将各种特征彼此组合在单个实施例中。不要将本披露的方法理解为反映了这样的意图,即所主张的本发明的实施例需要比在每项权利要求中所明确说明的更多的特征。相反,如以下权利要求所反映的,发明影响的实质比单个披露的实施例的所有特征更少。因此,以下的权利要求也合并到详细说明中,其中每项权利要求将其本身作为一个单独的优选实施例。
权利要求
1.一种设备(150),包括装置(114),用于发送与包含在第一流段中的帧有关的多个帧速率指示;以及装置(116),用于接收所述多个帧速率指示并生成一个与包含在第二流段中的帧有关的非预报帧。
2.如权利要求1所述的设备,还包括装置(116),用于生成一个与所述非预报帧有关的空预报帧。
3.如权利要求1所述的设备,还包括装置(112),用于调节与包含在所述第一流段中的帧有关的时间标记。
4.一种系统(100),包括一个编辑器(110),用于接收多个流段并且提供与包含在所述多个流段之一中的帧有关的时间标记;一个协调器(112),用于对所述时间标记进行调节并且根据所述多个流段建立单个流;一个打包器(114),用于接收所述单个流并且确定多个编码参数;以及一个编码器(116),用于向打包器(114)提出帧请求并且根据所述多个编码参数对帧进行编码。
5.如权利要求4所述的系统(100),其中,所述多个流段包括具有第一帧速率的第一运动画面流段和具有第二帧速率的第二运动画面流段。
6.如权利要求4所述的系统(100),其中,所述编码器(116)包括一个接口数据区域(144),用于存储所述多个编码参数。
7.一种方法,包括减少第一流段与第二流段之间的时间差异;对所述第一流段与所述第二流段进行组合,以提供单个流;按照相关的第一帧速率,对包含在所述单个流中的第一帧进行编码;并且按照相关的第二帧速率,对包含在所述单个流中的第二帧进行编码,其中,所述第二帧速率与所述第一帧速率不同。
8.如权利要求7所述的方法,还包括将包含在所述单个流中的第三帧发送到编码器(116),其中,所述第三帧包含在静止画面段中;和生成一个与所述第三帧有关的非预报帧。
9.如权利要求8所述的方法,其中,将所述第三帧发送给所述编码器(116)第一次数,该第一次数比所述编码器生成对应组的帧的第二次数少。
10.一种方法,包括减少静止画面段与运动画面段之间的时间差异;对所述静止画面段与所述运动画面段进行组合,以提供单个流;对包含在所述静止画面段中的第一帧进行编码;和按照相关的帧速率,对包含在所述运动画面段中的第二帧进行编码。
全文摘要
一种设备(150),可以包括部件(114)、(116),用于发送与包含在第一流段中的帧有关的多个帧速率指示,接收所述多个帧速率指示,并且用于生成与包含在第二流段中的帧有关的非预报帧。一种方法,可以包括减少第一流段与第二流段之间的时间差异,并且对第一流段与第二流段进行组合,以提供一个单个流。一种方法,还可以包括按照相关的第一帧速率对包含在单个流中的第一帧进行编码并且按照相关的第二帧速率对包含在单个流中的第二帧进行编码,其中第二帧速率与第一帧速率不同。
文档编号H04N7/52GK1540991SQ20031011954
公开日2004年10月27日 申请日期2003年11月28日 优先权日2003年1月29日
发明者V·E·克纳普, S·J·刘, V E 克纳普, 刘 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1