CN108512812B - 一种码流数据生成方法及装置 - Google Patents

一种码流数据生成方法及装置 Download PDF

Info

Publication number
CN108512812B
CN108512812B CN201710108426.2A CN201710108426A CN108512812B CN 108512812 B CN108512812 B CN 108512812B CN 201710108426 A CN201710108426 A CN 201710108426A CN 108512812 B CN108512812 B CN 108512812B
Authority
CN
China
Prior art keywords
image data
target image
code stream
video coding
data
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.)
Active
Application number
CN201710108426.2A
Other languages
English (en)
Other versions
CN108512812A (zh
Inventor
黄沐泉
陈涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201710108426.2A priority Critical patent/CN108512812B/zh
Publication of CN108512812A publication Critical patent/CN108512812A/zh
Application granted granted Critical
Publication of CN108512812B publication Critical patent/CN108512812B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/436Methods 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)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例提供了一种码流数据生成方法及装置,该方法首先获得基层图像数据;然后对基层图像数据进行视频编码,获得一路码流数据,同时获得基层图像数据的目标图像数据,并对目标图像数据进行视频编码,获得另一路码流数据;其中,该目标图像数据为:待通过显卡显示的图像数据。应用本发明实施例提供的方案生成两路码流数据时,由于两路码流数据的生成过程是并行进行的,既保证生成两路码流数据的高同步性,又提高了两路码流的生成效率。

Description

