CN103997694A - 一种视频退播方法及系统 - Google Patents
一种视频退播方法及系统 Download PDFInfo
- Publication number
- CN103997694A CN103997694A CN201410240415.6A CN201410240415A CN103997694A CN 103997694 A CN103997694 A CN 103997694A CN 201410240415 A CN201410240415 A CN 201410240415A CN 103997694 A CN103997694 A CN 103997694A
- Authority
- CN
- China
- Prior art keywords
- frame
- move back
- broadcast
- video
- difference
- 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.)
- Granted
Links
Abstract
本发明属于多媒体技术,提供了一种视频退播方法及系统,所述方法包括如下步骤:对视频源创建以关键帧I帧为分组的待解码视频;建立环形缓冲区,所述环形缓冲区以帧为结点;若所述环形缓冲区有可用结点,且可用结点数大于当前所述待解码视频的I帧分组数,则进行解码,并将解码视频放入环形缓冲区;判断若当前时间点与待退播时间点的差值大于或等于当前时间戳与待退播时间戳的差值,则可退播;否则结束退播;根据退播速率,在所述环形缓冲区选择对应的I帧进行退播。通过对以I帧为分组的待解码视频进行解码,并放入环形缓冲区,当符合退播判断条件时,根据退播速率在环形缓冲区内选择对应的I帧进行退播,使得退播过程流畅、快速。
Description
技术领域
本发明属于多媒体技术,尤其涉及一种视频退播方法及系统。
背景技术
针对H264视频格式的播放器通常都提供正常播放、多倍速播放、单帧播放、抓图等功能。但对于退播放功能无法提供或实现与顺播放时流畅的效果,也无法满足客户对于退播的需求。
发明内容
本发明实施例的目的在于提供一种视频退播方法及系统,旨在解决现有技术中无法快速、顺畅退播的问题。
本发明实施例提供了一种视频退播方法,所述方法包括如下步骤:
对视频源创建以关键帧I帧为分组的待解码视频;
建立环形缓冲区,所述环形缓冲区以帧为结点;
若所述环形缓冲区有可用结点,且可用结点数大于当前所述待解码视频的I帧分组数,则进行解码,并将解码视频放入环形缓冲区;
判断若当前时间点与待退播时间点的差值大于或等于当前时间戳与待退播时间戳的差值,则可退播;否则结束退播;
根据退播速率,在所述环形缓冲区选择对应的I帧进行退播。
本发明实施例又提供了一种视频退播系统,所述系统包括:
待解码视频创建单元,用于对视频源创建以关键帧I帧为分组的待解码视频;
缓冲区建立单元,用于建立环形缓冲区,所述环形缓冲区以帧为结点;
视频解码单元,用于当所述环形缓冲区有可用结点,且可用结点数大于当前所述待解码视频的I帧分组数,则进行解码,并将解码视频放入环形缓冲区;
退播判断单元,用于判断若当前时间点与待退播时间点的差值大于或等于当前时间戳与待退播时间戳的差值,则可退播;否则结束退播;
退播单元,用于根据退播速率,在所述环形缓冲区选择对应的I帧进行退播。
本发明实施例所提供的一种视频退播方法及系统,通过对以I帧为分组的待解码视频进行解码,并放入环形缓冲区,当符合退播判断条件时,根据退播速率在环形缓冲区内选择对应的I帧进行退播,使得退播过程流畅、快速。
附图说明
图1是本发明实施例提供的视频退播方法的流程图;
图2是本发明实施例提供的视频退播系统的原理图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种视频退播方法,所述方法包括如下步骤:
对视频源创建以关键帧I帧为分组的待解码视频;
建立环形缓冲区,所述环形缓冲区以帧为结点;
若所述环形缓冲区有可用结点,且可用结点数大于当前所述待解码视频的I帧分组数,则进行解码,并将解码视频放入环形缓冲区;
判断若当前时间点与待退播时间点的差值大于或等于当前时间戳与待退播时间戳的差值,则可退播;否则结束退播;
根据退播速率,在所述环形缓冲区选择对应的I帧进行退播。
本发明实施例又提供了一种视频退播系统,所述系统包括:
待解码视频创建单元,用于对视频源创建以关键帧I帧为分组的待解码视频;
缓冲区建立单元,用于建立环形缓冲区,所述环形缓冲区以帧为结点;
视频解码单元,用于当所述环形缓冲区有可用结点,且可用结点数大于当前所述待解码视频的I帧分组数,则进行解码,并将解码视频放入环形缓冲区;
退播判断单元,用于判断若当前时间点与待退播时间点的差值大于或等于当前时间戳与待退播时间戳的差值,则可退播;否则结束退播;
退播单元,用于根据退播速率,在所述环形缓冲区选择对应的I帧进行退播。
图1示出了本发明实施例提供的退播方法的流程图,为了便于描述,仅示出了与本发明实施例相关的部分,本发明实施例提供的视频退播方法包括:
在步骤S101中,对视频源创建以关键帧I帧为分组的待解码视频。
在本实施例中,所述关键帧I帧可以理解为这一帧画面的完整保留,解码时只需要本帧数据就可以完成(因为包含完整画面),另外,为了用户在选择小倍数进行退播时,退播所呈现的画面更加流畅,所述待解码视频中包括偏移帧P帧,所述偏移帧为包括当前帧与之前一帧的画面差别数据的偏移帧。具体地,偏移帧P帧表示的是这一帧跟之前的一个关键帧I帧或P帧的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面,P帧没有完整画面数据,只有与前一帧的画面差别的数据。
在步骤S102中,建立环形缓冲区,所述环形缓冲区以帧为结点。
在本实施例中,所述环形缓冲区可以为双级环形缓冲区,具体地,建立以YUV帧为结点的第一环形缓冲区,建立以I帧分组为结点的第二环形缓冲区。其中,第一环形缓冲区的环长可根据视频制式进行计算,例如:PLAY制式为25*2、NTSC制式为30*2。同时,作为一种优选,每帧的长度可定义为视频宽度*视频高度*2/3。第二环形缓冲区的环长可根据经验值固定为3。
在步骤S103中,若所述环形缓冲区有可用结点,且可用结点数大于当前所述待解码视频的I帧分组数,则进行解码,并将解码视频放入环形缓冲区。
在步骤S104中,判断若当前时间点与待退播时间点的差值大于或等于当前时间戳与待退播时间戳的差值,则可退播;否则结束退播。
在本实施例中,所述当前时间点为当前系统所播放的时间点,待退播时间点为用户需要所需退播处的时间点,所述当前时间戳为对应所述当前时间点的时间戳,所述待退播时间戳为对应所述待退播时间点的时间戳。
在本实施例中,上述判断条件为:当前时间点—待退播时间点≥当前时间戳—待退播时间戳。
在步骤S105中,根据退播速率,在所述环形缓冲区选择对应的I帧进行退播。
在本实施例中,所述根据退播速率,在所述环形缓冲区选择对应的I帧进行退播具体包括如下步骤:
根据退播速率,得到退播差值,所述退播差值为当前时间戳与待退播时间戳的差值乘以退播速率;
具体地,退播差值=(当前时间戳—待退播时间戳)*退播速率。
若当前时间点与待退播时间点的差值大于等于所述退播差值,则可选择对应的I帧进行退播。
具体地,(当前时间点—待退播时间点)≥(当前时间戳—待退播时间戳)*退播速率。
在本实施例中,所述当前时间点与待退播时间点的差值大于所述退播差值的数值达到预设阈值,则可选择对应的I帧及P帧进行退播。具体地,若(当前时间点—待退播时间点)—(当前时间戳—待退播时间戳)*退播速率的值大于预设阈值,表示还有除了I帧还有很多没有播放,此时为了画质更加连贯,可在选择I帧的同时,加入对应的P帧一起进行退播,实现更加流畅的画质。
另外,如果退播速率大于等于16倍时,为了更快的解码,仅仅退播I帧,不需要读取视频源的P帧,也无需对P帧进行解码,其他与整个流程一致。
在本发明另一实施例中,图2示出了本发明实施例提供的视频退播系统的原理图,为了便于描述,仅示出了与本发明实施例相关的部分,本发明实施例提供的视频退播系统包括:待解码视频创建单元21、缓冲区建立单元22、视频解码单元23、退播判断单元24和退播单元25。其中,
待解码视频创建单元21,用于对视频源创建以关键帧I帧为分组的待解码视频。
在本实施例中,所述待解码视频创建单元还用于:所述待解码视频中包括偏移帧P帧,所述偏移帧为包括当前帧与之前一帧的画面差别数据的偏移帧。
所述关键帧I帧可以理解为这一帧画面的完整保留,解码时只需要本帧数据就可以完成(因为包含完整画面),另外,为了用户在选择小倍数进行退播时,退播所呈现的画面更加流畅,所述待解码视频中包括偏移帧P帧,所述偏移帧为包括当前帧与之前一帧的画面差别数据的偏移帧。具体地,偏移帧P帧表示的是这一帧跟之前的一个关键帧I帧或P帧的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面,P帧没有完整画面数据,只有与前一帧的画面差别的数据。
缓冲区建立单元22,用于建立环形缓冲区,所述环形缓冲区以帧为结点。
在本实施例中,所述环形缓冲区包括:建立以YUV帧为结点的第一环形缓冲区;及建立以I帧分组为结点的第二环形缓冲区。
所述环形缓冲区可以为双级环形缓冲区,具体地,建立以YUV帧为结点的第一环形缓冲区,建立以I帧分组为结点的第二环形缓冲区。其中,第一环形缓冲区的环长可根据视频制式进行计算,例如:PLAY制式为25*2、NTSC制式为30*2。同时,作为一种优选,每帧的长度可定义为视频宽度*视频高度*2/3。第二环形缓冲区的环长可根据经验值固定为3。
视频解码单元23,用于当所述环形缓冲区有可用结点,且可用结点数大于当前所述待解码视频的I帧分组数,则进行解码,并将解码视频放入环形缓冲区。
退播判断单元24,用于判断若当前时间点与待退播时间点的差值大于或等于当前时间戳与待退播时间戳的差值,则可退播;否则结束退播。
所述退播判断单元具体用于:根据退播速率,得到退播差值,所述退播差值为当前时间戳与待退播时间戳的差值乘以退播速率;若当前时间点与待退播时间点的差值大于等于所述退播差值,则可选择对应的I帧进行退播。
在本实施例中,所述当前时间点为当前系统所播放的时间点,待退播时间点为用户需要所需退播处的时间点,所述当前时间戳为对应所述当前时间点的时间戳,所述待退播时间戳为对应所述待退播时间点的时间戳。
在本实施例中,上述判断条件为:当前时间点—待退播时间点≥当前时间戳—待退播时间戳。
退播单元25,用于根据退播速率,在所述环形缓冲区选择对应的I帧进行退播。
所述退播判断单元还用于:所述当前时间点与待退播时间点的差值大于所述退播差值的数值达到预设阈值,则可选择对应的I帧及P帧进行退播。
在本实施例中,所述当前时间点与待退播时间点的差值大于所述退播差值的数值达到预设阈值,则可选择对应的I帧及P帧进行退播。具体地,若(当前时间点—待退播时间点)—(当前时间戳—待退播时间戳)*退播速率的值大于预设阈值,表示还有除了I帧还有很多没有播放,此时为了画质更加连贯,可在选择I帧的同时,加入对应的P帧一起进行退播,实现更加流畅的画质。
另外,如果退播速率大于等于16倍时,为了更快的解码,仅仅退播I帧,不需要读取视频源的P帧,也无需对P帧进行解码,其他与整个流程一致。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。
Claims (10)
1.一种视频退播方法,其特征在于,所述方法包括如下步骤:
对视频源创建以关键帧I帧为分组的待解码视频;
建立环形缓冲区,所述环形缓冲区以帧为结点;
若所述环形缓冲区有可用结点,且可用结点数大于当前所述待解码视频的I帧分组数,则进行解码,并将解码视频放入环形缓冲区;
判断若当前时间点与待退播时间点的差值大于或等于当前时间戳与待退播时间戳的差值,则可退播;否则结束退播;
根据退播速率,在所述环形缓冲区选择对应的I帧进行退播。
2.如权利要求1所述方法,其特征在于,所述对视频源创建以关键帧I帧为分组的待解码视频,还包括如下步骤:
所述待解码视频中包括偏移帧P帧,所述偏移帧为包括当前帧与之前一帧的画面差别数据的偏移帧。
3.如权利要求1所述方法,其特征在于,所述建立环形缓冲区包括如下步骤:
建立以YUV帧为结点的第一环形缓冲区;
建立以I帧分组为结点的第二环形缓冲区。
4.如权利要求1所述方法,其特征在于,所述根据退播速率,在所述环形缓冲区选择对应的I帧进行退播的步骤,具体为:
根据退播速率,得到退播差值,所述退播差值为当前时间戳与待退播时间戳的差值乘以退播速率;
若当前时间点与待退播时间点的差值大于等于所述退播差值,则可选择对应的I帧进行退播。
5.如权利要求1、2或4所述方法,其特征在于,所述当前时间点与待退播时间点的差值大于所述退播差值的数值达到预设阈值,则可选择对应的I帧及P帧进行退播。
6.一种视频退播系统,其特征在于,所述系统包括:
待解码视频创建单元,用于对视频源创建以关键帧I帧为分组的待解码视频;
缓冲区建立单元,用于建立环形缓冲区,所述环形缓冲区以帧为结点;
视频解码单元,用于当所述环形缓冲区有可用结点,且可用结点数大于当前所述待解码视频的I帧分组数,则进行解码,并将解码视频放入环形缓冲区;
退播判断单元,用于判断若当前时间点与待退播时间点的差值大于或等于当前时间戳与待退播时间戳的差值,则可退播;否则结束退播;
退播单元,用于根据退播速率,在所述环形缓冲区选择对应的I帧进行退播。
7.如权利要求6所述系统,其特征在于,所述待解码视频创建单元还用于:
所述待解码视频中包括偏移帧P帧,所述偏移帧为包括当前帧与之前一帧的画面差别数据的偏移帧。
8.如权利要求6所述系统,其特征在于,所述环形缓冲区包括:
建立以YUV帧为结点的第一环形缓冲区;及
建立以I帧分组为结点的第二环形缓冲区。
9.如权利要求6所述系统,其特征在于,所述退播判断单元具体用于:
根据退播速率,得到退播差值,所述退播差值为当前时间戳与待退播时间戳的差值乘以退播速率;
若当前时间点与待退播时间点的差值大于等于所述退播差值,则可选择对应的I帧进行退播。
10.如权利要求6、7或9所述系统,其特征在于,所述退播判断单元还用于:
所述当前时间点与待退播时间点的差值大于所述退播差值的数值达到预设阈值,则可选择对应的I帧及P帧进行退播。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410240415.6A CN103997694B (zh) | 2014-05-30 | 2014-05-30 | 一种视频退播方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410240415.6A CN103997694B (zh) | 2014-05-30 | 2014-05-30 | 一种视频退播方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103997694A true CN103997694A (zh) | 2014-08-20 |
CN103997694B CN103997694B (zh) | 2017-06-06 |
Family
ID=51311678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410240415.6A Active CN103997694B (zh) | 2014-05-30 | 2014-05-30 | 一种视频退播方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103997694B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104754332A (zh) * | 2015-03-24 | 2015-07-01 | 深圳第一蓝筹科技有限公司 | 一种智能穿戴设备的视频图片传输方法 |
CN105898626A (zh) * | 2015-12-11 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 用于生成倒播视频的方法、装置及播放设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080107396A1 (en) * | 2006-11-08 | 2008-05-08 | Tsung-Ning Chung | Systems and methods for playing back data from a circular buffer by utilizing embedded timestamp information |
CN101621386A (zh) * | 2008-07-01 | 2010-01-06 | 华为技术有限公司 | 一种节省内容网络带宽的方法、系统和设备 |
CN101980533A (zh) * | 2010-11-12 | 2011-02-23 | 中国华录集团有限公司 | 一种基于索引文件实现传输流文件特技模式功能的方法 |
CN102355605A (zh) * | 2011-11-11 | 2012-02-15 | 烽火通信科技股份有限公司 | Iptv机顶盒的直播时移处理方法 |
CN102487458A (zh) * | 2010-12-02 | 2012-06-06 | 中兴通讯股份有限公司 | Ts文件的播放处理方法及装置 |
-
2014
- 2014-05-30 CN CN201410240415.6A patent/CN103997694B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080107396A1 (en) * | 2006-11-08 | 2008-05-08 | Tsung-Ning Chung | Systems and methods for playing back data from a circular buffer by utilizing embedded timestamp information |
CN101621386A (zh) * | 2008-07-01 | 2010-01-06 | 华为技术有限公司 | 一种节省内容网络带宽的方法、系统和设备 |
CN101980533A (zh) * | 2010-11-12 | 2011-02-23 | 中国华录集团有限公司 | 一种基于索引文件实现传输流文件特技模式功能的方法 |
CN102487458A (zh) * | 2010-12-02 | 2012-06-06 | 中兴通讯股份有限公司 | Ts文件的播放处理方法及装置 |
CN102355605A (zh) * | 2011-11-11 | 2012-02-15 | 烽火通信科技股份有限公司 | Iptv机顶盒的直播时移处理方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104754332A (zh) * | 2015-03-24 | 2015-07-01 | 深圳第一蓝筹科技有限公司 | 一种智能穿戴设备的视频图片传输方法 |
CN105898626A (zh) * | 2015-12-11 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 用于生成倒播视频的方法、装置及播放设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103997694B (zh) | 2017-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11190567B2 (en) | Low-latency HTTP live streaming | |
TWI788744B (zh) | 動態縮減替換內容之播放以幫助對齊替換內容之結束與已替換內容之結束 | |
WO2017071523A1 (zh) | 弹幕处理方法、系统及终端 | |
JP4819126B2 (ja) | 携帯放送システムにおける多重ストリーム受信装置及び方法 | |
US9426336B2 (en) | System and method for tying audio and video watermarks of live and recorded events for simulcasting alternative audio commentary to an audio channel or second screen | |
KR102099357B1 (ko) | 스크린 샷을 제공하는 장치 및 시스템, 그리고 방법 | |
CN102664032B (zh) | 一种直播时移的播放进度调节条及其控制方法 | |
JP4858389B2 (ja) | 動画像受信装置、動画像受信方法、及びプログラム | |
CN103475927B (zh) | 在线视频实时变速播放方法及系统 | |
CN104780422A (zh) | 流媒体播放方法及流媒体播放器 | |
CN105359449B (zh) | 发送方法、接收方法、发送装置以及接收装置 | |
WO2016002496A1 (ja) | 情報処理装置および方法 | |
CN107071549A (zh) | 单解码器下多播放器快速切换方法、装置及存储介质 | |
CN106470291A (zh) | 从音频/视频解码器中的时间同步中的中断中恢复 | |
CN106331089A (zh) | 一种视频播放控制方法和系统 | |
CN104683858A (zh) | 一种流媒体的内容的预览方法及装置 | |
CN104093084A (zh) | 一种播放视频的方法及装置 | |
CN106878807B (zh) | 一种视频切换方法和装置 | |
CN103491430A (zh) | 流媒体数据处理方法和电子设备 | |
CN112218128B (zh) | 广告视频的播放方法、播放客户端及可读存储介质 | |
CN103997694A (zh) | 一种视频退播方法及系统 | |
JP2009218873A (ja) | デジタル放送受信機、および、プログラム | |
CN105191298A (zh) | 使用2d-3d多维内容文件的多维内容服务提供系统、该服务提供方法以及该多维内容文件 | |
TWI781460B (zh) | 用於廣告插入決策之方法、計算系統及非暫時性電腦可讀介質 | |
CN104168504A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |