优化媒体内容中的搜索功能的制作方法

文档序号:7734441阅读:222来源:国知局
专利名称:优化媒体内容中的搜索功能的制作方法
技术领域
本发明总体上涉及媒体回放。更具体地,本发明提供了用于优化针对媒体内容的 搜索功能的系统和方法。
背景技术
包括音频文件的媒体文件提供了以方便和高成本效率的方式来记录、传送和回放 媒体内容。媒体回放能力在多种软件和设备中是可用的,设备包括个人计算机、个人立体声 系统、移动终端、移动电话、PDA(个人数字助理)等。此类媒体文件可以按照多种格式提供, 包括存储在记录介质或者存储器设备中的、或者通过传送连接流式传输的文件。包括MP3 (MPEG1层III)、AAC(高级音频编码)等的标准化媒体文件格式有助于促 进此类系统。此类媒体文件提供了数据压缩相对于媒体质量的合理折衷。对于此类文件, 文件内容必须在回放期间解码,这需要回放系统中一定级别的数据处理能力。多种媒体文件格式(例如MP3音频文件)将音频数据解析为帧,其包括头段和数 据净荷段。除了某些例外情况,每个帧是分立的单元,并且可以与其他帧分开地进行解码和 回放,或者以不同的顺序进行解码和回放。这一优势允许数据的流式传输以及其他操作,诸 如剪切、循环和其他传送选项。然而,缺少帧间信息可能呈现出针对回放的困难,尤其是针对暂停、向后搜索以及 向前搜索的能力。另外,一些媒体格式需要独立地维持和定位准确的帧位置,以便继续解 码。另外,在一些便携式应用(诸如移动电话)中,例如当播放传入电话呼叫的铃音 时,可以手动地或者自动地暂停回放。当这种情况发生时,内容回放可以被取代,并且解码 器被解除分配。当重新开始内容回放时,应当从与其暂停时相同的位置开始。另外,一些移 动设备架构在暂停时解除分配解码器,并且暂停与重新开始之间的短间隔使得重新开始的 回放位置接近度中的任何错误更加明显,并且产生较难接受的用户体验。—些音频格式在其内容本身中、连同帧头上的同步字一起来提供有限帧表。数据 中的近似位置可以在搜索一个位置时进行计算,并且继而可以定位同步字并且继续解码。 然而,当内容是可变比特率(VBR)时,错误是不可避免的,并且在搜索时使用计算。MP3 VBR 编码的音频可以包含100个条目的帧表,其准确度随着内容长度的增大而减小。MP3文件可 以具有通常长于5分钟歌曲的内容,诸如MP3音频书和播客,由此使得基于最小帧表内容的 位置计算更加易于出错。

