CN116456111A - 视频抽帧处理与倍速播放方法、装置、视频平台及介质 - Google Patents

视频抽帧处理与倍速播放方法、装置、视频平台及介质 Download PDF

Info

Publication number
CN116456111A
CN116456111A CN202310281912.XA CN202310281912A CN116456111A CN 116456111 A CN116456111 A CN 116456111A CN 202310281912 A CN202310281912 A CN 202310281912A CN 116456111 A CN116456111 A CN 116456111A
Authority
CN
China
Prior art keywords
frame
video
sequence
determining
frame loss
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310281912.XA
Other languages
English (en)
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202310281912.XA priority Critical patent/CN116456111A/zh
Publication of CN116456111A publication Critical patent/CN116456111A/zh
Priority to US18/437,818 priority patent/US20240312211A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • 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/172Methods 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 picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请实施例提供了视频抽帧处理与倍速播放方法、装置、视频平台及介质,所述方法包括:获取视频序列的编码图像,并获取编码图像的显示时间戳和非参考帧标志;其中,编码图像具有时域层级的编码结构;按照时域层级,根据显示时间戳和非参考帧标志,确定视频序列的丢帧位置;根据丢帧位置对视频序列进行抽帧操作。基于按照时域层级对视频序列进行的逐层抽帧操作,以及按照非参考帧标志所进行的丢帧,从而大幅提高丢帧率,大幅度降低播放视频序列时所进行的解码、渲染等视频处理过程的计算量,降低处理耗时,进而达到提高快速播放的倍速以及提高快速播放的流畅度的效果,满足在倍速播放需求下对分辨率和播放帧率的高要求。

Description