一种码流数据生成方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种码流数据生成方法及装置。
背景技术
不同的电子设备可能会配置有不同的操作系统,以配置有Android(安卓)系统的电子设备为例,电子设备进行图像采集时,在其采集到一路基层图像数据后,会基于该基层图像数据进行编码,生成一路码流数据。但是,有些情况下,根据实际需要,电子设备需要基于一路基层图像数据生成两路码流数据,例如,移动执法设备拍摄现场视频时,其作为前端设备,不仅需要将基于实时采集的高清图像数据所获得的一路码流数据保存到内置存储空间中,还需要通过网络向后台指挥中心传输另一路码流数据,以使得后台指挥中心能够实时关注执法现场并指导执法人员的现场操作。
现有技术中,电子设备为了生成两路码流数据,可以首先对电子设备采集的基层图像数据进行编码,生成一路码流数据,然后对所生成的码流数据进行内存拷贝,再对内存拷贝所获得的码流数据进行图像数据处理,例如,上述移动执法设备可以对内存拷贝所获得的码流数据进行降分辨率处理,获得另一路码流数据,进而达到基于一路基层图像数据生成两路码流数据的目的。
但是,现有技术中,在生成两路码流数据的过程中,其中一路码流数据需要在另一路码流数据生成后,还需要进行内存拷贝和图像数据处理的过程,才能生成;因此,所生成的两路码流数据的同步性差。
发明内容
本发明实施例的目的在于提供一种码流数据生成方法及装置,以在基于一路基层图像数据生成两路码流数据的过程中,提高生成两路码流数据的同步性。具体技术方案如下:
为达上述目的,第一方面,本发明实施例公开了一种码流数据生成方法,所述方法包括:
获得基层图像数据;
对所述基层图像数据进行视频编码,获得一路码流数据;
获得所述基层图像数据的目标图像数据,其中,所述目标图像数据为:待通过显卡显示的图像数据;
对所述目标图像数据进行视频编码,获得另一路码流数据。
可选的,所述方法还包括:
通过显卡显示所述目标图像数据。
可选的,所述方法还包括:
根据预设的编码条件,判断是否要对所述目标图像数据进行视频编码;
若为是,执行所述对所述目标图像数据进行视频编码,获得另一路码流数据的步骤。
可选的,所述方法还包括:
在判定要对所述目标图像数据进行视频编码的情况下,为所述目标图像数据添加第一标签;
所述对所述目标图像数据进行视频编码,获得另一路码流数据的步骤,包括:
在所述目标图像数据添加有所述第一标签的情况下,对所述目标图像数据进行视频编码,获得另一路码流数据。
可选的,所述方法还包括:
对所述目标图像数据完成视频编码后,删除所述目标图像数据的所述第一标签。
可选的,在所述获得所述基层图像数据的目标图像数据的步骤之后,所述方法还包括:
为所述目标图像数据添加第二标签,其中,所述第二标签用于表示图像数据为需要显示的图像数据;
所述通过显卡显示所述目标图像数据的步骤,包括:
在所述目标图像数据添加有所述第二标签的情况下,通过显卡显示所述目标图像数据。
可选的,所述方法还包括:
通过显卡显示所述目标图像数据后,删除所述目标图像数据的所述第二标签。
第二方面,本发明实施例还公开了一种码流数据生成装置,所述装置包括:
第一获得模块,用于获得基层图像数据;
第一视频编码模块,用于对所述基层图像数据进行视频编码,获得一路码流数据;
第二获得模块,用于获得所述基层图像数据的目标图像数据,其中,所述目标图像数据为:待通过显卡显示的图像数据;
第二视频编码模块,用于对所述目标图像数据进行视频编码,获得另一路码流数据。
可选的,所述装置还包括:
显示模块,用于通过显卡显示所述目标图像数据。
可选的,所述装置还包括:
判断模块,用于根据预设的编码条件,判断是否要对所述目标图像数据进行视频编码;若为是,触发所述第二视频编码模块。
可选的,所述装置还包括:
第一添加模块,用于在判定要对所述目标图像数据进行视频编码的情况下,为所述目标图像数据添加第一标签;
所述第二视频编码模块,具体用于:
在所述目标图像数据添加有所述第一标签的情况下,对所述目标图像数据进行视频编码,获得另一路码流数据。
可选的,所述装置还包括:
第一删除模块,用于对所述目标图像数据完成视频编码后,删除所述目标图像数据的所述第一标签。
可选的,所述装置还包括:
第二添加模块,用于在获得所述目标图像数据后,为所述目标图像数据添加第二标签,其中,所述第二标签用于表示图像数据为需要显示的图像数据;
所述显示模块具体用于:在所述目标图像数据添加有所述第二标签的情况下,通过显卡显示所述目标图像数据。
可选的,所述装置还包括:
第二删除模块,用于通过显卡显示所述目标图像数据后,删除所述目标图像数据的所述第二标签。
由以上可见,本发明实施例提供的方案中,首先获得基层图像数据;然后对基层图像数据进行视频编码,获得一路码流数据,同时获得基层图像数据的目标图像数据,并对目标图像数据进行视频编码,获得另一路码流数据;其中,该目标图像数据为:待通过显卡显示的图像数据。与现有技术相比,本发明实施例提供的方案中,两路码流数据的生成过程是并行进行的,既可保证生成两路码流数据的高同步性,又提高了两路码流的生成效率;而且本发明实施例不需要增加额外的部件,通用性好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种码流数据生成方法的第一种流程示意图;
图2为本发明实施例提供的一种码流数据生成方法的第二种流程示意图;
图3为本发明实施例提供的一种码流数据生成方法的第三种流程示意图;
图4为本发明实施例提供的一种码流数据生成装置的第一种结构示意图;
图5为本发明实施例提供的一种码流数据生成装置的第二种结构示意图;
图6为本发明实施例提供的一种码流数据生成装置的第三种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种码流数据生成方法的第一种流程示意图。
本发明实施例提供的一种码流数据生成方法可以应用于电子设备,如手机,平板电脑、摄像机以及上述背景技术所提及的移动执法设备等;如图1所示,该方法包括:
S101:获得基层图像数据。
此处所述的基层图像数据为图像采集部件直接采集到的图像数据,例如,摄像头直接采集到的图像数据。在本发明实施例中,可以是上述电子设备接收其它电子设备采集到的基层图像数据,显然的,也可以是上述电子设备本身设置有图像采集部件,并通过该图像采集部件采集到基层图像数据。
S102:对基层图像数据进行视频编码,获得一路码流数据。
一种情况下,对基层图像数据进行视频编码,可以理解为:直接对基层图像数据进行视频编码。
然而,有些情况下,图像采集部件所采集到图像数据的图像格式、分辨率等不一定与视频编码所需要的图像格式、分辨率等相同,因此,另一种情况下,对基层图像数据进行视频编码,可以理解为:先对基层图像数据进行图像变换,然后再对变换后的图像数据进行视频编码,其中,上述图像变换可以是图像格式变换、图像分辨率变换等等。
例如,图像采集部件采集的基层图像数据为RGB格式的图像数据,而视频编码要求图像格式为YUV格式,则需先对基层图像数据进行图像格式变换,由RGB格式变换到YUV格式,再对格式变换完成后的基层图像数据进行视频编码;再如,图像采集部件采集的基层图像数据的分辨率为高清,应用时为防止生成的码流码率过大,视频编码要求图像的分辨率为标清,则需要对基层图像数据进行降分辨率处理后再进行视频编码。
S103:获得基层图像数据的目标图像数据;其中,目标图像数据为:待通过显卡显示的图像数据。
可以理解的是,电子设备进行图像显示时,需通过显卡才能完成图像显示。具体的,以电子设备显示上述基层图像数据为例,电子设备先生成待通过显卡显示的图像数据也就是上述目标图像数据,然后将上述目标图像数据存储至显存中,再由电子设备的数模转换器从显存中读取出目标图像数据,并将数字信号转换为模拟信号;最后由屏幕等显示部件显示目标图像数据。上述过程可以理解为电子设备通过显示通路进行图像显示的过程。
对于具有显卡的电子设备而言,其获得基层图像数据后,往往会对该基层图像数据进行显示,所以必然需要生成上述目标图像数据,这样在生成码流时,打通上述显示通路获得上述目标图像数据即可开始进行视频编码,显然这种情况下获得目标图像数据不会引入额外的设备资源,也不需要为电子设备增加额外的部件。
由于前述显示部件所支持的图像格式、图像分辨率等可能与上述基层图像数据的图像格式、分辨率等不匹配,所以作为本发明的一种实施方式,在获得基层图像数据的目标图像数据之前,可以对基层图像数据进行图像变换,然后通过图像变换后的基层图像数据来获得目标图像数据,以使得最终获得的目标图像数据满足预设的图像格式或分辨率等要求。例如,预先设置所需要的目标图像数据的图像格式为YUV格式,基层图像数据的图像格式为RGB格式,则可以先对基层图像数据进行图像格式变换,由RGB格式变换到YUV格式,再通过转换图像格式后的基层图像数据获得图像格式为YUV格式的目标图像数据。
可以理解,在本发明实施例中,上述电子设备中必须包含有显卡,才能使电子设备获得上述目标图像数据;而由于具有显卡的电子设备数量较多,所以本发明实施例在不用增加额外部件的情况下,就可以适用于大多数的电子设备,即本发明实施例的通用性好。
另外,如图1所示,执行步骤S101后,分别执行步骤S102和步骤S103,步S102和S103两个步骤的执行互不影响,进而保证了两路码流数据生成的高同步性;而且两路码流数据的生成过程没有先后顺序,是一个并行过程,生成两路码流数据所需时间短,因而两路码流数据的生成效率高。
S104:对目标图像数据进行视频编码,获得另一路码流数据。
对目标图像数据进行视频编码与前述S102中对基层图像数据进行视频编码相类似,也就是说可以直接对目标图像数据进行视频编码,也可以先对目标图像数据进行图像变换,然后再对图像变换后的目标图像数据进行视频编码,详细过程可参考S102的描述,这里不再重复。
例如,目标图像数据的图像格式为RGB格式,为了使得到的码流数据的格式为YUV格式,可以在对目标图像数据进行视频编码前,对目标图像数据进行格式转换,由RGB格式变换到YUV格式,再对格式转换后的目标图像数据进行视频编码。
应该说明的是,为便于用户后期查看或者通过网络传输本发明实施例中所获得的码流数据,无论是在步骤S102还是在步骤S104中获得码流数据后,都还可以对对应获得的码流数据进行打包、封装等处理。
基于上述情况,上述电子设备生成两路码流数据后,还可以选择将其所生成的两路码流数据中的任意一路码流数据存储在本地,而将另一路码流数据通过网络发送至网络端。
受前述显示部件所能够支持的最大图像分辨率等因素的影响,上述目标图像数据的分辨率往往小于基层图像数据的分辨率,因此,步骤S104获得的码流数据(以下称为第二码流数据)的数据量往往小于步骤S102获得的码流数据(以下称为第一码流数据)的数据量,所以,作为本发明的一种实施方式,上述电子设备可以将上述第一码流数据存储在本地,而将第二码流数据通过网络发送至网络端。由于第二码流数据的数据量小于第一码流数据的数据量,将第二码流数据发送至网络端能够有效降低对网络带宽的要求,防止出现网络拥塞,提高数据传输成功的概率。
由以上可知,本实施例提供的方案中,首先获得基层图像数据;然后对基层图像数据进行视频编码,获得一路码流数据,同时获得基层图像数据的目标图像数据,并对目标图像数据进行视频编码,获得另一路码流数据;其中,该目标图像数据为:待通过显卡显示的图像数据。与现有技术相比,本实施例提供的方案中,两路码流数据的生成过程是并行进行的,既可保证生成两路码流数据的高同步性,又提高了两路码流的生成效率;而且本发明实施例不需要增加额外的部件,通用性好。
在本发明实施例中,如图2所示,在图1所示方法实施例的基础上,上述方法还可以包括:
S105:通过显卡显示目标图像数据。
在本发明实施例中,上述目标图像数据除了被用于进行视频编码外,还通过显卡显示出来。可以理解,电子设备在获得基层图像数据的同时,还可以在本地实时显示图像数据,例如,手机拍摄视频时,会将拍摄到的图像数据实时显示在手机屏幕上,方便用户及时、直观的了解所拍摄的视频。
由前面的描述得知,上述第二码流数据可能会存储在本地,也可能会被发送至网络端,受本地存储空间、网络环境等因素的影响,可能需要上述第二码流数据在满足基本需求的前提下,数据量越小越好,以满足满足存储空间有限或者网络带宽有限的环境。鉴于此,在本申请的一种实现方式中,如图3所示,在图2所示方法实施例的基础上,上述方法还可以包括:
S106:根据预设的编码条件,判断是否要对目标图像数据进行视频编码;
若为是,执行上述对目标图像数据进行视频编码,获得另一路码流数据(S104)的步骤。
可以理解,一种情况下,电子设备可以对每帧目标图像数据进行视频编码,另一种情况下,电子设备也可以按照预设的编码条件来决定是否对目标图像数据进行视频编码,例如,为了减小码率,电子设备可以只对获得的奇数帧目标图像数据进行视频编码,而对获得的偶数帧目标图像数据不进行视频编码。
例如,在本发明实施例中,可以按照目标图像数据的获得顺序为目标图像数据依次标记帧序列号1、2、3…,在要对目标图像数据进行视频编码前,判断该目标图像数据被标记的帧序列号是否为奇数,若为是,则执行上述对目标图像数据进行视频编码,获得另一路码流数据(S104)的步骤,否则不执行步骤S104。
也就是说,上述预设的编码条件可以理解为:用于判断是否要对目标图像进行视频编码的条件,该编码条件可以与由前述第二码流数据对应的输出帧率、基层图像数据的采集帧率等因素确定的,本申请仅仅以此为例进行说明,并不对本申请构成限定。
本领域内技术人员可以理解的是,在进行图像数据采集以及视频编码过程中,往往会存在图像采集速度与视频编码速度不匹配的情况,为保证能够正常进行视频编码,上述目标图像数据往往先存储在缓冲区域中,待电子设备中的编码部件存在可用资源时,再按照进入缓冲区域的顺序进行编码,也就是说目标图像数据可能会在上述缓冲区域中等待一段时间,该缓冲区域中也可能会存在一帧以上基层图像数据的目标图像数据。这样为便于后续对缓冲区域中存储的图像数据进行视频编码,知道哪些是要进行视频编码的,哪些是不需要进行视频的,可以对缓冲区与中存储的图像数据进行标记加以区分。
基于上述情况,在本发明的一个实施例中,为了标识上述判断结果,方便电子设备直接去识别目标图像数据是否被判定为需要进行视频编码,上述方法还可以包括:
在判定要对目标图像数据进行视频编码的情况下,为目标图像数据添加第一标签;
此时,上述对目标图像数据进行视频编码,获得另一路码流数据(S104)的步骤,则可以包括:
在目标图像数据添加有第一标签的情况下,对目标图像数据进行视频编码,获得另一路码流数据。
例如,预先设置标签a表示需要进行视频编码的标签,则对于某一目标图像数据,判定要对其进行视频编码时,可以在该目标图像数据上添加一个头包,并在头包内添加标签a;在要对该目标图像数据进行视频编码前,判断该目标图像数据是否被添加有标签a,若为是,则对目标图像数据进行视频编码,否则,不对该目标图像数据进行视频编码。
应该说明的是,在本发明实施例中,目标图像数据既被用来进行视频编码,又被用来进行图像显示,也就是目标图像数据被重复利用。具体的,由于实际应用中,不允许同时操作同一内存空间,所以可以是先对目标图像数据进行视频编码,再显示目标图像数据,最后释放该目标图像数据;也可以是先显示目标图像数据,再对目标视频图像数据进行视频编码,最后释放该目标图像数据,对于目标图像数据的被利用顺序,本发明实施例在此不做限制。另外,从上述情况看仅仅涉及到的是两次对同一内存空间的访问操作,并未进行内存拷贝,进而不会需要占用额外的内存资源。
由上可知,目标图像数据在被用于进行视频编码后,该目标图像数据可能不会被立即释放,此时可能会出现重复检测到同一带有第一标签的图像数据未完成视频编码的现象,进而导致该图像数据被重复编码,所以,为了避免上述目标图像数据被重复用于进行视频编码,上述方法还可以包括:
对目标图像数据完成视频编码后,删除目标图像数据的第一标签。
可以理解,目标图像数据的第一标签被删除后,该目标图像数据不再含有该第一标签,电子设备不会再对目标图像数据进行视频编码。例如,电子设备判定出目标图像数据包含有第一标签a,则对该目标图像数据进行视频编码,在对该目标图像数据进行视频编码后,删除该第一标签a,则电子设备不会再次对该目标图像数据进行视频编码。
另外,应该说明的是,电子设备可以显示每一帧目标图像数据,同时,也可以按照预设的显示条件来决定是否显示某一目标图像数据,例如,电子设备对本地显示的视频帧率要求较低,可以只显示部分目标图像数据。与前述添加第一标签的情况类似,本发明的另一实施例中:在上述获得基层图像数据的目标图像数据(S103)的步骤之后,上述方法还可以包括:
为目标图像数据添加第二标签,其中,第二标签用于表示图像数据为需要显示的图像数据;
上述通过显卡显示目标图像数据(S105)的步骤,可以包括:
在目标图像数据添加有第二标签的情况下,通过显卡显示目标图像数据。
例如,在获得目标图像数据A后,直接为目标图像数据A添加一个头包,并在头包内添加一个表示需要进行显示的标签b;当然,如果目标数据图像数据A上已被添加上包含有上述第一标签的头包,则此时可以直接在该头包内添加标签b。电子设备在目标图像数据A的头包内包含有标签b的情况下,显示目标图像数据A。
另一种情况下,本发明实施例还可以预先设置显示规则:每间隔两个图像数据后,显示一次目标图像数据,如:
按照目标图像数据的获得顺序为目标图像数据依次标记帧序列号1、2、3…,在要显示目标图像数据前,判断该目标图像数据对应的帧序列号是否等于1+3n的关系,其中,n为0或任一正整数;如果是,则为目标图像数据添加第二标签b;如果否,则不添加第二标签b。
可以理解,在电子设备需要同时实时显示所获得的图像数据的情况下,本发明实施例复用了待通过显卡显示的图像数据,即复用了目标图像数据,不需要对目标图像数据进行内存拷贝操作,因此对电子设备的内存和CPU等资源的占用少。
应该说明,与第一标签相同的是,为了防止电子设备重复显示某一目标图像数据,上述方法还可以包括:
通过显卡显示目标图像数据后,删除目标图像数据的第二标签。
作为本发明的一种实施方式,在电子设备中可以设置有一个帧缓冲复用模块,用于:从前述显示通路中截取电子设备所生成的目标图像数据;根据预设的编码条件以及预设的显示条件,判断是否在目标图像数据上添加上述第一标签和/或第二标签;在目标图像数据上添加有第一标签的情况下,将目标图像数据发送给电子设备的编码模块,以使得编码模块对目标图像数据进行视频编码,并在视频编码后,帧缓冲复用模块删除目标图像数据的第一标签;在目标图像数据上添加有第二标签的情况下,将目标图像数据发送给电子设备的显示模块,以使得显示模块显示该目标图像数据,并在显示后,帧缓冲复用模块删除目标图像数据的第二标签;在目标图像数据的第一标签和第二标签均被删除的情况下,删除该目标图像数据。
例如,帧缓冲复用模块从前述显示通路中截取到一目标图像数据B,根据预设的编码条件以及预设的显示条件,判定在目标图像数据B上添加上述第一标签和第二标签;而后,帧缓冲复用模块将目标图像数据B发送给电子设备的编码模块,以使得编码模块对目标图像数据B进行视频编码,并在视频编码后,帧缓冲复用模块删除目标图像数据B的第一标签;然后帧缓冲复用模块再将目标图像数据B发送给电子设备的显示模块,以使得显示模块显示该目标图像数据,并在显示后,帧缓冲复用模块删除目标图像数据B的第二标签;最后,帧缓冲复用模块删除该目标图像数据B。
下面通过一个实例,从与现有技术进行对比的角度对本发明实施例进行介绍。
移动执法设备拍摄现场视频时,其作为前端设备,不仅需要将基于实时采集的高清图像数据所获得的一路码流数据存储到内置存储空间中,还需要通过网络向后台指挥中心传输另一路码流数据,以使得后台指挥中心能够实时关注执法现场并指导执法人员的现场操作,并且移动执法设备上设置有显示屏,该显示屏可以实时显示采集到的图像数据。
移动执法设备上大都搭载Android系统,而Android系统本身的图像采集系统只支持一路基层图像数据出一路码流数据,无法满足移动执法场景的使用需求;目前传统基于Android系统的移动执法设备为了实现在本地存储码流数据的同时通过网络向外发送码流数据的目的,可以采用下述三种方法。
第一种方法中,本地存储的码流数据和向外发送的码流数据为同一路码流数据,即一路基层图像数据仍然只生成一路码流数据,生成的一路码流数据既会被存储到本地,也会被通过网络发送给上述后台指挥中心。
但是,由于存储在本地的码流数据需要作为执法证据,因此该类码流数据的质量较高,例如需要为高清码流数据;显然的,第一种方法中,本地存储的码流数据和向外发送的码流数据为同一路码流数据,所以向外发送的码流数据同样为高清码流数据,这样会导致移动执法设备向外发送码流数据时,所发送的码流数据占用非常大的带宽,容易导致网络拥塞及码流数据丢失的问题,反而严重影响后台指挥中心的实时监控效果。
第二种方法中,在第一种方法中涉及的码流数据生成方法的基础上,在移动执法设备上添加硬件,以通过该硬件缩小需要向外发出的码流数据的分辨率。但是,第二种方法中,对额外增加的硬件要求高,另一方面,该硬件需要额外增加,可移植性差,增加了移动执法设备的成本。
第三种方法中,移动执法设备首先生成一路码流数据,然后对生成的码流数据进行内存拷贝,再通过软件对拷贝获得的码流数据进行降分辨率处理,得到低分辨率的码流数据,首先获得的一路码流数据可以存储到本地,而后面获得的低分辨率的码流数据则可以发送给上述后台指挥中心。
可以理解,第三种方法不但需要进行降分辨率处理,还需要进行内存拷贝处理,会额外占用非常多的设备资源,严重影响设备性能;而且,低分辨率的一路码流数据需要在最先生成的一路码流数据生成后,再进行内存拷贝和降分辨率处理后才能获得,两路码流数据的生成效率低,而且造成生成的两路码流数据的同步性差,导致后台指挥中心接收到的实时码流数据延迟严重的问题。
本发明实施例中,移动执法设备直接对采集到的基层图像数据A进行视频编码,获得码流数据B1;同时,获得对应于基层图像数据A并且降分辨率处理后的目标图像数据,然后,在目标图像数据上添加上述第一标签和第二标签,此时,移动执法设备先对该目标图像数据进行视频编码,获得码流数据B2,并在编码后删除该目标图像数据上的第二标签;再显示目标图像数据,并在显示后删除该目标图像数据上的第一标签;在目标图像数据上既不具有第一标签也不具有第二标签的情况下,移动执法设备释放即删除该目标图像数据。
利用本发明实施例提供的方法,可以将码流数据B1存储在本地,而将码流数据B2通过网络发送给后台指挥中心,由于码流数据B2的分辨率低,移动执法设备向外发送码流数据时,向外发送的码流数据占用的带宽小,不会出现网络拥挤和码流数据丢失的现象;而且,两路码流数据的生成过程是并列进行的,既保证生成两路码流数据的高同步性,又提高了两路码流的生成效率;避免了后台指挥中心接收实时码流数据时,存在的延迟严重的问题;此外,由于码流数据B2是对目标图像数据的重复利用而获得的,不需要对目标图像数据进行内存拷贝,所以码流数据B2的生成对移动执法设备的内存、CPU等资源占用少。
与图1所示方法实施例相对应,本发明实施例还提供了一种码流数据生成装置,如图4所示,所述装置包括:
第一获得模块110,用于获得基层图像数据;
第一视频编码模块120,用于对所述基层图像数据进行视频编码,获得一路码流数据;
第二获得模块130,用于获得所述基层图像数据的目标图像数据,其中,所述目标图像数据为:待通过显卡显示的图像数据;
第二视频编码模块140,用于对所述目标图像数据进行视频编码,获得另一路码流数据。
由以上可知,本实施例提供的方案中,首先获得基层图像数据;然后对基层图像数据进行视频编码,获得一路码流数据,同时获得基层图像数据的目标图像数据,并对目标图像数据进行视频编码,获得另一路码流数据;其中,该目标图像数据为:待通过显卡显示的图像数据。与现有技术相比,本实施例提供的方案中,两路码流数据的生成过程是并行进行的,既可保证生成两路码流数据的高同步性,又提高了两路码流的生成效率;而且本发明实施例不需要增加额外的部件,通用性好。
相应于图2所示方法实施例,在图4所示装置实施例的基础上,如图5所示,所述装置可以还包括:
显示模块150,用于通过显卡显示所述目标图像数据。
相应于图3所示方法实施例,在图5所示装置实施例的基础上,如图6所示,所述装置还可以包括:
判断模块160,用于根据预设的编码条件,判断是否要对所述目标图像数据进行视频编码;若为是,触发所述第二视频编码模块140。
作为本发明的一种实施方式,所述装置还可以包括:
第一添加模块(图中未示出),用于在判定要对所述目标图像数据进行视频编码的情况下,为所述目标图像数据添加第一标签;
此情况下,所述第二视频编码模块140,可以具体用于:
在所述目标图像数据添加有所述第一标签的情况下,对所述目标图像数据进行视频编码,获得另一路码流数据。
作为本发明的一种实施方式,所述装置还可以包括:
第一删除模块(图中未示出),用于对所述目标图像数据完成视频编码后,删除所述目标图像数据的所述第一标签。
作为本发明的一种实施方式,所述装置还可以包括:
第二添加模块(图中未示出),用于在获得所述目标图像数据后,为所述目标图像数据添加第二标签,其中,所述第二标签用于表示图像数据为需要显示的图像数据;
此时,所述显示模块可以具体用于:在所述目标图像数据添加有所述第二标签的情况下,通过显卡显示所述目标图像数据。
作为本发明的一种实施方式,所述装置还可以包括:
第二删除模块(图中未示出),用于通过显卡显示所述目标图像数据后,删除所述目标图像数据的所述第二标签。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (14)

