CN112929695B - 视频去重方法、装置、电子设备和存储介质 - Google Patents

视频去重方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN112929695B
CN112929695B CN202110099332.XA CN202110099332A CN112929695B CN 112929695 B CN112929695 B CN 112929695B CN 202110099332 A CN202110099332 A CN 202110099332A CN 112929695 B CN112929695 B CN 112929695B
Authority
CN
China
Prior art keywords
image frames
video
image
frame
frames
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
CN202110099332.XA
Other languages
English (en)
Other versions
CN112929695A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110099332.XA priority Critical patent/CN112929695B/zh
Publication of CN112929695A publication Critical patent/CN112929695A/zh
Application granted granted Critical
Publication of CN112929695B publication Critical patent/CN112929695B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • H04N21/234381Processing 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 by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本申请公开了视频去重方法、装置、电子设备和存储介质,涉及计算机视觉、深度学习等人工智能技术领域。具体实现方案为:获取视频,并获取视频中的多个图像帧;生成每个图像帧对应的哈希值矩阵,并根据哈希值矩阵生成每个图像帧对应的特征值;根据每个图像帧对应的特征值确定多个图像帧中的多个重复图像帧;以及对多个图像帧中的多个重复图像帧进行去重处理。由此,能够在有效地去除重复视频的同时,提高视频的去重效果和去重效率,极大提升了用户体验。

Description

