CN116137674B - 视频播放方法、装置、计算机设备和存储介质 - Google Patents

视频播放方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN116137674B
CN116137674B CN202111370207.4A CN202111370207A CN116137674B CN 116137674 B CN116137674 B CN 116137674B CN 202111370207 A CN202111370207 A CN 202111370207A CN 116137674 B CN116137674 B CN 116137674B
Authority
CN
China
Prior art keywords
brightness
video
target video
target
mapping algorithm
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
CN202111370207.4A
Other languages
English (en)
Other versions
CN116137674A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202111370207.4A priority Critical patent/CN116137674B/zh
Publication of CN116137674A publication Critical patent/CN116137674A/zh
Application granted granted Critical
Publication of CN116137674B publication Critical patent/CN116137674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/440263Processing 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 spatial resolution, e.g. for displaying on a connected PDA
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/10Intensity circuits
    • 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/234363Processing 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 spatial resolution, e.g. for clients with a lower screen resolution
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Picture Signal Circuits (AREA)

Abstract

本申请涉及一种视频播放方法、装置、计算机设备和存储介质。所述方法可应用于云技术和智慧交通等应用场景,包括:在播放目标视频的过程中,获取环境亮度信息;基于所述环境亮度信息确定各视频亮度等级对应的亮度区间;依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法;基于所述色调映射算法对所述目标视频片段进行色调转换;播放所述目标视频中经过色调转换的目标视频片段。采用本方法能够提高视频播放的效果。

Description

