CN111310744B - 图像识别方法、视频播放方法、相关设备及介质 - Google Patents
图像识别方法、视频播放方法、相关设备及介质 Download PDFInfo
- Publication number
- CN111310744B CN111310744B CN202010390453.5A CN202010390453A CN111310744B CN 111310744 B CN111310744 B CN 111310744B CN 202010390453 A CN202010390453 A CN 202010390453A CN 111310744 B CN111310744 B CN 111310744B
- Authority
- CN
- China
- Prior art keywords
- frame
- image
- frame image
- sequence
- pixel
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/48—Matching video sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/142—Detection of scene cut or scene change
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/147—Scene change detection
-
- 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
- H04N7/0112—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards corresponding to a cinematograph film standard
- H04N7/0115—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards corresponding to a cinematograph film standard with details on the detection of a particular field or frame pattern in the incoming video signal, e.g. 3:2 pull-down pattern
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例基于人工智能技术公开了一种图像识别方法、视频播放方法、相关设备及介质,其中图像识别方法包括:从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像;根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列;根据所述第二帧图像的第二像素序列和所述预测像素序列计算像素误差;根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型。本发明实施例可以有效且准确地识别帧图像的帧类型,提升帧类型识别的准确性和稳定性。
Description
技术领域
本申请涉及互联网技术领域,具体涉及图像处理技术领域,尤其涉及一种图像识别方法、一种视频播放方法、一种图像识别装置、一种视频播放装置、一种服务器、一种视频处理设备及一种计算机存储介质。
背景技术
视频是指按照一定帧率依次播放相应图像帧序列中的各帧图像,所形成的连续画面;其可以是影视视频、屏幕录像视频、短视频,等等。在视频制作过程中,通常会由于各种因素而导致视频的图像帧序列中产生重叠或重复的帧图像。例如针对影视视频而言,不同的视频标准会导致影视视频可能存在不同的帧率;如中国广播电视使用60帧,美国电视使用50帧,电影使用24帧等。为了统一存储,通常就需要采用变帧率算法将这些影视视频的帧率转成固定的数值;对于帧率较低的影视视频,常见的变帧率算法的原理如下:复制前一帧图像得到重复的帧图像或者叠加前后两帧图像得到重叠的帧图像,从而提升帧率;由此可见,使用变帧率算法得到的影视视频的图像帧序列中通常会包含较多的重叠或重复的帧图像。又如针对屏幕录像视频而言,若在屏幕录像的过程中,屏幕录制速度大于图像显示速度,则会导致录制得到的屏幕录像视频的图像帧序列中包含较多的重叠的帧图像。
然而,当视频的图像帧序列包含重叠或重复的帧图像时,通常会影响后续对图像帧序列的转码播放效果。基于此,通常需要识别图像帧序列中的各帧图像的帧类型,并根据各帧图像的帧类型过滤掉图像帧序列中的重叠或重复的帧图像,以便于后续更好地对图像帧序列进行转码播放。目前,如何更好地识别各帧图像的帧类型成为了研究热点。
发明内容
本发明实施例提供了一种图像识别方法、视频播放方法、相关设备及介质,可以有效且准确地识别帧图像的帧类型,提升帧类型识别的准确性和稳定性。
一方面,本发明实施例提供了一种图像识别方法,该图像识别方法包括:
从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像;所述第二帧图像在所述图像帧序列中的排列位置位于所述第一帧图像和所述第三帧图像之间;
根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列;所述预测像素序列包括所述第二帧图像中各像素的预测值;
根据所述第二帧图像的第二像素序列和所述预测像素序列计算像素误差,所述第二像素序列包括所述第二帧图像中各像素的像素值;
根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型。
另一方面,本发明实施例提供了一种图像识别装置,该图像识别装置包括:
获取单元,用于从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像;所述第二帧图像在所述图像帧序列中的排列位置位于所述第一帧图像和所述第三帧图像之间;
处理单元,用于根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列;所述预测像素序列包括所述第二帧图像中各像素的预测值;
所述处理单元,还用于根据所述第二帧图像的第二像素序列和所述预测像素序列计算像素误差,所述第二像素序列包括所述第二帧图像中各像素的像素值;
所述处理单元,还用于根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型。
再一方面,本发明实施例提供了一种服务器,所述服务器包括输入接口和输出接口,所述服务器还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由所述处理器加载并执行如下步骤:
从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像;所述第二帧图像在所述图像帧序列中的排列位置位于所述第一帧图像和所述第三帧图像之间;
根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列;所述预测像素序列包括所述第二帧图像中各像素的预测值;
根据所述第二帧图像的第二像素序列和所述预测像素序列计算像素误差,所述第二像素序列包括所述第二帧图像中各像素的像素值;
根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行上述的图像识别方法。
本发明实施例中的第一帧图像的帧类型已知,且第二帧图像在图像帧序列中的排列位置位于第一帧图像和第三帧图像之间。在识别第二帧图像和第三帧图像的帧类型时,可先根据第一帧图像和第三帧图像,预测得到第二帧图像的预测像素序列;通过位于第二帧图像前后的两帧图像对第二帧图像进行像素预测,可有效提升预测像素序列的准确性。其次,可根据第二帧图像的实际像素序列(第二像素序列)和较为准确的预测像素序列计算像素误差,以有效减小编码噪声所带来的影响,从而提升像素误差的准确性和稳定性。然后,可根据较为准确的像素误差识别第二帧图像或者第三帧图像的帧类型,以提升帧类型识别的准确性和稳定性。
再一方面,本发明实施例提供了一种视频播放方法,该视频播放方法包括:
获取所述目标视频对应的图像帧序列,所述图像帧序列中包括多帧图像;
识别所述图像帧序列中的各帧图像的帧类型,所述图像帧序列中除首帧图像和尾帧图像以外的其他帧图像的帧类型均采用上述的图像识别方法识别得到;所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧,所述有效帧是指所述图像帧序列中非重复且非重叠的帧;
从所述图像帧序列中过滤掉帧类型为所述重叠帧和所述重复帧的帧图像,并对过滤后的图像帧序列进行插帧转码,得到转码数据;
在客户端的播放界面中,根据所述转码数据播放所述目标视频。
另一方面,本发明实施例提供了一种视频播放装置,该视频播放装置包括:
获取单元,用于获取所述目标视频对应的图像帧序列,所述图像帧序列中包括多帧图像;
处理单元,用于识别所述图像帧序列中的各帧图像的帧类型,所述图像帧序列中除首帧图像和尾帧图像以外的其他帧图像的帧类型均采用上述的图像识别方法识别得到;所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧,所述有效帧是指所述图像帧序列中非重复且非重叠的帧;
所述处理单元,还用于从所述图像帧序列中过滤掉帧类型为所述重叠帧和所述重复帧的帧图像,并对过滤后的图像帧序列进行插帧转码,得到转码数据;
播放单元,用于在客户端的播放界面中,根据所述转码数据播放所述目标视频。
再一方面,本发明实施例提供了一种视频处理设备,所述视频处理设备包括输入接口和输出接口,所述视频处理设备还包括:
处理器,适于实现一条或多条指令;以及,
计算机存储介质,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由所述处理器加载并执行如下步骤:
获取所述目标视频对应的图像帧序列,所述图像帧序列中包括多帧图像;
识别所述图像帧序列中的各帧图像的帧类型,所述图像帧序列中除首帧图像和尾帧图像以外的其他帧图像的帧类型均采用上述的图像识别方法识别得到;所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧,所述有效帧是指所述图像帧序列中非重复且非重叠的帧;
从所述图像帧序列中过滤掉帧类型为所述重叠帧和所述重复帧的帧图像,并对过滤后的图像帧序列进行插帧转码,得到转码数据;
在客户端的播放界面中,根据所述转码数据播放所述目标视频。
再一方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由处理器加载并执行上述的视频播放方法。
本发明实施例在视频播放时,可先获取目标视频对应的图像帧序列,并识别该图像帧序列中的各帧图像的帧类型;此处的帧类型包括有效帧、重叠帧或者重复帧。通过采用上述的图像识别方法对图像帧序列中除首帧图像和尾帧图像以外的其他帧图像进行帧类型识别,可有效提升帧类型识别的准确性和稳定性。然后,可从图像帧序列中过滤掉帧类型为重复帧和重叠帧的帧图像,并对过滤后的图像帧序列进行插帧转码;可有效提升目标视频的有效帧率(即每秒所播放的帧图像的数量),还可使得在根据转码数据播放目标视频时,可减少出现因重叠帧而导致的鬼影或画面撕裂现象以及因重复帧图像而导致的画面卡顿现象,从而提升目标视频的播放效果。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的一种视频处理系统的架构示意图;
图1b是本发明实施例提供的一种视频处理流程的示意图;
图2是本发明实施例提供的一种图像识别方法的流程示意图;
图3是本发明实施例提供的一种图像识别方法的流程示意图;
图4a是本发明实施例提供的一种第一重叠比例以及第二重叠比例的计算示意图;
图4b是本发明实施例提供的一种根据第一重叠比例和第二重叠比例识别第二帧图像或者第三帧图像的帧类型的示意图;
图4c是本发明实施例提供的另一种根据第一重叠比例和第二重叠比例识别第二帧图像或者第三帧图像的帧类型的示意图;
图4d是本发明实施例提供的另一种根据第一重叠比例和第二重叠比例识别第二帧图像或者第三帧图像的帧类型的示意图;
图5是本发明实施例提供的一种视频播放方法的流程示意图;
图6a是本发明实施例提供的一种对图像帧序列进行图像识别的流程示意图;
图6b是本发明实施例提供的一种对未知帧类型的帧图像进行帧类型识别的流程示意图;
图6c是本发明实施例提供的一种对图像帧序列进行过滤的示意图;
图6d是本发明实施例提供的一种对过滤后的图像帧序列进行插帧的示意图;
图6e是本发明实施例提供的一种视频播放方法的应用场景图;
图6f是本发明实施例提供的一种视频播放方法的另一应用场景图;
图7是本发明实施例提供的一种图像识别装置的结构示意图;
图8是本发明实施例提供的一种服务器的结构示意图;
图9是本发明实施例提供的一种视频播放装置的结构示意图;
图10是本发明实施例提供的一种视频处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
随着人工智能(Artificial Intelligence,AI)技术的研究和进步,计算机视觉技术(Computer Vision, CV)作为人工智能技术中的一个重要研究方向,也随之得到了相应的发展进步。所谓的人工智能是指是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。计算机视觉技术则是一门研究如何使机器“看”的科学;更进一步的说,计算机视觉就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本发明实施例主要涉及计算机视觉技术中的视频处理技术,并基于该视频处理技术提出了一种视频处理系统。参见图1a所示,该视频处理系统可至少包括:服务器11以及终端设备12。其中,服务器11可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,等等。终端设备12是指可用于播放视频的终端,其可以是具有视频播放功能的高帧率播放设备;此处的高帧率播放设备可包括但不限于:智能电视,智能手机、平板电脑、笔记本电脑以及台式计算机,等等。该终端设备12中可运行有客户端,如视频客户端、浏览器客户端、即时通讯客户端、教育客户端等多种客户端。应理解的是,图1a只是示例性地表征视频处理系统的架构,其并不对视频处理系统的具体架构进行限定,对终端设备12和服务器11的数量也不做限定。
基于上述的视频处理系统所执行的视频处理流程可参见图1b所示,大致流程如下:首先,服务器11可通过步骤s11获取目标视频的视频编码数据,并通过步骤s12对该视频编码数据进行解码,得到解码结果。其次,服务器11可通过步骤s13对解码结果进行去交错等前处理,得到目标视频的图像帧序列;此处的去交错也可称为反交错,其具体是指将交错式(隔行扫描)影像讯号转换为渐进式(逐行扫描)影像讯号的方法。接着,服务器11可在步骤s14中检测并过滤掉图像帧序列中的重叠和重复的帧图像;并可通过步骤s15采用插帧算法对过滤后的图像帧序列进行插帧,此处的插帧算法是指一种在图像帧序列中任意相邻的两帧图像之间插入新的帧图像,以提高视频观感的算法;其算法原理主要是通过分析相邻的两帧图像中同一物体的运动方式来生成新的帧图像,使得新的帧图像中每个物体的运动轨迹和前后两帧图像中的物体的运动轨迹相同。然后,服务器12可通过步骤s16对插帧后的图像帧序列进行转码得到转码数据,并将转码数据下发至终端设备12,使得终端设备12调用内部的客户端根据该转码数据播放目标视频。应理解的是,图1b只是示例性地表示视频处理的大致流程,其并不对具体的视频处理流程进行限定。例如,在实际的视频处理过程中,也可不执行步骤s13,即在步骤s12得到解码结果后,可直接将解码结果作为图像帧序列,并执行步骤s14-s16;又如,在实际的视频处理过程中,服务器11也可将目标视频的视频编码数据下发至终端设备12,由终端设备12调用内部的客户端通过步骤s12-步骤s16得到转码数据,并直接根据转码数据播放目标视频,等等。
经实践表明,上述视频处理流程所使用的插帧算法,对于待插帧的图像帧序列通常有着如下两点要求:
(1)要求图像帧序列中的相邻两帧图像之间不重复:如果图像帧序列中任意相邻的两帧图像重复(即相同),那么采用插帧算法在这两帧图像之间插入新的帧图像时,会导致新的帧图像和前后两帧图像完全相同。从而会导致在播放显示这两帧图像和新的帧图像时,出现一段时间的静止画面。由此可见,若图像帧序列中存在重复的帧图像,则会导致在对图像帧序列进行插帧转码并根据转码数据播放目标视频时,出现重复的帧图像之间画面静止而非重复的帧图像之间画面运动的现象,使得目标视频的播放画面出现卡顿现象,影响画面观感。
(2)要求图像帧序列中的相邻两帧图像之间不重叠:通常连贯的视频才可正确分析出相邻两帧图像之间的同一物体的对应关系,从而根据对应关系分析出该同一物体的运动方式。如果图像帧图像中的某一帧图像和其他帧图像存在重叠,则会导致插帧算法工作异常;轻则会导致插帧算法所生成的新的帧图像出现画面撕裂的情况,重则会导致插帧算法所生成的新的帧图像出现严重鬼影(即图像中泛白的炫光)的情况。
由上述两点要求可知,若想要提高插帧算法的实用性,则需准确地识别并删除图像帧序列中的重叠和重复的帧图像;以保证输入到插帧算法中的各帧图像均是符合要求的,使得插帧算法能够正常工作,从而提升目标视频的转码播放效果。基于此,本发明实施例在上述视频处理流程中的步骤s14中集成了一种图像识别方案,以有效且准确地识别出图像帧序列中的各帧图像的帧类型,进而实现根据各帧图像的帧类型确定并删除重叠和重复的帧图像。此处的帧类型可包括:有效帧、重复帧或重叠帧。其中,有效帧是指图像帧序列中非重复且非重叠的帧,重复帧是指图像帧序列中与前一帧图像具有相同画面的帧,重叠帧是指按照一定比例对图像帧序列中的前后几帧图像进行加权叠加所得到的帧。
在具体实现中,该图像识别方案的大致原理为:针对图像帧序列中按照时间先后顺序排列的3帧图像,其中3帧图像中的前一帧图像的帧类型为有效帧,后面两帧图像的帧类型未知。先采用前后两帧图像对中间帧图像的像素值进行预测,得到包含多个像素的预测值的预测像素序列;然后根据预测像素序列和中间帧图像的实际像素序列(即由中间帧图像的各像素的实际像素值所构成的序列)之间的像素误差,对后面两帧图像的帧类型进行识别。应理解的是,本发明实施例所提出的图像识别方案是在考虑重叠帧通常由两帧图像进行混合的情况下,才选择了每次获取3帧图像并采用前后两帧图像预测得到中间帧图像的预测像素序列。若在实际处理中发现重叠帧是由3帧图像甚至更多帧图像进行混合得到的,则每次进行帧类型识别时,可采用前后3帧图像甚至更多帧图像预测得到某个未知帧类型的帧图像x的预测像素序列,并根据该帧图像x的预测像素序列和实际像素序列之间的像素误差进行帧类型识别。
基于上述图像识别方案的相关描述,本发明实施例提出了一种如图2所示的图像识别方法;该图像识别方法可由上述视频处理系统中的服务器执行。参见图2所示,该图像识别方法可包括以下步骤S201-S204:
S201,从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像。
在本发明实施例中,图像帧序列中的各帧图像按照时间先后顺序依次排列;且将图像帧序列中排列位置为首位的帧图像称为首帧图像。在图像识别过程中,可默认图像帧序列中的首帧图像(即第1帧图像)的帧类型为有效帧,并按照排列顺序依次从图像帧序列中获取未知帧类型的帧图像进行帧类型识别。基于此,本发明实施例所提及的第一帧图像是指图像帧序列中已知帧类型为有效帧的帧图像中,识别时间最晚的帧图像;即第一帧图像是指图像帧序列中最新识别出的帧类型为有效帧的帧图像。第二帧图像和第三帧图像是指图像帧序列中位于第一帧图像之后的未知帧类型的帧图像中,排列位置离第一帧图像的排列位置最近的两帧图像;且第二帧图像在图像帧序列中的排列位置位于第一帧图像和第三帧图像之间,即第二帧图像的排列位置位于第一帧图像的排列位置之后,且位于第三帧图像的排列位置之前。
例如,设在执行步骤S201之前,图像帧序列中的各帧图像的帧类型依次为:第1帧图像(有效帧)、第2帧图像(重复帧)、第3帧图像(有效帧)、第4帧图像(重复帧)、第5帧图像(未知)、第6帧图像(未知)、第7帧图像(未知)…最后1帧图像(未知)。那么,可第一帧图像为图像帧序列中的第3帧图像,第二帧图像为图像帧序列中的第5帧图像,第三帧图像为图像帧序列中的第6帧图像。又如,设在执行步骤S201之前,图像帧序列中的各帧图像的帧类型依次为:第1帧图像(有效帧)、第2帧图像(有效帧)、第3帧图像(未知)、第4帧图像(重复帧)、第5帧图像(未知)、第6帧图像(未知)、第7帧图像(未知)…最后1帧图像(未知)。那么,可第一帧图像为图像帧序列中的第2帧图像,第二帧图像为图像帧序列中的第3帧图像,第三帧图像为图像帧序列中的第5帧图像。再如,设在执行步骤S201之前,图像帧序列中的各帧图像的帧类型依次为:第1帧图像(有效帧)、第2帧图像(未知)、第3帧图像(未知)、第4帧图像(未知)…最后1帧图像(未知)。那么,第一帧图像可为图像帧序列中的第1帧图像,第二帧图像为图像帧序列中的第2帧图像,第三帧图像为图像帧序列中的第3帧图像。
S202,根据第一帧图像和第三帧图像,预测得到第二帧图像的预测像素序列;预测像素序列包括第二帧图像中各像素的预测值。
由前述可知,第二帧图像在图像帧序列中的排列位置位于第一帧图像和第三帧图像之间。若第二帧图像是重叠的帧图像,则第二帧图像通常是按照一定比例对第一帧图像和第三帧图像进行加权叠加得到的;若第二帧图像是重复的帧图像,则第二帧图像通常对第一帧图像进行复制得到的;若第三帧图像是重复的帧图像,则第三帧图像通常是对第二帧图像进行复制得到的。由此可见,若第二帧图像是重复或重叠的帧图像,或者第三帧图像是重复的帧图像,则第二帧图像和第一帧图像以及第三帧图像之间的像素差异通常较小。基于此,本发明实施例提出可先根据第一帧图像和第三帧图像,预测得到第二帧图像的预测像素序列,并根据预测像素序列和第二帧图像的实际像素序列之间的差异,识别第二帧图像的帧类型或者第三帧图像的帧类型。
在具体实现中,可先采用第一帧图像中各像素的像素值构建第一像素序列,采用第三帧图像中各像素的像素值构建第三像素序列。其次,可获取第二帧图像和第一帧图像之间的第一重叠比例,以及第二帧图像和第三帧图像之间的第二重叠比例。在一种实施方式中,可采用第二帧图像中的各像素构建第二像素序列;然后采用拟合算法(如最小二乘算法)并根据第一像素序列、第二像素序列以及第三像素序列,估计得到第一重叠比例和第二重叠比例。此处的最小二乘算法是一种通过最小化误差的平方和寻找数据的最佳函数匹配的算法,利用最小二乘算法可较为准确地估计得到第一重叠比例和第二重叠比例,并使得估计得到的第一重叠比例和第二重叠比例与实际比例的平方和最小。再一种实施方式中,可将两帧图像之间所具有的相同像素的数量和单帧图像所包含的像素总数量的比值作为该两帧图像之间的重叠比例。具体的,可如计算第二帧图像和第一帧图像之间相同像素的数量和第二帧图像(或第一帧图像)所包含的像素总数量的第一比值,并将计算得到的第一比值作为第二帧图像和第一帧图像之间的第一重叠比例。同理,也可计算第二帧图像和第三帧图像之间相同像素的数量和第二帧图像(或第三帧图像)所包含的像素总数量的第二比值,并将计算得到的第二比值作为第二帧图像和第三帧图像之间的第二重叠比例。在获取到第一重叠比例和第二重叠比例之后,可采用第一重叠比例和第二重叠比例,对第一像素序列和第三像素序列进行加权求和,得到第二帧图像的预测像素序列。
S203,根据第二帧图像的第二像素序列和预测像素序列计算像素误差。
此处的第二像素序列是指第二帧图像的实际像素序列,该第二像素序列包括第二帧图像中各像素的像素值。在具体实现中,可先根据第二像素序列和预测像素序列,分别计算第二帧图像中的各像素的像素值和预测值之间的差值。然后,根据各像素的像素值和预测值之间的差值计算像素误差;此处的像素误差可包括以下至少一种:平均误差、平均平方误差和最大误差。其中,平均误差是指根据第二帧图像中的各像素的像素值和预测值之间的差值计算得到的像素误差;平均平方误差是指根据第二帧图像中各像素的像素值和预测值之间的差值平方计算得到的像素误差;最大误差是指根据第二帧图像中目标像素的像素值和预测值之间的差值绝对值计算得到的像素误差,此处的目标像素是指第二帧图像中像素值和预测值之间的差值绝对值最大的像素。
S204,根据像素误差识别第二帧图像或者第三帧图像的帧类型。
在本发明实施例中,帧类型可包括以下任一种:有效帧、重叠帧或者重复帧。由前述可知,像素误差可包括以下至少一种:平均误差、平均平方误差和最大误差。经实践表明,若平均误差大于误差阈值,或者平均平方误差大于第一阈值,则可表明第一帧图像和第二帧图像以及第三帧图像之间的整体差异较大,此时可直接确定第二帧图像的帧类型为有效帧。若平均误差小于或等于误差阈值,且平均平方误差小于或等于第二阈值,则可表明第一帧图像和第二帧图像以及第三帧图像之间的整体差异较小;而整体差异较小的原因可能包括如下几点:①第二帧图像是重叠或重复的帧图像,或者第三帧图像是重复的帧图像。②因步骤S202中所采用的第一重叠比例和第二重叠比例的取值,而使得通过步骤S203得到的预测像素序列和第二像素序列之间的差异较小,从而使得平均误差和平均平方误差较小;③在采集第一帧图像和第二帧图像时,画面变换较为平缓。
而经进一步实践表明,若整体差异较小是由于第①点或者第②点原因导致的,则此情况下的最大误差通常较小(即最大误差通常小于或等于第二阈值);若整体差异较小是由于第③点原因导致的,则此情况下的最大误差通常较大(即最大误差通常大于第二阈值)。因此,当第一帧图像和第二帧图像之间的整体差异较小时,还可根据最大误差和第二阈值之间的大小关系来识别第二帧图像或者第三帧图像的帧类型,以减少编码噪声对于帧类型识别的影响。若最大误差大于第二阈值,则可直接确定第二帧图像的帧类型为有效帧;若最大误差小于或等于第二阈值,则可表明第二帧图像和第一帧图像中可能存在重叠或重复的帧图像,此时可进一步根据第一重叠比例和第二重叠比例确定第二帧图像或者第三帧图像的帧类型。
基于上述描述,在执行步骤S204时可设置一个误差条件,并通过检测像素误差是否满足误差条件来识别第二帧图像或者第三帧图像的帧类型;此处的误差条件可包括以下至少一项:平均误差大于误差阈值、平均平方误差大于第一阈值和最大误差大于第二阈值。其中,误差阈值、第一阈值和第二阈值均可根据经验值或者业务需求设置;例如可设置误差阈值为0.01,设置第一阈值为1e-6(即1乘以10的负6次方),设置第二阈值为0.3,等等。若像素误差满足误差条件,则可表明确定第二帧图像的帧类型为有效帧;若像素误差不满足误差条件,则可根据第一重叠比例和第二重叠比例确定第二帧图像或者第三帧图像的帧类型。
本发明实施例中的第一帧图像的帧类型已知,且第二帧图像在图像帧序列中的排列位置位于第一帧图像和第三帧图像之间。在识别第二帧图像和第三帧图像的帧类型时,可先根据第一帧图像和第三帧图像,预测得到第二帧图像的预测像素序列;通过位于第二帧图像前后的两帧图像对第二帧图像进行像素预测,可有效提升预测像素序列的准确性。其次,可根据第二帧图像的实际像素序列(第二像素序列)和较为准确的预测像素序列计算像素误差,以有效减小编码噪声所带来的影响,从而提升像素误差的准确性和稳定性。然后,可根据较为准确的像素误差识别第二帧图像或者第三帧图像的帧类型,以提升帧类型识别的准确性和稳定性。
基于上述实施例的相关描述,本发明实施例还提出了另一种图像识别方法的流程示意图;该图像识别方法可由上述视频处理系统中的服务器执行。请参见图3,该图像识别方法可包括以下步骤S301-S308:
S301,从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像。
本发明实施例中的步骤S301的具体实施方式可参见上述实施例中的步骤S201,在此不再赘述。需要说明的是,在一种实施方式中,通过步骤S301获取到第一帧图像、第二帧图像以及第三帧图像之后,可直接执行步骤S302-S308以识别得到第二帧图像或者第三帧图像的帧类型。再一种实施方式中,经研究表明若第二帧图像和第一帧图像之间的间隔时长较长,则可表明第二帧图像为有效的帧图像。因此在执行步骤S302-S308之前,还可获取第一帧图像的时间属性,以及第二帧图像的时间属性;并根据第一帧图像的时间属性和第二帧图像的时间属性,计算第一帧图像和第二帧图像之间的间隔时长。若间隔时长大于或等于时长阈值,则可直接确定第二帧图像的帧类型为有效帧。若间隔时长小于时长阈值,则可再执行步骤S302-S308。
S302,采用第一帧图像中各像素的像素值构建第一像素序列,采用第三帧图像中各像素的像素值构建第三像素序列。
S303,获取第二帧图像和第一帧图像之间的第一重叠比例,以及第二帧图像和第三帧图像之间的第二重叠比例。
在具体实现中,可先确定第二帧图像和第一帧图像之间的第一重叠参数,以及第二帧图像和第三帧图像之间的第二重叠参数。其次,可采用第一重叠参数、第二重叠参数、第一像素序列、第二像素序列和第三像素序列,构建拟合函数,如式1.1所示:
在构建了拟合函数之后,可求解该拟合函数,得到第一重叠参数的值和第二重叠参数的值。其中,第一重叠参数的值用于表示第二帧图像和第一帧图像之间的第一重叠比例,第二重叠参数的值用于表示第二帧图像和第三帧图像之间的第二重叠比例。在一种实施方式中,可直接采用最小二乘算法求解该拟合函数,得到第一重叠参数的值和第二重叠参数的值。再一种实施方式中,考虑到若视频分辨率较大,则视频的图像帧序列中的各帧图像中的像素就会较多,即第一像素序列、第二像素序列以及第三像素序列中的像素值较多;此情况下若直接采用最小二乘算法求解该拟合函数,可能会需占用大量的内存并消耗大量的时间,其处理效率较低。基于此,本发明实施例对最小二乘算法进行了优化;并采用了优化后的最小二乘算法求解该拟合函数,得到第一重叠参数的值和第二重叠参数的值。在此实施方式下,步骤S303的具体实施过程可一并参见图4a所示,其具体可包括如下步骤s3031-s3033:
s3031,采用第一像素序列构造第一向量,采用第二像素序列构造第二向量,以及采用第三像素序列构造第三向量。
具体实现中,可检测图像帧序列中的帧图像的像素数量是否大于预设数量;此处的预设数量可根据经验值或者实际业务需求设置,例如以视频的分辨率为960×540为例,预设数量便可设置为518400(即960×540)。若图像帧序列中的帧图像的像素数量小于或等于预设数量,则可将第一像素序列对应的向量作为第一向量,将第二像素序列对应的向量作为第二向量,以及将第三像素序列对应的向量作为第三向量。
若图像帧序列中的帧图像的像素数量大于预设数量,则从第一像素序列中随机提取预设数量的像素值构造第一向量,从第二像素序列中随机提取预设数量的像素值构造第二向量,从第三像素序列中随机提取预设数量的像素值构造第三向量。具体的,可获取一个乱序下标序列,该乱序下标序列包括预设数量个乱序下标值,该乱序下标值用于指示待提取的像素值在像素序列中的位置;例如,乱序下标值为“3”,则该乱序下标值指示从像素序列中提取第3个像素值。应理解的是,乱序下标序列中的最大的乱序下标值小于或等于像素数量(即小于或等于像素序列中所包括的像素值的数量)。在一种实施方式中,在获取乱序下标序列时,可实时生成一个乱序下标序列。具体的,可先生成一个顺序下标序列,该顺序下标序列包括预设数量个顺序下标值,各顺序下标值按照从小到大或者从大到小的顺序依次排序,且最大的顺序下标值小于或等于像素数量;然后可对顺序下标序列中的各顺序下标值进行随机打乱处理,得到乱序下标序列。例如,设顺序下标序列为:1、2、3、5、7、8、9…,那么对顺序下标序列中的各顺序下标值进行随机打乱处理,可得到乱序下标序列为:1、3、9、7、8、5、2…;或者得到乱序下标序列为:2、3、1、9、8、5、7…等等。再一种实施方式中,在获取乱序下标序列时,也可获取历史生成的历史下标序列作为此次的乱序下标序列;或者,获取预设的下标序列作为此次的乱序下标序列。这样可减少因实时生成乱序下标序列所消耗的时间,可进一步提升处理效率。
在获取到乱序下标序列后,可根据乱序下标序列中的各个乱序下标值依次从第一像素序列中提取预设数量的像素值构造第一向量;例如,设乱序下标序列为:1、3、9、7、8、5、2…,则可依次从第一像素序列中提取第1个像素值、第3个像素值、第9个像素值、第7个像素值、第8个像素值、第5个像素值、第2个像素值等预设数量个像素值构造第一向量。同理,还可根据乱序下标序列中的各个乱序下标值依次从第二像素序列中提取预设数量的像素值构造第二向量,以及根据乱序下标序列中的各个乱序下标值依次从第三像素序列中提取预设数量的像素值构造第三向量。
s3032,采用第一向量和第三向量构造向量矩阵,并获取向量矩阵对应的方块矩阵。
在具体实现中,可采用X表示第一向量、采用Z表示第二向量、采用Y表示第三向量,以及采用M表示向量矩阵。那么采用第一向量和第三向量所构造的向量矩阵M可表示为:M=[X,Y]。向量矩阵对应的方块矩阵是指行数和列数均相同的矩阵,在获取向量矩阵对应的方块矩阵时,可直接获取向量矩阵的转置矩阵(采用MT表示),此处的转置矩阵是指将向量矩阵中的行列进行互换所得到的矩阵;然后采用转置矩阵乘以向量矩阵,得到方块矩阵(采用MTM表示)。或者,也可采用分块矩阵的方式计算得到向量矩阵的方块矩阵,以加速计算速度或减少内存。相应的,获取向量矩阵对应的方块矩阵的具体实施方式可以如下:
首先,可将向量矩阵划分成多个子向量矩阵;例如可按照上下划分的方式将向量矩阵M划分成n个子向量矩阵,每个子向量矩阵可分别记为:m1,m2,…,mn;n的取值为正整数。其次,可获取各子向量矩阵对应的子方块矩阵。具体的,可采用多个线程并行计算各子向量矩阵的子转置矩阵,且并行地对各子向量矩阵和各子向量矩阵的子转置矩阵进行乘积运算,得到各子向量矩阵对应的子方块矩阵;即可采用多个线程并行地计算mi Tmi(i=1,…,n),以提高计算速度。或者,采用一个线程依次计算各子向量矩阵的子转置矩阵,且依次地对各子向量矩阵和各子向量矩阵的子转置矩阵进行乘积运算,得到各子向量矩阵对应的子方块矩阵;即可采用一个线程来依次计算mi Tmi,以减少内存占用。然后,可对各子向量矩阵对应的子方块矩阵进行求和运算,得到向量矩阵对应的方块矩阵;即方块矩阵。
s3033,对方块矩阵进行逆运算,并根据逆运算结果和第二向量,计算得到第一重叠参数的值和第二重叠参数的值。
在一种实施方式中,可直接对方块矩阵进行逆运算;然后根据逆运算结果和第二向量,计算得到第一重叠参数的值和第二重叠参数的值。在此实施方式下,步骤s3033的计算公式可以参见式1.2所示;其中,上标-1表示逆运算。
再一种实施方式中,为避免矩阵求逆时出现无解的情况,本发明实施例在对方块矩阵进行逆运算时,可先采用单位矩阵对该方块矩阵进行满秩处理,然后对满秩处理后的方块矩阵进行逆运算。其中,单位矩阵是指:从左上角到右下角的对角线上的元素均为1,其余元素均为0的矩阵。满秩处理的原理为:采用极小常数对维度为k的单位矩阵进行缩放处理,并对缩放处理后的单位矩阵和方块矩阵进行求和;其对应的计算公式可参见式1.3所示:
其中,表示极小常数;其取值可根据经验值设置,例如可设置的取值为1e-6。表示维度为k的单位矩阵,k的取值可根据重叠参数的数量设置。例如,本发明实施例中共涉及两个重叠参数(即第一重叠参数和第二重叠参数),则k的取值便为2。符号表示乘法运算;那么表示让维度为k的单位矩阵中的所有元素均乘以极小常数。经研究表明,能够保证矩阵求逆时不会无解,且基本不会影响最小二乘算法的精度。
在对满秩处理后的方块矩阵进行逆运算,得到逆运算结果后;便可根据逆运算结果和第二向量,计算得到第一重叠参数的值和第二重叠参数的值。在此实施方式下,步骤s3033的计算公式可以参见式1.4所示:
S304,采用第一重叠比例和第二重叠比例,对第一像素序列和第三像素序列进行加权求和,得到第二帧图像的预测像素序列。
S305,根据第二帧图像的第二像素序列和预测像素序列计算像素误差,该第二像素序列包括第二帧图像中各像素的像素值。
由前述可知,像素误差可包括以下至少一种:平均误差、平均平方误差和最大误差。在一种实施方式中,若像素误差包括平均误差,则步骤S305的具体实施方式可以是:首先,分别计算第二帧图像中的各像素的像素值和预测值之间的差值。其次,可求取各像素的像素值和预测值之间的差值的总和。然后,计算差值的总和与第二像素序列的序列长度之间的比值,得到平均误差。其中,第二像素序列的序列长度等于第二帧图像的像素数量。
再一种实施方式中,若像素误差包括平均平方误差,则步骤S305的具体实施方式可以是:首先,分别计算第二帧图像中的各像素的像素值和预测值之间的差值。其次,可分别对各像素的像素值和预测值之间的差值进行平方运算,得到各像素所对应的差值平方;并可求取各像素所对应的差值平方的总和。然后,可计算差值平方的总和与第二像素序列的序列长度之间的比值,并根据计算得到的比值得到平均平方误差。基于此,可采用下述式1.5表示步骤S305的具体实施方式。
再一种实施方式中,若像素误差包括最大误差,则步骤S305的具体实施方式可以是:首先,分别计算第二帧图像中的各像素的像素值和预测值之间的差值绝对值。其次,根据各像素的像素值和预测值之间的差值绝对值,从第二帧图像中选取目标像素;此处的目标像素是指第二帧图像中像素值和预测值之间的差值绝对值最大的像素。然后,可计算目标像素的差值绝对值与第二像素序列的序列长度之间的比值,并根据计算得到的比值得到最大误差。基于此,可采用下述式1.6表示步骤S305的具体实施方式。
S306,判断像素误差是否满足误差条件;此处的误差条件包括以下至少一项:平方误差大于误差阈值、平均平方误差大于第一阈值和最大误差大于第二阈值。
S307,若像素误差满足误差条件,则确定第二帧图像的帧类型为有效帧。
S308,若像素误差不满足误差条件,则根据第一重叠比例和第二重叠比例确定第二帧图像或者第三帧图像的帧类型。
在一种具体实现中,可根据第一重叠比例以及第二重叠比例与比例阈值之间的大小关系,来识别第二帧图像或者第三帧图像的帧类型;此处的比例阈值可根据经验值或者实际业务需求设置,例如可设置比例阈值为0.99(即99%)。具体的,若第一重叠比例大于比例阈值(如99%),则可表明第二帧图像是由99%的第一帧图像所构成的;此情况下可确定第二帧图像是第一帧图像的重复帧,因此可确定第二帧图像的帧类型为重复帧。若第二重叠比例大于比例阈值(如99%),则可表明第三帧图像是由99%的第二帧图像所构成的;此情况下可确定第三帧图像是第二帧图像的重复帧,因此可确定第三帧图像的帧类型为重复帧。若第一重叠比例和第二重叠比例均小于或等于比例阈值,则可表明第二帧图像是由第一帧图像和第三帧图像混合得到的;此情况下可确定第二帧图像是采用第一帧图像和第三帧图像进行加权叠加所得到的重叠帧图像,因此可确定第二帧图像的帧类型为重叠帧。
在此实施方式下,步骤S306-步骤S308的流程示意图可一并参见图4b所示;应理解的是,图4b只是示例性地表征步骤S306-S308的具体实施过程,但并不对其进行限定。例如,在图4b中是先执行判断第一重叠比例是否大于比例阈值的步骤,再执行判断第二重叠比例是否大于比例阈值的步骤;但在实际应用中,也可先执行判断第二重叠比例是否大于比例阈值的步骤,再执行判断第一重叠比例是否大于比例阈值的步骤;或者同时执行判断第一重叠比例是否大于比例阈值的步骤以及判断第二重叠比例是否大于比例阈值的步骤,等等。
再一种具体实现中,第一重叠比例和第二重叠比例通常为大于或等于0。但是由前述可知,第一重叠比例和第二重叠比例可能是通过最小二乘算法求解得到;而经研究表明,在第二帧图像和第三帧图像中存在重叠或重复的帧图像时,可能由于最小二乘算法存在误差而导致第一重叠比例和第二重叠比例是一个略微小于零的值。那么可知若第一重叠比例和第二重叠比例明显小于零时,可说明第二帧图像不是重叠或重复的帧图像,即可确定第二帧图像的帧类型为有效帧。基于此,可检测第一重叠比例和第二重叠比例是否小于第三阈值;此处的第三阈值(采用-T3表示)为负数,其可根据经验值或者实际业务需求设置,例如设置第三阈值为-0.01。若第一重叠比例(采用A表示)小于第三阈值或者第二重叠(采用B表示)比例小于第三阈值,即若A<- T3或B小于-T3;则可确定第二帧图像的帧类型为有效帧。否则,则可进一步根据第二重叠比例和第二重叠比例的和来识别第二帧图像或者第三帧图像的帧类型。
其中,在根据第二重叠比例和第二重叠比例的和,识别第二帧图像或者第三帧图像的帧类型时,可至少包括如下两种实施方式:
实施方式一,经研究表明:若第二帧图像和第三帧图像中存在重叠或重复的帧图像,则第一重叠比例和第二重叠比例的和通常等于固定的参考数值;此处的参考数值可根据经验值设置,为便于阐述后续均以参考数值等于1为例进行说明。因此,可检测第一重叠比例和第二重叠比例的和是否等于参考数值。若等于(即若|A+B|=1),则可确定第二帧图像和第三帧图像中存在一个帧图像的帧类型为重叠帧或重复帧;若不等于,则可确定第二帧图像的帧类型为有效帧。基于此,可总结得到步骤S308的一种具体实施方式可以是:检测第一重叠比例和第二重叠比例是否满足阈值条件,此处的阈值条件包括以下至少一项:第一重叠比例小于第三阈值(即A<-T3)、第二重叠比例小于第三阈值(即B<-T3)、或者第一重叠比例与第二重叠比例的总和等于参考数值(即|A+B|=1)。若第一重叠比例和第二重叠比例满足阈值条件,则确定第二帧图像的帧类型为有效帧;否则,则确定第二帧图像和第三帧图像中存在一个帧图像的帧类型为重叠帧或重复帧。
在此实施方式下,步骤S306-步骤S308的流程示意图可一并参见图4c所示;应理解的是,图4c只是示例性地表征步骤S306-S308的具体实施过程,但并不对其进行限定。例如,在图4c中是先执行判断第一重叠比例或第二重叠比例是否小于第三阈值的步骤,再执行判断第一重叠比例和第二重叠比例的总和是否等于参考数值的步骤;但在实际应用中,也可先执行判断第一重叠比例和第二重叠比例的总和是否等于参考数值的步骤,再执行判断第一重叠比例或第二重叠比例是否小于第三阈值的步骤;或者同时执行判断第一重叠比例或第二重叠比例是否小于第三阈值的步骤以及判断第一重叠比例和第二重叠比例的总和是否等于参考数值的步骤,等等。
实施方式二,考虑到第一重叠比例和第二重叠比例可能是通过最小二乘算法求解得到,而最小二乘算法的误差可能导致第一重叠比例和第二重叠比例的总和与参考数值(如数值“1”)有略微的差别。基于此,为提升帧类型识别的准确性,可判断第一重叠比例和第二重叠比例的总和绝对值与参考数值(如数值“1”)之间的差值绝对值是否大于第四阈值;此处的第四阈值(采用T4表示)为正数,其可根据经验值或者实际业务需求设置,例如第四阈值可以是0.01。若大于(即若||A+B|-1|> T4),则可确定第二帧图像的帧类型为有效帧;否则,则可确定第二帧图像和第三帧图像中存在一个帧图像的帧类型为重叠帧或重复帧。基于此,可总结得到步骤S308的一种具体实施方式可以是:检测第一重叠比例和第二重叠比例是否满足比例条件,此处的比例条件可包括以下至少一项:第一重叠比例小于第三阈值(即A<-T3)、第二重叠比例小于第三阈值(即B<-T3)、或者第一重叠比例与第二重叠比例的总和绝对值和参考数值之间的差值绝对值大于第四阈值(即||A+B|-1|> T4)。若第一重叠比例和第二重叠比例满足比例条件,则可确定第二帧图像的帧类型为有效帧。若第一重叠比例和第二重叠比例不满足比例条件,则确定第二帧图像和第三帧图像中存在一个帧图像的帧类型为重叠帧或重复帧。
在此实施方式下,步骤S306-步骤S308的流程示意图可一并参见图4c所示;应理解的是,图4d只是示例性地表征步骤S306-S308的具体实施过程,但并不对其进行限定。例如,在图4d中是先执行判断第一重叠比例或第二重叠比例是否小于第三阈值的步骤,再执行判断第一重叠比例和第二重叠比例的总和绝对值和参考数值之间的差值绝对值是否大于第四阈值的步骤;但在实际应用中,也可先执行判断第一重叠比例和第二重叠比例的总和绝对值和参考数值之间的差值绝对值是否大于第四阈值的步骤,再执行判断第一重叠比例或第二重叠比例是否小于第三阈值的步骤;或者同时执行判断第一重叠比例或第二重叠比例是否小于第三阈值的步骤以及判断第一重叠比例和第二重叠比例的总和绝对值和参考数值之间的差值绝对值是否大于第四阈值的步骤,等等。
参见图4c和图4d可知,在确定第二帧图像和第三帧图像中存在一个帧图像的帧类型为重叠帧或重复帧后,还可根据第一重叠比例和第二重叠比例与参考数值之间的差距与第五阈值的大小关系,来进一步确定第二帧图像或者第三帧图像的帧类型;此处的第五阈值(采用T5表示)可根据经验值或者实际的业务需求设置,例如第五阈值可设置为0.01。具体的,若第一重叠比例和参考数值的差值绝对值小于第五阈值(即若|A-1|<T5),则可表明第二帧图像基本是由第一帧图像构成的,因此可确定第二帧图像的帧类型为重复帧;若第二重叠比例和参考数值的差值绝对值小于第五阈值(即若|B-1|<T5),则可表明第三帧图像基本是由第二帧图像构成的,因此可确定第三帧图像的帧类型为重复帧;若第一重叠比例和参考数值的差值绝对值,以及第二重叠比例和参考数值的差值绝对值均大于或等于第五阈值,则可表明第二帧图像是按照第一重叠比例和第二重叠比例将第一帧图像和第三帧图像进行混合得到的,因此可确定第二帧图像的帧类型为重叠帧。由此可见,本发明实施例所提出的图像识别方法在确定第二帧图像的帧类型为重叠帧的同时,还可精准得到第二帧图像在第一帧图像和第三帧图像中各自所占的比例。
需要说明的是,上述步骤S301-S308只是示意性地表征对图像帧序列中的帧图像进行帧类型识别的一次识别过程。在实际应用中,服务器可迭代重复执行上述步骤S301-S308,直至识别出图像帧图像中的各帧图像的帧类型;然后可对图像帧序列中的帧类型为有效帧的帧图像进行插帧编码,得到转码数据,并将转码数据下发至终端设备,由终端设备调用内部的客户端根据该转码数据进行视频播放。为了能够更好地迭代执行步骤S301-S308,可采用数据结构来缓存每次识别过程中所涉及的第一帧图像、第二帧图像以及第三帧图像;即每次识别过程中的第一帧图像、第二帧图像和第三帧图像可缓存于数据结构中。此处的数据结构是指计算机存储、组织数据的方式,其可以包括但不限于:队列、堆栈、数组、链表、树、散列表,等等。在每次识别过程结束后,数据结构所缓存的第一帧图像、第二帧图像以及第三帧图像中,便存在2个已知帧类型的帧图像以及1个未知帧类型的帧图像;此时可从数据结构中弹出1个已知帧类型的帧图像,以在数据结构中留出缓存空间来缓存下一轮所需识别的未知帧类型的帧图像,从而开启下一轮识别过程。具体的,若第二帧图像的帧类型为有效帧,则可从数据结构中弹出第一帧图像,并转码保存第一帧图像。若第二帧图像的帧类型为重叠帧或者重复帧,则可从数据结构中弹出第二帧图像,并销毁第二帧图像。若第三帧图像的帧类型为重复帧,则可从数据结构中弹出第三帧图像,并销毁第三帧图像。由此可见,本发明实施例所提出的图像识别方法不仅可以识别出图像帧序列中的重叠和重复的帧图像,还可销毁此重叠和重复的帧图像;其具有较高的识别精度以及较强的识别稳定性。
还需说明的是,通过迭代重复执行上述步骤S301-S308以识别图像帧序列中的各帧图像的帧类型时;在最后一次识别时,数据结构中只包括两帧图像:已知类型的参考帧图像(即最后一次识别所获取的第一帧图像),以及图像帧序列中的尾帧图像;此处的尾帧图像是指图像帧序列中最后进行帧类型识别的帧图像。例如设图像帧序列总共有h帧图像,若第h帧图像是最后进行帧类型识别的帧图像,则尾帧图像便为第h帧图像;若第h帧图像的帧类型已在之前的识别过程中识别出,则最后进行帧类型识别的帧图像便不会是第h帧图像,此情况下若第h-1帧图像是最后进行帧类型识别的帧图像,则尾帧图像便为第h-1帧图像,等等。当数据结构中只包括两帧图像时,服务器可直接转码保存参考帧图像。针对尾帧图像而言,可根据参考帧图像和尾帧图像之间的像素差异识别尾帧图像的帧类型。在具体实现中,可根据参考帧图像中的各像素的像素值和尾帧图像中的各像素的像素值,计算参考帧图像和尾帧图像之间的图像差异;此处的图像差异包括:参考帧图像和尾帧图像之间的像素平均平方误差以及像素最大误差。若像素平均平方误差大于第一阈值或者像素最大误差大于第二阈值,则确定尾帧图像的帧类型为有效帧,此时可转码保存尾帧图像;否则,则可确定尾帧图像的帧类型为重复帧,此时可销毁尾帧图像。其中,参考帧图像和尾帧图像之间的像素平均平方误差可采用下述公式1.7计算得到;参考帧图像和尾帧图像之间的像素最大误差可采用下述公式1.8计算得到。
本发明实施例中的第一帧图像的帧类型已知,且第二帧图像在图像帧序列中的排列位置位于第一帧图像和第三帧图像之间。在识别第二帧图像和第三帧图像的帧类型时,可先根据第一帧图像和第三帧图像,预测得到第二帧图像的预测像素序列;通过位于第二帧图像前后的两帧图像对第二帧图像进行像素预测,可有效提升预测像素序列的准确性。其次,可根据第二帧图像的实际像素序列(第二像素序列)和较为准确的预测像素序列计算像素误差,以有效减小编码噪声所带来的影响,从而提升像素误差的准确性和稳定性。然后,可根据较为准确的像素误差识别第二帧图像或者第三帧图像的帧类型,以提升帧类型识别的准确性和稳定性。
基于上述所描述的图像识别方法的实施例,本发明实施例还提出了一种视频播放方法;该视频播放方法可由一个视频处理设备执行,此处的视频处理设备可以是上述所提及的视频处理系统中的服务器或者终端设备。参见图5所示,该视频播放方法可包括以下步骤S501-S504:
S501,获取目标视频对应的图像帧序列。
在具体实现中,目标视频可以是任一视频;例如,影视视频、屏幕录像视频、短视频,等等。具体的,视频处理设备可先获取目标视频的视频编码数据。其次,对该视频编码数据进行解码,得到解码结果。然后,可对解码结果进行去交错等前处理,得到目标视频的图像帧序列;此处的图像帧序列中包括多帧按照时间先后顺序依次排列的帧图像。
S502,识别图像帧序列中的各帧图像的帧类型。
在本发明实施例中,图像帧序列包括多帧按照时间先后顺序依次排列的帧图像;其中,图像帧序列中排列位置为首位的帧图像为首帧图像,图像帧序列中最后进行帧类型识别的帧图像为尾帧图像。图像帧序列中除首帧图像和尾帧图像以外的其他帧图像的帧类型均采用上述的图像识别方法识别得到;此处的帧类型包括以下任一种:有效帧、重叠帧或者重复帧,所谓的有效帧是指图像帧序列中非重复且非重叠的帧。
下面将结合图6a所示的识别流程对步骤S502的具体实施过程进行示例性地阐述,其具体实施过程可包括以下步骤s5021-s5026:
s5021,初始化数据结构,以缓存帧图像。
在具体实现中,可构建一个数据结构;此处的数据结构可包括但不限于:队列、堆栈、树等等,数据结构的长度可根据图像识别所需的帧图像的最大数量确定。例如本发明实施例每次图像识别最多使用一个已知帧类型的帧图像和两个未知帧类型的帧图像,那么数据结构的长度可设置为3。其次,可对该数据结构进行初始化,以使得初始化后的数据结构有充足的空间来缓存帧图像。
s5022,填充图像帧序列中的帧图像至数据结构中。
在具体实现中,若图像帧序列中的帧图像的数量大于数据结构的长度,则可将图像帧序列中的首帧图像的帧类型标记为有效帧,并将该首帧图像作为第一帧图像填充到数据结构中;然后可依次从图像帧序列中获取第2帧图像和第3帧图像作为第二帧图像和第三帧图像,将其填充到数据结构中并接着执行步骤s5023-s5024。若图像帧序列中的帧图像的数量小于数据结构的长度,则可将图像帧序列中的各帧图像依次填充到数据结构中;此时可视为图像帧序列处理完成,可直接进入步骤s5026。
s5023,识别数据结构中的未知帧类型的帧图像的帧类型。
在具体实现中,步骤s5023的实施过程可一并参见图6b所示:首先,可分别采用第一帧图像中各像素的像素值构建第一像素序列,采用第二帧图像中各像素的像素值构建第二像素序列,以及采用第三帧图像中各像素的像素值构建第三像素序列。其次,可检测第一帧图像和第二帧图像之间的间隔时长是否大于或等于时长阈值。若大于或等于,则可直接确定第二帧图像的帧类型为有效帧。若小于,则可获取第一重叠比例和第二重叠比例;并采用第一重叠比例和第二重叠比例,对第一像素序列和第三像素序列进行加权求和,得到第二帧图像的预测像素序列。然后,可根据第二像素序列和预测像素序列计算平均平方误差以及最大误差。最后,可根据平均平方误差、最大误差、第一重叠比例和第二重叠比例确定第二帧图像或者第三帧图像的帧类型。具体的,若平均平方误差大于第一阈值或者最大误差大于第二阈值,则可确定第二帧图像的帧类型为有效帧;否则,则可进一步根据第一重叠比例和第二重叠比例识别第二帧图像或者第三帧图像的帧类型,具体可参见图4b-图4d所示的识别流程,在此不再赘述。
s5024,更新数据结构。
在执行步骤s5023后,数据结构中就有两个已知帧类型的帧图像,以及一个未知帧类型的帧图像;此时需要更新数据结构以将已知帧类型的帧图像弹出一个,并获取新的缓存空间让下一个未知帧类型的帧图像能进来。在具体实现中,若第二帧图像的帧类型为有效帧,则从数据结构中弹出第一帧图像,并转码保存第一帧图像;若第二帧图像的帧类型为重叠帧或者重复帧,则从数据结构中弹出第二帧图像,并销毁第二帧图像;若第三帧图像的帧类型为重复帧,则从数据结构中弹出第三帧图像,并销毁第三帧图像。在从数据结构中弹出一个已知帧的帧图像后,可通过步骤s5025判断图像帧序列是否处理完成;此处的处理完成是指图像帧序列中的各个未知帧类型的帧图像均已在数据结构中缓存过。
s5025,判断图像帧序列是否处理完成。
在具体实现中,可检测图像帧序列中是否存在未知帧类型的帧图像没有进入数据结构中。若不存在,则可确定图像帧图像已处理完成;此时可直接进入步骤s5026。若存在,则可确定图像帧序列未处理完成;此时可再次跳转到步骤s5022。由于通过步骤s5024更新数据结构之后,数据结构中只包含一个已知帧类型的帧图像以及一个未知帧类型的帧图像(即第二帧图像);在此情况下,跳转执行步骤s5022时可直接将数据结构中所包含的已知帧类型的帧图像作为第一帧图像,将数据结构中所包含的未知帧类型的帧图像作为第二帧图像;然后,可获取图像帧序列中剩余未进入数据结构中的首个未知帧类型的帧图像,并将获取到的帧图像作为第三帧图像填充到数据结构中。
s5026,对数据结构中的帧图像进行后处理。
在一种情况下,执行步骤s5026时的数据结构中可能只包含一个帧类型为有效帧的帧图像。此情况下,步骤s5026的具体实施方式可以是:从数据结构中弹出该帧类型为有效帧的帧图像。
再一种情况下,执行步骤s5026时的数据结构中可能只包含一个帧类型为有效帧的帧图像以及一个未知帧类型的帧图像(即尾帧图像)。此情况下,步骤s5026的具体实施方式可以是:将数据结构中所包含的帧类型为有效帧的帧图像作为尾帧图像的参考帧图像,根据参考帧图像中的各像素的像素值和尾帧图像中的各像素的像素值,计算参考帧图像和尾帧图像之间的像素平均平方误差以及像素最大误差。若像素平均平方误差大于第一阈值或者像素最大误差大于第二阈值,则确定尾帧图像的帧类型为有效帧,并从数据结构中弹出尾帧图像;否则,则可确定尾帧图像的帧类型为重复帧,并从数据结构中弹出尾帧图像。
S503,从图像帧序列中过滤掉帧类型为重叠帧和重复帧的帧图像,并对过滤后的图像帧序列进行插帧转码,得到转码数据。
在具体实现中,可先在图像帧序列中依次删除帧类型为重复帧和重叠帧的帧图像,得到过滤后的图像帧序列;以删除帧类型为重复帧的帧图像为例,其相应的过滤图像帧序列的示意图可如图6c所示。通过对图像帧序列进行重叠或重复的帧图像的过滤处理,可保证插帧前的相邻帧图像具有连贯性,从而保证插帧算法能够有效工作,使得插帧算法不会因为输入的帧图像不符合要求而导致鬼影或效果变差等问题。然后,可采用插帧算法对过滤后的图像帧序列进行插帧处理。由前述可知,插帧算法的原理主要是通过分析相邻的两帧图像中同一物体的运动方式来生成新的帧图像,使得新的帧图像中每个物体的运动轨迹和前后两帧图像中的物体的运动轨迹相同。因此,本发明实施例通过插帧算法对过滤后的图像帧序列进行插帧处理,可使得通过插帧算法所插入的新的帧图像并不会和前后两帧图像完全相同,如图6d所示;通过这样细腻的处理方法可使得插帧后的图像帧序列能够取得更好的画面观感,从而使得插帧后的目标视频可在播放时呈现更加顺滑的画面,且保证慢动作播放时不会有卡顿感。在得到插帧后的图像帧序列之后,可对插帧后的图像帧序列进行转码处理,得到转码数据。
S504,在客户端的播放界面中,根据转码数据播放目标视频。
由前述可知,执行本发明实施例所提出的视频处理方法的视频处理设备可以是服务器,也可以是终端设备。那么若视频处理设备为服务器,则步骤S504的具体实施方式可以是:将转码数据下发至终端设备,以使得终端设备在客户端的播放界面中根据转码数据播放目标视频。在此情况下,通过服务器统一使用高画质的插帧算法生成高帧率的目标视频的转码数据,可使得插帧转码的过程无需受到终端设备的设备性能的约束,可保证目标视频具有较好的画质体验。若视频处理设备为终端设备,则步骤S504的具体实施方式可以是:直接根据目标视频的转码数据在客户端的播放界面播放目标视频。
需要说明的是,本发明实施例对上述步骤S501-S504的具体执行时间并不限定。例如,本发明实施例可先通过步骤S501-S503预先生成目标视频的转码数据,即目标视频的转码数据可以是预先生成的。用户若想要观看某个视频,则可触发终端设备输出视频选择界面,如图6e所示。然后,用户可从视频选择界面中选择一个想看的目标视频进行播放;相应的,终端设备可响应于针对目标视频的播放指令,执行步骤S504以实现视频播放,如图6f所示。又如,本发明实施例也先检测用户针对目标视频的播放指令;若检测到该播放指令,则再执行步骤S501-S504以实现视频播放。在此情况下,即目标视频的转码数据可以是实时生成的。
本发明实施例在视频播放时,可先获取目标视频对应的图像帧序列,并识别该图像帧序列中的各帧图像的帧类型;此处的帧类型包括有效帧、重叠帧或者重复帧。通过采用上述的图像识别方法对图像帧序列中除首帧图像和尾帧图像以外的其他帧图像进行帧类型识别,可有效提升帧类型识别的准确性和稳定性。然后,可从图像帧序列中过滤掉帧类型为重复帧和重叠帧的帧图像,并对过滤后的图像帧序列进行插帧转码;可有效提升目标视频的有效帧率(即每秒所播放的帧图像的数量),还可使得在根据转码数据播放目标视频时,可减少出现因重叠帧而导致的鬼影或画面撕裂现象以及因重复帧图像而导致的画面卡顿现象,从而提升目标视频的播放效果。
基于上述图像识别方法的相关实施例的描述,本发明实施例还提出了一种图像识别装置,该图像识别装置可以是运行于服务器中的一个计算机程序(包括程序代码)。该图像识别装置可以执行图2至图4d所示的方法。请参见图7,所述图像识别装置可以运行如下单元:
获取单元701,用于从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像;
处理单元702,用于根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列;所述预测像素序列包括所述第二帧图像中各像素的预测值;
所述处理单元702,还用于根据所述第二帧图像的第二像素序列和所述预测像素序列计算像素误差,所述第二像素序列包括所述第二帧图像中各像素的像素值;
所述处理单元702,还用于根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型。
在一种实施方式中,处理单元702在用于根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列时,可具体用于:采用所述第一帧图像中各像素的像素值构建第一像素序列,采用所述第三帧图像中各像素的像素值构建第三像素序列;获取所述第二帧图像和所述第一帧图像之间的第一重叠比例,以及所述第二帧图像和所述第三帧图像之间的第二重叠比例;采用所述第一重叠比例和所述第二重叠比例,对所述第一像素序列和所述第三像素序列进行加权求和,得到所述第二帧图像的预测像素序列。
再一种实施方式中,处理单元702在用于获取所述第二帧图像和所述第一帧图像之间的第一重叠比例,以及所述第二帧图像和所述第三帧图像之间的第二重叠比例时,可具体用于:确定所述第二帧图像和所述第一帧图像之间的第一重叠参数,以及所述第二帧图像和所述第三帧图像之间的第二重叠参数;采用所述第一重叠参数、所述第二重叠参数、所述第一像素序列、第二像素序列和所述第三像素序列,构建拟合函数;求解所述拟合函数,得到所述第一重叠参数的值和所述第二重叠参数的值;其中,所述第一重叠参数的值用于表示所述第二帧图像和所述第一帧图像之间的第一重叠比例,所述第二重叠参数的值用于表示所述第二帧图像和所述第三帧图像之间的第二重叠比例。
再一种实施方式中,处理单元702在用于求解所述拟合函数,得到所述第一重叠参数的值和所述第二重叠参数的值时,可具体用于:采用第一像素序列构造第一向量,采用第二像素序列构造第二向量,以及采用所述第三像素序列构造第三向量;采用所述第一向量和所述第三向量构造向量矩阵,并获取所述向量矩阵对应的方块矩阵;对所述方块矩阵进行逆运算,并根据逆运算结果和所述第二向量,计算得到所述第一重叠参数的值和所述第二重叠参数的值。
再一种实施方式中,所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧;所述有效帧是指所述图像帧序列中非重复且非重叠的帧;相应的,处理单元702在用于根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型时,可具体用于:若所述像素误差满足误差条件,则确定所述第二帧图像的帧类型为有效帧;若所述像素误差不满足所述误差条件,则根据所述第一重叠比例和所述第二重叠比例确定所述第二帧图像或者所述第三帧图像的帧类型;其中,所述像素误差包括以下至少一种:平均平方误差和最大误差;所述误差条件包括以下至少一项:所述平均平方误差大于第一阈值和所述最大误差大于第二阈值。
再一种实施方式中,处理单元702在用于根据所述第一重叠比例和所述第二重叠比例确定所述第二帧图像或者所述第三帧图像的帧类型时,可具体用于:若所述第一重叠比例和所述第二重叠比例满足比例条件,则确定所述第二帧图像的帧类型为所述有效帧;若所述第一重叠比例和所述第二重叠比例不满足所述比例条件,则确定所述第二帧图像和所述第三帧图像中存在一个帧图像的帧类型为所述重叠帧或所述重复帧;其中,所述比例条件包括以下至少一项:所述第一重叠比例小于第三阈值、所述第二重叠比例小于所述第三阈值、或者所述第一重叠比例与所述第二重叠比例的总和绝对值和参考数值之间的差值绝对值大于第四阈值。
再一种实施方式中,在确定所述第二帧图像和所述第三帧图像中存在一个帧图像的帧类型为所述重叠帧或所述重复帧之后,处理单元702还可用于:若所述第一重叠比例和所述参考数值的差值绝对值小于第五阈值,则确定所述第二帧图像的帧类型为所述重复帧;若所述第二重叠比例和所述参考数值的差值绝对值小于所述第五阈值,则确定所述第三帧图像的帧类型为所述重复帧;若所述第一重叠比例和所述参考数值的差值绝对值,以及所述第二重叠比例和所述参考数值的差值绝对值均大于或等于所述第五阈值,则确定所述第二帧图像的帧类型为所述重叠帧。
根据本发明的一个实施例,图2至图4d所示的方法所涉及的各个步骤均可以是由图7所示的图像识别装置中的各个单元来执行的。例如,图2中所示的步骤S201可由图7中所示的获取单元701来执行,步骤S202-S204可由图7中所示的处理单元702来执行;又如,图3中所示的步骤S301可由图7中所示的获取单元701来执行,步骤S302-S308可由图7中所示的处理单元702来执行;再如,图4a-图4d所示的各个步骤均可由图7中所示的处理单元702来执行,等等。
根据本发明的另一个实施例,图7所示的图像识别装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于图像识别装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2至图4d中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的图像识别装置设备,以及来实现本发明实施例的图像识别方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例中的第一帧图像的帧类型已知,且第二帧图像在图像帧序列中的排列位置位于第一帧图像和第三帧图像之间。在识别第二帧图像和第三帧图像的帧类型时,可先根据第一帧图像和第三帧图像,预测得到第二帧图像的预测像素序列;通过位于第二帧图像前后的两帧图像对第二帧图像进行像素预测,可有效提升预测像素序列的准确性。其次,可根据第二帧图像的实际像素序列(第二像素序列)和较为准确的预测像素序列计算像素误差,以有效减小编码噪声所带来的影响,从而提升像素误差的准确性和稳定性。然后,可根据较为准确的像素误差识别第二帧图像或者第三帧图像的帧类型,以提升帧类型识别的准确性和稳定性。
基于上述图像识别的方法实施例以及装置实施例的描述,本发明实施例还提供一种服务器。请参见图8,该服务器至少包括处理器801、输入设备802、输出设备803以及计算机存储介质804。其中,服务器内的处理器801、输入设备802、输出设备803以及计算机存储介质804可通过总线或其他方式连接。
计算机存储介质804可以存储在服务器的存储器中,所述计算机存储介质804用于存储计算机程序,所述计算机程序包括程序指令,所述处理器801 用于执行所述计算机存储介质804存储的程序指令。处理器801(或称CPU(Central Processing Unit,中央处理器))是服务器的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器801可以用于图像帧序列中的各帧图像进行一系列的图像识别处理,包括:从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像;所述第二帧图像在所述图像帧序列中的排列位置位于所述第一帧图像和所述第三帧图像之间;根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列;所述预测像素序列包括所述第二帧图像中各像素的预测值;根据所述第二帧图像的第二像素序列和所述预测像素序列计算像素误差,所述第二像素序列包括所述第二帧图像中各像素的像素值;根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型,等等。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是服务器中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括服务器中的内置存储介质,当然也可以包括服务器所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了服务器的操作系统。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器801加载并执行计算机存储介质中存放的一条或多条第一指令,以实现上述有关图像识别实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条第一指令由处理器801加载并执行如下步骤:
从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像;
根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列;所述预测像素序列包括所述第二帧图像中各像素的预测值;
根据所述第二帧图像的第二像素序列和所述预测像素序列计算像素误差,所述第二像素序列包括所述第二帧图像中各像素的像素值;
根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型。
在一种实施方式中,在根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列时,所述一条或多条第一指令由处理器801加载并具体执行:采用所述第一帧图像中各像素的像素值构建第一像素序列,采用所述第三帧图像中各像素的像素值构建第三像素序列;获取所述第二帧图像和所述第一帧图像之间的第一重叠比例,以及所述第二帧图像和所述第三帧图像之间的第二重叠比例;采用所述第一重叠比例和所述第二重叠比例,对所述第一像素序列和所述第三像素序列进行加权求和,得到所述第二帧图像的预测像素序列。
再一种实施方式中,在获取所述第二帧图像和所述第一帧图像之间的第一重叠比例,以及所述第二帧图像和所述第三帧图像之间的第二重叠比例时,所述一条或多条第一指令由处理器801加载并具体执行:确定所述第二帧图像和所述第一帧图像之间的第一重叠参数,以及所述第二帧图像和所述第三帧图像之间的第二重叠参数;采用所述第一重叠参数、所述第二重叠参数、所述第一像素序列、第二像素序列和所述第三像素序列,构建拟合函数;求解所述拟合函数,得到所述第一重叠参数的值和所述第二重叠参数的值;其中,所述第一重叠参数的值用于表示所述第二帧图像和所述第一帧图像之间的第一重叠比例,所述第二重叠参数的值用于表示所述第二帧图像和所述第三帧图像之间的第二重叠比例。
再一种实施方式中,在求解所述拟合函数,得到所述第一重叠参数的值和所述第二重叠参数的值时,所述一条或多条第一指令由处理器801加载并具体执行:采用第一像素序列构造第一向量,采用第二像素序列构造第二向量,以及采用所述第三像素序列构造第三向量;采用所述第一向量和所述第三向量构造向量矩阵,并获取所述向量矩阵对应的方块矩阵;对所述方块矩阵进行逆运算,并根据逆运算结果和所述第二向量,计算得到所述第一重叠参数的值和所述第二重叠参数的值。
再一种实施方式中,所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧;所述有效帧是指所述图像帧序列中非重复且非重叠的帧;相应的,在根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型时,所述一条或多条第一指令由处理器801加载并具体执行:若所述像素误差满足误差条件,则确定所述第二帧图像的帧类型为有效帧;若所述像素误差不满足所述误差条件,则根据所述第一重叠比例和所述第二重叠比例确定所述第二帧图像或者所述第三帧图像的帧类型;其中,所述像素误差包括以下至少一种:平均平方误差和最大误差;所述误差条件包括以下至少一项:所述平均平方误差大于第一阈值和所述最大误差大于第二阈值。
再一种实施方式中,在根据所述第一重叠比例和所述第二重叠比例确定所述第二帧图像或者所述第三帧图像的帧类型时,所述一条或多条第一指令由处理器801加载并具体执行:若所述第一重叠比例和所述第二重叠比例满足比例条件,则确定所述第二帧图像的帧类型为所述有效帧;若所述第一重叠比例和所述第二重叠比例不满足所述比例条件,则确定所述第二帧图像和所述第三帧图像中存在一个帧图像的帧类型为所述重叠帧或所述重复帧;其中,所述比例条件包括以下至少一项:所述第一重叠比例小于第三阈值、所述第二重叠比例小于所述第三阈值、或者所述第一重叠比例与所述第二重叠比例的总和绝对值和参考数值之间的差值绝对值大于第四阈值。
再一种实施方式中,在确定所述第二帧图像和所述第三帧图像中存在一个帧图像的帧类型为所述重叠帧或所述重复帧之后,所述一条或多条第一指令还可由处理器801加载并具体执行:若所述第一重叠比例和所述参考数值的差值绝对值小于第五阈值,则确定所述第二帧图像的帧类型为所述重复帧;若所述第二重叠比例和所述参考数值的差值绝对值小于所述第五阈值,则确定所述第三帧图像的帧类型为所述重复帧;若所述第一重叠比例和所述参考数值的差值绝对值,以及所述第二重叠比例和所述参考数值的差值绝对值均大于或等于所述第五阈值,则确定所述第二帧图像的帧类型为所述重叠帧。
本发明实施例中的第一帧图像的帧类型已知,且第二帧图像在图像帧序列中的排列位置位于第一帧图像和第三帧图像之间。在识别第二帧图像和第三帧图像的帧类型时,可先根据第一帧图像和第三帧图像,预测得到第二帧图像的预测像素序列;通过位于第二帧图像前后的两帧图像对第二帧图像进行像素预测,可有效提升预测像素序列的准确性。其次,可根据第二帧图像的实际像素序列(第二像素序列)和较为准确的预测像素序列计算像素误差,以有效减小编码噪声所带来的影响,从而提升像素误差的准确性和稳定性。然后,可根据较为准确的像素误差识别第二帧图像或者第三帧图像的帧类型,以提升帧类型识别的准确性和稳定性。
基于上述视频播放方法的相关实施例的描述,本发明实施例还提出了一种视频播放装置。该视频播放装置可以执行图5-图6b所示的方法。请参见图9,所述视频播放装置可以运行如下单元:
获取单元901,用于获取所述目标视频对应的图像帧序列,所述图像帧序列中包括多帧图像;
处理单元902,用于识别所述图像帧序列中的各帧图像的帧类型,所述图像帧序列中除首帧图像和尾帧图像以外的其他帧图像的帧类型均采用上述的图像识别方法识别得到;所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧,所述有效帧是指所述图像帧序列中非重复且非重叠的帧;
所述处理单元902,还用于从所述图像帧序列中过滤掉帧类型为所述重叠帧和所述重复帧的帧图像,对过滤后的图像帧序列进行插帧转码,得到转码数据;
播放单元903,用于在客户端的播放界面中,根据所述转码数据播放所述目标视频。
根据本发明的一个实施例,图5至图6b所示的方法所涉及的各个步骤均可由图9所示的视频播放装置中的各个单元来执行。例如,图5中所示的步骤S501可由图9中所示的获取单元901来执行,步骤S502-S503可由图9中所示的处理单元902来执行,步骤S504可由图9中所示的播放单元903来执行;又如,图6a-图6b中所示的各个步骤均可由图9中所示的处理单元902来执行,等等。
根据本发明的另一个实施例,图9所示的视频播放装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于视频播放装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本发明的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图5至图6b中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图9中所示的视频播放装置设备,以及来实现本发明实施例的视频播放方法。所述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
本发明实施例在视频播放时,可先获取目标视频对应的图像帧序列,并识别该图像帧序列中的各帧图像的帧类型;此处的帧类型包括有效帧、重叠帧或者重复帧。通过采用上述的图像识别方法对图像帧序列中除首帧图像和尾帧图像以外的其他帧图像进行帧类型识别,可有效提升帧类型识别的准确性和稳定性。然后,可从图像帧序列中过滤掉帧类型为重复帧和重叠帧的帧图像,并对过滤后的图像帧序列进行插帧转码;可有效提升目标视频的有效帧率(即每秒所播放的帧图像的数量),还可使得在根据转码数据播放目标视频时,可减少出现因重叠帧而导致的鬼影或画面撕裂现象以及因重复帧图像而导致的画面卡顿现象,从而提升目标视频的播放效果。
基于上述视频播放的方法实施例以及装置实施例的描述,本发明实施例还提供一种视频处理设备;此处的视频处理设备可以是前述视频处理系统中的服务器或者终端设备。请参见图10,该视频处理设备至少包括处理器1001、输入设备1002、输出设备1003以及计算机存储介质1004。其中,视频处理设备内的处理器1001、输入设备1002、输出设备1003以及计算机存储介质1004可通过总线或其他方式连接。
计算机存储介质1004可以存储在视频处理设备的存储器中,所述计算机存储介质1004用于存储计算机程序,所述计算机程序包括程序指令,所述处理器1001 用于执行所述计算机存储介质1004存储的程序指令。处理器1001(或称CPU(Central Processing Unit,中央处理器))是视频处理设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行一条或多条指令从而实现相应方法流程或相应功能;在一个实施例中,本发明实施例所述的处理器1001可以用于对目标视频进行一系列的视频播放处理,包括:获取目标视频对应的图像帧序列,所述图像帧序列中包括多帧图像;识别所述图像帧序列中的各帧图像的帧类型,所述图像帧序列中除首帧图像和尾帧图像以外的其他帧图像的帧类型均采用上述的图像识别方法识别得到;所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧,所述有效帧是指所述图像帧序列中非重复且非重叠的帧;从所述图像帧序列中过滤掉帧类型为所述重叠帧和所述重复帧的帧图像,并对过滤后的图像帧序列进行插帧转码,得到转码数据;在客户端的播放界面中,根据所述转码数据播放所述目标视频,等等。
本发明实施例还提供了一种计算机存储介质(Memory),所述计算机存储介质是视频处理设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括视频处理设备中的内置存储介质,当然也可以包括视频处理设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了视频处理设备的操作系统。并且,在该存储空间中还存放了适于被处理器1001加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
在一个实施例中,可由处理器1001加载并执行计算机存储介质中存放的一条或多条第二指令,以实现上述有关视频播放实施例中的方法的相应步骤;具体实现中,计算机存储介质中的一条或多条指令由处理器1001加载并执行如下步骤:
获取目标视频对应的图像帧序列,所述图像帧序列中包括多帧图像;
识别所述图像帧序列中的各帧图像的帧类型,所述图像帧序列中除首帧图像和尾帧图像以外的其他帧图像的帧类型均采用上述的图像识别方法识别得到;所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧,所述有效帧是指所述图像帧序列中非重复且非重叠的帧;
从所述图像帧序列中过滤掉帧类型为所述重叠帧和所述重复帧的帧图像,并对过滤后的图像帧序列进行插帧转码,得到转码数据;
在客户端的播放界面中,根据所述转码数据播放所述目标视频。
本发明实施例在视频播放时,可先获取目标视频对应的图像帧序列,并识别该图像帧序列中的各帧图像的帧类型;此处的帧类型包括有效帧、重叠帧或者重复帧。通过采用上述的图像识别方法对图像帧序列中除首帧图像和尾帧图像以外的其他帧图像进行帧类型识别,可有效提升帧类型识别的准确性和稳定性。然后,可从图像帧序列中过滤掉帧类型为重复帧和重叠帧的帧图像,并对过滤后的图像帧序列进行插帧转码;可有效提升目标视频的有效帧率(即每秒所播放的帧图像的数量),还可使得在根据转码数据播放目标视频时,可减少出现因重叠帧而导致的鬼影或画面撕裂现象以及因重复帧图像而导致的画面卡顿现象,从而提升目标视频的播放效果。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (15)
1.一种图像识别方法,其特征在于,包括:
从图像帧序列中获取已知帧类型的第一帧图像,以及未知帧类型的第二帧图像和第三帧图像;所述第二帧图像在所述图像帧序列中的排列位置位于所述第一帧图像和所述第三帧图像之间;
根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列;所述预测像素序列包括所述第二帧图像中各像素的预测值;
根据所述第二帧图像的第二像素序列和所述预测像素序列计算像素误差,所述第二像素序列包括所述第二帧图像中各像素的像素值;
根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列,包括:
采用所述第一帧图像中各像素的像素值构建第一像素序列,采用所述第三帧图像中各像素的像素值构建第三像素序列;
获取所述第二帧图像和所述第一帧图像之间的第一重叠比例,以及所述第二帧图像和所述第三帧图像之间的第二重叠比例;
采用所述第一重叠比例和所述第二重叠比例,对所述第一像素序列和所述第三像素序列进行加权求和,得到所述第二帧图像的预测像素序列。
3.如权利要求2所述的方法,其特征在于,所述获取所述第二帧图像和所述第一帧图像之间的第一重叠比例,以及所述第二帧图像和所述第三帧图像之间的第二重叠比例,包括:
确定所述第二帧图像和所述第一帧图像之间的第一重叠参数,以及所述第二帧图像和所述第三帧图像之间的第二重叠参数;
采用所述第一重叠参数、所述第二重叠参数、所述第一像素序列、第二像素序列和所述第三像素序列,构建拟合函数;
求解所述拟合函数,得到所述第一重叠参数的值和所述第二重叠参数的值;其中,所述第一重叠参数的值用于表示所述第二帧图像和所述第一帧图像之间的第一重叠比例,所述第二重叠参数的值用于表示所述第二帧图像和所述第三帧图像之间的第二重叠比例。
4.如权利要求3所述的方法,其特征在于,所述求解所述拟合函数,得到所述第一重叠参数的值和所述第二重叠参数的值,包括:
采用第一像素序列构造第一向量,采用第二像素序列构造第二向量,以及采用所述第三像素序列构造第三向量;
采用所述第一向量和所述第三向量构造向量矩阵,并获取所述向量矩阵对应的方块矩阵;
对所述方块矩阵进行逆运算,并根据逆运算结果和所述第二向量,计算得到所述第一重叠参数的值和所述第二重叠参数的值。
5.如权利要求4所述的方法,其特征在于,所述采用第一像素序列构造第一向量,采用第二像素序列构造第二向量,以及采用所述第三像素序列构造第三向量,包括:
若所述图像帧序列中的帧图像的像素数量大于预设数量,则从所述第一像素序列中随机提取所述预设数量的像素值构造所述第一向量,从所述第二像素序列中随机提取所述预设数量的像素值构造所述第二向量,从所述第三像素序列中随机提取所述预设数量的像素值构造所述第三向量;
若所述图像帧序列中的帧图像的像素数量小于或等于所述预设数量,则将第一像素序列对应的向量作为第一向量,将第二像素序列对应的向量作为第二向量,以及将所述第三像素序列对应的向量作为第三向量。
6.如权利要求4所述的方法,其特征在于,所述对所述方块矩阵进行逆运算,包括:
采用单位矩阵对所述方块矩阵进行满秩处理;
对满秩处理后的方块矩阵进行逆运算。
7.如权利要求4所述的方法,其特征在于,所述获取所述向量矩阵对应的方块矩阵,包括:
将所述向量矩阵划分成多个子向量矩阵,并获取各子向量矩阵对应的子方块矩阵;
对所述各子向量矩阵对应的子方块矩阵进行求和运算,得到所述向量矩阵对应的方块矩阵。
8.如权利要求7所述的方法,其特征在于,所述获取各子向量矩阵对应的子方块矩阵,包括:
采用多个线程并行计算各子向量矩阵的子转置矩阵,且并行地对所述各子向量矩阵和所述各子向量矩阵的子转置矩阵进行乘积运算,得到所述各子向量矩阵对应的子方块矩阵;或者,
采用一个线程依次计算各子向量矩阵的子转置矩阵,且依次地对所述各子向量矩阵和所述各子向量矩阵的子转置矩阵进行乘积运算,得到所述各子向量矩阵对应的子方块矩阵。
9.如权利要求2所述的方法,其特征在于,所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧;所述有效帧是指所述图像帧序列中非重复且非重叠的帧;所述根据所述像素误差识别所述第二帧图像或者第三帧图像的帧类型,包括:
若所述像素误差满足误差条件,则确定所述第二帧图像的帧类型为有效帧;
若所述像素误差不满足所述误差条件,则根据所述第一重叠比例和所述第二重叠比例确定所述第二帧图像或者所述第三帧图像的帧类型;
其中,所述像素误差包括以下至少一种:平均平方误差和最大误差;所述误差条件包括以下至少一项:所述平均平方误差大于第一阈值和所述最大误差大于第二阈值;其中,所述平均平方误差是指根据所述第二帧图像中各像素的像素值和预测值之间的差值平方计算得到的像素误差,所述最大误差是指根据所述第二帧图像中目标像素的像素值和预测值之间的差值绝对值计算得到的像素误差,所述目标像素是指所述第二帧图像中像素值和预测值之间的差值绝对值最大的像素。
10.如权利要求9所述的方法,其特征在于,所述根据所述第一重叠比例和所述第二重叠比例确定所述第二帧图像或者所述第三帧图像的帧类型,包括:
若所述第一重叠比例和所述第二重叠比例满足比例条件,则确定所述第二帧图像的帧类型为所述有效帧;
若所述第一重叠比例和所述第二重叠比例不满足所述比例条件,则确定所述第二帧图像和所述第三帧图像中存在一个帧图像的帧类型为所述重叠帧或所述重复帧;
其中,所述比例条件包括以下至少一项:所述第一重叠比例小于第三阈值、所述第二重叠比例小于所述第三阈值、或者所述第一重叠比例与所述第二重叠比例的总和绝对值和参考数值之间的差值绝对值大于第四阈值;所述第三阈值为负数,所述第四阈值为正数。
11.如权利要求10所述的方法,其特征在于,所述确定所述第二帧图像和所述第三帧图像中存在一个帧图像的帧类型为所述重叠帧或所述重复帧之后,所述方法还包括:
若所述第一重叠比例和所述参考数值的差值绝对值小于第五阈值,则确定所述第二帧图像的帧类型为所述重复帧;
若所述第二重叠比例和所述参考数值的差值绝对值小于所述第五阈值,则确定所述第三帧图像的帧类型为所述重复帧;
若所述第一重叠比例和所述参考数值的差值绝对值,以及所述第二重叠比例和所述参考数值的差值绝对值均大于或等于所述第五阈值,则确定所述第二帧图像的帧类型为所述重叠帧。
12.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一帧图像的时间属性,以及所述第二帧图像的时间属性;
根据所述第一帧图像的时间属性和所述第二帧图像的时间属性,计算所述第一帧图像和所述第二帧图像之间的间隔时长;
若所述间隔时长小于时长阈值,则执行所述根据所述第一帧图像和所述第三帧图像,预测得到所述第二帧图像的预测像素序列的步骤;
若所述间隔时长大于或等于所述时长阈值,则确定所述第二帧图像的帧类型为有效帧。
13.如权利要求1所述的方法,其特征在于,所述第一帧图像、所述第二帧图像和所述第三帧图像缓存于数据结构中;所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧;所述有效帧是指所述图像帧序列中非重复且非重叠的帧;所述方法还包括:
若所述第二帧图像的帧类型为所述有效帧,则从所述数据结构中弹出所述第一帧图像,并转码保存所述第一帧图像;
若所述第二帧图像的帧类型为所述重叠帧或者所述重复帧,则从所述数据结构中弹出所述第二帧图像,并销毁所述第二帧图像;
若所述第三帧图像的帧类型为所述重复帧,则从所述数据结构中弹出所述第三帧图像,并销毁所述第三帧图像。
14.一种视频播放方法,其特征在于,包括:
获取目标视频对应的图像帧序列,所述图像帧序列中包括多帧图像;
识别所述图像帧序列中的各帧图像的帧类型,所述图像帧序列中除首帧图像和尾帧图像以外的其他帧图像的帧类型均采用如权利要求1-13任一项所述的图像识别方法识别得到;所述帧类型包括以下任一种:有效帧、重叠帧或者重复帧,所述有效帧是指所述图像帧序列中非重复且非重叠的帧;
从所述图像帧序列中过滤掉帧类型为所述重叠帧和所述重复帧的帧图像,并对过滤后的图像帧序列进行插帧转码,得到转码数据;
在客户端的播放界面中,根据所述转码数据播放所述目标视频。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有一条或多条第一指令,所述一条或多条第一指令适于由处理器加载并执行如权利要求1-13任一项所述的图像识别方法;或者,所述计算机存储介质存储有一条或多条第二指令,所述一条或多条第二指令适于由处理器加载并执行如权利要求14所述的视频播放方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010390453.5A CN111310744B (zh) | 2020-05-11 | 2020-05-11 | 图像识别方法、视频播放方法、相关设备及介质 |
PCT/CN2021/085799 WO2021227704A1 (zh) | 2020-05-11 | 2021-04-07 | 图像识别方法、视频播放方法、相关设备及介质 |
EP21805043.3A EP4030341A4 (en) | 2020-05-11 | 2021-04-07 | IMAGE RECOGNITION METHOD, VIDEO PLAYBACK METHOD, RELATED DEVICE AND MEDIA |
US17/708,419 US20220270365A1 (en) | 2020-05-11 | 2022-03-30 | Image recognition method, video playback method, related devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010390453.5A CN111310744B (zh) | 2020-05-11 | 2020-05-11 | 图像识别方法、视频播放方法、相关设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111310744A CN111310744A (zh) | 2020-06-19 |
CN111310744B true CN111310744B (zh) | 2020-08-11 |
Family
ID=71161141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010390453.5A Active CN111310744B (zh) | 2020-05-11 | 2020-05-11 | 图像识别方法、视频播放方法、相关设备及介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220270365A1 (zh) |
EP (1) | EP4030341A4 (zh) |
CN (1) | CN111310744B (zh) |
WO (1) | WO2021227704A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111310744B (zh) * | 2020-05-11 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 图像识别方法、视频播放方法、相关设备及介质 |
CN112016440B (zh) * | 2020-08-26 | 2024-02-20 | 杭州云栖智慧视通科技有限公司 | 一种基于多目标跟踪的目标推送方法 |
CN114419471B (zh) * | 2022-03-29 | 2022-08-30 | 北京云迹科技股份有限公司 | 一种楼层识别方法、装置、电子设备及存储介质 |
CN114549371B (zh) * | 2022-04-26 | 2022-09-09 | 中国科学技术大学 | 图像分析方法及装置 |
CN115497487A (zh) * | 2022-09-09 | 2022-12-20 | 维沃移动通信有限公司 | 音频信号处理方法、装置、电子设备及可读存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU3051299A (en) * | 1998-03-31 | 1999-10-18 | Mate - Media Access Technologies Ltd. | Method of selecting key-frames from a video sequence |
US7596277B2 (en) * | 2002-04-09 | 2009-09-29 | Senthil Govindaswamy | Apparatus and method for detecting error in a digital image |
US8879856B2 (en) * | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Content driven transcoder that orchestrates multimedia transcoding using content information |
US7664336B2 (en) * | 2006-01-26 | 2010-02-16 | Microsoft Corporation | Video noise reduction |
JP2009532741A (ja) * | 2006-04-03 | 2009-09-10 | クゥアルコム・インコーポレイテッド | 顕微鏡スライド自動読み取りシステム |
US7756296B2 (en) * | 2007-03-27 | 2010-07-13 | Mitsubishi Electric Research Laboratories, Inc. | Method for tracking objects in videos using forward and backward tracking |
CN102131058B (zh) * | 2011-04-12 | 2013-04-17 | 上海理滋芯片设计有限公司 | 高清数字视频帧速率变换处理模块及其方法 |
CN103747270B (zh) * | 2013-12-19 | 2017-01-11 | 中山大学 | 一种胶囊内窥镜视频图像的去冗余方法及系统 |
CN106650551A (zh) * | 2015-10-30 | 2017-05-10 | 国网山西省电力公司电力科学研究院 | 一种基于先验知识的高压断路器动触头运动轨迹实时识别方法 |
KR20170133909A (ko) * | 2016-05-27 | 2017-12-06 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
CN110392282B (zh) * | 2018-04-18 | 2022-01-07 | 阿里巴巴(中国)有限公司 | 一种视频插帧的方法、计算机存储介质及服务器 |
CN110515452B (zh) * | 2018-05-22 | 2022-02-22 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、存储介质和计算机设备 |
CN109272509B (zh) * | 2018-09-06 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种连续图像的目标检测方法、装置、设备及存储介质 |
CN109543581A (zh) * | 2018-11-15 | 2019-03-29 | 北京旷视科技有限公司 | 图像处理方法、图像处理装置以及非易失性存储介质 |
CN109803175B (zh) * | 2019-03-12 | 2021-03-26 | 京东方科技集团股份有限公司 | 视频处理方法及装置、设备、存储介质 |
CN110933428B (zh) * | 2019-10-17 | 2023-03-17 | 西安万像电子科技有限公司 | 图像处理方法及装置 |
CN111310744B (zh) * | 2020-05-11 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 图像识别方法、视频播放方法、相关设备及介质 |
-
2020
- 2020-05-11 CN CN202010390453.5A patent/CN111310744B/zh active Active
-
2021
- 2021-04-07 EP EP21805043.3A patent/EP4030341A4/en active Pending
- 2021-04-07 WO PCT/CN2021/085799 patent/WO2021227704A1/zh unknown
-
2022
- 2022-03-30 US US17/708,419 patent/US20220270365A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
CN111310744A (zh) | 2020-06-19 |
EP4030341A4 (en) | 2023-01-25 |
US20220270365A1 (en) | 2022-08-25 |
WO2021227704A1 (zh) | 2021-11-18 |
EP4030341A1 (en) | 2022-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111310744B (zh) | 图像识别方法、视频播放方法、相关设备及介质 | |
US10819994B2 (en) | Image encoding and decoding methods and devices thereof | |
CN110751649B (zh) | 视频质量评估方法、装置、电子设备及存储介质 | |
TW200803521A (en) | Randomly sub-sampled partition voting (RSPV) algorithm for scene change detection | |
WO2023005140A1 (zh) | 视频数据处理方法、装置、设备以及存储介质 | |
CN113965751B (zh) | 屏幕内容编码方法、装置、设备及存储介质 | |
US20150117515A1 (en) | Layered Encoding Using Spatial and Temporal Analysis | |
CN114982227A (zh) | 使用机器学习基于预测的视觉质量为视频播放器的最优格式选择 | |
CN112330541A (zh) | 直播视频处理方法、装置、电子设备和存储介质 | |
CN115022679B (zh) | 视频处理方法、装置、电子设备和介质 | |
WO2019004749A1 (ko) | 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치 | |
WO2021092821A1 (en) | Adaptively encoding video frames using content and network analysis | |
Luo et al. | Masked360: Enabling robust 360-degree video streaming with ultra low bandwidth consumption | |
US11575871B2 (en) | Method and apparatus for streaming multi-view 360 degree video | |
US20220327663A1 (en) | Video Super-Resolution using Deep Neural Networks | |
CN111861877A (zh) | 视频超分变率的方法和装置 | |
US20220377342A1 (en) | Video encoding and video decoding | |
CN114827666A (zh) | 视频处理方法、装置及设备 | |
CN114781622A (zh) | 图像处理方法和装置、视频处理方法和装置 | |
US11323730B2 (en) | Temporally-overlapped video encoding, video decoding and video rendering techniques therefor | |
US20240070806A1 (en) | System and method for transmission and receiving of image frames | |
CN116996695B (zh) | 一种全景图像压缩方法、装置、设备及介质 | |
US20230044969A1 (en) | Video matting | |
WO2022250397A1 (en) | Methods and apparatus for processing of high-resolution video content | |
Fang et al. | Design of Tile-Based VR Transcoding and Transmission System for Metaverse |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40025236 Country of ref document: HK |