视频去重方法、装置、电子设备和存储介质
技术领域
本申请涉及计算机视觉、深度学习等人工智能技术领域,尤其涉及一种视频去重方法、装置、电子设备和存储介质。
背景技术
视频插帧技术的任务是通过估计视频原始帧图像中运动物体的轨迹,在相邻帧之间插入合成的帧,从而使得原视频的帧数翻倍甚至更高,以达到提升视频帧率的目的,它是目前计算机视觉的一个重要研究方向。
目前基于深度学习的插帧算法已经取得了很大地进步。但是在插帧算法中一直存在一个问题,那就是原视频中可能存在着很多相似甚至一样的帧(尤其是年代比较久远的视频,视频中存在非常多的重复帧),如果对原始视频中存在的重复帧不进行处理而直接进行插帧,那么会导致相邻重复帧之间插入了一样的重复帧。
发明内容
本申请提供了一种视频去重方法、装置、电子设备和存储介质。
根据本申请的一方面,提供了一种视频去重方法,包括:
获取视频,并获取所述视频中的多个图像帧;
生成每个所述图像帧对应的哈希值矩阵,并根据所述哈希值矩阵生成所述每个图像帧对应的特征值;
根据所述每个图像帧对应的特征值确定所述多个图像帧中的多个重复图像帧;以及
对所述多个图像帧中的多个重复图像帧进行去重处理。
根据本申请的另一方面,提供了一种视频去重装置,包括:
获取模块,用于获取视频,并获取所述视频中的多个图像帧;
生成模块,用于生成每个所述图像帧对应的哈希值矩阵,并根据所述哈希值矩阵生成所述每个图像帧对应的特征值;
确定模块,用于根据所述每个图像帧对应的特征值确定所述多个图像帧中的多个重复图像帧;以及
去重模块,用于对所述多个图像帧中的多个重复图像帧进行去重处理。
根据本申请的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述一方面实施例所述的视频去重方法。
根据本申请另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其上存储有计算机程序,所述计算机指令用于使所述计算机执行上述一方面实施例所述的视频去重方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述一方面实施例所述的视频去重方法。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例所涉及的一种实施环境的示意图;
图2为本申请实施例提供的一种视频去重方法的流程示意图;
图3为本申请实施例提供的另一种视频去重方法的流程示意图;
图4为本申请实施例提供的另一种视频去重方法的流程示意图;
图5为本申请实施例提供的另一种视频去重方法的流程示意图;
图6为本申请实施例提供的一种视频去重装置的结构示意图;以及
图7为根据本申请实施例的视频去重方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本申请实施例的视频去重方法、装置、电子设备和存储介质。
人工智能是研究使用计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术领域也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术包括计算机视觉技术、语音识别技术、自然语言处理技术以及深度学习、大数据处理技术、知识图谱技术等几大方向。
计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所指的信息指Shannon(香农公式)定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。
深度学习是机器学习领域中一个新的研究方向。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
本申请实施例的视频去重方法,可根据视频中的多个图像帧中每个图像帧对应的哈希值矩阵,得到每个图像帧对应的特征值,并根据该特征值确定多个图像帧中的多个重复图像帧,以及对多个图像帧中的多个重复图像帧进行去重处理,从而提高了视频的去重效果和去重效率,极大提升了用户体验。
参见图1,图1是本申请实施例所涉及的一种实施环境的示意图,该实施环境包括:视频提供设备101和显示设备102,视频提供设备101可以为数字通用光盘播放机、影音光盘播放机、服务器、U盘或智能硬盘等,显示设备102可以为手机、平板电脑、台式电脑或者电视机等具有显示功能的视频处理设备。视频提供设备101和显示设备102之间建立有通信连接,该通信连接可以是无线网络连接和有线网络连接的至少一种。其中,无线网络连接例如可以为采用移动通信网络、蓝牙、紫峰(Zigbee)或者无线保真(Wireless Fidelity,WIFI)等方式进行的通信连接。有线网络连接例如可以为采用双绞线、同轴电缆、光纤、网线或者数据线(如USB、IEEE1394、串口或并口等)等方式进行的通信连接。
需要说明的是,当该实施例中所描述的显示设备102为手机、平板电脑等内置摄像头的电子设备时,显示设备102还可通过内置的摄像头拍摄视频并保存。其中,显示设备102可将拍摄的视频保存在自身的存储空间中,其中,该存储空间不仅限于基于实体的存储空间,例如,硬盘,上述存储空间还可以是连接显示设备102的网络硬盘的存储空间(云存储空间)。
本申请实施例提供的视频去重方法,可以由电子设备来执行,该电子设备可为一种视频处理设备,该视频处理设备可以是图1所示的实施环境中的视频提供设备101或显示设备102。当视频处理设备为图1所示的实施环境中的视频提供设备101时,视频处理设备可以获取视频,并对该视频进行视频去重处理得到处理后的视频,以及将处理后的视频发送至显示设备102,以由显示设备102对该处理后的视频进行播放。当视频处理设备为图1所示的实施环境中的显示设备102时,在一种可实现方式中,视频处理设备可以从视频提供设备101中获取视频,并对该视频进行视频去重处理得到处理后的视频,以及对该处理后的视频进行播放;在另一种可实现方式中,视频处理设备通过内置的摄像头获取视频,并对该视频进行视频去重处理得到处理后的视频,以及将处理后的视频通过自身的显示屏视频进行播放。
在本申请实施例中,电子设备中可以设置有处理组件、存储组件和驱动组件。可选的,该驱动组件和处理组件可以集成设置,该存储组件可以存储操作系统、应用程序或其他程序模块,该处理组件通过执行存储组件中存储的应用程序来实现本申请实施例提供的视频去重方法。
图2是本申请实施例提供的一种视频去重方法的流程示意图。
本申请实施例的视频去重方法,还可由本申请实施例提供的视频去重装置执行,该装置可配置于电子设备中,以实现获取视频中的多个图像帧,并生成每个图像帧对应的哈希值矩阵,以及根据哈希值矩阵生成每个图像帧对应的特征值,而后根据该特征值确定多个图像帧中的多个重复图像帧,并对多个图像帧中的多个重复图像帧进行去重处理,从而提高了视频的去重效果和去重效率,极大提升了用户体验。
作为一种可能的情况,本申请实施例的视频去重方法还可以在服务器端执行,服务器可以为云服务器,可以在云端执行该视频去重方法。
如图2所示,该视频去重方法,可包括:
步骤201,获取视频,并获取视频中的多个图像帧。应说明的是,该视频可为用户想要进行视频去重以提升其播放流畅度的目标视频;该实施例中所描述的多个图像帧可为视频序列化后得到的视频图像帧,即有顺序(视频播放顺序)的多个图像帧。
在本申请实施例中,电子设备可以获取目标视频。可选的,当电子设备为视频提供设备时,电子设备可以从自身存储的视频中获取目标视频;当电子设备为显示设备时,在一种可实现方式中,电子设备可以从视频提供设备中获取目标视频,例如,电子设备可以通过目标视频对应的统一资源定位符(Uniform ResourceLocator,URL)从视频提供设备下载目标视频;在另一种可实现方式中,电子设备存储有目标视频,电子设备可以从自身存储的视频中获取该目标视频;在另一种可实现方式中,电子设备可以通过内置的摄像头拍摄视频以获取目标视频。
在本申请实施例中,电子设备可根据图像帧提取模型对视频进行处理,以得到该视频中的多个图像帧。
需要说明的是,该实施例中所描述的图像帧提取模型可以是提前训练好的,并将其预存在电子设备的存储空间中,以方便调取使用。
其中,该图像帧提取模型的训练与生成可由相关的服务器进行,该服务器可以是云端服务器,也可以是一台电脑的主机,该服务器与可执行申请实施例提供的视频去重方法的电子设备之间,建立有通信连接,该通信连接可以是无线网络连接和有线网络连接的至少一种。服务器可将训练完成的图像帧提取模型发送给电子设备,以便电子设备在需要时调用,从而大大减少电子设备的计算压力。
具体地,电子设备在获取到视频(即,目标视频)之后,可将该视频输入至图像帧提取模型,从而通过该图像帧提取模型对该视频进行提取,以输出该视频中的多个图像帧。
作为一种可能的情况,电子设备还可基于预设的提取算法对视频进行图像帧的提取,以得到该视频中的多个图像帧。其中,预设的提取算法可根据实际情况进行标定。
步骤202,生成每个图像帧对应的哈希值矩阵,并根据哈希值矩阵生成每个图像帧对应的特征值。
在本申请实施例中,哈希值矩阵可为二进制矩阵,且特征值可为一种哈希值,即每个图像帧对应的特征值可为每个图像帧对应的哈希值。
具体地,电子设备在得到视频中的多个图像帧之后,可根据预设的生成算法和多个图像帧,生成每个图像帧对应的哈希值矩阵,而后对该哈希值矩阵计算指数和,并可将计算得到的指数和作为上述的特征值。其中,预设的生成算法可根据实际情况进行标定。
步骤203,根据每个图像帧对应的特征值确定多个图像帧中的多个重复图像帧。
具体地,电子设备在得到每个图像帧对应的特征值之后,对每个图像帧对应的特征值进行比对,并将具有相同特征值的图像帧提取出来,以得到多个图像帧中的多个重复图像帧。
在本申请实施例中,电子设备还可以图像帧对应的特征值作为关键字,以该特征值对应的图像帧作为值,对多个重复图像帧进行整理,以生成重复图像帧字典。由此,可通过该重复图像帧字典方便的确定各个重复图像帧对应的特征值。
步骤204,对多个图像帧中的多个重复图像帧进行去重处理。
具体地,电子设备在根据每个图像帧对应的特征值确定多个图像帧中的多个重复图像帧之后,可先获取多个图像帧中的多个重复图像帧的时间戳,并根据该时间戳确定该多个重复图像帧在多个图像帧中的位置,以及根据该位置对多个图像帧中的多个重复图像帧进行去重处理。
在本申请实施例中,首先获取视频,并获取视频中的多个图像帧,然后生成每个图像帧对应的哈希值矩阵,并根据哈希值矩阵生成每个图像帧对应的特征值,最后根据每个图像帧对应的特征值确定多个图像帧中的多个重复图像帧,并对多个图像帧中的多个重复图像帧进行去重处理。由此,能够在有效地去除重复视频的同时,提高视频的去重效果和去重效率,极大提升了用户体验。
为了清楚说明上一实施例,在本申请的一个实施例中,如图3所示,生成每个图像帧对应的哈希值矩阵,可包括:
步骤301,对图像帧进行图像转化以转化成灰度图像。
在本申请实施例中,可根据图像帧转化模型对图像帧进行转化,以得到灰度图像。应说明的是,该实施例中所描述的图像帧转化模型也可以是提前训练好的,并将其预存在电子设备的存储空间中,以方便调取使用。并且该图像帧转化模型可将图像帧转化成同一大小的灰度图像,例如9x8的灰度图像(即,缩略图),即像素排列为横9竖8的灰度图像,此处不做任何限定。
具体地,电子设备在得到视频中的多个图像帧之后,可将该多个图像帧依次输入至图像帧转化模型,从而通过该图像帧转化模型对该多个图像帧进行转化,以输出同一大小的多个灰度图像。
步骤302,获取灰度图像之中的多个像素。
在本申请实施例中,可基于预设的像素提取算法对灰度图像进行提取,以得到该灰度图像之中的多个像素。其中,预设的像素提取算法可根据实际情况进行标定。
步骤303,确定多个像素中每两行或两列像素之间的像素差异值,并根据像素差异值生成哈希值矩阵。其中,该像素差异值可为1或0。
具体地,电子设备在得到灰度图像之后,可根据预设的像素提取算法和灰度图像,获取该灰度图像之中的多个像素,并确定多个像素中每两行或两列像素之间的像素差异值,并根据像素差异值生成哈希值矩阵。
进一步而言,假设灰度图像为9x8的缩略图,即该灰度图像的像素排列为横9竖8,其中,电子设备可计算灰度图像每两行之间像素差异值,例如,计算每两行上下间像素的大小,若下方的像素比上方的像素大时,则这两个像素之间的像素差异值可为“1”,若下方的像素比上方的像素小时,则这两个像素之间的像素差异值可为“0”,从而可以得到一个8x8的二进制哈希值矩阵。由此,将差异哈希算法进行了改进,在保证计算简单的情况下,将图像帧的哈希值计算过程进行了优化,并去除了原始差异哈希算法的通过计算哈希值之间汉明距离来进行相似度比较过程,而是用产生的图像帧哈希二进制值的指数和,作为图像帧的哈希值(即,特征值),改变了图像帧相似度度量方式,计算成本较低,准确性较高。
在本申请的另一个实施例中,如图4所示,对多个图像帧中的多个重复图像帧进行去重处理,可包括:
步骤401,分别获取多个重复图像帧的时间戳。
在本申请实施例中,可通过预设的时间戳获取算法分别获取多个重复图像帧,其中,预设的时间戳获取算法可根据实际情况进行标定。
具体地,电子设备在根据每个图像帧对应的特征值确定多个图像帧中的多个重复图像帧之后,可先通过预设的时间戳获取算法分别获取多个重复图像帧。
步骤402,根据多个重复图像帧的时间戳和多个图像帧,确定重复图像帧中的待删除图像帧。
步骤403,根据待删除图像帧对视频进行去重处理。
具体地,电子设备在得到多个重复图像帧的时间戳之后,可根据多个重复图像帧的时间戳和多个图像帧,确定重复图像帧中的待删除图像帧,然后根据待删除图像帧对视频进行去重处理,即将该视频中的待删除图像帧全部删除,以得到去重后的视频,从而能够保证重后的视频播放的流畅度,减少跳跃,抖动等现象,极大提升了用户体验。
进一步地,在本申请的一个实施例中,如图5所示,根据多个重复图像帧的时间戳和多个图像帧,确定重复图像帧中的待删除图像帧,可包括:
步骤501,根据多个重复图像帧的时间戳,从多个图像帧中确定去除多个重复图像帧后,相邻图像帧之间待插入的帧数。
步骤502,如果相邻图像帧之间待插入的帧数大于插帧阈值,则确定相邻图像帧之间待插入的中间帧位置。
需要说明的是,该实施例中所描述的插帧阈值可为插帧模型的最多插帧数目,即相邻图像帧之间最多插入的帧数。其中,该插帧阈值可预存在电子设备的存储空间中,以方便调取使用。
在本申请实施例中,可根据二分查找算法确定相邻图像帧之间待插入的中间帧位置。
步骤503,确定中间帧位置的时间戳,并根据中间帧位置的时间戳和多个重复图像帧的时间戳,确定待删除图像帧。
具体地,电子设备在得到多个重复图像帧的时间戳之后,可先分析该多个重复图像帧的时间戳,并根据多个重复图像帧的时间戳以及视频的FPS(Frame Per Second,画面每秒传输帧数)计算从多个图像帧中去除多个重复图像帧后,相邻图像帧之间待插入的帧数。然后电子设备可从自身的存储空间中调出插帧阈值,并判断该帧数是否大于插帧阈值,如果是,则可根据二分查找算法查找出需要保留的中间帧位置,将该中间帧位置的重复图像帧保留,并保留该中间帧的时间戳。然后电子设备可将该相邻图像帧之间的除了中间帧位置的其它重复图像帧,作为待删除图像帧。由此,通过对重复图像帧时间戳的分析,并根据插帧模型的限制(即,插帧阈值),判断哪些帧需要去除,哪些帧需要保留,以解决插帧后视频播放卡顿的问题,保证视频播放的流畅度。
在本申请的另一个实施例中,如图5所示,根据多个重复图像帧的时间戳和多个图像帧,确定重复图像帧中的待删除图像帧,还可包括:
步骤504,如果相邻图像帧之间待插入的帧数小于或等于插帧阈值,则根据多个重复图像帧的时间戳,确定待删除图像帧。
具体地,电子设备在判断上述相邻图像帧之间待插入的帧数小于或等于插帧阈值时,可直接根据多个重复图像帧的时间戳确定多个重复图像帧在多个图像帧中的位置,并根据该确定多个重复图像帧在多个图像帧中的位置确定待删除图像帧。例如,根据该位置确定该位置前后两侧的图像帧(即,非重复图像帧),保留这两个图像帧之间的至少一个重复图像帧,其余的重复图像帧,作为待删除图像帧。由此,提高了视频的去重效率,且解决了直接对视频进行插帧操作,得到的插帧后的视频播放卡顿的问题。
在本申请实施例中,电子设备可将上述的相邻图像帧之间的除了中间帧位置的其它重复图像帧,作为待删除图像帧,之后可进一步计算去除该待删除图像帧之后相邻帧之间待插入的帧数,并继续判断该帧数是否大于插帧阈值,如果是,可再次执行上述的步骤502和步骤503,而后再进一步计算去除待删除图像帧之后相邻帧之间待插入的帧数,直至判断去除待删除图像帧之后相邻帧之间待插入的帧数小于或等于插帧阈值。由此可保证在后续应用插帧算法时可以在相邻帧之间动态地插入不同数目的图像帧,且不会出现插帧失败的情况,以解决插帧后视频播放卡顿的问题,保证视频播放的流畅度。
图6为本申请实施例提供的一种视频去重装置的结构示意图。
本申请实施例的视频去重装置,可配置于电子设备中,以实现获取视频中的多个图像帧,并生成每个图像帧对应的哈希值矩阵,以及根据哈希值矩阵生成每个图像帧对应的特征值,而后根据该特征值确定多个图像帧中的多个重复图像帧,并对多个图像帧中的多个重复图像帧进行去重处理,从而提高了视频的去重效果和去重效率,极大提升了用户体验。
如图6所示,该视频去重装置600,可包括:获取模块610、生成模块620、确定模块630、去重模块640。
其中,获取模块610用于获取视频,并获取视频中的多个图像帧。应说明的是,该视频可为用户想要进行视频去重以提升其播放流畅度的目标视频;该实施例中所描述的多个图像帧可为视频序列化后得到的视频图像帧,即有顺序(视频播放顺序)的多个图像帧。
在本申请实施例中,电子设备可以通过内置的获取模块610获取目标视频。可选的,当电子设备为视频提供设备时,电子设备可以通过内置的获取模块610从自身存储的视频中获取目标视频;当电子设备为显示设备时,在一种可实现方式中,电子设备可以通过内置的获取模块610从视频提供设备中获取目标视频,例如,电子设备可以通过内置的获取模块610通过目标视频对应的统一资源定位符(Uniform ResourceLocator,URL)从视频提供设备下载目标视频;在另一种可实现方式中,电子设备存储有目标视频,电子设备可以通过内置的获取模块610从自身存储的视频中获取该目标视频;在另一种可实现方式中,获取模块610通过电子设备内置的摄像头拍摄视频以获取目标视频。
在本申请实施例中,获取模块610可根据图像帧提取模型对视频进行处理,以得到该视频中的多个图像帧。
需要说明的是,该实施例中所描述的图像帧提取模型可以是提前训练好的,并将其预存在电子设备的存储空间中,以方便调取使用。
其中,该图像帧提取模型的训练与生成可由相关的服务器进行,该服务器可以是云端服务器,也可以是一台电脑的主机,该服务器与可执行申请实施例提供的视频去重装置600之间,建立有通信连接,该通信连接可以是无线网络连接和有线网络连接的至少一种。服务器可将训练完成的图像帧提取模型发送给视频去重装置600,以便视频去重装置600在需要时调用,从而大大减少视频去重装置600的计算压力。
具体地,获取模块610在获取到视频(即,目标视频)之后,可将该视频输入至图像帧提取模型,从而通过该图像帧提取模型对该视频进行提取,以输出该视频中的多个图像帧。
作为一种可能的情况,获取模块610还可基于预设的提取算法对视频进行图像帧的提取,以得到该视频中的多个图像帧。其中,预设的提取算法可根据实际情况进行标定。
生成模块620用于生成每个图像帧对应的哈希值矩阵,并根据哈希值矩阵生成每个图像帧对应的特征值。
在本申请实施例中,哈希值矩阵可为二进制矩阵,且特征值可为一种哈希值,即每个图像帧对应的特征值可为每个图像帧对应的哈希值。
具体地,在获取模块610得到视频中的多个图像帧之后,生成模块620可根据预设的生成算法和多个图像帧,生成每个图像帧对应的哈希值矩阵,而后对该哈希值矩阵计算指数和,并可将计算得到的指数和作为上述的特征值。其中,预设的生成算法可根据实际情况进行标定。
确定模块630用于根据每个图像帧对应的特征值确定多个图像帧中的多个重复图像帧。
具体地,在生成模块620得到每个图像帧对应的特征值之后,确定模块630可对每个图像帧对应的特征值进行比对,并将具有相同特征值的图像帧提取出来,以得到多个图像帧中的多个重复图像帧。
在本申请实施例中,确定模块630还可以图像帧对应的特征值作为关键字,以该特征值对应的图像帧作为值,对多个重复图像帧进行整理,以生成重复图像帧字典。由此,可通过该重复图像帧字典方便的确定各个重复图像帧对应的特征值。
去重模块640用于对多个图像帧中的多个重复图像帧进行去重处理。
具体地,在确定模块630根据每个图像帧对应的特征值确定多个图像帧中的多个重复图像帧之后,去重模块640可先获取多个图像帧中的多个重复图像帧的时间戳,并根据该时间戳确定该多个重复图像帧在多个图像帧中的位置,以及根据该位置对多个图像帧中的多个重复图像帧进行去重处理。
在本申请实施例中,通过获取模块获取视频,并获取视频中的多个图像帧,然后通过生成模块生成每个图像帧对应的哈希值矩阵,并根据哈希值矩阵生成每个图像帧对应的特征值,而后通过确定模块根据每个图像帧对应的特征值确定多个图像帧中的多个重复图像帧,并通过去重模块对多个图像帧中的多个重复图像帧进行去重处理。由此,能够在有效地去除重复视频的同时,提高视频的去重效果和去重效率,极大提升了用户体验。
在本申请的一个实施例中,生成模块620具体用于:对图像帧进行图像转化以转化成灰度图像;获取灰度图像之中的多个像素;确定多个像素中每两行或两列像素之间的像素差异值,并根据像素差异值生成哈希值矩阵。
在本申请的一个实施例中,如图6所示,去重模块640,可包括:获取单元641,确定单元642和去重单元643。
其中,获取单元641用于分别获取多个重复图像帧的时间戳。
确定单元642用于根据多个重复图像帧的时间戳和多个图像帧,确定重复图像帧中的待删除图像帧。
去重单元643用于根据待删除图像帧对视频进行去重处理。
在本申请的一个实施例中,确定单元642具体用于:根据多个重复图像帧的时间戳,从多个图像帧中确定去除多个重复图像帧后,相邻图像帧之间待插入的帧数;如果相邻图像帧之间待插入的帧数大于插帧阈值,则确定相邻图像帧之间待插入的中间帧位置;确定中间帧位置的时间戳,并根据中间帧位置的时间戳和多个重复图像帧的时间戳,确定待删除图像帧。
在本申请的一个实施例中,确定单元642还用于:如果相邻图像帧之间待插入的帧数小于或等于插帧阈值,则根据多个重复图像帧的时间戳,确定待删除图像帧。
需要说明的是,前述对视频去重方法实施例的解释说明也适用于该实施例的视频去重装置,此处不再赘述。
本申请实施例的视频去重装置,通过获取模块获取视频,并获取视频中的多个图像帧,然后通过生成模块生成每个图像帧对应的哈希值矩阵,并根据哈希值矩阵生成每个图像帧对应的特征值,而后通过确定模块根据每个图像帧对应的特征值确定多个图像帧中的多个重复图像帧,并通过去重模块对多个图像帧中的多个重复图像帧进行去重处理。由此,能够在有效地去除重复视频的同时,提高视频的去重效果和去重效率,极大提升了用户体验。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图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",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (8)

