CN117528141A - 视频编码方法、装置、电子设备、存储介质及程序产品 - Google Patents
视频编码方法、装置、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN117528141A CN117528141A CN202311466140.3A CN202311466140A CN117528141A CN 117528141 A CN117528141 A CN 117528141A CN 202311466140 A CN202311466140 A CN 202311466140A CN 117528141 A CN117528141 A CN 117528141A
- Authority
- CN
- China
- Prior art keywords
- caption
- subtitle
- video
- region
- frame
- 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 62
- 238000001514 detection method Methods 0.000 claims abstract description 220
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 22
- 238000013528 artificial neural network Methods 0.000 claims abstract description 17
- 238000013135 deep learning Methods 0.000 claims abstract description 11
- 230000008859 change Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 10
- 230000000737 periodic effect Effects 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/4728—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
-
- 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)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开提供了一种视频编码方法、装置、电子设备、存储介质及程序产品,涉及视频编码、深度学习等技术领域。该方法包括:根据获取到的视频编码请求,确定待编码的目标视频;对构成目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息,字幕检测算子为基于深度学习算法构建出的用于识别视频中字幕信息的神经网络,字幕信息包括:字幕框数量、字幕框位置和字幕内容;将用于呈现字幕信息的画面区域确定为感兴趣区域,并按照与感兴趣区域匹配的视频编码方式进行编码处理。应用该方法可以在保证字幕信息检测准确性的同时尽可能的减少性能开销。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及视频编码、深度学习等技术领域,尤其涉及一种视频编码方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
ROI(Region Of Interest,感兴趣区域)技术即识别出视频中人眼感兴趣的区域,并针对性优化该区域码率分配和编码模式,以达到主观质量显著提升的目的。
对于视频各类感兴趣区域的识别,是其中最为关键的部分。在各感兴趣区域中,字幕都是视频中较为重要的区域,无论是包含人物的综艺和电影,还是不包含人物的纪录片,人眼都会关注字幕。如果字幕出现编码失真,如模糊、错位等,会极大影响用户体验。
所以在用于对视频进行编码的编码器中,需要针对诸如字幕区域在内的感兴趣区域进行针对性的识别,以便于对识别出的感兴趣区域进行针对性编码。
发明内容
本公开实施例提出了一种视频编码方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
第一方面,本公开实施例提出了一种视频编码方法,包括:根据获取到的视频编码请求,确定待编码的目标视频;对构成目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息;其中,字幕检测算子为基于深度学习算法构建出的用于识别视频中字幕信息的神经网络,字幕信息包括:字幕框数量、字幕框位置和字幕内容;将用于呈现字幕信息的画面区域确定为感兴趣区域,并按照与感兴趣区域匹配的视频编码方式进行编码处理。
第二方面,本公开实施例提出了一种视频编码装置,包括:目标视频确定单元,被配置成根据获取到的视频编码请求,确定待编码的目标视频;按周期调用算子单元,被配置成对构成目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息;其中,字幕检测算子为基于深度学习算法构建出的用于识别视频中字幕信息的神经网络,字幕信息包括:字幕框数量、字幕框位置和字幕内容;感兴趣区域确定及针对性编码单元,被配置成将用于呈现字幕信息的画面区域确定为感兴趣区域,并按照与感兴趣区域匹配的视频编码方式进行编码处理。
第三方面,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面描述的视频编码方法。
第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面描述的视频编码方法。
第五方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面描述的视频编码方法的步骤。
本公开所提供的视频编码方案,针对待编码的目标视频数据,并不是每一视频帧都调用基于神经网络算法构建出的字幕检测算子来对字幕信息进行高精度的识别和检测,而是充分考虑字幕内容呈现的时效性和连续存在性,采用了间隔、抽帧的方式按周期调用字幕检测算子来检测呈现在当前视频帧内的字幕信息,从而降低因连续重复调用字幕检测算子所带来的不必要性能开销,有利于腾出更多性能用于针对性的对呈现字幕信息的区域进行针对性的编码,进而提升用户在后续实际点播该视频时的观看体验。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开可以应用于其中的示例性系统架构;
图2为本公开实施例提供的一种视频编码方法的流程图;
图3为本公开实施例提供的一种按周期调用字幕检测算子进行字幕信息检测的方法的流程图;
图4为本公开实施例提供的一种检测字幕内容是否发生了变化的方法的流程图;
图5为本公开实施例提供的一种强制检测规则和周期调整方法的示意图;
图6为本公开实施例提供的一种视频编码装置的结构框图;
图7为本公开实施例提供的一种适用于执行视频编码方法的电子设备的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图1示出了可以应用本公开的视频编码方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如视频编码类应用、流媒体资源在线点播类应用、即时通讯类应用等。
终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
终端设备101、102、103通过内置的各种应用可以提供各种服务,以可以提供视频编码服务的视频编码类应用为例,终端设备101、102、103在运行该电子相册类应用时可实现如下效果:首先,根据获取到的视频编码请求,确定待编码的目标视频;然后,自对构成目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息,该字幕检测算子为基于深度学习算法构建出的用于识别视频中字幕信息的神经网络,该字幕信息包括:字幕框数量、字幕框位置和字幕内容;最后,将用于呈现该字幕信息的画面区域确定为感兴趣区域,并按照与该感兴趣区域匹配的视频编码方式进行编码处理。
服务器105通过内置的各种应用可以提供各种服务,以可以提供视频编码服务的视频编码类应用为例,服务器105在运行视频编码类应用时可实现如下效果:首先,通过网络104接收终端设备101、102、103传入的对目标视频的编码请求,并根据该编码请求确定待编码的目标视频;然后,对构成目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息,该字幕检测算子为基于深度学习算法构建出的用于识别视频中字幕信息的神经网络,该字幕信息包括:字幕框数量、字幕框位置和字幕内容;最后,将用于呈现该字幕信息的画面区域确定为感兴趣区域,并按照与该感兴趣区域匹配的视频编码方式进行编码处理。最后,将该编码处理结果存储在相应的存储单元中,以准备后续有用户发起对该目标视频的播放请求时将存储单元中的编码结果通过网络104发送至相应的终端设备,以便于终端设备对其进行解码操作后呈现出相应的视频画面。
需要指出的是,视频编码请求除可以从终端设备101、102、103通过网络104获取到之外,也可以通过各种方式预先存储在服务器105本地。因此,当服务器105检测到本地已经存储有这些数据时(例如开始处理之前留存的待处理视频编码任务),可选择直接从本地获取这些数据,在此种情况下,示例性系统架构100也可以不包括终端设备101、102、103和网络104。
由于对视频数据进行针对性的编码需要占用较多的运算资源和较强的运算能力,因此本公开后续各实施例所提供的视频编码方法一般由拥有较强运算能力、较多运算资源的服务器105来执行,相应地,视频编码装置一般也设置于服务器105中。但同时也需要指出的是,在终端设备101、102、103也具有满足要求的运算能力和运算资源时,终端设备101、102、103也可以通过其上安装的视频编码类应用完成上述本交由服务器105做的各项运算,进而输出与服务器105同样的结果。尤其是在同时存在多种具有不同运算能力的终端设备的情况下,但视频编码类应用判断所在的终端设备拥有较强的运算能力和剩余较多的运算资源时,可以让终端设备来执行上述运算,从而适当减轻服务器105的运算压力,相应的,视频编码装置也可以设置于终端设备101、102、103中。在此种情况下,示例性系统架构100也可以不包括服务器105和网络104。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
请参考图2,图2为本公开实施例提供的一种视频编码方法的流程图,其中流程200包括以下步骤:
步骤201:根据获取到的视频编码请求,确定待编码的目标视频;
本步骤旨在由视频编码方法的执行主体(例如图1所示的服务器105)根据获取到的视频编码请求,来确定该编码请求所请求编码的目标视频,以便于在明确待编码的目标视频后,对构成该目标视频的原始图像数据进行编码处理。
该视频编码请求的获取可能涉及到用户通过搜索词、语音命令、点击按钮或其他方式提出的请求。具体的,该视频编码请求可以是视频点播平台的后台管理人员在其后台管理服务器上对某类新存入的影视作品文件发起的编码请求。
步骤202:对构成目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息;
在步骤201的基础上,本步骤旨在由上述执行主体对构成目标视频的按时序排列的各视频帧,按周期的调用预设的字幕检测算子检测相应的视频帧内的内的字幕信息。该字幕检测算子为基于深度学习算法构建出的用于识别视频中字幕信息的神经网络,该字幕信息可以包括:字幕框数量、字幕框位置和字幕内容,以及其它字幕相关信息。具体的,通常可以以每隔预设图像帧或以每隔预设时长作为一周期,例如每隔4帧进行一次字幕检测算子的调用,或者每隔0.2秒就对对应相应时刻的视频帧进行一次字幕检测算子的调用。
相比于传统基于边缘、方差、运动等特性的字幕检测算法,本实施例选择使用基于神经网络构建得到的字幕检测算子来检测字幕信息,主要是因为其是使用大量字幕框标注图像训练得到的,能够在针对输入的一帧待检测图像,返回可能的字幕框数目和坐标,具有较好的单帧检测效果,但主要缺陷时检测耗时较高,因此导致无法在连续的每一视频帧都调用该字幕检测算子检测字幕信息,导致漏检的同时还需要增加不少的性能开销。因此本公开正是为了解决这一问题,提出了按周期调用预设的字幕检测算子检测呈现在播放窗口内的字幕信息,即并非在连续的每个视频帧都调用该字幕检测算子来检测当前帧的字幕信息,而是考虑字幕内容的留存性和时效性,每隔一段时间才调用一次字幕检测算子来进行高精度的字幕信息检测,从而在保证检测准确性的同时减少不必要的性能开销。
具体以多长时间作为间隔前后两次调用字幕检测算子的周期,可根据实际情况灵活制定,且即使针对同一目标视频,在不同时刻的周期时长也可以不同,例如可以动态的结合上一次调用字幕检测算子检测得到的呈现出的字幕内容的长度来调整下一次调用字幕检测算子的间隔时长,例如上一次检测出的字幕内容长度越长,意味着观众看完这些字幕内容的耗时就越多、影视作品需要呈现完这一字幕内容的耗时就越长,就可以动态的将距下一次调用字幕检测算子的时间间隔设置为与字幕内容长度匹配的、较长的一个时长,反之就设置为一个稍短的一个时长。
步骤203:将用于呈现字幕信息的画面区域确定为感兴趣区域,并按照与感兴趣区域匹配的视频编码方式进行编码处理。
在步骤202的基础上,本步骤旨在由上述执行主体将用于呈现字幕信息的画面区域确定为感兴趣区域,并按照与感兴趣区域匹配的视频编码方式进行编码处理。
应当理解的是,之所以将用于呈现字幕信息的画面区域确定为感兴趣区域,正是因为包含了字幕的相关图像区域是用户在观看视频时较为注意的区域,因此为了提升用户的观看体验,针对感兴趣区域的图像内容的编码应当采用较高码率、能是指呈现较清晰流畅观看效果的编码方式,也就是说预先为感兴趣区域配置的视频编码方式也应当是较高码率、能够呈现较清晰流畅观看效果的编码方式,反之则应当对非感兴趣区域采用相较感兴趣区域较低的码率和能够呈现一般观看效果的编码方式。
一种包括且不限于的具体实现方式可以为:确定预先为感兴趣区域配置的超过预设码率的高编码码率,并按照高编码码率对感兴趣区域进行编码处理,得到感兴趣区域编码结果。进一步的,为最终能够得以呈现完整的视频画面,还可以在后续环节中确定预先为非感兴趣区域配置的未超过预设码率的低编码码率,以及按照低编码码率对非感兴趣区域进行编码处理,得到非感兴趣区域编码结果,最后按感兴趣区域和非感兴趣区域之间的区域位置关系,组合相应的感兴趣区域编码结果和非感兴趣区域编码结果,得到可通过解码操作呈现完整视频画面的完整编码结果。
本公开实施例提供的视频编码方法,针对待编码的目标视频,并不是每一视频帧都调用基于神经网络算法构建出的字幕检测算子来对字幕信息进行高精度的识别和检测,而是充分考虑字幕内容呈现的时效性和连续存在性,采用了间隔、抽帧的方式按周期调用字幕检测算子来检测呈现在当前视频帧内的字幕信息,从而降低因连续重复调用字幕检测算子所带来的不必要性能开销,有利于腾出更多性能用于针对性的对呈现字幕信息的区域进行针对性的编码,进而提升用户在后续实际点播该视频时的观看体验。
为进一步加深对具体如何理解步骤202描述的按周期调用字幕检测算子的实现过程,本实施例还通过图3示出了一种具体的实现方式,其流程300包括以下步骤:
步骤301:调用字幕检测算子检测得到出现在目标视频帧中的首个字幕信息;
本步骤旨在由上述执行主体调用字幕检测算子检测得到出现在目标视频帧中的首个字幕信息。应当理解的是,首个字幕信息是指首个出现在目标视频的视频画面中的字幕信息。若在构成目标视频的第一视频帧中就出现了字幕,那么该第一视频帧就为目标视频帧,若在对应播放20秒时刻对应的视频帧中首次出现字幕,那么与20秒对应的视频帧就为该目标视频帧,即应当考虑在未包含有字幕信息的部分视频帧。而针对在出现首个字幕信息之前的较多视频帧,若每一帧都调用字幕检测算子进行是否出现首字幕信息的检测,一来因较长的检测耗时无法做到,二来也将导致较大的性能开销,因此可以在目标视频的前几个图像帧尽可能频繁的调用字幕检测算子进行字幕信息的检测,若经检测均未发现字幕框数量为0、无字幕内容出现,在可以间隔一段时长再调用一次字幕检测算子,若仍未检测到,甚至可以进一步增大间隔时长来尽可能的以少调用字幕检测算子的次数。
步骤302:在检测到首个字幕信息后,按周期对相应视频帧进行字幕内容的变化检测;
在步骤301的基础上,本步骤旨在由上述执行主体在检测到首个字幕信息后,自此仅按周期的以较短的检测耗时、较小的性能开销使用基于传统检测算法(例如用于计算构成区域图像的像素块的绝对值差和的检测算法)对相应视频帧进行字幕内容的变化检测,即检测上一周期出现的字幕信息中的字幕内容相较于当前周一出现的字幕信息中的字幕内容是否发生了变化。
步骤303:判断当前周期检测出的字幕内容相较于上一周期检测出的字幕内容是否发生变化,若未发生变化,执行步骤304,若发生了变化则执行步骤305;
步骤304:放弃在当前周期调用字幕检测算子进行字幕信息的检测;
本步骤建立在步骤303判断出当前周期检测出的字幕内容相较于上一周期检测出的字幕内容未发生变化的基础上,即说明了上一周期的字幕内容与当前周期的字幕内容一致,也就是说上一条字幕内容仍处于生效阶段、还未更换至下一条字幕内容,因此在字幕信息未变化的情况下,上述执行主体可以通过放弃在当前周期调用耗费较长检测耗时、需要付出较大性能开销的字幕检测算子来进行字幕信息的检测,以在保证字幕信息检测准确性的情况下降低性能开销。
步骤305:在当前周期调用字幕检测算子进行字幕信息的检测,得到新字幕信息。
本步骤建立在步骤303判断出当前周期检测出的字幕内容相较于上一周期检测出的字幕内容发生了变化的基础上,即说明了上一周期的字幕内容与当前周期的字幕内容不一致,也就是说上一条字幕内容已经失效、已经更换至另一条字幕内容,因此在字幕信息变更的情况下,上述执行主体应当在当前周期调用一次字幕检测算子来进行最新字幕信息的检测检测,以在保证字幕信息检测的准确性。
即本实施例通过步骤301-步骤305提供了一种具体的按周期调用字幕检测算子进行字幕信息检测的方案,即在调用字幕检测算子得到准确的首个字幕信息后,按周期仅进行以较短的检测耗时、较小的性能开销的基于传统检测算法的字幕内容变化检测,进而通过付出小代价来判断字幕信息是否发生了变更,并在未发生变更时放弃在当前周期调用字幕检测算子,仅在判断出发生了变更时才保持在当前周期调用字幕检测的行为,以尽可能的减少不必要的字幕检测算子的调用此处,从而在保证字幕信息检测的准确性的前提下也尽可能的降低性能开销。
为了进一步加深对步骤302如何实现按周期进行字幕内容的变化的理解,此处还可以首个检测周期为例进行具体实现过程的展开说明:
例如首先从首个字幕信息中提取出第一字幕框和第一字幕框所框选区域内出现的首字幕内容,然后在与检测出首个字幕信息后的一个周期时长后,对当前视频帧中该第一字幕框所框选位置内出现的实际字幕内容进行获取,然后检测该第一字幕框内所框选区域内在当前周期相应的视频帧中出现的字幕内容较首字幕内容是否发生了变化。
针对这一过程,还可以具体参见图4示出了一种采用绝对值差和算法来计算字幕内容是否发生了变化的方法,其流程400包括如下步骤:
步骤401:根据首个字幕信息确定与第一字幕框所框选区域对应的第一区域图像;
步骤402:确定当前周期相应的视频帧中与第一字幕框内所框选区域对应的第二区域图像;
步骤403:计算第二区域图像与第一区域图像之间的绝对差值和;
SAD(Sum of Absolute Differences,绝对值差和)技术是计算视频中某固定区域在不同帧的图像画面之间的差异程度的一种技术,也可以理解为用于衡量两幅图像之间差异的方法,可用于检测运动或比较不同帧之间的内容变化。计算视频中固定区域SAD值的一般步骤可以为:
1)选择固定区域:
首先,需要明确定义在视频帧中的哪个区域想要计算SAD值。这个区域通常是一个矩形或正方形,可以通过指定其左上角和右下角的坐标来定义,在本实施例中为首个字幕信息中的第一字幕框所框选的区域。
2)分别获取两帧图像,即为出现首个字幕信息的一帧图像和当前周期的一帧图像;
3)计算SAD值:
对于每一对图像帧,执行以下操作:a.提取两个图像帧中的相同区域,即固定区域;b.对两个区域中的每个像素进行逐像素的差异计算;c.将每个像素的差值取绝对值,然后将所有差值相加,得到SAD值。当然,也可以选择其它能够实现类似效果的计算方式,此处不再一一列举
步骤404:判断绝对差值和是否超过预设阈值,若超过,执行步骤405,否则执行步骤406;
步骤405:确定在当前周期相应的视频帧中出现在第一字幕框内的新字幕内容较首字幕内容发生了变化;
即本步骤因计算出的绝对差值和超过了预设阈值,因此认为第一字幕框所框选区域的像素信息在两图像帧中发生了较大的变化,因此可以确定在当前周期出现在第一字幕框内的新字幕内容较首字幕内容发生了变化。
步骤406:确定在当前周期相应的视频帧中出现在第一字幕框内的新字幕内容较首字幕内容未发生变化。
即本步骤因计算出的绝对差值和未超过该预设阈值,因此认为第一字幕框所框选区域的像素信息在两图像帧中未发生较大的变化,因此可以确定在当前周期出现在第一字幕框内的新字幕内容较首字幕内容未发生变化,即大概率是字幕内容维持了一致。
本实施例通过步骤401-步骤406提供了一种具体使用绝对差值和来计算字幕内容是否发生了变化的实现方式,得以能够以较小的计算代价快速确认字幕信息是否发生了变更,从而决定是否在本周期调用字幕检测算子进行字幕信息的准确检测。
在上述任意实施例的基础上,考虑到在多字幕场景会产生一些漏检的问题。比如算子检测到左上角始终不变的电视台台标,一直跳过检测,下方新出现的对话字幕会漏掉。又比如连续的对话字幕,上一句字幕消失,中间只间隔不到10帧下一句字幕就出现,需要及时检测。所以还可以加上一些强制检测判别规则,可参见图5所示的情况一、情况二和情况三:
情况一:若连续放弃调用字幕检测算子的次数超过第一预设次数,强制在下一周期调用一次字幕检测算子进行字幕信息的检测,以避免因其它位置新出现字幕无法被察觉的漏检情况出现;
情况二:响应于当前周期调用字幕检测算子检测出的字幕框数量小于之前连续预设周期内出现过的最大字幕框数量,强制在下一周期调用一次所述字幕检测算子进行字幕信息的检测,该预设周期可以设置为10个甚至20个周期,由于均是当前周期与位于当前周期之前的多个周期内的最大字幕框数量进行比较,因此一旦出现小于的情况,在下一周期强制调用字幕检测算子进行字幕信息的检测行为最多将可以持续出现在之后的预设个新周期中,以避免多条字幕中至少一条字幕消失一段时间但不知道其什么时间又将出现导致的无法及时检测问题。
情况三:若当前周期调用字幕检测算子未检测出字幕框且之前连续预设周期内出现过的最大字幕框数量为零,每隔预设周期调用一次字幕检测算子进行字幕信息的检测。即此场景实际针对的是连续无字幕场景,那么此时将无需按照原本的周期进行字幕内容检测,只需要间隔更多的周期强制检测一次即可。
为加深理解,本公开还以一具体应用场景为例,给出了一套完整且具体的实现方案:
常规采用基于神经网络进行字幕检测的方式,其虽然检测效果较好,但由于单帧检测耗时高,只能间隔一定帧数进行检测,若间隔较长可能无法及时发现字幕改变或消失,若间隔较短无法降低整体检测耗时。
为了解决上述问题,本实施例从字幕检测的抽帧方式入手,利用字幕时域连续性的特性,避免无意义的字幕检测算子的调用:一方面,字幕一般会固定位置维持1秒以上,中间判别字幕无变化时,实际上都不需要调用字幕检测算子进行字幕信息的准确检测;另一方面,在字幕切换时,也需要及时调用检测算子检测新的字幕框,或者其他位置字幕的出现。具体方案展开阐述如下:
1、字幕自适应抽帧检测流程。
本实施例是基于固定小间隔的神经网络的字幕检测所做的抽帧检测优化,设定固定间隔为K,每K帧判定一次“检测时机”。K可为5,具体大小可以根据视频编码场景的速度要求设定。K=1则每帧都判定是否调用检测算子,K=5则每5帧判别一次是否调用检测算子,即只在第0、5、10、15...帧判定是否调字幕检测算子。
每次检测时机判定时,只有第0帧是必定调字幕检测算子,其他帧在本发明中需要满足一定条件才调用字幕检测算子。每次字幕检测算子返回结果为字幕框数目n(限定最大值不超过5),以及每个字幕框的坐标。字幕检测结果更新规则为:
1)对检测时机帧,若调用字幕检测算子,则更新字幕检测结果;
2)对检测时机帧,若未调用字幕检测算子,则继承上次字幕检测结果;
3)非“检测时机”帧,则继承上次字幕检测结果。
若为基础的固定间隔字幕抽帧检测,则每次“检测时机”都会调用检测算子。而本实施例重点利用字幕时域连续性,在“检测时机”帧加入了是否调用检测算子的判定,以达到减少算子调用频率、降低整体检测耗时的目的。
2、字幕检测算子调用判定
对于“检测时机”帧(帧序号模K为0),判定是否需要调字幕检测的策略为以下几点:
1)在字幕维持不变时,跳过检测算子调用
由于电视剧或电影等视频的字幕通常维持很多帧,所以在每次“检测时机”,若上一次检测算子检出字幕框n>0,且判定字幕在当前帧仍无变化,可跳过字幕检测算子调用,继承上次字幕检测结果。判定方法为利用检测帧和当前帧字幕区域的SAD和阈值比较,判定字幕是否消失或改变。字幕变化时SAD必定较小,而字幕消失或切换时,由于字幕和背景像素差异较大,通常会是一个较大值。具体计算可以为:
a.SAD统计范围为每个字幕框缩小到8x8格点,并往内缩小一半,避免过多包含背景像素;b.计算该区域所有8x8块像素SAD(可用汇编加速),取均值,各字幕框SAD结果取最大值;c.如果SAD结果小于『8x8YUV像素点数*阈值Th1』,阈值Th1可设为20,跳过检测算子调用,继承上次字幕检测结果。
2)强制调用检测算子的策略
应用了1)中的判别策略后,在多字幕场景会产生一些漏检的问题。比如算子检测到左上角始终不变的电视台台标,一直跳过检测,下方新出现的对话字幕会漏掉。又比如连续的对话字幕,上一句字幕消失,中间只间隔不到10帧下一句字幕就出现,需要及时检测。所以加上一些强制检测判别规则:
a.距离上一次调用检测算子已有一段时间(5次检测时机或1秒,按帧数取最小值,赋为阈值Th2),强制调用一次检测算子。这是为了避免其他位置新出现字幕无法被察觉,阈值Th2是为了让新字幕检测的延迟最大4次检测时机或不到1秒;
b.若上次检测的字幕框数目,小于最近最大检测或继承的字幕框数目(20次检测时机或2s,按帧数取最小值,赋为阈值Th3),强制检测。这是为了避免字幕这句话消失,下句话出现无法及时被检测到,20次检测时机或2秒内字幕切换能无延迟检测到。若这段时间内频繁检测都检测不到,相当于退化为a)强制检测,新字幕延迟最大4次检测时机或不到1秒。
3)连续无字幕场景的跳过策略
未检测出字幕时,若最近最大检测或继承的字幕框数目也为0,无需每次调用算子,只等强制检测。纯无字幕场景或一段时间无字幕片段,相当于退化为5次检测时机或1秒距离的强制检测,减少80%检测次数,即使后续出现字幕,也只相当于延迟最大4次检测时机或不到1秒就能检测出。
3.调用检测算子判定规则优先级
对“检测时机”的帧(帧序号模K为0),有三个策略共计四条规则去判别是否调用检测算子:在1)中的SAD计算和判别跳过检测规则,在2)的两条强制检测规则,在3)中的连续无字幕场景跳过规则。其优先级从高到低如下:
规则一:当前检测时机帧序号,距离上一次调用检测算子帧序号大于等于Th2,当前检测时机强制调用检测算子。
规则二:若上次检测或继承的字幕框数目,小于最近最大检测或继承的字幕框数目,当前检测时机强制调用检测算子。
规则三:若上次检测或继承的字幕框数目为0,且最近最大检测或继承的字幕框数目也为0(即未触发规则二),跳过当前检测时机检测算子调用,继承上次结果。
规则四:若上次检测或继承的字幕框数目不为0,且SAD计算判定当前帧和上次实际检测帧字幕无变化,跳过当前检测时机检测算子调用,继承上次结果。
另外,最近最大检测或继承的字幕框数目,为最近20次检测时机或2秒内(按帧数取最小值,赋为Th3),检测或继承的字幕框数目的最大值。所以每次检测时机后,需更新距离Th3范围内最近最大检测或继承的字幕框数目。
需要说明的是,本实施例所提供的方案能应用于不限于H.264、H.265等编码标准的编码器中,用来判定字幕检测算子的调用时机,减少冗余的字幕检测调用。能结合基于神经网络的字幕检测算子,取得较好的检测效果。生成的字幕检测结果应用于后续字幕码率分配和模式决策中,能有效提升人眼感兴趣的字幕区域的主观质量。
进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种视频编码装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例的视频编码装置600可以包括:目标视频确定单元601、按周期调用算子单元602、感兴趣区域确定及针对性编码单元603。其中,目标视频确定单元601,被配置成根据获取到的视频编码请求,确定待编码的目标视频;按周期调用算子单元602,被配置成对构成目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息;其中,字幕检测算子为基于深度学习算法构建出的用于识别视频中字幕信息的神经网络,字幕信息包括:字幕框数量、字幕框位置和字幕内容;感兴趣区域确定及针对性编码单元603,被配置成将用于呈现字幕信息的画面区域确定为感兴趣区域,并按照与感兴趣区域匹配的视频编码方式进行编码处理。
在本实施例中,视频编码装置600中:目标视频确定单元601、按周期调用算子单元602、感兴趣区域确定及针对性编码单元603的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,按周期调用算子单元602可以包括:
首个字幕信息得到子单元,被配置成调用字幕检测算子检测得到出现在目标视频帧中的首个字幕信息;
字幕内容变化检测子单元,被配置成在检测到首个字幕信息后,按周期对相应视频帧进行字幕内容的变化检测;
放弃调用子单元,被配置成响应于当前周期检测出的字幕内容相较于上一周期检测出的字幕内容未发生变化,放弃在当前周期调用字幕检测算子进行字幕信息的检测;
调用子单元,被配置成响应于当前周期检测出的字幕内容相较于上一周期检测出的字幕内容发生了变化,在当前周期调用字幕检测算子进行字幕信息的检测,得到新字幕信息。
在本实施例的一些可选的实现方式中,字幕内容变化检测子单元可以包括:
首字幕内容提取模块,被配置成从首个字幕信息中提取出第一字幕框和第一字幕框所框选区域内出现的首字幕内容;
变化检测模块,被配置成检测第一字幕框内所框选区域内在当前周期相应的视频帧中出现的字幕内容较首字幕内容是否发生了变化。
在本实施例的一些可选的实现方式中,变化检测模块可以被进一步配置成:
根据首个字幕信息确定与第一字幕框所框选区域对应的第一区域图像;
确定当前周期相应的视频帧中与第一字幕框内所框选区域对应的第二区域图像;
计算第二区域图像与第一区域图像之间的绝对差值和;
响应于绝对差值和超过预设阈值,确定在当前周期相应的视频帧中出现在第一字幕框内的新字幕内容较首字幕内容发生了变化;
响应于绝对差值和未超过预设阈值,确定在当前周期相应的视频帧中出现在第一字幕框内的新字幕内容较首字幕内容未发生变化。
在本实施例的一些可选的实现方式中,周期包括:以每隔预设图像帧或以每隔预设时长作为一周期。
在本实施例的一些可选的实现方式中,视频编码装置600中还可以包括:
第一强制调用单元,被配置成响应于连续放弃调用字幕检测算子的次数超过第一预设次数,强制在下一周期调用一次字幕检测算子进行字幕信息的检测。
在本实施例的一些可选的实现方式中,视频编码装置600中还可以包括:
第二强制调用单元,被配置成响应于当前周期调用字幕检测算子检测出的字幕框数量小于在之前连续预设周期内出现过的最大字幕框数量,强制在下一周期调用一次字幕检测算子进行字幕信息的检测。
在本实施例的一些可选的实现方式中,视频编码装置600中还可以包括:
连续无字幕场景检测单元,被配置成响应于当前周期调用字幕检测算子未检测出字幕框且之前连续预设周期内出现过的最大字幕框数量为零,每隔预设周期调用一次字幕检测算子进行字幕信息的检测。
在本实施例的一些可选的实现方式中,感兴趣区域确定及针对性编码单元603可以包括被配置成按照与感兴趣区域匹配的视频编码方式进行编码处理的针对性编码子单元,针对性编码子单元可以被进一步配置成:
确定预先为感兴趣区域配置的超过预设码率的高编码码率;
按照高编码码率对感兴趣区域进行编码处理,得到感兴趣区域编码结果。
在本实施例的一些可选的实现方式中,视频编码装置600中还可以包括:
低编码码率确定单元,被配置成确定预先为非感兴趣区域配置的未超过预设码率的低编码码率;
非感兴趣区域编码结果获取单元,被配置成按照低编码码率对非感兴趣区域进行编码处理,得到非感兴趣区域编码结果;
编码结果组合单元,被配置成按所述感兴趣区域和非所述感兴趣区域之间的区域位置关系,组合相应的感兴趣区域编码结果和非感兴趣区域编码结果。
本实施例作为对应于上述方法实施例的装置实施例存在,本实施例提供的视频编码装置,针对待编码的目标视频,并不是每一视频帧都调用基于神经网络算法构建出的字幕检测算子来对字幕信息进行高精度的识别和检测,而是充分考虑字幕内容呈现的时效性和连续存在性,采用了间隔、抽帧的方式按周期调用字幕检测算子来检测呈现在当前视频帧内的字幕信息,从而降低因连续重复调用字幕检测算子所带来的不必要性能开销,有利于腾出更多性能用于针对性的对呈现字幕信息的区域进行针对性的编码,进而提升用户在后续实际点播该视频时的观看体验。
根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现上述任意实施例所描述的视频编码方法。
根据本公开的实施例,本公开还提供了一种可读存储介质,该可读存储介质存储有计算机指令,该计算机指令用于使计算机执行时能够实现上述任意实施例所描述的视频编码方法。
根据本公开的实施例,本公开还提供了一种计算机程序产品,该计算机程序在被处理器执行时能够实现上述任意实施例所描述的视频编码方法。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如视频编码方法。例如,在一些实施例中,视频编码方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的视频编码方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视频编码方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷。
根据本公开实施例的技术方案,针对待编码的目标视频,并不是每一视频帧都调用基于神经网络算法构建出的字幕检测算子来对字幕信息进行高精度的识别和检测,而是充分考虑字幕内容呈现的时效性和连续存在性,采用了间隔、抽帧的方式按周期调用字幕检测算子来检测呈现在当前视频帧内的字幕信息,从而降低因连续重复调用字幕检测算子所带来的不必要性能开销,有利于腾出更多性能用于针对性的对呈现字幕信息的区域进行针对性的编码,进而提升用户在后续实际点播该视频时的观看体验。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (23)
1.一种视频编码方法,包括:
根据获取到的视频编码请求,确定待编码的目标视频;
对构成所述目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息;其中,所述字幕检测算子为基于深度学习算法构建出的用于识别视频中字幕信息的神经网络,所述字幕信息包括:字幕框数量、字幕框位置和字幕内容;
将用于呈现所述字幕信息的画面区域确定为感兴趣区域,并按照与所述感兴趣区域匹配的视频编码方式进行编码处理。
2.根据权利要求1所述的方法,其中,所述对构成所述目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息,包括:
调用所述字幕检测算子检测得到出现在目标视频帧中的首个字幕信息;
在检测到所述首个字幕信息后,按周期对相应视频帧进行字幕内容的变化检测;
响应于当前周期检测出的字幕内容相较于上一周期检测出的字幕内容未发生变化,放弃在当前周期调用所述字幕检测算子进行字幕信息的检测;
响应于当前周期检测出的字幕内容相较于上一周期检测出的字幕内容发生了变化,在当前周期调用所述字幕检测算子对相应视频帧进行字幕信息的检测,得到新字幕信息。
3.根据权利要求2所述的方法,其中,所述在检测到所述首个字幕信息后,按周期对相应视频帧进行字幕内容变化检测,包括:
从所述首个字幕信息中提取出第一字幕框和所述第一字幕框所框选区域内出现的首字幕内容;
检测所述第一字幕框内所框选区域内在当前周期相应的视频帧中出现的字幕内容较所述首字幕内容是否发生了变化。
4.根据要求3所述的方法,其中,所述检测所述第一字幕框内所框选区域内在当前周期相应的视频帧中出现的字幕内容较所述首字幕内容是否发生了变化,包括:
根据所述首个字幕信息确定与所述第一字幕框所框选区域对应的第一区域图像;
确定当前周期相应的视频帧中与所述第一字幕框内所框选区域对应的第二区域图像;
计算所述第二区域图像与所述第一区域图像之间的绝对差值和;
响应于所述绝对差值和超过预设阈值,确定在当前周期相应的视频帧中出现在所述第一字幕框内的新字幕内容较所述首字幕内容发生了变化;
响应于所述绝对差值和未超过所述预设阈值,确定在当前周期相应的视频帧中出现在所述第一字幕框内的新字幕内容较所述首字幕内容未发生变化。
5.根据权利要求1所述的方法,其中,所述周期包括:以每隔预设图像帧或以每隔预设时长作为一周期。
6.根据权利要求2-5任一项所述的方法,还包括:
响应于连续放弃调用所述字幕检测算子的次数超过第一预设次数,强制在下一周期调用一次所述字幕检测算子进行字幕信息的检测。
7.根据权利要求2-5任一项所述的方法,还包括:
响应于当前周期调用所述字幕检测算子检测出的字幕框数量小于之前连续预设周期内出现过的最大字幕框数量,强制在下一周期调用一次所述字幕检测算子进行字幕信息的检测。
8.根据权利要求2-5任一项所述的方法,还包括:
响应于当前周期调用所述字幕检测算子未检测出字幕框且之前连续预设周期内出现过的最大字幕框数量为零,每隔预设周期调用一次所述字幕检测算子进行字幕信息的检测。
9.根据权利要求1所述的方法,其中,所述按照与所述感兴趣区域匹配的视频编码方式进行编码处理,包括:
确定预先为所述感兴趣区域配置的超过预设码率的高编码码率;
按照所述高编码码率对所述感兴趣区域进行编码处理,得到感兴趣区域编码结果。
10.根据权利要求9所述的方法,还包括:
确定预先为非所述感兴趣区域配置的未超过所述预设码率的低编码码率;
按照所述低编码码率对非所述感兴趣区域进行编码处理,得到非感兴趣区域编码结果;
按所述感兴趣区域和非所述感兴趣区域之间的区域位置关系,组合相应的感兴趣区域编码结果和非感兴趣区域编码结果。
11.一种视频编码装置,包括:
目标视频确定单元,被配置成根据获取到的视频编码请求,确定待编码的目标视频;
按周期调用算子单元,被配置成对构成所述目标视频的按时序排列的各视频帧,按周期调用预设的字幕检测算子检测相应的视频帧内的字幕信息;其中,所述字幕检测算子为基于深度学习算法构建出的用于识别视频中字幕信息的神经网络,所述字幕信息包括:字幕框数量、字幕框位置和字幕内容;
感兴趣区域确定及针对性编码单元,被配置成将用于呈现所述字幕信息的画面区域确定为感兴趣区域,并按照与所述感兴趣区域匹配的视频编码方式进行编码处理。
12.根据权利要求11所述的装置,其中,所述按周期调用算子单元包括:
首个字幕信息得到子单元,被配置成调用所述字幕检测算子检测得到出现在目标视频帧中的首个字幕信息;
字幕内容变化检测子单元,被配置成在检测到所述首个字幕信息后,按周期对相应视频帧进行字幕内容的变化检测;
放弃调用子单元,被配置成响应于当前周期检测出的字幕内容相较于上一周期检测出的字幕内容未发生变化,放弃在当前周期调用所述字幕检测算子进行字幕信息的检测;
调用子单元,被配置成响应于当前周期检测出的字幕内容相较于上一周期检测出的字幕内容发生了变化,在当前周期调用所述字幕检测算子对相应视频帧进行字幕信息的检测,得到新字幕信息。
13.根据权利要求12所述的装置,其中,所述字幕内容变化检测子单元包括:
首字幕内容提取模块,被配置成从所述首个字幕信息中提取出第一字幕框和所述第一字幕框所框选区域内出现的首字幕内容;
变化检测模块,被配置成检测所述第一字幕框内所框选区域内在当前周期相应的视频帧中出现的字幕内容较所述首字幕内容是否发生了变化。
14.根据要求13所述的装置,其中,所述变化检测模块被进一步配置成:
根据所述首个字幕信息确定与所述第一字幕框所框选区域对应的第一区域图像;
确定当前周期相应的视频帧中与所述第一字幕框内所框选区域对应的第二区域图像;
计算所述第二区域图像与所述第一区域图像之间的绝对差值和;
响应于所述绝对差值和超过预设阈值,确定在当前周期相应的视频帧中出现在所述第一字幕框内的新字幕内容较所述首字幕内容发生了变化;
响应于所述绝对差值和未超过所述预设阈值,确定在当前周期相应的视频帧中出现在所述第一字幕框内的新字幕内容较所述首字幕内容未发生变化。
15.根据权利要求11所述的装置,其中,所述周期包括:以每隔预设图像帧或以每隔预设时长作为一周期。
16.根据权利要求12-15任一项所述的装置,还包括:
第一强制调用单元,被配置成响应于连续放弃调用所述字幕检测算子的次数超过第一预设次数,强制在下一周期调用一次所述字幕检测算子进行字幕信息的检测。
17.根据权利要求12-15任一项所述的装置,还包括:
第二强制调用单元,被配置成响应于当前周期调用所述字幕检测算子检测出的字幕框数量小于在之前连续预设周期内出现过的最大字幕框数量,强制在下一周期调用一次所述字幕检测算子进行字幕信息的检测。
18.根据权利要求12-15任一项所述的装置,还包括:
连续无字幕场景检测单元,被配置成响应于当前周期调用所述字幕检测算子未检测出字幕框且之前连续预设周期内出现过的最大字幕框数量为零,每隔预设周期调用一次所述字幕检测算子进行字幕信息的检测。
19.根据权利要求11所述的装置,其中,所述感兴趣区域确定及针对性编码单元包括被配置成按照与所述感兴趣区域匹配的视频编码方式进行编码处理的针对性编码子单元,所述针对性编码子单元被进一步配置成:
确定预先为所述感兴趣区域配置的超过预设码率的高编码码率;
按照所述高编码码率对所述感兴趣区域进行编码处理,得到感兴趣区域编码结果。
20.根据权利要求19所述的装置,还包括:
低编码码率确定单元,被配置成确定预先为非所述感兴趣区域配置的未超过所述预设码率的低编码码率;
非感兴趣区域编码结果获取单元,被配置成按照所述低编码码率对非所述感兴趣区域进行编码处理,得到非感兴趣区域编码结果;
编码结果组合单元,被配置成按所述感兴趣区域和非所述感兴趣区域之间的区域位置关系,组合相应的感兴趣区域编码结果和非感兴趣区域编码结果。
21.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的视频编码方法。
22.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-10中任一项所述的视频编码方法。
23.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1-10中任一项所述视频编码方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311466140.3A CN117528141A (zh) | 2023-11-06 | 2023-11-06 | 视频编码方法、装置、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311466140.3A CN117528141A (zh) | 2023-11-06 | 2023-11-06 | 视频编码方法、装置、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117528141A true CN117528141A (zh) | 2024-02-06 |
Family
ID=89746884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311466140.3A Pending CN117528141A (zh) | 2023-11-06 | 2023-11-06 | 视频编码方法、装置、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117528141A (zh) |
-
2023
- 2023-11-06 CN CN202311466140.3A patent/CN117528141A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220046261A1 (en) | Encoding method and apparatus for screen sharing, storage medium, and electronic device | |
CN112714309A (zh) | 视频质量评估方法、装置、设备、介质及程序产品 | |
US10360687B2 (en) | Detection and location of active display regions in videos with static borders | |
CN110166796B (zh) | 视频帧的处理方法、装置、计算机可读介质及电子设备 | |
CN115022679B (zh) | 视频处理方法、装置、电子设备和介质 | |
CN111833262A (zh) | 图像降噪方法、装置及电子设备 | |
CN116668670A (zh) | 静帧检测方法、装置、设备和计算机可读存储介质 | |
CN116668843A (zh) | 一种拍摄状态的切换方法、装置、电子设备以及存储介质 | |
CN114913471B (zh) | 一种图像处理方法、装置和可读存储介质 | |
CN117528141A (zh) | 视频编码方法、装置、电子设备、存储介质及程序产品 | |
CN112686109B (zh) | 离线视频文件的提取方法、装置、电子设备及存储介质 | |
CN112911299B (zh) | 一种视频码率控制方法、装置、电子设备和存储介质 | |
CN113988294A (zh) | 训练预测网络的方法、图像处理方法和装置 | |
CN112085002A (zh) | 人像分割方法、装置、存储介质及电子设备 | |
CN113613024A (zh) | 视频预处理方法及设备 | |
CN113628192A (zh) | 图像模糊检测方法、装置、设备、存储介质及程序产品 | |
CN113409199A (zh) | 图像处理方法、装置、电子设备及计算机可读介质 | |
CN112541472B (zh) | 一种目标检测方法、装置及电子设备 | |
JP2021013145A (ja) | 動画像伝送装置、動画像伝送方法 | |
CN116156253B (zh) | 一种视频监控在智慧大屏的可视化方法 | |
CN113627363B (zh) | 视频文件的处理方法、装置、设备以及存储介质 | |
CN117336548A (zh) | 一种视频编码的处理方法、装置、设备及存储介质 | |
EP4391554A1 (en) | Video processing collaboration method, apparatus, device, and storage medium | |
CN117354526A (zh) | 一种图像编码方法、设备和介质 | |
KR101313525B1 (ko) | 최대 신호 대 잡음비를 이용한 지능형 감시 시스템의 성능 향상 방법 및 시스템 |
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 |