发明内容
以下提出了本发明的简化概述,以便提供本发明某些方面的基本理解。该发明内 容不是本发明的广泛概观。其并非意在标识本发明的关键或者重要元素,或者描述本发明 的范围。以下发明内容仅提出本发明的一些构思,作为以下提供的更加详细的描述的序言。本发明的示例性实施方式不需要与解码器串联的解析器组件。这消除了解码之前该解析器所需的附加处理。相反,一个实施方式使用与解码过程并行的解析,并且从解码器 组件收集用于搜索的信息。如果向前搜索需要尚未收集的信息,则使用解析器组件代替解 码器组件来收集信息。一个实施方式保持两个级别的信息少量高分辨率数据(仅针对最 小数目的媒体帧保持的信息),用于在准确的帧上暂停/重新开始;以及可调量信息,用于 搜索新的回放位置。本发明的一个示例性实施方式包括一种方法,包括接收划分为帧的编码媒体数 据;解码编码媒体数据的至少一部分,并且输出编码媒体数据的解码部分;以及计算针对 编码媒体数据的解码部分内的帧的帧位置信息。该方法还包括将计算的帧位置信息存储 在帧表中;以及在接收到搜索编码媒体数据中的特定位置的命令时,使用帧表中计算的帧 位置信息来确定编码媒体数据中的位置,以便继续解码该编码媒体数据。如果帧表没有针对编码媒体数据中的特定位置的计算帧位置信息,则一个实施方 式可以包括解析编码媒体数据的另一部分;计算针对编码媒体数据的所解析的另一部分 内的帧的帧位置信息;以及将计算的帧位置信息存储在帧表中。根据一个实施方式,将计算的帧位置信息存储在帧表中的方法包括基于周期时间 间隔来存储帧位置信息。可以基于编码媒体数据的大小值来选择周期时间间隔。另外,将 计算的帧位置信息存储在帧表中的方法可以包括存储预定数目的、与编码媒体数据中的当 前解码位置实质上同时(contemporaneous)的计算帧位置。一个实施方式包括计算机可读介质,其包括计算机可读指令,当提供至处理器时 使得处理器执行以上或以下描述的任何方法。另一实施方式包括处理器和包括可执行指 令的存储器,该可执行指令当提供至处理器时使得处理器执行以上或者以下描述的任何方法。一个示例性实施方式包括一种装置,包括解码器,配置用于对编码媒体数据进行 解码,该编码媒体数据被划分为帧,其中该解码器在对编码媒体数据进行解码和输出时,计 算针对编码媒体数据中的帧的帧位置信息;以及帧表存储器,配置用于从解码器接收计算 的帧位置信息,并且对其进行存储;其中在接收到搜索编码媒体数据中的特定位置的命令 时,帧表存储器提供与编码媒体数据中的特定位置相关联的位置信息。该实施方式还可以 包括解析器,其中如果帧表无法提供针对编码媒体数据中的特定位置的位置信息,则解析 器配置用于解析编码媒体数据的另一部分,以计算针对编码媒体数据的所解析的另一部分 内的帧的帧位置信息,并且向帧表存储器提供计算的帧位置信息。帧表存储器可以配置用于存储预定数目的、与编码媒体数据中的当前解码位置实 质上同时的计算帧位置。另外,帧表存储器可以配置用于基于周期时间间隔来存储计算帧 位置信息,该周期时间间隔可以基于编码媒体数据的大小值来选择。另一实施方式包括一种设备,包括针对划分为帧的编码媒体数据的解码装置, 并且用于在解码时计算针对编码媒体数据中的帧的帧位置信息,并且用于输出编码媒体数 据;以及存储器装置,用于在帧表中存储计算的帧位置信息,并且用于在接收到搜索编码媒 体数据中的特定位置的命令时,提供与编码媒体数据中的特定位置相关联的位置信息。该 示例性实施方式还可以包括解析装置,用于其中如果存储器装置无法提供针对编码媒体数 据中的特定位置的位置信息,则解析编码媒体数据的另一部分,并且用于计算针对编码媒 体数据的所解析的另一部分内的帧的帧位置信息。
对于任何实施方式,编码媒体数据可以包括可变比特率编码音频数据。本发明的一些实施方式的优点包括减少了音频回放所需的CPU周期,去除了在回 放期间由解析组件产生的CPU使用峰值,并且即使在解码器和其他组件可能被解除分配的 情况下,也能够提供针对暂停和重新开始情况的准确定位。本发明的一些实施方式的另一 优点包括减少和/或优化了存储器使用,尤其是在媒体数据可能相对较长时。


