CN103544977A - 基于触摸控制的视频定位装置和方法 - Google Patents
基于触摸控制的视频定位装置和方法 Download PDFInfo
- Publication number
- CN103544977A CN103544977A CN201210246563.XA CN201210246563A CN103544977A CN 103544977 A CN103544977 A CN 103544977A CN 201210246563 A CN201210246563 A CN 201210246563A CN 103544977 A CN103544977 A CN 103544977A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- touch
- data
- controller
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03547—Touch pads, in which fingers can move on a surface
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/005—Reproducing at a different information rate from the information rate of recording
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
提供了一种基于触摸控制的视频定位装置和方法,所述视频定位装置包括:触摸感知模块,接收用户的触摸输入并产生触摸信号;索引器,存储视频数据的视频帧的时间信息和偏移量信息的索引列表;控制器,根据触摸操作的触摸速度、触摸长度和触摸方向确定视频定位的模式,计算要显示的视频帧的时间信息和帧率;推送器,根据偏移量信息读取视频帧数据,并将读取的视频帧数据推送到解码器;解码器,维护待解码的视频帧数据的缓冲队列,对缓冲队列中的视频帧数据进行解码,并将解码的视频帧数据推送到帧缓存控制器;帧缓存控制器,根据当前视频帧的时间信息和帧率确定显示当前视频帧的时间。
Description
技术领域
本申请涉及触摸控制领域,更具体地,涉及一种基于触摸控制的视频定位装置和该装置的视频定位方法。
背景技术
在现有的视频播放技术中,通常通过提供带有按钮的遥控器来实现视频播放的控制。现有的DVD播放器或电视的遥控器可包括各种按钮,例如,播放、停止、暂停、快进、快退、慢进、慢退等选项,基本上可以满足用户需求。而随着触摸屏遥控器和各种触摸屏设备的大量出现,存在开发基于触摸控制的视频帧快速定位的需求。对于一般的手持触摸屏多媒体设备,通常提供了两种帧搜索方式:1、在视频播放的界面中将拖动滑块到特定的时间点,然后视频定位到特定的时间点的视频帧;2、首先产生全局范围的等时间间隔的缩略图,用户通过手指触摸定位到特定的缩略图,然后以该缩略图为中心展开成粒度更细的视频帧序列缩略图,最后再定位到其中一个缩略图,这样主视频就可以跳到与此缩略图相对应的视频帧。
然而,现有的触摸控制视频定位的技术方案没有充分利用触摸屏特点:即,能够感知到手指在触摸屏上的触摸速度与长度。如何解决将触摸信号转换成控制信号,是用户界面(UI)开发与视频开发中的关键问题。目前最普遍的方案是,在图形用户界面(GUI)中显示出各种控制按钮、进度条等,用户点击或者拖动相应UI控件的方式来实现视频控制。这种方案并没有用到触摸的速度信号,而且触摸点固定,大大降低了用户界面的友好性。
发明内容
本发明克服了现有技术中的缺点,提供一种灵活的基于触摸控制的视频定位方法。本发明通过触摸屏采集用户的触摸操作的方向和触摸操作的长度和速度,结合当前视频播放状态并考虑用户在触摸控制操作中表现的情绪因素,动态改变视频的播放方式以达到快速定位到感兴趣区域的目的。为了实现该功能,本发明在接收到触摸信号后计算出需要显示输出的视频帧序列,并通过查询视频帧索引列表中的信息获取相关帧的文件偏移量,然后将视频帧数据传送到解码器,在解码器中解码之后的视频帧数据由帧缓存控制器接管并按照设定的帧速率被显示。
根据本发明的一方面,提供了一种基于触摸控制的视频定位装置,包括:触摸感知模块,接收用户的触摸输入并产生触摸信号;索引器,存储视频数据的视频帧的时间信息和偏移量信息的索引列表;控制器,根据触摸操作的触摸速度、触摸长度和触摸方向确定视频定位的模式,计算要显示的视频帧的时间信息和帧率,并输出数据推送器、解码器和帧缓存控制器的控制信号;数据推送器,基于索引列表获得视频帧的偏移量信息,根据偏移量信息读取视频帧数据,并将读取的视频帧数据推送到解码器;解码器,维护待解码的视频帧数据的缓冲队列,对缓冲队列中的视频帧数据进行解码,并将解码的视频帧数据推送到帧缓存控制器;帧缓存控制器,保存解码的视频帧数据,根据当前视频帧的时间信息和帧率确定显示当前视频帧的时间。
根据本发明的一方面,对视频帧的定位模式包括:阻尼效果的快进模式、阻尼效果的快退模式和逐帧搜索模式。
根据本发明的一方面,推送器为每个触摸操作创建一个视频帧数据的推送线程,根据视频过渡平滑原则选择性地将视频帧数据推送到解码器。
根据本发明的一方面,解码器根据视频过渡平滑原则对推送器所推送的视频帧数据进行选择性的解码。
根据本发明的一方面,帧缓存控制器过滤时间上过渡不平滑的视频帧数据。
根据本发明的一方面,在快进模式下,控制器将视频定位装置的工作模式设置为仅对GOP中的关键帧进行解码的只解关键帧模式,在只解关键帧模式下,控制器将帧率设置为固定值,并根据以下的公式来计算将要显示在屏幕上的关键帧的时间点:
N=nTouchLength/nTouchVelocity,
Xn=1...N=Xn-1+(N-n)×nTouchVelocity×nTouchWeight
其中,nTouchvelocity表示触摸速度,nTouchLength表示触摸长度,nTouchWeight表示调整触摸控制的权值,Xn=l...n表示将要显示在屏幕上的关键帧时间点,X0表示开始快进之前的时间点。
根据本发明的一方面,在快进模式中,控制器将视频定位装置的工作模式设置为对GOP中的所有帧进行解码的全解模式,并根据以下等式设置帧率:
其中,StartRateFulln和EndRateFulln分别表示开始与结束触摸动作时的帧率,FR表示正常播放帧率,N为全解模式下带阻尼效果的帧数。
根据本发明的一方面,在逐帧搜索模式下,如果是逐帧前进,则控制器控制帧缓存控制器中增加的帧数是固定步长,如果是逐帧后退,则控制器控制帧缓存控制器中增加的帧数是一个GOP的所有帧数。
根据本发明的一方面,在快退模式下,如果控制器确定不满足(Icount+Pcount+l)*Iresolution<FrameBufferSize,则控制解码器按照尽量解码的原则对GOP中的视频帧进行解码,其中,Icount表示GOP中的I帧的个数,Pcount表示GOP中P帧的个数,其中“l”表示B帧的个数,Iresolution表示I帧的分辨率,FrameBufferSize表示帧缓存控制器的存储空间大小。
根据本发明的一方面,还提供了一种基于触摸控制的视频定位方法,包括:(a)接收用户的触摸输入并产生触摸信号;(b)根据触摸操作的触摸速度、触摸长度和触摸方向来计算要显示的视频帧的时间信息和帧率;(c)基于索引列表获得视频帧的偏移量信息,根据偏移量信息读取视频帧数据,并推送读取的视频帧数据以进行解码;(d)维护待解码的视频帧数据的缓冲队列,对缓冲队列中的视频帧数据进行解码;(e)缓存解码的视频帧数据,根据当前视频帧的时间信息和帧率确定显示当前视频帧的时间。
根据本发明的另一方面,在所述基于触摸控制的视频定位方法中,在步骤(c),为每个触摸操作创建一个视频帧数据的推送线程,并根据视频过渡平滑原则选择性地将视频帧数据推送到解码器。
根据本发明的另一方面,在所述基于触摸控制的视频定位方法中,在步骤(d)中,根据视频过渡平滑原则对步骤(c)推送的视频帧数据进行选择性的解码。
根据本发明的另一方面,在所述基于触摸控制的视频定位方法中,在步骤(e)中,过滤时间上过渡不平滑的视频帧数据。
根据本发明的另一方面,在所述基于触摸控制的视频定位方法中,如果在步骤(b)确定是快进模式,则将帧率设置为固定值并在步骤(d)仅对GOP中的关键帧进行解码,并根据以下的公式来计算将要显示在屏幕上的关键帧的时间点:
N=nTouchLength/nTouchVelocity,
Xn=1...N=Xn-1+(N-n)×nTouchVelocity×nTouchWeight
其中,nTouchvelocity表示触摸速度,nTouchLength表示触摸长度,nTouchWeight表示用于调整触摸控制的权值,Xn=l...n表示将要显示在屏幕上的关键帧时间点,X0表示开始快进之前的时间点。
根据本发明的另一方面,在所述基于触摸控制的视频定位方法中,在步骤(b)将帧率设置为变化值,并在步骤(d)对GOP中的所有视频帧进行解码,其中,根据以下等式设置帧率:
其中,StartRateFulln和EndRateFulln分别表示开始与结束触摸动作时的帧率,FR表示正常播放帧率,N为将被解码的帧数。
根据本发明的另一方面,在所述基于触摸控制的视频定位方法中,在步骤(b)确定是逐帧搜索模式的情况下,如果是逐帧前进,则在步骤(e)以固定步长的帧数增加缓存的视频帧,如果是逐帧后退,则在步骤(e)将缓存的视频帧的帧数增加一个GOP的所有帧数。
根据本发明的另一方面,在所述基于触摸控制的视频定位方法中,在步骤(b)确定是快退模式的情况下,如果不满足(Icount+Pcount+l)*Iresolution<FrameBufferSize,则在步骤(d)按照尽量解码的原则对GOP中的视频帧进行解码,其中,Icount表示GOP中的I帧的个数,Pcount表示GOP中P帧的个数,其中“l”表示B帧的个数,Iresolution表示I帧的分辨率,FrameBufferSize表示帧缓存控制器的存储空间大小。
附图说明
通过下面结合示例性地示出一例的附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1是示出根据本发明实施例的基于触摸控制的视频定位装置的结构框图;
图2是根据本发明实施例的基于触摸控制的视频定位方法的阻尼快进方式的流程图;
图3是根据本发明实施例的基于触摸控制的视频定位方法的阻尼快进方式下的视频帧序列的示图;
图4是根据本发明实施例的基于触摸控制的视频定位方法的阻尼快退方式下的视频帧序列的示图;
图5示出根据本发明实施例的逆向全解模式下的画面组(GOP)中的帧顺序;
图6是示出根据本发明实施例的基于触摸控制的视频定位方法的逐帧搜索方式下的视频帧序列的示图;
图7是示出根据本发明实施例的基于触摸控制的视频定位方法的逐帧搜索模式下的帧替换规则的示图;
图8是示出根据本发明实施例的基于触摸控制的视频定位方法的逐帧搜索模式的流程图。
具体实施方式
以下,参照附图来详细说明本发明的实施例。应理解,以下的实施例仅仅是示意性的,可具有符合本发明构思的多种可行的实施方式。
参照图1,根据本发明实施例的基于触摸控制的视频定位装置100包括:触摸感知模块110、索引器120、推送器130、解码器140、帧缓存控制器150、存储单元160、渲染单元170和控制器180。
触摸感知模块110典型的可分为两类,一类是集成显示和触摸屏功能的电子设备的触摸屏显示单元,例如,手机、音乐播放器等的触摸屏。另一类是仅包括触摸传感器本身,例如,个人电脑(PC)的触摸板,电视的触摸遥控器等。触摸感知模块110可感测用户施加的触摸操作并产生触摸信号,然后将产生的触摸信号发送给控制器180。这里,触摸信号通常包括与触摸操作的触摸速度、触摸长度和触摸方向有关的信息,控制器180可根据触摸操作的触摸速度、触摸长度和触摸方向来确定用户想要进行的视频定位的模式,并且计算出要显示的视频帧的时间信息和帧率。这里,根据本发明,可实现阻尼效果的快进模式,阻尼效果的快退模式以及逐帧搜索模式。时间信息可以是视频帧的时间戳。
索引器120中存储了视频数据的视频帧的时间信息和偏移量信息的索引列表。由于视频快速定位具有很高的性能要求,所以视频定位装置被要求能够快速定位的视频数据至少必须有对应的关键帧级别的索引列表,这样,在视频的快进快退中,可以通过索引器的索引列表快速至少获得与时间信息对应的关键帧的偏移量信息。
控制器180在计算出要显示的视频帧的时间信息和帧率之后,将时间信息发送给推送器130。推送器130根据索引器120中存储的索引列表查找与时间戳信息对应的视频帧的偏移量,根据偏移量从存储单元160中读取对应的视频帧数据,然后将读取的视频帧数据推送到解码器140。对于用户输入的每个滑动屏幕的触摸操作,推送器130创建一个推送线程,这样按触摸操作区分开的数据流可以被选择性地推送到解码器140。在将视频帧数据推送到解码器140之前,推送器130可按照视频过渡平滑性的原则,舍弃掉一些不需要推送到解码器140的视频帧数据。等到整个视频定位的搜索过程结束,推送器130返回到正常播放的推送模式。
解码器140维护待解码的视频帧数据的缓冲队列,对缓冲队列中的视频帧数据进行解码,并将解码的视频帧数据推送到帧缓存控制器150。缓冲队列中的视频帧数据的基本单元是画面组(GOP)。其中,GOP可以只包含一个关键帧的数据,或者可包含整个GOP的数据。缓冲队列可以是指向待解码的每个推送线程的视频数据。解码器140可控制解码速率,既不能按最大解码能力的解码速率来对视频帧数据进行解码,同时也需要保证解码后的视频帧数据能够完全能够满足视频定位和显示的需要,不出现断续的情况。解码器140需要尽量避免解码后的视频帧数据被帧缓存控制器150所丢弃,而同时如果解码的视频帧数据过多,则会消耗掉过多的内存资源以及解码器140的解码反应速度。也就是说,解码器140根据视频过渡平滑原则对推送器130所推送的视频帧数据进行选择性的解码。
帧缓存控制器150基于视频帧显示过渡平滑的原则,根据控制器180所计算的当前视频帧的时间信息值以及帧率值,与系统时间比对以确定何时显示该视频帧。帧缓存控制器150还可适当丢弃已经解码但是不符合过渡平滑原则的视频帧数据。
控制器180除了执行上述的计算要显示的视频帧的时间信息和帧率的操作之外,还可输出控制信息以控制推送器130、解码器140和帧缓存控制器150的操作。例如,控制器180输出给推送器130的控制信息可包括:关键帧的时间信息、以及关于触摸操作是否为一个新的触摸滑动动作;输出给解码器140的控制信息可包括用于指示解码方式以及开始/停止解码的信息;输出给帧缓存控制器150的信息可包括:视频帧的显示速率、显示模式、逐帧全解模式的前向步长等信息。
存储单元160用于存储视频数据。渲染单元170用于渲染视频数据。可采用现有技术中的存储单元和渲染单元来实现根据本发明的视频定位装置中的存储单元160和渲染单元170。另外,应理解,虽然在本实施例中将存储单元和渲染单元与视频定位装置的其它部件实现在一起,但是也可以将存储单元和渲染单元与视频定位装置分离地实现。
下面将参照图2至图6来详细说明根据本发明实施例的视频定位装置实现视频定位的操作方法。以下,按照阻尼快进、阻尼快退和逐帧搜索三种方式来对本发明的视频定位方法进行说明,然而,应理解,本发明的视频定位装置和方法不限于以下三种定位方式。
图2是根据本发明实施例的基于触摸控制的视频定位方法的阻尼快进方式的流程图。图3是是根据本发明实施例的基于触摸控制的视频定位方法的阻尼快进方式下的视频帧序列的示图。
当用户连续不停在触摸屏或触摸板上滑动时,触摸感知模块110会连续产生触摸信号,该触摸信号包括三个信号值:触摸速度、触摸长度和触摸方向。在本实施例中,当用户连续向右滑动触摸屏时,控制器180可根据触摸感知模块110发送过来的触摸信号确定用户想要进行快进操作(S210)。然后,在操作S220,控制器180计算出将要显示在屏幕上的视频帧的时间点。在快进的开始阶段,可仅显示关键帧。可根据以下公式1和公式2来计算关键帧的时间点。
N=nTouchLength/nTouchVelocity 公式1
Xn=l...N=Xn-1+(N-n)×nTouchVelocity×nTouchWeight 公式2
在公式1和公式2中,nTouchvelocity表示触摸速度,nTouchLength表示触摸长度,nTouchWeight表示调整触摸控制的权值,其用于控制触摸操作的步长。根据本发明的实施例,在启动快进之前,用户可以按住触摸屏向上向下以调整触摸控制的权值,该值的大小可影响快进速度的快慢。这样,如果在长时间视频中进行快进,则可频繁地设置nTouchWeight来灵活地在全局搜索和局部搜索之间进行切换。公式1中的N表示将要显示在屏幕上的关键帧数。公式2中的Xn=1...n表示在屏幕上的时间点。X0表示开始快进之前的时间点。如图3所示,前4个关键帧的时间点为01:00、01:30、01:45、01:50,从01:51开始,一共有16个帧(阴影表示)为两倍速完全解码,最后进入正常速度解码。通过以上的视频帧的显示方式,可产生阻尼效果的快进。通过以上方式,可抽取视频帧来实现阻尼效果。
此外,当控制器180接收到连续不间断的高频率快进操作时,表示用户想要跳过这段视频,可以动态加大Xn=l...n帧间步长来调整每次滑动所能跳过的时间。通过调整nTouchWeight来实现这一目标。
接下来,在控制器180计算出待显示的视频帧的时间点后,在步骤S230,将视频帧的时间信息发送到推送器130,从而推送器130基于存储的索引列表获得视频帧的偏移量信息,根据偏移量信息读取视频帧数据,并将读取的视频帧数据推送到解码器140。这里,推送器130首先清除用于正常播放的全解码缓冲器(未示出)中的数据,然后启动一个新线程,解码器140之后所处理的数据都从该新线程中获取。该新线程将帧时间作为参数传给索引器120,索引器120返回特定帧在文件中的偏移量以及帧大小。以上操作可由以下的公式3和公式4表示:
FrameOffset=Foffset(Xn) 公式3
FrameSize=Fsize(Xn) 公式4
FrameOffset指的是视频帧在文件中的偏移量,FrameSize指的是视频帧的大小。具体算法可根据索引器120中的关键帧的存储方式而决定。当推送器130获取到视频帧数据时,将其放到新线程所维护的帧数据列表中。当解码器140需要数据时,从新线程中提取一帧数据。
然后,在步骤S240,解码器140对视频帧数据解码,并将解码后的视频帧数据放到帧缓存控制器150中。每一个滑动动作都对应一个新线程,每个线程又都维护一套帧缓存数据列表。解码过后的帧数据从该列表中删除,这样在每个列表最前面的数据就是下一个需要送到解码器140的数据。当解码器140发现有两个或者两个以上数据列表存在时,就比较每个列表最前面的帧的时间点。通常,与前一个列表对应的在屏幕上滑动的时间点早于后一个列表的时间点。如果解码器140发现从后一个列表中读取的最前面的帧数据的时间点早于在前一个列表中的帧数据时间点,则解码器140读取后一个列表中的数据并且通知推送器130将前一个列表中的数据删除掉,这样就保证不会出现时间点靠后的帧在前面显示的问题。当快进模式中的关键帧都被解码之后,推送器130又会回到之前的正常播放的推送模式。
最后,在步骤S250,帧缓存控制器150保存解码的视频帧数据,根据当前视频帧的时间信息和帧率确定显示当前视频帧的时间。帧缓存控制器150可根据平滑过渡原则丢弃已经解码的但不符合过渡平滑原则的视频帧。
具体地,解码器140将解码的视频帧数据推送到帧缓存控制器150,帧缓存控制器150维护一个以PTS时间戳作为标记的解码后的视频帧队列。如果该视频帧队列中前后两帧间的帧间间隔变大,且最小帧间间隔小于最大帧间间隔时,则帧缓存控制器150删除最小帧间间隔中的后一帧视频。在删除之后,如果依然会出现视频帧的帧间间隔过小的情况,则依次删除之。这样就保证帧间间隔尽量平滑,如公式5所示:
其中,Fx是序号为x的帧的PTS值,Interx是序号为x的帧与前一帧之间的帧间间隔。满足公式5的帧都要被舍弃。根据本发明的视频定位装置可以工作在两种模式,一种是只解I帧模式,另一种是全解模式。通过控制器180将工作模式设置成其中一种模式。在只解I帧模式中,可将帧率设置成固定值,从而通过帧间间隔的变化来达到阻尼效果,如以下的公式6所示:
RateI=6 公式6
这里,RateI指的是关键帧的帧率,6仅仅是一个示例,可采用其它值作为关键帧的帧率。
接下来,当从关键帧阶段过渡到帧全解阶段时,定义第一个GOP或者更多的帧为两倍速全解。可通过设置帧缓存控制器150的帧率来控制实现阻尼效果。也就是说,在全解模式中,可以设置变化的帧率,以达到平滑过渡的目的。
这里,StartRateFulln和EndRateFulln分别表示开始与结束触摸动作时的帧率,FR表示正常播放帧率。如公式8所示,假定正常播放帧率为29.97,N为全解模式下被解码的帧数,可以看出,帧率形成了一个逐步降低且趋近于正常播放帧率的过程。在正常播放模式变换为快进模式时,帧缓存控制器150中还保留着很多未显示的帧。为了过渡平滑且兼容逐帧播放模式,如公式8所示,假定正常播放帧率为29.97,N为全解带阻尼效果的帧数,帧率形成了一个逐步增加且趋近于2倍速播放的过程。这里的兼容逐帧播放模式的原因是:从用户触摸动作开始到触摸动作结束需要一段时间,在当中的任意时刻无法预测是采用的快进方式还是逐帧播放方式。采用递增帧率的方式可以在预测错误的情况下迅速回到逐帧播放方式。在硬件不支持平滑过渡的情况下,可以如图3所示,只分2倍速播放模式和正常播放模式。
应理解,以上仅仅是实现阻尼效果的一种实施方式,本领域的技术人员可采用其它的计算方法来得到具有阻尼效果的快进方式。
图4是根据本发明实施例的基于触摸控制的视频定位方法的阻尼快退方式下的视频帧序列的示图。根据本发明的阻尼效果的快退的具体实现方式与快进方式基本相同。根据本发明的带阻尼效果的快退需要实现一个逆向全解GOP的处理。如图4所示,前4个关键帧的时间点为01:00、00:30、00:15、00:10,从00:09开始,一共有16个帧(阴影表示)为两倍速完全解码,最后进入正常速度解码。通过以上的视频帧的显示方式,可产生阻尼效果的快退。
需要注意的是,由于受到GOP组织方式的限制,解码器140可能不能实现后退方式的全解,或者帧缓存控制器150放不下解码完的整个GOP的数据,所以在做每一次的逐帧倒退时都需要检查一下当前GOP的大小。可使用以下的公式9来进行检查。
(Icount+Pcount+1)*Iresolution<FrameBufferSize 公式9
公式9规定了帧缓存控制器150最小的存储空间大小。Icount为GOP中的I帧的个数,Pcount为GOP中P帧的个数,其中“1”为B帧的个数,Iresolution为I帧的分辨率,FrameBufferSize表示帧缓存控制器的存储空间大小。对于高清视频而言,每帧的大小为1952*1088*1.5=3.04MB,如果采用H.264格式进行编码,则正常情况下P帧不会超过20帧,所以满足正常使用的帧缓存大小至少为22*3.04=66.88MB。
同时为了确保GOP倒退逐帧过渡的平滑性,在进入GOP全解模式前,需要确保帧缓存控制器150中有足够多的缓冲I帧。对于解码器解码顺序,按照以最小代价解出GOP中的最后一帧的目的来安排解码顺序。
图5示出根据本发明实施例的逆向全解模式下的画面组(GOP)中的帧顺序。如图5所示,首先解出I帧,然后按顺序解出所有P帧,然后再按照逆序所有的B帧。如果帧缓存控制器150的存储空间大小达不到公式9中所规定的要求,即按照尽量解码的原则解出足够多的视频帧。以图5为例,可行的方案是解出图5中的(1)(2)(3)帧,然后从(3)帧开始往前倒序解码。
下面将参照图6至图8来说明根据本发明实施例的视频定位装置在逐帧搜索模式下的视频定位处理。
图6示出了逐帧搜索模式下的帧序列。在逐帧搜索模式下,显示了时间点为00:59、01:00和01:01的视频帧。逐帧搜索对视频定位系统性能的要求较高,视频定位系统应工作在自由运行模式,即,视频帧的解码和显示不依靠PTS与STC值的比对。对于无法快速预测用户搜索的方向性的问题,本发明提供了如下的设计原则:当向一个方向逐帧移动时,帧缓存控制器150中至少要保留后续有5帧可用,如果不足5帧,则启动推送器130和解码器140生成帧数据,帧数据的生成方式可参考快退方式中对待全解模式的方法。
帧缓存控制器150中的帧的替换规则可以参考图7。假设帧缓存控制器150可以容纳两个GOP的数据,当前显示帧的PTS值位于所有帧的中间,即还没有达到触发推送器130和解码器140工作的条件,则由帧缓存控制器150将已经存在于缓存中的一个视频帧数据推送至渲染引擎。如果达到触发条件,可分两种情况加以考虑:1、在前进模式中:将帧缓存控制器150中增加的帧数设置为固定值,例如,4(IBBP)帧,7(IBBPBBP)帧等等。这是在充分考虑到GOP的组织方式后的经验值,并且新增的帧需要覆盖掉PTS最小的帧;2、在后退模式中,帧缓存控制器150中增加的帧数是一个GOP里所有的帧数,新增的帧需要覆盖掉PTS最大的帧。也就是说,在前进模式中采用固定步长,而在后退模式中以GOP作为单位。
图8示出了根据本发明实施例的基于触摸控制的视频定位方法的逐帧搜索模式的流程图。如果触摸控制是回退一帧,则在步骤S810,控制器180确定在帧缓存控制器150中是否存在先前的5帧数据。如果确定存在先前的5帧数据,则进行到步骤S870,帧缓存控制器150将一帧数据提供给渲染引擎。如果在步骤S810确定帧缓存控制器150中没有先前的5帧数据,则在步骤S820,控制器180确定解码器140是否支持逐帧回退的全解码模式。如果支持,则解码器140对GOP进行全解码,然后进行到步骤S870以将解码的帧提供给渲染引擎。如果解码器140不支持全解码,则在步骤S840,仅对I帧进行解码,或者仅对I帧和P帧进行解码,然后进行到步骤S870以将解码的帧提供给渲染引擎。
如果触摸控制是前进一帧,则在步骤S850,控制器180确定在帧缓存控制器150中存在后面的5帧数据,然后在步骤S860,解码器140对固定数量的视频帧数据进行解码。接下来,进行到步骤S870以将解码的帧提供给渲染引擎。最后在步骤S880,由渲染引擎渲染视频帧。
根据本发明,可更加灵活地控制视频帧的定位方式,可根据用户的期望动态地调整定位中的帧间步长,并且还能够实现逐帧的视频搜索。
尽管已经参照本发明的实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。
Claims (18)
1.一种基于触摸控制的视频定位装置,包括:
触摸感知模块,接收用户的触摸输入并产生触摸信号;
索引器,存储视频数据的视频帧的时间信息和偏移量信息的索引列表;
控制器,根据触摸操作的触摸速度、触摸长度和触摸方向确定视频定位的模式,计算要显示的视频帧的时间信息和帧率,并输出数据推送器、解码器和帧缓存控制器的控制信号;
推送器,基于索引列表获得视频帧的偏移量信息,根据偏移量信息读取视频帧数据,并将读取的视频帧数据推送到解码器;
解码器,维护待解码的视频帧数据的缓冲队列,对缓冲队列中的视频帧数据进行解码,并将解码的视频帧数据推送到帧缓存控制器;
帧缓存控制器,保存解码的视频帧数据,根据当前视频帧的时间信息和帧率确定显示当前视频帧的时间。
2.如权利要求1所述的视频帧定位装置,其中,对视频帧的定位模式包括:阻尼效果的快进模式、阻尼效果的快退模式和逐帧搜索模式。
3.如权利要求1所述的视频帧定位装置,其中,推送器为每个触摸操作创建一个视频帧数据的推送线程,根据视频过渡平滑原则选择性地将视频帧数据推送到解码器。
4.如权利要求1所述的视频帧定位装置,其中,解码器根据视频过渡平滑原则对推送器所推送的视频帧数据进行选择性的解码。
5.如权利要求1所述的视频帧定位装置,其中,帧缓存控制器过滤时间上过渡不平滑的视频帧数据。
6.如权利要求1所述的视频帧定位装置,其中,在快进模式下,控制器将视频定位装置的工作模式设置为仅对GOP中的关键帧进行解码的只解关键帧模式,在只解关键帧模式下,控制器将帧率设置为固定值,并根据以下的公式来计算将要显示在屏幕上的关键帧的时间点:
N=nTouchLength/nTouchVelocity,
Xn=1..N=Xn-1+(N-n)×nTouchVelocity×nTouchWeight
其中,nTouchvelocity表示触摸速度,nTouchLength表示触摸长度,nTouchWeight表示调整触摸控制的权值,Xn=l...n表示将要显示在屏幕上的关键帧时间点,X0表示开始快进之前的时间点。
7.如权利要求1所述的视频帧定位装置,其中,在快进模式中,控制器将视频定位装置的工作模式设置为对GOP中的所有帧进行解码的全解模式,并根据以下等式设置帧率:
其中,StartRateFulln和EndRateFulln分别表示开始与结束触摸动作时的帧率,FR表示正常播放帧率,N为全解模式下带阻尼效果的帧数。
8.如权利要求1所述的视频帧定位装置,其中,在逐帧搜索模式下,如果是逐帧前进,则控制器控制帧缓存控制器中增加的帧数是固定步长,如果是逐帧后退,则控制器控制帧缓存控制器中增加的帧数是一个GOP的所有帧数。
9.如权利要求1所述的视频帧定位装置,其中,在快退模式下,如果控制器确定不满足(Icount+Pcount+l)*Iresolution<FrameBufferSize,则控制解码器按照尽量解码的原则对GOP中的视频帧进行解码,
其中,Icount表示GOP中的I帧的个数,Pcount表示GOP中P帧的个数,其中“l”表示B帧的个数,Iresolution表示I帧的分辨率,FrameBufferSize表示帧缓存控制器的存储空间大小。
10.一种基于触摸控制的视频定位方法,包括:
(a)接收用户的触摸输入并产生触摸信号;
(b)根据触摸操作的触摸速度、触摸长度和触摸方向来计算要显示的视频帧的时间信息和帧率;
(c)基于索引列表获得视频帧的偏移量信息,根据偏移量信息读取视频帧数据,并推送读取的视频帧数据以进行解码;
(d)维护待解码的视频帧数据的缓冲队列,对缓冲队列中的视频帧数据进行解码;
(e)缓存解码的视频帧数据,根据当前视频帧的时间信息和帧率确定显示当前视频帧的时间。
11.如权利要求10所述的视频定位方法,其中,对视频帧的定位模式包括:阻尼效果的快进模式、阻尼效果的快退模式和逐帧搜索模式。
12.如权利要求10所述的视频帧定位方法,其中,在步骤(c),为每个触摸操作创建一个视频帧数据的推送线程,并根据视频过渡平滑原则选择性地将视频帧数据推送到解码器。
13.如权利要求10所述的视频帧定位方法,其中,在步骤(d)中,根据视频过渡平滑原则对步骤(c)推送的视频帧数据进行选择性的解码。
14.如权利要求10所述的视频帧定位方法,其中,在步骤(e)中,过滤时间上过渡不平滑的视频帧数据。
15.如权利要求10所述的视频帧定位方法,其中,如果在步骤(b)确定是快进模式,则将帧率设置为固定值并在步骤(d)仅对GOP中的关键帧进行解码,并根据以下的公式来计算将要显示在屏幕上的关键帧的时间点:
N=nTouchLength/nTouchVelocity,
Xn=1...N=Xn-1+(N-n)×nTouchVelocity×nTouchWeight
其中,nTouchvelocity表示触摸速度,nTouchLength表示触摸长度,nTouchWeight表示用于调整触摸控制的权值,Xn=l...n表示将要显示在屏幕上的关键帧时间点,X0表示开始快进之前的时间点。
16.如权利要求10所述的视频帧定位方法,其中,在步骤(b)将帧率设置为变化值,并在步骤(d)对GOP中的所有视频帧进行解码,其中,在步骤(b)根据以下等式来变化地设置帧率:
其中,StartRateFulln和EndRateFulln分别表示开始与结束触摸动作时的帧率,FR表示正常播放帧率,N为将被解码的帧数。
17.如权利要求10所述的视频帧定位方法,其中,在步骤(b)确定是逐帧搜索模式的情况下,如果是逐帧前进,则在步骤(e)以固定步长的帧数增加缓存的视频帧,如果是逐帧后退,则在步骤(e)将缓存的视频帧的帧数增加一个GOP的所有帧数。
18.如权利要求10所述的视频帧定位方法,其中,在步骤(b)确定是快退模式的情况下,如果不满足(Icount+Pcount+l)*Iresolution<FrameBufferSize,则在步骤(d)按照尽量解码的原则对GOP中的视频帧进行解码,
其中,Icount表示GOP中的I帧的个数,Pcount表示GOP中P帧的个数,其中“l”表示B帧的个数,Iresolution表示I帧的分辨率,FrameBufferSize表示帧缓存控制器的存储空间大小。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210246563.XA CN103544977B (zh) | 2012-07-16 | 2012-07-16 | 基于触摸控制的视频定位装置和方法 |
KR1020130058380A KR20140010337A (ko) | 2012-07-16 | 2013-05-23 | 전자기기 및 그 제어방법 |
EP13003523.1A EP2687969A3 (en) | 2012-07-16 | 2013-07-12 | Electronic apparatus and control method of the same |
US13/943,434 US20140016910A1 (en) | 2012-07-16 | 2013-07-16 | Electronic apparatus and control method of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210246563.XA CN103544977B (zh) | 2012-07-16 | 2012-07-16 | 基于触摸控制的视频定位装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103544977A true CN103544977A (zh) | 2014-01-29 |
CN103544977B CN103544977B (zh) | 2016-07-20 |
Family
ID=49968365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210246563.XA Active CN103544977B (zh) | 2012-07-16 | 2012-07-16 | 基于触摸控制的视频定位装置和方法 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20140010337A (zh) |
CN (1) | CN103544977B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970272A (zh) * | 2014-04-10 | 2014-08-06 | 北京智谷睿拓技术服务有限公司 | 交互方法、装置及用户设备 |
CN105049955A (zh) * | 2015-07-02 | 2015-11-11 | 浙江工商大学 | 一种实时传屏的方法和系统 |
CN106027942A (zh) * | 2016-05-20 | 2016-10-12 | 广东欧珀移动通信有限公司 | 一种帧率控制方法及装置 |
CN108345415A (zh) * | 2017-01-25 | 2018-07-31 | 辛纳普蒂克斯公司 | 利用对象速度信息的对象追踪 |
CN108650547A (zh) * | 2018-05-09 | 2018-10-12 | 北京奇艺世纪科技有限公司 | 一种视频分享方法、装置及设备 |
CN110460790A (zh) * | 2018-05-02 | 2019-11-15 | 北京视联动力国际信息技术有限公司 | 一种视频帧的抽取方法和装置 |
CN112218174A (zh) * | 2020-09-21 | 2021-01-12 | 烽火通信科技股份有限公司 | 一种多视点视频的切换方法与服务器 |
CN112822522A (zh) * | 2020-12-31 | 2021-05-18 | 北京梧桐车联科技有限责任公司 | 视频播放方法、装置、设备及存储介质 |
CN114390343A (zh) * | 2021-12-31 | 2022-04-22 | 深圳市大头兄弟科技有限公司 | 一种多视频的播放方法及相关设备 |
CN115171241A (zh) * | 2022-06-30 | 2022-10-11 | 南京领行科技股份有限公司 | 一种视频帧定位方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770795A (zh) * | 2009-01-05 | 2010-07-07 | 联想(北京)有限公司 | 一种计算设备及视频播放控制方法 |
CN101980533A (zh) * | 2010-11-12 | 2011-02-23 | 中国华录集团有限公司 | 一种基于索引文件实现传输流文件特技模式功能的方法 |
CN102065320A (zh) * | 2009-11-12 | 2011-05-18 | 三星电子(中国)研发中心 | 用于处理关于ts码流的特技播放命令的方法和设备 |
WO2011074446A1 (ja) * | 2009-12-16 | 2011-06-23 | ソニー株式会社 | 表示制御装置、表示制御方法、プログラム |
CN102265254A (zh) * | 2008-12-26 | 2011-11-30 | 富士胶片株式会社 | 信息显示设备、信息显示方法和记录介质 |
-
2012
- 2012-07-16 CN CN201210246563.XA patent/CN103544977B/zh active Active
-
2013
- 2013-05-23 KR KR1020130058380A patent/KR20140010337A/ko not_active Application Discontinuation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102265254A (zh) * | 2008-12-26 | 2011-11-30 | 富士胶片株式会社 | 信息显示设备、信息显示方法和记录介质 |
CN101770795A (zh) * | 2009-01-05 | 2010-07-07 | 联想(北京)有限公司 | 一种计算设备及视频播放控制方法 |
CN102065320A (zh) * | 2009-11-12 | 2011-05-18 | 三星电子(中国)研发中心 | 用于处理关于ts码流的特技播放命令的方法和设备 |
WO2011074446A1 (ja) * | 2009-12-16 | 2011-06-23 | ソニー株式会社 | 表示制御装置、表示制御方法、プログラム |
CN101980533A (zh) * | 2010-11-12 | 2011-02-23 | 中国华录集团有限公司 | 一种基于索引文件实现传输流文件特技模式功能的方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970272B (zh) * | 2014-04-10 | 2018-04-27 | 北京智谷睿拓技术服务有限公司 | 交互方法、装置及用户设备 |
CN103970272A (zh) * | 2014-04-10 | 2014-08-06 | 北京智谷睿拓技术服务有限公司 | 交互方法、装置及用户设备 |
CN105049955A (zh) * | 2015-07-02 | 2015-11-11 | 浙江工商大学 | 一种实时传屏的方法和系统 |
CN105049955B (zh) * | 2015-07-02 | 2019-02-05 | 浙江工商大学 | 一种实时传屏的方法和系统 |
CN106027942A (zh) * | 2016-05-20 | 2016-10-12 | 广东欧珀移动通信有限公司 | 一种帧率控制方法及装置 |
CN108345415B (zh) * | 2017-01-25 | 2023-06-30 | 豪威Tddi安大略有限合伙公司 | 利用对象速度信息的对象追踪 |
CN108345415A (zh) * | 2017-01-25 | 2018-07-31 | 辛纳普蒂克斯公司 | 利用对象速度信息的对象追踪 |
CN110460790A (zh) * | 2018-05-02 | 2019-11-15 | 北京视联动力国际信息技术有限公司 | 一种视频帧的抽取方法和装置 |
CN108650547A (zh) * | 2018-05-09 | 2018-10-12 | 北京奇艺世纪科技有限公司 | 一种视频分享方法、装置及设备 |
CN112218174A (zh) * | 2020-09-21 | 2021-01-12 | 烽火通信科技股份有限公司 | 一种多视点视频的切换方法与服务器 |
CN112218174B (zh) * | 2020-09-21 | 2022-11-08 | 烽火通信科技股份有限公司 | 一种多视点视频的切换方法与服务器 |
CN112822522B (zh) * | 2020-12-31 | 2023-03-21 | 北京梧桐车联科技有限责任公司 | 视频播放方法、装置、设备及存储介质 |
CN112822522A (zh) * | 2020-12-31 | 2021-05-18 | 北京梧桐车联科技有限责任公司 | 视频播放方法、装置、设备及存储介质 |
CN114390343A (zh) * | 2021-12-31 | 2022-04-22 | 深圳市大头兄弟科技有限公司 | 一种多视频的播放方法及相关设备 |
CN114390343B (zh) * | 2021-12-31 | 2024-06-14 | 深圳市闪剪智能科技有限公司 | 一种多视频的播放方法及相关设备 |
CN115171241A (zh) * | 2022-06-30 | 2022-10-11 | 南京领行科技股份有限公司 | 一种视频帧定位方法、装置、电子设备及存储介质 |
CN115171241B (zh) * | 2022-06-30 | 2024-02-06 | 南京领行科技股份有限公司 | 一种视频帧定位方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103544977B (zh) | 2016-07-20 |
KR20140010337A (ko) | 2014-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103544977B (zh) | 基于触摸控制的视频定位装置和方法 | |
US10705709B2 (en) | Playing media | |
US11733854B2 (en) | Method for generating and reproducing multimedia content, electronic device for performing same, and recording medium in which program for executing same is recorded | |
US10444968B2 (en) | Display control device, display control method, and program | |
US10664120B1 (en) | Media element navigation using a virtual jog wheel | |
US10565288B2 (en) | Video streaming in a web browser | |
EP2687969A2 (en) | Electronic apparatus and control method of the same | |
US9354797B2 (en) | Progress adjustment method and electronic device | |
US8891935B2 (en) | Multi-video rendering for enhancing user interface usability and user experience | |
EP3739895A1 (en) | Media playback | |
US20100064255A1 (en) | Contextual menus in an electronic device | |
US9380345B2 (en) | Immersive scaling interactive television | |
US20130336638A1 (en) | Switching between time order and popularity order sending of video segments | |
WO2018222422A1 (en) | Video splitter | |
EP2472519B1 (en) | Multi-video rendering for enhancing user interface usability and user experience | |
TWI488502B (zh) | 視訊編修方法與視訊編修裝置 | |
US9729919B2 (en) | Remultiplexing bitstreams of encoded video for video playback | |
Schoeffmann et al. | Video navigation on tablets with multi-touch gestures | |
US11163816B2 (en) | System and method for scrolling through media files on touchscreen devices | |
JP2013157061A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US10152215B2 (en) | Setting adjustment range of graphical user interface | |
US20240233767A1 (en) | Method and apparatus for video seeking and playing, terminal device and storage medium | |
US20160378287A1 (en) | System and method for scrolling through media files on touchscreen devices | |
US9047914B1 (en) | Content navigation | |
CN117873360A (zh) | 全景视频的浏览方法、录制方法、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |