双路录像的改进方法、装置及监控器转让专利

申请号 : CN201210271860.X

文献号 : CN103581599A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡静苏丹胡胜发

申请人 : 安凯(广州)微电子技术有限公司

摘要 :

本发明适用于录像监控领域,尤其涉及双路录像的改进方法、装置及监控器。所述方法包括:a、创建通道1的编码实例,并设置编码属性;b、创建通道2的编码实例,并设置编码属性;c、根据通道1设置的编码属性确定赋值至寄存器的编码参数;d、根据通道2的设置的编码属性确定赋值至寄存器的编码参数;e、在寄存器赋值成功后,启动当前帧的编码,并判断通道1和通道2的当前帧是否均编码完成,若完成,执行步骤f,否则,执行步骤g;f、启动下一帧编码,同时将编码完成的当前码流写入文件;g、继续判断当前帧是否编码完成;h、重复执行步骤c至步骤g的操作,直到录像结束。本发明实施例能够提高编码效率。

权利要求 :

1.一种双路录像的改进方法,其特征在于,所述方法包括下述步骤:a、创建通道1的编码实例,并在该通道1的编码实例中设置编码属性;

b、创建通道2的编码实例,并在该通道2的编码实例中设置编码属性;

c、根据通道1的编码实例中设置的编码属性确定该通道1的编码参数,并将确定的编码参数赋值至通道1的相关寄存器;

d、根据通道2的编码实例中设置的编码属性确定该通道2的编码参数,并将确定的编码参数赋值至通道2的相关寄存器;

e、在通道1和通道2对应的寄存器赋值成功后,启动当前帧的编码,并判断通道1和通道2的当前帧是否均编码完成,若完成,执行步骤f,否则,执行步骤g;

f、启动下一帧编码,同时将通道1和通道2编码完成的当前码流写入文件;

g、在预设的等待时间到来时继续判断当前帧是否编码完成;

h、重复执行步骤c至步骤g的操作,直到录像结束。

2.如权利要求1所述的方法,其特征在于,所述编码属性包括编码类型、编码尺寸大小、编码方式、是否进行码率控制。

3.如权利要求2所述的方法,其特征在于,

所述编码类型包括H.264、MJPEG、H.263、MPEG4中的任一种;

所述编码尺寸大小为QCIF、CIF、VGA、D1、720P、1080P中的任一种。

4.如权利要求1所述的方法,其特征在于,在步骤e之前,进一步包括下述步骤:判断当前帧的编码是否出错,并在当前帧的编码出错时,读取对应的寄存器中的值继续编码。

5.一种双路录像的改进装置,其特征在于,所述装置包括:第一编码属性设置单元,用于创建通道1的编码实例,并在该通道1的编码实例中设置编码属性;

第二编码属性设置单元,用于创建通道2的编码实例,并在该通道2的编码实例中设置编码属性;

第一寄存器赋值单元,用于根据通道1的编码实例中设置的编码属性确定该通道1的编码参数,并将确定的编码参数赋值至通道1的相关寄存器;

第二寄存器赋值单元,用于根据通道2的编码实例中设置的编码属性确定该通道2的编码参数,并将确定的编码参数赋值至通道2的相关寄存器;

编码完成判断单元,用于在通道1和通道2对应的寄存器赋值成功后,启动当前帧的编码,并判断通道1和通道2的当前帧是否均编码完成,若完成,执行码流写入单元,否则,执行等待码流完成单元;

码流写入单元,用于启动下一帧编码,同时将通道1和通道2编码完成的当前码流写入文件;

等待码流完成单元,用于在预设的等待时间到来时继续判断当前帧是否编码完成;

重复执行第一寄存器赋值单元、第二寄存器赋值单元、编码完成判断单元、码流写入单元、等待码流完成单元的操作,直到录像结束。

6.如权利要求5所述的装置,其特征在于,所述编码属性包括编码类型、编码尺寸大小、编码方式、是否进行码率控制。

7.如权利要求6所述的装置,其特征在于,