1.一种码流数据生成方法,其特征在于,应用于具有显卡的电子设备,所述显卡具有显卡特性和参数要求,所述方法包括:
获得基层图像数据;
对所述基层图像数据进行视频编码,获得一路码流数据;
获得所述基层图像数据的目标图像数据,其中,所述目标图像数据是根据所述显卡特性和所述参数要求对所述基层图像数据处理后得到的图像数据;
对所述目标图像数据进行视频编码,获得另一路码流数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过显卡显示所述目标图像数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据预设的编码条件,判断是否要对所述目标图像数据进行视频编码;
若为是,执行所述对所述目标图像数据进行视频编码,获得另一路码流数据的步骤。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在判定要对所述目标图像数据进行视频编码的情况下,为所述目标图像数据添加第一标签;
所述对所述目标图像数据进行视频编码,获得另一路码流数据的步骤,包括:
在所述目标图像数据添加有所述第一标签的情况下,对所述目标图像数据进行视频编码,获得另一路码流数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
对所述目标图像数据完成视频编码后,删除所述目标图像数据的所述第一标签。
6.根据权利要求2-5中任一项所述的方法,其特征在于,在所述获得所述基层图像数据的目标图像数据的步骤之后,所述方法还包括:
为所述目标图像数据添加第二标签,其中,所述第二标签用于表示图像数据为需要显示的图像数据;
所述通过显卡显示所述目标图像数据的步骤,包括:
在所述目标图像数据添加有所述第二标签的情况下,通过显卡显示所述目标图像数据。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
通过显卡显示所述目标图像数据后,删除所述目标图像数据的所述第二标签。
8.一种码流数据生成装置,其特征在于,应用于具有显卡的电子设备,所述显卡具有显卡特性和参数要求,所述装置包括:
第一获得模块,用于获得基层图像数据;
第一视频编码模块,用于对所述基层图像数据进行视频编码,获得一路码流数据;
第二获得模块,用于获得所述基层图像数据的目标图像数据,其中,所述目标图像数据是根据所述显卡特性和所述参数要求对所述基层图像数据处理后得到的图像数据;
第二视频编码模块,用于对所述目标图像数据进行视频编码,获得另一路码流数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
显示模块,用于通过显卡显示所述目标图像数据。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
判断模块,用于根据预设的编码条件,判断是否要对所述目标图像数据进行视频编码;若为是,触发所述第二视频编码模块。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第一添加模块,用于在判定要对所述目标图像数据进行视频编码的情况下,为所述目标图像数据添加第一标签;
所述第二视频编码模块,具体用于:
在所述目标图像数据添加有所述第一标签的情况下,对所述目标图像数据进行视频编码,获得另一路码流数据。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一删除模块,用于对所述目标图像数据完成视频编码后,删除所述目标图像数据的所述第一标签。
13.根据权利要求9-12中任一项所述的装置,其特征在于,所述装置还包括:
第二添加模块,用于在获得所述目标图像数据后,为所述目标图像数据添加第二标签,其中,所述第二标签用于表示图像数据为需要显示的图像数据;
所述显示模块具体用于:在所述目标图像数据添加有所述第二标签的情况下,通过显卡显示所述目标图像数据。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二删除模块,用于通过显卡显示所述目标图像数据后,删除所述目标图像数据的所述第二标签。
CN201710108426.2A 2017-02-27 2017-02-27 一种码流数据生成方法及装置 Active CN108512812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710108426.2A CN108512812B (zh) 2017-02-27 2017-02-27 一种码流数据生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710108426.2A CN108512812B (zh) 2017-02-27 2017-02-27 一种码流数据生成方法及装置

