CN107197369B - 一种多子流协同的视频流媒体并行解码方法 - Google Patents

一种多子流协同的视频流媒体并行解码方法 Download PDF

Info

Publication number
CN107197369B
CN107197369B CN201710418513.8A CN201710418513A CN107197369B CN 107197369 B CN107197369 B CN 107197369B CN 201710418513 A CN201710418513 A CN 201710418513A CN 107197369 B CN107197369 B CN 107197369B
Authority
CN
China
Prior art keywords
sub
video
decoding
streams
frame
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
CN201710418513.8A
Other languages
English (en)
Other versions
CN107197369A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201710418513.8A priority Critical patent/CN107197369B/zh
Publication of CN107197369A publication Critical patent/CN107197369A/zh
Application granted granted Critical
Publication of CN107197369B publication Critical patent/CN107197369B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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, rendering scenes according to MPEG-4 scene graphs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种多子流协同的视频流媒体并行解码方法,是一种视频流媒体领域中的创新型解码方案;其目的在于在当前移动设备有限的硬件资源和计算能力上实现高分辨率视频流的快速解码。其主要思路为:将原始的高分辨率视频流拆分为多个低分辨率视频子流,客户端开启多条连接负责读取不同的视频子流并利用多线程技术同时解码这些视频子流,客户端再将每个子流解码出来的视频子帧整合、复原为原始的完整帧并显示;本发明充分利用手机CPU的多核架构,在无需改变编/解码器内部实现(逻辑/算法)的情况下,实现了能够快速在各种平台、设备上部署的高效并行视频流媒体解码方案。

Description