1.一种视频去重方法,包括:
获取视频,并获取所述视频中的多个图像帧;
生成每个所述图像帧对应的哈希值矩阵,并根据所述哈希值矩阵生成所述每个图像帧对应的特征值;
根据所述每个图像帧对应的特征值确定所述多个图像帧中的多个重复图像帧;以及
对所述多个图像帧中的多个重复图像帧进行去重处理;
所述对所述多个图像帧中的多个重复图像帧进行去重处理,包括:
分别获取所述多个重复图像帧的时间戳;
根据所述多个重复图像帧的时间戳和所述多个图像帧,确定所述重复图像帧中的待删除图像帧;以及
根据所述待删除图像帧对所述视频进行去重处理;
所述根据所述多个重复图像帧的时间戳和所述多个图像帧,确定所述重复图像帧中的待删除图像帧,包括:
根据所述多个重复图像帧的时间戳,从所述多个图像帧中确定去除所述多个重复图像帧后,相邻图像帧之间待插入的帧数;
如果所述相邻图像帧之间待插入的帧数大于插帧阈值,则确定所述相邻图像帧之间待插入的中间帧位置;
确定所述中间帧位置的时间戳,并根据所述中间帧位置的时间戳和所述多个重复图像帧的时间戳,确定所述待删除图像帧。
2.根据权利要求1所述的视频去重方法,其中,所述生成每个所述图像帧对应的哈希值矩阵,包括:
对所述图像帧进行图像转化以转化成灰度图像;
获取所述灰度图像之中的多个像素;
确定所述多个像素中每两行或两列像素之间的像素差异值,并根据所述像素差异值生成所述哈希值矩阵。
3.根据权利要求1所述的视频去重方法,还包括:
如果所述相邻图像帧之间待插入的帧数小于或等于所述插帧阈值,则根据所述多个重复图像帧的时间戳,确定所述待删除图像帧。
4.一种视频去重装置,包括:
获取模块,用于获取视频,并获取所述视频中的多个图像帧;
生成模块,用于生成每个所述图像帧对应的哈希值矩阵,并根据所述哈希值矩阵生成所述每个图像帧对应的特征值;
确定模块,用于根据所述每个图像帧对应的特征值确定所述多个图像帧中的多个重复图像帧;以及
去重模块,用于对所述多个图像帧中的多个重复图像帧进行去重处理;
其中,所述去重模块,包括:
获取单元,用于分别获取所述多个重复图像帧的时间戳;
确定单元,用于根据所述多个重复图像帧的时间戳和所述多个图像帧,确定所述重复图像帧中的待删除图像帧;
去重单元,用于根据所述待删除图像帧对所述视频进行去重处理;
所述确定单元,具体用于:
根据所述多个重复图像帧的时间戳,从所述多个图像帧中确定去除所述多个重复图像帧后,相邻图像帧之间待插入的帧数;
如果所述相邻图像帧之间待插入的帧数大于插帧阈值,则确定所述相邻图像帧之间待插入的中间帧位置;
确定所述中间帧位置的时间戳,并根据所述中间帧位置的时间戳和所述多个重复图像帧的时间戳,确定所述待删除图像帧。
5.如权利要求4所述的视频去重装置,其中,所述生成模块,具体用于:
对所述图像帧进行图像转化以转化成灰度图像;
获取所述灰度图像之中的多个像素;
确定所述多个像素中每两行或两列像素之间的像素差异值,并根据所述像素差异值生成所述哈希值矩阵。
6.如权利要求4所述的视频去重装置,其中,所述确定单元,还用于:
如果所述相邻图像帧之间待插入的帧数小于或等于所述插帧阈值,则根据所述多个重复图像帧的时间戳,确定所述待删除图像帧。
7.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的视频去重方法。
8.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-3中任一项所述的视频去重方法。
CN202110099332.XA 2021-01-25 2021-01-25 视频去重方法、装置、电子设备和存储介质 Active CN112929695B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110099332.XA CN112929695B (zh) 2021-01-25 2021-01-25 视频去重方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110099332.XA CN112929695B (zh) 2021-01-25 2021-01-25 视频去重方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN112929695A CN112929695A (zh) 2021-06-08
CN112929695B true CN112929695B (zh) 2022-05-27

Family

ID=76167512

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110099332.XA Active CN112929695B (zh) 2021-01-25 2021-01-25 视频去重方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN112929695B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710474B (zh) * 2022-03-24 2022-11-01 慧之安信息技术股份有限公司 一种基于物联网的数据流处理以及分类方法
CN115022679B (zh) * 2022-05-30 2023-08-29 北京百度网讯科技有限公司 视频处理方法、装置、电子设备和介质
CN115190320A (zh) * 2022-06-09 2022-10-14 武汉鸿宸信信息科技有限公司 一种用于视频处理与存储的云计算系统和方法
CN115171110B (zh) * 2022-06-30 2023-08-22 北京百度网讯科技有限公司 文本识别方法及装置、设备、介质和产品
CN117221494A (zh) * 2023-10-07 2023-12-12 杭州讯意迪科技有限公司 基于物联网和大数据的音视频综合管控平台
CN117372933B (zh) * 2023-12-06 2024-02-20 南京智绘星图信息科技有限公司 图像去冗方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887457A (zh) * 2010-07-02 2010-11-17 杭州电子科技大学 基于内容的复制图像检测方法
CN104469229A (zh) * 2014-11-18 2015-03-25 北京恒华伟业科技股份有限公司 视频数据存储方法和装置
CN108063914A (zh) * 2017-11-22 2018-05-22 国政通科技股份有限公司 监控视频文件生成、播放方法、装置及终端设备
CN110321447A (zh) * 2019-07-08 2019-10-11 北京字节跳动网络技术有限公司 重复图像的确定方法、装置、电子设备及存储介质
CN111553259A (zh) * 2020-04-26 2020-08-18 北京宙心科技有限公司 一种图像去重方法及系统
CN112053313A (zh) * 2020-08-31 2020-12-08 西安工业大学 异源图像融合的夜视抗晕光视频处理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101887457A (zh) * 2010-07-02 2010-11-17 杭州电子科技大学 基于内容的复制图像检测方法
CN104469229A (zh) * 2014-11-18 2015-03-25 北京恒华伟业科技股份有限公司 视频数据存储方法和装置
CN108063914A (zh) * 2017-11-22 2018-05-22 国政通科技股份有限公司 监控视频文件生成、播放方法、装置及终端设备
CN110321447A (zh) * 2019-07-08 2019-10-11 北京字节跳动网络技术有限公司 重复图像的确定方法、装置、电子设备及存储介质
CN111553259A (zh) * 2020-04-26 2020-08-18 北京宙心科技有限公司 一种图像去重方法及系统
CN112053313A (zh) * 2020-08-31 2020-12-08 西安工业大学 异源图像融合的夜视抗晕光视频处理方法

