CN117499755A - 基于gpu硬图层的硬解码视频嵌入水印或字幕的方法 - Google Patents
基于gpu硬图层的硬解码视频嵌入水印或字幕的方法 Download PDFInfo
- Publication number
- CN117499755A CN117499755A CN202311484945.0A CN202311484945A CN117499755A CN 117499755 A CN117499755 A CN 117499755A CN 202311484945 A CN202311484945 A CN 202311484945A CN 117499755 A CN117499755 A CN 117499755A
- Authority
- CN
- China
- Prior art keywords
- gpu
- video
- hard
- format
- bitmap
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000009877 rendering Methods 0.000 claims abstract description 11
- 230000000694 effects Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 8
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4316—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/488—Data services, e.g. news ticker
- H04N21/4884—Data services, e.g. news ticker for displaying subtitles
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明适用于GPU技术领域,提供一种基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,包括:将水印或字幕的信息数据由CPU处理为YUV格式的位图,然后由GPU渲染为RGBA格式的位图;将当前视频流使用GPU解码为YUV格式的视频帧,然后由GPU渲染为RGBA格式的视频帧;将所述RGBA格式的位图与RGBA格式的视频帧用GPU硬图层叠加处理。本发明中,水印与字幕信息通过CPU处理为YUV格式的位图,而YUV转RGBA格式由GPU处理,CPU处理工作压力小,同时视频流数据均由GPU处理,采用GPU硬图层叠加的方式实现了字幕或水印嵌入到硬解码视频显示中,显示效果好,处理效率高。
Description
技术领域
本发明属于GPU技术领域,尤其涉及一种基于GPU硬图层的硬解码视频嵌入水印或字幕的方法。
背景技术
高清大分辨视频处理在如今的5G时代越来越普遍,仅使用CPU来承担视频处理任务,已难以保证视频播放与处理质量,尤其是需要实时响应的场景,如直播,高清监控视频传输处理、自动驾驶等场景。为应对以上需求,硬解码视频技术应用已越来越普遍。
硬解码视频指视频解码与输出渲染均由专用芯片完成,如GPU或者视频处理芯片,通过这种方式,会极大降低CPU占用率,提高视频处理效率和能力。除了播放高清视频,还会存在向视频中加入水印或者字幕的需求,这种需求在软解码视频处理中已较为成熟,通常方式为将字幕或者水印转化为位图,一般为YUV420P或者NV12等图像格式,在通过过滤算法将位图叠加到解码出的视频帧中,此时视频帧已通过CPU解码为YUV格式,将叠加好后的YUV帧进行渲染,转化为RGBA格式,拷贝至显存进行显示,这样显示出的图像就带上了字幕与水印。
目前在硬解码视频处理中嵌入字幕和水印还缺少相应的技术方案,难点在于硬解码视频处理均由专用芯片在显存中处理,而字幕和水印的处理需要CPU来完成,尤其是视频叠加,如何高效完成视频叠加是实现的关键。
专利N202210322703.0公开了一种基于GPU的视频隐形水印嵌入方法及系统,其方案是将水印生成的NV12图像拷贝至显存,在显存中将解码出的NV12帧,根据逻辑关系与水印生成的NV12图像进行叠加。该方法能较快实现视频叠加,但仍需经过复杂计算后,才能完成水印的叠加,同时处理速率可能仍然难以满足实时显示的需求,但相对于软解码效率更高。该方法更侧重于生成带水印的新的视频文件,便于存储和溯源。
因此上述两种方式中,第一种方式是软解码视频的水印与字幕添加处理方式,第二种方式是专利CN202210322703.0公开的将水印生成的NV12图像拷贝至显存,在显存中将解码出的NV12帧根据逻辑关系与水印生成的NV12图像进行叠加,从而完成水印的嵌入。第一种方式处理全程需要CPU参与,CPU占用率过高,效率也比较低,无法满足实时嵌入水印或字幕的需求;第二种方式较第一种有所改进,但仍需要复杂的算法进行视频叠加,实现的难度较大,处理效率虽然较第一种更快,但可能仍难以达到要求。
发明内容
鉴于上述问题,本发明的目的在于提供一种基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,旨在解决上述技术问题。
本发明采用如下技术方案:
所述基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,包括下述步骤:
步骤S1、将水印或字幕的信息数据由CPU处理为YUV格式的位图,然后由GPU渲染为RGBA格式的位图;
步骤S2、将当前视频流使用GPU解码为YUV格式的视频帧,然后由GPU渲染为RGBA格式的视频帧;
步骤S3、将所述RGBA格式的位图与RGBA格式的视频帧用GPU硬图层叠加处理;
步骤S4、GPU将叠加后的图像输出到屏幕。
进一步的,步骤S1的具体过程如下:将水印或字幕的信息数据由CPU处理为YUV格式的位图并传入显存,从显存中读取所述YUV格式的位图,由GPU渲染为RGBA格式的位图,将RGBA格式的位图存储于显存。
进一步的,步骤S2的具体过程如下:将当前视频流使用GPU解码为YUV格式的视频帧,并存储于显存,从显存中读取所述YUV格式的视频帧,由GPU渲染RGBA格式的视频帧,将RGBA格式的视频帧存储于显存。
进一步的,步骤S3的具体过程如下:
S31、根据窗口显示大小创建显示视频帧的第一硬图层,以及根据水印或字幕的显示尺寸创建显示水印或字幕的第二硬图层,每个硬图层对应一块显存区域,硬图层用于显示对应显存区域中的数据;
S32、:GPU将RGBA格式的视频帧根据窗口显示大小进行缩放,并拷贝至第一硬图层对应的显存区域;
S33、将第二硬图层设置为透明图层,GPU将RGBA格式的位图根据水印或字幕的显示尺寸进行缩放,并拷贝至第二硬图层对应的显存区域。
进一步的,GPU将两个硬图层的显存区域中读取图像数据输出至屏幕,水印或字幕的第二硬图层在视频显示的第一硬图层之上,且显示在预设位置。
本发明的有益效果是:本发明提供了一种基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,该方法无需复杂计算就能完成图像叠加,且显示效果与传统方法相同,处理效率更加高效,能够更好满足实时显示的需求,达到硬解码视频显示中嵌入水印或字幕的目的。
附图说明
图1是本发明实施例提供的基于GPU硬图层的硬解码视频嵌入水印或字幕的方法的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
如图1所示,本实施例提供的基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,包括下述步骤:
所述基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,包括下述步骤:
步骤S1、将水印或字幕的信息数据由CPU处理为YUV格式的位图,然后由GPU渲染为RGBA格式的位图。
硬解码器即硬件解码器,是一款硬件设备,是一种输入模拟视频信号并将它转换为数字信号格式,以进一步压缩和传输的硬件设备,亦即通过显卡的视频加速功能对高清视频进行解码。因此视频硬件解码器能够将CPU从繁重的视频解码运算中释放出来,使电脑具备流畅播放高清视频的能力。GPU/VPU要比CPU更适合这类大数据量的、低难度的重复工作。由于解压缩的任务基本全部交给了显示芯片,CPU就可以承担更多的其他任务,对于经常需要多任务运行的用户更为重要。硬件解码器的存在是因为音频视频数据存储要先通过压缩,否则数据量太庞大,而压缩需要通过一定的编码,才能用最小的容量来存贮质量最高的音频视频数据。因此在需要对数据进行播放时要先通过解码器进行解码。
目前视频流的数据处理可以通过独立的硬件解码器处理,一般为GPU处理。虽然用CPU进行软解码也可以实现将水印或字幕信息叠加在视频中,但是处理全程需要CPU参与,CPU占用率过高,效率也比较低,无法满足实时嵌入水印或字幕的需求。而目前的GPU也通过一系列的软件算法将水印或字幕信息加载到视频中,但是处理难度较大,处理效率也不够高。
而本发明中,CPU和GPU共同协作完成嵌入水印或字幕的功能。本步骤中,水印或字幕的信息数据由CPU处理为YUV格式的位图,而YUV格式渲染为RGBA格式的位图由GPU完成,CPU参与进来的工作量也不高,基本不影响CPU的正常工作。
从具体过程来看,本步骤实现如下:将水印或字幕的信息数据由CPU处理为YUV格式的位图并传入显存,从显存中读取所述YUV格式的位图,由GPU渲染为RGBA格式的位图,将RGBA格式的位图存储于显存。
步骤S2、将当前视频流使用GPU解码为YUV格式的视频帧,然后由GPU渲染为RGBA格式的视频帧。
前述已说明,视频流的处理是通过GPU完成。本步骤中,GPU将视频流解码为YUV格式的视频帧,然后再渲染为RGBA格式的视频帧。本步骤具体实现过程为:将当前视频流使用GPU解码为YUV格式的视频帧,并存储于显存,从显存中读取所述YUV格式的视频帧,由GPU渲染RGBA格式的视频帧,将RGBA格式的视频帧存储于显存。
步骤S3、将所述RGBA格式的位图与RGBA格式的视频帧用GPU硬图层叠加处理。
GPU能够实现多个图层显示,不同图层对应显存的一块显示区域,图层显示区域的显示内容均能够设置,图层间可以进行叠加。本步骤截图过程如下:
S31、根据窗口显示大小创建显示视频帧的第一硬图层,以及根据水印或字幕的显示尺寸创建显示水印或字幕的第二硬图层,每个硬图层对应一块显存区域,硬图层用于显示对应显存区域中的数据。
S32、:GPU将RGBA格式的视频帧根据窗口显示大小进行缩放,并拷贝至第一硬图层对应的显存区域。
S33、将第二硬图层设置为透明图层,GPU将RGBA格式的位图根据水印或字幕的显示尺寸进行缩放,并拷贝至第二硬图层对应的显存区域。
窗口显示大小为屏幕像素显示大小,而视频流的分辨率和大小不一定和当前屏幕完全一致,因此需GPU需要将视频流进行缩放。在缩放前,需要根据窗口显示大小创建一个硬图层,这里记为第一硬图层,该硬图层用于显示视频帧,另外,还要根据设置的水印或字幕的显示尺寸也创建一个硬图层,这里记为第二硬图层,该硬图层用于显示水印或字幕。将RGBA格式的视频帧和位图均保存至相应硬图层对应的显存区域内,同时为了显示效果需要将第二硬图层设置为透明图层,即背景透明。
步骤S4、GPU将叠加后的图像输出到屏幕。
最后,GPU将两个硬图层的显存区域中读取图像数据输出至屏幕,水印或字幕的第二硬图层在视频显示的第一硬图层之上,且第二硬图层应显示在相应的预设位置,这样就能够高效得到视频中嵌入水印或字幕的效果。
GPU硬图层是一种将一块显存中RGB图像直接映射到显示区域的技术,设置好硬图层后,图层中图像就会在屏幕中显示,无需依赖图形系统或窗口管理器。因此本发明向硬解码视频中嵌入水印或字幕,无需CPU进行视频叠加处理,进一步提高效率,降低CPU占用率,满足实时性要求。
综上,本发明的发明点有两点,第一点是水印与字幕信息通过CPU处理为YUV的格式位图,而由YUV转RGBA格式由GPU处理,而视频均由GPU处理;另一个关键点是本发明实现字幕或水印叠加到视频的方法,采用的是GPU硬图层叠加的方式,GPU芯片有多个硬图层,能够很方便实现硬图层叠加,同时将水印或字幕的显示图层背景设置为透明图层,能够有较好的显示效果,满足实时显示的场景。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,其特征在于,所述方法包括下述步骤:
步骤S1、将水印或字幕的信息数据由CPU处理为YUV格式的位图,然后由GPU渲染为RGBA格式的位图;
步骤S2、将当前视频流使用GPU解码为YUV格式的视频帧,然后由GPU渲染为RGBA格式的视频帧;
步骤S3、将所述RGBA格式的位图与RGBA格式的视频帧用GPU硬图层叠加处理;
步骤S4、GPU将叠加后的图像输出到屏幕。
2.如权利要求1所述基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,其特征在于,步骤S1的具体过程如下:将水印或字幕的信息数据由CPU处理为YUV格式的位图并传入显存,从显存中读取所述YUV格式的位图,由GPU渲染为RGBA格式的位图,将RGBA格式的位图存储于显存。
3.如权利要求2所述基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,其特征在于,步骤S2的具体过程如下:将当前视频流使用GPU解码为YUV格式的视频帧,并存储于显存,从显存中读取所述YUV格式的视频帧,由GPU渲染RGBA格式的视频帧,将RGBA格式的视频帧存储于显存。
4.如权利要求3所述基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,其特征在于,步骤S3的具体过程如下:
S31、根据窗口显示大小创建显示视频帧的第一硬图层,以及根据水印或字幕的显示尺寸创建显示水印或字幕的第二硬图层,每个硬图层对应一块显存区域,硬图层用于显示对应显存区域中的数据;
S32、:GPU将RGBA格式的视频帧根据窗口显示大小进行缩放,并拷贝至第一硬图层对应的显存区域;
S33、将第二硬图层设置为透明图层,GPU将RGBA格式的位图根据水印或字幕的显示尺寸进行缩放,并拷贝至第二硬图层对应的显存区域。
5.如权利要求4所述基于GPU硬图层的硬解码视频嵌入水印或字幕的方法,其特征在于,步骤S4的具体过程如下:GPU将两个硬图层的显存区域中读取的图像数据输出至屏幕,水印或字幕的第二硬图层在视频显示的第一硬图层之上,且显示在预设位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311484945.0A CN117499755A (zh) | 2023-11-09 | 2023-11-09 | 基于gpu硬图层的硬解码视频嵌入水印或字幕的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311484945.0A CN117499755A (zh) | 2023-11-09 | 2023-11-09 | 基于gpu硬图层的硬解码视频嵌入水印或字幕的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117499755A true CN117499755A (zh) | 2024-02-02 |
Family
ID=89675946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311484945.0A Pending CN117499755A (zh) | 2023-11-09 | 2023-11-09 | 基于gpu硬图层的硬解码视频嵌入水印或字幕的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499755A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118138832A (zh) * | 2024-05-06 | 2024-06-04 | 武汉凌久微电子有限公司 | 一种基于gpu硬图层的网络视频流显示方法 |
-
2023
- 2023-11-09 CN CN202311484945.0A patent/CN117499755A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118138832A (zh) * | 2024-05-06 | 2024-06-04 | 武汉凌久微电子有限公司 | 一种基于gpu硬图层的网络视频流显示方法 |
CN118138832B (zh) * | 2024-05-06 | 2024-07-26 | 武汉凌久微电子有限公司 | 一种基于gpu硬图层的网络视频流显示方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3177221B2 (ja) | 興味深いシーンのイメージを表示するための方法及び装置 | |
JP5180344B2 (ja) | 高ダイナミックレンジ画像データを復号化するための装置及び方法、表示用画像を処理可能なビューア、ならびに表示装置 | |
CN112204993B (zh) | 使用重叠的被分区的分段的自适应全景视频流式传输 | |
US11941748B2 (en) | Lightweight view dependent rendering system for mobile devices | |
US8306399B1 (en) | Real-time video editing architecture | |
JP2008503914A (ja) | 2つの高解像度画像をダウンスケール及び混合する装置及び方法 | |
TW200809692A (en) | Playback apparatus and playback method using the playback apparatus | |
CN117499755A (zh) | 基于gpu硬图层的硬解码视频嵌入水印或字幕的方法 | |
CN112511896A (zh) | 一种视频渲染方法及装置 | |
US7580041B1 (en) | Direct storage of compressed scan converted data | |
WO2023193524A1 (zh) | 直播视频处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
US6519286B1 (en) | Method and apparatus for decoding a stream of data | |
WO2023280266A1 (zh) | 鱼眼图像压缩、鱼眼视频流压缩以及全景视频生成方法 | |
KR101169994B1 (ko) | 알파 평면을 이용한 영상 데이터 처리 장치 및 방법 | |
JP4402088B2 (ja) | 画像処理方法および装置およびこれらを利用した電子機器 | |
WO2022183517A1 (zh) | 一种连续动态图像中空间信息的编码方法 | |
CN114640882B (zh) | 视频处理方法、装置、电子设备及计算机可读存储介质 | |
CN114567793A (zh) | 直播互动特效的实现方法及装置、存储介质、电子设备 | |
CN116962743A (zh) | 视频图像编码、抠图方法和装置及直播系统 | |
CN114071153A (zh) | 具有软硬件联合解码功能的多格式高清视频解码系统 | |
CN118138832B (zh) | 一种基于gpu硬图层的网络视频流显示方法 | |
WO2022141636A1 (en) | Methods and systems for processing video streams with layer information | |
WO2024120031A1 (zh) | 处理视频数据的方法、装置、计算机设备和存储介质 | |
CN114339338B (zh) | 一种基于车载视频的图像自定义渲染方法及存储介质 | |
JP2000278644A (ja) | ノンリニアビデオ編集装置およびその方法 |
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 |