视频编码方法和视频编码系统的制作方法

文档序号:7970656阅读:153来源:国知局
专利名称:视频编码方法和视频编码系统的制作方法
技术领域
本发明涉及数字处理领域,尤其涉及视频相册制作过程中的编码技术。
背景技术
随着人们生活质量的提高,越来越多的人们希望将数码相机拍摄的数码照片等图像制作成VCD、DVD等可以用家庭影碟机播放的视频文件,以便在没有电脑情况下观看,于是视频相册逐渐发展起来。所述视频相册就是通过一种视频编码技术将所述照片制作成一个视频的相册文件,同时给每张照片配以文字和语音。
所述视频编码技术是利用各种数学手段将视频中大量的冗余信息去掉,用尽量少的数据位表示视频信息。利用视频编码技术主要去除原始视频中三个方面的冗余信息1、由每帧图像相临像素的相关性带来的空间冗余;2、由相临帧图像的相应位置像素的相关性带来的时间冗余;3、由编码表示方法的符号相关性带来的编码冗余。
视频编码有两种编码模式帧内编码和帧间编码。帧内编码只考虑去除视频每帧图像相临像素的相关性带来的空间冗余,而不考虑相临帧图像间的时间冗余。帧间编码主要采用预测编码方法去除相临帧图像间的时间冗余。
在视频编码过程中,每帧图像所采用的视频编码技术大概可分为三种只采用帧内编码;采用前向预测的帧间编码;采用双向预测的帧内编码。采样不同的视频编码技术对每帧图像进行编码后得到的帧图像也是不同的。
采用第一种帧内编码技术对图像进行编码后得到的帧图像称为I帧图像(Intra Pictures),其是帧内压缩,不依赖于其它帧,不使用运动补偿,提供中等的压缩比。由于I帧不依赖于其它帧,所以是随机存取的入点,同时是解码中的基准帧。
采用第二种前向预测的帧间编码技术对图像进行编码后得到的帧图像称为P帧图像(Predicted Pictures),其根据前面的I帧或P帧进行预测,使用运动补偿算法进行压缩,因而压缩比要比I帧高,数据量平均达到I帧的1/3左右。P帧是对前后的B帧和后继的P帧进行解码的基准帧。P帧本身是有误差的,如果P帧的前一个基准帧也是P帧,就会造成误差传播。
采用第三种双向预测的帧内编码技术对图像进行编码后得到的帧图像称为B帧图像(Bidirectional Pictures)。其是基于前后的两个I、P帧或P、P帧内插重建而形成的帧,它所压缩的数据量平均可以达到I帧的1/9左右。B帧本身不作为基准,因此可以在提供更高的压缩比的情况下不传播误差。
另外,在进行数字图像压缩时,除了可以使用上述的帧单位外,对于隔行的视频图像,也可以使用场(Field)作为单位。
与本发明有关的现有技术提供了一种视频编码方法,其主要思想是根据在帧率为V帧/秒的文件中播放T秒钟的需求,确定需要对一张照片进行编码的编码次数V*T次;然后读取一张照片;然后利用现有的编码技术将所述照片编码成I帧、P帧以及B帧图像,直至编码次数完成后再读取下一张照片。
可以看出,利用现有技术将一张照片制成视频相册的过程中,如果需要在帧率为V帧/秒的文件中播放T秒钟,则需要对所述照片进行V*T次编码。使得整个制作过程需要耗费很多时间来进行编码。