视频抽帧处理与倍速播放方法、装置、视频平台及介质
技术领域
本申请涉及视频处理技术领域,特别是涉及一种视频抽帧处理方法与相应的一种视频抽帧装置、一种视频倍速播放方法与相应的一种视频倍速播放装置、相应的一种视频平台,以及相应的一种计算机可读存储介质。
背景技术
在视频播放领域中,能够基于视频播放器、各类在线视频网站/APP等进行视频播放,通常可以向用户提供视频倍速播放的功能,例如可以提供1.25×、1.5×、2.0×、3.0×以及4.0×等倍速的快放能力。
随着视频从标清到超高清的不断发展,空间分辨率从720p发展到4K/8K,帧率从24fps发展到60fps/120fps,那么随着视频快放的倍速提高,将会存在对分辨率和播放帧率的高要求,然而在使用CPU(Central Processing Unit,中央处理器)实现软件解码或者SoC硬件芯片(System on Chip,系统级芯片)解码的相关技术中,难以基于相关解码方式满足对分辨率和播放帧率的高要求。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视频抽帧处理方法与相应的一种视频抽帧装置、一种视频倍速播放方法与相应的一种视频倍速播放装置、相应的一种视频平台,以及相应的一种计算机可读存储介质。
本申请实施例公开了一种视频抽帧处理方法,所述方法包括:获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置;根据所述丢帧位置对所述视频序列进行抽帧操作。
可选地,所述按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置,包括:获取所述视频序列的帧序列;所述帧序列包括若干个帧序列;以所述帧序列为周期,按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置。
可选地,所述获取所述视频序列的帧序列,包括:基于所述显示时间戳在所述视频序列中,作为帧序列的起始帧;基于所述起始帧和所述编码结构,确定位于所述起始帧后预设个数的各个图像帧与所述起始帧为同一帧序列。
可选地,所述按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置,包括:基于所述图像编码的编码结构,确定各个帧序列中起始帧与位于同一帧序列的各个图像帧所处的时域层级;按照各个时域层级,根据所述显示时间戳和所述非参考帧标志确定丢帧位置。
可选地,所述按照各个时域层级,根据所述显示时间戳和/或所述非参考帧标志确定丢帧位置,包括:获取针对所述显示时间戳的第一抽帧策略,以及获取针对所述非参考帧标志的第二抽帧策略;根据所述第一抽帧策略和所述第二抽帧策略,确定各个帧序列中各个时域层级的丢帧位置。
可选地,所述根据所述第一抽帧策略和所述第二抽帧策略,确定各个帧序列中各个所处时域层级的丢帧位置,包括:按照各个时域层级,基于所述第一抽帧策略确定所述帧序列的第一丢帧位置;获取针对所述图像编码的映射关系,基于所述映射关系对当前所处时域层级的待解码的图像帧进行映射,得到映射后的显示顺序;其中,所述映射关系用于表示所述视频序列的显示顺序与解码顺序的转换关系;响应所述映射后的显示顺序中所述第一丢帧位置不满足预设顺序,采用所述第二抽帧策略确定各个帧序列的第二丢帧位置,将所述第二丢帧位置作为所述视频序列的丢帧位置。
可选地,还包括:在确定第一丢帧位置之后,响应所述映射后的显示顺序中所述第一丢帧位置满足预设顺序,采用所述第一丢帧位置作为所述视频序列的丢帧位置。
可选地,所述各个时域层级包括从高层级到低层级排序的多个时域层级;所述按照各个时域层级,基于所述第一抽帧策略确定所述帧序列的第一丢帧位置,包括:获取处于各个时域层级的各个图像帧;基于所述第一抽帧策略将高层级的时域层级的各个图像帧作为第一目标帧,并将所述第一目标帧在所述帧序列中所处的位置确定为第一丢帧位置;若所确定的第一目标帧不满足预设丢帧率,则按照从高层级到低层级的顺序,将各个时域层级的各个图像帧不断作为第一目标帧,并将所述第一目标帧在所述帧序列中所处的位置确定为第一丢帧位置,直至所确定的第一目标帧满足预设丢帧率为止;其中,所述预设丢帧率基于期望解码帧率确定,所述期望解码帧率满足期望播放速度。
可选地,所述采用所述第二抽帧策略确定各个帧序列的第二丢帧位置,包括:基于所述第二抽帧策略,按照编码图像携带的非参考帧标志,确定各个帧序列的第二丢帧位置。
可选地,所述按照编码图像携带的非参考帧标志,确定各个帧序列的第二丢帧位置,包括:基于映射后的显示顺序中不满足预设顺序的第一丢帧位置为错误帧位置;按照编码图像的非参考帧标志和所述错误帧位置,确定第二丢帧位置。
可选地,所述按照编码图像携带的非参考帧标志和所述错误帧位置,确定第二丢帧位置,包括:获取在针对所述图像编码的解码顺序中,位于所述错误帧位置之后的图像帧;若所述编码图像具有参考帧和/或非参考帧标志,则从所述错位帧位置相应的图像帧以及位于所述错误帧位置之后的图像帧中,确定具有非参考帧标志的图像帧所在的位置为第二丢帧位置;
还包括:若所述编码图像并未携带非参考帧标志,则不进行对所述第二丢帧位置的确定操作。
可选地,所述根据所述丢帧位置对所述视频序列进行抽帧操作,包括:根据所述丢帧位置确定所述视频序列的目标帧,对所述目标帧进行抽帧操作;所述丢帧位置包括针对显示时间戳的第一抽帧策略确定的第一丢帧位置,和针对非参考标志的第二抽帧策略确定的第二丢帧位置;所述根据所述丢帧位置确定所述视频序列的目标帧,对所述目标帧进行抽帧操作,包括:获取所述视频序列中位于第一丢帧位置的第一目标帧,以及位于第二丢帧位置的第二目标帧;在所述视频序列中对所述第一目标帧和所述第二目标帧进行抽帧操作。
可选地,进行抽帧操作后的视频序列满足期望播放速度,还包括:对所述进行抽帧操作后的视频序列,按照所述期望播放速度进行相应的倍速播放。
本申请实施例还公开了一种视频倍速播放方法,所述方法包括:接收用户的视频倍速播放指令;所述视频倍速播放指令包括期望播放速度;响应所述视频倍速播放指令,获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置;根据所述丢帧位置对所述视频序列进行抽帧操作;对所述进行抽帧操作后的视频序列,按照所述期望播放速度进行相应的倍速播放。
本申请实施例还公开了一种视频抽帧处理装置,所述装置包括:编码图像获取模块,用于获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;丢帧位置确定模块,用于按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置;视频抽帧模块,用于根据所述丢帧位置对所述视频序列进行抽帧操作。
可选地,所述丢帧位置确定模块包括:帧序列获取子模块,用于获取所述视频序列的帧序列;所述帧序列包括若干个帧序列;丢帧位置确定子模块,用于以所述帧序列为周期,按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置。
可选地,所述帧序列获取子模块包括:起始帧获取单元,用于基于所述显示时间戳在所述视频序列中,作为帧序列的起始帧;帧序列获取单元,用于基于所述起始帧和所述编码结构,确定位于所述起始帧后预设个数的各个图像帧与所述起始帧为同一帧序列。
可选地,所述丢帧位置确定子模块包括:时域层级确定单元,用于基于所述图像编码的编码结构,确定各个帧序列中起始帧与位于同一帧序列的各个图像帧所处的时域层级;丢帧位置确定单元,用于按照各个时域层级,根据所述显示时间戳和所述非参考帧标志确定丢帧位置。
可选地,所述丢帧位置确定单元包括:抽帧策略获取子单元,用于获取针对所述显示时间戳的第一抽帧策略,以及获取针对所述非参考帧标志的第二抽帧策略;丢帧位置确定子单元,用于根据所述第一抽帧策略和所述第二抽帧策略,确定各个帧序列中各个时域层级的丢帧位置。
具体地,丢帧位置确定子单元在根据所述第一抽帧策略和所述第二抽帧策略,确定各个帧序列中各个所处时域层级的目标丢帧位置时,包括:按照各个时域层级,基于所述第一抽帧策略确定所述帧序列的第一丢帧位置;获取针对所述图像编码的映射关系,基于所述映射关系对当前所处时域层级的待解码的图像帧进行映射,得到映射后的显示顺序;其中,所述映射关系用于表示所述视频序列的显示顺序与解码顺序的转换关系;响应所述映射后的显示顺序中所述第一丢帧位置不满足预设顺序,采用所述第二抽帧策略确定各个帧序列的第二丢帧位置,将所述第二丢帧位置作为所述视频序列的丢帧位置。以及,在确定第一丢帧位置之后,响应所述映射后的显示顺序中所述第一丢帧位置满足预设顺序,采用所述第一丢帧位置作为所述视频序列的丢帧位置。其中,所述各个时域层级包括从高层级到低层级排序的多个时域层级;所述按照各个时域层级,基于所述第一抽帧策略确定所述帧序列的第一丢帧位置,包括:获取处于各个时域层级的各个图像帧;基于所述第一抽帧策略将高层级的时域层级的各个图像帧作为第一目标帧,并将所述第一目标帧在所述帧序列中所处的位置确定为第一丢帧位置;若所确定的第一目标帧不满足预设丢帧率,则按照从高层级到低层级的顺序,将各个时域层级的各个图像帧不断作为第一目标帧,并将所述第一目标帧在所述帧序列中所处的位置确定为第一丢帧位置,直至所确定的第一目标帧满足预设丢帧率为止;其中,所述预设丢帧率基于期望解码帧率确定,所述期望解码帧率满足期望播放速度。所述采用所述第二抽帧策略确定各个帧序列的第二丢帧位置,包括:基于所述第二抽帧策略,按照编码图像携带的非参考帧标志,确定各个帧序列的第二丢帧位置。所述按照编码图像携带参考帧/非参考帧标志,确定各个帧序列的第二丢帧位置,包括:基于映射后的显示顺序中不满足预设顺序的第一丢帧位置为错误帧位置;按照编码图像的非参考帧标志和所述错误帧位置,确定第二丢帧位置。所述按照编码图像携带的非参考帧标志和所述错误帧位置,确定第二丢帧位置,包括:获取在针对所述图像编码的解码顺序中,位于所述错误帧位置之后的图像帧;若所述编码图像具有参考帧和/或非参考帧标志,则从所述错位帧位置相应的图像帧以及位于所述错误帧位置之后的图像帧中,确定具有非参考帧标志的图像帧所在的位置为第二丢帧位置;还包括:若所述编码图像并未携带非参考帧标志,则不进行对所述第二丢帧位置的确定操作。
可选地,所述视频抽帧模块包括:视频抽帧子模块,用于根据所述丢帧位置确定所述视频序列的目标帧,对所述目标帧进行抽帧操作;所述丢帧位置包括针对显示时间戳的第一抽帧策略确定的第一丢帧位置,和针对非参考标志的第二抽帧策略确定的第二丢帧位置;所述视频抽帧子模块包括:目标帧获取单元,用于获取所述视频序列中位于第一丢帧位置的第一目标帧,以及位于第二丢帧位置的第二目标帧;视频抽帧单元,用于在所述视频序列中对所述第一目标帧和所述第二目标帧进行抽帧操作。
可选地,进行抽帧操作后的视频序列满足期望播放速度,所述装置还包括:倍速播放模块,用于对所述进行抽帧操作后的视频序列,按照所述期望播放速度进行相应的倍速播放。
本申请实施例还公开了一种视频倍速播放装置,所述装置包括:倍速播放指令接收模块,用于接收用户的视频倍速播放指令;所述视频倍速播放指令包括期望播放速度;倍速播放指令响应模块,用于响应所述视频倍速播放指令,获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;丢帧位置确定模块,用于按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置;视频抽帧模块,用于根据所述丢帧位置对所述视频序列进行抽帧操作;倍速播放模块,用于对所述进行抽帧操作后的视频序列,按照所述期望播放速度进行相应的倍速播放。
本申请实施例还公开了一种视频平台,所述平台包括在所述视频平台中执行的计算机程序,所述计算机程序被所述视频平台执行时实现任一项所述视频抽帧处理或者任一项所述视频倍速播放方法。
本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现任一项所述视频抽帧处理或者任一项所述视频倍速播放方法。
本申请实施例包括以下优点:
在本申请实施例中,可以获取视频序列的编码图像的显示时间戳和非参考帧标志,通过结合显示时间戳与非参考帧标志确定丢帧位置,以根据所确定的丢帧位置对视频序列进行抽帧操作,实现基于按照时域层级对视频序列进行的逐层抽帧操作,以及按照非参考帧标志所进行的丢帧,从而大幅提高丢帧率,大幅度降低播放视频序列时所进行的解码、渲染等视频处理过程的计算量,降低处理耗时,进而达到提高快速播放的倍速以及提高快速播放的流畅度的效果,满足在倍速播放需求下对分辨率和播放帧率的高要求。
附图说明
图1是本申请的一种视频抽帧处理方法实施例的步骤流程图;
图2是本申请实施例提供的视频序列的一种参考帧结构示意图;
图3是本申请的另一种视频抽帧处理方法实施例的步骤流程图;
图4A至图4G是本申请实施例提供的不同帧长度的RA编码结构的示意图;
图5是本申请的一种视频倍速播放方法实施例的步骤流程图;
图6是本申请实施例提供的视频倍速播放的应用场景示意图;
图7是本申请的一种视频抽帧处理装置实施例的结构框图;
图8是本申请的一种视频倍速播放装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
为便于本领域技术人员理解本申请,下面对本申请下述各实施例中涉及的术语或名词做出解释:
帧率:用于测量视频显示静态画面帧数的量度,测量单位为每秒显示帧数(Frameper Second,FPS)或赫兹,通常FPS用于描述视频每秒播放多少帧静态画面。
I帧:即帧内编码图像帧,不参考其他图像帧,利用本帧的信息进行编码。
IDR帧:Instantaneous Decoder Refresh,属于I帧的一种,其作用主要是立刻刷新,表现为重新计算一个新的序列开始编码,使错误不致传播。在某种情况下,I帧存在被跨帧参考的可能,但IDR帧不存在。
P帧:即预测编码图像帧,能够利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码。
B帧:即双向预测编码图像帧,其可以提供较高的压缩比,其既依赖之前的图像帧(I帧或P帧),也依赖后来的图像帧(P帧),采用运动预测的方式进行帧间双向预测编码。
非参考帧:指的是不被其他P帧或B帧预测时参考的图像帧。
参考帧:指的是被其他P帧或B帧预测时参考的图像帧。
GOP:Group OfPictures的缩写,是图像组的概念,主要指的是视频编码序列中两个I帧之间的距离。其中,通常意义上的GOP由I帧开始,到下一个I帧之前的帧结束。
mini-GOP:连续的B帧加一个IDR/I/P帧为一组的帧序列。
DTS:Decoding Time Stamp的缩写,即解码时间戳,意义在于告知播放器该在什么时候解码这一帧的数据。
PTS:Presentation Time Stamp的缩写,即显示时间戳,用于告知播放器该在什么时候显示这一帧的数据。
AI编码:All Intra编码,指的是全帧内编码,为H.265/HEVC、H.266/VVC等标准的通用测试条件中常用的一种编码结构。在AI编码中,各帧图像可以按帧内方式进行空间域预测编码,不使用时间参考帧。
LD编码:Low Delay编码,指的是低延迟编码,为H.265/HEVC、H.266/VVC等标准的通用测试条件中常用的一种编码结构。在LD编码中,第一帧图像按照帧内方式进行编码,并成为即时解码更新(Instantaneous Decoding Refresh,IDR)帧,随后的各帧可以作为普通P和B帧(GeneralizedP and B Picture,GPB)进行编码,这主要是为交互式实时通信设计的。
RA编码:RandomAccess编码,指的是随机接入编码,为H.265/HEVC、H.266/VVC等标准的通用测试条件中常用的一种编码结构。在RA编码中,主要是分层B帧结构(Hierarchical B Structure)帧,周期性地插入一些随机访问(Clean RandomAccess,CRA)帧,成为编码视频流中的随机访问点(RandomAccess Point,RAP),这些随机访问点可以独立解码,不用参考码流中前面已经解码的图像帧。其中,RA模式由于压缩率高,在点播、直播等可以容忍一定延时的应用场合,得到了广泛应用。
H.266/VVC:Versatile Video Coding,为基于标准的编解码器。
H.264/AVC:AdvancedVideo Coding,为高级视频编码。
H.265/HEVC:Hight EfficiencyVideo Coding,为高效率视频编码。
RTC:Real time communication,实时通信。
随着视频从标清到超高清的不断发展,空间分辨率从720p发展到4K/8K,帧率从24fps发展到60fps/120fps,那么随着视频快放的倍速提高,将会存在对分辨率和播放帧率的高要求,例如假设要达到4倍速,即4.0×倍速播放的能力,意味着播放帧率要求达到480fps,然而在使用CPU实现软件解码或者SoC硬件芯片解码的相关技术中,难以基于相关解码方式满足对分辨率和播放帧率的高要求。且难以满足由于播放帧率的提高,而对网络传输速度的成倍增长以及网络环境所提出的高要求。
在视频解码的相关现有技术中,可以采用以目标帧率逐帧解码视频序列,但这种解码方式依赖解码视频序列中包含的图像帧,由于解码速度受到CPU或者SoC硬件芯片规格的限制,无法达到很高的目标帧率,进而可能无法达到期望的播放倍速;且当期望的播放倍速很高,然后实际上播放设备的CPU或者SoC硬件芯片规格又达不到用户所期望的能力时,CPU或者SoC硬件芯片将会以设备所能承受的速度限值进行解码播放,此时可能导致设备耗电量增加,设备发烫、续航时间缩短等现象,在这种状态持续一段时间的情况下,有些设备将会启动自我保护性机制,比如降低CPU频率,从而进一步降低解码播放速度,影响设备稳定性和用户体验。即若不对视频序列进行抽帧解码的方式,在相同的时间内所传输的数据量成倍增长,在网络环境不佳的情况下,难以承受过高的视频数据传输速度,进而难以满足对分辨率和播放帧率的高要求。
为了尽可能达到倍速播放相应播放帧率的要求,通常可以利用人眼的视觉暂留效应,设计解码抽帧方案,可以在多倍速播放时抽去一部分帧,达到减少解码帧数但不影响视觉主观效果的目的。
在相关现有技术中主要可以通过优化前述技术方案,采用逐帧解码播放的方式,抽去视频序列中的非参考帧,解码播放剩下的图像帧。此方案能够基于抽帧减少一些图像帧的解码,降低计算量,从而降低CPU或者SoC硬件芯片的解码功耗,进而满足多倍速播放的需求,而且由于视觉暂留效应,人眼无法察觉到视频存在抽帧行为,对用户的观看体验影响微乎其微。
但并非任何编码图像携带有参考帧/非参考帧标志,导致播放器无法识别哪一帧是参考帧,哪一帧是非参考帧,从而无法进行抽去非参考帧,即对于这一类的视频码流而言,通过抽去视频序列中非参考帧的方式无法满足倍速播放的高要求。以及,在这种方式中,其抽帧比例取决于非参考帧占所包含的图像帧的比例,既不能增加,也不能减少,即抽帧比例不够灵活;尤其是当期望的播放倍速较高时,无法以更高的比例实现抽帧,此时单位时间所需网络传输的视频数据量负载仍然过高,播放器的解码播放功耗依然过高,甚至可能无法达到期望的播放倍速和网络传输速度。
本申请实施例的核心思想在于通过结合PTS特征与非参考帧标志确定丢帧位置,进行逐层抽帧以及按照非参考帧标志进行丢帧的方案,不仅可以以一定的规则抽去非参考帧,还可以逐层抽去参考帧,从而大幅提高丢帧率,大幅降低播放装置的解码、渲染等视频处理过程的计算量,降低处理耗时,从而提高快速播放的倍速,提高快速播放的流畅度,降低播放装置的耗电量,延长播放装置的续航时间。进一步地,在快速播放时,由于播放帧率很高,可以利用人眼的视觉暂留效应,对视频按一定比例进行均匀抽帧,视频仍然可以连续播放,人眼并不能察觉到视频存在抽帧行为,即能够达到倍速播放相应播放帧率的要求。
参照图1,示出了本申请的一种视频抽帧处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取视频序列的编码图像,并获取编码图像的显示时间戳和非参考帧标志;
在本申请实施例中,为了尽可能达到倍速播放相应播放帧率的要求,通常可以利用人眼的视觉暂留效应,基于解码抽帧方式在多倍速播放时抽去一部分帧,达到减少解码帧数但不影响视觉主观效果的目的,应对由于播放帧率的提高对网络传输速度的增长以及网络环境所提出的高要求。
具体地,相较于相关技术中不对原始视频进行抽帧或者对原始视频抽去非参考帧的方式,在本申请的一种实施例中,能够通过结合PTS特征与非参考帧标志确定丢帧位置,进行逐层抽帧以及按照非参考帧标志进行丢帧,大幅提高丢帧率,进而达到提高快速播放的倍速以及提高快速播放的流畅度的效果,满足在倍速播放需求下对分辨率和播放帧率的高要求。
基于PTS特征与非参考帧标志确定丢帧位置,首先可以获取原始视频的视频序列,视频序列通常是按照某个编码结构对原始视频帧进行编码后得到的序列,那么所获取的视频序列可以包括编码图像,此编码图像存在进行视频编码时所采用的编码结构,在本申请实施例中,所采用的编码结构可以是具有时域层级的编码结构,对此,本申请实施例不加以限制。
在按照编码结构进行编码后得到的编码图像中,编码图像可以包括若干个图像帧,此时对于各个图像帧,通常存在用于告知播放器该在什么时候解码这一帧的数据的解码时间戳DTS,以及用于告知播放器该在什么时候显示这一帧的数据的显示时间戳PTS,即可以存在基于解码时间戳DTS组成的DTS顺序(即解码顺序),以及基于显示时间戳PTS组成的PTS顺序(即播放顺序或者显示顺序)。
具体地,对于DTS顺序和PTS顺序而言,当原始视频流中不存在B帧时,通常DTS顺序和PTS顺序是一致的;在存在B帧时,先到来的B帧无法立即解码,要求等待其依赖的后面的I、P帧先解码完成,那么播放顺序(即PTS顺序)与解码顺序(即DTS顺序)不一致,此时顺序发生了打乱,即如果播放当前的图像帧,并且当前帧为B帧(参考的是后一帧的图像),那么可以先解码后一帧,实现对当前的图像帧的解码。示例性地,在一个视频中,如图2所示,假设帧的显示顺序是:I B B P,在解码B帧时要求知道P帧中的信息,这几帧在视频流中的解码顺序可能是:I P B B,即能够基于PTS顺序告知按照怎样的顺序显示这几帧图像,基于DTS告知按照怎样的顺序解码这几帧图像。
此外,对于各个图像帧,可能还可以存在参考帧以及非参考帧,此时对于参考帧可以采用参考帧标志进行标志,对于非参考帧可以采用非参考帧标志进行标志。
在本申请的一种实施例中,为了结合PTS特征与非参考帧标志确定丢帧位置,在获取原始视频的视频序列之后,可以基于此视频序列的编码图像,获取针对各个图像帧的显示时间戳和非参考帧标志。
步骤102,按照时域层级,根据显示时间戳和非参考帧标志,确定视频序列的丢帧位置;
具体可以按照时域层级,根据显示时间戳确定视频序列的第一丢帧位置,以便基于所确定的第一丢帧位置实现后续对视频序列的逐层抽帧;以及还可以在实现对视频序列的逐层抽帧的情况下,按照时序层级,根据非参考帧标志确定视频序列的第二丢帧位置,以便基于所确定的第一丢帧位置和第二丢帧位置实现后续按照非参考帧标志对视频序列进行的丢帧。
在实际应用中,在对视频序列进行丢帧确定便于完成后续丢帧操作的过程中,通常可以对帧序列进行操作实现,即可以对视频序列中所包含的帧序列,以帧序列为周期进行分段处理。具体可以表现为以帧序列为周期,按照时域层级,根据显示时间戳和非参考帧标志,确定视频序列的丢帧位置。
其中,如图2所示,视频编码序列中两个I帧之间的距离可以称之为一个图像组GOP,例如I B BP B B P为一个图像组GOP,帧序列可以指的是连续的B帧加一个IDR/I/P帧为一组的帧序列mini-GOP,例如B B P为一个帧序列mini-GOP,一个视频序列可以允许包含若干个帧序列mini-GOP。
在具体实现中,对于各个帧序列中丢帧位置的确定方式,可以基于图像编码的编码结构,确定各个帧序列中起始帧与位于同一帧序列的各个图像帧所处的时域层级,以便按照各个时域层级,根据显示时间戳和非参考帧标志确定丢帧位置。具体可以表现为获取针对显示时间戳的第一抽帧策略,以及获取针对非参考帧标志的第二抽帧策略,然后根据第一抽帧策略和第二抽帧策略,确定各个帧序列中各个时域层级的丢帧位置。在本申请的一些实施例中,在实际应用中第一抽帧策略和第二抽帧策略基于实际图像编码的编码结构进行确定,编码结构所具有的时域层级能够对所依赖时域层级实现相应抽帧要求的策略进行生成,具体的,其针对显示时间戳的第一抽帧策略要求在基于时域层级的情况下能够借助显示时间戳实现逐层抽帧,针对非参考帧标志的第二抽帧策略主要是在基于时域层级的情况下能够实现对非参考帧实施的抽帧策略。
在本申请的一种实施例中,对于逐层抽帧以及非参考帧标志进行抽帧的方式的结合,其在进行结合时,可以表现为在对某个时域层级中某个图像帧进行丢帧与否的判断时,基于对当前图像帧的抽帧策略的转换实现。
具体地,首先可以获取针对显示时间戳的第一抽帧策略,按照各个时域层级,基于第一抽帧策略确定帧序列的第一丢帧位置,然后可以获取针对图像编码的映射关系,基于映射关系对当前所处时域层级的待解码的图像帧进行映射,得到映射后的显示顺序;当映射后的显示顺序中第一丢帧位置不满足预设顺序时,此时可以采用第二抽帧策略确定各个帧序列的第二丢帧位置。即可以基于按照不同抽帧策略所确定的第一丢帧位置以及第二丢帧位置,实现对基于PTS特征与非参考帧标志确定丢帧位置的结合。
在本申请的一些实施例中,在对视频序列的解码过程所进行的抽帧过程中,可以以不同的帧序列进行丢帧位置的确定,此时第一丢帧位置对于采用第一抽帧策略对不同的帧序列而言存在若干个第一丢帧位置,第二丢帧位置对于采用第二抽帧策略对不同的帧序列而言存在若干个第二丢帧位置;以及在同一帧序列中主要是以不同的时域层级进行丢帧位置的确定,此时第一丢帧位置对于采用第一抽帧策略对不同的时域层级而言存在若干个第一丢帧位置,第二丢帧位置对于采用第二抽帧策略对不同的时域层级而言存在若干个第二丢帧位置,即第一丢帧位置可以泛指基于第一抽帧策略确定的丢帧位置,第二丢帧位置可以泛指基于第二抽帧策略进行确定的丢帧位置,即所确定的丢帧位置可以包括第一丢帧位置以及第二丢帧位置,对此,本申请实施例不加以限制。
步骤103,根据丢帧位置对视频序列进行抽帧操作。
在确定丢帧位置之后,可以根据丢帧位置确定视频序列的目标帧,对目标帧进行抽帧操作,基于所确定的丢帧位置实现对视频序列的逐层抽帧以及实现按照非参考帧标志对视频序列进行的丢帧,以一定的规则抽去非参考帧,还可以逐层抽去参考帧,从而大幅提高丢帧率,大幅降低播放装置的解码、渲染等视频处理过程的计算量,降低处理耗时,从而提高快速播放的倍速,提高快速播放的流畅度,降低播放装置的耗电量,延长播放装置的续航时间。
具体地,所确定的丢帧位置基于所采用的抽帧策略的不同,可以包括针对显示时间戳的第一抽帧策略确定的第一丢帧位置,和针对非参考帧标志的第二抽帧策略确定的第二丢帧位置,且具体可以按照时域层级,根据显示时间戳确定视频序列的第一丢帧位置,以便基于所确定的第一丢帧位置实现后续对视频序列的逐层抽帧;以及还可以在实现对视频序列的逐层抽帧的情况下,按照时序层级,根据非参考帧标志确定视频序列的第二丢帧位置,以便基于所确定的第一丢帧位置和第二丢帧位置实现后续按照非参考帧标志对视频序列进行的丢帧。在对目标帧进行抽帧操作的过程中,可以获取视频序列中位于第一丢帧位置的第一目标帧,以及位于第二丢帧位置的第二目标帧,然后在视频序列中对第一目标帧和第二目标帧进行抽帧操作。
在本申请的一种优选实施例中,进行抽帧操作后的视频序列满足期望播放速度,此时还可以对进行抽帧操作后的视频序列,按照期望播放速度进行相应的倍速播放。即在快速播放时,由于播放帧率很高,可以利用人眼的视觉暂留效应,对视频按一定比例进行均匀抽帧,视频仍然可以连续播放,人眼并不能察觉到视频存在抽帧行为,即能够达到倍速播放相应播放帧率的要求。
在本申请实施例中,可以获取视频序列的编码图像的显示时间戳和非参考帧标志,通过结合显示时间戳与非参考帧标志确定丢帧位置,以根据所确定的丢帧位置对视频序列进行抽帧操作,实现基于按照时域层级对视频序列进行的逐层抽帧操作,以及按照非参考帧标志所进行的丢帧,从而大幅提高丢帧率,大幅度降低播放视频序列时所进行的解码、渲染等视频处理过程的计算量,降低处理耗时,进而达到提高快速播放的倍速以及提高快速播放的流畅度的效果,满足在倍速播放需求下对分辨率和播放帧率的高要求。
参照图3,示出了本申请的另一种视频抽帧处理方法实施例的步骤流程图,具体可以包括如下步骤:
步骤301,获取针对显示时间戳的第一抽帧策略,按照各个时域层级,基于第一抽帧策略确定帧序列的第一丢帧位置;
在本申请实施例中,能够通过结合PTS特征与非参考帧标志确定丢帧位置,进行逐层抽帧以及按照非参考帧标志进行丢帧,大幅提高丢帧率,进而达到提高快速播放的倍速以及提高快速播放的流畅度的效果,满足在倍速播放需求下对分辨率和播放帧率的高要求。
在本申请的一种实施例中,为了结合PTS特征与非参考帧标志确定丢帧位置,在获取原始视频的视频序列之后,可以基于此视频序列的编码图像,获取针对各个图像帧的显示时间戳和非参考帧标志,以便基于所确定的丢帧位置实现后续对视频序列的逐层抽帧,以及基于所确定的丢帧位置实现后续按照非参考帧标志对视频序列进行的丢帧。
具体可以按照时域层级,根据显示时间戳确定视频序列的第一丢帧位置,以便基于所确定的第一丢帧位置实现后续对视频序列的逐层抽帧;以及还可以在实现对视频序列的逐层抽帧的情况下,按照时序层级,根据非参考帧标志确定视频序列的第二丢帧位置,以便基于所确定的第一丢帧位置和第二丢帧位置实现后续按照非参考帧标志对视频序列进行的丢帧。
在实际应用中,在对视频序列进行丢帧确定便于完成后续丢帧操作的过程中,通常可以对帧序列进行操作实现,即可以对视频序列中所包含的帧序列,以帧序列为周期进行分段处理。具体可以表现为以帧序列为周期,按照时域层级,根据显示时间戳和非参考帧标志,确定视频序列的丢帧位置。
在本申请的一种实施例中,可以获取针对显示时间戳的第一抽帧策略,按照各个时域层级,基于第一抽帧策略确定帧序列的第一丢帧位置。对于第一抽帧策略对第一丢帧位置的确定过程,可以通过据第一抽帧策略确定各个帧序列中各个时域层级的丢帧位置实现,具体可以按照各个时域层级,基于第一抽帧策略确定帧序列的第一丢帧位置。
其中,各个时域层级可以包括从高层级到低层级排序的多个时域层级,此时可以通过获取处于各个时域层级的各个图像帧,然后基于第一抽帧策略将高层级的时域层级的各个图像帧作为第一目标帧,并将第一目标帧在帧序列中所处的位置确定为第一丢帧位置;若所确定的第一目标帧不满足预设丢帧率,则按照从高层级到低层级的顺序,将各个时域层级的各个图像帧不断作为第一目标帧,并将第一目标帧在帧序列中所处的位置确定为第一丢帧位置,直至所确定的第一目标帧满足预设丢帧率为止。
第一抽帧策略可以表现为根据图像帧所处的时域层级,按照一定的优先级顺序进行抽帧,抽帧的原则是抽完后不会影响其他层级的图像帧解码,由于高时域层级的帧解码依赖低时域层级的帧解码,其抽帧的优先级表现为先抽去高时域层级,解码速度不够再丢低时域层的帧。具体表现为按照从高层级到低层级的顺序,逐层级抽去每个时域层级的图像帧。
示例性地,假设各个时域层级中从高层级到低层级排序的多个时域层级,可以包括从高层级到低层级排序的第三时域层级、第二时域层级以及第一时域层级、在对第三时域层级进行采用第一抽帧策略进行丢帧时,可以表现为对第三时域层级中的图像帧进行丢帧;若在抽去第三层时域层级的图像帧后丢帧率还未达到预设丢帧率,此时除了对第三层时域层级的图像帧进行丢帧以外,还可以继续对第二时域层级中的图像帧进行丢帧;若在抽去第三层时域层级以及第二层时域层级的图像帧之后丢帧率还是未达到预设丢帧率,此时还可以继续对第一层时域层级的图像帧进行丢帧操作,直至达到预设丢帧率为止。
在本申请的一些实施例中,对于时域层级的层级数主要可以基于编码结构确定,且不同时域层级内具体的图像帧能够基于某个帧序列中的起始帧确定,即可以基于不同的编码结构按照上述第一抽帧策略相应实现对各个帧序列中不同时序层级的逐层抽帧。
其中,基于当解码速度(基于解码帧率确定)不够再丢低时域层的帧的原则,在逐层级抽去图像帧的过程中,其预设丢帧率为能够满足期望解码帧率确定的丢帧比例确定,此期望解码帧率的取值能够可以满足期望播放速度。假设存在1小时的视频流,其原始帧率是60fps,此时假设期望1小时播放完视频流,可以称之为1倍速播放,解码帧率达到60fps可以实现1倍速播放;假设期望半小时播放完此视频流,可以称之为2倍速播放,此时若不考虑丢帧的话,解码帧率要求达到120fps,在考虑丢帧的情况下,例如丢帧率达到50%,则可以实现解码帧在60fps的情况下达到播放120fps的目的,即可以基于50%的预设丢帧率实现对满足期望播放速度2倍速,所对应的解码帧率120pfs。
步骤302,获取针对图像编码的映射关系,基于映射关系对当前所处时域层级的待解码的图像帧进行映射,得到映射后的显示顺序;
对于逐层抽帧以及非参考帧标志进行抽帧的方式的结合,其在进行结合时,可以表现为在对某个时域层级中某个图像帧进行丢帧与否的判断时,基于对当前图像帧的抽帧策略的转换实现。具体可以表现为获取针对显示时间戳的第一抽帧策略,和/或获取针对非参考帧标志的第二抽帧策略,然后根据第一抽帧策略和/或第二抽帧策略,确定各个帧序列中各个时域层级的丢帧位置。
具体地,首先可以获取针对显示时间戳的第一抽帧策略,按照各个时域层级,基于第一抽帧策略确定帧序列的第一丢帧位置,然后可以获取针对图像编码的映射关系,基于映射关系对当前所处时域层级的待解码的图像帧进行映射,得到映射后的显示顺序;当映射后的显示顺序中第一丢帧位置不满足预设顺序时,此时可以采用第二抽帧策略确定各个帧序列的第二丢帧位置。即可以基于按照不同抽帧策略所确定的第一丢帧位置以及第二丢帧位置,实现对基于PTS特征与非参考帧标志确定丢帧位置的结合。
对于图像编码的映射关系,主要可以用于表示视频序列的显示顺序(PTS顺序)与解码顺序(DTS顺序)的转换关系,其主要可以基于数组查表得到。在本申请的一些实施例中,DTS顺序、PTS顺序、DTS和PTS之前的映射关系,可以基于编码结构进行确定。
步骤303,响应映射后的显示顺序中第一丢帧位置不满足预设顺序,采用第二抽帧策略确定各个帧序列的第二丢帧位置。
对于第一抽帧策略和第二抽帧策略结合,其可以表现为在按照第一抽帧策略进行第一丢帧位置的确定后,对抽帧策略的转换,再基于第二抽帧策略确定第二丢帧位置,并基于第一丢帧位置和第二丢帧位置的结合,实现对视频序列的抽帧操作。
在本申请的一种实施例中,可以基于映射关系,对当前所处时域层级的待解码的图像帧进行映射,得到映射后的显示顺序,若在确定第一丢帧位置之后,映射后的显示顺序中第一丢帧位置不满足预设顺序,则可以采用第二抽帧策略确定各个帧序列的第二丢帧位置。
其中,显示顺序(即PTS顺序)通常表现为从小到大的顺序,如果出现大的排在小的前面,则说明此时可以进行抽帧策略的转换。
对于第二抽帧策略对第二丢帧位置的确定过程,可以表现为基于第二抽帧策略,按照编码图像携带的非参考帧标志,确定各个帧序列的第二丢帧位置。首先,可以基于映射后的显示顺序中不满足预设顺序的第一丢帧位置为错误帧位置,然后按照编码图像的非参考帧标志和错误帧位置,确定第二丢帧位置。
具体地,可以获取在针对图像编码的解码顺序中,位于错误帧位置之后的图像帧;编码图像可能具有参考帧标志和/或非参考帧标志,当编码图像具有非参考帧标志时,可以按照非参考帧标志确定所要抽去的图像帧,具体表现为从错位帧位置相应的图像帧以及位于错误帧位置之后的图像帧中,确定具有非参考帧标志的图像帧所在的位置为第二丢帧位置,示例性地,不同编码标准中规定的非参考帧标志位,可以如表1所示:
编码标准 标志位所处的位置
H.264/AVC nal_ref_idc 0
H.265/HEVC nal_unit_type 0、2、4、6、8、10、12、14
H.266/VVC ph_non_ref_pic_flag 1
表1
在本申请的一些实施例中,表1中的标志位指的是参考帧标志和非参考帧标志,主要用于表示是否具有被其他帧参考,表中各个值主要是非参考帧标志,用于表示非参考帧,在本技术领域中通常基于编码标准进行规定的,具有确切的含义,本申请在此不加以赘述。即在本申请实施例中,在采用第二抽帧策略进行丢帧位置确定时,可以基于表1中相应编码标准所对应的值,进行非参考帧的丢弃。
在实际应用中,在采用第二抽帧策略进行丢帧位置的确定时,同样遵循在采用第二抽帧策略进行丢帧位置确定的优先级策略,即同样是按照逐层级的关系,从高层级到低层级的顺序进行相应时域层级中非参考帧的逐层级丢帧,当满足预设丢帧率时,则停止对第二丢帧位置的确定以停止后续的丢帧操作。在本申请的一些实施例中,其在采用第二抽帧策略对相应时域层级的非参考帧确定为用于丢帧的第二丢帧位置时,此相应时域层级是基于转换策略前,基于第一抽帧策略进行的时域层级的基础上进行确定的,即针对非参考帧标志的第二抽帧策略主要是在基于时域层级的情况下能够实现对非参考帧实施的抽帧策略。
在本申请的一些实施例中,在采用第二抽帧策略进行丢帧位置的确定时,若编码图像并未携带非参考帧标志,则不进行对第二丢帧位置的确定操作,由于所确定的第二丢帧位置用于丢帧,即在这种情况下不进行丢帧操作。
在一种优选的实施例中,由于在按照第一抽帧策略进行抽帧时,具体可以按照时域层级,根据显示时间戳确定视频序列的第一丢帧位置,以便基于所确定的第一丢帧位置实现后续对视频序列的逐层抽帧;而在按照第二抽帧策略进行抽帧时,具体可以在实现对视频序列的逐层抽帧的情况下,按照时序层级,根据非参考帧标志确定视频序列的第二丢帧位置,以便基于所确定的第一丢帧位置和第二丢帧位置实现后续按照非参考帧标志对视频序列进行的丢帧。具体的,可以在确定第一丢帧位置之后,响应映射后的显示顺序中第一丢帧位置不满足预设顺序,采用第二抽帧策略确定各个帧序列的第二丢帧位置,将第二丢帧位置和先前满足预设顺序的第一丢帧位置作为目标丢帧位置;而在确定第一丢帧位置之后,响应映射后的显示顺序中第一丢帧位置满足预设顺序,采用第一丢帧位置作为目标丢帧位置,即此时并不会进行策略的转换,无需对基于转换后的第二抽帧策略对第二丢帧位置进行确定。
示例性地,RA编码结构由于压缩率高,在点播、直播等可以容忍一定延时的应用场合,得到了广泛应用,本申请实施例以RA编码结构为例,对视频序列的抽帧处理进行说明。
具体地,参照图4A至图4G,示出了本申请实施例提供的不同帧长度的RA编码结构的示意图。如图4A所示,为mini-GOP长度为8的一种典型的RA编码结构,图中包含了2个mini-GOP,其各帧可以分别表现为B1~B8、B9~B16。
在该GOP结构中,第一个mini-GOP内各帧的PTS顺序(即显示顺序)可以表现为先显示第1帧,再显示第2帧,然后显示第3帧,即PTS顺序为1、2、3、4、5、6、7、8;DTS顺序(即解码顺序)可以表现为先解码第8帧,再解码第4帧,然后解码第2帧,即DTS顺序为8、4、2、1、3、6、5、7。
由此可知,DTS顺序为时间戳(PTS)顺序8、4、2、1、3、6、5、7,也就是解码的第一帧是时间顺序的第8帧,解码的第二帧是时间顺序的第4帧,解码的第三帧是时间顺序的第2帧...。由于在程序代码中,数字的下标都是从0开始,DTS和PTS的映射关系,映射关系也可以表示为:
解码的第0帧是时间顺序的第7帧,即DTS_index2PTS_index[0]=7;
解码的第1帧是时间顺序的第3帧,即DTS_index2PTS_index[1]=3;
解码的第2帧是时间顺序的第1帧,即DTS_index2PTS_index[2]=1;
……
那么,DTS顺序和PTS顺序的映射关系,可以表现为DTS_index2PTS_index[8]={7,3,1,0,2,5,4,6}。
在本申请的一些实施例中,解码顺序和显示顺序与RA编码结构是紧密相关的,即RA编码结构一旦确定,那么DTS顺序、PTS顺序、DTS和PTS的映射关系也可以确定。
如图4A所示的RA编码结构,是一种在实际应用中非常典型的、应用非常广泛的编码结构。对于其编码结构,可以称之为金字塔结构:金字塔的第0层,是底层的帧,这些帧的解码依赖于自身或其他第0层的参考帧;金字塔的第1层,是从底层往上的第2层的帧,这些帧的解码依赖于第0层和第1层的参考帧;金字塔的第2层,是从底层往上的第3层的帧,这些帧的解码依赖于第0层、第1层和第2层的参考帧;金字塔的第3层,是从底层往上的第4层的帧,这些帧处于金字塔的高层,解码依赖于金字塔所包含层的参考帧,但是没有更高层的帧解码依赖于这些帧,即可以说这些帧为非参考帧。在实际应用中,由于视频就是分布在不同时域上的图像,金字塔层级也成为时域层级,即RA编码结构为具有时域层级的结构。
根据以上参考关系,抽帧的原则是要满足在将目标帧抽取之后不会影响其他层级的图像帧的解码,即可以先抽取高时域层级的帧,当解码速度不够时再对低时域层的帧进行丢帧,其丢帧顺序的优先级可以表现为首先抽去第3时域层级的图像帧,此时对于PTS顺序而言,可以每隔一帧丢一帧,对于如图4A所示的一个mini-GOP周期而言可以丢4帧,其丢帧率为4/8=50%,假设4倍速期望播放帧率为240fps,此时解码帧率要求达到120fps;若解码速度仍不够,则除了抽去第3时域层级的图像帧,还可以抽去第2时域层级的图像帧,此时对于PTS顺序而言,每4帧中可以丢3帧,一个mini-GOP周期可以丢6帧,丢帧率为6/8=75%。假设4倍速帧率为240fps,此时解码帧率要求达到60fps;若解码速度还不够,则可以抽取第3时域层级、第2时域层级、第1时域层级的图像帧,即一个mini-GOP周期可以丢7帧,此时的丢帧率为7/8=87.5%,假设4倍速帧率为240fps,此时解码帧率要求达到30fps。
而对于判断当前待解码帧属于哪个时域层级的方式,通常可以基于显示时间戳确定,即可以通过各帧的PTS特征,具体利用PTS的相对大小这个特征,将PTS最大的帧进行定位作为帧序列的起始帧,然后可以基于起始帧和编码结构,确定位于起始帧后预设个数的各个图像帧与起始帧为同一帧序列,再基于相应编码结构确定同一帧序列中各个图像帧所处的时域层级。示例性地,如图4A所示,以第一个mini-GOP为例,DTS顺序为8、4、2、1、3、6、5、7,也就是说,PTS最大的帧为一个mini-GOP的起始帧,紧跟其后的7帧跟该起始帧属于同一个mini-GOP。
在根据PTS特征定位后,可以采用第一抽帧策略,表现为按照从高层级到低层级的顺序,逐层级抽去每个时域层级的图像帧。
具体可以获取处于各个时域层级的各个图像帧,然后基于第一抽帧策略将高层级的时域层级的各个图像帧作为第一目标帧,并将第一目标帧在帧序列中所处的位置确定为第一丢帧位置;若所确定的第一目标帧不满足预设丢帧率,则按照从高层级到低层级的顺序,将各个时域层级的各个图像帧不断作为第一目标帧,并将第一目标帧在帧序列中所处的位置确定为第一丢帧位置,直至所确定的第一目标帧满足预设丢帧率为止。
以图4A所示的编码结构进行丢帧位置的确定过程。示例性地,当抽取第3时域层级的图像帧时,假设根据一个mini-GOP中PTS最大值定位到B8帧,则其后就是B4帧,再其后就是B2帧,按照PTS顺序每隔一帧丢一帧的策略,则其后的B1、B3均可丢;再其后就是B6帧,则其后的B5、B7可丢,其DTS顺序的丢帧表现为flag=00011011,其中1的位置表示可丢,具体的丢帧位置可以如表2中的第三行所示;若解码速度仍不够,则除了抽去第3时域层级的图像帧,还可以抽取第2时域层级的图像帧,即可以抽去B1、B2、B3、B5、B6、B7,其DTS顺序的丢帧可以表现为flag=00111111,其中1的位置表示可丢,具体的丢帧位置可以如表2中的第四行所示;若解码速度还不够,则可以抽去第3时域层级、第2时域层级以及第1时域层级图像帧,即抽去B1、B2、B3、B4、B5、B6、B7,其DTS顺序的丢帧可以表现为flag=01111111,其中1的位置表示可丢,具体的丢帧位置可以如表2中的第五行所示。
表2
在本申请的一些实施例中,在具体代码实现时,可以通过查表法确定丢帧位置。
在具体情况下,考虑到外部设置的关键帧间隔或一些强制插入的关键帧,可能会导致mini-GOP不完整的情况。
示例性地,如图4B所示,示出了mini-GOP长度为7的一种典型的RA编码结构。在此mini-GOP长度为7的情况下,如果在I16的位置设置了关键帧,那么在它前面邻近的mini-GOP长度为7。由于播放设备是一边接收每帧码流,一边进行判断该帧是否进行丢帧,在无法获取到整个mini-GOP的码流的情况下,是无法提前知道当前mini-GOP为7帧,也就无法知道当前mini-GOP的参考帧结构。
对于如图4B所示的第一个mini-GOP的抽帧表格可以如表2所示,通过参照表2,第二个mini-GOP的抽帧表格可以如表3所示。利用DTS和PTS的映射关系,通过第一行DTS索引得到的PTS顺序为9、10、11、12、13、14、空缺、15,映射后都是按顺序的,仍然可以采用前述丢帧方案。
具体地,在不改变下面三行表格的情况下,也就是说在不改变抽帧位置的情况下,在对第三时域层进行丢帧时,丢帧位置为B9、B11、B13;在丢第三、第二时域层的情况下,丢帧位置为B10、B9、B11、B14、B13;在丢第三、第二、第一时域层的情况下,丢帧位置为B12、B10、B9、B11、B14、B13,mini-GOP为8的抽帧方案能够适用于mini-GOP等于7的情况。
表3
示例性地,如图4C所示,示出了mini-GOP长度为6的一种典型的RA编码结构。在此mini-GOP长度为6的情况下,如果在I15的位置设置了关键帧,那么在它前面邻近的mini-GOP长度为6。由于播放设备是一边接收每帧码流,一边判断该帧是否及进行丢帧,在无法获取到整个mini-GOP的码流的情况下,是无法提前知道当前mini-GOP为6帧,也就无法知道当前mini-GOP的参考帧结构。
对于如图4C所示的第一个mini-GOP的抽帧表格可以如表2所示,通过参照表2,第二个mini-GOP的抽帧表格可以如表4所示。利用DTS和PTS的映射关系,通过第一行DTS索引得到的PTS顺序为9、10、13、11、空缺、12、空缺、14,映射后13帧不按顺序,说明mini-GOP不完整,采用前述丢帧方案,即第一抽帧策略将会丢掉B9、B13,会出现花屏。实际上,在解码DTS为13帧之前,可以按照表4进行丢帧,即可以丢B9,但在发现第13帧顺序不对的情况下,DTS顺序在B13帧及其之后的图像帧,可以表现为对抽帧策略的转换,当映射后的显示顺序中第一丢帧位置不满足预设顺序时,此时可以采用第二抽帧策略确定各个帧序列的第二丢帧位置。通过基于按照不同抽帧策略所确定的第一丢帧位置以及第二丢帧位置,实现对基于PTS特征与非参考帧标志确定丢帧位置的结合。
具体地,如果编码图像携带有参考帧/非参考帧标志,在不同的编码标准中,可以用不同的标志来标记非参考帧,如表1所示。按照非参考帧的标记进行丢帧,可以丢B12,加上前面已经丢的B9,一共可以丢B9和B12,不会出现花屏现象;如果编码图像没有携带非参考帧标志,那么当前GOP的最后一个mini-GOP抽去B9,不对B12进行丢帧操作。
表4
示例性地,如图4D所示,示出了mini-GOP长度为5的一种典型的RA编码结构。在此mini-GOP长度为5的情况下,如果在I14的位置设置了关键帧,那么在它前面邻近的mini-GOP长度为5。由于播放设备是一边接收每帧码流,一边判断该帧是否进行丢帧,在无法获取到整个mini-GOP的码流的情况下,是无法提前知道当前mini-GOP为5帧,也就无法知道当前mini-GOP的参考帧结构。
对于如图4D所示的第一个mini-GOP的抽帧表格可以如表2所示,通过参照表2,第二个mini-GOP的抽帧表格可以如表5所示。利用DTS和PTS的映射关系,通过第一行DTS索引得到的PTS顺序为9、10、12、11、空缺、空缺、空缺、13,映射后12帧不按顺序,说明mini-GOP不完整,应该参考mini-GOP为6时的抽帧方案。在解码DTS为12帧之前,可以按照表5进行丢帧,即可以丢B9。但当发现第12帧顺序不对的情况下,DTS顺序在B12帧及其之后的图像帧,可以根据参考帧/非参考帧标志进行抽帧。
即表现为如果编码图像携带参考帧/非参考帧标志,在不同的编码标准中,可以用不同的标志来标记非参考帧,如表1所示。按照非参考帧的标记进行丢帧,可以丢B12,加上前面已经丢的B9,一共可以丢B9和B12,不会出现花屏现象;如果编码图像没有携带非参考帧标志,那么当前GOP的最后一个mini-GOP抽去B9,不对B12进行丢帧操作。
表5
示例性地,如图4E所示,示出了mini-GOP长度为4的一种典型的RA编码结构。在此mini-GOP长度为4的情况下,如果在I13的位置设置了关键帧,那么在它前面邻近的mini-GOP长度为4。由于播放设备是一边接收每帧码流,一边判断该帧是否进行丢帧,在无法获取到整个mini-GOP的码流的情况下,是无法提前知道当前mini-GOP为4帧,也就无法知道当前mini-GOP的参考帧结构。
对于如图4E所示的第一个mini-GOP的抽帧表格可以如表2所示,通过参照表2,第二个mini-GOP的抽帧表格可以如表6所示。利用DTS和PTS的映射关系,通过第一行DTS索引得到的PTS顺序为11、9、空缺、10、空缺、空缺、空缺、12,映射后11帧不按顺序,说明mini_gop不完整,此时可以参考mini-GOP为6时的抽帧方案。在解码DTS为11帧之前,可以按照表6进行丢帧,但从表6第三行可知,DTS在B11之前的三个帧不可以丢;但当发现第11帧顺序不对的情况下,DTS顺序在B11帧及其之后的图像帧,可以根据参考帧/非参考帧标志进行抽帧。
具体表现为如果编码图像携带参考帧/非参考帧标志,在不同的编码标准中,可以用不同的标志来标记非参考帧,如表1所示,按照非参考帧的标记进行丢帧,可以丢B11,使得不会出现花屏现象;如果编码图像没有携带非参考帧标志,当前GOP的最后一个mini-GOP无法丢帧。
表6
示例性地,如图4F所示,示出了mini-GOP长度为3的一种典型的RA编码结构。在此mini-GOP长度为3的情况下,如果在I12的位置设置了关键帧,那么在它前面邻近的mini-GOP长度为3。由于播放设备是一边接收每帧码流,一边判断该帧是否进行丢帧,在无法获取到整个mini-GOP的码流的情况下,是无法提前知道当前mini-GOP为3帧,也就无法知道当前mini-GOP的参考帧结构。
对于如图4F所示的第一个mini-GOP的抽帧表格可以如表2所示,通过参照表2,第二个mini-GOP的抽帧表格可以如表7所示。利用DTS和PTS的映射关系,通过第一行DTS索引得到的PTS顺序为空缺、9、空缺、10、空缺、空缺、空缺、11,映射后都是按顺序的,可以采用前述丢帧方案(即第一抽帧策略),不会出现花屏问题。具体地,在不改变下面三行表格的情况下,也就是说在不改变抽帧位置的情况下,在对第三时域层的帧进行抽帧时,不丢帧;在对第三、第二时域层进行抽帧的情况下,丢帧位置可以为B9;在对第三、第二、第一时域层进行抽帧的情况下,丢帧位置可以为B9、B10,即第一抽帧策略适用于mini-GOP等于3的情况。
表7
示例性地,如图4G所示,示出了mini-GOP长度为2的一种典型的RA编码结构。在此mini-GOP长度为2的情况下,如果在I11的位置设置了关键帧,那么在它前面邻近的mini-GOP长度为2。由于播放设备是一边接收每帧码流,一边判断该帧是否进行丢帧,在无法获取到整个mini-GOP的码流的情况下,是无法提前知道当前mini-GOP为2帧,也就无法知道当前mini-GOP的参考帧结构。
对于如图4G所示的第一个mini-GOP的抽帧表格可以如表2所示,通过参照表2,第二个mini-GOP的抽帧表格可以如表8所示。
利用DTS和PTS的映射关系,通过第一行DTS索引得到的PTS顺序为空缺、空缺、空缺、9、空缺、空缺、空缺、10,映射后都是按顺序的,仍然可以采用前述丢帧方案(即第一抽帧策略),不会出现花屏问题。具体地,在不改变下面三行表格的情况下,也就是说在不改变抽帧位置的情况下,在对第三时域层的帧进行丢帧时,不丢帧;在对第三、第二时域层进行丢帧的情况下,不进行丢帧;在对第三、第二、第一时域层进行丢帧的情况下,丢帧位置可以为B9,即第一抽帧策略适用于mini-GOP等于2的情况。
表8
在本申请的一些实施例中,对于出现mini-GOP为1的情况,情况较为简单,本申请实施例在此不加以赘述。
在本申请的一种优选实施例中,在确定丢帧位置之后,可以根据丢帧位置确定视频序列的目标帧,对目标帧进行抽帧操作,基于所确定的丢帧位置实现对视频序列的逐层抽帧以及实现按照非参考帧标志对视频序列进行的丢帧,以一定的规则抽去非参考帧,还可以逐层抽去参考帧,从而大幅提高丢帧率,大幅降低播放装置的解码、渲染等视频处理过程的计算量,降低处理耗时,从而提高快速播放的倍速,提高快速播放的流畅度,降低播放装置的耗电量,延长播放装置的续航时间。
具体地,所确定的丢帧位置基于所采用的抽帧策略的不同,可以包括针对显示时间戳的第一抽帧策略确定的第一丢帧位置,和针对非参考帧标志的第二抽帧策略确定的第二丢帧位置,在对目标帧进行抽帧操作的过程中,可以获取视频序列中位于第一丢帧位置的第一目标帧,以及位于第二丢帧位置的第二目标帧,然后在视频序列中对第一目标帧和第二目标帧进行抽帧操作。
在本申请的一些实施例中,在对视频序列的解码过程所进行的抽帧过程中,可以以不同的帧序列进行丢帧位置的确定,此时第一丢帧位置对于采用第一抽帧策略对不同的帧序列而言存在若干个第一丢帧位置,第二丢帧位置对于采用第二抽帧策略对不同的帧序列而言存在若干个第二丢帧位置;以及在同一帧序列中主要是以不同的时域层级进行丢帧位置的确定,此时第一丢帧位置对于采用第一抽帧策略对不同的时域层级而言存在若干个第一丢帧位置,第二丢帧位置对于采用第二抽帧策略对不同的时域层级而言存在若干个第二丢帧位置,即第一丢帧位置可以泛指基于第一抽帧策略确定的丢帧位置,第二丢帧位置可以泛指基于第二抽帧策略进行确定的丢帧位置,对此,本申请实施例不加以限制。
在本申请的一种优选实施例中,进行抽帧操作后的视频序列满足期望播放速度,此时还可以对进行抽帧操作后的视频序列,按照期望播放速度进行相应的倍速播放。即在快速播放时,由于播放帧率很高,可以利用人眼的视觉暂留效应,对视频按一定比例进行均匀抽帧,视频仍然可以连续播放,人眼并不能察觉到视频存在抽帧行为,即能够达到倍速播放相应播放帧率的要求。
在本申请实施例中,可以获取视频序列的编码图像的显示时间戳和非参考帧标志,通过结合显示时间戳与非参考帧标志确定丢帧位置,以根据所确定的丢帧位置对视频序列进行抽帧操作,实现基于按照时域层级对视频序列进行的逐层抽帧操作,以及按照非参考帧标志所进行的丢帧,从而大幅提高丢帧率,大幅度降低播放视频序列时所进行的解码、渲染等视频处理过程的计算量,降低处理耗时,进而达到提高快速播放的倍速以及提高快速播放的流畅度的效果,满足在倍速播放需求下对分辨率和播放帧率的高要求。
参照图5,示出了本申请的一种视频倍速播放方法实施例的步骤流程图,具体可以包括如下步骤:
步骤501,接收用户的视频倍速播放指令;
本申请实施例所提供的视频倍数播放,可以接收用户的视频倍速播放指令,以便在对视频进行倍速播放时,能够按照视频播放指令中所携带的期望播放速度对视频进行相应的抽帧处理,以及实现倍速播放。
视频倍速播放指令可以基于用户对倍速所进行的交互操作生成,其交互操作可以是对倍速的选择操作,其选择操作可以体现为对倍速的触控操作以及非触控操作。其中,基于触控操作所生成的视频倍速播放指令,具体可以表现为基于用户对视频平台所提供的视频播放界面上的倍速,例如1.25×、1.5×、2.0×、3.0×以及4.0×等进行目标倍速的触控选择,然后基于对目标倍速的触控操作生成视频倍速播放指令,且所生成的视频倍速播放指令可以携带有用户所触控选择额的目标倍速,即用户期望播放速度;基于非触控操作所生成的视频倍速播放指令,具体可以表现为基于用户对视频平台所提供的播放界面上的倍速,例如1.25×、1.5×、2.0×、3.0×以及4.0×等进行例如鼠标点击选择、遥控选择等依赖输入设备完成的选择,然后基于所选择的目标倍速生成视频倍速播放指令,所生成的视频倍速播放指令包括用户期望播放速度。
步骤502,响应视频倍速播放指令,获取视频序列的编码图像,并获取编码图像的显示时间戳和非参考帧标志;
其中,编码图像具有时域层级的编码结构。
步骤503,按照时域层级,根据显示时间戳和非参考帧标志,确定视频序列的丢帧位置;
步骤504,根据丢帧位置对视频序列进行抽帧操作;
在本申请的一些实施例中,对于步骤502至步骤504所实现的具体视频抽帧处理过程,可以参照前述方法实施例的相关内容,本申请实施例在此不加以赘述。
步骤505,对进行抽帧操作后的视频序列,按照期望播放速度进行相应的倍速播放。
在本申请的一种实施例中,所确定的丢帧位置基于所采用的抽帧策略的不同,可以包括针对显示时间戳的第一抽帧策略确定的第一丢帧位置,和针对非参考帧标志的第二抽帧策略确定的第二丢帧位置,在对目标帧进行抽帧操作的过程中,可以获取视频序列中位于第一丢帧位置的第一目标帧,以及位于第二丢帧位置的第二目标帧,然后在视频序列中对第一目标帧和第二目标帧进行抽帧操作。
在实际应用中,可以对进行抽帧操作后的视频序列,并按照期望播放速度进行相应的倍速播放,其在对视频按照期望播放速度进行快速播放时,由于播放帧率很高,可以利用人眼的视觉暂留效应,对视频按一定比例进行均匀抽帧,视频仍然可以连续播放,人眼并不能察觉到视频存在抽帧行为,即能够达到倍速播放相应播放帧率的要求。
在本申请实施例中,可以获取视频序列的编码图像的显示时间戳和非参考帧标志,通过结合显示时间戳与非参考帧标志确定丢帧位置,以根据所确定的丢帧位置对视频序列进行抽帧操作,实现基于按照时域层级对视频序列进行的逐层抽帧操作,以及按照非参考帧标志所进行的丢帧,从而大幅提高丢帧率,大幅度降低播放视频序列时所进行的解码、渲染等视频处理过程的计算量,降低处理耗时,进而达到提高快速播放的倍速以及提高快速播放的流畅度的效果,满足在倍速播放需求下对分辨率和播放帧率的高要求。
参照图6,示出了本申请实施例提供的视频倍速播放的应用场景示意图,涉及视频平台610,在对视频序列进行解码播放时,可以实现前述的视频抽帧处理过程以及倍速播放过程。在本申请的一些实施例中,视频平台610可以满足对于H.266/VVC编码的视频快速播放需求,对不同编码标准的视频快速播放具有普适性,例如对于H.264/AVC、H.265/HEVC标准编码的视频也可以适用,且可以适用于直播、点播、RTC场景。
如图6所示,在视频播放领域中,能够基于视频播放器、各类在线视频网站/APP等进行视频播放,通常可以向用户提供视频倍速播放的功能,例如可以提供1.25×、1.5×、2.0×、3.0×以及4.0×等倍速的快放能力。
随着视频从标清到超高清的不断发展,空间分辨率从720p发展到4K/8K,帧率从24fps发展到60fps/120fps,那么随着视频快放的倍速提高,将会存在对分辨率和播放帧率的高要求,例如假设要达到4倍速,即4.0×倍速播放的能力,意味着播放帧率要求达到480fps,在本申请实施例中,在直播、点播、RTC场景下,视频客户端/播放器可以响应用户作用于快速播放控件的交互操作,然后可以通过结合PTS特征与非参考帧标志确定丢帧位置,进行逐层抽帧以及按照非参考帧标志进行丢帧的方案,不仅可以以一定的规则抽去非参考帧,还可以逐层抽去参考帧,从而大幅提高丢帧率,提高快速播放的倍速,利用人眼的视觉暂留效应,对视频按一定比例进行均匀抽帧,在进行相应抽帧后呈现在视频客户端/播放器上呈现给用户,能够达到倍速播放相应播放帧率的要求。
在实际应用中,视频平台在对视频进行抽帧时,可以在对视频进行解码过程中实现,即在响应用户作用于快速播放控件的交互操作时,实现抽帧操作的执行主体为编解码器,此时编解码器能够对视频序列进行按照满足预设丢帧率的方式进行抽帧,然后输出解码后的数据基于视频平台的客户端返回给用户进行相应期望播放速度的播放展示。
在本申请的一种优选实施例中,除了可以表现为快速播放控件的交互操作的情况以外,也可以表现为没有控件交互的情况。例如由于网络传输恢复,客户端突然一下子收到之前拥堵而囤积的视频,也可以采用本申请实施例提出的视频抽帧处理方法,基于抽帧倍速播放的方式赶上速度。
在本申请的一些实施例中,关于涉及的编码标准,不局限于本申请实施例提到的H.264/AVC、H.265/HEVC、H.266/VVC,同样也适用于其他国际、国内视频编码标准;关于mini-GOP长度,不限于本申请实施例提到的mini-GOP为8的长度,也可进一步扩展到mini-GOP为16、32、64等其他长度;关于非参考帧标志,不局限于表1所列的标志,而应包含任意标准中支持的非参考帧标记方法,或在不同服务场景中私有定义的标记方法;关于PTS特征与非参考帧标志相结合来确定丢帧位置的方案,既可以单单依据PTS特征来确定丢帧位置,也可以是符合PTS特征和符合非参考帧标志,这两个条件满足其一进行丢帧操作。本申请实施例对于前述内容,不加以限制。
在本申请实施例中,在上述各种视频播放场景中,可以通过抽帧播放,满足不同客户端对于帧率的不同需求,例如对于大屏保留视频的原始帧率,而对于一些低端手机或者网络状况不佳的客户端,对播放帧率的要求可以适当降级,即可以通过抽帧,降低播放帧率,缓解低端手机的性能不足,或者改善有些客户端由于网络状况不佳导致的卡顿、延时过大等体验问题。
在本申请的一些实施例中,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图7,示出了本申请的一种视频抽帧处理装置实施例的结构框图,具体可以包括如下模块:
编码图像获取模块701,用于获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;丢帧位置确定模块702,用于按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置;视频抽帧模块703,用于根据所述丢帧位置对所述视频序列进行抽帧操作。
在本申请的一种实施例中,丢帧位置确定模块702可以包括如下子模块:帧序列获取子模块,用于获取所述视频序列的帧序列;所述帧序列包括若干个帧序列;丢帧位置确定子模块,用于以所述帧序列为周期,按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置。
在本申请的一种实施例中,帧序列获取子模块可以包括如下单元:起始帧获取单元,用于基于所述显示时间戳在所述视频序列中,作为帧序列的起始帧;帧序列获取单元,用于基于所述起始帧和所述编码结构,确定位于所述起始帧后预设个数的各个图像帧与所述起始帧为同一帧序列。
在本申请的一种实施例中,丢帧位置确定子模块可以包括如下单元:时域层级确定单元,用于基于所述图像编码的编码结构,确定各个帧序列中起始帧与位于同一帧序列的各个图像帧所处的时域层级;丢帧位置确定单元,用于按照各个时域层级,根据所述显示时间戳和所述非参考帧标志确定丢帧位置。
在本申请的一种实施例中,丢帧位置确定单元可以包括如下子单元:抽帧策略获取子单元,用于获取针对所述显示时间戳的第一抽帧策略,以及获取针对所述非参考帧标志的第二抽帧策略;丢帧位置确定子单元,用于根据所述第一抽帧策略和所述第二抽帧策略,确定各个帧序列中各个时域层级的丢帧位置。
具体地,丢帧位置确定子单元在根据所述第一抽帧策略和所述第二抽帧策略,确定各个帧序列中各个所处时域层级的目标丢帧位置时,包括:按照各个时域层级,基于所述第一抽帧策略确定所述帧序列的第一丢帧位置;获取针对所述图像编码的映射关系,基于所述映射关系对当前所处时域层级的待解码的图像帧进行映射,得到映射后的显示顺序;其中,所述映射关系用于表示所述视频序列的显示顺序与解码顺序的转换关系;响应所述映射后的显示顺序中所述第一丢帧位置不满足预设顺序,采用所述第二抽帧策略确定各个帧序列的第二丢帧位置,将所述第二丢帧位置作为所述视频序列的丢帧位置。以及,在确定第一丢帧位置之后,响应所述映射后的显示顺序中所述第一丢帧位置满足预设顺序,采用所述第一丢帧位置作为所述视频序列的丢帧位置。
其中,所述各个时域层级包括从高层级到低层级排序的多个时域层级;所述按照各个时域层级,基于所述第一抽帧策略确定所述帧序列的第一丢帧位置,包括:获取处于各个时域层级的各个图像帧;基于所述第一抽帧策略将高层级的时域层级的各个图像帧作为第一目标帧,并将所述第一目标帧在所述帧序列中所处的位置确定为第一丢帧位置;若所确定的第一目标帧不满足预设丢帧率,则按照从高层级到低层级的顺序,将各个时域层级的各个图像帧不断作为第一目标帧,并将所述第一目标帧在所述帧序列中所处的位置确定为第一丢帧位置,直至所确定的第一目标帧满足预设丢帧率为止;其中,所述预设丢帧率基于期望解码帧率确定,所述期望解码帧率满足期望播放速度。在采用所述第二抽帧策略确定各个帧序列的第二丢帧位置时,包括:基于所述第二抽帧策略,按照编码图像携带的非参考帧标志,确定各个帧序列的第二丢帧位置。所述按照编码图像携带的非参考帧标志,确定各个帧序列的第二丢帧位置,包括:基于映射后的显示顺序中不满足预设顺序的第一丢帧位置为错误帧位置;按照编码图像的非参考帧标志和所述错误帧位置,确定第二丢帧位置。所述按照编码图像携带的非参考帧标志和所述错误帧位置,确定第二丢帧位置,包括:获取在针对所述图像编码的解码顺序中,位于所述错误帧位置之后的图像帧;若所述编码图像具有参考帧和/或非参考帧标志,则从所述错位帧位置相应的图像帧以及位于所述错误帧位置之后的图像帧中,确定具有非参考帧标志的图像帧所在的位置为第二丢帧位置;还包括:若所述编码图像并未携带非参考帧标志,则不进行对所述第二丢帧位置的确定操作。
在本申请的一种实施例中,视频抽帧模块703可以包括如下子模块:视频抽帧子模块,用于根据所述丢帧位置确定所述视频序列的目标帧,对所述目标帧进行抽帧操作;所述丢帧位置包括针对显示时间戳的第一抽帧策略确定的第一丢帧位置,和针对非参考帧标志的第二抽帧策略确定的第二丢帧位置;视频抽帧子模块可以包括如下单元:目标帧获取单元,用于获取所述视频序列中位于第一丢帧位置的第一目标帧,以及位于第二丢帧位置的第二目标帧;视频抽帧单元,用于在所述视频序列中对所述第一目标帧和所述第二目标帧进行抽帧操作。
在本申请的一种实施例中,进行抽帧操作后的视频序列满足期望播放速度,本申请实施例提出的视频抽帧处理装置还可以包括如下模块:倍速播放模块,用于对所述进行抽帧操作后的视频序列,按照所述期望播放速度进行相应的倍速播放。
在本申请实施例中,本申请实施例提出的视频抽帧处理装置,可以获取视频序列的编码图像的显示时间戳和非参考帧标志,通过结合显示时间戳与非参考帧标志确定丢帧位置,以根据所确定的丢帧位置对视频序列进行抽帧操作,实现基于按照时域层级对视频序列进行的逐层抽帧操作,以及按照非参考帧标志所进行的丢帧,从而大幅提高丢帧率,大幅度降低播放视频序列时所进行的解码、渲染等视频处理过程的计算量,降低处理耗时,进而达到提高快速播放的倍速以及提高快速播放的流畅度的效果,满足在倍速播放需求下对分辨率和播放帧率的高要求。
参照图8,示出了本申请的一种视频倍速播放装置实施例的结构框图,具体可以包括如下模块:
倍速播放指令接收模块801,用于接收用户的视频倍速播放指令;所述视频倍速播放指令包括期望播放速度;倍速播放指令响应模块802,用于响应所述视频倍速播放指令,获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;丢帧位置确定模块803,用于按照所述时域层级,根据所述显示时间戳和/或所述非参考帧标志,确定所述视频序列的丢帧位置;视频抽帧模块804,用于根据所述丢帧位置对所述视频序列进行抽帧操作;倍速播放模块805,用于对所述进行抽帧操作后的视频序列,按照所述期望播放速度进行相应的倍速播放。
在本申请实施例中,本申请实施例提出的视频倍速播放装置,可以获取视频序列的编码图像的显示时间戳和非参考帧标志,通过结合显示时间戳与非参考帧标志确定丢帧位置,以根据所确定的丢帧位置对视频序列进行抽帧操作,实现基于按照时域层级对视频序列进行的逐层抽帧操作,以及按照非参考帧标志所进行的丢帧,从而大幅提高丢帧率,大幅度降低播放视频序列时所进行的解码、渲染等视频处理过程的计算量,降低处理耗时,进而达到提高快速播放的倍速以及提高快速播放的流畅度的效果,满足在倍速播放需求下对分辨率和播放帧率的高要求。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种电子设备,包括:
包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述视频抽帧处理方法实施例或者视频倍速播放方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现上述视频抽帧处理方法实施例或者视频倍速播放方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的变更和修改。
以及,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
最后,在本申请的一些实施例中,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种视频抽帧处理方法与相应的一种视频抽帧装置、一种视频倍速播放方法与相应的一种视频倍速播放装置、相应的一种视频平台,以及相应的一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种视频抽帧处理方法,其特征在于,所述方法包括:
获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;
按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置;
根据所述丢帧位置对所述视频序列进行抽帧操作。
2.根据权利要求1所述的方法,其特征在于,所述按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置,包括:
获取所述视频序列的帧序列;所述帧序列包括若干个帧序列;
以所述帧序列为周期,按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置。
3.根据权利要求2所述的方法,其特征在于,所述获取所述视频序列的帧序列,包括:
基于所述显示时间戳在所述视频序列中,作为帧序列的起始帧;
基于所述起始帧和所述编码结构,确定位于所述起始帧后预设个数的各个图像帧与所述起始帧为同一帧序列。
4.根据权利要求2所述的方法,其特征在于,所述按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置,包括:
基于所述图像编码的编码结构,确定各个帧序列中起始帧与位于同一帧序列的各个图像帧所处的时域层级;
按照各个时域层级,根据所述显示时间戳和所述非参考帧标志确定丢帧位置。
5.根据权利要求4所述的方法,其特征在于,所述按照各个时域层级,根据所述显示时间戳和所述非参考帧标志确定丢帧位置,包括:
获取针对所述显示时间戳的第一抽帧策略,以及获取针对所述非参考帧标志的第二抽帧策略;
根据所述第一抽帧策略和所述第二抽帧策略,确定各个帧序列中各个时域层级的丢帧位置。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一抽帧策略和所述第二抽帧策略,确定各个帧序列中各个所处时域层级的丢帧位置,包括:
按照各个时域层级,基于所述第一抽帧策略确定所述帧序列的第一丢帧位置;
获取针对所述图像编码的映射关系,基于所述映射关系对当前所处时域层级的待解码的图像帧进行映射,得到映射后的显示顺序;其中,所述映射关系用于表示所述视频序列的显示顺序与解码顺序的转换关系;
响应所述映射后的显示顺序中所述第一丢帧位置不满足预设顺序,采用所述第二抽帧策略确定各个帧序列的第二丢帧位置,将所述第二丢帧位置作为所述视频序列的丢帧位置。
7.根据权利要求6所述的方法,其特征在于,还包括:
在确定第一丢帧位置之后,响应所述映射后的显示顺序中所述第一丢帧位置满足预设顺序,采用所述第一丢帧位置作为所述视频序列的丢帧位置。
8.根据权利要求6所述的方法,其特征在于,所述各个时域层级包括从高层级到低层级排序的多个时域层级;所述按照各个时域层级,基于所述第一抽帧策略确定所述帧序列的第一丢帧位置,包括:
获取处于各个时域层级的各个图像帧;
基于所述第一抽帧策略将高层级的时域层级的各个图像帧作为第一目标帧,并将所述第一目标帧在所述帧序列中所处的位置确定为第一丢帧位置;
若所确定的第一目标帧不满足预设丢帧率,则按照从高层级到低层级的顺序,将各个时域层级的各个图像帧不断作为第一目标帧,并将所述第一目标帧在所述帧序列中所处的位置确定为第一丢帧位置,直至所确定的第一目标帧满足预设丢帧率为止;其中,所述预设丢帧率基于期望解码帧率确定,所述期望解码帧率满足期望播放速度。
9.根据权利要求6所述的方法,其特征在于,所述采用所述第二抽帧策略确定各个帧序列的第二丢帧位置,包括:
基于所述第二抽帧策略,按照编码图像携带的非参考帧标志,确定各个帧序列的第二丢帧位置。
10.根据权利要求9所述的方法,其特征在于,所述按照编码图像携带的非参考帧标志,确定各个帧序列的第二丢帧位置,包括:
基于映射后的显示顺序中不满足预设顺序的第一丢帧位置为错误帧位置;
按照编码图像的非参考帧标志和所述错误帧位置,确定第二丢帧位置。
11.根据权利要求10所述的方法,其特征在于,所述按照编码图像携带的非参考帧标志和所述错误帧位置,确定第二丢帧位置,包括:
获取在针对所述图像编码的解码顺序中,位于所述错误帧位置之后的图像帧;
若所述编码图像具有参考帧和/或非参考帧标志,则从所述错位帧位置相应的图像帧以及位于所述错误帧位置之后的图像帧中,确定具有非参考帧标志的图像帧所在的位置为第二丢帧位置;
还包括:
若所述编码图像并未携带非参考帧标志,则不进行对所述第二丢帧位置的确定操作。
12.根据权利要求1所述的方法,其特征在于,所述根据所述丢帧位置对所述视频序列进行抽帧操作,包括:
根据所述丢帧位置确定所述视频序列的目标帧,对所述目标帧进行抽帧操作;所述丢帧位置包括针对显示时间戳的第一抽帧策略确定的第一丢帧位置,和针对非参考帧标志的第二抽帧策略确定的第二丢帧位置;
所述根据所述丢帧位置确定所述视频序列的目标帧,对所述目标帧进行抽帧操作,包括:
获取所述视频序列中位于第一丢帧位置的第一目标帧,以及位于第二丢帧位置的第二目标帧;在所述视频序列中对所述第一目标帧和所述第二目标帧进行抽帧操作。
13.根据权利要求1或12所述的方法,其特征在于,进行抽帧操作后的视频序列满足期望播放速度,还包括:
对所述进行抽帧操作后的视频序列,按照所述期望播放速度进行相应的倍速播放。
14.一种视频倍速播放方法,其特征在于,所述方法包括:
接收用户的视频倍速播放指令;所述视频倍速播放指令包括期望播放速度;
响应所述视频倍速播放指令,获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;
按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置;
根据所述丢帧位置对所述视频序列进行抽帧操作;
对所述进行抽帧操作后的视频序列,按照所述期望播放速度进行相应的倍速播放。
15.一种视频抽帧处理装置,其特征在于,所述装置包括:
编码图像获取模块,用于获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;
丢帧位置确定模块,用于按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置;
视频抽帧模块,用于根据所述丢帧位置对所述视频序列进行抽帧操作。
16.一种视频倍速播放装置,其特征在于,所述装置包括:
倍速播放指令接收模块,用于接收用户的视频倍速播放指令;所述视频倍速播放指令包括期望播放速度;
倍速播放指令响应模块,用于响应所述视频倍速播放指令,获取视频序列的编码图像,并获取所述编码图像的显示时间戳和非参考帧标志;其中,所述编码图像具有时域层级的编码结构;
丢帧位置确定模块,用于按照所述时域层级,根据所述显示时间戳和所述非参考帧标志,确定所述视频序列的丢帧位置;
视频抽帧模块,用于根据所述丢帧位置对所述视频序列进行抽帧操作;
倍速播放模块,用于对所述进行抽帧操作后的视频序列,按照所述期望播放速度进行相应的倍速播放。
17.一种视频平台,其特征在于,所述视频平台包括在所述视频平台中执行的计算机程序,所述计算机程序被所述视频平台执行时实现如权利要求1至13任一项所述视频抽帧处理或者权利要求14中任一项所述视频倍速播放方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至13任一项所述视频抽帧处理或者权利要求14中任一项所述视频倍速播放方法。
CN202310281912.XA 2023-03-16 2023-03-16 视频抽帧处理与倍速播放方法、装置、视频平台及介质 Pending CN116456111A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310281912.XA CN116456111A (zh) 2023-03-16 2023-03-16 视频抽帧处理与倍速播放方法、装置、视频平台及介质
US18/437,818 US20240312211A1 (en) 2023-03-16 2024-02-09 Methods for frame extraction processing of video and for playing video at variable speeds, video platform, and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310281912.XA CN116456111A (zh) 2023-03-16 2023-03-16 视频抽帧处理与倍速播放方法、装置、视频平台及介质