视频播放方法、装置、计算机设备和存储介质
技术领域
本申请涉及视频处理技术领域,特别是涉及一种视频播放方法、装置、计算机设备和存储介质。
背景技术
随着视频处理技术的不断发展,使得广大用户可以很方便地通过智能终端观看各种视频。为了达到较好的视频播放效果,播放终端通常会在与环境亮度匹配的播放模式下对视频进行播放,例如,用户在环境亮度较低的夜晚观看视频时,播放终端在屏幕亮度较低的夜间播放模式下对视频进行播放。
然而,在环境亮度较低的夜晚观看视频时,即使播放终端在夜间播放模式下对视频进行播放,但是由于屏幕的亮度调节范围有限,一方面某些播放画面可能会由于屏幕亮度过高,给用户造成刺眼的观看体验,另一方面某些播放画面可能会由于屏幕亮度过低,用户无法看清该播放画面,从而导致视频播放的效果较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高视频播放效果的视频播放方法、装置、计算机设备和存储介质。
一种视频播放方法,所述方法包括:
在播放目标视频的过程中,获取环境亮度信息;
基于所述环境亮度信息确定各视频亮度等级对应的亮度区间;
依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法;
基于所述色调映射算法对所述目标视频片段进行色调转换;
播放所述目标视频中经过色调转换的目标视频片段。
一种视频播放装置,所述装置包括:
环境亮度信息获取模块,用于在播放目标视频的过程中,获取环境亮度信息;
亮度区间确定模块,用于基于所述环境亮度信息确定各视频亮度等级对应的亮度区间;
算法确定模块,用于依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法;
色调转换模块,用于基于所述色调映射算法对所述目标视频片段进行色调转换;
视频播放模块,用于播放所述目标视频中经过色调转换的目标视频片段。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在播放目标视频的过程中,获取环境亮度信息;
基于所述环境亮度信息确定各视频亮度等级对应的亮度区间;
依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法;
基于所述色调映射算法对所述目标视频片段进行色调转换;
播放所述目标视频中经过色调转换的目标视频片段。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在播放目标视频的过程中,获取环境亮度信息;
基于所述环境亮度信息确定各视频亮度等级对应的亮度区间;
依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法;
基于所述色调映射算法对所述目标视频片段进行色调转换;
播放所述目标视频中经过色调转换的目标视频片段。
一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行以下步骤:
在播放目标视频的过程中,获取环境亮度信息;
基于所述环境亮度信息确定各视频亮度等级对应的亮度区间;
依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法;
基于所述色调映射算法对所述目标视频片段进行色调转换;
播放所述目标视频中经过色调转换的目标视频片段。
上述视频播放方法、装置、计算机设备和存储介质,在播放目标视频的过程中,实时采集环境亮度信息并获取待播放的目标视频片段,并基于环境亮度信息确定各视频亮度等级对应的亮度区间,依据目标视频中目标视频片段的亮度值与视频亮度等级对应的亮度区间之间的关系,确定目标视频片段的色调映射算法,从而基于色调映射算法实现对目标视频片段的色调转换,得到经过色调转换的目标视频片段,播放目标视频中经过色调转换的目标视频片段,从而使得终端在对视频进行播放时,可以基于播放环境亮度自动对视频画面的亮度进行适应性调整,在视频画面的清晰播放的同时确保用户舒适的用眼体验,从而提高了视频播放的效果。
附图说明
图1为一个实施例中视频播放方法的应用环境图;
图2为一个实施例中视频播放方法的流程示意图;
图3为一个实施例中色调映射算法示意图;
图4为另一个实施例中色调映射算法示意图;
图5为另一个实施例中色调映射算法示意图;
图6为一个实施例中视频转换步骤的流程示意图;
图7为另一个实施例中视频播放方法的流程示意图;
图8为另一个实施例中视频播放方法的流程示意图;
图9为一个实施例中视频播放装置的结构框图;
图10为另一个实施例中视频播放装置的结构框图;
图11为一个实施例中计算机设备的内部结构图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
本申请提供的视频播放方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络(如有线或无线网络)与服务器104进行通信。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、智能语音交互设备、智能家电、车载终端和携式可穿戴设备等,该终端102上安装有客户端,该客户端可以是视频客户端、即时通信客户端、浏览器客户端和教育客户端等。该终端102可用来观看视频,还可以用来实现视频播放方法。例如终端102为智能手机,该智能手机上安装有视频客户端,通过视频客户端来实现视频播放方法。
服务器104可以是独立的物理服务器,也可以是区块链系统中的服务节点,该区块链系统中的各服务节点之间形成组成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。此外,服务器104还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
当视频播放方法应用于终端102时,终端102可以对拍摄的目标视频进行播放,或者从服务器104下载目标视频进行播放,在播放目标视频的过程中,获取环境亮度信息;基于环境亮度信息确定各视频亮度等级对应的亮度区间;依据目标视频中目标视频片段的亮度值与视频亮度等级对应的亮度区间之间的关系,确定目标视频的色调映射算法;基于色调映射算法对目标视频片段进行色调转换;从而终端102播放目标视频中经过色调转换的目标视频片段。
当视频播放方法应用于服务器104时,服务器104通过正在播放目标视频的终端102获取环境亮度信息,基于环境亮度信息确定各视频亮度等级对应的亮度区间;依据目标视频中目标视频片段的亮度值与视频亮度等级对应的亮度区间之间的关系,确定目标视频的色调映射算法;基于色调映射算法对目标视频片段进行色调转换;通过终端102播放目标视频中经过色调转换的目标视频片段。
在一个实施例中,如图2所示,提供了一种视频播放方法,该视频播放方法可以由图1中的终端或服务器执行,也可以由终端和服务器共同执行,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S202,在播放目标视频的过程中,获取环境亮度信息。
其中,目标视频为正在视频播放页面中播放的视频,目标视频可以是低动态范围(LDR,Low Dynamic Range)的视频、标准动态范围(SDR,Standard Dynamic Range)的视频、或者高动态范围(HDR,High-Dynamic Range)的视频。动态范围是图像或者是图像设备所能够表示的信号的最大值与最小值的比值。
可以理解的是,视频包含多个视频帧,每个视频帧即对应一个图像,低动态范围的视频是指由低动态范围图像所组合成的视频,标准动态范围的视频是指由标准动态范围图像所组合成的视频,高动态范围的视频是指由高动态范围图像所组合成的视频。视频具体可以是从服务器下载的影视剧、短视频等,也可以是由终端拍摄的视频。
环境亮度信息是指视频播放环境的亮度信息,即终端在播放该目标视频时,终端所处的环境的亮度信息,环境亮度信息具体可以是环境的亮度值。
例如,当播放环境为白天室外环境时,环境亮度信息即为该白天室外环境的亮度值;当播放环境为白天室内环境时,环境亮度信息即为该白天室内环境的亮度值;当播放环境为晚上室外环境时,环境亮度信息即为该晚上室外环境的亮度值;当播放环境为晚上室内环境时,环境亮度信息即为该晚上室内环境的亮度值。
可以理解的是,针对白天室内环境,当室内采光不好、且不存在辅助照明的情况下,白天室内环境的亮度值可能比较低;针对晚上室外环境,当室外不存在辅助照明、或者辅助照明设备的亮度值比较低时,晚上室外环境的亮度值也会比较低;针对晚上室内环境,当室内不存在辅助照明、或者辅助照明设备的亮度值比较低时,晚上室内的环境亮度值也会比较低。本申请实施例中,将亮度值比较低的视频播放环境统称为低亮度播放环境,具体地,可将环境亮度值小于等于低环境亮度阈值的视频播放环境确定为低亮度播放环境,例如将环境亮度值小于等于30尼特(nit)的视频播放环境确定为低亮度播放环境。
具体地,终端上配置有环境亮度采集装置,终端在播放目标视频的过程中,通过终端上所配置的环境亮度采集装置,采集当前视频播放环境下的环境亮度信息。其中,环境亮度采集装置可以是光线传感器或者摄像头。
在一个实例中,环境亮度采集装置为光线传感器,终端通过光线传感器采集当前视频播放环境下的原始环境亮度信息,并基于所采集的原始亮度信息确定当前视频播放环境下的环境亮度信息。
其中,光线传感器可以将透过显示屏的环境光转化为电信号,从而终端可以基于该电信号获取当前视频播放环境下的原始环境亮度信息。
在一个实施例中,终端在获取到当前视频播放环境下的原始环境亮度信息之后,直接将所获取的原始环境亮度信息确定为当前视频播放环境下的环境亮度信息。
在另一个实施例中,终端在获取到当前视频播放环境下的原始亮度信息之后,还可以获取当前终端的显示屏的亮度信息,并基于显示屏的亮度信息对当前视频播放环境下的原始亮度信息进行调整,得到调整后亮度信息,并将调整后亮度信息确定为当前视频播放环境下的环境亮度信息。
可以理解的是,光线传感器在检测环境的原始亮度时,显示屏的显示亮度会影响到光线传感器对光信号的采集,从而使得此时采集到的原始环境亮度信息不能准确地反应环境的真实亮度,因此基于显示屏的亮度信息可以对当前视频播放环境下的原始亮度信息进行校正。
在一个实施例中,环境亮度采集装置为摄像头,终端通过摄像头采集环境图像,并对环境图像进行图像分析,获得当前播放环境下的环境亮度信息。
具体地,终端在得到环境图像之后,获取环境图像的对比度信息,并对环境图像的各个像素点进行颜色空间转换,得到转换后的各像素点,并基于转换后的各像素点确定环境图像对应的初始亮度信息,然后基于对比度信息和初始亮度信息,确定当前播放环境的环境亮度值。其中,对各像素点进行颜色空间转换后能够得到与亮度相关联的信息。
S204,基于环境亮度信息确定各视频亮度等级对应的亮度区间。
其中,视频亮度等级用于对视频的亮度进行区分,视频的亮度可以是相对亮度或者绝对亮度,例如SDR下的BT709标准和HDR中的HLG标准使用的是相对亮度,而HDR下的BT2048标准则使用的为绝对亮度体系(PQ)。
本申请实施例中,目标视频中包含有至少一个视频片段,对于目标视频中的任意一个视频片段,可以基于该视频片段的亮度值确定该视频片段所属的视频亮度等级,视频亮度等级包括第一亮度等级、第二亮度等级和第三亮度等级,具体地,第一亮度等级也可以称为低亮度等级,第二亮度等级也可以称为中亮度等级,第三亮度等级也可以称为高亮度等级。
可以理解的是,不同的视频亮度等级所对应的亮度区间是不相同的,例如第一亮度等级对应的亮度区间为第一亮度区间,第二亮度等级对应的亮度区间为第二亮度区间,第三亮度等级对应的亮度区间为第三亮度区间,其中,第一亮度区间、第二亮度区间和第三亮度区间中任意两个亮度区间之间不存在交集。
此外,在视频播放环境的环境亮度不同时,同一视频亮度等级所对应的亮度区间的区间端点也可能不同。例如,视频播放环境为晚上室内环境,当室内存在辅助照明、且辅助照明设备的亮度值比较低时,第一亮度等级所对应的亮度区间为(0,1000),第二亮度等级所对应的亮度区间为[1000,4500),第三亮度等级所对应的亮度区间为[4500,10000];当室内不存在辅助照明时,第一亮度等级所对应的亮度区间为(0,1200),第二亮度等级所对应的区间为[1200,5000),第三亮度等级所对应的亮度区间为[5000,10000]。其中,亮度的单位可以是坎德拉/平方米(cd/m2),也可以是尼特(nit)。
在一个实施例中,S204具体包括以下步骤:基于环境亮度信息确定视频播放环境对应的环境亮度级别;依据环境亮度级别确定各视频亮度等级对应的亮度阈值;根据各视频亮度等级对应的亮度阈值划分亮度区间。
其中,环境亮度级别用于对视频播放环境进行区分。例如,针对低亮度播放环境,可以按照环境的亮度值将其细分为多个不同的环境亮度级别。环境亮度信息可以是环境亮度值。
假设环境亮度值在0至30nit之间的播放环境为低亮度播放环境,则可以将该低亮度播放环境进一步划分为一级环境亮度级别、二级环境亮度级别和三级环境亮度级别,具体可以是将环境亮度值在(0,2]之间的播放环境的环境亮度级别确定为一级环境亮度级别、将环境亮度值在(2,5]之间的播放环境的环境亮度级别确定为二级环境亮度级别、将(5,30]之间的播放环境的环境亮度值级别确定为三级环境亮度级别。
可以理解的是,在视频播放环境的对应环境亮度级别不同时,同一视频亮度等级所对应的亮度区间的区间端点的值也可能不同。其中,区间端点的值也可以称为亮度阈值,亮度阈值可包括第一亮度阈值和第二亮度阈值。
具体地,终端在获取到环境亮度信息之后,还可以获取预先存储环境亮度级别与环境亮度区间之间的对应关系,并确定环境亮度信息所属的目标环境亮度区间,并将目标环境亮度区间所对应的环境亮度级别确定为当前视频播放环境对应的环境亮度级别,并获取所确定的环境亮度级别所对应的各视频亮度等级的亮度阈值,根据亮度阈值确定各视频等级所对应的亮度区间。
例如,预先存储的环境亮度级别与环境亮度区间之间的对应关系为,一级环境亮度级别对应的环境亮度区间为(0,2],二级环境亮度级别对应的环境亮度区间为(2,5],三级环境亮度级别对应的环境亮度区间为(5,30],当视频播放环境为晚上室内环境,环境亮度值为3nit,则确定该视频播放环境所对应的环境亮度级别为二级环境亮度级别,则获取一级环境亮度级别所对应的第一亮度阈值1000nit、第二亮度阈值4500nit,并将亮度区间(0,1000)确定为第一亮度等级所对应的亮度区间,将亮度区间[1000,4500)确定为第二亮度等级所对应的亮度区间,将亮度区间[4500,10000]确定为第三亮度等级所对应的亮度区间;当视频播放环境为晚上室内环境,环境亮度的值为1nit,则确定该视频播放环境所对应的环境亮度级别为一级环境亮度级别,则获取一级环境亮度级别所对应的第一亮度阈值1200nit、第二亮度阈值5000nit,并将亮度区间(0,1200)确定为第一亮度等级所对应的亮度区间,将亮度区间[1200,5000)确定为第二亮度等级所对应的亮度区间,将亮度区间[5000,10000]确定为第三亮度等级所对应的亮度区间。
S206,依据目标视频中目标视频片段的亮度值与视频亮度等级对应的亮度区间之间的关系,确定目标视频的色调映射算法。
其中,目标视频片段是目标视频中待播放的视频片段。色调映射算法是指将视频由电信号转换为光信号的算法,也可以称为电光转换(EOTF)函数,EOTF函数用于描述输入显示器的非线性颜色值(数字编码像素值T)和显示器所显示的线性颜色值(亮度值)之间的关系,例如图3所示的HDR视频下的BT709标准中定义的Gamma曲线即为一种经典的EOTF函数。
具体地,终端在播放目标视频的过程中,获取待播放的目标视频片段,并确定目标视频片段的亮度值,基于目标视频片段的亮度值确定目标视频片段所对应的视频亮度等级,并获取该视频亮度等级所对应的色调映射算法。
在一个实施例中,S206具体包括以下步骤:确定目标视频中目标视频片段的亮度值;在视频亮度等级对应的亮度区间中,选取目标视频片段的亮度值所属的目标亮度区间;基于目标亮度区间对应的目标视频亮度等级,确定目标视频片段的色调映射算法。
其中,目标视频片段的亮度值是指目标视频片段中各视频帧的亮度值的平均值,具体可以是目标视频片段基于原始色调映射算法所确定的原始亮度值。
例如,原始色调映射算法可以是图3所示的Gamma曲线。参考图3,可以基于图3中低亮度阈值P1和中亮度阈值P2确定出低视频亮度等级所对应的亮度区间(0,P1),中视频亮度等级所对应的亮度区间[P1,P2),高视频亮度等级所对应的亮度区间[P2,10000],本申请实施例中假设亮度值的最大值为10000nit。
具体地,终端在确定出目标视频中目标视频片段的亮度值,以及当前视频播放环境下各个视频亮度等级所对应的亮度区间之后,确定目标视频片段的亮度值,在各个视频亮度等级所对应的亮度区间中的目标亮度区间,并将目标亮度区间所对应的视频亮度等级确定为目标视频片段所属的目标视频亮度等级,获取目标视频亮度等级所对应的色调映射算法,并将目标视频亮度等级所对应的色调映射算法确定为目标视频片段的色调映射算法,以便用所确定的色调映射算法对目标视频片段进行色调转换。
例如,当前视频播放环境下第一亮度等级所对应的亮度区间为(0,1000),第二亮度等级所对应的亮度区间为[1000,4500),第三亮度等级所对应的亮度区间为[4500,10000],终端确定出目标视频中目标视频片段的亮度值为800nit,则确定目标视频片段所属的目标亮度区间为(0,1000),即目标视频片段对应的目标视频亮度等级为第一亮度等级,则获取第一亮度等级所对应的色调映射算法,并将第一亮度等级所对应的色调映射算法确定为目标视频片段的色调映射算法。
S208,基于色调映射算法对目标视频片段进行色调转换。
其中,色调转换是指将视频由电信号转换为光信号的过程。
具体地,终端在确定出目标视频片段的色调映射算法之后,获取目标视频片段的各视频帧中各像素点的编码值,并基于色调映射算法和目标视频片段的各视频帧中各像素点的编码值,确定目标视频片段的各视频帧中各像素点的亮度值,以实现对目标视频片段的色调转换。其中,编码值对目标视频片段中的像素点进行数字编码所得到的值,编码值也可以称为数字编码像素值。
在一个实施例中,S208具体包括以下步骤:基于目标视频片段的编码值和色调映射算法,确定目标视频片段中各视频帧的目标亮度差值,基于目标亮度差值,对目标视频片段中各视频帧进行亮度渲染,得到经过转换的目标视频片段。
其中,目标亮度差值为视频帧中任一像素点进行亮度调整后所得到的亮度值与该像素点的原始亮度值之间的差值,像素点的原始亮度值可以基于像素点的编码值和原始色调映射算法进行确定。原始色调映射算法是当前视频播放环境所对应的原始的色调映射算法,例如当前视频播放环境为低亮度视频播放环境,则原始色调映射算法为低亮度视频播放环境所对应的原始的色调映射算法。
具体地,终端获取目标视频片段对应的原始色调映射算法,并基于原始色调映射算法和所确定的色调映射算法,确定目标视频片段对应的调整色调映射算法,并基于调整色调映射算法和目标视频片段中各视频帧的编码值,确定目标视频片段中各视频帧的目标亮度差值,并基于各视频帧的目标亮度差值和原始亮度值,确定各视频帧对应的调整后亮度值,并基于各视频帧的调整后亮度值对各视频帧进行亮度渲染,得到经过色调转换的目标视频片段。其中,调整后亮度值也可称为亮度调整值。
例如,目标视频片段中原始色调映射算法为色调映射算法1,所确定的色调映射算法为色调映射算法2,终端基于色调映射算法1和色调映射算法2确定出目标视频片段对应的调整色调映射算法为色调映射算法3,则基于色调映射算法3和目标视频片段中各视频帧中各像素点的编码值,确定各视频帧中各像素点的亮度调整至,并基于各视频帧中各像素点的目标亮度差值和原始亮度值,确定各视频帧中各像素点对应的调整后亮度值,并基于各视频帧中各像素点的调整后亮度值对各个视频帧进行亮度渲染,得到经过色调转换的目标视频片段。
在一个实施例中,S208具体包括以下步骤:基于目标视频片段的编码值和色调映射算法,确定目标视频片段中各视频帧的亮度调整值;基于亮度调整值对目标视频片段中各视频帧进行亮度渲染,得到经过色调转换的目标视频片段。
其中,亮度调整值为视频帧中任一像素点进行亮度调整后所得到的亮度值。
具体地,终端获取目标视频片段中各个视频帧中各像素点的编码值,并基于所确定的色调映射算法和各像素点的编码值,确定各像素点对应的亮度调整值,并基于亮度调整值,对目标视频片段中各视频帧的各像素点进行亮度渲染,得到经过色调转换的目标视频片段。
例如,目标视频片段所确定的色调映射算法为色调映射算法2,终端基于色调映射算法2和目标视频片段中各像素点的编码值,确定各像素点对应的亮度调整值,并基于各像素点的亮度调整值,对目标视频片段中各像素点进行亮度渲染,得到经过色调转换的各个视频帧,从而得到经过色调转换的目标视频片段。
S210,播放目标视频中经过色调转换的目标视频片段。
具体地,终端在对目标视频进行播放时,按照播放顺序获取目标视频中的各个视频片段,并对待播放的目标视频片段进行色调转换,得到经过色调转换的目标视频片段,并在用于播放目标视频的视频播放页面中对经过色调转换的目标视频片段进行播放。
上述实施例中,终端在播放目标视频的过程中,实时采集环境亮度信息并获取待播放的目标视频片段,并基于环境亮度信息确定各视频亮度等级对应的亮度区间,依据目标视频中目标视频片段的亮度值与视频亮度等级对应的亮度区间之间的关系,确定目标视频片段的色调映射算法,从而基于色调映射算法实现对目标视频片段的色调转换,得到经过色调转换的目标视频片段,播放目标视频中经过色调转换的目标视频片段,从而使得终端在对视频进行播放时,可以基于播放环境亮度自动对视频画面的亮度进行适应性调整,在视频画面的清晰播放的同时确保用户舒适的用眼体验,从而提高了视频播放的效果。
在一个实施例中,终端确定目标视频中目标视频片段的亮度值的过程包括以下步骤:获取目标视频片段的各视频帧中各像素点的亮度值,计算各像素点的亮度值的平均值,将所得到的各像素点的亮度值的平均值确定为目标视频片段的亮度值。
具体地,针对任意一个视频帧,终端获取该视频帧中各像素点的亮度值,并计算各个像素点的亮度值的平均值,将所得到的平均值确定为该视频帧的帧亮度值,从而得到目标视频片段中各视频帧的帧亮度值,并计算各视频帧的帧亮度值的平均值,将所得到的平均值确定为该目标视频片段的亮度值。
上述实施例中,终端通过获取目标视频片段的各视频帧中各像素点的亮度值,快速地确定出目标视频片段的亮度值,进而可以基于目标视频片段的亮度值对视频画面的亮度进行适应性调整,在视频画面的清晰播放的同时确保用户舒适的用眼体验,从而提高了视频播放的效果。
在一个实施例中,终端确定目标视频中目标视频片段的亮度值的过程包括以下步骤:确定目标视频中目标视频片段对应的片段编码值;获取目标视频的原始色调映射算法;基于片段编码值和原始色调映射算法,确定目标视频片段的亮度值。
其中,片段编码值对目标视频片段进行数字编码所得到的值,编码值也可以称为数字编码像素值;原始色调映射算法是当前视频播放环境所对应的原始的色调映射算法,例如当前视频播放环境为低亮度视频播放环境,则原始色调映射算法为低亮度视频播放环境所对应的原始的色调映射算法。
具体地,终端获取目标视频片段中各个视频帧的帧编码值,计算各帧编码值的平均值,并将所得到的平均值确定为目标视频片段对应的片段编码值;获取当前视频播放环境下目标视频所对应的原始色调映射算法,通过原始色调映射算法将目标视频片段的编码值转换为亮度值,从而得到目标视频片段的亮度值。其中,所得到的目标视频片段的亮度值即为目标视频片段的原始亮度值。
例如,原始色调映射算法为图3所示的HDR视频下的BT709标准中定义的Gamma曲线,则通过该Gamma曲线可以将目标视频片段的编码值转换为对应的亮度值,从而得到目标视频片段的亮度值。
上述实施例中,终端通过获取目标视频片段的片段编码值和目标视频的原始色调映射算法,从而可以快速地确定出目标视频片段的亮度值,进而可以基于目标视频片段的亮度值对视频画面的亮度进行适应性调整,在视频画面的清晰播放的同时确保用户舒适的用眼体验,从而提高了视频播放的效果。
在一个实施例中,终端确定目标视频中目标视频片段对应的片段编码值的过程包括以下步骤:基于目标视频的总时长确定视频片段数量;依据视频片段数量对目标视频划分片段,得到至少两个视频片段;获取至少两个视频片段中目标视频片段的各视频帧对应的帧编码值;基于各视频帧对应的帧编码值,确定目标视频片段对应的片段编码值。
具体地,终端可以预先设置视频片段的时长阈值,并在获取到目标视频的总时长之后,基于目标视频的总时长和视频片段的时长阈值,确定该目标视频可划分的视频片段的数量,并依据目标视频数量对目标视频进行片段划分,得到至少两个视频片段,并在播放目标视频的过程中,按照播放顺序确定该至少两个视频片段中的目标视频片段,并获取目标视频片段的各个视频帧中各像素点的像素编码值,基于各像素点的像素编码值,确定各视频帧的帧编码值,计算各帧编码值的平均值,并将得到的平均值确定为目标视频片段对应的片段编码值。
其中,所得到的视频片段的时长小于等于时长阈值。终端基于各像素点的像素编码值,确定各视频帧的帧编码值的过程可以是,针对任意一个视频帧,获取该视频帧中各个像素点的像素编码值,并计算所获取的像素编码值的平均值,将所得到的平均值确定为该视频帧的帧编码值。
举例说明,假设视频片段的时长阈值5秒(s),目标视频A的总时长为20秒,确定目标视频的视频片段数量为4,则将目标视频划分为4个时长相等的视频片段,该4个视频片段按照播放顺序依次为视频片段1、视频片段2、视频片段3和视频片段4,终端在播放目标视频的过程中,若确定目标视频片段为视频片段2,则获取视频片段2中所包含的各个视频帧的帧编码值,具体地,假设视频片段2包含3个视频帧,则针对该3个视频帧中的任一视频帧,获取视频帧中各个像素点的像素编码值,并对像素编码值求平均值,得到该视频帧的帧编码值,从而得到3个视频帧中每个视频帧的帧编码值,并对该3个视频帧的帧编码值求平均值,从而得到视频片段2的片段编码值。
上述实施例中,终端基于目标视频的总时长确定视频片段数量;依据视频片段数量对目标视频划分片段,得到至少两个视频片段;获取至少两个视频片段中目标视频片段的各视频帧对应的帧编码值;基于各视频帧对应的帧编码值,确定目标视频片段对应的片段编码值,从而可以基于片段编码值快速地确定出目标视频片段的亮度值,进而可以基于目标视频片段的亮度值对视频画面的亮度进行适应性调整,在视频画面的清晰播放的同时确保用户舒适的用眼体验,从而提高了视频播放的效果。
在一个实施例中,视频亮度等级包括第一亮度等级、第二亮度等级和第三亮度等级,终端基于目标亮度区间对应的目标视频亮度等级,确定目标视频片段的色调映射算法的过程包括以下步骤:当目标亮度区间为第一亮度等级对应的亮度区间时,获取第一线性映射算法,并将第一线性映射算法作为目标视频的色调映射算法;当目标亮度区间为第二亮度等级对应的亮度区间时,将目标视频的原始色调映射算法作为目标视频的色调映射算法;当目标亮度区间为第三亮度等级对应的亮度区间时,获取第二线性映射算法或凸函数型算法,并将第二线性映射算法或凸函数型算法作为目标视频的色调映射算法。
其中,第一线性映射算法、原始色调映射算法、第二线性映射算法和凸函数型算法是不同的映射算法。第一线性映射算法和第二线性映射算法可以是两个不同的一次函数,需要说明的是,第一线性映射算法用于提高目标视频片段中各像素点之间的亮度差异,第二线性映射算法用于降低目标视频片段中各像素点之间的亮度差异,凸函数型算法用于降低目标视频片段中各像素点之间的亮度差异。以下公式(1)为线性映射算法的表达式:
L=a·x+b (1)
其中,x为任一像素点的编码值,L为该像素点的色调转换后所得到的亮度值,a为常数且a不等于0,b为常数。
以下公式(2)为一个实施例中原始色调映射算法的表达式:
L=g(x) (2)
其中,x为任一像素点的编码值,L为该像素点的色调转换后所得到的亮度值,g(x)为Gamma曲线。
具体地,终端在确定出目标视频片段的亮度值所属的目标亮度区间后,确定目标亮度区间所对应的目标视频亮度等级为目标视频片段对应的视频亮度等级,并获取目标视频亮度等级对应的色调映射算法。其中第一视频亮度等级所对应的色调映射算法为第一线性映射算法,第二视频亮度等级对应的色调映射算法为目标视频片段的原始色调映射算法,第三视频亮度等级对应的色调映射算法为第二线性映射算法或凸函数型算法。
通常情况下,人的视觉是非线性的,即人眼对光的感受不会随着光线强度的增加而增加,例如,在暗处人眼可分辨一根蜡烛的火焰,而在正午的阳光下,蜡烛的火焰将难以看清,在坐标系中,如果用横轴表示观看物体的亮度,纵轴表示人眼的感受,那么两者之间的关系将呈非线性。史蒂文斯幂定律(Stevens'Power Law)表明,在环境亮度较低时,人眼对于亮度变化的敏感度较高,但是在低亮度播放环境下进行视频播放时,如果播放画面的整体亮度均较低,人眼仍然可能无法分辨画面中的细节,具体可以用公式表示如下:
ΔS=f(ΔL) (3)
其中,ΔL代表任意两个像素点之间的亮度差异,ΔS代表人眼灵敏度,表示了人眼感受到的亮度差异,ΔS随着ΔL的增加呈非线性增加。需要说明的是,当ΔS高于第一差异阈值时,人眼才能真实感受到亮度差异,即当播放画面整体亮度水平比较低时,各个像素点之间的亮度差异ΔL较小,从而ΔS人眼灵敏度也较小,在ΔS不大于第一差异阈值时,则会导致人眼无法感受到不同像素点之间的亮度差异,从而无法分辨画面中的细节;当ΔS高于第二差异阈值时,第二差异阈值大于第一差异阈值,虽然人眼能真实感受到亮度差异,但是由于此时播放画面整体亮度水平比较高,容易对人眼造成刺激,导致播放画面的观看体验较差;当ΔS高于第一差异阈值且小于等于第二差异阈值时,人眼即能真实感受到亮度差异,同时播放画面的整体亮度水平不会过高,从而不会对人眼造成刺激。
本申请实施例中,当目标视频片段属于第一视频亮度等级,即目标视频片段中的各个视频帧的整体亮度水平比较低时,通过第一线性映射算法对目标视频片段进行色调转换,可以提高目标视频片段中各像素点之间的亮度差异,从而使得播放画面能够较好的展示细节;当目标视频片段属于第三视频亮度等级,即目标视频片段中的各个视频帧的整体亮度水平比较高时,通过第二线性映射算法或凸函数型算法对目标视频片段进行色调转换,可以降低目标视频片段中各像素点之间的亮度差异,从而避免对人眼造成刺激;当目标视频片段属于第二视频亮度等级,即目标视频片段中的各个视频帧的整体亮度水平不会过低也不会过高,从而直接采用原始色调映射算法确定目标视频片段的亮度值,无需对目标视频片段的亮度进行调整。
如图4所示,为一个实施例中第一线性映射算法示意图,图3为该第一线性映射算法对应的原始色调映射算法,结合图3和图4可以看出,针对属于低视频亮度等级的视频片段,无论采用哪种色调映射算法,编码值较小的像素点其所映射得到的亮度值均比较小,由于第一线性映射算法对应曲线的斜率大于原始色调映射算法对应曲线的斜率,即采用该第一线性映射算法所得到相邻编码值的像素点的亮度值差异,大于采用原始色调映射算法所得到相邻编码值的像素点的亮度值差异,从而针对属于低视频亮度等级的视频片段,通过第一线性映射算法对其进行色调转换,可以提高该视频片段中各亮度值像素点之间的亮度差异,从而使得播放画面能够较好的展示细节。
如图5所示,为一个实施例中第二线性映射算法示意图,图5中f2(x)为第二线性映射算法对应的曲线,图3以及图5中g(x)为该第二线性映射算法对应的原始色调映射算法,结合图3和图5可以看出,针对属于高视频亮度等级的视频片段,无论采用哪种色调映射算法,编码值较大的像素点其所映射得到的亮度值均比较大,由于第二线性映射算法对应曲线的斜率小于原始色调映射算法对应曲线的斜率,即采用该第二线性映射算法所得到相邻编码值的像素点的亮度值差异,小于采用原始色调映射算法所得到相邻编码值的像素点的亮度值差异,从而针对属于高视频亮度等级的视频片段,通过第而现行映射算法对其进行色调转换,可以降低该视频片段中各亮度值像素点之间的亮度差异,从而避免对人眼造成刺激。
上述实施例中,终端通过基于目标亮度区间对应的目标视频亮度等级,确定目标视频片段的色调映射算法,从而可以选取出适合目标视频片段的色调映射算法,以便基于色调映射算法实现对目标视频片段的色调转换,得到经过色调转换的目标视频片段,播放目标视频中经过色调转换的目标视频片段,从而使得终端在对视频进行播放时,可以基于播放环境亮度自动对视频画面的亮度进行适应性调整,在视频画面的清晰播放的同时确保用户舒适的用眼体验,从而提高了视频播放的效果。
在一个实施例中,终端依据目标视频中目标视频片段的亮度值与视频亮度等级对应的亮度区间之间的关系,确定目标视频片段的色调映射算法的过程包括以下步骤:将目标视频中目标视频片段的亮度值,转换为编码值;将各视频亮度等级对应的亮度区间,转换为编码值区间;在各视频亮度等级对应的编码值区间内,确定目标视频片段的编码值所属的目标编码值区间;基于目标编码值区间对应的视频亮度等级,确定目标视频片段的色调映射算法。
其中,目标视频片段的亮度值为目标视频编码基于原始色调映射算法所确定的片段亮度值,具体可以是目标视频片段中各视频帧的帧亮度值的平均值。编码值为目标视频片段的片段编码值。
具体地,终端可以预先获取各个视频播放环境下各个视频亮度等级对应的亮度区间,获取原始色调映射算法,基于原始色调映射算法对各视频亮度等级对应的亮度区间的区间端点值进行转换,得到编码值阈值,基于编码值阈值确定编码值区间,并对所确定的编码值区间进行保存,从而在播放目标视频的过程中,当获取到目标视频片段的亮度值时,并基于原始色调映射算法对目标视频片段的亮度值进行转换,得到目标视频片段的编码值,并确定目标视频片段的片段编码值所属的目标编码值区间,获取目标编码值区间所对应的视频亮度等级,将该视频亮度等级确定为目标视频片段所对应的目标视频亮度等级,并获取目标视频亮度等级所对应的目标色调映射算法,将该目标色调映射算法确定为目标视频片段所对应的色调映射算法。
例如,原始色调映射算法可以是图3所示的Gamma曲线。参考图3,可以基于图3中低亮度阈值P1和中亮度阈值P2确定出低视频亮度等级所对应的亮度区间(0,P1),中视频亮度等级所对应的亮度区间[P1,P2),高视频亮度等级所对应的亮度区间[P2,10000),基于图3中低编码值阈值T1和中亮度阈值T2确定出低视频亮度等级所对应的编码值区间为(0,T1),也可以称为第一编码值区间,中视频亮度等级所对应的编码值区间[T1,T2),也可以称为第二编码值区间,高视频亮度等级所对应的编码值区间[T2,1023],也可以称为第三编码值区间。本申请实施例中假设亮度值的最大值为10000nit,视频编码方式为10bit,T1为最大编码值1023的30%,T2为最大编码值1023的60%。
例如,当前视频播放环境下第一亮度等级所对应的亮度区间为(0,1000),第二亮度等级所对应的亮度区间为[1000,4500),第三亮度等级所对应的亮度区间为[4500,10000],终端预先基于原始色调映射算法确定出第一亮度等级所对应的编码值区间为(0,307),第二视频亮度等级所对应的编码值区间为[307,614),第三亮度等级所对应的编码值区间为[614,1024],终端在播放目标视频的过程中,获取到目标视频片段的亮度值为800nit,并基于原始色调映射算法对目标视频片段的亮度值进行转换,得到目标视频片段的编码值K,并确定出编码值K属于第一亮度等级所对应的编码值区间(0,307),即目标视频片段对应的目标视频亮度等级为第一亮度等级,则获取第一亮度等级所对应的色调映射算法,并将第一亮度等级所对应的色调映射算法确定为目标视频片段的色调映射算法。
上述实施例中,终端通过将目标视频中目标视频片段的亮度值,转换为编码值;将各视频亮度等级对应的亮度区间,转换为编码值区间;在各视频亮度等级对应的编码值区间内,确定目标视频片段的编码值所属的目标编码值区间;基于目标编码值区间对应的视频亮度等级,确定目标视频片段的色调映射算法,以便基于色调映射算法实现对目标视频片段的色调转换,得到经过色调转换的目标视频片段,播放目标视频中经过色调转换的目标视频片段,从而使得终端在对视频进行播放时,可以基于播放环境亮度自动对视频画面的亮度进行适应性调整,在视频画面的清晰播放的同时确保用户舒适的用眼体验,从而提高了视频播放的效果。
在一个实施例中,终端还可以直接依据目标视频中目标视频片段的编码值与视频亮度等级对应的编码值区间之间的关系,确定目标视频片段的色调映射算法,具体过程包括以下步骤:获取目标视频中目标视频片段的片段编码值,以及当前视频播放环境下各视频亮度等级对应的编码值区间,在各视频亮度等级对应的编码值区间内,确定目标视频片段的编码值所属的目标编码值区间;基于目标编码值区间对应的视频亮度等级,确定目标视频片段的色调映射算法。
具体地,终端预先各个视频播放环境下各个视频亮度等级对应的编码值区间,在播放目标视频的过程中,当获取到目标视频片段的编码值时,确定目标视频片段的片段编码值所属的目标编码值区间,获取目标编码值区间所对应的视频亮度等级,将该视频亮度等级确定为目标视频片段所对应的目标视频亮度等级,并获取目标视频亮度等级所对应的目标色调映射算法,将该目标色调映射算法确定为目标视频片段所对应的色调映射算法。
例如,终端预先存储当前视频播放环境下第一亮度等级所对应的编码值区间为(0,307),第二视频亮度等级所对应的编码值区间为[307,614),第三亮度等级所对应的编码值区间为[614,1024],终端在播放目标视频的过程中,获取到目标视频片段的编码值K,并确定出编码值K属于第一亮度等级所对应的编码值区间(0,307),即目标视频片段对应的目标视频亮度等级为第一亮度等级,则获取第一亮度等级所对应的色调映射算法,并将第一亮度等级所对应的色调映射算法确定为目标视频片段的色调映射算法。
上述实施例中,终端通过直接依据目标视频中目标视频片段的编码值与视频亮度等级对应的编码值区间之间的关系,确定目标视频片段的色调映射算法,以便基于色调映射算法实现对目标视频片段的色调转换,得到经过色调转换的目标视频片段,播放目标视频中经过色调转换的目标视频片段,从而使得终端在对视频进行播放时,可以基于播放环境亮度自动对视频画面的亮度进行适应性调整,在视频画面的清晰播放的同时确保用户舒适的用眼体验,从而提高了视频播放的效果。
在一个实施例中,终端在获取环境亮度信息之前,如图6所示,上述视频播放方法还包括以下步骤:
S602,当目标视频属于窄动态范围的视频时,对目标视频的各视频帧进行下采样,得到下采样图像。
其中,窄动态范围的视频可以指低动态范围(LDR,Low Dynamic Range)的视频,或标准动态范围(SDR,Standard Dynamic Range)的视频,低动态范围(LDR)的视频是指由低动态范围图像所组合成的视频,标准动态范围的视频是指由标准动态范围图像所组合成的视频;由高动态范围的图像组成的目标视频为高动态范围(HDR)的视频。可以理解的是,窄动态范围的视频相对于高动态范围的视频,视频画面质量较差,从而视频观看效果也较差。
下采样可以是随机下采样、EasyEnsemble采样、BalanceCascade采样、NearMiss采样或下池化等中的任一种。
在一个实施例中,S602具体可以包括:终端对视频帧进行归一化处理,得到归一化的视频帧;将归一化的视频帧输入至机器学习模型;通过机器学习模型对归一化的视频帧进行下采样,得到对应的下采样图像。
其中,归一化处理是指将视频帧中的像素值归一化到[0,1]之间,从而使得归一化之后的视频帧中像素值之和等于1。对于归一化之后的像素值,其数据类型可以是32比特(bit)的浮点型。
例如,利用计算式将视频帧进行归一化处理,其中,I为标准动态范围(或低动态范围)的视频帧,/>为归一化之后的视频帧;m为归一化系数,该系数与视频帧的大小有关,对于8bit的标准动态范围的视频帧,m=255;而对于16bit的标准动态范围的视频帧,m=65535。
在一个实施例中,终端可以通过机器学习模型,以平均池化方式或最大池化方式对视频帧进行池化处理,得到对应的下采样图像。
S604,从下采样图像中提取全局图像特征和局部图像特征。
其中,全局图像特征可以指融合了整个视频帧的图像特征。例如,对于视频帧1,其全局图像特征即为融合了整个视频帧1的图像特征。局部图像特征可以指提取了视频帧中某一部分的图像特征。例如,对于视频帧1,该视频帧1中的目标物为猫和狗,其局部图像特征可以是猫的图像特征或狗的图像特征。在低分辨率图像中,所有的局部特征图像的集合可以构成全局图像特征。
场景1,直接从低分辨率图像中提取全局图像特征和局部图像特征。
在一个实施例中,终端通过机器学习模型的第一特征提取网络从低分辨率图像中提取全局图像特征,以及通过机器学习模型的第二特征提取网络从低分辨率图像中提取局部图像特征。
其中,第一特征提取网络可以是由卷积神经网络(CNN,Convolutional NeuralNetworks)和全连接层级联所构成的网络,该卷积神经网络中对应卷积层的步长(stride)可以设置为2。
第二特征提取网络可以是卷积神经网络,该卷积神经网络中对应卷积层的步长可以设置为1。
在一个实施例中,终端可以利用卷积神经网络对低分辨率图像进行卷积,从而使尺度下降以降低终端的运算压力,然后从该卷积神经网络的输出结果中提取全局图像特征和局部图像特征。其中,该卷积神经网络可以是由至少三个卷积层级联而成,该卷积层的步长为2。
场景2,从图像金字塔中提取全局图像特征和局部图像特征,该图像金字塔是由低分辨率图像和对应的至少两个高斯图像所构成。
在一个实施例中,终端可以利用两个级联的卷积层对该低分辨率图像进行卷积处理,并获取每个卷积层的输出结果,其中,该两个级联的卷积层的卷积核可以是高斯卷积核。然后,将该低分辨率图像与该两个级联的卷积层各自的输出结果组合成图像金字塔,从该图像金字塔提取全局图像特征和局部图像特征。
在一个实施例中,终端还可以利用卷积神经网络对该图像金字塔进行卷积,使尺度下降以降低终端的运算压力,从该卷积神经网络的输出结果中提取全局图像特征和局部图像特征。其中,该卷积神经网络可以是由至少三个卷积层级联而成,该卷积层的步长为2。
S606,基于各视频帧对应的引导图,对全局图像特征和局部图像特征拼接,得到图像拼接特征。
其中,视频帧为低动态范围图像或标准动态范围图像,其引导图可以是该视频帧对应的高动态范围图像,而该高动态范围图像是利用映射曲线或该映射曲线对应的多个映射直线将该视频帧的低动态范围像素信息映射到高动态范围的空间所获得的。该引导图的通道数为1。
全局图像特征在复制成与局部图像特征一致的尺寸之后,将尺寸一致的全局图像特征和局部图像特征进行拼接,得到图像拼接特征。
在一个实施例中,终端可以由机器学习模型利用多个映射直线将提取的视频帧映射成对应的引导图。其中,该多个映射直线是根据映射曲线所得的,而每条映射直线的斜率以及与x轴交叉的值可通过学习所得。
在一个实施例中,终端通过至少两层高斯金字塔对视频帧进行图像处理,得到至少两个不同分辨率的高斯图像;将高斯图像和视频帧组合,得到至少三层的第二图像金字塔;将第二图像金字塔映射成引导图。
其中,上述至少两层高斯金字塔可以是由至少两个级联的卷积层所构成,卷积层对应的卷积核为高斯卷积核。构建金字塔可以使机器学习模型从多个尺度上提取图像特征,同时也可以扩大模型的参数量,在可接受的效率损耗范围内,可以提升模型的表达能力。
上述分辨率是指图像分辨率。上述图像金字塔是指一系列以金字塔形状排列的、且图像分辨率从下往上逐步降低的图像的集合,即图像金字塔底层的图像分辨率最高,图像金字塔顶层的图像分辨率最低。
S608,对图像拼接特征进行上采样,得到逆色调映射参数。
其中,上采样可以是双线性插值、转置卷积或上池化(UnPooling)中的任一种。
逆色调映射可以指利用机器学习模型对低动态范围或标准动态范围的视频转换为高动态范围的视频的过程。逆色调映射参数可以指通过图像拼接特征和引导图构建的各像素点的逆色调映射矩阵。
在一个实施例中,S608具体可以包括:终端对全局图像特征和局部图像特征拼接而成的图像拼接特征进行卷积,得到卷积后图像拼接特征;利用视频帧对应的引导图对卷积后图像拼接特征进行上采样,得到逆色调映射参数。从而利用引导图可以对双边参数网格进行上采样,可以将低分辨率的图像特征应用到高动态范围的目标视频帧中。
其中,终端对全局图像特征和局部图像特征拼接而成的图像拼接特征进行卷积,得到双边参数网格,该双边参数网格是多维的图像拼接特征(即卷积后图像拼接特征),以下以5维的卷积后图像拼接特征为例进行阐述。
具体地,终端利用如下上采样计算式计算出逆色调映射参数。该上采样计算式如下所述:
其中,Ac为双边参数网格(即卷积后图像拼接特征),i是卷积后图像拼接特征中第4个维度上的位置,j是第5个维度上的位置,k是第3个维度上的位置;d等于8;g为引导图,p为像素位置;rx和ry分别为在水平和竖直方向上双边参数网格与引导图之间的比例;为逆色调映射参数。因此,通过上述上采样计算式可以计算出逆色调映射参数/>
S610,基于逆色调映射参数和各视频帧生成高动态范围的图像,得到由高动态范围的图像组成的目标视频。
在S610中,是将逆色调映射参数应用到原始的视频帧中,从而可以得到高动态范围的图像。
在一个实施例中,S610具体可以包括:终端基于归一化的视频帧中各通道灰度值和对应通道的逆色调映射参数,生成高动态范围的各通道图像;将高动态范围的各通道图像进行融合,得到高动态范围的图像。
具体地,终端利用如下映射计算式获得高动态范围的各通道图像,然后融合高动态范围的各通道图像得到高动态范围的图像,该映射计算式为:
其中,c为高动态范围的图像的通道,所以c的值为{0,1,2},分别对应红绿蓝(RGB)三个颜色通道;Oc为某个通道的通道图像,即RGB三个通道中的一个通道图像;nφ为输入图像的通道数,这里nφ为9;p为像素位置。因此,通过上述计算式可以得出高动态范围的各通道图像,然后融合高动态范围的各通道图像得到高动态范围的图像。
上述实施例中,当目标视频属于窄动态范围的视频时,同过对目标视频的各视频帧进行下采样,得到下采样图像,然后从下采样图像中提取全局图像特征和局部图像特征,基于各视频帧对应的引导图,对全局图像特征和局部图像特征拼接,得到图像拼接特征,对图像拼接特征进行上采样,得到逆色调映射参数,基于逆色调映射参数和各视频帧生成高动态范围的图像,得到由高动态范围的图像组成的目标视频。由于从低分辨率的图像中提取特征,低分辨率的图像特征应用到视频帧中得到高动态范围的目标视频帧,降低了终端的计算量;而且,通过视频帧对应的引导图对图像拼接特征进行上采样,并将所得的逆色调映射参数应用到视频帧中得到高动态范围的目标视频帧,相对传统方案,保留了空间域到时间域上的所有信号,避免了映射后所得的目标视频出现亮度或色差的问题,有效地提高了映射效果。
在一个实施例中,如图7所示,还提供了一种视频播放方法,该视频播放方法可以由图1中的终端或服务器执行,也可以由终端和服务器共同执行,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S702,在播放目标视频的过程中,获取环境亮度信息。
S704,基于环境亮度信息确定视频播放环境对应的环境亮度级别。
S706,依据环境亮度级别确定各视频亮度等级对应的亮度阈值。
S708,根据各视频亮度等级对应的亮度阈值划分亮度区间。
S710,基于目标视频的总时长确定视频片段数量。
S712,依据视频片段数量对目标视频划分片段,得到至少两个视频片段。
S714,获取至少两个视频片段中目标视频片段的各视频帧对应的帧编码值。
S716,基于各视频帧对应的帧编码值,确定目标视频片段对应的片段编码值。
S718,获取目标视频的原始色调映射算法。
S720,基于片段编码值和原始色调映射算法,确定目标视频片段的亮度值。
S722,在视频亮度等级对应的亮度区间中,选取目标视频片段的亮度值所属的目标亮度区间。
S724,基于目标亮度区间对应的目标视频亮度等级,确定目标视频片段的色调映射算法。
S726,基于色调映射算法对目标视频片段进行色调转换。
S728,播放目标视频中经过色调转换的目标视频片段。
本申请还提供一种应用场景,该应用场景下目标视频的编码方式可以采用8bit或10bit编码,该应用场景应用上述的视频播放方法。具体地,该视频播放方法在该应用场景的应用如下,参考图8:
步骤1:定义各视频亮度等级对应的亮度区间。
终端预先存储各种环境亮度级别下各视频亮度等级对应的亮度区间和或编码值区间,其中亮度区间与编码值区间一一对应,且可以基于原始色调映射函数进行相互转换。
步骤2:在播放目标视频的过程中,获取环境亮度信息;对目标视频分段,获取待播放的目标视频片段的亮度值。
终端划分目标视频为多段,具体可以按照片段时长阈值对目标视频进行分段,得到各个视频片段具体如下公式所示:
Video={C1,C2,…,Cn} (6)
其中,C1、C2、Cn为所得到的各个视频片段,video为目标视频,所得到的各个视频片段的时长不超过片段时长阈值。
各个视频片段对应的亮度值如下:
L'={L'1,L'2,…,L'n} (7)
在播放目标视频的过程中,所获取的各个视频片段的亮度值通过以下公式进行标识,例如,L'1为C1视频片段对应的亮度值,L'1具体可以是C1视频片段中各个视频帧的亮度值的平均值,任一视频帧的亮度值为该视频帧中各个像素点的亮度值的平均值。
步骤3:基于各视频亮度等级对应的亮度区间、获取环境亮度信息和待播放的目标视频片段的亮度值,确定目标视频片段的色调映射算法。
终端根据环境亮度信息确定出当前视频播放环境下各个视频亮度等级对应的亮度区间,并确定目标视频片段的亮度值所属的目标亮度区间,从而基于目标亮度区间确定目标视频片段对应的目标视频亮度等级,并将目标视频亮度等级对应的色调映射算法确定目标视频片段的色调映射算法。
针对任意一个视频片段确定目标视频亮度等级可参考以下公式:
其中,L'i为任意一个视频片段亮度值,该亮度值为色调转换之前的原始亮度值。
步骤4:基于色调映射算法对目标视频片段进行色调转换;播放目标视频中经过色调转换的目标视频片段。
终端基于目标视频片段的编码值和色调映射算法,确定目标视频片段中各视频帧的亮度调整值,基于亮度调整值对目标视频片段中各视频帧进行亮度渲染,得到经过色调转换的目标视频片段,并对经过色调转换的目标视频片段进行播放。
针对任意一个视频片段,其所对应的色调转换算法如下公式:
其中,T2为第三编码值区间和第二编码值区间的区间端点值。f1(x)可以是图4所示的第一线性映射算法对应的曲线,g(x)可以是图5所示的原始色调映射算法,且图5中所示的g(x)是图3中Gamma曲线的一部分,f2(x)可以是图5所示的第二线性映射算法对应的曲线,T2即为g(x)和f2(x)的交点所对应的编码值。
应该理解的是,虽然图2、6、7和8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、6、7和8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种视频播放装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:环境亮度信息获取模块902、亮度区间确定模块904、算法确定模块906、色调转换模块908和视频播放模块910,其中:
环境亮度信息获取模块902,用于在播放目标视频的过程中,获取环境亮度信息。
亮度区间确定模块904,用于基于环境亮度信息确定各视频亮度等级对应的亮度区间。
算法确定模块906,用于依据目标视频中目标视频片段的亮度值与视频亮度等级对应的亮度区间之间的关系,确定目标视频片段的色调映射算法。
色调转换模块908,用于基于色调映射算法对目标视频片段进行色调转换。
视频播放模块910,用于播放目标视频中经过色调转换的目标视频片段。
上述实施例中,在播放目标视频的过程中,实时采集环境亮度信息并获取待播放的目标视频片段,并基于环境亮度信息确定各视频亮度等级对应的亮度区间,依据目标视频中目标视频片段的亮度值与视频亮度等级对应的亮度区间之间的关系,确定目标视频片段的色调映射算法,从而基于色调映射算法实现对目标视频片段的色调转换,得到经过色调转换的目标视频片段,播放目标视频中经过色调转换的目标视频片段,从而使得终端在对视频进行播放时,可以基于播放环境亮度自动对视频画面的亮度进行适应性调整,在视频画面的清晰播放的同时确保用户舒适的用眼体验,从而提高了视频播放的效果。
在一个实施例中,亮度区间确定模块904,还用于:基于环境亮度信息确定视频播放环境对应的环境亮度级别;依据环境亮度级别确定各视频亮度等级对应的亮度阈值;根据各视频亮度等级对应的亮度阈值划分亮度区间。
在一个实施例中,算法确定模块906,还用于:确定目标视频中目标视频片段的亮度值;在视频亮度等级对应的亮度区间中,选取目标视频片段的亮度值所属的目标亮度区间;基于目标亮度区间对应的目标视频亮度等级,确定目标视频片段的色调映射算法。
在一个实施例中,算法确定模块906,还用于:确定目标视频中目标视频片段对应的片段编码值;获取目标视频的原始色调映射算法;基于片段编码值和原始色调映射算法,确定目标视频片段的亮度值。
在一个实施例中,算法确定模块906,还用于:基于目标视频的总时长确定视频片段数量;依据视频片段数量对目标视频划分片段,得到至少两个视频片段;获取至少两个视频片段中目标视频片段的各视频帧对应的帧编码值;基于各视频帧对应的帧编码值,确定目标视频片段对应的片段编码值。
在一个实施例中,视频亮度等级包括第一亮度等级、第二亮度等级和第三亮度等级;算法确定模块906,还用于:当目标亮度区间为第一亮度等级对应的亮度区间时,获取第一线性映射算法,并将第一线性映射算法作为目标视频的色调映射算法;当目标亮度区间为第二亮度等级对应的亮度区间时,将目标视频的原始色调映射算法作为目标视频的色调映射算法;当目标亮度区间为第三亮度等级对应的亮度区间时,获取第二线性映射算法或凸函数型算法,并将第二线性映射算法或凸函数型算法作为目标视频的色调映射算法;其中,第一线性映射算法、原始色调映射算法、第二线性映射算法和凸函数型算法是不同的映射算法。
在一个实施例中,算法确定模块906,还用于:将目标视频中目标视频片段的亮度值,转换为编码值;将各视频亮度等级对应的亮度区间,转换为编码值区间;在各视频亮度等级对应的编码值区间内,确定目标视频片段的编码值所属的目标编码值区间;基于目标编码值区间对应的视频亮度等级,确定目标视频片段的色调映射算法。
在一个实施例中,色调转换模块908,还用于:基于目标视频片段的编码值和色调映射算法,确定目标视频片段中各视频帧的亮度调整值;基于亮度调整值对目标视频片段中各视频帧进行亮度渲染,得到经过色调转换的目标视频片段。
在一个实施例中,如图10所示,该装置还包括:
下采样模块912,用于当目标视频属于窄动态范围的视频时,对目标视频的各视频帧进行下采样,得到下采样图像。
特征提取模块914,用于从下采样图像中提取全局图像特征和局部图像特征。
特征拼接模块916,用于基于各视频帧对应的引导图,对全局图像特征和局部图像特征拼接,得到图像拼接特征。
上采样模块918,用于对图像拼接特征进行上采样,得到逆色调映射参数。
图像生成模块920,用于基于逆色调映射参数和各视频帧生成高动态范围的图像,得到由高动态范围的图像组成的目标视频。
关于视频播放装置的具体限定可以参见上文中对于视频播放方法的限定,在此不再赘述。上述视频播放装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储视频数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种视频播放方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种视频播放方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11至12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (18)

