CN112181657B - 视频处理方法、装置、电子设备及存储介质 - Google Patents

视频处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112181657B
CN112181657B CN202011059057.0A CN202011059057A CN112181657B CN 112181657 B CN112181657 B CN 112181657B CN 202011059057 A CN202011059057 A CN 202011059057A CN 112181657 B CN112181657 B CN 112181657B
Authority
CN
China
Prior art keywords
video
task
enhancer
enhancement
data processing
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
CN202011059057.0A
Other languages
English (en)
Other versions
CN112181657A (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.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group 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 BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to CN202011059057.0A priority Critical patent/CN112181657B/zh
Publication of CN112181657A publication Critical patent/CN112181657A/zh
Priority to US17/407,145 priority patent/US11915058B2/en
Application granted granted Critical
Publication of CN112181657B publication Critical patent/CN112181657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供的一种视频处理方法、装置、电子设备及存储介质,应用于计算机技术领域,所述方法包括:获取待处理的视频数据;生成所述待处理的视频数据中各视频帧对应的视频增强任务,所述视频增强任务包括多种视频增强子任务;通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,单个线程对应执行一种视频增强子任务。本方案通过多线程并发的方式来实现对视频数据进行处理,可以同时对多个视频帧按照不同的视频增强方式进行处理,提高了数据处理资源的利用率,从而提高了视频增强的效率,使得用户通过数据处理能力较弱的电子设备也可以获取到更高质量视频。

Description

视频处理方法、装置、电子设备及存储介质
技术领域
本申请属于计算机技术领域,特别是涉及一种视频处理方法、装置、电子设备及存储介质。
背景技术
随着信息技术的发展,用户可通过其手机、平板、笔记本等电子设备来获取各种各样的数据,其中对于更高质量视频的需求也与日俱增。
虽然在先技术中已经存在例如去燥、超分以及模型处理等类型的视频增强方式,但是由于用户的电子设备往往数据处理能力有限,因此无法高效地对视频采用多种视频增强方式进行处理,限制了用户通过数据处理能力较低的电子设备获取到的视频质量。
发明内容
本申请提供一种视频处理方法、装置、电子设备及存储介质,以解决现有技术中对于数据处理能力有限的电子设备无法充分利用数据处理资源来进行视频增强,限制了用户可获取的视频的质量的问题。
有鉴于此,本申请第一方面提供一种视频处理方法,应用于电子设备,所述方法包括:
获取待处理的视频数据;
生成所述待处理的视频数据中各视频帧对应的视频增强任务,所述视频增强任务包括多种视频增强子任务;
通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,单个线程对应执行一种视频增强子任务。
依据本申请第二方面提供一种视频处理装置,应用于电子设备,所述装置包括:
获取模块,被配置为获取待处理的视频数据;
任务生成模块,被配置为生成所述待处理的视频数据中各视频帧对应的视频增强任务,所述视频增强任务包括多种视频增强子任务;
任务执行模块,被配置为通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,单个线程对应执行一种视频增强子任务。
依据本申请第三方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的视频处理方法。
依据本申请第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的视频处理方法。
针对现有技术,本申请具备如下优点:
本申请提供的一种视频处理方法、装置、电子设备及存储介质,通过多线程并发的方式来实现对视频数据进行处理,可以同时对多个视频帧按照不同的视频增强方式进行处理,提高了数据处理资源的利用率,从而提高了视频增强的效率,使得用户通过数据处理能力较弱的电子设备也可以获取到更高质量视频。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅被配置为示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本申请实施例提供的一种视频处理方法的步骤流程图;
图2是本申请实施例提供的一种视频增强任务分配方法的步骤流程图;
图3是本申请实施例提供的一种任务分块方法的步骤流程图;
图4是本申请实施例提供的一种视频处理方法的效果示意图;
图5是本申请实施例提供的一种分块尺寸的确定方法的步骤流程图;
图6是本申请实施例提供的另一种视频增强任务分配方法的步骤流程图;
图7是本申请实施例提供的另一种视频处理方法的效果示意图;
图8是本申请实施例提供的又一种视频增强任务分配方法的步骤流程图;
图9是本申请实施例提供的一种变量同步方法的步骤流程图;
图10是本申请实施例提供的再一种视频增强任务分配方法的步骤流程图;
图11是本申请实施例提供的一种视频处理装置的结构框图;
图12是本申请实施例提供的一种电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
图1是本申请实施例提供的一种视频处理方法的步骤流程图,所述方法包括:
步骤101,获取待处理的视频数据。
在本申请实施例中,待处理的视频数据是指需要进行视频增强的视频数据,可以是系统从本地获取的,也可以是系统从异地获取的,具体可以根据实际需求确定,此处不做限定。
适应于用户对于高视频质量的需求,用户可以在视频制作完成后,或者视频需要进行播放时通过指定待处理的视频数据来进行视频增强。
步骤102,生成所述待处理的视频数据中各视频帧对应的视频增强任务,所述视频增强任务包括多种视频增强子任务。
在本申请实施例中,视频增强任务是指为提高待处理的视频数据的视频质量,需要对该待处理的视频数据进行的视频增强处理过程所执行的任务,该视频增强任务可以由多种视频增强子任务,可以理解,为了获得更高质量的视频数据,可以对该待处理的视频数据通过多种处理方式进行视频增强。
步骤103,通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,单个线程对应执行一种视频增强子任务。
在本申请实施例中,多线程并发的方式是指通过针对不同视频增强子任务的多个线程,以同时执行多个视频帧的多种视频增强子任务,并且不同视频帧的同一视频增强子任务可以通过设置多个线程并发执行。
为了提高视频增强的效率,可以通过设置多个线程来同时执行多个视频帧的视频增强子任务,其中多个线程可以按照视频增强子任务的执行顺序设置,每个视频帧的在同一时间可以只在一个线程上执行一种视频增强子任务,而一个视频帧的在上一个线程上执行完上一种视频增强子任务后,将会交由下一个线程执行下一种视频增强子任务,而该上一个线程将继续执行另一个视频帧的上一种视频增强子任务,从而使得多线程以流水线的形式对视频数据中的每个视频帧进行视频增强,相较于现有技术中在每个视频帧的所有视频增强过程执行完之后才会执行下一个视频帧的视频增强过程,对于数据处理资源的利用更为充分,数据处理资源的闲置时间更少。这种方式尤其适用于移动终端、个人电脑、笔记本等数据处理能力较差的电子设备,可以有效提高数据处理资源的利用率和视频增强的效率。
本申请提供的一种视频处理方法,本方案通过多线程并发的方式来实现对视频数据进行处理,可以同时对多个视频帧按照不同的视频增强方式进行处理,提高了数据处理资源的利用率,从而提高了视频增强的效率,使得用户通过数据处理能力较弱的电子设备也可以获取到更高质量视频。
图2是本申请实施例提供的另一种视频处理方法的步骤流程图,所述方法包括:
步骤201,获取待处理的视频数据。
该步骤可参照步骤101的详细描述,此处不再赘述。
步骤202,生成所述待处理的视频数据中各视频帧对应的视频增强任务,所述视频增强任务包括多种视频增强子任务。
该步骤可参照步骤102的详细描述,此处不再赘述。
可选的,所述视频增强子任务包括:视频解析子任务、人工智能视频增强子任务、传统视频增强子任务和视频显示子任务。
步骤203,通过多线程并发的方式同时执行多个所述视频的至少四个不同种的视频增强子任务,其中,每个所述视频帧的视频解析子任务、人工智能视频增强子任务、传统视频增强子任务和视频显示子任务,依次执行。
在本申请实施例中,视频解析子任务是指通过解析待处理的视频数据来获取视频数据的时间戳及关键帧的源数据,从而可以将待处理的视频数据拆分成视频帧以为后续视频增强过程做准备,当然解析过程还可以有格式转换等类型的处理过程,具体可以根据实际需求确定,此处不做限定。
人工智能视频增强子任务是指通过深度学习模型对待处理的视频数据进行视频增强的任务,深度学习模型可以是现有具有视频增强功能的任意模型,具体种类可以根据实际需求确定,此处不做限定。
传统视频增强子任务是指通过现有技术中除通过深度学习模型来进行视频增强的方式以外的视频增强方式,例如去燥、色度优化等,具体可以根据实际需求确定,此处不做限定。
视频显示子任务是指对视频增强后的视频数据通过电子设备进行输出,以显示视频增强后的视频数据。
在实际应用中,可以设置至少四个线程分别负责执行一种上述视频增强子任务,并且该四个线程可以同时执行四个视频帧的四种视频增强子任务,具体的,由于上述视频增强子任务的执行顺序,因此单个视频帧只能同一时间执行一种视频增强子任务,在执行完成之后才能执行下一种视频增强子任务,因此在同一时间点,单个视频帧只能在一个线程上执行一种视频增强子任务,而其他的线程可以执行其他视频帧的其他种视频增强子任务,例如:存在分别用于执行上述四种视频增强子任务的四个线程A、B、C、D,以及四个视频帧1、2、3、4,在同一时间点,视频帧4已经完成线程A、B、C所负责的视频增强子任务,因此正在执行线程D的视频显示子任务,依次类推,线程C上在执行视频帧3的视频传统增强子任务,线程B在执行视频帧2的人工智能视频增强子任务,线程A在执行视频帧1的视频解析子任务。
可选的,所述电子设备包括:第一数据处理芯片和第二数据处理芯,所述步骤203,可以包括:
子步骤2031,在执行所述人工智能视频增强子任务时,为所述第一数据处理芯片和所述第二数据处理芯片分配至少一个视频帧的人工智能视频增强子任务,以在所述第一数据处理芯片和所述第二数据处理芯片上运行所述人工智能视频增强子任务的线程。
在本申请实施例中,第一数据处理芯片和第二数据处理芯片是指CPU(CentralProcessing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)或者NPU(Neural-network Processing Units,嵌入式神经网络处理器)等数据处理设备中的数据处理芯片,第一数据处理芯片和第二数据处理芯片可以是设置在同一数据处理设备上数据处理芯片,当然可以是设置在不同数据处理设备上的数据处理芯片,具体可以根据实际需求确定,此处不做限定。
在实际应用中,现有是数据处理芯片例如CPU,为了提高数据处理能力,通常会设置有用于处理不同类型数据的多个数据处理芯片,例如设置有GPU和NPU或者其他类型的数据处理芯片。对于这种数据处理设备,可以通过将视频帧的人工智能视频增强子任务分配给第一数据处理芯片和第二数据处理芯片进行处理,虽然不同的数据处理芯片的处理能力不同,但是这种方式可以充分利用数据处理设备的处理资源,从而提高数据处理资源的利用率,当然也相应提高了视频增强的效率。
可选的,参照图3,所述子步骤2032,包括:
子步骤20311,根据目标分块尺寸,将所述视频帧的人工智能视频增强子任务划分为多个分块任务。
在本申请实施例中,目标分块尺寸是指对待处理的视频数据进行划分的每个分块的尺寸,可以是人工设置的,也可以是根据实验测得的。分局任务是指视频帧的部分视频帧的人工智能视频增强子任务。
为了提高视频帧的人工智能视频增强任务的执行效率,可以将单一视频帧的人工智能视频增强子任务按照目标分块尺寸进行划分成多个分块任务。
子步骤20312,为所述第一数据处理芯片和所述第二数据处理芯片分配至少一个视频帧的所述多个分块任务。
在本申请实施例中,由于人工智能视频增强子任务所需的数据处理资源是和视频帧的尺寸成正相关,因此本申请实施例通过依据目标分块尺寸将视频帧的人工智能视频增强子任务进行分块后,分配给第一数据处理芯片和第二数据处理芯片来协同对同一个视频帧的人工智能视频增强子任务进行执行。
示例性的,参照图4示出本申请实施例提供的一种视频处理方法的效果示意图,其中存在四个线程分别用于执行视频解析子任务、人工智能视频增强子任务、传统视频增强子任务以及视频显示子任务。
在第一个线程执行第M+3帧的视频解析子任务时,第二个线程可以执行第M+2帧的人工智能视频增强子任务划分为四个分块任务交由四个数据处理芯片进行处理,第三个线程可以执行第M+1帧的传统视频增强子任务,第四线程可以执行第M帧的视频显示子任务。
由于通常数据处理能力较低的数据处理设备中的数据处理芯片的数据处理能力有限,因此若直接由一个数据处理芯片来执行整个视频帧的人工智能视频增强子任务所需的会比较长,从而使得视频增强的整个过程耗时较长,因此本申请实施例通过将单一视频帧的人工智能视频增强子任务按照尺寸划分成多个分块任务交由多个数据处理芯片同时执行,可以有效缩短执行单个视频帧的人工智能视频增强子任务所需的时长,从而提高了视频增强的整体执行效率,实现了视频增强的实时输出。
可选的,参照图5,在所述步骤20311之前,还包括:
子步骤20313,利用单个视频帧的尺寸量化所述第一数据处理芯片和第二数据处理芯片中的数据模型。
在本申请实施例中,数据模型是指数据处理芯片中用于数据处理的模型。通常在对视频帧进行处理前,需要依据该视频帧的尺寸对数据处理芯片中的数据模型进行量化,从而才能使得数据处理芯片的数据模型适用于该视频帧。
子步骤20314,获取量化数据模型后的第一数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第一处理时间,以及量化数据模型后的第二数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第二处理时间。
在本申请实施例中,在通过首先利用全尺寸的单个视频帧量化两种视频处理芯片的数据处理模型后,可以分别获取每种数据处理芯片处理单个视频帧的人工智能视频增强子任务的第一处理时间和第二处理时间。
子步骤20315,根据所述第二处理时间和所述第一处理时间的比值,对所述单个视频帧进行划分,得到第一子视频帧和第二子视频帧。
在本申请实施例中,由于不同数据处理芯片的数据处理能力不同,为了保证数据处理芯片完成同一视频帧的分块任务的时间差较短,因此需要依据不同数据处理芯片的数据处理能力来确定对视频帧的人工智能视频增强子任务进行分块的目标分块尺寸。
由于第一处理时间和第二处理时间分别是第一数据处理芯片和第二数据处理芯片处理相同尺寸的视频帧的人工智能视频增强子任务所需的时间,因此所用时间越短,数据处理越强,反之越弱。为了保证两种视频处理芯片可以同时输出同一视频帧的分块任务,且由于处理时间是分块任务中视频帧的尺寸成负相关,因此可以根据第二处理时间和第一处理时间的比值来对视频帧分块成第一子视频帧和第二子视频帧。
子步骤20316,利用所述第一子视频帧的尺寸重新量化所述第一数据处理芯片中的数据模型,以及利用所述第二子视频帧的尺寸重新量化所述第二数据处理芯片中的数据模型。
子步骤20317,获取重新量化后数据模型后的所述第一数据处理芯片和第二数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第三处理时间和第四处理时间。
在本申请实施例中,为了验证划分后的第一子视频帧和第二子视频帧是否符合时间差的需求,因此依据划分后的第一子视频帧和第二子视频帧的尺寸分别重新量化第一数据处理芯片和第二数据处理芯片的数据模型,然后获取重新量化数据模型后的两种数据处理芯片处理单个视频帧所需的第三处理时间和第四处理时间。
子步骤20318,在所述第三处理时间和第四处理时间之间的差距小于时间差阈值时,则将所述第一子视频帧的尺寸按照所述第一数据处理芯片的数量进行均分,以及将所述第二子视频帧的尺寸按照所述第二数据处理芯片的数量进行均分,得到目标分块尺寸。
在本申请实施例中,时间差阈值是指可以第一处理时间和第二处理时间所允许的最大时间差。若第三处理时间和第四处理时间之间的时间差距小于时间差阈值,则表明当前第一子视频帧和第二子视频帧的尺寸下两个数据处理芯片的处理单个视频帧的分块任务是符合时差需求的,因此可以将第一子视频帧和第二子视频帧的尺寸作为后续进行分块的目标分块尺寸。
子步骤20319,在所述第三处理时间和第四处理时间之间的差距大于或等于时间差阈值时,则根据所述第一子视频帧的尺寸、所述第三处理时间与所述第一子视频帧的尺寸、所述第四处理时间之间的比值,对所述单个视频帧进行重新分块,得到第三子视频帧和第四子视频帧。
在本申请实施例中,若果第三处理时间和第四处理时间的差距大于或等于时间差阈值,则需要对视频帧进行重新分块。具体可以采用下述公式(1)来进行分块:
w3/w4=(w1*t3)/(w2*t4) (1)
其中,w3为第三子视频帧的尺寸,w4为第四子视频帧的尺寸,t3为第三处理时间,t4为第四处理时间。
子步骤20320,利用第三子视频帧和第四子视频帧重新执行获取目标分块尺寸的过程。
在本申请实施例中,将第三子视频帧作为第一子视频帧,以及将第四子视频帧作为第二子视频帧,重新进入所述子步骤20326。
本申请实施例通过依据两种数据处理芯片处理视频帧的时间来确定划分人工智能视频增强子任务的目标分块尺寸,从而一定程度上避免了不同数据处理芯片在同一视频帧的分块任务所需时间之间的时间差,使得数据处理芯片需要等待的时间尽量减小,提高了数据处理资源的利用率。
可选的,所述电子设备包括:设置有多个计算棒的主板,用于运行所述第二线程,参照图6,所述步骤203,可以包括:
子步骤2032,在执行所述人工智能视频增强子任务时,按照预设时间间隔轮训所述多个计算棒,确定是否存在空闲的计算棒。
在本申请实施例中,主板是具有数据处理框架的电路板,计算棒是具有数据处理能力的数据处理设备,通过将计算棒设置在主板上可以扩充所述主板所连接电子设备的数据处理能力。预设时间间隔是指两次轮训过程之间的间隔时间。
在实际应用中,在视频帧被解码后,通过轮训的方式依次查询多个计算棒中是否存在空闲的计算棒,若没有空闲的计算棒,则将该视频帧的人工智能视频增强子任务挂起。
子步骤2033,在存在所述空闲的计算棒时,则将所述人工智能视频增强子任务分配给所述空闲的计算棒,以在所述多个计算棒上运行所述人工智能视频增强子任务的线程。
在本申请实施例中,视频帧的人工智能视频增强子任务在挂起后,在预设时间间隔后继续在多个计算棒中进行轮训,当查询到空闲的计算棒后将该该人工智能视频增强子任务分配给空闲的计算棒。
示例性的,参照图7示出本申请实施例提供的另一种视频处理方法的效果示意图,其中在第一个线程正在执行第N+4帧的视频解析子任务的同时,第二个线程可以执行第N+3、N+2、N+1帧的人工智能视频增强子任务,第三个线程可以执行第N视频帧的传统视频增强子任务,第四个线程可以执行第N-1视频帧的视频显示子任务。
这种方式使得多个计算棒可以同时执行多个视频帧的人工智能视频增强子任务,相较于现有技术中在整个视频帧的所有视频增强任务执行完成后才进行下一个视频帧的视频增强任务的方式而言,有效提高了数据处理资源的利用率,相应也提高了视频增强的效率。
可选的,所述多线程依次执行,参照图8,所述步骤203,可以包括:
子步骤2034,在上一个线程执行完单个视频帧的上一种视频增强子任务时,则按照变量同步规则将所述上一个线程的同步变量由第一同步变量变更为第二同步变量。
在本申请实施例中,变量同步规则是指每个线程之间同步变量的变更规则。多个线程所负责的视频增强子任务由于有执行顺序,所以需要保证各个线程之间的时间同步,以使得各线程负责的视频增强子任务可以有序执行。本申请实施例通过引入同步变量,来使得各个线程之间相互同步流程。
子步骤2035,在所述上一个线程的同步变量为第二同步变量时,则将所述上一个线程中所述上一种视频增强子任务的执行结果发送给下一个线程,并将所述下一个线程的同步变量变更为所述第二同步变量,以使得所述下一个线程执行所述视频帧的下一种视频增强子任务。
参照图9,可通过以下步骤S1至S7来依据同步变量进行实现各个线程之间的同步:
步骤S1,等待第一同步变量可读,既等待上一个线程处理结束将结果赋值给第一同步变量;
步骤S2,从第一同步变量中取值;
步骤S3,将第一同步变量作为第二同步变量,既告诉上一个线程可以给第二同步变量赋值了;
步骤S4,当前线程执行当前视频增强子任务;
步骤S5,等待第三同步变量可写,既等待下一个线程将第二同步变量的上一个值取走;
步骤S6,将第二同步变量赋值给第三同步变量;
步骤S7,释放第三同步变量可读,既告诉下一个线程可以取走第三同步变量的值了。
可见,本申请实施例通过以上的方式可以使得相邻线程之间可以知道何时从上一个线程中获取执行结果来执行视频增强子任务,多个视频帧的视频增强子任务可以被有序地执行。
可选的,所述多线程依次执行,参照图10,所述步骤203,可以包括:
子步骤2036,在执行所述人工智能视频增强子任务时,将所述第一执行结果的像素值按照归一化规则进行处理,得到归一化数据。
在本申请实施例中,归一化规则是指将输入的RGB(Red Green Blue,一种使用红绿蓝的颜色标准)格式的视频数据的像素值从0~255映射到0~1之间,得到归一化数据
子步骤2037,将所述归一化数据输入至视频增强模型,得到视频增强数据。
在本申请实施例中,归一化数据可以交由负责处理人工智能视频增强子任务的线程来通过视频增强模型进行处理。
子步骤2038,将所述视频增强数据的像素值按照反归一化规则进行处理。
在本申请实施例中,反归一化规则是指将视频增强模型输出的实数形式的视频增强数据映射阶段到0~255之间,即加设输出的每一个实数为3,则对应的每个像素值p为255*e,如p大于255则p等于255,若p小于0,则p等于0。
当然上述步骤2037至2039是可以通过多线程并发的执行,以提高数据处理效率。
可选的,所述多线程依次执行,所述步骤203,可以包括:在执行所述传统视频增强子任务时,对所述第二处理结果通过以下至少一种方式进行视频增强:平滑度增强、真实性增强、细节增强、对比度和亮度增强、尺寸调整。
在本申请实施例中,平滑度增强是通过高斯模糊技术对视频数据中瑞华过强的图像进行处理,使得图像效果更加平滑;
真实性增强是将处理结果与原图像比例相加,以使得相加后的视频数据中的图像更加接近实际画质;
细节增强是通过将高斯模糊后的视频图像与原视频图像相减来得到图像的高频信息,然后将高频信息乘以高频系数,最后加上原视频图像来增强视频图像的细节;
对比度和亮度增强是指通过将视频图像的像素值归一化到0~1,然后通过如下公式(2)进行处理来增强视频图像的对比度和亮度:
p2=p1^contrast+bright (2)
其中p2是指处理后视频图像的像素值,p1是指原视频图像的像素值,contrast为对比度系数,bright为亮度系数。
尺寸调整是指将视频图像按照输出要求进行拉升处理,例如拉升到720p或者转化视频格式。
当然上述多种传统视频增强子任务也可以是通过多线程并发的方式执行,以提高数据处理的效率。
本申请实施例通过在人工智能视频增强子任务之后通过传统视频增强子任务进一步提高了视频增强后的视频质量。
本申请提供的另一种视频处理方法,本方案通过多线程并发的方式来实现对视频数据进行处理,可以同时对多个视频帧按照不同的视频增强方式进行处理,提高了数据处理资源的利用率,从而提高了视频增强的效率,使得用户通过数据处理能力较弱的电子设备也可以获取到更高质量视频。并且还通过采用轮训或者分块的方式来对人工智能视频增强子任务进行处理资源的分配,进一步提高了数据处理资源的利用率,提高了视频增强的效率。
图11是本申请实施例提供的一种视频处理装置的结构框图,所述装置包括:
获取模块301,被配置为获取待处理的视频数据;
任务生成模块302,被配置为生成所述待处理的视频数据中各视频帧对应的视频增强任务,所述视频增强任务包括多种视频增强子任务;
任务执行模块303,被配置为通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,单个线程对应执行一种视频增强子任务。
可选的,所述视频增强子任务包括:视频解析子任务、人工智能视频增强子任务、传统视频增强子任务和视频显示子任务;
所述任务执行模块303,还被配置为:
通过多线程并发的方式同时执行多个所述视频的至少四个不同种的视频增强子任务,其中,每个所述视频帧的视频解析子任务、人工智能视频增强子任务、传统视频增强子任务和视频显示子任务,依次执行。
可选的,所述电子设备包括:第一数据处理芯片和第二数据处理芯片;
所述任务执行模块303,还被配置为:
在执行所述人工智能视频增强子任务时,为所述第一数据处理芯片和所述第二数据处理芯片分配至少一个视频帧的人工智能视频增强子任务,以在所述第一数据处理芯片和所述第二数据处理芯片上运行所述人工智能视频增强子任务的线程。
所述任务执行模块303,还被配置为:
根据目标分块尺寸,将所述视频帧的人工智能视频增强子任务划分为多个分块任务;
为所述第一数据处理芯片和所述第二数据处理芯片分配至少一个视频帧的所述多个分块任务。
所述任务执行模块303,还被配置为:
利用单个视频帧的尺寸量化所述第一数据处理芯片和第二数据处理芯片中的数据模型;
获取量化数据模型后的第一数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第一处理时间,以及量化数据模型后的第二数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第二处理时间;
根据所述第二处理时间和所述第一处理时间的比值,对所述单个视频帧进行划分,得到第一子视频帧和第二子视频帧;
利用所述第一子视频帧的尺寸重新量化所述第一数据处理芯片中的数据模型,以及利用所述第二子视频帧的尺寸重新量化所述第二数据处理芯片中的数据模型;
获取重新量化后数据模型后的所述第一数据处理芯片和第二数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第三处理时间和第四处理时间;
在所述第三处理时间和第四处理时间之间的差距小于时间差阈值时,则将所述第一子视频帧的尺寸按照所述第一数据处理芯片的数量进行均分,以及将所述第二子视频帧的尺寸按照所述第二数据处理芯片的数量进行均分,得到目标分块尺寸。
所述任务执行模块303,还被配置为:
在所述第三处理时间和第四处理时间之间的差距大于或等于时间差阈值时,则根据所述第一子视频帧的尺寸、所述第三处理时间与所述第一子视频帧的尺寸、所述第四处理时间之间的比值,对所述单个视频帧进行重新分块,得到第三子视频帧和第四子视频帧;
利用第三子视频帧和第四子视频帧重新执行获取目标分块尺寸的过程。
可选的,所述电子设备包括:设置有多个计算棒的主板,用于运行所述第二线程;
所述任务执行模块303,还被配置为:
在执行所述人工智能视频增强子任务时,按照预设时间间隔轮训所述多个计算棒,确定是否存在空闲的计算棒;
在存在所述空闲的计算棒时,则将所述人工智能视频增强子任务分配给所述空闲的计算棒,以在所述多个计算棒上运行所述人工智能视频增强子任务的线程。
可选的,所述多线程依次执行;
所述任务执行模块303,还被配置为:
在上一个线程执行完单个视频帧的上一种视频增强子任务时,则按照变量同步规则将所述上一个线程的同步变量由第一同步变量变更为第二同步变量;
在所述上一个线程的同步变量为第二同步变量时,则将所述上一个线程中所述上一种视频增强子任务的执行结果发送给下一个线程,并将所述下一个线程的同步变量变更为所述第二同步变量,以使得所述下一个线程执行所述视频帧的下一种视频增强子任务。
所述任务执行模块303,还被配置为:
在执行所述人工智能视频增强子任务时,将所述第一执行结果的像素值按照归一化规则进行处理,得到归一化数据;
将所述归一化数据输入至视频增强模型,得到视频增强数据;
将所述视频增强数据的像素值按照反归一化规则进行处理。
所述任务执行模块303,还被配置为:
在执行所述传统视频增强子任务时,对所述第二处理结果通过以下至少一种方式进行视频增强:平滑度增强、真实性增强、细节增强、对比度和亮度增强、尺寸调整。
本申请提供的一种视频处理装置,本方案通过多线程并发的方式来实现对视频数据进行处理,可以同时对多个视频帧按照不同的视频增强方式进行处理,提高了数据处理资源的利用率,从而提高了视频增强的效率,使得用户通过数据处理能力较弱的电子设备也可以获取到更高质量视频。
对于上述系统的实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种电子设备,如图12所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,
存储器403,被配置为存放计算机程序;
处理器401,被配置为执行存储器403上所存放的程序时,被配置为实现上述图1至图10所示的视频处理方法。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口被配置为上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频处理方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的视频处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非被配置为限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (11)

1.一种视频处理方法,其特征在于,应用于电子设备,所述方法包括:
获取待处理的视频数据;
生成所述待处理的视频数据中各视频帧对应的视频增强任务,所述视频增强任务包括多种视频增强子任务;
通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,单个线程对应执行一种视频增强子任务;
其中,所述视频增强子任务包括:视频解析子任务、人工智能视频增强子任务、传统视频增强子任务和视频显示子任务;
所述通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,包括:
通过多线程并发的方式同时执行多个所述视频的至少四个不同种的视频增强子任务,其中,每个所述视频帧的视频解析子任务、人工智能视频增强子任务、传统视频增强子任务和视频显示子任务,依次执行;
其中,所述电子设备包括:设置有多个计算棒的主板,用于运行第二线程;
所述通过多线程并发的方式同时执行多个所述视频的至少四个不同种的视频增强子任务,包括:
在执行所述人工智能视频增强子任务时,按照预设时间间隔轮训所述多个计算棒,确定是否存在空闲的计算棒;
在存在所述空闲的计算棒时,则将所述人工智能视频增强子任务分配给所述空闲的计算棒,以在所述多个计算棒上运行所述人工智能视频增强子任务的线程。
2.根据权利要求1所述的方法,其特征在于,所述电子设备包括:第一数据处理芯片和第二数据处理芯片;
所述通过多线程并发的方式同时执行多个所述视频的至少四个不同种的视频增强子任务,包括:
在执行所述人工智能视频增强子任务时,为所述第一数据处理芯片和所述第二数据处理芯片分配至少一个视频帧的人工智能视频增强子任务,以在所述第一数据处理芯片和所述第二数据处理芯片上运行所述人工智能视频增强子任务的线程。
3.根据权利要求2所述的方法,其特征在于,所述为所述第一数据处理芯片和所述第二数据处理芯片分配至少一个视频帧的人工智能视频增强子任务,包括:
根据目标分块尺寸,将所述视频帧的人工智能视频增强子任务划分为多个分块任务;
为所述第一数据处理芯片和所述第二数据处理芯片分配至少一个视频帧的所述多个分块任务。
4.根据权利要求3所述的方法,其特征在于,在所述根据目标分块尺寸,将所述视频帧的人工智能视频增强子任务划分为多个分块任务之前,所述方法还包括:
利用单个视频帧的尺寸量化所述第一数据处理芯片和第二数据处理芯片中的数据模型;
获取量化数据模型后的第一数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第一处理时间,以及量化数据模型后的第二数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第二处理时间;
根据所述第二处理时间和所述第一处理时间的比值,对所述单个视频帧进行划分,得到第一子视频帧和第二子视频帧;
利用所述第一子视频帧的尺寸重新量化所述第一数据处理芯片中的数据模型,以及利用所述第二子视频帧的尺寸重新量化所述第二数据处理芯片中的数据模型;
获取重新量化后数据模型后的所述第一数据处理芯片和第二数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第三处理时间和第四处理时间;
在所述第三处理时间和第四处理时间之间的差距小于时间差阈值时,则将所述第一子视频帧的尺寸按照所述第一数据处理芯片的数量进行均分,以及将所述第二子视频帧的尺寸按照所述第二数据处理芯片的数量进行均分,得到目标分块尺寸。
5.根据权利要求4所述的方法,其特征在于,在所述获取重新量化后数据模型后的所述第一数据处理芯片和第二数据处理芯片执行所述单个视频帧的人工智能视频增强子任务所需的第三处理时间和第四处理时间之后,所述方法还包括:
在所述第三处理时间和第四处理时间之间的差距大于或等于时间差阈值时,则根据所述第一子视频帧的尺寸、所述第三处理时间与所述第一子视频帧的尺寸、所述第四处理时间之间的比值,对所述单个视频帧进行重新分块,得到第三子视频帧和第四子视频帧;
利用第三子视频帧和第四子视频帧重新执行获取目标分块尺寸的过程。
6.根据权利要求1所述的方法,其特征在于,所述多线程依次执行;
所述通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,包括:
在上一个线程执行完单个视频帧的上一种视频增强子任务时,则按照变量同步规则将所述上一个线程的同步变量由第一同步变量变更为第二同步变量;
在所述上一个线程的同步变量为第二同步变量时,则将所述上一个线程中所述上一种视频增强子任务的执行结果发送给下一个线程,并将所述下一个线程的同步变量变更为所述第二同步变量,以使得所述下一个线程执行所述视频帧的下一种视频增强子任务。
7.根据权利要求1所述的方法,其特征在于,所述通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,包括:
在执行所述人工智能视频增强子任务时,将第一执行结果的像素值按照归一化规则进行处理,得到归一化数据;
将所述归一化数据输入至视频增强模型,得到视频增强数据;
将所述视频增强数据的像素值按照反归一化规则进行处理。
8.根据权利要求1所述的方法,其特征在于,所述通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,包括:
在执行所述传统视频增强子任务时,对第二处理结果通过以下至少一种方式进行视频增强:平滑度增强、真实性增强、细节增强、对比度和亮度增强、尺寸调整。
9.一种视频处理装置,其特征在于,应用于电子设备,所述装置包括:
获取模块,被配置为获取待处理的视频数据;
任务生成模块,被配置为生成所述待处理的视频数据中各视频帧对应的视频增强任务,所述视频增强任务包括多种视频增强子任务;
任务执行模块,被配置为通过多线程并发的方式同时执行多个所述视频帧的至少两个不同种的视频增强子任务,单个线程对应执行一种视频增强子任务;
所述视频增强子任务包括:视频解析子任务、人工智能视频增强子任务、传统视频增强子任务和视频显示子任务;
所述任务执行模块,还被配置为:
通过多线程并发的方式同时执行多个所述视频的至少四个不同种的视频增强子任务,其中,每个所述视频帧的视频解析子任务、人工智能视频增强子任务、传统视频增强子任务和视频显示子任务,依次执行;
所述电子设备包括:设置有多个计算棒的主板,用于运行所述第二线程;
所述任务执行模块,还被配置为:
在执行所述人工智能视频增强子任务时,按照预设时间间隔轮训所述多个计算棒,确定是否存在空闲的计算棒;
在存在所述空闲的计算棒时,则将所述人工智能视频增强子任务分配给所述空闲的计算棒,以在所述多个计算棒上运行所述人工智能视频增强子任务的线程。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8中任一所述的视频处理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现权利要求1至8中任一所述的视频处理方法。
CN202011059057.0A 2020-09-30 2020-09-30 视频处理方法、装置、电子设备及存储介质 Active CN112181657B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011059057.0A CN112181657B (zh) 2020-09-30 2020-09-30 视频处理方法、装置、电子设备及存储介质
US17/407,145 US11915058B2 (en) 2020-09-30 2021-08-19 Video processing method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011059057.0A CN112181657B (zh) 2020-09-30 2020-09-30 视频处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112181657A CN112181657A (zh) 2021-01-05
CN112181657B true CN112181657B (zh) 2024-05-07

Family

ID=73946270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011059057.0A Active CN112181657B (zh) 2020-09-30 2020-09-30 视频处理方法、装置、电子设备及存储介质

Country Status (2)

Country Link
US (1) US11915058B2 (zh)
CN (1) CN112181657B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113038276A (zh) * 2021-03-08 2021-06-25 Oppo广东移动通信有限公司 视频播放方法、装置、电子设备及存储介质
CN113905273B (zh) * 2021-09-29 2024-05-17 上海阵量智能科技有限公司 任务执行方法和设备
CN114286107A (zh) * 2021-12-30 2022-04-05 武汉华威科智能技术有限公司 一种提高实时视频处理效率的方法、系统、设备及介质
CN114501139A (zh) * 2022-03-31 2022-05-13 深圳思谋信息科技有限公司 一种视频处理方法、装置、计算机设备和存储介质
US20230412855A1 (en) * 2022-06-17 2023-12-21 Microsoft Technology Licensing, Llc Processing of video operations as subtasks for video fragments

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109361949A (zh) * 2018-11-27 2019-02-19 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备以及存储介质
CN109660821A (zh) * 2018-11-27 2019-04-19 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及存储介质
CN109729405A (zh) * 2018-11-27 2019-05-07 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及存储介质
CN110430444A (zh) * 2019-08-12 2019-11-08 北京中科寒武纪科技有限公司 一种视频流处理方法及系统
CN110503596A (zh) * 2019-08-12 2019-11-26 北京中科寒武纪科技有限公司 视频处理方法、装置、电子设备以及计算机可读存储介质
WO2020019140A1 (zh) * 2018-07-23 2020-01-30 深圳市大疆创新科技有限公司 视频处理方法、终端设备、机器可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8223845B1 (en) * 2005-03-16 2012-07-17 Apple Inc. Multithread processing of video frames
US20090083753A1 (en) * 2007-09-25 2009-03-26 Exent Technologies, Ltd. Dynamic thread generation and management for improved computer program performance
US8855191B2 (en) * 2008-11-24 2014-10-07 Broadcast International, Inc. Parallelization of high-performance video encoding on a single-chip multiprocessor
US8041852B1 (en) * 2008-12-09 2011-10-18 Calos Fund Limited Liability Company System and method for using a shared buffer construct in performance of concurrent data-driven tasks
US20140153635A1 (en) * 2012-12-05 2014-06-05 Nvidia Corporation Method, computer program product, and system for multi-threaded video encoding
CN104320622A (zh) 2014-10-30 2015-01-28 上海电力学院 一种开源服务器软件的嵌入式视频增强系统
US9760970B2 (en) * 2015-03-18 2017-09-12 Hitachi, Ltd. Video analysis and post processing of multiple video streams
CN105704407B (zh) * 2016-01-29 2017-12-22 京东方科技集团股份有限公司 一种显示处理装置、设备及方法
CN110087084B (zh) 2018-01-25 2022-03-18 联咏科技股份有限公司 视频处理装置及视频处理方法
WO2019228497A1 (en) * 2018-05-31 2019-12-05 Huawei Technologies Co., Ltd. Apparatus and method for command stream optimization and enhancement
CN109345490B (zh) 2018-11-20 2021-09-21 湖南快乐阳光互动娱乐传媒有限公司 一种移动播放端实时视频画质增强方法及系统
CN111010493B (zh) 2019-12-12 2021-03-02 清华大学 利用卷积神经网络进行视频处理的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020019140A1 (zh) * 2018-07-23 2020-01-30 深圳市大疆创新科技有限公司 视频处理方法、终端设备、机器可读存储介质
CN109361949A (zh) * 2018-11-27 2019-02-19 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备以及存储介质
CN109660821A (zh) * 2018-11-27 2019-04-19 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及存储介质
CN109729405A (zh) * 2018-11-27 2019-05-07 Oppo广东移动通信有限公司 视频处理方法、装置、电子设备及存储介质
CN110430444A (zh) * 2019-08-12 2019-11-08 北京中科寒武纪科技有限公司 一种视频流处理方法及系统
CN110503596A (zh) * 2019-08-12 2019-11-26 北京中科寒武纪科技有限公司 视频处理方法、装置、电子设备以及计算机可读存储介质

Also Published As

Publication number Publication date
US20220100576A1 (en) 2022-03-31
CN112181657A (zh) 2021-01-05
US11915058B2 (en) 2024-02-27

Similar Documents

Publication Publication Date Title
CN112181657B (zh) 视频处理方法、装置、电子设备及存储介质
US11061731B2 (en) Method, device and computer readable medium for scheduling dedicated processing resource
US9684944B2 (en) Graph-based application programming interface architectures with node-based destination-source mapping for enhanced image processing parallelism
US9710876B2 (en) Graph-based application programming interface architectures with equivalency classes for enhanced image processing parallelism
US9378534B2 (en) Image stream pipeline controller for deploying image primitives to a computation fabric
KR101609079B1 (ko) 그래픽 프로세싱 유닛에서의 명령 선별
US8869149B2 (en) Concurrency identification for processing of multistage workflows
CN109922319A (zh) 基于多核cpu的rtsp协议多视频流并行预处理方法
US11429872B2 (en) Accelerated decision tree execution
WO2024094086A1 (zh) 图像处理方法、装置、设备、介质及产品
US9417878B2 (en) Instruction scheduling for reducing register usage based on dependence depth and presence of sequencing edge in data dependence graph
CN113365101B (zh) 对视频进行多任务处理的方法及相关设备
Tan et al. Parallel implementation and optimization of high definition video real-time dehazing
US11403783B2 (en) Techniques to dynamically gate encoded image components for artificial intelligence tasks
US11170260B2 (en) Techniques for determining importance of encoded image components for artificial intelligence tasks
CN110428453B (zh) 数据处理方法、装置、数据处理设备及存储介质
CN111339367B (zh) 视频处理方法、装置、电子设备及计算机可读存储介质
DE112022000723T5 (de) Verzweigungsvorgang für eine schaltung eines neuronalen prozessors
CN113792869A (zh) 基于神经网络芯片的视频处理方法、装置和电子设备
CN114764372A (zh) 数据处理方法、装置、电子设备和存储介质
CN113762016A (zh) 关键帧选取方法和装置
US10742834B2 (en) Buffer management for plug-in architectures in computation graph structures
CN113409199A (zh) 图像处理方法、装置、电子设备及计算机可读介质
US11657324B2 (en) Method, electronic device, and computer program product for processing data
CN112053277B (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