Also Published As

Publication number Publication date
CN112929695A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN112929695B (zh) 视频去重方法、装置、电子设备和存储介质
US11163991B2 (en) Method and apparatus for detecting body
CN108830235B (zh) 用于生成信息的方法和装置
CN112559800B (zh) 用于处理视频的方法、装置、电子设备、介质和产品
CN112633384A (zh) 基于图像识别模型的对象识别方法、装置和电子设备
CN115063875B (zh) 模型训练方法、图像处理方法、装置和电子设备
CN113436100B (zh) 用于修复视频的方法、装置、设备、介质和产品
KR20220126264A (ko) 비디오 흔들림 검출 방법, 장치, 전자 기기 및 저장 매체
CN112861885A (zh) 图像识别方法、装置、电子设备及存储介质
CN113705361A (zh) 活体检测模型的方法、装置及电子设备
CN112580666A (zh) 图像特征的提取方法、训练方法、装置、电子设备及介质
CN113627361B (zh) 人脸识别模型的训练方法、装置及计算机程序产品
CN108921138B (zh) 用于生成信息的方法和装置
CN114120454A (zh) 活体检测模型的训练方法、装置、电子设备及存储介质
CN113592932A (zh) 深度补全网络的训练方法、装置、电子设备及存储介质
CN113033373A (zh) 用于训练人脸识别模型及识别人脸的方法及相关装置
CN117235371A (zh) 视频推荐方法、模型训练方法及装置
CN114724144B (zh) 文本识别方法、模型的训练方法、装置、设备及介质
CN114881227B (zh) 模型压缩方法、图像处理方法、装置和电子设备
US20220327803A1 (en) Method of recognizing object, electronic device and storage medium
CN113903071A (zh) 人脸识别方法、装置、电子设备和存储介质
CN112560848B (zh) 兴趣点poi预训练模型的训练方法、装置及电子设备
CN115019057A (zh) 图像特征提取模型确定方法及装置、图像识别方法及装置
CN114943995A (zh) 人脸识别模型的训练方法、人脸识别方法及装置
CN114093006A (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