1.一种视频播放方法,其特征在于,所述方法包括:
在播放目标视频的过程中,获取环境亮度信息;
基于所述环境亮度信息确定视频播放环境对应的环境亮度级别;依据所述环境亮度级别确定各视频亮度等级对应的亮度阈值;根据各所述视频亮度等级对应的亮度阈值划分亮度区间;
依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法;所述目标视频片段的亮度值是目标视频片段基于原始色调映射算法所确定的原始亮度值;所述原始色调映射算法是当前视频播放环境所对应的原始的色调映射算法;
基于所述色调映射算法对所述目标视频片段进行色调转换;
播放所述目标视频中经过色调转换的目标视频片段;
其中,不同环境亮度级别下同一视频亮度等级所对应的亮度区间的区间端点的值不同。
2.根据权利要求1所述的方法,其特征在于,所述依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法,包括:
确定所述目标视频中目标视频片段的亮度值;
在所述视频亮度等级对应的亮度区间中,选取所述目标视频片段的亮度值所属的目标亮度区间;
基于所述目标亮度区间对应的目标视频亮度等级,确定所述目标视频片段的色调映射算法。
3.根据权利要求2所述的方法,其特征在于,所述确定所述目标视频中目标视频片段的亮度值,包括:
确定所述目标视频中目标视频片段对应的片段编码值;
获取所述目标视频的原始色调映射算法;
基于所述片段编码值和所述原始色调映射算法,确定所述目标视频片段的亮度值。
4.根据权利要求3所述的方法,其特征在于,所述确定所述目标视频中目标视频片段对应的片段编码值,包括:
基于所述目标视频的总时长确定视频片段数量;
依据所述视频片段数量对所述目标视频划分片段,得到至少两个视频片段;
获取至少两个所述视频片段中目标视频片段的各视频帧对应的帧编码值;
基于各所述视频帧对应的帧编码值,确定所述目标视频片段对应的片段编码值。
5.根据权利要求2所述的方法,其特征在于,所述视频亮度等级包括第一亮度等级、第二亮度等级和第三亮度等级;
所述基于所述目标亮度区间对应的目标视频亮度等级,确定所述目标视频片段的色调映射算法,包括:
当所述目标亮度区间为所述第一亮度等级对应的亮度区间时,获取第一线性映射算法,并将所述第一线性映射算法作为所述目标视频的色调映射算法;
当所述目标亮度区间为所述第二亮度等级对应的亮度区间时,将所述目标视频的原始色调映射算法作为所述目标视频的色调映射算法;
当所述目标亮度区间为所述第三亮度等级对应的亮度区间时,获取第二线性映射算法或凸函数型算法,并将所述第二线性映射算法或所述凸函数型算法作为所述目标视频的色调映射算法;
其中,所述第一线性映射算法、所述原始色调映射算法、所述第二线性映射算法和所述凸函数型算法是不同的映射算法。
6.根据权利要求1所述的方法,其特征在于,所述依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法,包括:
将所述目标视频中目标视频片段的亮度值,转换为编码值;
将各所述视频亮度等级对应的亮度区间,转换为编码值区间;
在各所述视频亮度等级对应的编码值区间内,确定所述目标视频片段的编码值所属的目标编码值区间;
基于所述目标编码值区间对应的视频亮度等级,确定所述目标视频片段的色调映射算法。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述基于所述色调映射算法对所述目标视频片段进行色调转换,包括:
基于所述目标视频片段的编码值和所述色调映射算法,确定所述目标视频片段中各视频帧的亮度调整值;
基于所述亮度调整值对所述目标视频片段中各视频帧进行亮度渲染,得到经过色调转换的目标视频片段。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述获取环境亮度信息之前,所述方法还包括:
当所述目标视频属于窄动态范围的视频时,对所述目标视频的各视频帧进行下采样,得到下采样图像;
从所述下采样图像中提取全局图像特征和局部图像特征;
基于各所述视频帧对应的引导图,对所述全局图像特征和所述局部图像特征拼接,得到图像拼接特征;
对所述图像拼接特征进行上采样,得到逆色调映射参数;
基于所述逆色调映射参数和各所述视频帧生成高动态范围的图像,得到由所述高动态范围的图像组成的目标视频。
9.一种视频播放装置,其特征在于,所述装置包括:
环境亮度信息获取模块,用于在播放目标视频的过程中,获取环境亮度信息;
亮度区间确定模块,用于基于所述环境亮度信息确定视频播放环境对应的环境亮度级别;依据所述环境亮度级别确定各视频亮度等级对应的亮度阈值;根据各所述视频亮度等级对应的亮度阈值划分亮度区间;
算法确定模块,用于依据所述目标视频中目标视频片段的亮度值与所述视频亮度等级对应的亮度区间之间的关系,确定所述目标视频片段的色调映射算法;所述目标视频片段的亮度值是目标视频片段基于原始色调映射算法所确定的原始亮度值;所述原始色调映射算法是当前视频播放环境所对应的原始的色调映射算法;
色调转换模块,用于基于所述色调映射算法对所述目标视频片段进行色调转换;
视频播放模块,用于播放所述目标视频中经过色调转换的目标视频片段;
其中,不同环境亮度级别下同一视频亮度等级所对应的亮度区间的区间端点的值不同。
10.根据权利要求9所述的装置,其特征在于,所述算法确定模块,还用于:
确定所述目标视频中目标视频片段的亮度值;
在所述视频亮度等级对应的亮度区间中,选取所述目标视频片段的亮度值所属的目标亮度区间;
基于所述目标亮度区间对应的目标视频亮度等级,确定所述目标视频片段的色调映射算法。
11.根据权利要求10所述的装置,其特征在于,所述算法确定模块,还用于:
确定所述目标视频中目标视频片段对应的片段编码值;
获取所述目标视频的原始色调映射算法;
基于所述片段编码值和所述原始色调映射算法,确定所述目标视频片段的亮度值。
12.根据权利要求11所述的装置,其特征在于,所述算法确定模块,还用于:
基于所述目标视频的总时长确定视频片段数量;
依据所述视频片段数量对所述目标视频划分片段,得到至少两个视频片段;
获取至少两个所述视频片段中目标视频片段的各视频帧对应的帧编码值;
基于各所述视频帧对应的帧编码值,确定所述目标视频片段对应的片段编码值。
13.根据权利要求10所述的装置,其特征在于,所述视频亮度等级包括第一亮度等级、第二亮度等级和第三亮度等级;
所述算法确定模块,还用于:
当所述目标亮度区间为所述第一亮度等级对应的亮度区间时,获取第一线性映射算法,并将所述第一线性映射算法作为所述目标视频的色调映射算法;
当所述目标亮度区间为所述第二亮度等级对应的亮度区间时,将所述目标视频的原始色调映射算法作为所述目标视频的色调映射算法;
当所述目标亮度区间为所述第三亮度等级对应的亮度区间时,获取第二线性映射算法或凸函数型算法,并将所述第二线性映射算法或所述凸函数型算法作为所述目标视频的色调映射算法;
其中,所述第一线性映射算法、所述原始色调映射算法、所述第二线性映射算法和所述凸函数型算法是不同的映射算法。
14.根据权利要求9所述的装置,其特征在于,所述算法确定模块,还用于:
将所述目标视频中目标视频片段的亮度值,转换为编码值;
将各所述视频亮度等级对应的亮度区间,转换为编码值区间;
在各所述视频亮度等级对应的编码值区间内,确定所述目标视频片段的编码值所属的目标编码值区间;
基于所述目标编码值区间对应的视频亮度等级,确定所述目标视频片段的色调映射算法。
15.根据权利要求9至14中任一项所述的装置,其特征在于,所述色调转换模块,还用于:
基于所述目标视频片段的编码值和所述色调映射算法,确定所述目标视频片段中各视频帧的亮度调整值;
基于所述亮度调整值对所述目标视频片段中各视频帧进行亮度渲染,得到经过色调转换的目标视频片段。
16.根据权利要求9至14中任一项所述的装置,其特征在于,所述装置还包括:
下采样模块,用于当所述目标视频属于窄动态范围的视频时,对所述目标视频的各视频帧进行下采样,得到下采样图像;
特征提取模块,用于从所述下采样图像中提取全局图像特征和局部图像特征;
特征拼接模块,用于基于各所述视频帧对应的引导图,对所述全局图像特征和所述局部图像特征拼接,得到图像拼接特征;
上采样模块,用于对所述图像拼接特征进行上采样,得到逆色调映射参数;
图像生成模块,用于基于所述逆色调映射参数和各所述视频帧生成高动态范围的图像,得到由所述高动态范围的图像组成的目标视频。
17.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
18.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
CN202111370207.4A 2021-11-18 2021-11-18 视频播放方法、装置、计算机设备和存储介质 Active CN116137674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111370207.4A CN116137674B (zh) 2021-11-18 2021-11-18 视频播放方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111370207.4A CN116137674B (zh) 2021-11-18 2021-11-18 视频播放方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN116137674A CN116137674A (zh) 2023-05-19
CN116137674B true CN116137674B (zh) 2024-04-09