发明内容
本发明提供一种视频编码方法和视频编码系统,其能够缩短视频相册制作过程中编码所占用的时间。
本发明通过如下技术方案实现本发明提供一种视频编码方法,其包括
获取一张图像对应的图像数据;对所获取的图像数据进行编码,并当编码后已经获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码。
其中,所述当编码后已经获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码的过程,具体包括判断已经得到的帧图像的数量是否到达需要得到的帧图像的数量,当确认还未到达时,则将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并计算帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置,得到相应的帧图像;否则,确定编码过程已经完成。
其中,所述需要编码的帧图像的数量是根据播放时间以及播放文件的帧率计算得到。
其中,当编码后已经得到的帧图像仅仅为一个时,所述将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并计算帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置的过程,具体包括将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
其中,当编码后已经得到的帧图像为多个时,所述将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并计算帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置的过程,具体包括将所述帧图像中的一个帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置;或,将所述帧图像中的多个帧数据成组复制到已经编码得到的帧图像的后面,并将已经编码得到的帧头最大的帧图像中的帧头依次加1,分别得到经复制得到的多个帧数据对应的帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
本发明还提供一种视频编码系统,其包括数据采集单元和编码单元;所述数据采集单元,用于获取一张图像对应的图像数据;所述编码单元,用于对所获取的图像数据进行编码,并且当编码后已经获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码。
其中,所述编码单元包括判断单元和帧图像处理单元;所述判断单元用于判断已经得到的帧图像数量是否到达需要得到的帧图像的数量,并将已经得到的帧图像数量还未到达需要得到的帧图像的数量的判断结果传送给所述帧图像处理单元;所述帧图像处理单元用于当已经得到的帧图像数量还未到达需要得到的帧图像的数量时,将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并计算帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置,得到相应的帧图像。
其中,所述帧图像处理单元还用于当编码后已经得到的帧图像仅仅为一个时,将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
其中,所述帧图像处理单元还用于当编码后已经得到的帧图像为多个时,将所述帧图像中的一个帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置;其中,所述帧图像处理单元还用于
当编码后已经得到的帧图像为多个时,将所述帧图像中的多个帧数据成组复制到已经编码得到的帧图像的后面,并将已经编码得到的帧头最大的帧图像中的帧头依次加1,分别得到经复制得到的多个帧数据对应的帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
其中,所述的系统还包括计算单元,用于根据播放时间以及播放文件的帧率计算得到需要编码的帧图像的数量,并将计算结果传送给所述判断单元。
由上述本发明提供的具体实施方案可以看出,获取一张图像对应的图像数据,对所获取的图像数据进行编码;当已经编码获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码,因此本发明能够缩短视频相册的制作过程中编码所占用的时间。


图1为本发明提供的第一实施例的流程图;图2为本发明提供的第二实施例的结构图。
具体实施例方式
本发明对于获取到的一张图像的图像数据,当编码后已经获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码。
在实施本发明之前需要根据播放时间以及播放文件的帧率计算得到需要编码的帧图像的数量。例如,如果需要在帧率为V帧/秒的文件中播放T秒钟,则需要对所述照片进行V*T次编码,也就是说需要编码得到V*T个帧图像。
本发明的第一实施例提供了一种视频编码方法,其实施过程如图1所示,包括步骤S101,获取一张照片的图像数据。
步骤S102,对所获取的图像数据进行编码,得到至少一个帧图像对应的帧数据和帧头。
步骤S103,保存编码后得到的帧图像对应的帧数据和帧头。
步骤S104,判断已经得到的帧图像数量是否到达需要编码得到的帧图像的数量,若到达,则确定编码已经完成,则转入步骤S101,即继续获取下一张照片的图像数据;否则,转入步骤S105。
步骤S105,从所述帧数据中提取出需要复制的帧数据,并将其复制到编码后得到的帧图像后面,并计算帧头,将计算得到的帧头填充到帧数据的相应位置;然后返回步骤S104。
虽然帧数据得到了复制,但是由于帧头与视频中的顺序有关,所以需要重新计算帧头,并将计算所得到的帧头与复制来的帧数据组合后放到生成的码流数据中。
步骤S105中,可以采样如下几种方式实现第一种,编码得到一个I帧图像后,复制所述I帧图像对应的帧数据,并将以及给您编码得到的I帧图像的帧头加1,将计算得到的帧头填充到复制的帧数据的起始位置,循环操作,直至编码次数完成。具体如下编码得到I帧图像,其帧头为第0帧,然后将所述I帧图像对应的帧数据复制到所述第0帧的后面,并计算复制后的帧数据的帧头,得到帧头为第1帧,并将所述第1帧的帧头填充到经复制得到的第一个帧数据的起始位置。
然后判断是否达到需要编码得到的帧图像数量,当确定未到达时,则继续将所述I帧图像的帧数据复制到所述第1帧的后面,然后计算经复制后得到的帧数据的帧头,得到帧头为第2帧,并将所述第2帧的帧头填充到第二次复制的帧数据的起始位置,依次类推,最后形成完成15帧帧图像的编码后得到的编码格式,如表1所示