Publications (2)

Publication Number Publication Date
CN108512812A CN108512812A (zh) 2018-09-07
CN108512812B true CN108512812B (zh) 2020-11-06

Family

ID=63374148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710108426.2A Active CN108512812B (zh) 2017-02-27 2017-02-27 一种码流数据生成方法及装置

Country Status (1)

Country Link
CN (1) CN108512812B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030080878A1 (en) * 2001-10-30 2003-05-01 Kirmuss Charles Bruno Event-based vehicle image capture
JP5286050B2 (ja) * 2008-11-28 2013-09-11 株式会社日立国際電気 符号化−復号化装置および映像伝送システム
CN102625082A (zh) * 2012-02-29 2012-08-01 中山大学 一种视频监控系统
CN104702909B (zh) * 2014-04-17 2018-11-06 杭州海康威视数字技术股份有限公司 视频数据的处理方法及装置
CN106534857A (zh) * 2016-11-02 2017-03-22 深圳市维海德技术股份有限公司 码流传输方法及基于usb的摄像机
WO2019041227A1 (zh) * 2017-08-31 2019-03-07 深圳市锐明技术股份有限公司 车载安防监控方法、系统及终端设备

Also Published As

Publication number Publication date
CN108512812A (zh) 2018-09-07

Similar Documents