所述编码类型包括H.264、MJPEG、H.263、MPEG4中的任一种;

所述编码尺寸大小为QCIF、CIF、VGA、D1、720P、1080P中的任一种。

8.如权利要求5所述的装置,其特征在于,所述装置包括:寄存器值读取单元,用于判断当前帧的编码是否出错,并在当前帧的编码出错时,读取对应的寄存器中的值继续编码。

9.一种监控器,其特征在于,所述监控器包括权利要求5至8任一项所述的双路录像的改进装置。

说明书 :

双路录像的改进方法、装置及监控器

技术领域

[0001] 本发明属于录像监控领域,尤其涉及双路录像的改进方法、装置及监控器。

背景技术

[0002] 目前,监控技术已经从单路监控发展为多路监控,多路监控技术有着很多的优势,可以根据用户的需求和不同的应用场景,制定多种分辨率,多种编码方式的录像。随着监控技术的发展,多路监控技术也是日新月异。
[0003] 单路编码的帧率一般为每秒30帧,也就是单路编码的fps为30,与此相对应,双路编码的fps就要为60了,即双路编码需要更高的编码效率,由此可知,提高双路编码的编码效率能够更好地体现双路编码的优势。传统的双路录像方式中,软件会等待硬件编码完成后,再开始把编码后的码流写入到文件中去,也就是软硬件是串行的过程,而在录像过程中,纯硬件编码过程和编码后将码流写入文件的过程都是比较耗时的,从而导致编码效率低下。

发明内容

[0004] 本发明实施例提供了一种双路录像的改进方法,旨在解决现有的多路录像方法编码效率低下的问题。
[0005] 本发明实施例是这样实现的,一种双路录像的改进方法,所述方法包括下述步骤:
[0006] a、创建通道1的编码实例,并在该通道1的编码实例中设置编码属性;
[0007] b、创建通道2的编码实例,并在该通道2的编码实例中设置编码属性;
[0008] c、根据通道1的编码实例中设置的编码属性确定该通道1的编码参数,并将确定的编码参数赋值至通道1的相关寄存器;
[0009] d、根据通道2的编码实例中设置的编码属性确定该通道2的编码参数,并将确定的编码参数赋值至通道2的相关寄存器;
[0010] e、在通道1和通道2对应的寄存器赋值成功后,启动当前帧的编码,并判断通道1和通道2的当前帧是否均编码完成,若完成,执行步骤f,否则,执行步骤g;
[0011] f、启动下一帧编码,同时将通道1和通道2编码完成的当前码流写入文件;
[0012] g、在预设的等待时间到来时继续判断当前帧是否编码完成;
[0013] h、重复执行步骤c至步骤g的操作,直到录像结束。
[0014] 本发明实施例的另一目的在于提供一种双路录像的改进装置,所述装置包括:
[0015] 第一编码属性设置单元,用于创建通道1的编码实例,并在该通道1的编码实例中设置编码属性;
[0016] 第二编码属性设置单元,用于创建通道2的编码实例,并在该通道2的编码实例中设置编码属性;
[0017] 第一寄存器赋值单元,用于根据通道1的编码实例中设置的编码属性确定该通道1的编码参数,并将确定的编码参数赋值至通道1的相关寄存器;
[0018] 第二寄存器赋值单元,用于根据通道2的编码实例中设置的编码属性确定该通道2的编码参数,并将确定的编码参数赋值至通道2的相关寄存器;
[0019] 编码完成判断单元,用于在通道1和通道2对应的寄存器赋值成功后,启动当前帧的编码,并判断通道1和通道2的当前帧是否均编码完成,若完成,执行码流写入单元,否则,执行等待码流完成单元;
[0020] 码流写入单元,用于启动下一帧编码,同时将通道1和通道2编码完成的当前码流写入文件;
[0021] 等待码流完成单元,用于在预设的等待时间到来时继续判断当前帧是否编码完成;
[0022] 重复执行第一寄存器赋值单元、第二寄存器赋值单元、编码完成判断单元、码流写入单元、等待码流完成单元的操作,直到录像结束。
[0023] 本发明实施例的另一目的在于提供一种包含上述双路录像的改进装置的监控器。
[0024] 本发明实施例中,由于本发明实施例提供的双路录像方法是一次启动两路硬件编码,同时软件进行双路下一帧的计算,因此极大利用了纯硬件编码过程以及编码后将码流写入文件的过程所耗费的时间,从而提高了编码效率。

