CN105872606B - 视频定位方法及装置 - Google Patents
视频定位方法及装置 Download PDFInfo
- Publication number
- CN105872606B CN105872606B CN201610440006.XA CN201610440006A CN105872606B CN 105872606 B CN105872606 B CN 105872606B CN 201610440006 A CN201610440006 A CN 201610440006A CN 105872606 B CN105872606 B CN 105872606B
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- time point
- difference
- caching
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004891 communication Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 5
- 230000009191 jumping Effects 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000004807 localization Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000002463 transducing effect Effects 0.000 description 1
Classifications
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/432—Content retrieval operation from a local storage medium, e.g. hard-disk
- H04N21/4325—Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2387—Stream processing in response to a playback request from an end-user, e.g. for trick-play
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4385—Multiplex stream processing, e.g. multiplex stream decrypting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频定位装置及方法,该装置包括:查询模块,用于在对已经播放的所述视频执行向前定位操作时,从缓存队列中查询小于指定时间点且最接近所述指定时间点的缓存帧;定位模块,用于定位所述查询模块查询到的所述缓存帧的位置,获取所述缓存帧携带的完整画面数据,并将所述第一差别帧携带的差别数据替换为所述缓存帧携带的完整画面数据;解码模块,用于向后解码所述视频,找到符合所述指定时间点的第二差别帧,并根据所述第一差别帧携带的所述完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。应用本发明的技术方案,能够提高对已经播放的视频进行向前定位时的效率。
Description
技术领域
本发明涉及视频播放技术领域,尤其涉及一种视频定位方法及装置。
背景技术
当前视频播放过程中,基本都是使用MPEG编码技术对视频进行编码。MPEG编码技术将图像帧,即画面分为I帧、P帧和B帧三种。
其中,I帧表示关键帧,即I帧是一幅画面的完整保留,解码时只需要本帧数据就可以完成。P帧表示差别帧,其记录本帧与之前的一个I帧或P帧的差别,解码时需要用之前缓存的画面叠加上本帧记录的差别,生成最终画面,即是说P帧没有完整画面数据,只记录了与前一帧的画面有差别的数据。而B帧是双向差别帧,即B帧记录的是本帧与前后帧的差别,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。B帧压缩率高,但是解码时CPU会比较累。
在视频播放过程中需要进行帧定位,当前采用的定位方法一般都是定位到I帧或者P帧。下面,将结合表1对I帧、P帧的定位方法进行举例说明。
表1 I帧与P帧对应时间点表
帧类型 | I | P | P | P | P | P | P | …… | I |
时间点 | 1 | 1.03 | 1.06 | 1.09 | 1.12 | 1.15 | 1.18 | …… | 2 |
在进行I帧定位时,解码器可以直接跳转到I帧,因此速度最快,只需要解码一个I帧即可。解码器在进行P帧定位时,一般可以定位到指定时间点最相近的帧的位置。例如,若要定位到1.13s的时间点位置,P帧定位直接定位到1.12s的位置。但根据P帧的定义可知,直接定位到1.12s的位置无法解码出完整数据,因此会出现花屏黑屏等情况。
为避免出现花屏或黑屏的状况,当下主流解码器使用探寻定位技术,即seek定位技术来解决此问题。解码器在进行I帧定位时,可以选择定位指定时间点之前或者之后的I帧,但若要实现精确定位P帧,则只能通过先定位指定时间点的I帧然后在I帧定位的基础上,通过向后解码来实现P帧定位。如上表1所示,解码器若要定位到1.13s的时间点位置,则首先进行I帧定位,此时I帧定位最精确只能定位1s的位置,当然定位到2s也可以,但误差比定位到1s大。然后解码器再进行P帧定位,进行P帧定位可以定位到1.12s的位置。即解码器在指定时间点为1.13s的位置时,会先定位到最靠近1.13s之前的关键帧也就是1s时刻的I帧,然后一直解码到1.12s时间点的P帧才输出。
发明内容
本发明的主要目的在于提出一种视频定位方法及装置,旨在解决现有解码器在进行差别帧向前定位时,不能直接跳转到差别帧导致视频定位速度慢的问题,提高对已播放的视频执行向前定位时的效率。
为实现上述目的,本发明提供的视频定位装置,包括:
查询模块,用于在对已播放的所述视频执行向前定位操作时,从缓存队列中查询小于指定时间点且最接近所述指定时间点的缓存帧;所述缓存帧携带有完整的画面数据且与所述视频中的第一差别帧具有时间对应关系;
定位模块,用于定位所述查询模块查询到的所述缓存帧的位置,获取所述缓存帧携带的完整画面数据,并将所述第一差别帧携带的差别数据替换为所述缓存帧携带的完整画面数据;
解码模块,用于向后解码所述视频,找到符合所述指定时间点的第二差别帧,并根据所述第一差别帧携带的所述完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
其中,还包括:
设置模块,用于预设所述缓存队列和所述缓存帧的缓存间隔。
其中,所述解码模块,还用于在播放所述视频时,按照所述预设的缓存间隔从所述视频的差别帧中找出待解码的所述第一差别帧,以及解码所述第一差别帧得到所述第一差别帧的完整画面数据和所述第一差别帧在所述视频中的时间点;
还包括:
缓存模块,用于将所述解码模块解码得到的所述第一差别帧的完整画面数据缓存入所述缓存队列的对应所述时间点处,形成所述缓存帧。
其中,还包括:
判断模块,用于判断已播放的所述视频是否执行向前定位操作;
所述查询模块,具体用于在所述判断模块的判断结果为是时,从所述缓存队列中查询小于指定时间点且最接近所述指定时间点的缓存帧;
所述定位模块,还用于在所述判断模块的判断结果为否时,定位小于所述指定时间点且最接近所述指定时间点的关键帧的位置;
所述解码模块,用于向后解码所述视频,找到符合所述指定时间点的第二差别帧,并根据所述关键帧携带的完整画面数据和所述第二差别帧携带的的差别数据,解码出所述第二差别帧处的完整画面数据。
其中,所述定位模块,还用于在所述查询模块未查询到小于所述指定时间点且最接近所述指定时间点的缓存帧时,定位小于所述指定时间点且最接近所述指定时间点的关键帧的位置;
所述解码模块,用于向后解码所述视频,找到符合所述指定时间点的第二差别帧,并根据所述关键帧携带的完整画面数据和所述第二差别帧携带的的差别数据,解码出所述第二差别帧处的完整画面数据。
基于上述视频定位装置,本发明实施例相应地提出了一种视频定位方法,所述方法包括:
在对已播放的所述视频执行向前定位操作时,从缓存队列中查询小于指定时间点且最接近所述指定时间点的缓存帧;所述缓存帧携带有完整的画面数据且与所述视频中的第一差别帧具有时间对应关系;
定位所述缓存帧的位置,获取所述缓存帧携带的完整画面数据,以及将将所述第一差别帧携带的差别数据替换为所述缓存帧携带的完整画面数据;
查找符合所述指定时间点的第二差别帧,并根据所述第一差别帧携带的所述完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
其中,所述方法还包括:
预设所述缓存队列和所述缓存帧的缓存间隔。
其中,所述方法还包括:
在播放所述视频时,按照所述预设的缓存间隔从所述视频的差别帧中找出待解码的所述第一差别帧,以及解码所述第一差别帧得到所述第一差别帧的完整画面数据和所述第一差别帧在所述视频中的时间点;
将所述第一差别帧的完整画面数据缓存入所述缓存队列中对应所述时间点处,形成所述缓存帧。
其中,所述方法还包括:
判断已播放的所述视频是否执行向前定位操作;
当判断结果为是时,则执行所述从缓存队列中查询小于指定时间点且最接近所述指定时间点的缓存帧的步骤;
当判断结果为否时,则定位小于所述指定时间点且最接近所述指定时间点的关键帧的位置;以及查找符合所述指定时间点的第二差别帧,并根据所述关键帧携带的完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
其中,当未查询到小于指定时间点且最接近所述指定时间点的缓存帧时,所述方法还包括:
定位小于所述指定时间点且最接近所述指定时间点的关键帧的位置;
查找符合所述指定时间点的第二差别帧,并根据所述关键帧携带的完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
本发明的有效效果:
本发明实施例提供的视频定位方法及装置,在对已播放的视频执行向前定位操作时,首先从缓存队列中查找是否存在小于指定时间点且最接近指定时间点的D帧,若存在,则获取D帧携带的完整画面数据并将第一P帧处的差别数据替换为获取的完整画面数据,使得解码模块可以将第一P帧处携带的完整画面数据和第二P帧处携带的差别数据进行叠加,以得到第二P帧处的完整画面数据,即在存在满足条件的D帧,通过直接跳转到P帧的方式进行视频定位。若不存在满足条件的D帧,则按照传统的视频定位方法进行定位。即是说,本发明实施例的移动终端在对已播放的视频执行向前定位操作时,能够在一定程度上提高该视频向前定位操作时的效率和速度。
附图说明
图1为本发明提供的移动终端的实施例一个可选的硬件结构示意图;
图2为图1所示的移动终端的无线通信系统示意图;
图3为本发明提供的移动终端的可选的第一实施例的结构框图;
图4为本发明提供的移动终端可选的第二实施例的结构框图;
图5为本发明提供的移动终端可选的第三实施例的结构框图;
图6为本发明提供的视频定位方法的第一实施例的流程示意图;
图7是本发明提供的视频定位方法的第二实施例的流程示意图;
图8是本发明提供的视频定位方法的第三实施例的流程示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的视频定位装置。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。可以理解的是,本发明实施例的视频定位装置,可以是一切具有视频定位功能的终端设备,例如移动终端,PC电脑或游戏机等,下面的实施例将以视频定位装置为移动终端为例进行具体描述。
可以理解的是,本发明实施例所说的移动终端可以以各种形式来实施。例如,本发明中描述的移动终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
图1为是本发明提供的移动终端的实施例一个可选的硬件结构示意。
和现有通用移动终端相同,本发明实施例提供的移动终端100可以包括无线通信单元110、A/V(音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。下文,将详细描述与本发明实施例相关的A/V输入单元120、用户输入单元130、接口单元170、显示单元151,存储器160、控制器180及电源单元190等元件在现有移动终端中的作用。
无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信系统或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。
A/V输入单元120用于接收音频或视频信号。A/V输入单元120可以包括相机121和麦克风1220,相机121对在视频捕获模式或图像捕获模式中由图像捕获装置获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元151上。经相机121处理后的图像帧可以存储在存储器160(或其它存储介质)中或者经由无线通信单元110进行发送,可以根据移动终端的构造提供两个或更多相机1210。麦克风122可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由移动通信模块112发送到移动通信基站的格式输出。麦克风122可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
用户输入单元130可以根据用户输入的命令生成键输入数据以控制移动终端的各种操作。用户输入单元130允许用户输入各种类型的信息,并且可以包括键盘、锅仔片、触摸板(例如,检测由于被接触而导致的电阻、压力、电容等等的变化的触敏组件)、滚轮、摇杆等等。特别地,当触摸板以层的形式叠加在显示单元151上时,可以形成触摸屏。
接口单元170用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。识别模块可以是存储用于验证用户使用移动终端100的各种信息并且可以包括用户识别模块(UIM)、客户识别模块(SIM)、通用客户识别模块(USIM)等等。另外,具有识别模块的装置(下面称为"识别装置")可以采取智能卡的形式,因此,识别装置可以经由端口或其它连接装置与移动终端100连接。接口单元170可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端和外部装置之间传输数据。
另外,当移动终端100与外部底座连接时,接口单元170可以用作允许通过其将电力从底座提供到移动终端100的路径或者可以用作允许从底座输入的各种命令信号通过其传输到移动终端的路径。从底座输入的各种命令信号或电力可以用作用于识别移动终端是否准确地安装在底座上的信号。输出单元150被构造为以视觉、音频和/或触觉方式提供输出信号(例如,音频信号、视频信号、警报信号、振动信号等等)。输出单元150可以包括显示单元151、音频输出模块152、警报单元153等等。
显示单元151可以显示在移动终端100中处理的信息。例如,当移动终端100处于电话通话模式时,显示单元151可以显示与通话或其它通信(例如,文本消息收发、多媒体文件下载等等)相关的用户界面(UI)或图形用户界面(GUI)。当移动终端100处于视频通话模式或者图像捕获模式时,显示单元151可以显示捕获的图像和/或接收的图像、示出视频或图像以及相关功能的UI或GUI等等。
同时,当显示单元151和触摸板以层的形式彼此叠加以形成触摸屏时,显示单元151可以用作输入装置和输出装置。显示单元151可以包括液晶显示器(LCD)、薄膜晶体管LCD(TFT-LCD)、有机发光二极管(OLED)显示器、柔性显示器、三维(3D)显示器等等中的至少一种。这些显示器中的一些可以被构造为透明状以允许用户从外部观看,这可以称为透明显示器,典型的透明显示器可以例如为TOLED(透明有机发光二极管)显示器等等。根据特定想要的实施方式,移动终端100可以包括两个或更多显示单元(或其它显示装置),例如,移动终端可以包括外部显示单元(未示出)和内部显示单元(未示出)。触摸屏可用于检测触摸输入压力以及触摸输入位置和触摸输入面积。
音频输出模块152可以在移动终端处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将无线通信单元110接收的或者在存储器160中存储的音频数据转换音频信号并且输出为声音。而且,音频输出模块152可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出模块152可以包括扬声器、蜂鸣器等等。
存储器160可以存储由控制器180执行的处理和控制操作的软件程序等等,或者可以暂时地存储己经输出或将要输出的数据(例如,电话簿、消息、静态图像、视频等等)。而且,存储器160可以存储关于当触摸施加到触摸屏时输出的各种方式的振动和音频信号的数据。
存储器160可以包括至少一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,移动终端100可以与通过网络连接执行存储器160的存储功能的网络存储装置协作。
控制器180通常控制移动终端的总体操作。例如,控制器180执行与语音通话、数据通信、视频通话等等相关的控制和处理。控制器180可以执行模式识别处理,以将在触摸屏上执行的手写输入或者图片绘制输入识别为字符或图像。
电源单元190在控制器180的控制下接收外部电力或内部电力并且提供操作各元件和组件所需的适当的电力。
这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在控制器180中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器160中并且由控制器180执行。
至此,己经详细描述了现有通用移动终端各个元件的功能。下面,为了简要起见,将描述诸如折叠型、直板型、摆动型、滑动型移动终端等等的各种类型的移动终端中的滑动型移动终端作为示例。因此,本发明能够应用于任何类型的移动终端,并且不限于滑动型移动终端。
如图1中所示的移动终端100可以被构造为利用经由帧或分组发送数据的诸如有线和无线通信系统以及基于卫星的通信系统来操作。
现在将参考图2描述其中根据本发明的移动终端能够操作的通信系统。
这样的通信系统可以使用不同的空中接口和/或物理层。例如,由通信系统使用的空中接口包括例如频分多址(FDMA)、时分多址(TDMA)、码分多址(CDMA)和通用移动通信系统(UMTS)(特别地,长期演进(LTE))、全球移动通信系统(GSM)等等。作为非限制性示例,下面的描述涉及CDMA通信系统,但是这样的教导同样适用于其它类型的系统。
参考图2,CDMA无线通信系统可以包括多个移动终端100、多个基站(BS)270、基站控制器(BSC)275和移动交换中心(MSC)280。MSC280被构造为与公共电话交换网络(PSTN)290形成接口。MSC280还被构造为与可以经由回程线路耦接到基站270的BSC275形成接口。回程线路可以根据若干己知的接口中的任一种来构造,所述接口包括例如E1/T1、ATM,IP、PPP、帧中继、HDSL、ADSL或xDSL。将理解的是,如图2中所示的系统可以包括多个BSC2750。
每个BS270可以服务一个或多个分区(或区域),由多向天线或指向特定方向的天线覆盖的每个分区放射状地远离BS270。或者,每个分区可以由用于分集接收的两个或更多天线覆盖。每个BS270可以被构造为支持多个频率分配,并且每个频率分配具有特定频谱(例如,1.25MHz,5MHz等等)。
分区与频率分配的交叉可以被称为CDMA信道。BS270也可以被称为基站收发器子系统(BTS)或者其它等效术语。在这样的情况下,术语"基站"可以用于笼统地表示单个BSC275和至少一个BS270。基站也可以被称为"蜂窝站"。或者,特定BS270的各分区可以被称为多个蜂窝站。
如图2中所示,广播发射器(BT)295将广播信号发送给在系统内操作的移动终端100。如图1中所示的广播接收模块111被设置在移动终端100处以接收由BT295发送的广播信号。在图2中,示出了几个全球定位系统(GPS)卫星300。卫星300帮助定位多个移动终端100中的至少一个。
在图2中,描绘了多个卫星300,但是理解的是,可以利用任何数目的卫星获得有用的定位信息。如图1中所示的GPS模块115通常被构造为与卫星300配合以获得想要的定位信息。替代GPS跟踪技术或者在GPS跟踪技术之外,可以使用可以跟踪移动终端的位置的其它技术。另外,至少一个GPS卫星300可以选择性地或者额外地处理卫星DMB传输。
作为无线通信系统的一个典型操作,BS270接收来自各种移动终端100的反向链路信号。移动终端100通常参与通话、消息收发和其它类型的通信。特定基站270接收的每个反向链路信号被在特定BS270内进行处理。获得的数据被转发给相关的BSC275。BSC提供通话资源分配和包括BS270之间的软切换过程的协调的移动管理功能。BSC275还将接收到的数据路由到MSC280,其提供用于与PSTN290形成接口的额外的路由服务。类似地,PSTN290与MSC280形成接口,MSC与BSC275形成接口,并且BSC275相应地控制BS270以将正向链路信号发送到移动终端100。
上文己经详细描述了现有通用移动终端各个元件的功能以及通用移动终端的通信系统,下面将详细本发明实施例提供的移动终端与通用移动终端的区别。与通用移动终端不同的是,本发明实施例提供的移动终端100具有能够快速地进行视频差别帧定位的特殊功能。
请参考图3,本发明实施例提供的移动终端100,具体还可以包括:查询模块11、定位模块12、解码模块13。可以理解的是,上述查询模块11、定位模块12、解码模块13可以集成为一个具有视频定位功能的模块,该模块可以集成在控制器180中,当然也可以与控制器180分离。
其中,查询模块11,用于在对移动终端已播放的视频执行向前定位操作时,从缓存队列中查询小于指定时间点且最接近该指定时间点的缓存帧;对于一段播放中的视频,可以分为两个部分,即已播放的部分和未播放的部分,本发明实施例的视频定位方法仅仅适用于对视频已播放的部分进行定位。另外,对于一段播放中的视频,其对应有一个当前播放的时间点,若指定时间点小于当前播放的时间点,则理解为对视频进行向前定位,若指定时间点大于当前播放的时间点,则理解为对视频进行向后定位。指定时间点可以为用户输入的待定位视频的目标时间点,最接近该指定时间点的缓存帧指的是在小于指定时间点的所有缓存帧中最靠近指定时间点的缓存帧。而缓存帧(下文简称为D帧),指的是已经缓存在缓存队列中的、携带有完整的画面数据的数据帧,D帧与视频中的第一差别帧(后文简称为第一P帧)具有时间对应关系,即D帧在缓存队列中的时间点与视频中的第一P帧的时间点相同。一般地,D帧是在移动终端播放视频时缓存在缓存队列中的,其目的是便于在对已播放的视频执行向前定位时方便调用。其中,第一P帧指的是在播放该视频时被解码的P帧。根据P帧的定义可知,第一P帧处仅仅携带有差别数据。
查询模块11在查询小于指定时间点且最接近该指定时间点的D帧时,有可能能够找到满足条件的D帧,也可能找不到满足条件的D帧。当查询模块11找到满足条件的D帧时,定位模块12则用于定位查询模块11查询到的D帧的位置,同时获取D帧携带的完整画面数据,以及将视频中第一P帧处携带的差别数据替换为D帧携带的完整画面数据。定位模块12执行替换操作之后,第一P帧处也携带有完整画面数据,同时定位模块12还将替换后的第一P帧的完整画面数据送入解码模块13。
解码模块13,用于向后解码该视频,找到符合指定时间点的第二差别帧(后文简称第二P帧),并根据第一P帧携带的完整画面数据和第二P帧携带的差别数据,解码出第二P帧处的完整画面数据。解码模块13,具体可以通过解码器来实现。解码器在解码该视频时,对第一P帧携带的完整画面数据和第二P帧携带的差别数据进行叠加,从而可以得到第二P帧处的完整画面数据,进而能够实现视频定位,得到指定时间点的最终视频画面。
需要说明的是,当查询模块11未能找到满足条件的D帧时,定位模块12则用于定位小于指定时间点且最接近指定时间点的关键帧(后文简称为I帧)的位置。最接近该指定时间点的I帧,指的是小于指定时间点的所有I帧中最靠近指定时间点的I帧。根据I帧的定义可以知道,I帧携带有完整画面数据。此时,解码模块13在向后解码该视频时,则可以按照传统的方法进行解码,即找到符合指定时间点的第二P帧,并根据I帧携带的完整画面数据和第二P帧携带的的差别数据,解码出第二P帧处的完整画面数据,进而能够实现视频定位,得到指定时间点的最终视频画面。
从上文的描述可知,本发明实施例的移动终端100,在对视频执行向前定位操作时,首先从缓存队列中查找是否存在小于指定时间点且最接近指定时间点的D帧,若存在,则获取D帧携带的完整画面数据并将第一P帧处的差别数据替换为获取的完整画面数据,使得解码模块可以将第一P帧处携带的完整画面数据和第二P帧处携带的差别数据进行叠加,以得到第二P帧处的完整画面数据,即在存在满足条件的D帧,通过直接跳转到P帧的方式进行视频定位。若不存在满足条件的D帧,则按照传统的视频定位方法进行定位。即是说,本发明实施例的移动终端在对播放过的视频执行向前定位操作时,能够在一定程度上提高视频向前定位操作时的效率和速度。
请参考图4,是本发明实施例提供的移动终端100,与图3实施例中所示的移动终端100的区别在于,移动终端100还可以包括:
判断模块14,用于判断移动终端是否执行向前定位操作。可以理解的是,判断模块14可以和查询模块11、定位模块12、解码模块13集成为一个具有视频定位功能的模块,该模块可以集成在控制器180中。也可以与控制器180分离。
查询模块11,具体用于在判断模块14的判断结果为是时,即视频需要执行向前定位操作时,从缓存队列中查询小于指定时间点且最接近该指定时间点的D帧。在定位到D帧之后,定位模块12、解码模块13则按照上文图3实施例中的描述进行定位和解码,以得到指定时间点的完整画面数据并输出,实现视频定位。
当判断模块14的判断结果为否时,即视频不需要执行向前定位操作时,定位模块12则还用于定位小于指定时间点且最接近该指定时间点的I帧的位置;最接近该指定时间点的I帧,指的是小于指定时间点的所有I帧中最靠近指定时间点的I帧。在找到小于指定时间点且最接近该指定时间点的I帧的位置之后,在该I帧的位置需要执行向前定位操作。此时解码模块13则需要向后解码视频,以找到符合该指定时间点的第二P帧,并根据I帧携带的完整画面数据和第二P帧携带的差别数据,解码出第二P帧处的完整画面数据。
从上文的描述可知,本发明实施例的移动终端100进行视频定位时,首先需要判断已播放的视频是否需要执行向前定位操作,在判断视频需要执行向前定位操作时则从缓存队列中查找是否存在小于指定时间点且最接近指定时间点的D帧,若存在,则获取D帧携带的完整画面数据并将第一P帧处的差别数据替换为获取的完整画面数据,使得解码模块可以将第一P帧处携带的完整画面数据和第二P帧处携带的差别数据进行叠加,以得到第二P帧处的完整画面数据,即在存在满足条件的D帧,通过直接跳转到P帧的方式进行视频定位。若不存在满足条件的D帧,则按照传统的视频定位方法进行视频定位。并且,在判断视频不需要执行向前定位操作时,则首先定位到小于指定时间点且最接近指定时间点的I帧的位置,然后再按照传统的视频定位方法进行视频定位。即是说,本发明实施例的移动终端在对已经播放的视频执行向前定位操作时,能够提高视频向前定位操作时的效率和速度。
请参考图5,本发明实施例的移动终端100,与图3或图4所示的实施例的区别在于,移动终端100还可以包括:设置模块15和缓存模块16。可以理解的是,设置模块15、缓存模块16可以和判断模块14、查询模块11、定位模块12、解码模块13集成为一个具有视频定位功能的模块,该模块可以集成在制器180中。也可以与控制器180分离。
设置模块15,用于预设缓存队列Q和D帧的缓存间隔T。其中,缓冲队列Q设置有最大容量上限,当超过则清除最早前的数据。D帧的缓存间隔T可根据实际需求具体设置。缓存间隔T,具体表示在视频的播放过程中,在视频的所有P帧中每T个P帧将选出一个P帧进行解码,该被解码的则为前文所描述的第一P帧。
解码模块13,还用于在移动终端播放该视频时,按照预设的缓存间隔T从视频的p帧中找出待解码的第一P帧,以及解码第一P帧得到第一P帧的完整画面数据和第一P帧在视频中的对应时间点,缓存模块16,用于将解码模块13解码得到的第一P帧在视频中的对应时间点,将该第一P帧携带的完整画面数据缓存入缓存队列中的对应时间点处,从而形成D帧,保证了D帧在缓存队列中的时间点与视频中第一P帧的时间点相同。即是说,D帧是存储在缓存队列中的、携带有完整画面数据的第一P帧。D帧与第一P帧的相同点是,二者的时间点相同,不同之处是,D帧为携带有完整画面数据的P帧,第一P帧无完整画面数据。
可以理解的是,在该视频的所有P帧中,按照预设的缓存间隔T可以找出多个第一P帧,相应地,在解码多个第一P帧后,此时可以得到该多个第一P帧携带的完整画面数据和其对应的时间点,此时需要按照解码顺序依序将该多个第一P帧缓存入缓存队列中,从而形成多个D帧,缓存队列中的一个D帧与视频中的一个第一P帧对应。
下面,将通过表2来描述解码模块13和缓存模块16在缓存D帧时的具体工作过程。
表2 数据帧与缓存队列对应时间表
在表2中,Type表示数据帧类型,Q表示缓存队列,Time表示时间点。
其中,设置模块15,预设缓存队列Q和D帧的缓存间隔T,例如,设置模块15可将缓存间隔T设置为3,即在每3个P帧中找出一个待解码的第一P帧。
在播放该视频时,解码模块13根据设置模块15设置的缓存间隔T,T具体为3,在视频的所有P帧中找出了多个第一P帧,如表2中的P3、P6、P9,并解码该多个第一P帧,得到该多个第一P帧的完整画面数据和该多个第一P帧在该视频中的时间点。解码模块13完成解码之后,缓存模块16则根据解码模块13的解码结果,即根据该多个第一P帧在该视频中的时间点,将该多个第一P帧携带的完整画面数据缓存入缓存队列中的对应时间点处,形成了多个对应的D帧,即D1、D2、D3,此时D1、D2、D3处对应存储了P3、P6、P9处的完整画面数据。其中,缓存模块16将P3、P6、P9携带的完整画面数据缓存入缓存队列中的对应时间点的目的是,保证D1、D2、D3在缓存队列中的时间点与其对应的第一P帧的时间点相同,即D1对应的时间点与P3对应的时间点相同,D2对应的时间点与P6对应的时间点相同,D3对应的时间点与P9对应的时间点相同。自此,D帧正式形成。
应当理解的是,在形成D帧之后,本发明实施例的移动终端100在进行视频定位时,将按照图3或图4实施例所描述的方式进行。下面,将结合表2,通过具体的例子来进行描述。
请参考表2,假设视频从0位置,播放到1.2s的位置,也就是P11的位置那么当前形成了D1、D2、D3三个D帧,其分别对应于视频中的P3、P6、P9三个第一P帧。
在进行视频定位时,假定指定时间点是0.8s的位置。此时,若移动终端100的判断模块14判断已经播放的该视频需要执行向前定位操作时,查询模块11从缓存模块16缓存的缓存队列Q中查找小于指定时间点0.8s且最靠近0.8s的D帧,通过查找,找到满足了条件的D帧具体为D2帧。
定位模块12执行定位到D2帧位置的操作,同时获取D2帧的完整画面数据,同时定位D2帧对应的时间点0.6,也就是第一P帧P6的位置,并将P6携带的差别数据替换为D2帧携带的完整画面数据,以及将替换后的P6帧携带的完整画面数据送入解码模块13中。
解码模块13向后解码该视频,直至找到符合指定位时间点的第二P帧P8,并叠加P6帧携带的完整画面数据和P8帧携带的差别数据,得到P8帧的完整画面数据,实现视频定位。
本发明实施例的移动终端100在对已经播放的视频执行P帧向前定位时,在找到满足条件的D帧时,可以直接跳转到P帧,而不用再按照传统的先定位I帧再定位P帧的方式进行视频定位,可以提高视频定位时的效率和速度。通过对比,发现采用本发明实施例的移动终端对已经播放过的视频内容实行向前定位时,可以利用缓冲空间来减少解码时间,提高定位效率明显。当然还可以根据硬解空间来调整设置的缓冲间隔,越小定位越快,若一个视频fps为30,则一秒钟视频只需要在最中间缓冲一个P帧,就可以将平均定位解码量减少到一般,大大的优化精确帧定位时间,优化用户体验。
基于上述移动终端硬件结构以及通信系统,提出本发明方法各个实施例。
请参考图6,是本发明提供的视频定位方法的第一实施例的流程示意图。该视频定位方法包括:
步骤S601,在对已经播放的视频执行向前定位操作时,从缓存队列中查询小于指定时间点且最接近该指定时间点的D帧;
对于一段播放中的视频,可以分为两个部分,即已播放的部分和未播放的部分,本发明实施例的视频定位方法仅仅适用于对视频已播放的部分进行定位。另外,对于一段播放中的视频,其对应有一个当前播放的时间点,若指定时间点小于当前播放的时间点,则理解为对视频进行向前定位,若指定时间点大于当前播放的时间点,则理解为对视频进行向后定位。其中,指定时间点可以为用户输入的待定位视频的目标时间点,最接近该指定时间点的D帧指的是在小于指定时间点的所有D帧中最靠近指定时间点的D帧。而D帧,指的是已经缓存在缓存队列中的、携带有完整的画面数据的数据帧,D帧与视频中的第一P帧具有时间对应关系,即D帧在缓存队列中的时间点与视频中第一P帧的时间点相同。一般地,D帧是在移动终端播放视频时缓存在缓存队列中的,其目的是便于在对已经播放的视频进行视频向前定位时方便调用。其中,第一P帧指的是在播放该视频时被解码的P帧。根据P帧的定义可知,第一P帧处仅仅携带有差别数据。
在本步骤中,在执行查询小于指定时间点且最接近该指定时间点的D帧时,有可能能够找到满足条件的D帧,也可能找不到满足条件的D帧。当查询到满足条件的D帧时,执行步骤S602-S605,当未查询到满足条件的D帧时,则执行步骤S606-S607。
步骤S602,定位查询到的D帧的位置,获取D帧携带的完整画面数据;
步骤S603,将第一P帧携带的差别数据替换为D帧携带的完整画面数据;
当找到满足条件的D帧时,则定位D帧的位置,同时获取D帧携带的完整画面数据,以及将视频中第一P帧处携带的差别数据替换为D帧携带的完整画面数据。执行替换操作之后,第一P帧处也携带有完整画面数据,还将替换后的第一P帧的完整画面数据送入解码器。
步骤S604,查找符合指定时间点的第二P帧;
步骤S605,根据第一P帧携带的完整画面数据和第二P帧携带的差别数据,解码出第二P帧处的完整画面数据。
在解码该视频时,对第一P帧携带的完整画面数据和第二P帧携带的差别数据进行叠加,从而可以得到第二P帧处的完整画面数据,进而能够实现视频定位,得到指定时间点的最终视频画面。
步骤S606,定位小于指定时间点且最接近指定时间点的I帧的位置;
步骤S607,查找符合指定时间点的第二P帧,并根据I帧携带的完整画面数据和第二P帧携带的差别数据,解码出第二P帧处的完整画面数据。
需要说明的是,最接近该指定时间点的I帧,指的是小于指定时间点的所有I帧中最靠近指定时间点的I帧。根据I帧的定义可以知道,I帧携带有完整画面数据。此时,在向后解码该视频时,则可以按照传统的方法进行解码,即找到符合指定时间点的第二P帧,并根据I帧携带的完整画面数据和第二P帧携带的的差别数据,解码出第二P帧处的完整画面数据,进而能够实现视频定位,得到指定时间点的最终视频画面。
从上文的描述可知,本发明实施例的视频定位方法,在对已经播放的视频执行向前定位操作时,首先从缓存队列中查找是否存在小于指定时间点且最接近指定时间点的D帧,若存在,则获取D帧携带的完整画面数据并将第一P帧处的差别数据替换为获取的完整画面数据,并将第一P帧处携带的完整画面数据和第二P帧处携带的差别数据进行叠加,以得到第二P帧处的完整画面数据,即在存在满足条件的D帧,通过直接跳转到P帧的方式进行视频定位。若不存在满足条件的D帧,则按照传统的视频定位方法进行定位。即是说,本发明实施例的视频定位方法在对已经播放的视频执行向前定位操作时,能够在一定程度上提高该视频向前定位操作时的效率和速度。
请参考图7,是本发明提供的视频定位方法的第二实施例的流程示意图。该视频定位方法包括:
与步骤S601-S607相同的步骤S701-S707。
本发明实施例与图6所示的实施例的区别在于,在执行步骤S701之前,还包括:
步骤S708,判断已经播放的所视频是否执行向前定位操作;
若判断结果为是,则执行步骤S701,若判断结果为否,则执行步骤S706-步骤S707。
本发明实施例的视频定位方法,首先需要判断已经播放的视频是否需要执行向前定位操作,在判断视频需要执行向前定位操作时则从缓存队列中查找是否存在小于指定时间点且最接近指定时间点的D帧,若存在,则获取D帧携带的完整画面数据并将第一P帧处的差别数据替换为获取的完整画面数据,并将第一P帧处携带的完整画面数据和第二P帧处携带的差别数据进行叠加,以得到第二P帧处的完整画面数据,即在存在满足条件的D帧,通过直接跳转到P帧的方式进行视频定位。若不存在满足条件的D帧,则按照传统的视频定位方法进行视频定位。并且,在判断视频不需要执行向前定位操作时,则首先定位到小于指定时间点且最接近指定时间点的I帧的位置,然后再按照传统的视频定位方法进行视频定位。即是说,本发明实施例的视频定位方法在对已经播放的视频执行向前定位操作时,能够提高视频向前定位操作时的效率和速度。
请参考图8,是本发明提供的视频定位方法的第三实施例的流程示意图。该视频定位方法包括:
与步骤S701-S708相同的步骤S801-S808。
本发明实施例与图7所示的实施例的区别在于,在执行步骤S808之前,还包括:
步骤S809,预设缓存队列和缓存帧的缓存间隔;
其中,缓冲队列Q设置有最大容量上限,当超过则清除最早前的数据。D帧的缓存间隔T可根据实际需求具体设置。缓存间隔T,具体表示在视频的播放过程中,在视频的所有P帧中每T个P帧将选出一个P帧进行解码,该被解码的则为所描述的第一P帧。
步骤S810,在播放视频时,按照预设的缓存间隔从该视频的P帧中找出待解码的第一P帧,以及解码第一P帧得到其完整画面数据和其在视频中的时间点;
步骤S811,将第一P帧的完整画面数据缓存入缓存队列中对应的时间点处,形成缓存帧。
步骤S810-S811中,根据解码得到的第一P帧在视频中的对应时间点,将该第一P帧携带的完整画面数据缓存入缓存队列中的对应时间点处,形成D帧,从而保证了D帧在缓存队列中的时间点与视频中第一P帧的时间点相同。即是说,D帧是存储在缓存队列中的、携带有完整画面数据的第一P帧。D帧与第一P帧的相同点是,二者的时间点相同,不同之处是,D帧为携带有完整画面数据的P帧,第一P帧无完整画面数据。
可以理解的是,在该视频的所有P帧中,按照预设的缓存间隔T可以找出多个第一P帧,相应地,在解码多个第一P帧后,此时可以得到该多个第一P帧携带的完整画面数据和其对应的时间点,此时需要按照解码顺序依序将该多个第一P帧缓存入缓存队列中,从而形成多个D帧,缓存队列中的一个D帧与视频中的一个第一P帧对应。
需要说明的是,在执行步骤S805或S807之后,还执行:
步骤S812,判断是否继续执行定位操作;
若判断结果为是,则执行步骤S808,若判断结果为否,即继续播放该视频,则执行步骤S810。
请继续参考上文表2,将通过具体例子对上述步骤进行具体描述。表2中,预设D帧的缓存间隔T具体为3,即在每3个P帧中找出一个待解码的第一P帧。在播放该视频时,解码器根据设置的缓存间隔T,在视频的所有P帧中找出了多个第一P帧,如表2中的P3、P6、P9,并解码该多个第一P帧,得到该多个第一P帧的完整画面数据和该多个第一P帧在该视频中的时间点。完成解码之后,根据解码结果,即根据该多个第一P帧在该视频中的时间点,将该多个第一P帧携带的完整画面数据缓存入缓存队列中的对应时间点处,形成了多个对应的D帧,即D1、D2、D3,此时D1、D2、D3处对应存储了P3、P6、P9处的完整画面数据。其中,将P3、P6、P9携带的完整画面数据缓存入缓存队列中的对应时间点的目的是,保证D1、D2、D3在缓存队列中的时间点与其对应的第一P帧的时间点相同,即D1对应的时间点与P3对应的时间点相同,D2对应的时间点与P6对应的时间点相同,D3对应的时间点与P9对应的时间点相同。自此,D帧正式形成。
应当理解的是,在形成D帧之后,本发明实施例的视频定位方法在进行视频定位时,将按照图6或图7实施例所描述的方式进行。下面,将结合表2,通过具体的例子来进行描述。
请继续参考表2,假设视频从0位置,播放到1.2s的位置,也就是P11的位置那么当前缓存队列中形成了D1、D2、D3三个D帧,其分别对应于视频中的P3、P6、P9三个第一P帧。
在进行视频定位时,假定指定时间点是0.8s的位置。此时,若判断已经播放的该视频需要执行向前定位操作时,则从缓存队列Q中查找小于指定时间点0.8s且最靠近0.8s的D帧,通过查找,找到满足了条件的D帧具体为D2帧。
执行定位到D2帧位置的操作,同时获取D2帧的完整画面数据,同时定位D2帧对应的时间点0.6,也就是第一P帧P6的位置,并将P6携带的差别数据替换为D2帧携带的完整画面数据,以及将替换后的P6帧携带的完整画面数据送入解码器中。
解码器向后解码该视频,直至找到符合指定位时间点的第二P帧P8,并叠加P6帧携带的完整画面数据和P8帧携带的差别数据,得到P8帧的完整画面数据,实现视频定位。
本发明实施例的视频定位方法,在对已经播放的视频执行P帧向前定位时,在找到满足条件的D帧时,可以直接跳转到P帧,而不用再按照传统的先定位I帧再定位P帧的方式进行视频定位,可以提高视频定位时的效率和速度。通过对比,发现采用本发明实施例的视频定位方法对已经播放过的视频内容实行向前定位时,可以利用缓冲空间来减少解码时间,提高定位效率明显。当然还可以根据硬解空间来调整设置的缓冲间隔,越小定位越快,若一个视频fps为30,则一秒钟视频只需要在最中间缓冲一个P帧,就可以将平均定位解码量减少到一般,大大的优化精确帧定位时间,优化用户体验。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种视频定位装置,其特征在于,包括:
查询模块,用于在对已播放的所述视频执行向前定位操作时,从缓存队列中查询小于指定时间点且最接近所述指定时间点的缓存帧;所述缓存帧携带有完整的画面数据且所述缓存帧在缓存队列中的时间点与所述视频中的第一差别帧的时间点相同;
定位模块,用于定位所述查询模块查询到的所述缓存帧的位置,获取所述缓存帧携带的完整画面数据,并将所述第一差别帧携带的差别数据替换为所述缓存帧携带的完整画面数据;
解码模块,用于向后解码所述视频,找到符合所述指定时间点的第二差别帧,并根据所述第一差别帧携带的所述完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
2.根据权利要求1所述的视频定位装置,其特征在于,还包括:
设置模块,用于预设所述缓存队列和所述缓存帧的缓存间隔。
3.根据权利要求2所述的视频定位装置,其特征在于,
所述解码模块,还用于在播放所述视频时,按照所述预设的缓存间隔从所述视频的差别帧中找出待解码的所述第一差别帧,以及解码所述第一差别帧得到所述第一差别帧的完整画面数据和所述第一差别帧在所述视频中的时间点;
还包括:
缓存模块,用于将所述解码模块解码得到的所述第一差别帧的完整画面数据缓存入所述缓存队列的对应所述时间点处,形成所述缓存帧。
4.根据权利要求1所述的视频定位装置,其特征在于,还包括:
判断模块,用于判断所述视频是否执行向前定位操作;
所述查询模块,具体用于在所述判断模块的判断结果为是时,从所述缓存队列中查询小于指定时间点且最接近所述指定时间点的缓存帧;
所述定位模块,还用于在所述判断模块的判断结果为否时,定位小于所述指定时间点且最接近所述指定时间点的关键帧的位置;
所述解码模块,用于向后解码所述视频,找到符合所述指定时间点的第二差别帧,并根据所述关键帧携带的完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
5.根据权利要求1所述的视频定位装置,其特征在于,
所述定位模块,还用于在所述查询模块未查询到小于所述指定时间点且最接近所述指定时间点的缓存帧时,定位小于所述指定时间点且最接近所述指定时间点的关键帧的位置;
所述解码模块,用于向后解码所述视频,找到符合所述指定时间点的第二差别帧,并根据所述关键帧携带的完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
6.一种视频定位方法,其特征在于,所述方法包括:
在对已播放的所述视频执行向前定位操作时,从缓存队列中查询小于指定时间点且最接近所述指定时间点的缓存帧;所述缓存帧携带有完整的画面数据且所述缓存帧在缓存队列中的时间点与所述视频中的第一差别帧的时间点相同;
定位所述缓存帧的位置,获取所述缓存帧携带的完整画面数据,以及将所述第一差别帧携带的差别数据替换为所述缓存帧携带的完整画面数据;
查找符合所述指定时间点的第二差别帧,并根据所述第一差别帧携带的所述完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
7.根据权利要求6所述的视频定位方法,其特征在于,所述方法还包括:
预设所述缓存队列和所述缓存帧的缓存间隔。
8.根据权利要求7所述的视频定位方法,其特征在于,所述方法还包括:
在播放所述视频时,按照所述预设的缓存间隔从所述视频的差别帧中找出待解码的所述第一差别帧,以及解码所述第一差别帧得到完所述第一差别帧的整画面数据和所述第一差别帧在所述视频中的时间点;
将所述第一差别帧的完整画面数据缓存入所述缓存队列中对应所述时间点处,形成所述缓存帧。
9.根据权利要求6所述的视频定位方法,其特征在于,所述方法还包括:
判断所述视频是否执行向前定位操作;
当判断结果为是时,则执行所述从缓存队列中查询小于指定时间点且最接近所述指定时间点的缓存帧的步骤;
当判断结果为否时,则定位小于所述指定时间点且最接近所述指定时间点的关键帧的位置;以及查找符合所述指定时间点的第二差别帧,并根据所述关键帧携带的完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
10.根据权利要求6所述的视频定位方法,其特征在于,当未查询到小于指定时间点且最接近所述指定时间点的缓存帧时,所述方法还包括:
定位小于所述指定时间点且最接近所述指定时间点的关键帧的位置;
查找符合所述指定时间点的第二差别帧,并根据所述关键帧携带的完整画面数据和所述第二差别帧携带的差别数据,解码出所述第二差别帧处的完整画面数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610440006.XA CN105872606B (zh) | 2016-06-17 | 2016-06-17 | 视频定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610440006.XA CN105872606B (zh) | 2016-06-17 | 2016-06-17 | 视频定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105872606A CN105872606A (zh) | 2016-08-17 |
CN105872606B true CN105872606B (zh) | 2019-01-08 |
Family
ID=56650828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610440006.XA Active CN105872606B (zh) | 2016-06-17 | 2016-06-17 | 视频定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105872606B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106791870B (zh) * | 2016-11-30 | 2019-11-05 | 华为技术有限公司 | 一种视频编码方法、视频解码方法以及相关设备 |
CN110022489B (zh) * | 2019-05-30 | 2021-12-24 | 腾讯音乐娱乐科技(深圳)有限公司 | 视频播放方法、装置及存储介质 |
CN112822522B (zh) * | 2020-12-31 | 2023-03-21 | 北京梧桐车联科技有限责任公司 | 视频播放方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6693959B1 (en) * | 2000-03-03 | 2004-02-17 | Ati International Srl | Method and apparatus for indexing and locating key frames in streaming and variable-frame-length data |
EP2031875A1 (en) * | 2006-06-22 | 2009-03-04 | Sony Corporation | Playback device, method, and program |
CN101917590A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种具有回放功能的网络直播系统及一种播放器 |
CN101917389A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种网络电视直播系统 |
CN102932619A (zh) * | 2012-11-07 | 2013-02-13 | 苏州科达科技股份有限公司 | 快速浏览录像的方法 |
CN103686246A (zh) * | 2013-11-26 | 2014-03-26 | 小米科技有限责任公司 | 传输流视频选时播放方法、装置、设备及系统 |
CN104581381A (zh) * | 2015-01-04 | 2015-04-29 | 浪潮软件股份有限公司 | 一种终端视频浏览辅助定位方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8789090B1 (en) * | 2012-02-14 | 2014-07-22 | Uplynk, LLC | Advertisement insertion into media content for streaming |
-
2016
- 2016-06-17 CN CN201610440006.XA patent/CN105872606B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6693959B1 (en) * | 2000-03-03 | 2004-02-17 | Ati International Srl | Method and apparatus for indexing and locating key frames in streaming and variable-frame-length data |
EP2031875A1 (en) * | 2006-06-22 | 2009-03-04 | Sony Corporation | Playback device, method, and program |
CN101917590A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种具有回放功能的网络直播系统及一种播放器 |
CN101917389A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种网络电视直播系统 |
CN102932619A (zh) * | 2012-11-07 | 2013-02-13 | 苏州科达科技股份有限公司 | 快速浏览录像的方法 |
CN103686246A (zh) * | 2013-11-26 | 2014-03-26 | 小米科技有限责任公司 | 传输流视频选时播放方法、装置、设备及系统 |
CN104581381A (zh) * | 2015-01-04 | 2015-04-29 | 浪潮软件股份有限公司 | 一种终端视频浏览辅助定位方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105872606A (zh) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653729B (zh) | 一种录音文件索引的装置及方法 | |
CN106550263A (zh) | 媒体播放方法及装置 | |
CN104902212A (zh) | 一种视频通信方法及装置 | |
CN104898959B (zh) | 一种调整虚拟按钮位置的方法和装置 | |
CN107066497A (zh) | 一种搜索方法和装置 | |
CN105828180A (zh) | 一种缓存视频帧的装置和方法 | |
CN104808912A (zh) | 输入界面调整方法和装置 | |
CN105718071A (zh) | 输入法中推荐联想词汇的终端及方法 | |
CN104881219B (zh) | 一种移动终端及其边框辅助输入方法和装置 | |
CN106506858B (zh) | 星轨预测方法及装置 | |
CN105872606B (zh) | 视频定位方法及装置 | |
CN105808659A (zh) | 移动终端及其网页截图方法 | |
CN105094543B (zh) | 终端操作指令输入方法及装置 | |
CN106303088A (zh) | 提示调节方法及移动终端 | |
CN104951514A (zh) | 音频播放方法及装置 | |
CN106776017A (zh) | 一种清理应用内存和垃圾的装置及方法 | |
CN106909681A (zh) | 一种信息处理方法及其装置 | |
CN106406737A (zh) | 一种屏幕操作方法、装置和一种移动终端 | |
CN109033263A (zh) | 一种应用推荐方法及终端 | |
CN106569701A (zh) | 显示终端控制装置及方法 | |
CN106406733A (zh) | 防误触终端及方法 | |
CN106100968A (zh) | 一种信息分享方法及终端 | |
CN106095072B (zh) | 一种控制方法、智能设备及服务器 | |
CN105302441B (zh) | 一种屏幕尺寸调节方法和终端设备 | |
CN107426282A (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 |