一种多子流协同的视频流媒体并行解码方法
技术领域
本发明属于视频流媒体技术领域,特别涉及一种多子流协同的视频流媒体并行解码方法。
背景技术
随着用户体验需求的持续增长和终端显示技术的不断进步,越来越多的视频服务提供商开始提供高分辨率、高清晰度的视频流媒体服务。与此同时,随着虚拟现实、全景视频产业的快速发展,4K、8K等超高分辨率视频也已开始出现和普及。借助目前主流的视频压缩技术(如H.264,H.265),高码率的视频流能够在现有的网络上实现有效的分发和传输。
视频压缩技术有效节省了网络的带宽开销,但是也在终端设备上引入了额外的计算开销。终端设备需要对接收到的视频流进行逐帧解码才能将其显示并播放。终端上过高的解码延迟将导致视频无法按照原有的帧率进行播放,直接影响用户的观看体验。由于解码延迟正相关于视频的分辨率,如何保证高分辨率(4K、8K)视频流的快速解码就成为一个重要的问题。
特别地,当用户使用移动设备(智能手机等)作为终端时,上述问题将更加严峻。这是因为当前移动设备上有限的硬件(CPU/GPU)能力难以完成高分辨率视频流的快速解码。除此之外,移动设备上功耗受限的特性也使得 CPU和GPU无法长时间工作在较高频率,进一步削弱了其解码能力。因此,我们希望在软件层面设计出一种全新的视频流媒体解码方案,使得移动设备在无需耗尽本身计算资源的情况下实现高分辨率视频流的快速解码。
发明内容
为了克服上述现有技术的缺点,解决如何在移动设备(智能手机)上实现高分辨率视频流的快速解码等问题,本发明的目的在于提供一种多子流协同的视频流媒体并行解码方法,
为了实现上述目的,本发明采用的技术方案是:
一种多子流协同的视频流媒体并行解码方法,将高分辨率的视频流拆分成多个低分辨率的子视频流,充分利用手机CPU的多核架构实现快速的并行视频流媒体解码,在流媒体场景下按照以下步骤实现:
步骤(1),服务器端将原视频流的每一帧切分为N个子帧,得到N个子序列帧(由于手机趋近于使用4核的CPU架构,下面取N=4),每个子帧都包含一个时间戳信息用来标识其在原视频流中的位置,由同一帧切分出来的不同子帧应具有相同的时间戳信息;
步骤(2),利用视频压缩技术,服务器端将N个子序列帧转码为N个独立的子视频流,每个子视频流对应一个唯一的URL;
步骤(3),客户端播放器同时开启N个解码线程,分别从服务器上读取 N个子视频流,并对每个子视频流进行逐帧解码;
步骤(4),播放器的N个解码线程按顺序将已解码好的子帧分别加到N 个不同的子帧队列中;
步骤(5),播放器开启一个显示线程,该线程每次从N个不同的子帧队列中按顺序获取一帧已解码的子帧,当N个子帧都已经出列并且具备相同的时间戳信息,显示线程将它们组合成完整的一帧,并显示出来。
所述步骤(1)中,服务器端将原视频流的高分辨率视频帧按等份水平切分为N个子帧,每个子帧的分辨率为原来的则原来组成一个视频流的一系列帧就转变成了N个子序列帧。
所述N等于手机CPU架构的核心数,每个核负责一个独立子视频流的解码。
与现有技术相比,本发明可以直接在当前移动设备(智能手机)有限的硬件(CPU/GPU)能力上实现高分辨率视频流的快速解码。本发明在无需改变任何编/解码器内部实现(逻辑/算法)的情况下,充分利用当前手机CPU 的多核架构实现了高效的并行解码。相对于其他方案,本发明可以非常容易地部署、实施在各种播放器和编/解码器之上,有利于促进高码率视频流服务的发展和普及。
附图说明
图1是本发明子帧切分示意图。
具体实施方式
下面结合附图和实施例详细说明本发明的实施方式。
本发明利用手机CPU的多核架构设计了一种基于多子流协同的并行视频流媒体解码方案。
首先,在流媒体服务器上将原有的高分辨率视频帧按等份水平切分为N 个子帧(如图1所示),每个子帧的分辨率为原来的
Figure BDA0001314314060000031
并包含一个时间戳信息用来标识其在原视频流中的位置。经过这样的处理后,原来组成一个视频流的一系列帧就转变成了N个子序列帧。服务器利用主流的视频压缩技术 (H.264或H.265)将这N个子序列帧压缩成个N个独立的子视频流(分别对应不同的资源定位符)。
相应地,客户端播放器将利用现在手机CPU中普遍的多核架构来并行读取和解码这N个独立的子视频流了。因此为了达到最优的并行解码效果,N 的取值将取决于终端手机CPU核的数量。一般情况下,每个核负责一个独立子视频流的解码能达到最好的解码效果。由于目前主流的手机都趋近于使用 4核的CPU架构,因此N通常取值为4。
为了支持同时并行解码4个子视频流,客户端播放器需要同时开启4个解码线程分别从不同的子视频流中读取、解码子序列帧。考虑到不同解码线程的读取、解码速度无法确保完全一致,直接显示解码后的子帧将出现子帧错位的情况(即某一时刻组成画面的四个子帧在原视频流中并不属于同一时刻)。
为了解决上述问题,每个解码线程都需要维护一个队列并按顺序缓存已解码的子帧。除此之外,播放器还将开启一个显示线程用于整合、拼接子帧并将其完整无误地显示到屏幕上。该显示线程将分别从4个解码线程维护的队列中按顺序获取解码好的子帧。在确认当前4个子帧都具备相同的时间戳信息后,再将它们组合、拼接成为完整的一帧,并显示到屏幕上。
具体地,本发明基于多子流协同的并行视频流媒体解码方法包含以下几个主要步骤:
步骤(1)假设一个高清视频流的原始帧序列为frame_seq= {f1,f2,f3,f4,...,fn}。服务器端首先按照图1 所示将该序列的每一帧fk进行水平切分,得到m个子帧{fk1,fk2,...,fkm}。由于当前手机趋近于使用4核的 CPU架构,以下取m=4,则有:
frame_seq
=frame_seq_1∪frame_seq_2∪frame_seq_3∪frame_seq_4
={f11,...,fn1}∪{f12,...,fn2}∪{f13,...,fn3}∪{f14,...,fn4}
步骤(2)原视频流的每一帧fk在编码时都将对应到唯一的一个时间戳信息,也就是存在映射关系:tk→fk。fk切分后的子帧{fk1,fk2,fk3,fk4}均对应原来的时间戳tk
步骤(3)服务器按照tk→fkm的映射,分别将子帧序列frame_seq_k编码压缩为独立的子视频流sub_stream_k。每个子视频流对应一个唯一的URL (资源定位符)。
步骤(4)客户端根据4个子流的URL,开启四个独立的线程从服务器获取对应的视频流。同时客户端将维护4个解码队列 {frame_queue_1,frame_queue_2,frame_queue_3,frame_queue_4},分别用于缓存、同步四个子流已解码的视频子帧。
步骤(5)考虑到每个子帧的解码速度无法确保一致,每个子流将分别独立地进行逐帧解码。解码好的视频子帧将按顺序加入到各自的解码队列中。
步骤(6)客户端同时开启一个播放线程,该线程负责从解码队列 frame_queue_k中出列已解码的视频子帧并将它们组合显示为完整的一帧。为了确保不会出现子帧错位情况,只有当出列的四个子帧都对应同一时间戳 tk时才组合显示。若存在子帧丢失情况,则应对其他同一时刻的子帧做相应的丢帧处理。
因此,本发明是一种视频流媒体领域中的创新型解码方案。其目的在于在当前移动设备有限的硬件资源和计算能力上实现高分辨率视频流的快速解码。本发明充分利用手机CPU的多核架构,在无需改变编/解码器内部实现 (逻辑/算法)的情况下,实现了能够快速在各种平台、设备上部署的高效并行视频流媒体解码方案。
综上所述,本发明提出了一种基于多子流协同的并行视频流媒体解码方案。针对解码延迟正相关于视频的分辨率的事实,本发明将原始高分辨率视频流拆分成多个低分辨率的独立子视频流。利用手机CPU的多核架构,高效地实行并行解码从而实现了高分辨率视频流的快速解码。同时本发明也无需改变任何编/解码器的内部实现,具有良好的实施性和通用性。

Claims (3)

1.一种多子流协同的视频流媒体并行解码方法,将高分辨率的视频流拆分成多个低分辨率的子视频流,充分利用手机CPU的多核架构实现快速的并行视频流媒体解码,其特征在于,在流媒体场景下按照以下步骤实现:
步骤(1),服务器端将原视频流的每一帧切分为N个子帧,得到N个子序列帧,每个子帧都包含一个时间戳信息用来标识其在原视频流中的位置,由同一帧切分出来的不同子帧应具有相同的时间戳信息;
步骤(2),利用视频压缩技术,服务器端将N个子序列帧转码为N个独立的子视频流,每个子视频流对应一个唯一的URL;
步骤(3),客户端播放器同时开启N个解码线程,分别从服务器上读取N个子视频流,并对每个子视频流进行逐帧解码;
步骤(4),播放器的N个解码线程按顺序将已解码好的子帧分别加到N个不同的子帧队列中;
步骤(5),播放器开启一个显示线程,该线程每次从N个不同的子帧队列中按顺序获取一帧已解码的子帧,当N个子帧都已经出列并且具备相同的时间戳信息,显示线程将它们组合成完整的一帧,并显示出来。
2.根据权利要求1所述多子流协同的视频流媒体并行解码方法,其特征在于,所述步骤(1)中,服务器端将原视频流的高分辨率视频帧按等份水平切分为N个子帧,每个子帧的分辨率为原来的
Figure FDA0001314314050000011
则原来组成一个视频流的一系列帧就转变成了N个子序列帧。
3.根据权利要求1所述多子流协同的视频流媒体并行解码方法,其特征在于,所述N等于手机CPU架构的核心数,每个核负责一个独立子视频流的解码。
CN201710418513.8A 2017-06-06 2017-06-06 一种多子流协同的视频流媒体并行解码方法 Active CN107197369B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710418513.8A CN107197369B (zh) 2017-06-06 2017-06-06 一种多子流协同的视频流媒体并行解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710418513.8A CN107197369B (zh) 2017-06-06 2017-06-06 一种多子流协同的视频流媒体并行解码方法

Publications (2)

Publication Number Publication Date
CN107197369A CN107197369A (zh) 2017-09-22
CN107197369B true CN107197369B (zh) 2020-01-14

Family

ID=59877135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710418513.8A Active CN107197369B (zh) 2017-06-06 2017-06-06 一种多子流协同的视频流媒体并行解码方法

Country Status (1)