Family

ID=86333238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111370207.4A Active CN116137674B (zh) 2021-11-18 2021-11-18 视频播放方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN116137674B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154059A (zh) * 2017-06-26 2017-09-12 杭州当虹科技有限公司 一种高动态范围视频处理方法
CN107205125A (zh) * 2017-06-30 2017-09-26 广东欧珀移动通信有限公司 一种图像处理方法、装置、终端及计算机可读存储介质
CN111683269A (zh) * 2020-06-12 2020-09-18 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机设备和存储介质
CN112565636A (zh) * 2020-12-01 2021-03-26 影石创新科技股份有限公司 图像处理方法、装置、设备和存储介质
CN113079362A (zh) * 2021-03-30 2021-07-06 北京奇艺世纪科技有限公司 视频信号处理方法、装置及电子设备
CN113096035A (zh) * 2021-03-31 2021-07-09 康佳集团股份有限公司 高动态范围图像生成方法、装置、智能终端及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180152686A1 (en) * 2016-11-28 2018-05-31 Microsoft Technology Licensing, Llc Tone mapping functions for rendering high dynamic range video on enhanced dynamic range display devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154059A (zh) * 2017-06-26 2017-09-12 杭州当虹科技有限公司 一种高动态范围视频处理方法
CN107205125A (zh) * 2017-06-30 2017-09-26 广东欧珀移动通信有限公司 一种图像处理方法、装置、终端及计算机可读存储介质
CN111683269A (zh) * 2020-06-12 2020-09-18 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机设备和存储介质
CN112565636A (zh) * 2020-12-01 2021-03-26 影石创新科技股份有限公司 图像处理方法、装置、设备和存储介质
CN113079362A (zh) * 2021-03-30 2021-07-06 北京奇艺世纪科技有限公司 视频信号处理方法、装置及电子设备
CN113096035A (zh) * 2021-03-31 2021-07-09 康佳集团股份有限公司 高动态范围图像生成方法、装置、智能终端及存储介质

Also Published As

Publication number Publication date
CN116137674A (zh) 2023-05-19

Similar Documents

Publication Publication Date Title
CN111683269B (zh) 视频处理方法、装置、计算机设备和存储介质
CN111819798B (zh) 经由实时压缩控制周边图像区域中的图像显示
CN103843032B (zh) 用于高动态范围图像的图像处理
US10977764B2 (en) Viewport independent image coding and rendering
ES2694806T3 (es) Operador de correlación de tonos multiescala local
US6281903B1 (en) Methods and apparatus for embedding 2D image content into 3D models
CN108513119A (zh) 图像的映射、处理方法、装置和机器可读介质
JP2012532335A (ja) ゾーン・ベースのトーン・マッピング
CN111260593B (zh) 图像处理方法、装置、电子设备及存储介质
KR20190037842A (ko) 외부 전자 장치에서 생성된 정보를 이용하여 이미지 데이터를 처리하는 방법 및 전자 장치
CN111353965B (zh) 图像修复方法、装置、终端及存储介质
US20240205376A1 (en) Image processing method and apparatus, computer device, and storage medium
CN113068034A (zh) 视频编码方法及装置、编码器、设备、存储介质
CN116137674B (zh) 视频播放方法、装置、计算机设备和存储介质
CN115661403A (zh) 显式辐射场的处理方法、设备和存储介质
CN115499632A (zh) 一种图像信号转换处理方法、装置及终端设备
CN116843736A (zh) 场景渲染方法及装置、计算设备、存储介质和程序产品
CN115937395A (zh) 电气设备模型渲染方法、装置、计算机设备和存储介质
EP4040397A1 (en) Method and computer program product for producing a 3d representation of an object
CN115604528A (zh) 鱼眼图像压缩、鱼眼视频流压缩以及全景视频生成方法
CN112118446B (zh) 图像压缩方法及装置
US11893668B2 (en) Imaging system and method for generating a final digital image via applying a profile to image information
Loscos et al. From capture to immersive viewing of 3D HDR point clouds
CN118018859A (zh) 训练数据的生成方法、装置、电子设备和存储介质
CN116156177A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40086463

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant