CN101854508A - 反向回放编码的多媒体内容的方法和装置 - Google Patents
反向回放编码的多媒体内容的方法和装置 Download PDFInfo
- Publication number
- CN101854508A CN101854508A CN201010155935A CN201010155935A CN101854508A CN 101854508 A CN101854508 A CN 101854508A CN 201010155935 A CN201010155935 A CN 201010155935A CN 201010155935 A CN201010155935 A CN 201010155935A CN 101854508 A CN101854508 A CN 101854508A
- Authority
- CN
- China
- Prior art keywords
- frame
- gop
- decoded
- content
- multimedia
- 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
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Television Signal Processing For Recording (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供用于反向回放编码的多媒体内容的方法和装置。该方法包括:从用户或电子设备接收关于反向回放编码的多媒体内容的请求;从构成编码的多媒体内容的一部分的第一画面组(GOP)中识别在接收到该请求时的最后播放的帧之前的第一内部帧(I帧);解码该第一GOP中从该第一I帧开始的第一连续帧;在存储器中存储第一解码帧;以及以实现反向回放的帧顺序播放所述第一解码帧。
Description
技术领域
本发明一般涉及多媒体通信领域,更具体而言,涉及反向回放(reverseplayback)编码的多媒体内容的方法和装置。
背景技术
在传统操作中,可以使用诸如前进(forward)、跳转(skip)、倒退(reverse)和回放(playback)的功能来操纵媒体播放器中的编码的多媒体内容的回放。回放允许用户按正向运动顺序和反向运动顺序观看编码的多媒体内容。为了回放内容,连续解码编码的多媒体内容的期望数目的帧。然而,由于多媒体内容中比特流的顺序性特性(sequential nature),为了反向回放而对帧进行解码是有问题的,为了实现反向回放,需要对多个帧进行迭代解码。这种迭代解码导致实现反向回放所需的处理和计算时间增加。此外,可能需要将解码的帧连续地存储在存储器中,从而导致存储空间的浪费。
因此,需要一种有效地反向回放编码的多媒体内容的方法和装置。
发明内容
本发明的一方面要解决至少上述问题和/或缺点并提供至少以下描述的优点。因此,本发明的一方面提供用于有效地反向回放编码的多媒体内容的方法和装置。
根据本发明的一方面,提供一种用于反向回放编码的多媒体内容的方法,该方法包括:从用户或电子设备接收关于反向回放编码的多媒体内容的请求;从构成编码的多媒体内容的一部分的第一画面组(GOP)中识别在接收到该请求时的最后播放的帧之前的第一内部帧(I帧);解码该第一GOP中从该第一I帧开始的第一连续帧;在存储器中存储第一解码帧;以及以实现反向回放的帧顺序播放所述第一解码帧。
根据本发明的另一方面,提供一种用于反向回放编码的多媒体内容的装置,该装置包括:处理器,被适配为从构成编码的多媒体内容的第一部分的第一画面组(GOP)中识别在从用户或电子设备接收到关于反向回放的请求时的最后播放的帧之前的第一内部帧(I帧),解码该第一GOP中从该第一I帧开始的第一连续帧,以及以实现反向回放的帧顺序播放第一解码帧;以及存储器,用于存储所述第一解码帧。
根据本发明的另一方面,提供一种存储程序的计算机可读介质,该程序使得处理器执行用于数据处理的过程,该过程包括:从用户或电子设备接收关于反向回放编码的多媒体内容的请求;从第一画面组(GOP)中识别在接收到该请求时的最后播放的帧之前的第一内部帧(I帧),其中该第一GOP构成编码的多媒体内容的一部分;解码该第一GOP中从该第一I帧开始的第一连续帧;在存储器中存储第一解码帧;以及以实现反向回放的帧顺序播放所述第一解码帧。
附图说明
通过以下结合附图的描述,本发明实施例的上述和其他方面、特征和有点将更加清楚。附图中:
图1示出了可用于实现本发明的各种实施例的环境;
图2示出了根据本发明实施例的电子设备;
图3示出了根据本发明实施例的服务器的框图;以及
图4和图5是示出根据本发明实施例的反向回放编码的多媒体内容的方法的流程图。
本领域技术人员将会理解,附图中的元件是为了简化和清楚而示出的,并且可能不是按比例绘出的。例如,为了帮助提高对本公开内容的各种实施例的理解,图中一些元件的尺寸相对于其他元件而言可能被夸大。
具体实施方式
为了帮助全面理解权利要求书及其等效物所定义的本发明的实施例,提供以下参照附图的描述。该描述包括用于帮助理解的各种特定细节,但这些细节应当仅仅被看作示例。因此,本领域普通技术人员将会认识到,可以对这里描述的实施例进行各种改变和修改而不偏离本发明的范围和精神。此外,为清楚和简明起见,省略了对公知功能和构造的描述。
图1示出了可用于实现本发明的各种实施例的环境100。
环境100包括连接到网络110的电子设备105。电子设备105的例子包括但不限于计算机、便携式计算机、移动设备、手持设备、因特网协议(IP)电视、便携式媒体播放器和个人数字助理(PDA)。网络110的例子包括但不限于局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、因特网和小区域网络(Small Area Network,SAN)。电子设备105还通过网络110连接到服务器115。
电子设备105直接地或经由网络110连接到媒体播放器120。媒体播放器120用于回放和显示电子设备105上的编码的多媒体内容。例如,媒体播放器120提供用于回放编码的多媒体内容的图形用户界面(GUI)。经由网络110连接到电子设备105的媒体播放器120的例子包括本领域公知的那些播放器,诸如YouTube播放器、iTunes播放器、MP3播放器和Bearshare播放器。此外,媒体播放器120与定时器单元125同步,该定时器单元125用于在时间间隔内播放编码的多媒体内容。编码的多媒体内容包括但不限于文本、音频、静态图像、动画、视频、可交互内容形式及其组合中的至少一个。
编码的多媒体内容由多个GOP组成。GOP是包括一些或所有帧的部分(section),所述帧被分类为:I帧,表示固定图像;预测帧(P帧),具有与在前的I帧或P帧的运动补偿差(motion-compensated difference)信息;双向预测编码画面(B帧),具有与在前和在后的I帧或P帧的差信息;以及指示编码(DC,Direct coded)画面(D帧),用于快进(即,对编码的多媒体内容进行快速预览)。每个GOP以单个I帧开始,一个或多个P帧、D帧和B帧跟随在该I帧之后。
电子设备105可以在播放多媒体内容的特定时刻经由媒体播放器120接收关于反向回放的请求。在该请求中还可以指定反向回放编码的多媒体内容的回放速度。电子设备105从构成多媒体内容一部分的第一GOP中解码一个或多个帧。然后将解码的帧连续地存储在电子设备105中,并且在时间间隔内以特定的回放速度、按照实现反向回放的帧顺序(即,与正向回放的帧顺序相反的帧顺序)播放解码的帧。在该播放期间,同时解码该多媒体内容的第二GOP中的一个或多个帧。
在一个实施例中,可以通过网络110将关于反向回放的请求发送到服务器115。服务器115接收该请求并解码该多媒体内容的一个或多个帧。所述帧在解码后被连续地存储,并被重新编码,并且在实现反向回放的时间间隔内通过网络110发送到电子设备105。服务器115可以通过网络110或媒体播放器120将编码的多媒体内容发送到电子设备105。
电子设备105包括用于反向回放多媒体内容的多个元件。参照图2来具体解释包括所述元件的电子设备105。
图2示出了根据本发明实施例的电子设备105。电子设备105包括用于传送信息的总线205,以及与总线205耦接用于处理信息的处理器210。电子设备105还包括诸如随机存取存储器(RAM)的存储器215,其耦接到总线205,用于存储处理器210所需的信息。存储器215可以用于存储处理器210所需的临时(temporary)信息。电子设备105还包括只读存储器(ROM)220,其耦接到总线205,用于存储处理器210所需的静态(static)信息。可以提供耦接到总线205用于存储信息的存储单元225,诸如磁盘、硬盘或光盘。
电子设备105可以经由总线205耦接到显示器230,显示器230诸如阴极射线管(CRT)或液晶显示器(LCD),用于显示信息。包括各种键的输入设备235耦接到总线205,用于将信息传送到处理器210。在一些实施例中,还可以提供光标控制器240,诸如鼠标、跟踪球、控制杆(joystick)或光标方向键,用于将信息传送到处理器210,并且用于控制光标在显示器230上的移动。显示器230、输入设备和光标控制器可以被包括在电子设备105中。
在一个实施例中,通过结合处理器210使用电子设备105来执行本发明。可以将信息从诸如存储单元225的机器可读介质读入存储器215中。在可替代实施例中,可以使用硬连线电路来取代软件指令,或者可以将硬连线电路与软件指令组合使用。
术语机器可读介质被定义为一种介质,其将数据提供给机器,以使机器能够执行特定的功能。机器可读介质可以是存储介质。存储介质可以包括非易失性介质和易失性介质。存储单元225可以是非易失性介质。存储器215可以是易失性介质。所有这些介质必须是有形的,以使得由介质承载的指令能够被物理机构检测到,该物理机构将指令读入机器。
机器可读介质的例子包括但不限于软盘(floppy disk)、柔性盘(flexibledisk)、硬盘、磁带、CD-ROM、光盘、穿孔卡片、纸带、RAM、可编程只读存储器(PROM)、电可编程只读存储器(EPROM)和FLASH-EPROM(快闪EPROM)。
机器可读介质还可以包括向处理器210提供信息的在线链接,下载链接和安装链接。
电子设备105还包括耦接到总线205的通信接口245,用于实现数据通信。通信接口245的例子包括但不限于综合业务数字网(ISDN)卡、调制解调器、局域网(LAN)卡、红外端口、蓝牙端口、Zigbee端口和无线端口。媒体播放器120耦接到通信接口245,用于按照实现反向回放的帧顺序播放解码的帧。媒体播放器120与定时器单元125同步,用于在时间间隔内播放解码的帧。
在一些实施例中,电子设备105可以包括媒体播放器120,其可以直接耦接到总线205。媒体播放器120和定时器单元125可以以软件程序或功能模块来实现,所述软件程序或功能模块存储在存储单元225中并由处理器210来执行。
电子设备105可以通过输入设备235从用户接收关于反向回放编码的多媒体内容的请求。多媒体内容存储在存储器215中。此外,该请求被发送到处理器210,以启动反向回放。当接收到该请求时,处理器210从第一GOP中识别在最后播放的帧之前的第一I帧。该第一GOP构成编码的多媒体内容的第一部分。然后,处理器210顺序地解码第一GOP中从该第一I帧开始的一个或多个第一连续帧,并且将一个或多个第一解码帧存储在存储器215中,存储器215是循环队列(circular queue),具有用于存储信息的存储槽(slot)序列。循环队列的单个存储槽存储一个解码帧。所述一个或多个第一解码帧由媒体播放器120按照实现反向回放的帧顺序播放。此外,在由定时器单元125管理的时间间隔内执行所述播放。
在播放第一解码帧的过程中,处理器210同时从第二GOP中识别第二I帧。该第二GOP在第一GOP之前,并且构成编码的多媒体内容的第二部分。此外,从第二GOP中解码该一个或多个第二连续帧,该第二GOP顺序地包括从第二I帧直到恰好在第一I帧之前的帧的一个或多个第二连续帧。与该解码相对应地连续存储第二解码帧,并且在实现该反向回放的时间间隔内播放该第二解码帧。
在一个实施例中,处理器210将第一解码帧和第二解码帧重新编码,并将其按照帧顺序通过网络110发送出去。
在一些实施例中,处理器210可以包括用于执行处理器210的一个或多个功能的一个或多个处理单元,诸如解码器和编码器。所述处理器单元是执行指定功能的硬件电路。
图3示出了根据本发明实施例的服务器115。服务器115包括用于传送信息的总线305,以及与总线305耦接用于处理信息的处理器310。服务器115还包括存储器315,诸如RAM,其耦接到总线205,用于存储处理器310所需的信息。存储器315可以用于存储处理器310所需的临时信息。服务器115还包括耦接到总线305的ROM 320,用于存储处理器310所需的静态信息。可以提供诸如磁盘、硬盘或光盘的存储单元325,并将其耦接到总线305以用于存储信息。
在一个实施例中,通过结合处理器310使用服务器115来执行本发明。可以将信息从诸如存储单元325的机器可读介质读入存储器315中。在可替代实施例中,可以使用硬连线电路来取代软件指令,或者可以将硬连线电路与软件指令组合使用,来实现各种实施例。
服务器存储单元325可以是非易失性介质,而存储器315可以是易失性介质。
机器可读介质还可以包括向处理器310提供信息的在线链接、下载链接和安装链接。
服务器115还包括耦接到总线305的通信接口345,用于实现数据通信。通信接口345的例子包括但不限于ISDN卡、调制解调器、LAN卡、红外端口、蓝牙端口、Zigbee端口和无线端口。媒体播放器120耦接到通信接口345,以用于按照实现反向回放的帧顺序播放解码的帧。媒体播放器120与定时器单元125同步,用于在时间间隔内播放解码的帧。
服务器115可以通过通信接口345接收关于反向回放编码的多媒体内容的请求。多媒体内容存储在存储器315中。该请求被发送到处理器310以启动反向回放。当接收到该请求时,处理器310从第一GOP中识别在最后播放的帧之前的第一I帧。该第一GOP构成编码的多媒体内容的第一部分。然后,处理器310顺序地解码该第一GOP中从该第一I帧开始的一个或多个第一连续帧,并且将一个或多个第一解码帧存储在存储器315中,存储器315是循环队列,包括用于存储信息的存储槽序列。该循环队列的单个存储槽存储一个解码帧。所述第一解码帧被重新编码,并被装入(encapsulate)缓冲器,该缓冲器用于通过网络110将第一解码帧发送到电子设备105。在由定时器单元125管理的时间间隔内按照帧顺序执行所述发送。
在发送第一解码帧的过程中,处理器310同时从第二GOP中识别第二I帧。该第二GOP在第一GOP之前,并且构成编码内容的第二部分。接下来,从该第二GOP解码一个或多个第二连续帧。第二GOP顺序地包括从第二I帧直到恰好在第一I帧之前的帧的一个或多个第二连续帧。与该解码相对应地连续存储所述一个或多个第二解码帧。所述第二解码帧被重新编码,并被装入到缓冲器中,该缓冲器用于通过网络110将第二解码帧连续发送到电子设备。此外,在由定时器单元125管理的预定义时间间隔内按照帧顺序执行所述发送。
在一些实施例中,处理器310可以包括用于执行处理器310的一个或多个功能的一个或多个处理单元,如解码器和编码器。处理单元是执行指定功能的硬件电路。
图4和图5是示出根据本发明实施例的用于反向回放编码的多媒体内容的方法的流程图。
启动对存储在电子设备105中的编码的多媒体内容的回放。
在一些实施例中,可以以流的方式经由网络110从服务器115到电子设备105进行多媒体内容的回放。
在步骤410,接收关于反向回放编码的多媒体内容的请求。编码的多媒体内容可以是一个或多个多媒体文件格式。多媒体文件格式的例子包括但不限于MPEG-1、MPEG-2、MPEG-4、M-JPEG、Ogg、H.261、H.263、H.264、Divx、quicktime、flv和Theora。编码的多媒体内容包括多个GOP。每个GOP以单个I帧开始。一个或多个预测帧(P帧)和双向预测编码画面(B帧)跟随在该I帧之后。
所述请求可以包括但不限于反向回放的期望回放速度(playback speed)。期望回放速度可以对应于回放速度的倍数,例如1x、2x、3x和4x,其中“x”定义了播放多媒体内容的速度。较高倍数的“x”会增加回放速度。
在步骤415,识别在接收所述请求时的最后播放的帧之前的来自第一GOP的第一I帧。
在接收所述请求时的最后播放的帧可以是第一GOP的I帧和P帧之一,该第一GOP构成编码的多媒体内容的一部分。
在步骤420,顺序地解码第一GOP中从第一I帧开始的一个或多个第一连续帧。
所述第一连续帧可以对应于在识别出的第一I帧之后的P帧。
基于可用存储器、回放的帧速率(frame rate)、回放速度、要显示的帧数量以及第一GOP中的帧数量与回放速度之比中的至少一个,来计算第一GOP中要解码的第一连续帧的数量。例如,如果有编号为0至29的30个存储器存储槽(memory slot)可用,并且一个GOP包括15帧,则这15个帧可以被解码。如果GOP包括40帧,可以通过间隔地选择(alternate selection)只解码30个帧。例如,可以选择所述40个帧中以规则的间隔(例如,每隔一帧)周期性地放置的一些帧。在一个实施例中,可以忽略对GOP中最后10帧的解码。
此外,在另一个例子中,如果用于显示帧的帧速率为每秒15帧,并且有15个存储器存储槽可用于存储解码的帧,则每秒可以解码15帧。如果有30个帧要被解码,则立即解码前15帧。暂停对后15帧的解码,直到前15帧中的一些或全部已经被显示为止。
将定位在最后播放的帧的帧控制器重新定位到被取出以用于解码的第一I帧。该帧控制器移转到用于解码的下一连续帧,当帧控制器到达最后播放的帧时解码结束。
在步骤425,与解码相对应地连续存储一个或多个第一解码帧。所述一个或多个第一解码帧对应于第一GOP的帧。
循环队列可以用来存储解码后的帧。循环队列是用于存储信息的数据结构,包括与索引关联的存储槽。单个存储槽存储一个解码帧。存储槽取决于循环队列的大小。例如,大小为15的循环队列可以包括15个存储槽。此外,循环队列包括指向循环队列中最后的存储槽的缓冲器索引。
将一个或多个第一连续解码帧存储在循环队列中。
在本发明的实施例中,确定用于存储一个或多个连续解码帧的循环队列中的起始存储槽。首先,基于第一GOP中第一连续帧的数量,将缓冲器索引从最后一个可用存储槽后退X个存储槽。例如,如果存储槽0到29是可用的,并且第一GOP包括15帧,则缓冲器索引从存储槽29后退15个存储槽。第一GOP的解码的I帧被存储在时隙15。接下来,缓冲器索引前进至到时隙16,随后顺序地存储连续解码的P帧,直到第一GOP的连续帧的末尾。
在存储到循环队列的过程中,可以将时间戳与第一连续解码帧中的每一个解码帧相关联。此外,可以用指示存储器存储槽可用性的标签或元数据来标识循环队列的存储槽。例如,可以用标签将存储器存储槽标识为“使用中”,以指示数据被存储在该存储器存储槽中并正在被使用。
此外,一个或多个第一连续解码帧可以按原始大小存储,或者可以以压缩形式存储,以提高存储器利用率。而且,一个或多个第一连续解码帧可以以索引排列或顺序排列存储在循环队列中。
在一个实施例中,还可以顺序地存储与第一解码帧相关的信息。所述信息包括但不限于时间戳和后处理特征。在播放过程中可以将后处理特征选择性地应用于第一解码帧。后处理特征的例子包括但不限于对比度、颜色和黑白显示。
在步骤430,按照实现反向回放的帧顺序播放所述一个或多个第一解码帧。可以以基于该请求中指定的回放速度的时间间隔或帧速率播放第一解码帧中的每一个。
使用相应的时间戳播放来自循环队列的第一解码帧。
可以使用标记比特或定时器来指示电子设备105开始在时间间隔内显示解码帧。
此外,可以用指示存储器存储槽不可用的标签或元数据来标识循环队列的存储槽。例如,可以用标签将存储器存储槽标识为“非使用中”,以指示该存储器存储槽可用于存储数据。
在一个实施例中,取决于反向回放的期望速度周期性地启动显示。例如,如果解码帧1至15存储在存储器中的存储槽15至29中,则实现反向回放的帧顺序为从29开始到15。因此,存储在存储槽29中的解码帧被首先显示,随后是存储在直到存储槽15的存储器存储槽中的解码帧。
在步骤435,在播放一个或多个第一解码帧的过程中,同时从第二GOP中识别在第一I帧和第一GOP之前的第二I帧。第二GOP构成在第一GOP之前的编码的多媒体内容的另一部分。
在步骤440,解码第二GOP中从第二I帧开始依次到第一I帧的一个或多个第二连续帧。
在该实施例中,当识别出第二I帧时,计算在第二GOP中存在的帧的数量。
基于可用存储器、回放的帧速率、回放速度、要显示的帧的数量以及第一GOP中帧的数量与回放速度之比中的至少一个,计算第二GOP中要被解码的第二连续帧的数量。
例如,如果从0至24的25个存储器存储槽可用,并且在第一GOP中有15帧,在第二GOP中有15帧,则可以解码第一GOP中的15帧和第二GOP中的10帧。第二GOP中的剩余5帧可以通过间隔地选择来解码,或者可以忽略对所述5帧的解码。
此外,在另一个例子中,如果用于显示帧的帧速率是每秒15帧,并且有15个存储器存储槽可用于存储解码帧,则可以解码15帧。如果存在要被解码的来自第一GOP的15帧和来自第二GOP的15帧,则前15帧被立即解码。暂停对接下来的15帧的解码,直到前15帧中的一些或全部已经被显示为止。
帧控制器被重新定位到第二I帧,并且第二I帧被取出用于解码。此外,随着第二连续帧中的每一个被解码,帧控制器移转(shift)到下一个第二连续帧。在以反向回放显示一个或多个第一解码帧时,同时解码第二GOP中的一个或多个第二连续帧。
可以通过从第二GOP中的一个或多个第二连续帧中进行间隔地选择以供解码、以及忽略第二GOP中的该一个或多个第二连续帧中的一个或多个连续帧中的至少一个,来解码该一个或多个第二连续帧。
在一些实施例中,可以暂停对该一个或多个第二连续帧的解码过程,直到阈值数量的一个或多个第一连续帧被显示为止。于是,如果存储在存储器存储槽中的第一解码帧并未正在被显示,或者被以低回放速率显示,则可以暂停该解码过程直到达到该阈值。
在步骤445,取决于第一解码帧的播放与解码相对应地连续存储一个或多个第二解码帧。
基于循环缓冲器队列的可用性,将一个或多个第二解码帧存储在循环队列中。在一些实施例中,可以暂停对一个或多个第二解码帧的存储,直到阈值数量的第一解码帧被播放为止。
在步骤450,在播放第一解码帧之后,随之在实现反向回放的时间间隔内按照帧顺序播放一个或多个第二解码帧。
可以以基于在请求中指定的回放速度的时间间隔或帧速率播放第二解码帧中的每一个解码帧。
使用相应的时间戳从循环队列播放第二解码帧。
可以使用标记比特或定时器来指示电子设备105开始显示。
在本实施例中,取决于反向回放的期望速度,周期性地启动显示。例如,如果第一解码帧1至15存储在存储器中的存储槽15至29中,并且第二解码帧16至30存储在存储器中的存储槽0至14中,则实现反向回放的帧序列为从29开始直到15。因此,首先显示存储在存储槽29中的解码帧,随后是存储在直到15的存储器存储槽中的解码帧。接着,存储在存储槽14中的解码帧被首先显示,随后是存储在直到0的存储器存储槽中的解码帧。
例1
启动媒体内容的回放。考虑包括三个GOP的播放多媒体内容。循环缓冲器队列包括表示为地址‘0’至‘5’的六个地址。每个GOP包括一个I帧和三个P帧。在本例中,GOP中帧的总数量小于循环缓冲器队列的大小。
假设在播放GOP序列中的第11帧时接收到关于反向回放编码的多媒体内容的请求。GOP为GOP‘A’、GOP‘B’和GOP‘C’,它们正在被顺序地播放。如果每个GOP包括4个帧,则对于第11帧,当接收到请求时,来自GOP‘A’和GOP‘B’中每一个的一个I帧和三个P帧以及来自GOP‘C’的一个I帧和两个P帧已经被播放。来自这些GOP的在第11帧之前的第一个I帧被识别出来自GOP‘C’。该I帧和后续的P帧被顺序地解码。当解码该I帧时,指向最后位置的索引从当前地址后退3个地址,即后退到地址‘3’。该I帧被存储在地址‘3’。
当解码后续的P帧时,该地址前进,并且P帧被存储在地址‘4’至地址‘5’,并且地址‘3’至‘5’被标记为使用中。设置标记,以使其指示GOP‘C’可用于显示。解码的GOP‘C’在被存储之后以反向回放显示。此外,随着GOP‘C’的每个帧被显示,与该每个帧相对应的地址被标记为“非使用中”。
同时,在播放GOP‘C’的过程中,同时识别在第一GOP的I帧之前的来自GOP‘B’的I帧。为了存储该I帧,将缓冲器索引后退四个地址到循环缓冲器队列的地址‘2’。随后,解码GOP‘B’的后续的P帧并将其存储在从地址‘3’至地址‘5’的顺序存储空间中。
例2
启动媒体内容的回放。考虑3个GOP的多媒体内容。循环缓冲器队列包括表示为地址‘0’到地址‘5’的六个地址。每个GOP包括1个I帧和8个P帧。在本例中,GOP中的帧的总数量大于循环队列的大小。
假设在播放GOP序列中的第26帧时接收到关于反向回放编码的多媒体内容的请求。GOP为GOP‘A’、GOP‘B’和GOP‘C’,它们正在被顺序播放。如果每个GOP包括9帧,则对于第26帧,当接收到所述请求时来自GOP‘A’和GOP‘B’中每一个的1个I帧和8个P帧以及来自GOP‘C’的1个I帧和7个P帧已经被播放。识别出来自画面组的在第26帧之前的第一个I帧。该I帧和后续的P帧被顺序地解码。当解码该I帧时,指向最后位置的索引从当前地址后退5个地址。由于存储器大小小于GOP‘C’中帧的数量,因此可以每隔一个地使用P帧,例如可以使用帧19、21、23、25和27。这样,缓冲器索引后退5个地址到地址‘1’。该I帧存储在地址‘1’。
当解码随后的P帧时,地址前进,P帧21、23、25和27被存储在地址‘2’到地址‘5’,并且地址‘1’到‘5’被标记为“使用中”。设置标记以使其指示GOP‘C’可用于显示。解码的GOP‘C’在被存储后按照反向回放显示。此外,随着GOP‘C’的每一帧被显示,与每一帧相对应的地址被标记为“非使用中”。
同时,在显示GOP‘C’的过程中,同时识别来自第一GOP的I帧之前的来自GOP‘B’的I帧。为了存储该I帧,缓冲器索引后退循环缓冲器队列的5个地址。然而,只有地址‘0’被标记为“非使用中”。因此,在继续该解码过程之前,该解码等待阈值数量的帧被显示。
在一些实施例中,用于反向回放的方法可以被扩展到通过网络对多媒体内容进行实况流传送(live streaming)。在这样的情形中,可以使用服务器115执行步骤410至450。可以使用电子设备105来发送关于反向回放编码的多媒体内容的请求。该方法将在服务器115在实现反向回放的时间间隔内以流方式传送帧序列之前,包括重新编码多媒体内容以及将多媒体内容发送到电子设备105的附加步骤。可以用重新编码多媒体内容和将多媒体内容发送到电子设备105的步骤替代步骤430和450。
显然地,用于反向回放编码的多媒体内容的本发明方法和装置可以以硬件、软件(即程序)或其结合的形式来实现。这样的程序可以存储在机器(例如计算机)可读的易失性或非易失性记录介质中,其中这样的记录介质可以是诸如ROM的存储设备,诸如RAM、存储器芯片或集成电路的存储器、或者诸如致密盘(CD)、数字视频盘(DVD)、磁盘或磁带的光记录介质或磁记录介质。也就是说,用于反向回放编码的多媒体内容的本发明方法和装置可以具体体现为程序的形式,该程序包括用于实现本发明方法和装置的代码。此外,所述程序可以通过任选的媒介来以电子方式传送,所述媒介例如通过线路或无线地发送的通信信号。
对于本领域普通技术人员明显的是,可以进行各种修改和改变而不偏离以下权利要求书中阐明的本公开内容的范围。因此,说明书和附图应被看作是本公开内容的说明性示例,而不是具有限制性意义。所有这些可能的修改均旨在包括在本公开内容的范围之内。
Claims (9)
1.一种用于反向回放编码的多媒体内容的方法,该方法包括:
从用户或电子设备(105)接收关于反向回放编码的多媒体内容的请求;
从构成编码的多媒体内容的一部分的第一画面组(GOP)中识别在接收到该请求时的最后播放的帧之前的第一内部帧(I帧);
解码该第一GOP中从该第一I帧开始的第一连续帧;
在存储器(215,315)中存储第一解码帧;以及
以实现反向回放的帧顺序播放所述第一解码帧。
2.如权利要求1所述的方法,还包括:
基于可用存储器、用于回放的帧速率、回放速度、将要显示的帧的总数量、以及帧的总数量与回放速度之比中的至少一个,计算从该第一I帧开始的将被解码的第一连续帧的总数量。
3.如权利要求1或2所述的方法,还包括:
在播放一个或多个第一解码帧的过程中,从第二GOP中识别在第一I帧和第一GOP之前的第二I帧,其中,该第二GOP构成编码的多媒体内容的另一部分;
解码第二GOP中的第二连续帧;
将第二解码帧存储在存储器(215,315)中;以及
以实现反向回放的帧顺序播放第二解码帧。
4.如权利要求3所述的方法,其中,存储第二解码帧被暂停,直到阈值数量的第一解码帧被播放为止。
5.如权利要求3或4所述的方法,其中,所述第二连续帧是第二GOP中所有帧的一部分,它们被以规则的间隔周期性地放置。
6.如前述任意一项权利要求所述的方法,还包括:
重新编码第一解码帧;以及
将第一编码帧发送到电子设备(105)。
7.一种存储程序的计算机可读介质,所述程序使得处理器(210,310)执行如权利要求1所述的用于反向回放编码的多媒体内容的方法。
8.一种用于反向回放编码的多媒体内容的装置(105、115),该装置(105、115)包括:
处理器(210、310),被适配为从构成编码的多媒体内容的一部分的第一画面组(GOP)中识别在从用户或电子设备(105)接收到关于反向回放的请求时的最后播放的帧之前的第一内部帧(I帧),解码该第一GOP中从该第一I帧开始的第一连续帧,以及以实现反向回放的帧顺序播放第一解码帧;以及
存储器(215、315),用于存储所述第一解码帧。
9.如权利要求8所述的***,还包括:
通信接口(245、345),用于与网络(110)进行电子通信。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN732CH2009 | 2009-03-30 | ||
IN732/CHE/2009 | 2009-03-30 | ||
KR1020100021821A KR101667050B1 (ko) | 2009-03-30 | 2010-03-11 | 인코딩된 멀티미디어 콘텐츠의 역방향 재생을 위한 방법 및 장치와 기계로 읽을 수 있는 저장 장치 |
KR21821/10 | 2010-03-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101854508A true CN101854508A (zh) | 2010-10-06 |
CN101854508B CN101854508B (zh) | 2015-12-09 |
Family
ID=42784374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010155935.9A Expired - Fee Related CN101854508B (zh) | 2009-03-30 | 2010-03-30 | 反向回放编码的多媒体内容的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100247066A1 (zh) |
CN (1) | CN101854508B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602117A (zh) * | 2015-01-31 | 2015-05-06 | 华为技术有限公司 | 一种倍速播放视频的方法及装置 |
WO2015139628A1 (en) * | 2014-03-18 | 2015-09-24 | Mediatek Inc. | Data processing apparatus capable of performing optimized compression for compressed data transmission over multiple display ports of display interface and related data processing method |
CN106507204A (zh) * | 2016-12-07 | 2017-03-15 | 腾讯科技(上海)有限公司 | 一种视频倒放方法和装置 |
WO2017202060A1 (zh) * | 2016-05-24 | 2017-11-30 | 杭州海康威视数字技术股份有限公司 | 一种视频播放方法及装置 |
CN108184161A (zh) * | 2017-12-26 | 2018-06-19 | 努比亚技术有限公司 | 一种视频播放方法、移动终端及计算机可读存储介质 |
CN111970559A (zh) * | 2020-07-09 | 2020-11-20 | 北京百度网讯科技有限公司 | 视频获取方法、装置、电子设备及存储介质 |
TWI713979B (zh) * | 2019-01-21 | 2020-12-21 | 張維中 | 多媒體影片逆向播放方法、多媒體播放裝置及電腦可讀取的紀錄媒體 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857816A (zh) * | 2012-08-16 | 2013-01-02 | 深圳市同洲电子股份有限公司 | 广播节目的播放控制方法及装置 |
TWI665663B (zh) * | 2018-08-22 | 2019-07-11 | 張維中 | 影音倒轉播放裝置與系統及其方法 |
CN113542856B (zh) * | 2021-06-28 | 2023-06-13 | 宜宾中星技术智能***有限公司 | 在线录像的倒放方法、装置、设备和计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254917A (zh) * | 1998-11-25 | 2000-05-31 | 索尼公司 | 运动图像专家组标准位流再现设备和再现方法 |
US20030103566A1 (en) * | 2001-12-05 | 2003-06-05 | Robert Stenzel | Method of reverse play for predictively coded compressed video |
US20050147383A1 (en) * | 2003-12-30 | 2005-07-07 | Fujitsu Limited | Method and apparatus for playing-back moving image data |
US20070006060A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | GPU timeline with render-ahead queue |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2321821B (en) * | 1997-01-17 | 1999-03-24 | Neill Eugene O | Method for distributing and recovering buffer memories in an asynchronous transfer mode edge device |
JPH10207639A (ja) * | 1997-01-28 | 1998-08-07 | Sony Corp | 高速データ記録/再生装置および方法 |
EP1034656A2 (en) * | 1998-06-11 | 2000-09-13 | Koninklijke Philips Electronics N.V. | Trick play signal generation for a digital video recorder |
US6751400B1 (en) * | 1998-09-17 | 2004-06-15 | Sony Corporation | Reproducing method and apparatus |
US6535920B1 (en) * | 1999-04-06 | 2003-03-18 | Microsoft Corporation | Analyzing, indexing and seeking of streaming information |
US20030099293A1 (en) * | 1999-12-15 | 2003-05-29 | Shigeyuki Okada | Image reproducing method, and image processing method, and image reproducing device, image processing device, and television receiver capable of using the methods |
US6754279B2 (en) * | 1999-12-20 | 2004-06-22 | Texas Instruments Incorporated | Digital still camera system and method |
JP3840895B2 (ja) * | 2000-11-22 | 2006-11-01 | 日本電気株式会社 | 動画像符号化データ変換装置及びその方法 |
US7243354B1 (en) * | 2002-04-08 | 2007-07-10 | 3Com Corporation | System and method for efficiently processing information in a multithread environment |
JP4118232B2 (ja) * | 2003-12-19 | 2008-07-16 | 三菱電機株式会社 | 映像データ処理方法および映像データ処理装置 |
US7720350B2 (en) * | 2004-11-30 | 2010-05-18 | General Instrument Corporation | Methods and systems for controlling trick mode play speeds |
US9578290B2 (en) * | 2007-08-09 | 2017-02-21 | Gvbb Holdings S.A.R.L. | Video data reproduction system |
US20100008642A1 (en) * | 2008-07-14 | 2010-01-14 | Mediatek Inc. | Video apparatus and method thereof |
US9131269B2 (en) * | 2008-08-19 | 2015-09-08 | VIZIO Inc. | Method and apparatus for freezing a video stream on a digital television display such that the frame freeze point is before the viewer initiates the event |
-
2010
- 2010-03-30 US US12/750,020 patent/US20100247066A1/en not_active Abandoned
- 2010-03-30 CN CN201010155935.9A patent/CN101854508B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254917A (zh) * | 1998-11-25 | 2000-05-31 | 索尼公司 | 运动图像专家组标准位流再现设备和再现方法 |
US20030103566A1 (en) * | 2001-12-05 | 2003-06-05 | Robert Stenzel | Method of reverse play for predictively coded compressed video |
US20050147383A1 (en) * | 2003-12-30 | 2005-07-07 | Fujitsu Limited | Method and apparatus for playing-back moving image data |
US20070006060A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | GPU timeline with render-ahead queue |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10242641B2 (en) | 2014-03-18 | 2019-03-26 | Mediatek Inc. | Data processing apparatus capable of performing optimized compression for compressed data transmission over multiple display ports of display interface and related data processing method |
WO2015139628A1 (en) * | 2014-03-18 | 2015-09-24 | Mediatek Inc. | Data processing apparatus capable of performing optimized compression for compressed data transmission over multiple display ports of display interface and related data processing method |
US9922620B2 (en) | 2014-03-18 | 2018-03-20 | Mediatek Inc. | Data processing apparatus for performing display data compression/decompression with color format conversion and related data processing method |
US10089955B2 (en) | 2014-03-18 | 2018-10-02 | Mediatek Inc. | Data processing apparatus capable of using different compression configurations for image quality optimization and/or display buffer capacity optimization and related data processing method |
CN104602117A (zh) * | 2015-01-31 | 2015-05-06 | 华为技术有限公司 | 一种倍速播放视频的方法及装置 |
CN104602117B (zh) * | 2015-01-31 | 2018-03-16 | 华为技术有限公司 | 一种倍速播放视频的方法及装置 |
CN107426603A (zh) * | 2016-05-24 | 2017-12-01 | 杭州海康威视数字技术股份有限公司 | 一种视频播放方法及装置 |
WO2017202060A1 (zh) * | 2016-05-24 | 2017-11-30 | 杭州海康威视数字技术股份有限公司 | 一种视频播放方法及装置 |
CN107426603B (zh) * | 2016-05-24 | 2020-01-17 | 杭州海康威视数字技术股份有限公司 | 一种视频播放方法及装置 |
CN106507204A (zh) * | 2016-12-07 | 2017-03-15 | 腾讯科技(上海)有限公司 | 一种视频倒放方法和装置 |
CN106507204B (zh) * | 2016-12-07 | 2020-03-17 | 腾讯科技(上海)有限公司 | 一种视频倒放方法和装置 |
CN108184161A (zh) * | 2017-12-26 | 2018-06-19 | 努比亚技术有限公司 | 一种视频播放方法、移动终端及计算机可读存储介质 |
TWI713979B (zh) * | 2019-01-21 | 2020-12-21 | 張維中 | 多媒體影片逆向播放方法、多媒體播放裝置及電腦可讀取的紀錄媒體 |
CN111970559A (zh) * | 2020-07-09 | 2020-11-20 | 北京百度网讯科技有限公司 | 视频获取方法、装置、电子设备及存储介质 |
CN111970559B (zh) * | 2020-07-09 | 2022-07-22 | 北京百度网讯科技有限公司 | 视频获取方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101854508B (zh) | 2015-12-09 |
US20100247066A1 (en) | 2010-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101854508A (zh) | 反向回放编码的多媒体内容的方法和装置 | |
US9275604B2 (en) | Constant speed display method of mobile device | |
CN102884786B (zh) | 数字内容中最佳回放定位的方法和设备 | |
CN110830838B (zh) | 一种安防高清录像倒播方法及装置 | |
US20060168298A1 (en) | Desirous scene quickly viewable animation reproduction apparatus, program, and recording medium | |
RU2543936C2 (ru) | Воспроизведение с быстрым доступом к объектам видеоданных | |
US20230269441A1 (en) | Intermediate key frame selection and animation | |
TW201246198A (en) | Sequencing content | |
US9137509B2 (en) | Systems and methods for instructional video navigation and note taking | |
TW200926156A (en) | Intelligent media buffering based on input focus proximity | |
US20110010748A1 (en) | Video distribution device, video distribution system, and video distribution method | |
CN109120949B (zh) | 视频集合的视频消息推送方法、装置、设备及存储介质 | |
CN104185982B (zh) | 视频处理方法和实施所述方法的视频设备 | |
KR102505973B1 (ko) | 영상 처리 장치, 이의 제어 방법 및 컴퓨터 프로그램이 기록된 기록 매체 | |
US8625961B2 (en) | Information processing system, recording/playback apparatus, playback terminal, information processing method, and program | |
EP2034733A2 (en) | Content reproduction | |
CN1321395A (zh) | Mpeg流的快进和快倒的算法 | |
CN105191303A (zh) | 处理视频的方法、终端和服务器 | |
CN101048726A (zh) | 图形条按钮的选择方法及实施该方法的接收机 | |
CN102065207A (zh) | 当节目插播结束时的自动节目还原 | |
CN101489027B (zh) | 视频播放***、视频播放装置、及其控制方法 | |
CN115361579B (zh) | 视频送显方法、装置、电子设备及存储介质 | |
CN102256173A (zh) | 基于pvr电视节目回放标记方法、使用方法及删除方法 | |
EP2270667A1 (en) | Broadcast receiving apparatus and method for managing memory thereof | |
JPH1032809A (ja) | ビデオ・オン・デマンドシステムとそれを構成するビデオサーバ装置及び端末装置 |
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: 20151209 Termination date: 20210330 |
|
CF01 | Termination of patent right due to non-payment of annual fee |