Country Link
CN (1) CN107197369B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108063976B (zh) * 2017-11-20 2021-11-09 北京奇艺世纪科技有限公司 一种视频处理方法及装置
CN109451312A (zh) * 2018-11-05 2019-03-08 深圳威尔视觉传媒有限公司 方便视频解码的视频处理方法、装置、设备及存储介质
CN109769142B (zh) * 2019-01-28 2021-02-09 深圳市睿智物联科技有限公司 一种城市媒体墙灯光秀的视频切割方法及系统
CN109922319B (zh) * 2019-03-26 2020-10-09 重庆英卡电子有限公司 基于多核cpu的rtsp协议多视频流并行预处理方法
CN110113658B (zh) * 2019-04-04 2022-04-29 武汉精立电子技术有限公司 一种超高分辨率视频播放方法及系统
CN111277896A (zh) * 2020-02-13 2020-06-12 上海高重信息科技有限公司 对网络视频流图像拼接的方法和装置
CN112217739B (zh) * 2020-09-30 2023-05-12 北京淳中科技股份有限公司 码流发送设备、码流发送方法及码流发送系统
CN115529489A (zh) * 2021-06-24 2022-12-27 海信视像科技股份有限公司 显示设备、视频处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101162575A (zh) * 2006-10-12 2008-04-16 佳能株式会社 显示控制设备和方法、显示设备和处理方法、多显示系统
CN104160701A (zh) * 2012-01-27 2014-11-19 松下电器(美国)知识产权公司 图像编码方法、图像解码方法、图像编码装置、图像解码装置以及图像编解码装置
CN105025347A (zh) * 2015-07-21 2015-11-04 北京暴风科技股份有限公司 一种gop图像组的发送和接收方法
CN106664443A (zh) * 2014-06-27 2017-05-10 皇家Kpn公司 根据hevc拼贴视频流确定感兴趣区域
CN106792270A (zh) * 2016-12-08 2017-05-31 广东威创视讯科技股份有限公司 一种视频处理方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8503539B2 (en) * 2010-02-26 2013-08-06 Bao Tran High definition personal computer (PC) cam

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101162575A (zh) * 2006-10-12 2008-04-16 佳能株式会社 显示控制设备和方法、显示设备和处理方法、多显示系统
CN104160701A (zh) * 2012-01-27 2014-11-19 松下电器(美国)知识产权公司 图像编码方法、图像解码方法、图像编码装置、图像解码装置以及图像编解码装置
CN106664443A (zh) * 2014-06-27 2017-05-10 皇家Kpn公司 根据hevc拼贴视频流确定感兴趣区域
CN105025347A (zh) * 2015-07-21 2015-11-04 北京暴风科技股份有限公司 一种gop图像组的发送和接收方法
CN106792270A (zh) * 2016-12-08 2017-05-31 广东威创视讯科技股份有限公司 一种视频处理方法及系统

Also Published As

Publication number Publication date
CN107197369A (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
CN107197369B (zh) 一种多子流协同的视频流媒体并行解码方法
TWI623225B (zh) 視訊播放方法及其控制終端
WO2019024919A1 (zh) 视频转码方法及其装置、服务器、可读存储介质
US10819994B2 (en) Image encoding and decoding methods and devices thereof
CN103475927B (zh) 在线视频实时变速播放方法及系统
CN101917613B (zh) 一种流媒体采集编码服务系统
US11516518B2 (en) Live streaming with live video production and commentary
US11700419B2 (en) Re-encoding predicted picture frames in live video stream applications
CN101917389A (zh) 一种网络电视直播系统
JP6621827B2 (ja) 無線リンク状態に基づくビデオ復号化待ち時間調整、並びにビデオ復号化誤りの隠蔽のための、古いパケットのリプレイ
WO2019128668A1 (zh) 视频码流处理方法、装置、网络设备和可读存储介质
WO2014178880A2 (en) Scalable video coding prioritization
CN114600468A (zh) 将复合视频流中的视频流与元数据组合
JP2022141586A (ja) 低遅延のために統合nicと共有フレームバッファアクセスとを有するクラウドゲーミングgpu
US20230096562A1 (en) Method and system for transmitting and reproducing video of dynamic bitrate with a plurality of channels
US10609383B2 (en) Video compression using down-sampling patterns in two phases
CN112087631A (zh) 基于gpu同步并行视频编解码与流媒体传输系统及方法
CN110784731B (zh) 一种数据流转码方法、装置、设备及介质
US9667885B2 (en) Systems and methods to achieve interactive special effects
Timmerer et al. Adaptive streaming of vr/360-degree immersive media services with high qoe
JP5854208B2 (ja) 多段高速再生のための映像コンテンツ生成方法
Zeng et al. A new architecture of 8k vr fov video end-to-end technology
KR20160008011A (ko) 초고해상도 영상 처리를 위한 장치
KR101941781B1 (ko) Mmt 기반 8k 방송 수신 방법 및 장치
CN106685904B (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