CN101321265B - 对等网络媒体点播跨帧播放方式的实现方法及系统 - Google Patents
对等网络媒体点播跨帧播放方式的实现方法及系统 Download PDFInfo
- Publication number
- CN101321265B CN101321265B CN2007101084146A CN200710108414A CN101321265B CN 101321265 B CN101321265 B CN 101321265B CN 2007101084146 A CN2007101084146 A CN 2007101084146A CN 200710108414 A CN200710108414 A CN 200710108414A CN 101321265 B CN101321265 B CN 101321265B
- Authority
- CN
- China
- Prior art keywords
- frame
- media
- block
- index file
- file
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/632—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明提供了一种P2P媒体点播跨帧播放方式的实现方法,包括步骤:(a)将点播的媒体文件分块封装处理成一媒体内容文件,并记录每个媒体关键帧所在的块编号或时间戳,形成一帧索引文件;(b)将媒体内容文件和帧索引文件发布到P2P网络中;(c)点播媒体时客户端从源节点取得帧索引文件和媒体块;(d)需要跨帧播放时客户端根据帧索引文件计算下一关键帧所在的块编号,并由此获取相应媒体块进行解封装、解码及播放。本方法方便地满足了P2P网络用户观看媒体的VCR操作需求。
Description
技术领域
本发明涉及对等网络(Peer To Peer Network,以下简称P2P)技术领域和宽带流媒体领域媒体点播方法及系统,特别涉及P2P媒体点播的播放方式的实现方法及系统。
背景技术
随着互联网络和宽带接入网络的迅速发展,采用P2P技术已经能够成功地在互联网上开展视频点播业务。P2P流媒体网络系统如图1所示,该系统由主节点和多个子节点组成。其中,各网络节点地位平等,两个节点之间可以互为服务器和客户端。为保证系统有效工作,设置P2P流媒体主节点作为其它子节点的信息管理服务器,用于管理系统的用户信息和节目资源信息,即存放媒体文件,进行媒体资源检索(定位),维护系统节点资源信息,并可与其它主节点交换资源信息(图中未示)。系统中当子节点3作为目标节点点播某个节目,则主节点和其他2个子节点1、2都能提供这个节目服务,它们都作为源节点来响应节点3的播放请求,对节目文件分块处理成数据包发送给节点3。节点3对接收到的节目数据包进行过滤、排序,组合成节目流后按块实时播放。但现有的P2P点播系统一般都不能支持用户实现快进、快退及拖动等类似于录像机(VCR)的跨帧播放方式以及暂停的操作,不能很好地满足用户观看视频各种播放方式的操作需求。
发明内容
本发明所要解决的技术问题是提供一种P2P媒体点播跨帧播放方式的实现方法,以支持客户端用户在观看媒体节目时能够方便地实现各种播放方式(快进、快退、暂停及拖动)操作的功能。
本发明提供的P2P媒体点播跨帧播放方式的实现方法,包括步骤:
(a)将点播的媒体文件分块封装处理成一媒体内容文件,并记录每个媒体关键帧所在的块编号和时间戳,形成一帧索引文件;
(b)将所述媒体内容文件和所述帧索引文件发布到对等网络中;
(c)点播媒体时,客户端从源节点取得所述帧索引文件和所述媒体内容文件中的媒体块;
(d)需要跨帧播放时,客户端根据所述帧索引文件计算下一关键帧所在的块编号,获取相应媒体块进行解封装、解码及播放。
进一步地,帧索引文件还包括每个媒体关键帧所在的帧编号。
进一步地,当跨帧播放为快进或快退播放时,如果帧间隔固定,且当前帧编号为i,步骤(d)包括:
(d1)计算快进或快退步长P=快进倍数(或快退倍数)/(帧间隔×每秒固定播放帧数);
(d2)计算下一个帧编号,即在快进时计算后续第k个播放的帧编号为(i+【kP】);或者,在快退时计算后续第k个播放的帧编号则为(i-【kP】),其中【】表示取整运算;
(d3)据下一个帧编号查帧索引文件求得该帧编号所在块的编号,并从该编号的块取出下一个帧编号的帧进行解码播放。
进一步地,当跨帧播放为快进或快退播放时,如果帧间隔不固定,且当前帧编号为i,步骤(d)包括:
(d1)据i计算后续播放的下一帧的理想时间戳;即快进时后续播放第k个帧的理想时间戳为T(i+k)=t(i)+k×快进倍速/每秒固定播放的帧数;快退时后续播放第k个帧的理想时间戳T(i-k)=t(i)-k×快退倍速/每秒固定播放的帧数;
(d2)查帧索引文件,找到一个时间戳最接近理想时间戳的帧编号作为后续播放的下一帧编号;即快进时找到时间戳最接近T(i+k)的帧编号;或者,快退时找到时间戳最接近T(i-k)的帧编号;
(d3)据下一个帧编号查帧索引文件求得该帧编号所在的块编号,并从该编号的块取出下一个帧编号的帧进行解码播放。
进一步地,当跨帧播放为拖动播放时,步骤(d)根据拖动点对应的时间与帧索引文件中的索引项之时间戳对比,取得与对应的时间最接近的时间戳的帧所对应的块编号,并从该块编号开始顺序取得媒体数据进行解码播放。
进一步地,媒体内容文件含有一或多个媒体块,每一媒体块由块头和块体组成;该文件的分块封装格式为:
块体是由按时间戳顺序排列的媒体帧组成,不足部分用填充字段填满;
块头描述本块中的媒体块数据内容,块头包含以下字段:媒体内容标识Cid,块编号Bno,时间戳Time,块内帧数量Fcnt,帧描述项Fitem。
进一步地,媒体内容为视频内容,帧索引文件为I帧索引文件,帧或媒体帧为视频I帧。
进一步地,媒体内容为图像内容,帧索引文件为页索引文件,帧即页,媒体帧为音频帧及图像帧。
为了解决上述技术问题,本发明提供了一种P2P媒体点播跨帧播放方式的实现系统,以支持客户端用户在观看媒体节目时方便地进行节目的操控操作。
本发明提供的P2P媒体点播跨帧播放方式的实现系统,具有源节点设备和目标节点设备,其中,源节点设备含有源节点存储单元和源节点通讯单元;目标节点设备含有目标节点存储单元、目标节点通讯单元、块处理单元及解码播放单元;源节点通讯单元用于在接收到目标节点发送的媒体点播命令时将存储在源节点存储单元内的流媒体文件发送给目标节点;其特征在于:
源节点存储单元内存储的流媒体文件包括媒体块文件和帧索引文件;
目标节点通讯单元将接收到的流媒体文件存储在目标节点存储单元中;
块处理单元用于在用户需要对媒体内容跨帧操作时从目标节点存储单元取出帧索引文件,由该帧索引文件获取下一媒体帧所在的媒体块编号,并从目标节点存储单元中该块编号开始取得媒体块解封装;
解码播放单元将该解封装后的数据解码及播放。
进一步地,源节点存储单元内存储的媒体块文件中每一媒体块由块头和块体组成;媒体块文件的分块封装格式为:
块体是由按时间戳顺序排列的媒体帧组成,不足部分用填充字段填满;
块头描述本块中的媒体块数据内容,块头包含以下字段:媒体内容标识Cid,块编号Bno,时间戳Time,块内帧数量Fcnt,帧描述项Fitem。
进一步地,帧索引文件记录每个媒体关键帧所在的块编号和时间戳;或者记录每个媒体关键帧所在的块编号和时间戳或帧编号。
进一步地,块处理单元包括解封模块和块编号处理模块;其中,块编号处理模块与目标节点存储单元连接,用于从该目标节点存储单元取出帧索引文件以备获取下一媒体帧所在的媒体块编号;
当用户选择快进或快退播放方式时如果帧间隔固定,且当前帧编号为i,则块编号处理模块根据快进或快退步长P计算下一个帧编号,即快进时下一个帧编号=i+【kP】,快退时下一个帧编号=i-【kP】,其中【】表示取整运算;块编号处理模块据该下一个帧编号查帧索引文件求得该帧编号所在块的编号;
当用户选择快进或快退播放方式时如果帧间隔不固定,且当前帧编号为i,则块编号处理模块计算后续播放的下一帧的理想时间戳,即快进时理想时间戳T(i+k)=t(i)+k×快进倍速/每秒固定播放的帧数;快退时理想时间戳T(i-k)=t(i)-k×快进倍速/每秒固定播放的帧数;块编号处理模块查帧索引文件,找到一个时间戳最接近理想时间戳的帧编号作为后续播放的下一帧编号,并据下一个帧编号查帧索引文件求得该帧编号所在的块编号;
当用户选择拖动播放时,块编号处理模块根据拖动点对应的时间与帧索引文件中的索引项之时间戳对比,取得与对应的时间最接近的时间戳的帧所对应的媒体块编号。
进一步地,源节点存储单元中存储的媒体块为视频块,帧或媒体帧为视频I帧。
本发明提出的一种P2P媒体点播跨帧播放方式的实现方法及系统,丰富和提高P2P视频点播的客户端用户对媒体节目的跨帧播放方式的操作功能。另外,本发明提供的方法及系统非常适应P2P多源分散传输的特点;且由于该方法及系统能够适应多种媒体编码格式和定长、非定长的关键帧间隔,因而应用范围较为广泛。
附图说明
图1.为现有技术的P2P流媒体网络系统结构示意图;
图2.为本发明实施例的P2P媒体点播跨帧播放方式的实现系统结构框图;
图3.为本发明方法和系统实施例的媒体内容文件中媒体块的封装格式;
图4.为本发明方法和系统实施例的I帧索引文件中记录的格式;
图5.为本发明实施例的P2P流媒体网络系统按块多源传输并拼接播放示意图。
具体实施方式
本发明提供的一种P2P媒体点播跨帧播放方式的实现方法及系统,在对媒体文件进行分块封装处理的同时记录每个媒体关键帧所在的块编号和时间戳,形成帧索引文件;用户点播该媒体节目时,首先取得完整的帧索引文件,以此作为用户进行诸如快进、快退、拖动播放及暂停等节目操作的前提。当用户按块获取媒体块进行解码播放过程中,需要暂停时,只需暂停获取媒体块即可;需要进行快进或快退播放时,根据快进倍率间隔取得下一关键帧,即根据帧索引文件计算得到需要的关键帧所在的块编号,然后根据该块编号取得媒体块,并从块中取出关键帧解码播放即可;当需拖动播放时,可根据拖动点的时间戳确定最近的关键帧编号,进而确定媒体块编号,并从此编号的块开始取得媒体数据进行解码播放,完成拖动播放操作。
下面结合实施例和附图详细阐述本发明的技术方案。
实施例1
用本发明方法实现P2P网络媒体点播时用户对视频节目不同播放操作。图2为本发明为实现P2P网络媒体点播时用户对视频节目跨帧播放操作而提供的系统,包括一或多个源节点设备100(图中只示出一个)和目标节点设备200。源节点设备100里含有存储单元101和通讯单元102;目标节点设备200里含有存储单元201、通讯单元202、块处理单元203及解码播放单元204。当源节点的通讯单元102接收到目标节点设备200发出的点播某一视频节目的命令时,会从存储单元101中取出由P2P网络系统预先分块封装好的视频块文件和I帧索引文件,发送给目标节点;目标节点的通讯单元202将接收到的流媒体文件存储在存储单元201中。块处理单元203含有解封模块2031和块编号处理模块2032。其中,块编号处理模块2032与存储单元201连接,以取出帧索引文件,并根据用户选择的播放方式从该帧索引文件中获取下一要播放的媒体帧所在块的编号给解封模块,该解封模块从目标信息存储单元中从该块编号开始取得媒体块解封装。
本发明提供的跨帧播放方式的实现方法首先对媒体文件进行分块封装预处理,封装格式如图3所示。将媒体文件中的音视频帧按照时间顺序混合排列,然后把这些帧按顺序放入固定大小的块容器,这些块形成一个媒体内容文件。每一个媒体块由块头和块体组成,块体是由按时间戳顺序排列的音视频帧组成,不足部分用填充字段填满;块头描述本块中的音视频帧的存放情况,即媒体块存储的内容。块头包含以下字段:
Cid(Content identification):所述媒体内容的标识;
Bno(Block Number):块编号;
Time:时间戳,其值给出了分块数据第一字节的采样时间;
Fcnt(Frame Count):块所存放的帧数量;
Fitem(Frame Item):帧描述项;
其中,每个帧描述项包含以下字段:
Ftype:帧类型,如视频关键帧,视频普通帧,音频帧等;
Fsize:帧长度;
FP(Frame Pointer):帧指针,表示帧在块内存放的开始地址;
同时,在上述处理过程中,记录每个视频关键帧所在的块编号和时间戳,形成一个I帧索引文件。如图4所示。该文件由一系列I帧索引项构成,每个索引项包括以下字段:
I帧编号:如果是顺序编号,则可由索引项在文件中的位置(如所在行数)体现,此时可省略;
时间戳:表示该I帧的播放时间;
块编号:即媒体块的顺序号;
然后把经过处理的媒体内容文件和I帧索引文件发布到P2P网络中,客户端(如图1中子节点3)用户可以从多个源节点(如图1中主节点和子节点1、2)分别取得媒体块,如图5所示。图5中,块2、块3、块1是客户端用户分别从源节点2、源节点3和源节点1取得,然后经其对接收的媒体块进行次序调整和拼接,按块1、块2和块3的次序进行播放。由此体现出P2P环境下多源传输的方便性。
用户在点播媒体时,首先取得完整的I帧索引文件,并按块取得媒体块进行解码播放。当用户需要暂停时,暂停获取媒体块即可实现;当需要进行快进或快退操作时,需要计算下一I帧编号并据此查I帧索引文件求得块编号,并取得相应块进行解封装、解码播放即可。根据I帧间隔是否固定,求取下一I帧编号的方式有所不同:
如果I帧间隔固定,则快进或快退可通过每秒播放固定个I帧实现;设当前I帧编号为i,快进或快退步长(帧数)为P(P与快进或快退倍数有关,即P=快进倍数(或快退倍数)/(I帧间隔×每秒固定播放I帧数)),则快进时后续第k个播放的下个I帧编号为(i+【kP】),快退时后续第k个播放的下个I帧编号则为(i-【kP】),其中【】表示取整运算。
如果I帧间隔不固定,则快进或快退时每秒播放的I帧数仍然也固定,这时需要根据I帧索引文件的索引项中的时间戳来确定后续播放的I帧号;设当前I帧编号为i,时间戳为t(i),则后续需要播放的第k个I帧的理想时间戳为t(i)+k×快进倍速/每秒固定播放的I帧数,记该理想时间戳值为T(i+k),查I帧索引,找到一个在时间戳上最接近T(i+k)的I帧作为后续第k个播放的I帧;快退时后续需要播放的第k个I帧的理想时间戳值T(i-k)=t(i)-k×快退倍速/每秒固定播放的I帧数,同样通过查I帧索引文件取得时间戳最接近T(i-k)的I帧作为需要后续播放的第k个I帧。
拖动播放时,可根据拖动点对应的时间与I帧索引项的时间戳对比,取得与所述对应的时间最接近的时间戳的I帧对应的块编号,然后从该块编号开始顺序取得媒体块进行解封装、解码和播放,即可实现拖动播放操作。
本实施例P2P网络媒体点播视频跨帧播放方式的实现方法的流程包括以下步骤:
步骤一,用户点播一个媒体内容,即客户端(也可称为目标节点)向系统提出播放视频节目请求;
步骤二,系统中能提供该节目服务的源节点向该客户端发送节目内容,包括I帧索引文件和该节目内容包含的媒体块;
步骤三,该客户端取得该I帧索引文件,并对接收的媒体块进行次序调整和拼接;
步骤四,播放时根据操作的不同,按以下列方式处理:
A.如果是正常播放,则按序取得每个媒体块,并对其解码播放即可。
B.用户需要暂停时,暂停获取媒体块即可实现。
C.如果是快进或快退播放,需要计算下一I帧编号并据此查I帧索引文件求得块编号,并取得相应块进行解封装、解码播放即可。分为以下两种情况:
第一种,如果I帧间隔固定,则快进或快退可通过每秒播放固定个I帧实现,设当前I帧编号为i,快进或快退步长(帧数)为P(P与快进或快退倍数有关,即P=快进倍数(或快退倍数)/(I帧间隔×每秒固定播放I帧数)),则快进时后续第k个播放的下个I帧编号为(i+【kP】),快退时后续第k下个播放的下个I帧编号则为(i-【kP】),其中【】表示取整运算。
第二种,如果I帧间隔不固定,则快进快退时每秒播放的I帧数仍然也固定,这时需要根据I帧索引文件的索引项中的时间戳来确定后续播放的I帧号;设当前I帧编号为i,时间戳为t(i),则后续需要播放的第k个I帧的理想时间戳为T(i+k)=t(i)+k×快进倍速/每秒固定播放的I帧数,查I帧索引,找到一个时间戳最接近T(i+k)的I帧作为后续需要播放的第k个I帧;快退时后续第k个I帧的理想时间戳值T(i-k)=t(i)-k×快退倍速/每秒固定播放的I帧数,同样通过查I帧索引文件取得时间戳最接近T(i-k)的I帧作为后续需要播放的第k个I帧。
D.如果是拖动播放时,可根据拖动点对应的时间与I帧索引项的时间戳对比,取得与所述对应的时间最接近的时间戳的I帧所对应的块编号,然后从该块编号开始顺序取得媒体块进行解封装、解码和播放即可。
实施例2
用本发明方法实现P2P网络媒体点播时用户对图像节目跨帧显示方式的操作。譬如,将文字和/或静态图片制作成电子书籍的只读页(帧)图像,显示系统以翻页的形式显示该文字媒体,且该系统支持用户进行诸如快进或快退翻页、暂停翻页及拖动翻页的操作。
同样,首先对媒体文件进行分块封装预处理,封装格式结构同实施例1,如图3所示。其中,块头里的帧描述项Fitem包含以下字段:
Ftype:帧类型,如图像帧,音频帧等;
Fsize:帧长度;
FP(Frame Pointer):帧指针,表示帧在块内存放的开始地址;
在分块封装处理的同时形成一个帧索引文件,其结构仍如图4所示,只是把其中的I帧改成帧(即页)即可。
用户点播一本电子书内容,先要取得其帧索引。如果是正常显示,则按序取得每个媒体块,并按翻页命令或按一定时间对其中的页(帧)一一解码显示即可。用户需要暂停翻页时,暂停获取图像块即可。用户需要快进或快退翻页时,设页间隔固定,则快进或快退可通过每秒播放固定页实现,设当前页编号为j,快进或快退步长(帧数)为Q(Q与快进或快退倍数有关,即Q=快进倍数(或快退倍数)/(页间隔×每秒固定播放页数)),则快进时后续第m个播放的下页编号为(j+【mQ】),快退时后续第m下个播放的页编号则为(i-【mQ】),其中【】表示取整运算;然后再根据这个页号查帧索引文件求得块编号,并取得相应块的相应页进行解封装、解码显示即可。拖动翻页时,可根据拖动点对应的时间与帧索引项的时间戳对比,取得与该对应的时间最接近的时间戳的页所对应的块编号,然后从该块开始顺序取得图像块进行解封装、解码和显示即可。
本实施例P2P网络媒体点播图像跨帧显示方式的实现方法的流程步骤类似于实施例1。
本发明提出的P2P网络媒体点播跨帧播放方式的实现方法及系统,有以下特点:
对媒体文件先进行分块封装处理并形成帧索引文件,发布前先提取帧索引文件,并完全由客户端根据帧索引文件计算而方便地实现媒体点播的类似于VCR操作的用户操控,且这种方式非常适应P2P多源分散传输的特点;另外,该方法能够适应多种媒体编码格式和定长、非定长的关键帧间隔。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种对等网络媒体点播跨帧播放方式的实现方法,包括步骤:
(a)将点播的媒体文件分块封装处理成一媒体内容文件,并记录每个媒体关键帧所在的块编号和时间戳,形成一帧索引文件;所述帧索引文件还包括每个媒体关键帧所在的帧编号;
(b)将所述媒体内容文件和所述帧索引文件发布到对等网络中;
(c)点播媒体时,客户端从源节点取得所述帧索引文件和所述媒体内容文件中的媒体块;
(d)需要跨帧播放时,客户端根据所述帧索引文件计算下一关键帧所在的块编号,获取相应媒体块进行解封装、解码及播放;
当所述跨帧播放为快进或快退播放时,如果帧间隔固定,且当前帧编号为i,步骤(d)包括:
(d1)计算快进或快退步长P=快进倍数或快退倍数/(帧间隔×每秒固定播放帧数);
(d2)计算下一个帧编号,即在快进时计算后续第k个播放的帧编号为(i+【kP】);或者,在快退时计算后续第k个播放的帧编号则为(i-【kP】),其中【】表示取整运算;
(d3)据所述下一个帧编号查所述帧索引文件求得该帧编号所在块的编号,并从该编号的块取出所述下一个帧编号的帧进行解码播放。
2.按照权利要求1所述的方法,其特征在于,当所述跨帧播放为快进或快退播放时,如果帧间隔不固定,且当前帧编号为i,步骤(d)包括:
(d1)据所述i计算后续播放的下一帧的理想时间戳;即快进时后续播放第k个帧的理想时间戳为T(i+k)=t(i)+k×快进倍速/每秒固定播放的帧数;快退时后续播放第k个帧的理想时间戳T(i-k)=t(i)-k×快退倍速/每秒固定播放的帧数;
(d2)查帧索引文件,找到一个时间戳最接近所述理想时间戳的帧编号作为后续播放的下一帧编号;即快进时找到时间戳最接近T(i+k)的帧编号; 或者,快退时找到时间戳最接近T(i-k)的帧编号;
(d3)据所述下一个帧编号查所述帧索引文件求得该帧编号所在的块编号,并从该编号的块取出所述下一个帧编号的帧进行解码播放。
3.按照权利要求1所述的方法,其特征在于,当所述跨帧播放为拖动播放时,步骤(d)根据拖动点对应的时间与所述帧索引文件中的索引项之时间戳对比,取得与所述对应的时间最接近的时间戳的帧所对应的块编号,并从该块编号开始顺序取得媒体数据进行解码播放。
4.按照权利要求1所述的方法,其特征在于,所述媒体内容文件含有一或多个媒体块,每一媒体块由块头和块体组成;所述媒体内容文件的分块封装格式为:
所述块体是由按时间戳顺序排列的媒体帧组成,不足部分用填充字段填满;
所述块头描述本块中的媒体块数据内容,所述块头包含以下字段:媒体内容标识Cid,块编号Bno,时间戳Time,块内帧数量Fcnt,帧描述项Fitem。
5.按照权利要求1至4任一项所述的方法,其特征在于,所述媒体内容为视频内容,所述帧索引文件为I帧索引文件,所述帧或媒体帧为视频I帧。
6.按照权利要求1至4任一项所述方法,其特征在于,所述媒体内容为图像内容,所述帧索引文件为页索引文件,所述帧为页,所述媒体帧为音频帧及图像帧。
7.一种对等网络媒体点播跨帧播放方式的实现系统,具有源节点设备和目标节点设备,其中,所述源节点设备含有源节点存储单元和源节点通讯单元;所述目标节点设备含有目标节点存储单元、目标节点通讯单元、块处理单元及解码播放单元;所述源节点通讯单元用于在接收到所述目标节点发送的媒体点播命令时将存储在所述源节点存储单元内的流媒体文件发送给所述目标节点;其特征在于:
所述源节点存储单元内存储的所述流媒体文件包括媒体块文件和帧索引 文件;所述帧索引文件记录每个媒体关键帧所在的块编号和时间戳;或者记录每个媒体关键帧所在的块编号、时间戳和帧编号;
所述目标节点通讯单元将接收到的所述流媒体文件存储在所述目标节点存储单元中;
所述块处理单元用于在用户需要对媒体内容跨帧操作时从所述目标节点存储单元取出所述帧索引文件,由该帧索引文件获取下一媒体帧所在的媒体块编号,并从所述目标节点存储单元中该块编号开始取得媒体块解封装;
所述解码播放单元将该解封装后的数据解码及播放;
所述块处理单元进一步包括解封模块和块编号处理模块;其中,所述块编号处理模块与所述目标节点存储单元连接,用于从该目标节点存储单元取出所述帧索引文件以备获取下一媒体帧所在的媒体块编号;
当用户选择快进或快退播放方式时如果帧间隔固定,且当前帧编号为i,则所述块编号处理模块根据快进或快退步长P计算下一个帧编号,即快进时所述下一个帧编号=i+【kP】,快退时所述下一个帧编号=i-【kP】,其中【】表示取整运算;所述块编号处理模块据该下一个帧编号查所述帧索引文件求得该帧编号所在块的编号。
8.按照权利要求7所述的系统,其特征在于,所述源节点存储单元内存储的所述媒体块文件中每一媒体块由块头和块体组成;所述媒体块文件的分块封装格式为:
所述块体是由按时间戳顺序排列的媒体帧组成,不足部分用填充字段填满;
所述块头描述本块中的媒体块数据内容,所述块头包含以下字段:媒体内容标识Cid,块编号Bno,时间戳Time,块内帧数量Fcnt,帧描述项Fitem。
9.按照权利要求7所述的系统,其特征在于,
当用户选择快进或快退播放方式时如果帧间隔不固定,且当前帧编号为i,则所述块编号处理模块计算后续播放的下一帧的理想时间戳,即快进时所述理想时间戳T(i+k)=t(i)+k×快进倍速/每秒固定播放的帧数;快退 时所述理想时间戳T(i-k)=t(i)-k×快进倍速/每秒固定播放的帧数;所述块编号处理模块查帧索引文件,找到一个时间戳最接近所述理想时间戳的帧编号作为后续播放的下一帧编号,并据所述下一个帧编号查所述帧索引文件求得该帧编号所在的块编号;
当用户选择拖动播放时,所述块编号处理模块根据拖动点对应的时间与所述帧索引文件中的索引项之时间戳对比,取得与所述对应的时间最接近的时间戳的帧所对应的媒体块编号。
10.按照权利要求7至9任一项所述的系统,其特征在于,所述源节点存储单元中存储的所述媒体块为视频块,所述帧或媒体帧为视频I帧。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101084146A CN101321265B (zh) | 2007-06-07 | 2007-06-07 | 对等网络媒体点播跨帧播放方式的实现方法及系统 |
US12/663,511 US8776150B2 (en) | 2007-06-07 | 2007-12-24 | Implementation method and system for a media-on-demand frame-spanning playing mode in a peer-to-peer network |
PCT/CN2007/003744 WO2008148268A1 (fr) | 2007-06-07 | 2007-12-24 | Procédé et système de mise en place d'un mode de lecture de découpage de trame de multimédia à la demande dans un réseau poste à poste |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101084146A CN101321265B (zh) | 2007-06-07 | 2007-06-07 | 对等网络媒体点播跨帧播放方式的实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101321265A CN101321265A (zh) | 2008-12-10 |
CN101321265B true CN101321265B (zh) | 2011-03-16 |
Family
ID=40093144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101084146A Expired - Fee Related CN101321265B (zh) | 2007-06-07 | 2007-06-07 | 对等网络媒体点播跨帧播放方式的实现方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8776150B2 (zh) |
CN (1) | CN101321265B (zh) |
WO (1) | WO2008148268A1 (zh) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101151107B1 (ko) * | 2008-08-12 | 2012-06-01 | 에스케이플래닛 주식회사 | 영상 암호화 시스템 및 방법 |
KR101750048B1 (ko) * | 2009-11-13 | 2017-07-03 | 삼성전자주식회사 | 변속 재생 서비스 제공 방법 및 장치 |
KR101777347B1 (ko) | 2009-11-13 | 2017-09-11 | 삼성전자주식회사 | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 |
KR101750049B1 (ko) | 2009-11-13 | 2017-06-22 | 삼성전자주식회사 | 적응적인 스트리밍 방법 및 장치 |
KR101786051B1 (ko) | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치 |
KR101737084B1 (ko) | 2009-12-07 | 2017-05-17 | 삼성전자주식회사 | 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치 |
KR101777348B1 (ko) | 2010-02-23 | 2017-09-11 | 삼성전자주식회사 | 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치 |
CN102196001B (zh) * | 2010-03-15 | 2014-03-19 | 腾讯科技(深圳)有限公司 | 一种影片文件下载装置及方法 |
KR20110105710A (ko) | 2010-03-19 | 2011-09-27 | 삼성전자주식회사 | 복수의 챕터를 포함하는 콘텐트를 적응적으로 스트리밍하는 방법 및 장치 |
KR101837687B1 (ko) | 2010-06-04 | 2018-03-12 | 삼성전자주식회사 | 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치 |
CN102447950A (zh) * | 2010-09-30 | 2012-05-09 | 突触计算机系统(上海)有限公司 | 一种用于实现视频播放的方法与设备 |
CN102447868B (zh) * | 2010-10-11 | 2013-11-06 | 扬智电子科技(上海)有限公司 | 视频流快速播放方法 |
CN101980533A (zh) * | 2010-11-12 | 2011-02-23 | 中国华录集团有限公司 | 一种基于索引文件实现传输流文件特技模式功能的方法 |
CN102231827B (zh) * | 2011-03-14 | 2013-03-06 | 新奥特(北京)视频技术有限公司 | 一种支持ps流媒体文件直接帧精确定位的索引方法 |
JP5331145B2 (ja) * | 2011-03-22 | 2013-10-30 | 株式会社スクウェア・エニックス | 電子書籍ゲーム装置 |
CN102231860B (zh) * | 2011-06-03 | 2014-03-19 | 南京远古科技有限公司 | 一种直播时移数据存储方法 |
CN103024561B (zh) * | 2011-09-28 | 2016-05-25 | 深圳市快播科技有限公司 | 一种拖拽进度条的显示方法及装置 |
US9565476B2 (en) * | 2011-12-02 | 2017-02-07 | Netzyn, Inc. | Video providing textual content system and method |
CN102387409A (zh) * | 2011-12-07 | 2012-03-21 | 江苏远为科技有限公司 | 基于流媒体系统的视频播放方法 |
CN103179468B (zh) * | 2011-12-22 | 2018-03-30 | 海尔集团公司 | 多媒体数据传输装置、系统及方法 |
CN102665103A (zh) * | 2012-04-13 | 2012-09-12 | 烽火通信科技股份有限公司 | 一种适用于流媒体服务的音频视频封装方法 |
CN102843580A (zh) * | 2012-09-03 | 2012-12-26 | 国网电力科学研究院 | 一种强插i帧的视频监控系统画面实时显示方法 |
US9549024B2 (en) | 2012-12-07 | 2017-01-17 | Remote Media, Llc | Routing and synchronization system, method, and manager |
CN103024437B (zh) * | 2012-12-28 | 2015-02-25 | 河南辉煌科技股份有限公司 | 视频数据完整性检测方法 |
CN103796047B (zh) * | 2014-01-23 | 2017-01-25 | 福建星网锐捷安防科技有限公司 | 一种视音频数据的封装方法及封装装置 |
CN105306973B (zh) * | 2014-07-14 | 2018-08-17 | 中国科学院声学研究所 | 一种视频倍速文件的生成方法 |
CA2968855C (en) * | 2014-11-25 | 2021-08-24 | Arris Enterprises Llc | Filler detection during trickplay |
CN104539985B (zh) * | 2015-01-08 | 2015-12-02 | 陕西师范大学 | 一种机会网络视频分块及其传输调度方法 |
CN106034242A (zh) * | 2015-03-09 | 2016-10-19 | 杭州施强网络科技有限公司 | 一种p2p系统中音视频直播流媒体数据传输方法 |
CN106331871B (zh) * | 2015-07-08 | 2020-01-17 | 阿里巴巴集团控股有限公司 | 一种实现视频流快进或快退的方法及装置 |
CN105760494B (zh) * | 2016-02-18 | 2019-03-26 | 珠海市杰理科技股份有限公司 | 音频文件存储方法和系统及音频文件快进快退方法和系统 |
JP6646731B2 (ja) * | 2016-03-28 | 2020-02-14 | アイシン・エィ・ダブリュ株式会社 | サーバ装置、通信端末、経路探索システム及びコンピュータプログラム |
CN108600859B (zh) * | 2018-03-30 | 2020-10-20 | 深圳市网心科技有限公司 | 一种数据切片方法及系统 |
CN110110109B (zh) * | 2019-04-23 | 2021-06-25 | 掌阅科技股份有限公司 | 电子书图片的管理方法、电子设备及计算机存储介质 |
CN113742518B (zh) * | 2020-05-28 | 2024-10-15 | 伊姆西Ip控股有限责任公司 | 存储和提供视频的方法、设备和计算机程序产品 |
CN114697610B (zh) * | 2020-12-30 | 2023-08-18 | 成都鼎桥通信技术有限公司 | 视频传输方法及电子设备 |
CN113556620A (zh) * | 2021-07-20 | 2021-10-26 | 湖南快乐阳光互动娱乐传媒有限公司 | 媒体播放方法、装置和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1444398A (zh) * | 2002-03-12 | 2003-09-24 | 中国科学院计算技术研究所 | 基于关键帧的视频流索引播放系统 |
CN1561111A (zh) * | 2004-02-26 | 2005-01-05 | 晶晨半导体(上海)有限公司 | 在数字视频压缩码流中快速索引播放信息的方法 |
CN1873820A (zh) * | 2006-05-18 | 2006-12-06 | 北京中星微电子有限公司 | 视频文件处理方法、视频索引方法和视频索引装置 |
CN1901504A (zh) * | 2006-06-30 | 2007-01-24 | 华中科技大学 | 一种流媒体点播系统的数据调度方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3472659B2 (ja) * | 1995-02-20 | 2003-12-02 | 株式会社日立製作所 | 映像供給方法および映像供給システム |
US6064794A (en) * | 1995-03-30 | 2000-05-16 | Thomson Licensing S.A. | Trick-play control for pre-encoded video |
US5659539A (en) * | 1995-07-14 | 1997-08-19 | Oracle Corporation | Method and apparatus for frame accurate access of digital audio-visual information |
JP3484832B2 (ja) * | 1995-08-02 | 2004-01-06 | ソニー株式会社 | 記録装置、記録方法、再生装置及び再生方法 |
US5751280A (en) * | 1995-12-11 | 1998-05-12 | Silicon Graphics, Inc. | System and method for media stream synchronization with a base atom index file and an auxiliary atom index file |
US6041345A (en) * | 1996-03-08 | 2000-03-21 | Microsoft Corporation | Active stream format for holding multiple media streams |
US6014706A (en) * | 1997-01-30 | 2000-01-11 | Microsoft Corporation | Methods and apparatus for implementing control functions in a streamed video display system |
US6006241A (en) * | 1997-03-14 | 1999-12-21 | Microsoft Corporation | Production of a video stream with synchronized annotations over a computer network |
US6567980B1 (en) * | 1997-08-14 | 2003-05-20 | Virage, Inc. | Video cataloger system with hyperlinked output |
CN100477735C (zh) * | 1999-02-08 | 2009-04-08 | 三洋电机株式会社 | 移动图像记录装置与数码照相机 |
US7313808B1 (en) * | 1999-07-08 | 2007-12-25 | Microsoft Corporation | Browsing continuous multimedia content |
US6937599B1 (en) * | 1999-10-21 | 2005-08-30 | Matsushita Electric Industrial Co., Ltd. | Data source, data conversion device, inverse data conversion device, auxiliary data file generation device, reception method, medium and information aggregate |
JP2001135028A (ja) * | 1999-11-05 | 2001-05-18 | Sony Corp | 情報処理装置および方法、並びに記録媒体 |
US6871006B1 (en) * | 2000-06-30 | 2005-03-22 | Emc Corporation | Processing of MPEG encoded video for trick mode operation |
US7624337B2 (en) * | 2000-07-24 | 2009-11-24 | Vmark, Inc. | System and method for indexing, searching, identifying, and editing portions of electronic multimedia files |
US7212726B2 (en) * | 2000-09-15 | 2007-05-01 | International Business Machines Corporation | System and method of processing MPEG streams for file index insertion |
KR20020032803A (ko) * | 2000-10-27 | 2002-05-04 | 구자홍 | 스트리밍 서비스를 위한 파일 구조 |
US6738980B2 (en) * | 2001-11-15 | 2004-05-18 | Industrial Technology Research Institute | Methods and systems for video streaming with VCR functionality |
US20090282444A1 (en) * | 2001-12-04 | 2009-11-12 | Vixs Systems, Inc. | System and method for managing the presentation of video |
US7274857B2 (en) * | 2001-12-31 | 2007-09-25 | Scientific-Atlanta, Inc. | Trick modes for compressed video streams |
US8155498B2 (en) * | 2002-04-26 | 2012-04-10 | The Directv Group, Inc. | System and method for indexing commercials in a video presentation |
US8392834B2 (en) * | 2003-04-09 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Systems and methods of authoring a multimedia file |
US7853980B2 (en) * | 2003-10-31 | 2010-12-14 | Sony Corporation | Bi-directional indices for trick mode video-on-demand |
US8472792B2 (en) * | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
US7720350B2 (en) * | 2004-11-30 | 2010-05-18 | General Instrument Corporation | Methods and systems for controlling trick mode play speeds |
US7890985B2 (en) * | 2006-05-22 | 2011-02-15 | Microsoft Corporation | Server-side media stream manipulation for emulation of media playback functions |
KR100884400B1 (ko) * | 2007-01-23 | 2009-02-17 | 삼성전자주식회사 | 영상처리장치 및 그 방법 |
-
2007
- 2007-06-07 CN CN2007101084146A patent/CN101321265B/zh not_active Expired - Fee Related
- 2007-12-24 US US12/663,511 patent/US8776150B2/en not_active Expired - Fee Related
- 2007-12-24 WO PCT/CN2007/003744 patent/WO2008148268A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1444398A (zh) * | 2002-03-12 | 2003-09-24 | 中国科学院计算技术研究所 | 基于关键帧的视频流索引播放系统 |
CN1561111A (zh) * | 2004-02-26 | 2005-01-05 | 晶晨半导体(上海)有限公司 | 在数字视频压缩码流中快速索引播放信息的方法 |
CN1873820A (zh) * | 2006-05-18 | 2006-12-06 | 北京中星微电子有限公司 | 视频文件处理方法、视频索引方法和视频索引装置 |
CN1901504A (zh) * | 2006-06-30 | 2007-01-24 | 华中科技大学 | 一种流媒体点播系统的数据调度方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2008148268A1 (fr) | 2008-12-11 |
CN101321265A (zh) | 2008-12-10 |
US8776150B2 (en) | 2014-07-08 |
US20100223648A1 (en) | 2010-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101321265B (zh) | 对等网络媒体点播跨帧播放方式的实现方法及系统 | |
CN103650526B (zh) | 用于实时或近实时流传输的播放列表 | |
CN107979621A (zh) | 一种视频文件的存储、定位播放方法及装置 | |
CN100542255C (zh) | 一种网络电视监控系统及方法 | |
CN102664032B (zh) | 一种直播时移的播放进度调节条及其控制方法 | |
CN108702527A (zh) | 用于使用通用夹层分发格式的媒体传送的系统和方法 | |
CN106371998A (zh) | 移动应用的测试系统及方法 | |
CN105340281A (zh) | 发送装置、发送方法、接收装置和接收方法 | |
CN103096042A (zh) | 一种视频监控系统 | |
CN101151901B (zh) | 向数字数据流服务器发送命令的方法和用于实施该方法的装置 | |
CN104618799B (zh) | 视频播放方法及装置 | |
CN106488253A (zh) | 直播视频互动数据处理方法及装置 | |
CN104427284B (zh) | 处理运动视频的方法和装置 | |
CN106488291A (zh) | 在视频直播中同步显示文件的方法和装置 | |
CN110489484A (zh) | 数据同步方法、装置、可读存储介质及电子设备 | |
CN103796041A (zh) | 一种iptv系统的更新方法及装置 | |
CN106031183A (zh) | 通信方法、用户设备、内容服务器和控制器 | |
CN112188293A (zh) | 基于智能展示装置的信息发布管理系统及方法 | |
US20220035724A1 (en) | Non-linear management of real time sequential data in cloud instances via time constraints | |
Kumar et al. | Cloud‐based video streaming services: Trends, challenges, and opportunities | |
CN103269442A (zh) | 一种内容点播方法、系统和设备 | |
CN110248184A (zh) | 一种基于视联网的监控异常检测方法和服务器 | |
CN106982376A (zh) | 一种多媒体内容个性化呈现的时间线控制方法 | |
JP2016213709A (ja) | 動画再生システム、クライアント装置、サーバ装置及びプログラム | |
CN109379553B (zh) | 一种音视频数据的展示方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110316 Termination date: 20160607 |