Publication Publication Date Title
US9699099B2 (en) Method of transmitting data in a communication system
CN106162235A (zh) 用于切换视频流的方法和装置
CN107736019B (zh) 车载安防监控方法、系统及终端设备
CN110392306B (zh) 一种数据处理方法以及设备
CN107155093B (zh) 一种视频预览方法、装置及设备
CN106453572B (zh) 基于云服务器同步图像的方法及系统
CN111818295B (zh) 一种图像获取方法及装置
CN112272226B (zh) 图片加载方法、装置及可读存储介质
CN110691282B (zh) 视频处理方法、装置、存储介质及电子设备
CN110545472B (zh) 视频数据的处理方法、装置、电子设备及计算机可读介质
US11671678B2 (en) Method and device, equipment, and storage medium for data processing
CN112218034A (zh) 视频处理方法、系统、终端和存储介质
CN111352957A (zh) 远程字典服务优化方法及相关设备
CN111918142B (zh) 国标视频码流转rtp流的平顺方法、装置、设备及介质
CN111859210A (zh) 图像处理方法、装置、设备及存储介质
CN102770827A (zh) 用于在终端的屏幕上显示多媒体内容的方法
CN113259729B (zh) 数据切换的方法、服务器、系统及存储介质
CN108512812B (zh) 一种码流数据生成方法及装置
CN112291588A (zh) 显示内容的共享方法及装置、设备、可读存储介质
CN111083145A (zh) 消息发送方法、装置及电子设备
EP3447986B1 (en) Information processing device, information processing system, and information processing method
CN114040189A (zh) 多媒体测试方法、装置、存储介质及电子设备
CN111131777B (zh) 一种视联网监控的查看方法和装置
CN114390346A (zh) Rtsp转rtmp协议的媒体资源处理方法及装置
CN111385081A (zh) 一种端到端的通信方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant