CN110536123B - 视频数据处理方法、装置、计算机设备和存储介质 - Google Patents
视频数据处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110536123B CN110536123B CN201910835484.4A CN201910835484A CN110536123B CN 110536123 B CN110536123 B CN 110536123B CN 201910835484 A CN201910835484 A CN 201910835484A CN 110536123 B CN110536123 B CN 110536123B
- Authority
- CN
- China
- Prior art keywords
- data
- transcoding
- preset
- processing
- video
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Controls And Circuits For Display Device (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请涉及视频处理领域,尤其是一种视频数据处理方法、装置、计算机设备和存储介质。所述方法应用于显卡中,包括:接收操作系统发送的视频数据;对所述视频数据进行解码得到解码数据;通过预设转码逻辑对所述解码数据进行转码操作得到转码数据;根据预设前置处理逻辑对所述转码数据进行前置处理得到初始数据;对所述初始数据进行序列化处理得到预设格式的序列化后数据;将所述序列化后数据输入至预设模型中进行处理得到模型处理结果;将所述模型处理结果返回至所述操作系统。采用本方法能够减少资源浪费以及时间消耗。
Description
技术领域
本申请涉及计算机视觉技术领域,特别是涉及一种视频数据处理方法、装置、计算机设备和存储介质。
背景技术
随着计算机视觉技术的发展,出现了人工智能显示技术,该人工智能显示技术针对视频处理需要实时处理每秒处理25帧以上的高清实时图像,鉴于目前的方式:视频数据从操作系统中传入密集计算单元做解码处理,解码后数据从密集计算单元传到操作系统中做转码处理、分辨率大小修改、以及其他模型推理前置处理,在将处理后数据从操作系统传入密集计算单元中做推理操作,推理完毕后在将结果从密集计算单元中传到操作系统中做结果分析。
然而,目前对视频数据的处理方式中,存在一次编码输出传入操作、一次解码数据传出操作、一次前置处理后数据传入操作以及一次推理后数据传出操作。在这四次操作中,解码数据传出和前置处理后数据传入俩个因数据为图像原始数据,数据量巨大,以1080P图片计算传入传出数据量为:YUV数据传出操作:77760000次/秒。RGB数据传入操作:155520000次/秒。这些操作降低整体系统的性能、造成了cpu的浪费以及时间消耗。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少cpu的浪费以及时间消耗的视频数据处理方法、装置、计算机设备和存储介质。
一种视频数据处理方法,所述方法包括:
接收操作系统发送的视频数据;
对所述视频数据进行解码得到解码数据;
通过预设转码逻辑对所述解码数据进行转码操作得到转码数据;
根据预设前置处理逻辑对所述转码数据进行前置处理得到初始数据;
对所述初始数据进行序列化处理得到预设格式的序列化后数据;
将所述序列化后数据输入至预设模型中进行处理得到模型处理结果;
将所述模型处理结果返回至所述操作系统。
在其中一个实施例中,所述通过预设转码逻辑对所述解码数据进行转码操作得到转码数据,包括:
根据所述解码数据中图像的尺寸计算得到存储转码后的转码数据的显存大小,并申请与所述显存大小对应的第一空白显存;
将所述解码数据转码为转码数据并存储至所述第一空白显存中,且删除所述解码数据。
在其中一个实施例中,所述根据所述解码数据中图像的尺寸计算得到显存大小,包括:
根据所述解码数据中图像的宽度、高度以及存储所述图像中每一个像素所需的字节数,计算存储所述图像所需的显存大小。
在其中一个实施例中,所述解码数据为YUV格式,所述转码数据为RGB数据;所述将所述解码数据转码为转码数据并存储至所述第一空白显存中,包括:
将YUV格式的所述解码数据转码为RGB数据;
当所述RGB数据中存在小于第一预设值的数据时,则将小于第一预设值的数据替换为所述第一预设值;
当所述RGB数据中存在大于第二预设值的数据时,则将大于第二预设值的数据替换为所述第二预设值;
将替换后的RGB数据存储至所述第一空白显存中。
在其中一个实施例中,所述根据预设前置处理逻辑对所述转码数据进行前置处理得到初始数据,包括:
将所述转码数据进行分辨率转化为预设分辨率的转码数据;
对进行分辨率转化后的转码数据进行归一化处理得到所述初始数据,并将所述初始数据存放在显存中,并删除存储在所述第一空白显存中的所述转码数据。
在其中一个实施例中,所述对进行分辨率转化后的转码数据进行归一化处理得到初始数据之前,还包括:
获取进行分辨率转化后的转码数据对应的图像的空缺像素;
通过预设填充像素对所述空缺像素进行填充。
在其中一个实施例中,所述对所述初始数据进行序列化处理得到预设格式的序列化后数据,包括:
申请与所述初始数据的大小对应的第二空白显存;
对所述初始数据进行序列化处理得到预设格式的序列化后数据,并将所述序列化后数据存储在所述第二空白显存中,删除存放在显存中的所述初始数据。
一种视频数据处理装置,所述装置包括:
接收模块,用于接收操作系统发送的视频数据;
解码模块,用于对所述视频数据进行解码得到解码数据;
转码模块,用于通过预设转码逻辑对所述解码数据进行转码操作得到转码数据;
前置处理模块,用于根据预设前置处理逻辑对所述转码数据进行前置处理得到初始数据;
序列化处理模块,用于对所述初始数据进行序列化处理得到预设格式的序列化后数据;
模型处理模块,用于将所述序列化后数据输入至预设模型中进行处理得到模型处理结果;
发送模块,用于将所述模型处理结果返回至所述操作系统。
一种计算机设备,包括存储器、处理器及显存,所述存储器存储有计算机程序,所述显存执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被显存执行时实现上述任一项所述的方法的步骤。
上述视频数据处理方法、装置、计算机设备和存储介质,显卡接收到操作系统发送的视频数据,对视频数据进行解码得到解码数据后,并不直接将解码数据发送给操作系统,而是显卡通过预设转码逻辑对解码数据进行转码操作得到转码数据,然后通过预设前置处理逻辑对转码数据进行前置处理得到初始数据,且对初始数据进行序列化处理得到序列化后数据,即对解码数据的解码、前置操作以及序列化处理均在显卡中进行,从而在得到序列化后数据后,可以将序列化后数据输入至预设模型中得到模型处理结果,显卡直接将模型处理结果发送给操作系统即可,这样不需要显卡将解码数据发送给操作系统,且对解码数据的解码、前置操作以及序列化处理均在显卡中进行,而不是在操作系统中进行,可以减少cpu的浪费,且也不需要操作系统将序列化后数据发送给显卡,可以减少传输,从而减少时间消耗。
附图说明
图1为一个实施例中视频数据处理方法的应用环境图;
图2为一个实施例中视频数据处理方法的流程示意图;
图3为一个实施例中视频数据处理方法的时序图;
图4为一个实施例中视频数据处理装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的视频数据处理方法,可以应用于如图1所示的应用环境中。其中,操作系统102与显卡104进行通信,需要注意的是,本申请中仅以显卡104为例进行说明,该显卡104还可以替换为其他的SOC模式芯片,或者具备密集计算能力的计算单元/模块/设备等。其中,操作系统102在获取到视频数据后,将视频数据的文件格式或流格式去掉得到裸数据,并将裸数据传入显卡104中,从而显卡104可以对视频数据对应的裸数据进行解码操作得到解码数据,且得到解码数据后,显卡104并不直接将解码数据发送给操作系统102,而是继续在显卡104中对解码数据按照预设转码逻辑进行转码操作得到转码数据,然后按照预设前置处理逻辑对转码数据进行前置处理得到初始数据,再对初始数据进行序列化处理得到序列化后数据,且在显卡104中将序列化后数据输入至预设模型中进行处理得到模型处理结果,显卡104将所得到的模型处理结果返回给操作系统即可,这样一方面显卡104不需要将解码数据发送给操作系统,可以减少数据传输,减少时间消耗。此外,操作系统不需要对解码数据进行转码操作、前置处理以及序列化处理等,可以减少操作系102的资源消耗(显卡104作为密集计算单元/模块/设备,可以更高效的处理上述的步骤),进而更不需要操作系统102将处理后的序列化后数据发送给显卡104,从而又可以减少数据传输,减少时间消耗。其中,操作系统102可以但不限于是ubuntu,显卡104包括但不限于N卡,其可以扩展多个N卡。
在一个实施例中,如图2所示,提供了一种视频数据处理方法,以该方法应用于图1中的显卡为例进行说明,包括以下步骤:
S202:接收操作系统发送的视频数据。
具体地,操作系统首先接收到外部传来的视频数据,然后将视频数据的文件格式或流格式去掉,得到h264、h265或者其他压缩后的裸数据,再将所得到的裸数据传入到显卡的显存中,以保存在显存中。即显卡接收到操作系统发送的视频数据后,将视频数据保存到显存中。
S204:对视频数据进行解码得到解码数据。
具体地,显卡可以调用显卡的计算能力将裸数据解码为NV12格式,即解码数据是NV12格式的数据。例如,显卡首先调用显卡的计算能力对裸数据进行解码操作,然后解码后得到的NV12数据暂不转出,仅是传出NV12数据在显存中的位置、宽高以及数据长度等信息,以便于显卡继续处理。
S206:通过预设转码逻辑对解码数据进行转码操作得到转码数据。
S208:根据预设前置处理逻辑对转码数据进行前置处理得到初始数据。
S210:对初始数据进行序列化处理得到预设格式的序列化后数据。
显卡本身具有一定的计算能力,其可以用来完成解码后的数据的转码以及其他前置处理操作,保证了流程的完整性和准确性的同时,减少了数据在操作系统和显卡之间来回传输造成的不必要的系统资源的浪费和时间成本的浪费。
具体地,转码操作是指将解码数据转换成转码数据,其中解码数据是YUV数据,转码数据是RGB格式,即将YUV数据转换成RGB数据。前置处理操作是指对转码数据进行分辨率转换,该过程需要利用显卡的计算能力(N卡为利用nvcc编译器,来调用计算能力)实现归一化接口,序列化处理是指将进行分辨率转换后的RGB数据按照RRRGGGBBB的格式进行存储,即将原来的RGB、RGB、RGB的存储格式转换成RRRGGGBBB的存储格式。
其中,上述的转码操作、前置处理以及序列化操作均是在显卡中进行的,具体地,在进行转码操作前,显卡首先申请第一空白显存,该第一空白显存的大小与解码数据的尺寸相关,从而将解码数据进行转码,并转码后的转码数据存储在第一空白显存,且在转码结束后释放原来的解码数据,然后输出转码处理所得到的转码数据的显存位置、宽高以及长度信息等;然后显卡对转码数据进行前置处理,其中也是需要申请另一第三空白显存,然后对转码数据进行前置处理后存在所申请的第三空白显存中,在前置处理结束后,将转码数据进行释放,然后输出前置处理所得到的初始数据的显存位置、宽高以及长度信息等。从而显卡对初始数据进行序列化处理,即申请一段第二空白显存,该第二空白显存的大小与初始数据的大小相等,从而显卡将初始数据进行序列化处理后存储到第二空白显存中,且在序列化处理后,释放初始数据。
S212:将序列化后数据输入至预设模型中进行处理得到模型处理结果。
具体地,预设模型是人工智能处理模型,显卡将序列化后数据输入至预设模型中得到经过模型处理的模型处理结果,例如识别出序列化后数据中的人脸数据,则该模型处理结果即为人脸数据。
S214:将模型处理结果返回至操作系统。
具体地,显卡在处理得到模型处理结果后,直接将模型处理结果返回至操作系统,例如将人脸数据返回至操作系统,从而操作系统可以根据返回的人脸数据进行渲染和显示。
上述实施例中基于目前的硬件系统一台计算机系统中通常只有一个处理器cpu,但是可以搭配扩展多个显卡,因此为了减少对处理器cpu的运算力的消耗,将处理器cpu的运算挪到显卡里进行,即利用显卡的计算能力代替处理器cpu来做一次强计算类的处理,减少对处理器cpu的消耗以及减少数据在传输过程中对gpu运算力的消耗,从而可以解决一颗处理器cpu可以尽可能多的处理多路实时视频数据。且当显卡的处理能力不够的时候,可以通过扩展多个显卡来提高处理能力,保证了对多路实时视频数据的处理。
上述视频数据处理方法,显卡接收到操作系统发送的视频数据,对视频数据进行解码得到解码数据后,并不直接将解码数据发送给操作系统,而是显卡通过预设转码逻辑对解码数据进行转码操作得到转码数据,然后通过预设前置处理逻辑对转码数据进行前置处理得到初始数据,且对初始数据进行序列化处理得到序列化后数据,即对解码数据的解码、前置操作以及序列化处理均在显卡中进行,从而在得到序列化后数据后,可以将序列化后数据输入至预设模型中得到模型处理结果,显卡直接将模型处理结果发送给操作系统即可,这样不需要显卡将解码数据发送给操作系统,且对解码数据的解码、前置操作以及序列化处理均在显卡中进行,而不是在操作系统中进行,可以减少操作系统cpu的消耗,且也不需要操作系统将序列化后数据发送给显卡,可以减少传输的性能消耗,此外省略掉了显卡与操作系统的两次数据传输,这样可以减少该两次数据传输的时间消耗,进而可以提高数据处理的效率。
在其中一个实施例中,通过预设转码逻辑对解码数据进行转码操作得到转码数据,包括:根据解码数据中图像的尺寸计算得到转码后的转码数据的显存大小,并申请与显存大小对应的第一空白显存;将解码数据转码为转码数据并存储至第一空白显存中,且删除解码数据。
在其中一个实施例中,根据解码数据中图像的宽高计算得到显存大小,包括:根据解码数据中图像的宽度、高度以及存储图像中每一个像素所需的字节数,计算存储图像所需的显存大小。
在其中一个实施例中,解码数据为YUV格式,转码数据为RGB格式,将解码数据转码为转码数据并存储至第一空白显存中,包括:将YUV格式的解码数据转码为RGB数据;当RGB数据中存在小于第一预设值的数据时,则将小于第一预设值的数据替换为第一预设值;当RGB数据中存在大于第二预设值的数据时,则将大于第二预设值的数据替换为第二预设值;将替换后的RGB数据存储至第一空白显存中,即将替换为第一预设值的RGB数据和替换为第二预设值的RGB数据以及没有替换的RGB数据存储至第一空白显存中。
具体地,显卡对解码数据进行转码具体可以包括以下步骤:
首先显卡获取到解码数据的图像宽高、数据长度等数据,根据图像宽高计算得到第一空白显存的大小,然后申请与空白显存大小相等的第一空白显存:
size=((w+15)/16*16)*((h+15)/16*16)*m (1)
其中,size为显存大小,w为解码数据中图像的宽,h为解码数据中图像的高,m为存储一个像素所需要的字节数,在一个实施例中,m为3。
其次,在申请了第一空白显存后,显卡对解码数据进行转码,具体可以通过以下公式进行:
其中,n为NV12格式的解码数据从起始地址的偏移量,需要使用nvcc编译器实现NV12_2_RGB转化接口,x和y是平面化的坐标,Y、U、V是NV12格式的解码数据对应的数据色彩值,也可以称为解码数据为YUV格式,R、G、B是转码数据的色彩值,h为解码数据中图像的高,w为解码数据中图像的宽。data_src是源数据的意思,%是取余数的意思,>>是算术右移操作。
在计算得到转码数据后,显卡还需要对转码数据进行越界处理,即当RGB数据的三个通道中数据大小不在0~255的范围内时,则进行=0或者=255操作,这是由于RGB的取值范围为0~255,如果超过这个范围,则没有意义。例如当RGB数据中存在小于第一预设值的数据时,则将小于第一预设值的数据替换为第一预设值;当RGB数据中存在大于第二预设值的数据时,则将大于第二预设值的数据替换为第二预设值,,此外,当RGB数据小于第二预设值且大于第一预设值时,则保持原值即可,其中第一预设值为0,为RGB体系中取值范围的最小值,第二预设值为255,为RGB体系中取值范围的最大值。
最后显卡释放掉为NV12格式的解码数据对应的显存,然后传出第一空白显存中存储的转码数据的显存位置、宽高以及长度信息等。
上述实施例中,将转码操作放在了显卡中进行,相较于传统的显卡在解码得到解码数据后将解码数据传输给操作系统,由操作系统进行转码操作的方案至少存在以下优势:一方面减少了解码数据的传输,从而减少了时间消耗,另一方面,还将操作系统的转码处理移动到显卡中进行,减少了处理器cpu的资源消耗(显卡在做大规模密集型运算有很大的优势)。
在其中一个实施例中,根据预设前置处理逻辑对转码数据进行前置处理得到初始数据,包括:将转码数据进行分辨率转化为预设分辨率的转码数据;对进行分辨率转化后的转码数据进行归一化处理得到初始数据,并将初始数据存放在显存中,并删除存储在第一空白显存中的转码数据。
在其中一个实施例中,对进行分辨率转化后的转码数据进行归一化处理得到初始数据之前,还包括:获取进行分辨率转化后的转码数据对应的图像的空缺像素;通过预设填充像素对空缺像素进行填充。
具体地,显卡对转码数据进行前置处理具体可以包括以下步骤:
首先显卡申请第三空白显存,然后按照新分辨率对转码数据进行分辨率转化,例如将1024*768转换为800*760等。
然后,由于在转换的时候,为保证图像不变形,可能导致图像的边界处出现空缺像素,此时,显卡通过预设填充像素对空缺像素进行填充,例如可以使用RGB(128,128,128)进行像素填充。
最后,显卡对分辨率转换后的数据进行归一化处理得到初始数据,并将初始数据存储在第三空白显存中,转换公式如下:
data[n]=data_src[n]/255 (3)
其中,data[n]是归一化后的数据,即初始数据,data_src[n]是归一化前的数据,即进行分辨率转换后的转码数据。
显卡在进行归一化处理后,将存储转码数据的显存释放掉,然后将存储在第三空白显存中的初始数据的显存地址和长度等传出。
上述实施例中,将前置处理放在了显卡中进行,这样不需要操作系统浪费资源来对转码数据进行前置处理,减少了处理器cpu的资源消耗。
在其中一个实施例中,对初始数据进行序列化处理得到预设格式的序列化后数据,包括:申请与初始数据的大小对应的第二空白显存;对初始数据进行序列化处理得到预设格式的序列化后数据,并将序列化后数据存储在第二空白显存中,删除存储在显存中的初始数据。
具体地,显卡对初始数据进行序列化处理具体可以包括以下步骤:
首先显卡申请第三空白显存,该第三空白显存的大小与归一化后的初始数据的大小相等。
然后显卡对归一化的初始数据进行序列化处理将其转换为RRR…GGG…BBB…格式数据,具体公式如下:
其中offset_m是指求偏移量,offset是指求第m个通道的偏移量,其中通道包括R通道、G通道和B通道。
显卡在进行序列化操作后,将释放初始数据对应的显存,然后将存储序列化后数据的地址、宽高和长度等传出。
上述实施例中,将序列化处理放在了显卡中进行,这样不需要操作系统浪费资源来对转码数据进行序列化处理,减少了处理器cpu的资源消耗。
请参照图3所示,图3为一个实施例中视频数据处理方法的时序图,其中操作系统接收到外部传入的视频数据,然后对视频数据进行处理得到裸数据,将裸数据传入到显卡中,显卡中对视频数据进行解码处理得到解码数据,然后对解码数据进行转码处理得到转码数据,对转码数据进行前置处理得到初始数据,对初始数据进行序列化处理得到序列化后数据,再将序列化后数据输入到预设模型中得到模型处理结果,最后将模型处理结果传出至操作系统。
上述视频数据处理方法,显卡接收到操作系统发送的视频数据,对视频数据进行解码得到解码数据后,并不直接将解码数据发送给操作系统,而是显卡通过预设转码逻辑对解码数据进行转码操作得到转码数据,然后通过预设前置处理逻辑对转码数据进行前置处理得到初始数据,且对初始数据进行序列化处理得到序列化后数据,即对解码数据的解码、前置操作以及序列化处理均在显卡中进行,从而在得到序列化后数据后,可以将序列化后数据输入至预设模型中得到模型处理结果,显卡直接将模型处理结果发送给操作系统即可,这样不需要显卡将解码数据发送给操作系统,且对解码数据的解码、前置操作以及序列化处理均在显卡中进行,而不是在操作系统中进行,可以减少cpu的浪费,且也不需要操作系统将序列化后数据发送给显卡,可以减少传输,从而减少时间消耗。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种视频数据处理装置,包括:接收模块100、解码模块200、转码模块300、前置处理模块400、序列化处理模块500、模型处理模块600和发送模块700,其中:
接收模块100,用于接收操作系统发送的视频数据。
解码模块200,用于对视频数据进行解码得到解码数据。
转码模块300,用于通过预设转码逻辑对解码数据进行转码操作得到转码数据。
前置处理模块400,用于根据预设前置处理逻辑对转码数据进行前置处理得到初始数据。
序列化处理模块500,用于对初始数据进行序列化处理得到预设格式的序列化后数据。
模型处理模块600,用于将序列化后数据输入至预设模型中进行处理得到模型处理结果。
发送模块700,用于将模型处理结果返回至操作系统。
在其中一个实施例中,上述转码模块300包括:
第一申请单元,用于根据解码数据中图像的尺寸计算得到存储转码后的转码数据的显存大小,并申请与显存大小对应的第一空白显存。
转码单元,用于将解码数据转码为转码数据并存储至第一空白显存中,且删除解码数据。
在其中一个实施例中,上述第一申请单元还可以用于根据解码数据中图像的宽度、高度以及存储图像中每一个像素所需的字节数,计算存储图像所需的显存大小。
在其中一个实施例中,解码数据为YUV格式,转码数据为RGB数据,上述转码单元可以包括:
格式转化单元,用于将YUV格式的解码数据转码为RGB数据。
替换单元,用于当RGB数据中存在小于第一预设值的数据时,则将小于第一预设值的数据替换为第一预设值;当RGB数据中存在大于第二预设值的数据时,则将大于第二预设值的数据替换为第二预设值。
存储单元,用于将替换后的RGB数据存储至第一空白显存中。
在其中一个实施例中,上述前置处理模块400包括:
分辨率转化单元,用于将RGB数据进行分辨率转化为预设分辨率。
归一化单元,用于对进行分辨率转化后的转码数据进行归一化处理得到初始数据,并将初始数据存放在显存中,并删除存储在第一空白显存中的。
在其中一个实施例中,上述前置处理模块400还包括:
空缺像素获取单元,用于获取进行分辨率转化后的转码数据对应的图像的空缺像素。
填充单元,用于通过预设填充像素对空缺像素进行填充。
在其中一个实施例中,上述序列化处理模块500包括:
第二申请单元,用于申请与初始数据的大小对应的第二空白显存。
序列化处理单元,用于对初始数据进行序列化处理得到预设格式的序列化后数据,并将序列化后数据存储在第二空白显存中,删除存放在显存中的初始数据。
关于视频数据处理装置的具体限定可以参见上文中对于视频数据处理方法的限定,在此不再赘述。上述视频数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、显卡和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被显卡执行时以实现一种视频数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器和密集计算单元,存储器中存储有计算机程序,该密集计算单元执行计算机程序时实现以下步骤:接收操作系统发送的视频数据;对视频数据进行解码得到解码数据;通过预设转码逻辑对解码数据进行转码操作得到转码数据;根据预设前置处理逻辑对转码数据进行前置处理得到初始数据;对初始数据进行序列化处理得到预设格式的序列化后数据;将序列化后数据输入至预设模型中进行处理得到模型处理结果;将模型处理结果返回至操作系统。
在一个实施例中,密集计算单元执行计算机程序时所实现的通过预设转码逻辑对解码数据进行转码操作得到转码数据,包括:根据解码数据中图像的尺寸计算得到存储转码后的转码数据的显存大小,并申请与显存大小对应的第一空白显存;将解码数据转码为转码数据并存储至第一空白显存中,且删除解码数据。
在一个实施例中,密集计算单元执行计算机程序时所实现的根据解码数据中图像的尺寸计算得到显存大小,包括:根据解码数据中图像的宽度、高度以及存储图像中每一个像素所需的字节数,计算存储图像所需的显存大小。
在一个实施例中,解码数据为YUV格式,转码数据为RGB数据,显卡执行计算机程序时所实现的将解码数据转码为转码数据并存储至第一空白显存中,包括:将YUV格式的解码数据转码为RGB数据;当RGB数据中存在小于第一预设值的数据时,则将小于第一预设值的数据替换为第一预设值;当RGB数据中存在大于第二预设值的数据时,则将大于第二预设值的数据替换为第二预设值;将替换后的RGB数据存储至第一空白显存中。
在一个实施例中,密集计算单元执行计算机程序时所实现的根据预设前置处理逻辑对转码数据进行前置处理得到初始数据,包括:将转码数据进行分辨率转化为预设分辨率的转码数据;对进行分辨率转化后的转码数据进行归一化处理得到初始数据,并将初始数据存放在显存中,并删除存储在第一空白显存中的转码数据。
在一个实施例中,密集计算单元执行计算机程序时所实现的对进行分辨率转化后的转码数据进行归一化处理得到初始数据之前,还包括:获取进行分辨率转化后的转码数据对应的图像的空缺像素;通过预设填充像素对空缺像素进行填充。
在一个实施例中,密集计算单元执行计算机程序时所实现的对初始数据进行序列化处理得到预设格式的序列化后数据,包括:申请与初始数据的大小对应的第二空白显存;对初始数据进行序列化处理得到预设格式的序列化后数据,并将序列化后数据存储在第二空白显存中,删除存放在显存中的初始数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被密集计算单元执行时实现以下步骤:接收操作系统发送的视频数据;对视频数据进行解码得到解码数据;通过预设转码逻辑对解码数据进行转码操作得到转码数据;根据预设前置处理逻辑对转码数据进行前置处理得到初始数据;对初始数据进行序列化处理得到预设格式的序列化后数据;将序列化后数据输入至预设模型中进行处理得到模型处理结果;将模型处理结果返回至操作系统。
在一个实施例中,计算机程序被密集计算单元执行时所实现的通过预设转码逻辑对解码数据进行转码操作得到转码数据,包括:根据解码数据中图像的尺寸计算得到存储转码后的转码数据的显存大小,并申请与显存大小对应的第一空白显存;将解码数据转码为转码数据并存储至第一空白显存中,且删除解码数据。
在一个实施例中,计算机程序被密集计算单元执行时所实现的根据解码数据中图像的尺寸计算得到显存大小,包括:根据解码数据中图像的宽度、高度以及存储图像中每一个像素所需的字节数,计算存储图像所需的显存大小。
在一个实施例中,解码数据为YUV格式,转码数据为RGB数据;计算机程序被密集计算单元执行时所实现的将解码数据转码为转码数据并存储至第一空白显存中,包括:将YUV格式的解码数据转码为RGB数据;当RGB数据中存在小于第一预设值的数据时,则将小于第一预设值的数据替换为第一预设值;当RGB数据中存在大于第二预设值的数据时,则将大于第二预设值的数据替换为第二预设值;将替换后的RGB数据存储至第一空白显存中。
在一个实施例中,计算机程序被密集计算单元执行时所实现的根据预设前置处理逻辑对转码数据进行前置处理得到初始数据,包括:将转码数据进行分辨率转化为预设分辨率的转码数据;对进行分辨率转化后的转码数据进行归一化处理得到初始数据,并将初始数据存放在显存中,并删除存储在第一空白显存中的转码数据。
在一个实施例中,计算机程序被密集计算单元执行时所实现的对进行分辨率转化后的转码数据进行归一化处理得到初始数据之前,还包括:获取进行分辨率转化后的转码数据对应的图像的空缺像素;通过预设填充像素对空缺像素进行填充。
在一个实施例中,计算机程序被密集计算单元执行时所实现的对初始数据进行序列化处理得到预设格式的序列化后数据,包括:申请与初始数据的大小对应的第二空白显存;对初始数据进行序列化处理得到预设格式的序列化后数据,并将序列化后数据存储在第二空白显存中,删除存放在显存中的初始数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种视频数据处理方法,所述方法包括:
接收操作系统发送的视频数据;
对所述视频数据进行解码得到解码数据;
通过预设转码逻辑对所述解码数据进行转码操作得到转码数据;
根据预设前置处理逻辑对所述转码数据进行前置处理得到初始数据;
对所述初始数据进行序列化处理得到预设格式的序列化后数据;
将所述序列化后数据输入至预设模型中进行处理得到模型处理结果;
将所述模型处理结果返回至所述操作系统;其中,在所述转码操作、所述前置处理以及所述序列化处理之前,均申请对应的大小的空白显存,其中所述转码操作前申请的空白显存的大小与解码数据的尺寸相关,所述序列化处理前申请的空白显存的大小与初始数据的大小相等;
且当显卡的处理能力不够的时候,通过扩展多个显卡以对操作系统发送的视频数据进行处理。
2.根据权利要求1所述的方法,其特征在于,所述通过预设转码逻辑对所述解码数据进行转码操作得到转码数据,包括:
根据所述解码数据中图像的尺寸计算得到存储转码后的转码数据的显存大小,并申请与所述显存大小对应的第一空白显存;
将所述解码数据转码为转码数据并存储至所述第一空白显存中,且删除所述解码数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述解码数据中图像的尺寸计算得到显存大小,包括:
根据所述解码数据中图像的宽度、高度以及存储所述图像中每一个像素所需的字节数,计算存储所述图像所需的显存大小。
4.根据权利要求3所述的方法,其特征在于,所述解码数据为YUV格式,所述转码数据为RGB数据;所述将所述解码数据转码为转码数据并存储至所述第一空白显存中,包括:
将YUV格式的所述解码数据转码为RGB数据;
当所述RGB数据中存在小于第一预设值的数据时,则将小于第一预设值的数据替换为所述第一预设值;
当所述RGB数据中存在大于第二预设值的数据时,则将大于第二预设值的数据替换为所述第二预设值;
将替换后的RGB数据存储至所述第一空白显存中。
5.根据权利要求2所述的方法,其特征在于,所述根据预设前置处理逻辑对所述转码数据进行前置处理得到初始数据,包括:
将所述转码数据进行分辨率转化为预设分辨率的转码数据;
对进行分辨率转化后的转码数据进行归一化处理得到所述初始数据,并将所述初始数据存放在显存中,并删除存储在所述第一空白显存中的所述转码数据。
6.根据权利要求5所述的方法,其特征在于,所述对进行分辨率转化后的转码数据进行归一化处理得到初始数据之前,还包括:
获取进行分辨率转化后的转码数据对应的图像的空缺像素;
通过预设填充像素对所述空缺像素进行填充。
7.根据权利要求1所述的方法,其特征在于,所述对所述初始数据进行序列化处理得到预设格式的序列化后数据,包括:
申请与所述初始数据的大小对应的第二空白显存;
对所述初始数据进行序列化处理得到预设格式的序列化后数据,并将所述序列化后数据存储在所述第二空白显存中,删除存放在显存中的所述初始数据。
8.一种视频数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收操作系统发送的视频数据;
解码模块,用于对所述视频数据进行解码得到解码数据;
转码模块,用于通过预设转码逻辑对所述解码数据进行转码操作得到转码数据;
前置处理模块,用于根据预设前置处理逻辑对所述转码数据进行前置处理得到初始数据;
序列化处理模块,用于对所述初始数据进行序列化处理得到预设格式的序列化后数据;
模型处理模块,用于将所述序列化后数据输入至预设模型中进行处理得到模型处理结果;
发送模块,用于将所述模型处理结果返回至所述操作系统;其中,在所述转码操作、所述前置处理以及所述序列化处理之前,均申请对应的大小的空白显存,其中所述转码操作前申请的空白显存的大小与解码数据的尺寸相关,所述序列化处理前申请的空白显存的大小与初始数据的大小相等;且当显卡的处理能力不够的时候,通过扩展多个显卡以对操作系统发送的视频数据进行处理。
9.一种计算机设备,包括存储器、处理器以及显卡,所述存储器存储有计算机程序,其特征在于,所述显卡执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被显卡执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910835484.4A CN110536123B (zh) | 2019-09-05 | 2019-09-05 | 视频数据处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910835484.4A CN110536123B (zh) | 2019-09-05 | 2019-09-05 | 视频数据处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110536123A CN110536123A (zh) | 2019-12-03 |
CN110536123B true CN110536123B (zh) | 2021-07-27 |
Family
ID=68667208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910835484.4A Expired - Fee Related CN110536123B (zh) | 2019-09-05 | 2019-09-05 | 视频数据处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110536123B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116193201A (zh) * | 2023-02-27 | 2023-05-30 | 深圳数拓科技有限公司 | 一种视频数据处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105163127A (zh) * | 2015-09-07 | 2015-12-16 | 浙江宇视科技有限公司 | 视频分析方法及装置 |
CN107920253A (zh) * | 2017-10-31 | 2018-04-17 | 北京赛思信安技术股份有限公司 | 一种基于gpu的视频处理方法 |
CN108366288A (zh) * | 2018-03-01 | 2018-08-03 | 厦门普杰信息科技有限公司 | 一种用于高清视频的高效解码和播放方法及系统 |
CN109714597A (zh) * | 2019-01-22 | 2019-05-03 | 成都神州数码索贝科技有限公司 | 一种无损视频压缩方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8902967B2 (en) * | 2010-03-31 | 2014-12-02 | Citrix Systems, Inc. | Systems and methods for distributed media stream transcoding and sharing |
-
2019
- 2019-09-05 CN CN201910835484.4A patent/CN110536123B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105163127A (zh) * | 2015-09-07 | 2015-12-16 | 浙江宇视科技有限公司 | 视频分析方法及装置 |
CN107920253A (zh) * | 2017-10-31 | 2018-04-17 | 北京赛思信安技术股份有限公司 | 一种基于gpu的视频处理方法 |
CN108366288A (zh) * | 2018-03-01 | 2018-08-03 | 厦门普杰信息科技有限公司 | 一种用于高清视频的高效解码和播放方法及系统 |
CN109714597A (zh) * | 2019-01-22 | 2019-05-03 | 成都神州数码索贝科技有限公司 | 一种无损视频压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110536123A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10834415B2 (en) | Devices for compression/decompression, system, chip, and electronic device | |
CN101651832B (zh) | 在嵌入式设备中提供较高分辨率图像的方法和装置 | |
CN1825964B (zh) | 片上处理视频数据的方法和系统 | |
EP2926561B1 (en) | Bandwidth saving architecture for scalable video coding spatial mode | |
JPH10116160A (ja) | メモリ削減技法を使用したページ生成のためのフォールバック処理 | |
CN103888777A (zh) | 运动图像压缩解压缩装置 | |
CN108347602B (zh) | 用于无损压缩视频数据的方法和装置 | |
CN110536123B (zh) | 视频数据处理方法、装置、计算机设备和存储介质 | |
CN113645469B (zh) | 图像处理方法、装置、智能终端及计算机可读存储介质 | |
CN111510739A (zh) | 一种视频传输方法及装置 | |
CN112308096A (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN114040246A (zh) | 图形处理器的图像格式转换方法、装置、设备及存储介质 | |
JP2010098352A (ja) | 画像情報符号化装置 | |
CN111432213A (zh) | 用于视频和图像压缩的自适应贴片数据大小编码 | |
CN113225590A (zh) | 视频超分增强方法、装置、计算机设备和存储介质 | |
US20110096082A1 (en) | Memory access control device and method thereof | |
CN115576513A (zh) | 目标图像的显示方法、显示装置、电子设备和存储介质 | |
EP0928112A1 (en) | Image mapping device and method, and image generating device and method | |
CN114945096A (zh) | 基于cpu+gpu异构平台的无损解压缩算法及存储介质 | |
CN112183227A (zh) | 一种智能泛人脸区域的编码方法和设备 | |
CN113709517A (zh) | 一种基于弱终端的在线视频流处理系统 | |
JP2000261647A (ja) | 画像処理装置 | |
CN112887635A (zh) | 多画面拼接方法、装置、计算机设备和存储介质 | |
US20050286803A1 (en) | Image processing apparatus, display device, image processing method, and image processing program | |
US20040213467A1 (en) | Image processing apparatus |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Video data processing method, device, computer equipment and storage medium Effective date of registration: 20220211 Granted publication date: 20210727 Pledgee: Shanghai Bianwei Network Technology Co.,Ltd. Pledgor: SHANGHAI EYE CONTROL TECHNOLOGY Co.,Ltd. Registration number: Y2022310000023 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210727 |
|
CF01 | Termination of patent right due to non-payment of annual fee |