表1
第二种,编码生成I帧、P帧图像后,然后复制P帧图像对应的帧数据,直至完成编码。具体如下编码得到I帧图像、P帧图像,其帧头分别为第0帧和第1帧,然后将所述P帧图像对应的帧数据复制到所述第1帧的后面,并计算经复制后得到的帧数据的帧头,得到帧头为第2帧,并将所述帧头填充到经复制得到的第一个帧数据的起始位置;然后判断是否达到需要编码得到的帧图像数量,当确定未到达时,则继续将所述P帧数据复制到所述第2帧的后面,然后计算经复制后得到的帧数据的帧头,得到帧头为第3帧,并将所述帧头填充到经复制后得到的第二个帧数据的起始位置,依次类推,最后形成完成15帧帧图像的编码后得到的编码格式,如表2所示

表2第三种,按照I帧、P帧、P帧组合的3帧数据进行成组的帧复制的方法完成编码。具体实现如下编码得到I帧图像、P帧图像、P帧图像,其帧头分别为第0帧、第1帧、第2帧,然后将已经编码得到的帧图像对应的I帧数据、P帧数据、P帧数据复制到所述第2帧的后面,并将已经编码得到的帧头最大的帧图像中的帧头依次加1,得到经复制得到的I帧数据、P帧数据、P帧数据对应的帧头分别为第3帧、第4帧和第5帧,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
然后判断是否达到需要编码得到的帧图像数量,当确定未到达时,则继续将所述I帧数据、P帧数据、P帧数据复制到所述第5帧的后面,然后计算经复制后得到的帧数据的帧头,分别为第6帧、第7帧和第8帧,并将所述帧头填充到相应帧数据的起始位置,依次类推,最后形成完成15帧帧图像的编码后得到的编码格式,如表3所示

表3第四种,按照帧内帧间组合的多个帧数据进行成组的帧复制的方法(IBBP)完成编码。具体实施过程与第三种的情况类似,这里不再详细描述。最后形成如表4所示的编码格式

表4本发明的第二实施例提供了一种视频编码系统,其结构如图2所示,包括计算单元、数据采集单元和编码单元;其中所述编码单元包括判断单元、帧图像处理单元;系统中各个单元的功能如下所述计算单元,用于根据播放时间以及播放文件的帧率计算得到需要编码的帧图像的数量;并将得到的计算结果传送给所述编码单元。
所述数据采集单元,用于获取一张图像对应的图像数据;所述编码单元,用于对所获取的图像数据进行编码,并且当编码后已经获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码。其中编码过程是否完成是根据所述计算单元的计算结果确定的。
系统中各个单元之间的信号传递关系如下所述计算单元根据播放时间以及播放文件的帧率计算得到需要编码的帧图像的数量;并将得到的计算结果传送给所述编码单元。
所述数据采集单元获取一张图像对应的图像数据;并将所获取到的图像数据传送给所述编码单元。
所述编码单元对所获取的图像数据进行编码,并且当编码后已经获得至少一个帧图像后,通过所述判断单元判断已经得到的帧图像数量是否到达需要得到的帧图像的数量,如果还未到达需要得到的帧图像的数量,则将已经得到的帧图像数量未到达需要得到的帧图像的数量的判断结果传送给所述帧图像处理单元;否则触发所述数据采集单元获取下一张图像对应的图像数据。所述帧图像处理单元接收到已经得到的帧图像数量未到达需要得到的帧图像的数量的判断结果后,将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并计算帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置,得到相应的帧图像,然后将已经得到的帧图像数量传送给所述判断单元。所述帧图像处理单元复制帧数据,并计算所述帧数据对应的帧头的处理情况有三种第一种,当编码后已经得到的帧图像仅仅为一个时,将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置。具体实施过程与第一实施例中的第一种情况类似,这里不再详细描述。
第二种,当编码后已经得到的帧图像为多个时,将所述帧图像中的一个帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置。具体实施过程与第一实施例中的第二种情况类似,这里不再详细描述。
第三种,当编码后已经得到的帧图像为多个时,将所述帧图像中的多个帧数据成组复制到已经编码得到的帧图像的后面,并将已经编码得到的帧头最大的帧图像中的帧头依次加1,分别得到经复制得到的多个帧数据对应的帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置。具体实施过程与第一实施例中的第三种和第四种情况类似,这里不再详细描述。
由上述本发明提供的具体实施方案可以看出,获取一张图像对应的图像数据,对所获取的图像数据进行编码;当已经编码获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码,因此本发明能够缩短视频相册的制作过程中编码所占用的时间。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种视频编码方法,其特征在于,包括获取一张图像对应的图像数据;对所获取的图像数据进行编码,并当编码后已经获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码。
2.如权利要求1所述的方法,其特征在于,所述当编码后已经获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码的过程,具体包括判断已经得到的帧图像的数量是否到达需要得到的帧图像的数量,当确认还未到达时,则将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并计算帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置,得到相应的帧图像;否则,确定编码过程已经完成。
3.如权利要求2所述的方法,其特征在于,所述需要编码的帧图像的数量是根据播放时间以及播放文件的帧率计算得到。
4.如权利要求2所述的方法,其特征在于,当编码后已经得到的帧图像仅仅为一个时,所述将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并计算帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置的过程,具体包括将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
5.如权利要求2所述的方法,其特征在于,当编码后已经得到的帧图像为多个时,所述将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并计算帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置的过程,具体包括将所述帧图像中的一个帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置;或,将所述帧图像中的多个帧数据成组复制到已经编码得到的帧图像的后面,并将已经编码得到的帧头最大的帧图像中的帧头依次加1,分别得到经复制得到的多个帧数据对应的帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
6.一种视频编码系统,其特征在于,包括数据采集单元和编码单元;所述数据采集单元,用于获取一张图像对应的图像数据;所述编码单元,用于对所获取的图像数据进行编码,并且当编码后已经获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码。
7.如权利要求6所述的系统,其特征在于,所述编码单元包括判断单元和帧图像处理单元;所述判断单元用于判断已经得到的帧图像数量是否到达需要得到的帧图像的数量,并将已经得到的帧图像数量还未到达需要得到的帧图像的数量的判断结果传送给所述帧图像处理单元;所述帧图像处理单元用于当已经得到的帧图像数量还未到达需要得到的帧图像的数量时,将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并计算帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置,得到相应的帧图像。
8.如权利要求7所述的系统,其特征在于,所述帧图像处理单元还用于当编码后已经得到的帧图像仅仅为一个时,将所述帧图像中的帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
9.如权利要求7所述的系统,其特征在于,所述帧图像处理单元还用于当编码后已经得到的帧图像为多个时,将所述帧图像中的一个帧数据复制到已经编码得到的帧图像的后面,并将已经编码得到的帧图像的帧头加1,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
10.如权利要求7所述的系统,其特征在于,所述帧图像处理单元还用于当编码后已经得到的帧图像为多个时,将所述帧图像中的多个帧数据成组复制到已经编码得到的帧图像的后面,并将已经编码得到的帧头最大的帧图像中的帧头依次加1,分别得到经复制得到的多个帧数据对应的帧头,将计算得到的帧头填充到经复制得到的帧数据的相应位置。
11.如权利要求7所述的系统,其特征在于,还包括计算单元,用于根据播放时间以及播放文件的帧率计算得到需要编码的帧图像的数量,并将计算结果传送给所述判断单元。
全文摘要
本发明公开了一种视频编码方法和视频编码系统,其获取到一张图像对应的图像数据后,对所获取的图像数据进行编码;当已经编码获得至少一个帧图像,但并未完成编码时,利用已经获得的帧图像中的帧数据完成编码,因此本发明能够缩短视频相册的制作过程中编码所占用的时间。
文档编号H04N7/32GK1964492SQ20061014416
公开日2007年5月16日 申请日期2006年11月28日 优先权日2006年11月28日
发明者高飞 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1