Publications (1)

Publication Number Publication Date
CN116456111A true CN116456111A (zh) 2023-07-18

Family

ID=87129377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310281912.XA Pending CN116456111A (zh) 2023-03-16 2023-03-16 视频抽帧处理与倍速播放方法、装置、视频平台及介质

Country Status (2)

Country Link
US (1) US20240312211A1 (zh)
CN (1) CN116456111A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116708938A (zh) * 2023-08-03 2023-09-05 腾讯科技(深圳)有限公司 视频处理方法、装置、设备及存储介质
CN117041669A (zh) * 2023-09-27 2023-11-10 湖南快乐阳光互动娱乐传媒有限公司 视频流的超分控制方法、装置及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116708938A (zh) * 2023-08-03 2023-09-05 腾讯科技(深圳)有限公司 视频处理方法、装置、设备及存储介质
CN117041669A (zh) * 2023-09-27 2023-11-10 湖南快乐阳光互动娱乐传媒有限公司 视频流的超分控制方法、装置及电子设备
CN117041669B (zh) * 2023-09-27 2023-12-08 湖南快乐阳光互动娱乐传媒有限公司 视频流的超分控制方法、装置及电子设备

Also Published As

Publication number Publication date
US20240312211A1 (en) 2024-09-19

Similar Documents

Publication Publication Date Title
CN116456111A (zh) 视频抽帧处理与倍速播放方法、装置、视频平台及介质
JP6104301B2 (ja) 映像品質推定技術
JP7309478B2 (ja) オーバーレイを伴うビデオを符号化するための方法およびシステム
WO2016131223A1 (zh) 一种视频帧丢帧方法及视频发送装置
EP3008911B1 (en) Trick play in digital video streaming
CN109819272B (zh) 视频发送方法、装置、计算机可读存储介质及电子设备
US6304295B1 (en) Region-based refresh strategy for video compression
CN109688407B (zh) 编码单元的参考块选择方法、装置、电子设备及存储介质
US20180007375A1 (en) Image encoding and decoding methods and devices thereof
CN112351285B (zh) 视频编码、解码方法和装置、电子设备和存储介质
CN105872556B (zh) 视频编码方法和装置
CN110267100A (zh) Flv视频的码率切换方法、装置、电子设备及存储介质
CN103533356A (zh) 视频数据传输方法和装置
CN105163117B (zh) 一种图像编码方法及装置
CN115361582B (zh) 一种视频实时超分辨率处理方法、装置、终端及存储介质
EP3522544A1 (en) Estimating video quality of experience
CN113573063B (zh) 视频编解码方法及装置
CN116567228A (zh) 编码方法、实时通信方法、装置、设备及存储介质
US11323730B2 (en) Temporally-overlapped video encoding, video decoding and video rendering techniques therefor
CN104506866A (zh) 一种适用于多码流的视频编码处理方法和视频编码器
US10715822B2 (en) Image encoding method and encoder
WO2012075612A1 (en) Method and device for determining a motion vector for a current block of a current video frame
CN112492384B (zh) 视频解码方法、装置和计算机设备
CN117291810B (zh) 视频帧的处理方法、装置、设备及存储介质
CN114513658B (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