附图说明

[0025] 图1是本发明第一实施例提供的一种双路录像的改进方法的流程图;
[0026] 图2是本发明第二实施例提供的一种双路录像的改进装置的结构图;
[0027] 图3是本发明第二实施例提供的另一种双路录像的改进装置的结构图。

具体实施方式

[0028] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0029] 本发明实施例中,通过创建2个通道,并在2个通道的第N帧的硬件编码完成后,开始启动第N+1帧的硬件编码,同时将第N帧的编码完成后的码流写入文件中,形成了软件和硬件并行的过程,这里的N为大于0的整数。
[0030] 本发明实施例提供了一种:双路录像的改进方法、装置及监控器。
[0031] 所述方法包括:a、创建通道1的编码实例,并在该通道1的编码实例中设置编码属性;
[0032] b、创建通道2的编码实例,并在该通道2的编码实例中设置编码属性;
[0033] c、根据通道1的编码实例中设置的编码属性确定该通道1的编码参数,并将确定的编码参数赋值至通道1的相关寄存器;
[0034] d、根据通道2的编码实例中设置的编码属性确定该通道2的编码参数,并将确定的编码参数赋值至通道2的相关寄存器;
[0035] e、在通道1和通道2对应的寄存器赋值成功后,启动当前帧的编码,并判断通道1和通道2的当前帧是否均编码完成,若完成,执行步骤f,否则,执行步骤g;
[0036] f、启动下一帧编码,同时将通道1和通道2编码完成的当前码流写入文件;
[0037] g、在预设的等待时间到来时继续判断当前帧是否编码完成;
[0038] h、重复执行步骤c至步骤g的操作,直到录像结束。
[0039] 所述装置包括:第一编码属性设置单元,用于创建通道1的编码实例,并在该通道1的编码实例中设置编码属性;
[0040] 第二编码属性设置单元,用于创建通道2的编码实例,并在该通道2的编码实例中设置编码属性;
[0041] 第一寄存器赋值单元,用于根据通道1的编码实例中设置的编码属性确定该通道1的编码参数,并将确定的编码参数赋值至通道1的相关寄存器;
[0042] 第二寄存器赋值单元,用于根据通道2的编码实例中设置的编码属性确定该通道2的编码参数,并将确定的编码参数赋值至通道2的相关寄存器;
[0043] 编码完成判断单元,用于在通道1和通道2对应的寄存器赋值成功后,启动当前帧的编码,并判断通道1和通道2的当前帧是否均编码完成,若完成,执行码流写入单元,否则,执行等待码流完成单元;
[0044] 码流写入单元,用于启动下一帧编码,同时将通道1和通道2编码完成的当前码流写入文件;
[0045] 等待码流完成单元,用于在预设的等待时间到来时继续判断当前帧是否编码完成;
[0046] 重复执行第一寄存器赋值单元、第二寄存器赋值单元、编码完成判断单元、码流写入单元、等待码流完成单元的操作,直到录像结束。
[0047] 所述设备包括:包含上述双路录像的改进装置的监控器。
[0048] 本发明实施例中,由于本发明实施例提供的双路录像方法是一次启动两路硬件编码,同时软件进行双路下一帧的计算,因此极大利用了纯硬件编码过程以及编码后将码流写入文件的过程所耗费的时间,从而提高了编码效率。
[0049] 为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
[0050] 实施例一:
[0051] 图1示出了本发明第一实施例提供的一种双路录像的改进方法的流程图,详述如下:
[0052] 步骤S11,创建通道1的编码实例,并在该通道1的编码实例中设置编码属性。
[0053] 本实施例中,编码属性包括编码类型、编码尺寸大小、编码方式、是否进行码率控制等。其中,编码类型可以为H.264、MJPEG、H.263、MPEG4中的任一种,编码尺寸大小可以为QCIF、CIF、VGA、D1、720P、1080P中的任一种,当然,也可以设置其他编码类型及编码尺寸大小,此处不作限定。其中,编码方式是指针对确定的编码类型采用何种编码方式,比如对H.264,可采用cabac编码、cavlc编码等。
[0054] 步骤S12,创建通道2的编码实例,并在该通道2的编码实例中设置编码属性。
[0055] 本实施例中,编码属性包括编码类型、编码尺寸大小、编码方式、是否进行码率控制等。编码属性的具体描述与步骤S11中的相同,此处不再赘述。
[0056] 步骤S13,根据通道1的编码实例中设置的编码属性确定该通道1的编码参数,并将确定的编码参数赋值至通道1的相关寄存器。
[0057] 本实施例中,由于设置的编码属性不能直接赋值给寄存器,因此,在设置了编码实例中的编码属性后,需要根据设置的编码属性确定寄存器能够识别的编码参数。其中,寄存器能够识别的编码参数可根据实际情况事先约定。
[0058] 步骤S14,根据通道2的编码实例中设置的编码属性确定该通道2的编码参数,并将确定的编码参数赋值至通道2的相关寄存器。
[0059] 步骤S15,在通道1和通道2对应的寄存器赋值成功后,启动当前帧的编码,并判断通道1和通道2的当前帧是否均编码完成,若完成,执行步骤S16,否则,执行步骤S17。
[0060] 本实施例中,当通道1和通道2对应的寄存器均赋值成功之后,启动硬件编码,这里的硬件编码指实际的对当前帧的编码。
[0061] 步骤S16,启动下一帧编码,同时将通道1和通道2编码完成的当前码流写入文件。
[0062] 本实施例中,若通道1和通道2的当前帧均编码结束,则启动下一帧编码,同时软件将通道1和通道2编码完成的当前码流写入文件,从而实现了软件和硬件并行执行的过程。
[0063] 步骤S17,在预设的等待时间到来时继续判断当前帧是否编码完成。
[0064] 本实施例中,若通道1和通道2的当前帧编码未完成,则等候一段时间,并在预设的等待时间到来时继续判断通道1和通道2的当前帧是否编码完成。
[0065] 作为一优选实施例,在步骤S17之前,进一步包括步骤:判断当前帧的编码是否出错,并在当前帧的编码出错时,读取对应的寄存器中的值继续编码。该步骤中,若当前帧的编码未完成,先判断未完成的原因是否由于硬件编码过程出错,若是,则读取对应的寄存器的值,以便根据读取的值继续完成当前帧的编码。例如,若通道1编码当前帧的过程出错,导致通道1的当前帧编码未完成,则读取该通道1对应的寄存器的值,并根据读取的值继续完成当前帧的编码。
[0066] 步骤S18,重复执行步骤S13至步骤S17的操作,直到录像结束。
[0067] 本实施例中,在文件中写入一帧码流之后,需要根据设置的编码属性确定下一帧码流的编码参数。当然,有些编码参数是固定的性质,比如采用cabac编码,这是固定的性质,但是比如码率控制、帧地址这些属性,是每帧都重新需要计算的。
[0068] 在本发明实施例中,通过创建2个通道,并在2个通道的第N帧的硬件编码完成后,开始启动第N+1帧的硬件编码,同时将第N帧的编码完成后的码流写入文件中,形成了软件和硬件并行的过程,这里的N为大于0的整数。由于本发明实施例提供的双路录像方法是一次启动两路硬件编码,同时软件进行双路下一帧的计算,因此极大利用了纯硬件编码过程以及编码后将码流写入文件的过程所耗费的时间,从而提高了编码效率。
[0069] 实施例二:
[0070] 图2示出了本发明第二实施例提供的一种双路录像的改进装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
[0071] 该双路录像的改进装置可以用于通过有线或者无线网络连接服务器的各种信息处理终端,例如移动电话、口袋计算机(Pocket Personal Computer,PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)等,可以是运行于这些终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些终端中或者运行于这些终端的应用系统中,其中:
[0072] 第一编码属性设置单元21,用于创建通道1的编码实例,并在该通道1的编码实例中设置编码属性。
[0073] 作为一优选实施例,所述编码属性包括编码类型、编码尺寸大小、编码方式、是否进行码率控制等。其中,所述编码类型包括H.264、MJPEG、H.263、MPEG4中的任一种。当然,也可以设置其他编码类型及编码尺寸大小,此处不作限定。
[0074] 所述编码尺寸大小为QCIF、CIF、VGA、D1、720P、1080P中的任一种。
[0075] 第二编码属性设置单元22,用于创建通道2的编码实例,并在该通道2的编码实例中设置编码属性。
[0076] 本实施例的编码属性与第一编码属性设置单元21涉及的编码属性相同,此处不再赘述。
[0077] 第一寄存器赋值单元23,用于根据通道1的编码实例中设置的编码属性确定该通道1的编码参数,并将确定的编码参数赋值至通道1的相关寄存器。
[0078] 本实施例中,以事先约定的编码参数为依据,根据设置的编码属性确定寄存器能够识别的编码参数。
[0079] 第二寄存器赋值单元24,用于根据通道2的编码实例中设置的编码属性确定该通道2的编码参数,并将确定的编码参数赋值至通道2的相关寄存器。
[0080] 编码完成判断单元25,用于在通道1和通道2对应的寄存器赋值成功后,启动当前帧的编码,并判断通道1和通道2的当前帧是否均编码完成,若完成,执行码流写入单元26,否则,执行等待码流完成单元27。
[0081] 本实施例中,当通道1和通道2对应的寄存器均赋值成功之后,启动硬件编码,这里的硬件编码指实际的对当前帧的编码。
[0082] 码流写入单元26,用于启动下一帧编码,同时将通道1和通道2编码完成的当前码流写入文件。
[0083] 本实施例中,启动下一帧编码的同时,软件将通道1和通道2编码完成的当前码流写入文件,从而实现了软件和硬件并行执行的过程。
[0084] 等待码流完成单元27,用于在预设的等待时间到来时继续判断当前帧是否编码完成。
[0085] 本实施例中,若通道1和通道2的当前帧编码未完成,则等候一段时间,并在预设的等待时间到来时继续判断通道1和通道2的当前帧是否编码完成。
[0086] 作为一优选实施例,图3示出了双路录像的改进装置的另一种结构,如图3所示,该双路录像的改进装置除了包括第一编码属性设置单元21、第二编码属性设置单元22、第一寄存器赋值单元23、第二寄存器赋值单元24、编码完成判断单元25、码流写入单元26、等待码流完成单元27之外,进一步包括:
[0087] 寄存器值读取单元28,用于判断当前帧的编码是否出错,并在当前帧的编码出错时,读取对应的寄存器中的值继续编码。
[0088] 本实施例中,若当前帧的编码未完成,先判断未完成的原因是否由于硬件编码过程出错,若是,则读取对应的寄存器的值,以便根据读取的值继续完成当前帧的编码,若否,执行等待码流完成单元27。
[0089] 重复执行第一寄存器赋值单元23、第二寄存器赋值单元24、编码完成判断单元25、码流写入单元26、等待码流完成单元27的操作,直到录像结束。
[0090] 在本发明实施例中,通过创建2个通道,并在2个通道的第N帧的硬件编码完成后,开始启动第N+1帧的硬件编码,同时将第N帧的编码完成后的码流写入文件中,形成了软件和硬件并行的过程,这里的N为大于0的整数。由于是一次启动两路硬件编码,同时软件进行双路下一帧的计算,因此极大利用了纯硬件编码过程以及编码后将码流写入文件的过程所耗费的时间,从而提高了编码效率。
[0091] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。