通过考虑附图参考以下说明可以获得本发明的更为完整的理解及其有点,附图中 相似的参考标号指示相似的特征,并且其中图1示出了根据现有技术的媒体回放系统;图2示出了根据本发明一个示例性实施方式的媒体回放系统;图3示出了根据一个示例性实施方式的用于暂停媒体回放的过程;图4示出了根据一个示例性实施方式的用于向后搜索的过程;图5示出了根据一个示例性实施方式的用于向前搜索的过程;图6示出了根据一个示例性实施方式的用于回放和向前搜索的过程的细节;以及图7示出了用于实现本发明一个示例性实施方式的系统的组件的框图。
具体实施例方式在各种示例性实施方式的以下描述中,参考形成其一部分的附图,并且其中通过 示出可以实现本发明的各种示例性实施方式的方式示出。可以理解,可以使用其他实施方 式,并且在不脱离本发明的范围的情况下可以做出结构上和功能上的修改。图1示出了用于解码此类文件用于回放的代表性现有架构。解析器组件12处理 媒体文件,其在该示例中是音频数据10的源。该音频数据10可以是文件、缓冲器、高速缓 存或其任意组合。解析器组件12收集可以用于“索引”音频数据10的信息,以允许在数据 文件(或者缓冲器)内进行搜索。通常,解析器组件12定位媒体内帧的开始,并且标记帧 位置,该帧位置继而可以用于搜索。该帧位置信息14通常存储在帧表16中,其继而可以用 于搜索18音频数据10内的位置。一旦解析器组件12处理了音频数据10,则解码器20就 开始解码该音频数据(可能存储在缓冲器22中),并且为收听者产生解码音频M。如果接收了搜索(向前或者向后)或者暂停的请求,则帧表16可以用于定位音频 数据10内的帧位置18,于是来自音频数据10内的正确位置的信息将继而被提供至解码器 20,并且音频输出M将继续。针对该现有架构,帧表16,可以针对每个媒体帧收集信息,这可能需要相当大量的 存储器,尤其是对于移动设备。该过程还可能引起媒体回放的开始中的显著延迟。另外,其 还需要大量的处理能力,虽然是短时间的,但其可能剥夺其他应用用于其活动的处理能力。 较大的媒体文件将需要较多的处理,以及用于搜索信息的较大存储器需求。针对较长内容 保持该信息可以使用移动设备中相对较大量的存储器。图2示出了本发明的一个示例性实施方式。回放设备30可以包括解析器12和解 码器20,然而该实施方式不需要解析器12在解码之前执行解析。相反,收集帧信息14作为 解码器20在回放期间解码的内容。以这种方式获得帧信息14需要很少或者不需要额外的处理能力,并且避免了回放开始时由解析器解析音频数据10所造成的延迟。针对帧表32 中可用的帧位置,搜索是直接的。如果诸如在向前搜索时,帧位置信息还没有被保存,则示 例性实施方式从由解码器20进行解码切换到仅进行解析12 (如箭头35所示),直至到达搜 索位置,解析器12在其进行解析时保存帧位置信息14。在该示例性实施方式中,可以针对帧表32中的每个条目保存两个参数。第一参数 是位置值,而第二参数是帧计数。位置值是表示音频内容10中的字节位置的无符号整数。 第一条目(第零位置)指示第一数目帧的位置。这允许后续的条目与时间零点相关,该时 间零点是音频回放的开始。该第一位置将在解码器20很有可能不需要的音频数据中的任 何元数据或者头信息之后。元数据可能由用户编辑,或者由系统修改,然而如果第一条目是 第一音频帧,则此类修改不应当影响帧表条目。如果此类修改可能影响条目,则示例性实施 方式可以根据需要更新条目。解码器20和解析器12提供的信息14是单独的帧位置。通 过在解码或者解析期间积累从帧获得的帧长度值来计算位置。帧表32保存以偏移递增的 位置,以便保持绝对位置。帧表32可以包括接口(未示出),以指示该偏移位置。当执行针对新位置的搜索时,帧表32对新位置计算和提供偏移,该偏移来自第一 帧位置。向帧表提供位置的解码器20可能不知道新搜索位置,并且其位置值将被重置为0。 这不存在问题,因为帧表32保持由解码器的用户在命令搜索时提供的偏移。备选地,示例 性实施方式可以向解码器20提供新位置,并且解码器20将相应地调节其位置值。第二参数是无符号整数的帧计数数目。该帧计数可以用于计算对应于位置值的以 毫秒为单位的时间。当需要时间值时,根据帧编号和帧时间对其进行计算。虽然帧比特率 可以改变,但是帧时间保持不变。帧表32配置有回放开始处的帧时间。以下将提供该过程 的进一步细节。本发明的示例性实施方式包括基于帧表32中保存什么信息来改进存储器使用。 可以按照两种方式保存帧位置信息14。示例性实施方式可以使用以下技术中的一种或二者ο首先,可以针对全部内容诸如在表34中侏存可调量帧信息。通常,这将是周期时 间间隔的帧信息。时间间隔可以是固定的,或者备选地基于音频数据10(诸如内容长度) 来确定。内容长度可以按照多种方式来确定,例如对于恒定比特率数据,文件大小减去元数 据大小再除以比特率将得到内容长度。对于可变比特率数据,平均比特率可以通过预处理 某些媒体数据来确定。作为针对基于内容长度的间隔的示例,对于较长内容,针对一个帧位 置的数据可以每5秒保存一次。对于中等长度内容,帧位置可以每秒保存一次;以及针对短 内容,可以保存针对每个帧的数据。在确定帧信息的粒度时可以使用的其他因素包括音频 数据的编码速率、设备的存储器限制、处理能力等。—个备选实施方式可以在音频数据的回放期间动态地调节帧信息34。例如,在回 放的开始,帧表34初始可以存储针对短时间间隔的帧信息,诸如每隔半秒。随着回放继续, 帧表34可以开始使用较长的时间间隔,诸如每隔一秒。在这样的情况下,帧表34可以通过 删除每隔一个的条目来修改先前存储的帧信息,从而使得所有的帧信息都是一秒的间隔。 帧表存储器结构可以定义为使得删除所选择的条目间隔和重新使用存储器的操作快速,并 且使用最小的处理能量。另外,可以使用其他数目的删除条目,诸如跳过一个条目而删除接 下来的三个条目。
作为保存帧信息的第二方式,一个示例性实施方式可以针对每个音频帧保存帧信 息,但是仅针对保存促进优选帧上的暂停/重新开始所需的较短持续时间。用于该较短持 续时间的帧表36可以保存非常少的条目,可能仅保存当前位置。例如,如果保存了最后解 码的帧,并且立即呈现(播放),则单个帧将提供必要的重新开始精确度。然而,在解码器 20之间存在缓冲或者其他操作并且呈现到音频信号中以用于回放的通常情况下,最后解码 的帧将不是接下来呈现的帧。因此,在该最后帧上重新开始将造成跳跃向前。因此,一个实 施方式在较短持续时间内保持针对每个帧的信息。所保持的帧信息条目的数目可以是任意 的(例如,一分钟量的回放),或者基于解码器20之后潜在缓冲的量。作为一个示例,针对 帧信息的条目的数目应当大于解码器20之后缓冲的解码帧的数目。帧表36可以实现为环 形缓冲器结构,用以提供旧帧条目存储器位置的自动重新使用。通过使用这些技术之一或者二者,一个示例性实施方式不会因针对全部内容保存 每个帧的帧信息而浪费存储器。保存优选信息以便支持架构中的暂停/重新开始,其可以 解除分配音频组件并且在重新开始最后播放或者呈现的确切帧时需要对内容进行搜索。帧表34和36可以在设备30内部,其中设备30可以向用户提供搜索位置信息。备 选地,一个或多个帧表34和36可以被共享并且对用户或者其他应用可用。此类共享帧表 可以是其他应用所期望的标准格式。图3示出了由示例性实施方式使用以便促进暂停和重新开始音频或者媒体内容 的方法。不管暂停持续时间有多长,并且即使在解码器和其他工具被解除分配的情况下,该 方法也允许精确地重新开始回放。在步骤100处,解码器正在处理数据流,并且向帧表提供 帧位置信息。在接收到暂停命令(由用户或者另一应用提供)(10 时,标记当前回放时 间(步骤104)。使用当前回放时间,可以在帧表中找到音频文件中的正确媒体位置(步骤 106)。通常,这将使用短持续时间帧表36(图幻,然而也可以使用另一帧表。音频数据中的 正确位置被获知(步骤108),因此当接收到重新开始命令时(110),接着回放可以从音频数 据中的正确重新开始位置继续进行(100)。图4示出了示例性实施方式使用以便促进向后搜索的方法。当接收到向后搜索命 令时(步骤120),可以在帧表中查找基于时间的媒体位置(步骤12 。通常,这将是时间间 隔表34(图2),然而也可以使用另一帧表。媒体位置信息继而用于搜索媒体中的正确位置 (步骤124)。基于向后搜索过程,该过程可以进行一次或者重复多次,例如,在用户向后扫 描以找到媒体中的特定位置的情况下。一旦到达媒体中的正确位置,则回放可以继续(步 骤 100)。图5示出了由示例性实施方式使用以便促进向前搜索的方法。这里存在帧信息可 能不在帧表中的情形,因为数据还未被解码器或者解析器处理。在步骤130处,接收向前搜 索的命令。检查帧表以查看帧信息对于所搜索的时间值是否可用(步骤132和步骤134)。 如果位置信息在帧表中可用,则媒体位置信息被用于搜索媒体中的正确位置(步骤140), 并且回放可以继续(或者开始)(步骤100)。如果帧信息对于所搜索的时间值不可用,则该过程搜索帧表中可用的最后时间/ 位置值(步骤136)。在此时,解析器工具12 (图2)开始媒体数据的解析,并且生成用于帧 表的条目,直到找到所搜索的目的地位置(步骤138)。回放处理继而可以从目的地位置继 续进行(或者开始)(步骤100)。
图6示出了根据一个示例性实施方式的用于回放处理和搜索的方法的细节。在常 规播放模式中(148),编码数据被提供至解码过程(步骤149)。该方法检查以便查看其是 否在向前搜索模式中(步骤150)。如果不在,则解码器解码音频帧(步骤152),并且产生 解码音频M。作为解码过程152的一部分,帧头被解码,其提供关于帧长度的信息。通常从 帧头中提取每帧样本的值、比特率、采样率以及任何填充位。继而可以例如使用以下公式来 计算以字节为单位的帧长度帧长度=((每帧样本/ (8*比特率))/采样率)+填充位大小此类计算可以是不同的,例如用以避免舍入误差,或者用以将其他因素考虑在内。 作为一个示例,如果编码数据包括不可解码(损坏)数据,如果解码器有能力忽略该损坏数 据,则帧长度可以相应地进行调节以保持正确的位置数据。计算帧长度例如可以是解码器 的标准操作,所以解码器可以请求下一解码位置。在其他情况下,例如对于AAC-ADIF(高级 音频编码-音频数据交换格式),确定帧长度可能需要解析实际帧元素。在通常情况下,解 码器作为解码中的必要步骤来确定帧长度,并且本发明的示例性实施方式利用这一点来确 定用于搜索的位置信息。在步骤153处,通过将帧长度添加到先前位置数据上来计算位置数据,并且向帧 表提供该位置数据(步骤154)。在步骤156处,该方法检查以查看其是否在向前搜索模式 中,并且也查看是否已经到达搜索位置。在常规回放情况下,该测试结果为假,并且该方法 继续到步骤159,该步骤查看是否需要更多的编码数据。在存在要处理(解码)更多的编码 数据的情况下,方法继而从步骤149继续。如果接收了搜索命令(160),则该方法检查帧表以确定搜索的目的地位置是否已 经在帧表中(步骤16幻。如果是,则该方法将数据源中的读取位置设置为搜索位置(164)。 继而常规回放处理可以从步骤149继续进行。然而,在步骤162处,如果确定搜索目的地位置不在帧表中,则该方法工作以向前 解析并且找到搜索目的地位置。该方法首先将数据源中的读取位置设置为帧表中可用的最 后位置(步骤166)。设置向前搜索模式标志(步骤168),并且在到达所请求的搜索位置时 该方法请求帧表提供通知(步骤170)。该方法继续接收编码数据(步骤149)。然而,在 步骤150处,该方法现在处于向前搜索模式中,所以代之以由解析器工具12(图2、来扫描 编码数据。解析器工具现在开始扫描数据,并且计算帧长度(步骤17 。该过程可以与解 码器在步骤152处进行的操作非常相似,然而并未解码帧的实际数据。该过程可以由解码 器过程或者应用在实际解码被禁用的情况下进行,或者由独立的解析器过程或者应用来进 行,其可以被优化以允许进行快速的帧解析。根据先前位置和帧长度来计算位置数据(步 骤15 ,并且向帧表提交该位置数据(步骤154)。在步骤156处,该方法在向前搜索模式 中,但是如果还没有到达搜索目的地位置,在步骤159处处理继续进行,以获得更多的编码 数据并且进一步解析。然而,如果在步骤156处确定已经到达搜索位置,则向前搜索模式标 志被禁用(步骤158),继而在步骤159处,处理作为常规回放模式继续进行。例如,本发明的一些实施方式可以用于以下音频格式,包括MP3、各种AAC/增强 AAC+格式(例如ADIF (音频数据交换格式)或者ADTS (音频数据传送流))、AMR(自适应多 速率)、AMR-WB(自适应多速率-宽带)以及这些格式的将来版本和扩展。本发明可以与在 容器或者帧中不包含适合搜索信息的其他格式(音频、视频二者、混合媒体等)结合使用。其还可以用于不提供可搜索资源提供方的流式传输媒体应用中的向前搜索。作为示例性实施方式提供的优点的一个示例,考虑音频帧长度通常是大约20ms, 相当于每秒50帧。如果对于较长内容,帧信息仅5秒保存一次,则一个示例性实施方式提 供250的缩减因子。如果针对每个帧的信息包括12字节(索引、时间和位置,每个为32比 特整数),对于15分钟的音频文件,使用帧信息保留的对偶(dual)方法的示例性实施方式 将使用2160字节,而不是先前需要的M0,000字节。本发明的实施方式可以在任何类型的设备中实现,包括计算机、便携式音乐/媒 体播放器、PDA、移动电话和移动终端。图7示出了包括移动终端50的一种示例设备。移动 终端50可以包括支持网络的无线设备,诸如蜂窝电话、移动终端、数据终端、寻呼机、膝上 型计算机或者其组合。移动终端也可以包括不支持网络的设备,诸如个人数字助理(PDA)、 腕表、GPS接收机、便携式导航设备、车辆导航设备、便携式TV设备、便携式视频设备、便携 式音频设备或者其组合。另外,移动终端可以包括支持网络的无线设备和不支持网络的设 备的任意组合。虽然设备50示为移动终端,但是可以理解,本发明可以使用非便携式或 者非可移动设备来实现。作为支持网络的设备,移动终端50可以通过到无线网络(未示 出)的无线电链路并且通过网关和web服务器来通信。无线网络的示例包括第三代(3G) 蜂窝数据通信网络、第四代GG)蜂窝数据通信网络、全球移动通信网络系统(GSM)、无线局 域网(WLAN)或者其他当前的或者将来的无线通信网络。移动终端50还可以通过移动终 端上的一个或多个端口(未示出)与web服务器通信,该一个或多个端口可以允许到因特 网的有线连接,诸如通用串行总线(USB)连接和/或经由短程无线连接(未示出),诸如 BLUETOOTH 链路或者到WLAN接入点的无线连接。由此,移动终端50可以能够以多种方式 与web服务器进行通信。如图7所示,移动终端50可以包括处理器52、显示器M、存储器56、数据连接接 口 58和用户输入特征62 (诸如小键盘、触摸屏等)。其还可以包括短程无线电发射机/接 收机66、全球定位系统(GPQ接收机(未示出)和可能的其他传感器。处理器52与存储 器56进行通信(未示出),并且可以执行存储在其中的指令。用户输入特征62也可以与处 理器52进行通信(未示出),以用于向处理器提供输入。用户输入62、显示器M和处理器 52相组合,与存储在存储器56中的指令配合可以形成图形用户界面(GUI),其允许用于与 设备交互并且修改显示器M上示出的显示。数据连接接口 58与处理器52相连接(未示 出),并且支持与无线网络的通信,如上所述。移动终端50还可以包括音频输出特征60,其允许播放声音和音乐。此类音频输出 特征可以包括硬件特征,诸如单通道和多通道模拟放大器电路、均衡电路、扬声器和音频输 出插孔。此类音频输出特征还可以包括数字/模拟转换器和滤波电路。诸如音频和媒体解 压缩器和解码器的其他组件可以实现为硬件设备,或者由处理器52执行的软件指令,或者 其任意组合。根据存储器56中的处理指令68,处理器52可以执行根据本发明一个实施方式的 用于建立和使用帧表32的方法。存储器56可以包括音频数据,其可以从网络或者其他源 下载或者流式传输。此类音频数据可以存储在存储器56或者其他较长期存储器中,例如闪 存或者硬盘存储。存储器56可以包括用于执行本发明的实施方式的处理指令68。例如,此类指令1168可以使得处理器52执行解码过程并且存储帧表信息32,如以上描述和示出的。存储器 56还可以包括用于多个应用过程的指令和数据存储,该多个应用过程也可以能够访问帧表 信息32。应用和数据在闲置或者被取代时,可以交换出此类存储器,以允许其他应用使用此 类存储器。此类处理指令可以存储在不同类型的存储器中,并且可以通过可用网络来下载 或者更新。另外,在此描述的方法和特征还可以通过能够存储计算机可读指令的任意数目计 算机可读介质来实现。可以使用的计算机可读介质的示例包括RAM、R0M、EEPR0M、闪存或者 其他存储器技术、CD-ROM、DVD或者其他光学盘存储、磁带、磁存储等。本发明的一个或多个方面可以实现在由一个或多个计算机或者其他设备执行的 诸如一个或多个程序模块中的计算机可用数据和计算机可执行指令中。通常,程序模块包 括例程、程序、对象、组件、数据结构等,当由计算机或者其他设备中的处理器执行时,其执 行特定任务或者实现特定抽象数据类型。计算机可执行指令可以存储在计算机可读介质 上,计算机可读介质诸如硬盘、光盘、可移动存储介质、固态存储器、RAM等。本领域技术人 员可以理解,在各种实施方式中,程序模块的功能可以按照需要进行组合或者分布。另外, 功能可以整体或者部分地实现在固件或者硬件等同物中,诸如集成电路、现场可编程门阵 列(FPGA)等。特定数据结构可以用于更加有效地实现本发明的一个或多个方面,并且此类 数据结构视为在此处描述的计算机可执行指令和计算机可用数据的范围内。虽然示出了具体化本发明的各个方面的在此描述的示例性系统和方法,但是本领 域技术人员可以理解,本发明不限于这些实施方式。本领域技术人员特别地根据上述教导 可以做出修改。例如,上述实施方式中的每个元素可以单独使用或者与其他实施方式的元 素进行组合或者子组合。可以领会和理解,在不脱离本发明的真实精神和范围的情况下可 以做出修改。该说明书由此视为示例性的而不是对本发明的限制。虽然以特定于结构性特征和/或方法行为的语言描述了主题,但是可以理解,所 附权利要求中限定的主题不必限于上述具体特征或者行为。相反,上述具体特征和行为作 为实现权利要求的示例形式而公开。
权利要求
1.一种方法,包括接收划分为帧的编码媒体数据;解码所述编码媒体数据的至少一部分,并且输出所述编码媒体数据的解码部分;计算针对所述编码媒体数据的所述解码部分内的帧的帧位置信息;将计算的帧位置信息存储在帧表中;以及在接收到搜索所述编码媒体数据中的特定位置的命令时,使用所述帧表中所述计算的 帧位置信息来确定所述编码媒体数据中的位置,以便继续解码所述编码媒体数据。
2.根据权利要求1所述的方法,还包括如果所述帧表没有针对所述编码媒体数据中的特定位置的计算的帧位置信息,则解析 所述编码媒体数据中的另一部分;计算针对所述编码媒体数据的解析的另一部分内的帧的帧位置信息;以及将计算的帧位置信息存储在所述帧表中。
3.根据权利要求1-2中任一项所述的方法,其中将计算的帧位置信息存储在帧表中包 括基于周期时间间隔来存储帧位置信息。
4.根据权利要求3所述的方法,其中所述周期时间间隔基于所述编码媒体数据的大小 值来选择。
5.根据权利要求1-4中任一项所述的方法,其中将计算的帧位置信息存储在帧表中包 括存储预定数目的、与所述编码媒体数据中的当前解码位置实质上同时的计算的帧位置。
6.根据权利要求1-5中任一项所述的方法,其中所述编码媒体数据是可变比特率编码 音频数据。
7.一种装置,包括解码器,配置用于解码编码媒体数据,所述编码媒体数据被划分为帧,其中所述解码器 在解码和输出所述编码媒体数据时计算针对所述编码媒体数据中的帧的帧位置信息;以及帧表存储器,配置用于从所述解码器接收并且存储计算的帧位置信息;其中在接收到搜索所述编码媒体数据中的特定位置的命令时,所述帧表存储器提供与 所述编码媒体数据中的所述特定位置相关联的位置信息。
8.根据权利要求7所述的装置,还包括解析器,其中如果所述帧表无法提供针对所述编码媒体数据中的特定位置的位置信 息,则所述解析器配置用于解析所述编码媒体数据中的另一部分,并且计算针对所述编码 媒体数据的解析的另一部分内的帧的帧位置信息,并且向所述帧表存储器提供计算的帧位直fe息。
9.根据权利要求7-8中任一项所述的装置,其中所述帧表存储器配置用于基于周期时 间间隔来存储所述计算的帧位置信息。
10.根据权利要求9所述的装置,其中所述周期时间间隔基于所述编码媒体数据的大 小值来选择。
11.根据权利要求7-10中任一项所述的装置,其中所述帧表存储器配置用于存储预定 数目的、与所述编码媒体数据中的当前解码位置实质上同时的计算的帧位置。
12.根据权利要求7-11中任一项所述的装置,其中所述编码媒体数据是可变比特率编 码音频数据。
13.一种计算机可读介质,包括计算机可读指令,其在被提供至装置的处理器时使得所 述装置执行接收划分为帧的编码媒体数据;解码所述编码媒体数据的至少一部分,并且输出所述编码媒体数据的解码部分; 计算针对所述编码媒体数据的所述解码部分内的帧的帧位置信息; 将计算的帧位置信息存储在帧表中;以及在接收到搜索所述编码媒体数据中的特定位置的命令时,使用所述帧表中的所述计算 的帧位置信息来确定所述编码媒体数据中的位置,以便继续解码所述编码媒体数据。
14.根据权利要求13所述的计算机可读介质,还包括指令以执行如果所述帧表没有针对所述编码媒体数据中的特定位置的计算的帧位置信息,则解析 所述编码媒体数据中的另一部分;计算针对所述编码媒体数据的解析的另一部分内的帧的帧位置信息;以及 将计算的帧位置信息存储在所述帧表中。
15.根据权利要求13-14中任一项所述的计算机可读介质,还包括指令以执行 其中将计算的帧位置信息存储在帧表中包括基于周期时间间隔来存储帧位置信息。
16.根据权利要求15所述的计算机可读介质,还包括指令以执行 其中所述周期时间间隔基于所述编码媒体数据的大小值来选择。
17.根据权利要求13-16中任一项所述的计算机可读介质,还包括指令以执行其中将计算的帧位置信息存储在帧表中包括存储预定数目的、与所述编码媒体数据中 的当前解码位置实质上同时的计算的帧位置。
18.根据权利要求13-17中任一项所述的计算机可读介质,其中所述编码媒体数据是 可变比特率编码音频数据。
19.一种装置,包括 处理器;以及包括可执行指令的存储器,所述指令在被提供至所述装置的所述处理器时,使得所述 装置执行接收划分为帧的编码媒体数据;解码所述编码媒体数据的至少一部分,并且输出所述编码媒体数据的解码部分; 计算针对所述编码媒体数据的所述解码部分内的帧的帧位置信息; 基于周期时间间隔将计算的帧位置信息存储在帧表中;以及在接收到搜索所述编码媒体数据中的特定位置的命令时,使用所述帧表中的所述计算 的帧位置信息来确定所述编码媒体数据中的位置,以便继续解码所述编码媒体数据;其中如果所述帧表没有针对所述编码媒体数据中的特定位置的计算的帧位置信息,则 解析所述编码媒体数据中的另一部分;计算针对所述编码媒体数据的解析的另一部分内的 帧的帧位置信息;以及将计算的帧位置信息存储在所述帧表中。
20.根据权利要求19所述的装置,其中将计算的帧位置信息存储在帧表中包括存储预 定数目的、与所述编码媒体数据中的当前解码位置实质上同时的计算的帧位置。
21.根据权利要求19-20中任一项所述的装置,其中所述装置是移动终端。
22.—种设备,包括解码装置,针对划分为帧的编码媒体数据,用于在解码时计算针对所述编码媒体数据 中的帧的帧位置信息,以及用于输出所述编码媒体数据;以及存储器装置,用于将计算的帧位置信息存储在帧表中;以及用于在接收到搜索所述编 码媒体数据中的特定位置的命令时,提供与所述编码媒体数据中的所述特定位置相关联的 位置信息。
23.根据权利要求22所述的设备,还包括解析装置,用于其中如果所述存储器装置无法提供针对所述编码媒体数据中的特定 位置的位置信息,则解析所述编码媒体数据的另一部分;以及用于计算针对所述编码媒体 数据的解析的另一部分内的帧的帧位置信息。
全文摘要
提供了一种用于改进针对诸如编码音频数据的媒体文件的媒体回放和搜索时间的系统和方法。在回放期间解码媒体时,将帧位置信息存储在帧表中。该帧位置信息可以用于暂停/重新开始功能,并且用于搜索操作。如果搜索操作是针对没有存储在帧表中的位置,则解析媒体数据以产生添加到帧表中的帧位置信息,直到到达搜索位置。可以按照若干不同形式来存储帧表数据,包括可以基于媒体数据长度而选择的周期间隔,以及用于从暂停命令重新开始的同时数据。
文档编号H04L29/06GK102047338SQ200980120152
公开日2011年5月4日 申请日期2009年5月12日 优先权日2008年5月30日
发明者B·杭扎 申请人:诺基亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1