CN109168023B - 一种可伸缩视频流的缓存方法 - Google Patents

一种可伸缩视频流的缓存方法 Download PDF

Info

Publication number
CN109168023B
CN109168023B CN201810886324.8A CN201810886324A CN109168023B CN 109168023 B CN109168023 B CN 109168023B CN 201810886324 A CN201810886324 A CN 201810886324A CN 109168023 B CN109168023 B CN 109168023B
Authority
CN
China
Prior art keywords
video
rcs
cache
req
content
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
CN201810886324.8A
Other languages
English (en)
Other versions
CN109168023A (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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201810886324.8A priority Critical patent/CN109168023B/zh
Publication of CN109168023A publication Critical patent/CN109168023A/zh
Application granted granted Critical
Publication of CN109168023B publication Critical patent/CN109168023B/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/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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

本发明公开了一种可伸缩视频流的缓存方法,包括:视频流分层:将可伸缩视频流分割为多个分辨率、质量和帧速率层;缓存空间分配:结合视频标题的流行度及视频片段的流行度,按比例分配缓存空间。本发明可大幅减少网络中缓存内容的冗余,提高缓存命中率,减少获取内容所需的平均跳数,缩短完成视频缓存的所需时间,提高效率。

Description

一种可伸缩视频流的缓存方法
技术领域
本发明涉及一种可伸缩视频流的缓存方法,属于网络缓存技术领域。
背景技术
SVC,即Scalable Video Coding,可伸缩视频编解码,是一种能将视频流分割为多个分辨率、质量和帧速率层的技术,SVC是对规定设备如何对多层视频流进行编码和解码的H.264视频编解码标准的扩展,被称为H.264/SVC。H.264/SVC是H.264/AVC的可扩展部分,其输出被添加到与H.264标准的视频数据可扩展性有关的标准中。当使用SVC编码和解码视频时,视频编码的输出可以分成不同的层。编码文件不仅包含具有重要信息的基础层,还包含用于提高质量的信息的增强层。基本层的数据可以使解码器完全正常的解码出基本视频内容,但是基本层的数据获得的视频图像可能帧率较低,分辨率较低,或者质量较低。在信道受限或信道环境复杂时,可以保证解码端能够接收到可以观看的流畅视频图像。当信道环境良好或信道资源丰富时,可以传递增强层数据,以提高帧率,或分辨率,或视频质量。基础层和增强层之间是强相互依赖的,要想对增强层的数据进行解码,必须以基础层作为起点。
目前,商用领域通常采用的是最近最少使用(LRU)、最近使用次数最少(LFU),先进先出(FIFO)等算法,其优点在于后续用户只需很少的路由跳数就能获得想要的内容,但其缺点也很明显——会导致网络中缓存节点空间的浪费和内容的冗余。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种可伸缩视频流的缓存方法,解决现有技术中缓存内容冗余、前期缓存内容无法得到充分利用、用户获取内容的时延过大等技术问题。
为解决上述技术问题,本发明所采用的技术方案是:一种可伸缩视频流的缓存方法,所述方法包括如下步骤:
视频流分层:将可伸缩视频流分割为多个分辨率、质量和帧速率层;
缓存空间分配:结合视频标题的流行度及视频片段的流行度,按比例分配缓存空间。
进一步的,视频流分层的具体方法如下:
通过可伸缩视频编码技术将可伸缩视频流分割为一个基础层和多个可提高分辨率、帧速率和质量的其它可选层组成的多层视频流。
进一步的,缓存空间分配的具体方法包括如下步骤:
计算每个视频标题的请求比率Reqi
计算在CS中缓存的视频标题名称的实时占用率Rcsi
比较Reqi和Rcsi的大小,根据两者的大小决定网络节点是否缓存该视频片段。
进一步的,计算每个视频标题的请求比率Reqi的具体方法如下:
假定CCN中所请求的视频块的名称包括视频标题名称i和序列号j;
定义视频文件fi由一组视频片段{Ci,1,Ci,2,...,Ci,j...}组成;
按序列号j对视频文件fi中的视频片段排序;
根据请求内容标题的流行度,计算每个视频标题名称的请求比率Reqi,计算公式如下:
Figure BDA0001755753600000031
其中:Recij∈{0,1,2,...},代表单个时间单位内用户对内容Ci,j发起请求的次数;m代表所请求的视频标题的数量;n代表所请求的视频片段的数量。
进一步的,计算在CS中缓存的视频标题i的实时占用率Rcsi的具体方法如下:
假定CCN中所请求的视频块的名称包括视频标题名称i和序列号j;
定义视频文件fi由一组视频片段{Ci,1,Ci,2,...,Ci,j...}组成;
CS中缓存的视频标题名称i的实时占用率Rcsi的计算公式如下:
Figure BDA0001755753600000032
其中:Rcsij∈{0,1},代表的是CS的存储空间占有率;K是网络节点的缓存大小;当Rcsij取值为0时,代表内容Ci,j不在CS中缓存,当Rcsij取值为1时,则缓存在网络节点的CS中。
进一步的,决定网络节点是否缓存该视频片段的具体方法如下:
若Reqi=Rcsi,表示视频文件fi占用了与动态流行度成比例的缓存大小;
若Reqi<Rcsi,表示视频文件fi占用了比实际所需多的缓存空间,需要将之前已缓存的文件剔除一部分;
若Reqi>Rcsi,表示该节点则需要缓存更多的视频内容以满足请求比例。
进一步的,视频请求者根据内容序列号j的顺序请求视频片段,当节点缓存已满的时候,选择具有最小序列号的视频片段剔除。
与现有技术相比,本发明所达到的有益效果是:采用PBCSA方案大幅减少了网络中缓存内容的冗余;
通过PBCSA方案提高了缓存命中率,减少了获取内容所需的平均跳数,缩短了完成视频缓存的所需时间,提高了效率。
附图说明
图1为可伸缩视频编码技术的解码示意图;
图2为PBCSA的缓存替换策略图;
图3为PBCSA缓存替换实例流程图;
图4为PBCSA算法与采用LRU方法进行预测的对比图;
图5为PBCSA算法与采用LFU方法进行预测的对比图;
图6为PBCSA算法与采用FIFO方法进行预测的对比图。
具体实施方式
本发明提供的可伸缩视频流的缓存方法,着力于解决网络视频流的缓存问题,主要包括如下步骤:
对可伸缩视频流进行视频流分层;
计算每个标题的请求比率Reqi
计算在CS中缓存的视频标题的实时占用率Rcsi
比较Reqi和Rcsi的大小,根据两者的大小决定该网络节点是否缓存该视频片段。
下面结合附图和具体实施例对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
假设有25个不同的视频,并且每个视频标题都不一样,每个视频文件由800个视频片段组成,这样总共就有20000个视频片段。同样的,设置100个视频请求者,并且不同视频文件的流行度遵循Zipf分布,并假定α=1.2。请求者从不同的时间开始请求他们的目标视频,并且按照从该视频的开始到视频序列号j的顺序请求,只有当全部20000个片段已被其相应的请求者成功接收,整个缓存过程才算结束。通过计算每个视频标题的请求比率以及该节点的实时占用率,比较二者的大小,按照流行度的大小按比例分配缓存空间。本发明在缓存过程中提高了缓存命中率,减少了网络中内容的冗余,同时也减少了获取内容的平均跳数,实现了缓存的优化。
基于以上提出的数据结构和算法流程,具体如下:
步骤S1中,SVC技术将收发的数据分为一个小的基础层和多个可提高分辨率、帧速率和质量的其它可选层组成的多层视频流,这种分层方式可以大大提高设备相互通信时的误码弹性和视频质量,而且对带宽没有很高的要求。另外,一个多层SVC视频流可以支持多种设备和网络.SVC技术使低码流下的传输和解码成为可能,对于部分码流采用低的时间或者空间分辨率、或者低的保真度(高压缩率),而对于部分码流保留高的重建质量,简而言之,SVC被设计为向传输和存储应用提供各种增强功能。图1为SVC的解码示意图。
步骤S2中,由于CCN中是根据内容的名称来发起请求的,使用的名称结构是分层式的结构。比如/Prefix/Videoi/Contentj。因此,我们假定CCN中所请求的视频块的名称包括视频标题名称i和序列号j,用于区分该视频的不同段。序号j是根据视频播放时间排序的。我们定义视频文件fi由一组视频片段{Ci,1,Ci,2,...,Ci,j...}组成,它们按其序号j排序,并且请求一个视频片段必须从开头直到结尾。
步骤S3中,基于视频片段的自然线性时间结构,视频内每个片段的流行度指的是未来请求该内容的概率。根据请求内容标题的流行度,CS(Content Store)中每个视频的存储空间分配需要快速响应请求率的动态变化,因此,我们计算每个标题的请求比率Reqi,计算公式如下:
Figure BDA0001755753600000061
其中Recij∈{0,1,2,...},代表单个时间单位内用户对内容Ci,j发起请求的次数。公式(1)中,m,n分别代表所请求的视频标题的数量和所请求的视频片段的数量。根据内容流行度的量化定义,内容流行度是对一个内容在请求周期内请求次数的估值,这样Reqi就代表了视频文件fi的动态流行度。
步骤S4中,CS中缓存的视频标题i的实时占用率Rcsi的计算公式如下:
Figure BDA0001755753600000062
在公式(2)中,Rcsij∈{0,1},代表的是CS的存储空间占有率。K是该节点的缓存大小。当Rcsij取值为0时,代表内容Ci,j不在CS中缓存,值为1时,则缓存在该节点的CS中。
步骤S5中,我们的目标是分配与内容流行度成比例的缓存大小,即Reqi=Rcsi。Reqi<Rcsi表示文件fi占用了比实际所需多的缓存空间,需要将之前已缓存的文件剔除一部分。相反,Reqi>Rcsi时该节点则需要缓存更多的视频内容以满足请求比例,以提高CS的利用率。
步骤S6中,视频请求者根据内容序列号j的顺序请求视频片段,因此后续片段在将来被请求的概率较大。例如,如果CCN路由器接收到对内容Ci,6的请求,那么随后的比如Ci,7,Ci,8等后续的片段被请求的概率将非常大。因此,在CS中缓存的这些后续片段中的任何一个将具有比先前内容更高的请求机会。当节点缓存已满的时候,该算法将选择具有最小序列号j的片段剔除,留下空间给随后需要缓存的片段。
如图2所示,当一个CCN路由器接收到一个视频内容Ci,j时,我们首先将标题的流行度Reqi和CS存储空间占用率Rcsi进行比较。如果Reqi<Rcsi,说明视频文件fi占用的CS空间超过了它的需要。因此,应该释放一些缓存空间用于其他视频的缓存以提高CS的缓存效率。根据缓存替换策略,Ci,p和Ci,q具有最小的序列号,所以应该将Ci,p,Ci,q两个视频片段删除。如果Reqi=Rcsi,我们只将具有最小序列号的Ci,p删除。如果Reqi>Rcsi,说明视频文件fi的更多视频片段需要缓存在该节点,所以fi的任一片段都不会被删除,相反,将CS中请求速率最小的文件fk中具有最小序列号的Ck,p删除。整个算法流程如图3所示。
如图4~6所示,是本发明采用的PBCSA算法与采用LRU、LFU、FIFO方法进行预测的对比图;从图中可看出:本发明提供的方法平均命中率、获取内容的平均跳数、完成缓存的总时间三个方面都比传统方法具有明显的优越性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (3)

1.一种可伸缩视频流的缓存方法,其特征在于,所述方法包括如下步骤:
视频流分层:将可伸缩视频流分割为多个分辨率、质量和帧速率层;
缓存空间分配:结合视频标题的流行度及视频片段的流行度,按比例分配缓存空间;
缓存空间分配的具体方法包括如下步骤:
计算每个视频标题的请求比率Reqi
计算在CS中缓存的视频标题名称的实时占用率Rcsi
比较Reqi和Rcsi的大小,根据两者的大小决定网络节点是否缓存该视频片段;
计算每个视频标题的请求比率Reqi的具体方法如下:
定义CCN中所请求的视频块的名称包括视频标题名称i和序列号j;
定义视频文件fi由一组视频片段{Ci,1,Ci,2,...,Ci,j...}组成;
按序列号j对视频文件fi中的视频片段排序;
根据请求内容标题的流行度,计算每个视频标题名称的请求比率Reqi,计算公式如下:
Figure FDA0002759689960000011
其中:Recij∈{0,1,2,...},代表单个时间单位内用户对内容Ci,j发起请求的次数;m代表所请求的视频标题的数量;n代表所请求的视频片段的数量;
计算在CS中缓存的视频标题i的实时占用率Rcsi的具体方法如下:
定义CCN中所请求的视频块的名称包括视频标题名称i和序列号j;
定义视频文件fi由一组视频片段{Ci,1,Ci,2,...,Ci,j...}组成;
CS中缓存的视频标题名称i的实时占用率Rcsi的计算公式如下:
Figure FDA0002759689960000021
其中:Rcsij∈{0,1},代表的是CS的存储空间占有率;K是网络节点的缓存大小;当Rcsij取值为0时,代表内容Ci,j不在CS中缓存,当Rcsij取值为1时,则缓存在网络节点的CS中;
决定网络节点是否缓存该视频片段的具体方法如下:
若Reqi=Rcsi,表示视频文件fi占用了与动态流行度成比例的缓存大小;
若Reqi<Rcsi,表示视频文件fi占用了比实际所需多的缓存空间,需要将之前已缓存的文件剔除一部分;
若Reqi>Rcsi,表示该节点则需要缓存更多的视频内容以满足请求比例。
2.根据权利要求1所述的可伸缩视频流的缓存方法,其特征在于,视频流分层的具体方法如下:
通过可伸缩视频编码技术将可伸缩视频流分割为一个基础层和多个可提高分辨率、帧速率和质量的其它可选层组成的多层视频流。
3.根据权利要求1所述的可伸缩视频流的缓存方法,其特征在于,视频请求者根据内容序列号j的顺序请求视频片段,当节点缓存已满的时候,选择具有最小序列号的视频片段剔除。
CN201810886324.8A 2018-08-06 2018-08-06 一种可伸缩视频流的缓存方法 Active CN109168023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810886324.8A CN109168023B (zh) 2018-08-06 2018-08-06 一种可伸缩视频流的缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810886324.8A CN109168023B (zh) 2018-08-06 2018-08-06 一种可伸缩视频流的缓存方法

Publications (2)

Publication Number Publication Date
CN109168023A CN109168023A (zh) 2019-01-08
CN109168023B true CN109168023B (zh) 2021-02-12

Family

ID=64895151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810886324.8A Active CN109168023B (zh) 2018-08-06 2018-08-06 一种可伸缩视频流的缓存方法

Country Status (1)

Country Link
CN (1) CN109168023B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040302B (zh) 2019-06-03 2023-01-03 优视科技有限公司 视频缓冲方法、装置、电子设备及计算机可读存储介质
CN111372096B (zh) * 2020-03-12 2022-02-18 重庆邮电大学 一种基于d2d辅助的视频质量自适应缓存方法和设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547273B (zh) * 2010-12-08 2014-05-07 中国科学院声学研究所 一种基于mkv的支持可伸缩编码的多媒体文件构造方法
US9191459B2 (en) * 2011-07-12 2015-11-17 Futurewei Technologies, Inc. Method and apparatus for seamless mobility techniques in content-centric network
CN102447973B (zh) * 2011-10-10 2013-12-04 华为技术有限公司 一种缓存调整的方法、装置和系统
US9544352B2 (en) * 2013-06-11 2017-01-10 Bitmovin Gmbh Adaptation logic for varying a bitrate
CN105306945B (zh) * 2014-07-10 2019-03-01 北京创鑫汇智科技发展有限责任公司 一种监控视频的可伸缩浓缩编码方法和装置
CN104284201A (zh) * 2014-09-26 2015-01-14 北京奇艺世纪科技有限公司 一种视频内容的处理方法和装置
US20160142510A1 (en) * 2014-11-14 2016-05-19 Futurewei Technologies, Inc. Cache-aware content-based rate adaptation mechanism for adaptive video streaming
CN105657442A (zh) * 2015-12-30 2016-06-08 北京奇艺世纪科技有限公司 一种视频文件生成方法和系统
CN105959694B (zh) * 2016-05-03 2019-01-29 复旦大学 一种面向可伸缩视频流的分布式毫微蜂窝缓存分配方法
CN107734382B (zh) * 2017-08-28 2019-11-08 北京邮电大学 一种高低频协作环境下的视频传输方法及装置
CN108134965B (zh) * 2018-01-23 2020-09-01 重庆大学 一种点播业务的无线侧组播传输的方法

Also Published As

Publication number Publication date
CN109168023A (zh) 2019-01-08

Similar Documents

Publication Publication Date Title
JP5408257B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム
US9510043B2 (en) Pre-buffering audio streams
KR101228230B1 (ko) 컨텐츠 전달 네트워크 내의 노드에서 하나 이상의 컨텐츠 아이템을 캐싱하는 방법, 장치 및 제품
CN100568957C (zh) 一种基于p2p技术的视频点播节目缓存方法
CN106303704B (zh) 一种基于代理服务器的dash流媒体直播系统及方法
US11758203B2 (en) Adaptive bitrate video cache
CN109168023B (zh) 一种可伸缩视频流的缓存方法
CN111263229B (zh) 一种视频分发方法、装置及电子设备
CN112379849B (zh) 基于序列可预测的并行深度学习训练数据输入方法和系统
CN113282786B (zh) 一种基于深度强化学习的全景视频边缘协作缓存替换方法
US20130346456A1 (en) Device for caching a scalable original file
CN112714315A (zh) 基于全景视频的分层缓冲方法及系统
CN108124166B (zh) 一种互联网直播系统
CN108881943B (zh) P2p流媒体点播系统中基于淘汰指数的节点缓存替换方法
CN114786034A (zh) 一种基于边缘计算的全景视频优化传输方法和系统
Lee et al. Cache replacement strategies for scalable video streaming in CCN
Zeng et al. TVSR‐OR: Tile‐based 360‐degree video streaming over real time streaming protocol with optimized read
Lim et al. A proxy caching scheme for continuous media streams on the Internet
US20130198454A1 (en) Cache device for caching
CN108900874B (zh) 一种基于svc-dash框架的流媒体自适应请求方法及其装置
WO2013005478A1 (ja) コンテンツ配信システム、コンテンツ配置決定装置、コンテンツ配置決定方法およびプログラム
US20140237077A1 (en) Methods and systems for providing file data for video files
Yu SVC-based dynamic caching for smart media streaming over the internet of things
CN107094141B (zh) 一种p2p流媒体系统中的svc视频文件分片及调度方法
CN107124414B (zh) 一种基于svc数据特性的p2p流媒体分片及调度方法

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