CN103004189B - 位流中的flash视频标签的搜寻方法及其搜寻装置 - Google Patents

位流中的flash视频标签的搜寻方法及其搜寻装置 Download PDF

Info

Publication number
CN103004189B
CN103004189B CN201080068075.3A CN201080068075A CN103004189B CN 103004189 B CN103004189 B CN 103004189B CN 201080068075 A CN201080068075 A CN 201080068075A CN 103004189 B CN103004189 B CN 103004189B
Authority
CN
China
Prior art keywords
bit stream
length
video tab
flash video
search
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.)
Expired - Fee Related
Application number
CN201080068075.3A
Other languages
English (en)
Other versions
CN103004189A (zh
Inventor
崔俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Singapore Pte Ltd
Original Assignee
MediaTek Singapore Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MediaTek Singapore Pte Ltd filed Critical MediaTek Singapore Pte Ltd
Publication of CN103004189A publication Critical patent/CN103004189A/zh
Application granted granted Critical
Publication of CN103004189B publication Critical patent/CN103004189B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种位流中的FLASH视频标签的搜寻方法及其搜寻装置。位流中的FLASH视频标签的搜寻方法包含:设置一第一开始位置以及关于一第一搜寻程序的一第一搜寻长度,第一搜寻长度指示对位流执行的第一搜寻程序的一位流长度;自第一开始位置对位流开始第一搜寻程序以搜寻FLASH视频标签;其中当于第一搜寻长度中未找到FLASH视频标签时,设置关于接续第一搜寻程序的一第二搜寻程序的一第二开始位置,其中第一开始位置与第二开始位置是通过一时间段分离,时间段等于第一搜寻长度与一第一跳过长度的总和,其中第一跳过长度对应于第一搜寻程序;以及自第二开始位置对位流开始第二搜寻程序以搜寻FLASH视频标签。

Description

位流中的FLASH视频标签的搜寻方法及其搜寻装置
技术领域
本发明是有关于一种位流(bitstream)中的视频标签(tag)的搜寻方法,且特别有关于一种位流中的FLASH视频(FLASHVideo,以下简称为FLV)标签的搜寻方法及其搜寻装置。
背景技术
FLV格式通常用于媒体播放器(例如,AdobeFlash播放器)中。此外,FLV格式已广泛应用于许多视频网站中,举例而言,YouTube、tudou、56.com、ku6.com、Sina视频等等。因此,FLV格式的支援已成为电子消费产品(例如,数字电视、移动电话、个人数字助理(PDA))中的多媒体功能的不可或缺的一部分。
于FLV格式的播放(playback)程序中,需要利用标签作为将分别由视频解码器与音频解码器解码的基本单元,来撷取视频数据与音频数据。因此,于撷取视频数据与音频数据之前,必须找到每一FLV标签的正确开始位置。然而,由于并无定位每一FLV标签的开始位置(或相对位置)的可用开始码,当FLV标签中发生错误时,将中断FLV格式的数据的播放程序。
因此,如何提升FLV标签的搜寻性能已成为本领域中的设计者需要解决的重要问题。
发明内容
本发明其中一个目的在于提供一种位流中的FLASH视频标签的搜寻方法及其搜寻装置,以解决上述问题。
本发明实施例提供一种位流中的FLASH视频标签的搜寻方法,包含:设置第一开始位置以及关于第一搜寻程序的第一搜寻长度,其中第一搜寻长度指示对位流执行的第一搜寻程序的位流长度;自第一开始位置对位流开始第一搜寻程序以搜寻FLASH视频标签;其中当于第一搜寻长度中未找到FLASH视频标签时,设置关于接续第一搜寻程序的第二搜寻程序的第二开始位置,其中第一开始位置与第二开始位置是通过时间段分离,时间段等于第一搜寻长度与第一跳过长度的总和,其中第一跳过长度对应于第一搜寻程序;以及自第二开始位置对位流开始第二搜寻程序以搜寻FLASH视频标签。
本发明实施例另提供一种位流中的FLASH视频标签的搜寻装置,包含:设置模块,用于设置第一开始位置以及关于第一搜寻程序的第一搜寻长度,其中第一搜寻长度指示对位流执行的第一搜寻程序的位流长度;以及搜寻模块,用于自第一开始位置对位流开始第一搜寻程序以搜寻FLASH视频标签;其中当于第一搜寻长度中未找到FLASH视频标签时,设置模块进一步用于设置关于紧接第一搜寻程序的第二搜寻程序的第二开始位置,其中第一开始位置与第二开始位置是通过时间段分离,时间段等于第一搜寻长度与第一跳过长度的总和,其中第一跳过长度对应于第一搜寻程序;以及搜寻模块进一步用于自第二开始位置对位流开始第二搜寻程序以搜寻FLASH视频标签。
在参阅随后的通过附图解释说明的优选具体实施方式的详尽描述后,本领域的技术人员便可了解本发明的上述或者其他发明目的。
附图说明
图1是FLV标签的数据结构的示意图。
图2是如图1所示的FLV标签中的音频数据的数据结构的示意图。
图3是如图1所示的FLV标签中的视频数据的数据结构的示意图。
图4是依本发明第一实施例的位流中的FLV标签的搜寻装置的示意图。
图5是示意如何搜寻位流中的FLV标签的示意图。
图6是依本发明第二实施例的位流中的FLV标签的搜寻装置的方块示意图。
图7是如图4或图6所示的搜寻模块的实施范例的示意图。
图8是依本发明实施例的位流中的FLV标签的搜寻方法的范例的流程示意图。
图9是依本发明实施例的位流中的FLV标签的搜寻方法的另一范例的流程示意图。
图10是依本发明实施例的位流中的FLV标签的搜寻方法的又一范例的流程示意图。
图11A是依本发明实施例的通过参考FLV标签的特定特性逐字节顺序搜寻位流中的FLV标签的范例的流程示意图。
图11B是如图11A所示的步骤S1210的详细步骤的流程示意图。
图11C是如图11A所示的步骤S1220的详细步骤的流程示意图。
图11D是如图11A所示的步骤S1230的详细步骤的流程示意图。
具体实施方式
于说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属领域中普通技术人员应可理解,硬件制造商可能会用不同的名词来称呼同样的元件。本说明书及权利要求书并不以名称的差异来作为区分元件的方式,而是以元件在功能上的差异来作为区分的准则。于通篇说明书及权利要求当中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。另外,“耦接”一词在此是包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电气连接于该第二装置,或通过其他装置或连接手段间接地电气连接至该第二装置。
首先,为使本发明揭示的内容易于理解,下文将简述FLV标签的数据结构。
请参考图1,图1是FLV标签的数据结构的示意图。如图1所示,FLV标签包含名为“标签类型”的栏位、名为“数据大小”的栏位、名为“时戳(timestamp)”的栏位、名为“扩展时戳(timestampextended)”的栏位、名为“串流ID”的栏位、以及名为“数据”的栏位。此处名为“标签类型”的栏位指示标签的类型。请注意,当对应于栏位“标签类型”的字节值(bytevalue)等于第一数值(例如,8)时,其指示音频类型;对应于栏位“标签类型”的字节值等于第二数值(例如,9)时,其指示视频类型。此外,栏位“数据大小”指示FLV标签中的栏位“数据”的数据长度。栏位“时戳”以及“扩展时戳”与播放时间有关。对应于栏位“串流ID”的字节值通常为0。栏位“数据”指示FLV标签中的数据类型,例如音频数据、视频数据、或临时数据目标(scripdataobject)。
图2是如图1所示的FLV标签中的音频数据的数据结构的示意图,图3是如图1所示的FLV标签中的视频数据的数据结构的示意图。如图2所示,音频数据包含名为“声音格式”的子栏位、名为“声音速率”的子栏位、名为“声音大小”的子栏位、名为“声音类型”的子栏位、以及名为“声音数据”的子栏位。如图3所示,视频数据包含名为“帧类型(FrameType)”的子栏位、名为“编解码器ID”的子栏位、以及名为“视频数据”的子栏位。由于对应于每一子栏位的类型与描述已于图2与图3中详述,故为简洁起见,此处不另赘述。
请结合图5来参考图4,图4是依本发明第一实施例的位流中的FLV标签的搜寻装置400的示意图,而图5是示意如何搜寻位流中的FLV标签的示意图。如图4所示,搜寻装置400包含设置模块410与搜寻模块420。设置模块410用于设置第一开始位置P1以及关于第一搜寻程序SR1的第一搜寻长度L1,其中第一搜寻长度L1指示对位流BS执行的第一搜寻程序SR1的位流长度。搜寻模块420用于自第一开始位置P1(通过设置模块410决定)对位流BS开始第一搜寻程序SR1以搜寻FLV标签。当于第一搜寻长度L1中未找到FLV标签时,设置模块410进一步用于设置关于紧接第一搜寻程序SR1的第二搜寻程序SR2的第二开始位置P2,其中第一开始位置P1与第二开始位置P2是通过时间段T1分离,时间段T1等于第一搜寻长度L1与第一跳过(skip)长度L1’的总和,其中第一跳过长度L1’对应于第一搜寻程序SR1;以及搜寻模块420进一步用于自第二开始位置P2对位流BS开始第二搜寻程序SR2以搜寻FLV标签。
此外,当于第一搜寻长度L1中未找到FLV标签时,设置模块410进一步用于设置关于第二搜寻程序SR2的第二搜寻长度L2,其中第二搜寻长度L2指示对位流BS执行的第二搜寻程序SR2的位流长度。因此,当于第二搜寻长度L2中未找到FLV标签时,设置模块410进一步用于设置关于紧接第二搜寻程序SR2的第三搜寻程序SR3的第三开始位置P3,其中第二开始位置P2与第三开始位置P3是通过时间段T2分离,时间段T2等于第二搜寻长度L2与第二跳过长度L2’的总和,其中第二跳过长度L2’对应于第二搜寻程序SR2。以此类推,可轻易推导出后续的搜寻程序。举例而言,当于第n个搜寻长度Ln中未找到FLV标签时,设置模块410进一步用于设置关于第(n+1)个搜寻程序SR(n+1)的第(n+1)个搜寻长度L(n+1),其中第(n+1)个搜寻长度L(n+1)指示对位流BS执行的第(n+1)个搜寻程序SR(n+1)的位流长度。
请注意,于图5所示的实施例中,第二跳过长度L2’设置为较第一跳过长度L1’大,第三跳过长度L3’设置为较第二跳过长度L2’大,等等。但此处不应视作本发明的限制。于其他实施例中,举例而言,第二跳过长度L2’可设置为实质上等于第一跳过长度L1’,等等。当然,熟悉本案的人士可轻易理解,举凡援依本发明的精神对上述跳过长度L1’~Ln’所做的各种变化,皆应涵盖于权利要求书内。
此外,于本实施例中,第一搜寻长度L1(或第二搜寻长度L2)可设置为等于视频标签大小与音频标签大小的总和,其中视频标签大小与视频格式相关,而音频标签大小与音频格式相关。于其他实施例中,搜寻长度L1~Ln可设置为大于或小于视频标签大小与音频标签大小的总和,其亦应涵盖于权利要求书内。此外,于本实施例中,当位流BS中发生位流错误时,可将第一开始位置P1设置为错误位置,但此处不应视作本发明的限制。
图6是依本发明第二实施例的位流中的FLV标签的搜寻装置600的方块示意图。搜寻装置600的结构类似于图4所示的搜寻装置400,两者主要区别在于搜寻装置600更包含位于设置模块610与搜寻模块620之间的数据缓冲器630,用于缓冲如第一搜寻长度L1指示的位流BS的一部分。因此,搜寻模块620自第一开始位置P1对位流BS的已缓冲部分BS’开始第一搜寻程序SR1以搜寻FLV标签。
请注意,搜寻模块420/620可依据FLV标签的特定特性逐字节(bytebybyte)顺序搜寻位流BS(或位流BS的已缓冲部分BS’)中的FLV标签。下文将作出进一步描述。
图7是如图4或图6所示的搜寻模块420/620的实施范例的示意图。于本实施例中,搜寻模块420/620包含,但不限于,第一检测单元710、第二检测单元720、第三检测单元730、以及第四检测单元740。请同时参考图1与图2,第一检测单元710用于检测对应于位流中的标签类型的字节值是否等于第一数值(例如,8)(指示为音频类型)或第二数值(例如,9)(指示为视频类型)。第二检测单元720用于检测对应于时戳的字节值是否大于临界值TH以及当对应于标签类型的字节值等于第一数值(例如,8)或第二数值(例如,9)时,依据检测结果决定扩展时戳是否包含至少一个等于第一预定值(例如,0)的字节值。请注意,第二检测单元720可通过第一决定子单元722与第二决定子单元724实现。当对应于时戳的字节值不大于临界值TH时,第一决定子单元722用于决定对应于扩展时戳的字节值是否等于第一预定值(例如,0)。当对应于扩展时戳的字节值等于第一预定值(例如,0)时,第二决定子单元724用于决定对应于串流ID的字节值是否等于第二预定值(例如,0),以及当对应于时戳的字节值大于临界值TH时,用于决定对应于串流ID的字节值是否等于第二预定值(例如,0)。
此外,当对应于串流ID的字节值等于第二预定值(例如,0)时,第三检测单元730用于决定对应于位流中的标签类型的字节值是否等于第一数值(例如,8)。当对应于标签类型的字节值等于第一数值(例如,8)时,第四检测单元740用于决定是否已接收到音频信息,当已接收到音频信息时,用于决定对应于音频信息的字节值是否等于已接收的音频信息,以及当对应于音频信息的字节值等于已接收的音频信息时,用于指示已找到关于音频格式的FLV标签。
请注意,当对应于串流ID的字节值等于第二预定值(例如,0)时,如图7所示的第三检测单元730亦可用于决定对应于位流中的标签类型的字节值是否等于第二数值(例如,9);当对应于标签类型的字节值等于第二数值(例如,9)时,如图7所示的第四检测单元740可用于决定是否已接收到编解码器ID,当已接收到编解码器ID时,用于决定对应于编解码器ID的字节值是否等于已接收的编解码器ID,以及当对应于编解码器ID的字节值等于已接收的编解码器ID时,用于指示已找到关于视频格式的FLV标签。
请注意,于某些实施例中,临界值TH可设置为0xffffff,其指示对应于时戳的最大字节值(3个字节或24个位)。然而,其并非本发明的限制。于其他实施例中,临界值TH可设置为小于0xffffff,且当对应于时戳的字节值不大于临界值TH时,第一决定子单元722可用于决定对应于时戳与扩展时戳的剩余未利用部分的组合的字节值是否等于第一预定值(例如,0)。
请参考图8,图8是依本发明实施例的位流中的FLV标签的搜寻方法的范例的流程示意图。请注意,若可获得大体相同的结果,后续步骤并非限制于依据图8所示的确切顺序执行。搜寻方法包含,但不限于,下列步骤:
S810:设置第一开始位置以及关于第一搜寻程序的第一搜寻长度,其中第一搜寻长度指示对位流执行的第一搜寻程序的位流长度。
S820:自第一开始位置对位流开始第一搜寻程序以搜寻FLV标签。
S830:是否找到FLV标签。当找到FLV标签,转至步骤S840;否则,转至步骤S850。
S840:依据第一搜寻长度中找到的FLV标签来播放位流。
S850:设置关于接续第一搜寻程序的第二搜寻程序的第二开始位置,其中第一开始位置与第二开始位置是通过时间段分离,时间段等于第一搜寻长度与第一跳过长度的总和,其中第一跳过长度对应于第一搜寻程序。
S860:自第二开始位置对位流开始第二搜寻程序以搜寻FLV标签。
由于于阅读关于搜寻装置400的上述描述之后,熟悉本案的人士可轻易理解图8中的步骤的细节,故为简洁起见,此处不另赘述。此处步骤S810与S850可通过设置模块410执行,而步骤S820与S860可通过搜寻模块420执行。
图9是依本发明实施例的位流中的FLV标签的搜寻方法的另一范例的流程示意图。请注意,若可获得大体相同的结果,后续步骤并非限制于依据图9所示的确切顺序执行。搜寻方法包含,但不限于,下列步骤:
S810:设置第一开始位置以及关于第一搜寻程序的第一搜寻长度,其中第一搜寻长度指示对位流执行的第一搜寻程序的位流长度。
S820:自第一开始位置对位流开始第一搜寻程序以搜寻FLV标签。
S830:是否找到FLV标签。当找到FLV标签,转至步骤S840;否则,转至步骤S850。
S840:依据第一搜寻长度中找到的FLV标签来播放位流。
S850:设置关于接续第一搜寻程序的第二搜寻程序的第二开始位置,其中第一开始位置与第二开始位置是通过时间段分离,时间段等于第一搜寻长度与第一跳过长度的总和,其中第一跳过长度对应于第一搜寻程序。
S860:自第二开始位置对位流开始第二搜寻程序以搜寻FLV标签。
S910:是否找到FLV标签。当找到FLV标签,转至步骤S840;否则,转至步骤S920。
S920:设置关于第二搜寻程序的第二搜寻长度,其中第二搜寻长度指示对位流执行的第二搜寻程序的位流长度。
S930:设置关于紧接第二搜寻程序的第三搜寻程序的第三开始位置,其中第二开始位置与第三开始位置是通过时间段分离,时间段等于第二搜寻长度与第二跳过长度的总和,其中第二跳过长度对应于第二搜寻程序。
图9中所示的步骤类似于图8所示的步骤,而两者主要区别在于图9中所示的步骤进一步包含步骤S920与S930,分别用于当于第一搜寻长度中未找到FLV标签时,设置关于第二搜寻程序的第二搜寻长度,以及当于第二搜寻长度中未找到FLV标签时,设置关于紧接第二搜寻程序的第三搜寻程序的第三开始位置。
图10是依本发明实施例的位流中的FLV标签的搜寻方法的又一范例的流程示意图。请注意,若可获得大体相同的结果,后续步骤并非限制于依据图10所示的确切顺序执行。搜寻方法包含,但不限于,下列步骤:
S1010:缓冲通过第一搜寻长度指示的位流的一部分。
S810:设置第一开始位置以及关于第一搜寻程序的第一搜寻长度,其中第一搜寻长度指示对位流执行的第一搜寻程序的位流长度。
S1020:自第一开始位置对位流的已缓冲部分开始第一搜寻程序以搜寻FLV标签。
S830:是否找到FLV标签。当找到FLV标签,转至步骤S840;否则,转至步骤S850。
S840:依据第一搜寻长度中找到的FLV标签来播放位流。
S850:设置关于接续第一搜寻程序的第二搜寻程序的第二开始位置,其中第一开始位置与第二开始位置是通过时间段分离,时间段等于第一搜寻长度与第一跳过长度的总和,其中第一跳过长度对应于第一搜寻程序。
S860:自第二开始位置对位流开始第二搜寻程序以搜寻FLV标签。
图10中所示的步骤类似于图8所示的步骤,而两者主要区别在于图10中所示的步骤进一步包含步骤S1010,用于缓冲通过第一搜寻长度指示的位流的一部分,以及将原本图8所示的步骤S820替换为步骤S1020。请注意,于图6所示的上述实施例中亦已详细阐述步骤S1010与S1020的作业。
请注意,上述流程图的步骤仅用于说明本发明的目的,而并非本发明的限定。熟悉本案的人士应可理解,如图8、图9、以及图10所示的方法可包含其他中间步骤或多个步骤可合成单个步骤,上述依本发明的精神所做的等效变化与修饰,皆应涵盖于权利要求书内。举例而言,图8或图9中所示的步骤S820或图10中所示的步骤S1020的执行可依据FLV标签的特定特性逐字节顺序搜寻位流中的FLV标签,以及可进一步包含多个详细步骤。请参考图11A,图11A是依本发明实施例的通过参考FLV标签的特定特性逐字节顺序搜寻位流中的FLV标签的详细步骤的流程示意图。搜寻方法包含,但不限于,下列步骤:
S1110:检测对应于位流中的标签类型的字节值是否等于第一数值(指示音频类型)或第二数值(指示视频类型)。
S1120:检测对应于时戳的字节值以及检测对应于扩展时戳的字节值。
S1130:当对应于标签类型的字节值等于第一数值时,决定是否已找到关于音频格式的FLV标签。
S1140:当对应于标签类型的字节值等于第二数值时,决定是否已找到关于视频格式的FLV标签。
图11B是如图11A所示的步骤S1120的详细步骤的流程示意图,包含下列步骤:
S1121:当对应于时戳的字节值不大于临界值时,决定对应于扩展时戳的字节值是否等于第一预定值。
S1122:当对应于扩展时戳的字节值等于第一预定值时,决定对应于串流ID的字节值是否等于第二预定值。
S1123:当对应于时戳的字节值大于临界值时,决定对应于串流ID的字节值是否等于第二预定值。
图11C是如图11A所示的步骤S1130的详细步骤的流程示意图,包含下列步骤:
S1131:当对应于串流ID的字节值等于第二预定值时,决定对应于位流中的标签类型的字节值是否等于第一数值。
S1132:当对应于标签类型的字节值等于第一数值时,决定是否已接收到音频信息。
S1133:当已接收到音频信息时,决定对应于音频信息的字节值是否等于已接收的音频信息。
S1134:当对应于音频信息的字节值等于已接收的音频信息时,指示已找到关于音频格式的FLV标签。
图11D是如图11A所示的步骤S1140的详细步骤的流程示意图,包含下列步骤:
S1141:当对应于串流ID的字节值等于第二预定值时,决定对应于位流中的标签类型的字节值是否等于第二数值。
S1142:当对应于标签类型的字节值等于第二数值时,决定是否已接收到编解码器ID。
S1143:当已接收到编解码器ID时,决定对应于编解码器ID的字节值是否等于已接收的编解码器ID。
S1144:当对应于编解码器ID的字节值等于已接收的编解码器ID时,指示已找到关于视频格式的FLV标签。
请注意,上述流程图的步骤仅用于说明本发明的目的,而并非本发明的限定。熟悉本案的人士应可理解,如图8、图9、图10、以及图11A-图11D所示的方法可包含其他中间步骤或多个步骤可合成单个步骤,上述依本发明的精神所做的等效变化与修饰,皆应涵盖于权利要求书内。
上述实施例仅用于说明本发明的目的,而并非本发明的限定。简言之,本发明提供一种位流中的FLV标签的搜寻方法及其搜寻装置。通过将本发明揭露的跳过长度插入每一搜寻程序中,可较轻易、较快速地找到FLV标签来撷取视频数据与音频数据。因此,当FLV标签中发生错误时,可不停止地播放FLV格式的数据的播放程序。
以上所述仅为本发明的较佳实施例,举凡熟悉本案的人士援依本发明的精神所做的等效变化与修饰,皆应涵盖于权利要求书内。

Claims (26)

1.一种位流中的FLASH视频标签的搜寻方法,包含:
设置一第一开始位置以及关于一第一搜寻程序的一第一搜寻长度,其中该第一搜寻长度指示对该位流执行的该第一搜寻程序的一位流长度;
自该第一开始位置对该位流开始该第一搜寻程序以搜寻该FLASH视频标签;
其中当于该第一搜寻长度中未找到该FLASH视频标签时,设置关于接续该第一搜寻程序的一第二搜寻程序的一第二开始位置,其中该第一开始位置与该第二开始位置是通过一时间段分离,该时间段等于该第一搜寻长度与一第一跳过长度的总和,其中该第一跳过长度对应于该第一搜寻程序;以及
自该第二开始位置对该位流开始该第二搜寻程序以搜寻该FLASH视频标签。
2.根据权利要求1所述的位流中的FLASH视频标签的搜寻方法,更包含:
当于该第一搜寻长度中未找到该FLASH视频标签时,设置关于该第二搜寻程序的一第二搜寻长度,其中该第二搜寻长度指示对该位流执行的该第二搜寻程序的一位流长度;以及
当于该第二搜寻长度中未找到该FLASH视频标签时,设置关于紧接该第二搜寻程序的一第三搜寻程序的一第三开始位置,其中该第二开始位置与该第三开始位置是通过另一时间段分离,该另一时间段等于该第二搜寻长度与一第二跳过长度的总和,其中该第二跳过长度对应于该第二搜寻程序。
3.根据权利要求2所述的位流中的FLASH视频标签的搜寻方法,其中该第二跳过长度实质上等于该第一跳过长度。
4.根据权利要求2所述的位流中的FLASH视频标签的搜寻方法,其中该第二跳过长度大于该第一跳过长度。
5.根据权利要求1所述的位流中的FLASH视频标签的搜寻方法,其中该第一搜寻长度等于一视频标签大小与一音频标签大小的总和,该视频标签大小与一视频格式相关且该音频标签大小与一音频格式相关。
6.根据权利要求1所述的位流中的FLASH视频标签的搜寻方法,其中当该位流中发生一位流错误时,该第一开始位置被设置为一错误位置。
7.根据权利要求1所述的位流中的FLASH视频标签的搜寻方法,更包含:
缓冲通过该第一搜寻长度指示的该位流的一部分;
其中该自该第一开始位置对该位流开始该第一搜寻程序的步骤包含:
自该第一开始位置对该位流的已缓冲部分开始该第一搜寻程序以搜寻该FLASH视频标签。
8.根据权利要求1所述的位流中的FLASH视频标签的搜寻方法,其中该自该第一开始位置对该位流开始该第一搜寻程序的步骤包含:
依据该FLASH视频标签的一特定特性逐字节顺序搜寻该位流中的该FLASH视频标签。
9.根据权利要求8所述的位流中的FLASH视频标签的搜寻方法,其中该依据该FLASH视频标签的该特定特性逐字节顺序搜寻该位流中的该FLASH视频标签的步骤包含:
检测对应于该位流中的一标签类型的字节值是否等于指示一音频类型的一第一数值或指示一视频类型的一第二数值。
10.根据权利要求9所述的位流中的FLASH视频标签的搜寻方法,其中该依据该FLASH视频标签的该特定特性逐字节顺序搜寻该位流中的该FLASH视频标签的步骤更包含:
当对应于该标签类型的字节值等于该第一数值或该第二数值时,检测对应于一时戳的字节值是否大于一临界值以及依据一检测结果决定一扩展时戳是否包含至少一个等于一第一预定值的字节值。
11.根据权利要求10所述的位流中的FLASH视频标签的搜寻方法,其中该依据该检测结果决定该扩展时戳是否包含该至少一个等于该第一预定值的字节值的步骤包含:
当对应于该时戳的字节值不大于该临界值时,决定对应于该扩展时戳的字节值是否等于该第一预定值;
当对应于该扩展时戳的字节值等于该第一预定值时,决定对应于一串流ID的字节值是否等于一第二预定值;以及
当对应于该时戳的字节值大于该临界值时,决定对应于该串流ID的字节值是否等于该第二预定值。
12.根据权利要求11所述的位流中的FLASH视频标签的搜寻方法,其中该依据该FLASH视频标签的该特定特性逐字节顺序搜寻该位流中的该FLASH视频标签的步骤更包含:
当对应于该串流ID的字节值等于该第二预定值时,决定对应于该位流中的该标签类型的字节值是否等于该第一数值;
当对应于该标签类型的字节值等于该第一数值时,决定是否已接收到一音频信息;
当已接收到该音频信息时,决定对应于该音频信息的字节值是否等于该已接收的音频信息;以及
当对应于该音频信息的字节值等于该已接收的音频信息时,指示已找到关于一音频格式的该FLASH视频标签。
13.根据权利要求11所述的位流中的FLASH视频标签的搜寻方法,其中该依据该FLASH视频标签的该特定特性逐字节顺序搜寻该位流中的该FLASH视频标签的步骤更包含:
当对应于该串流ID的字节值等于该第二预定值时,决定对应于该位流中的该标签类型的字节值是否等于该第二数值;
当对应于该标签类型的字节值等于该第二数值时,决定是否已接收到一编解码器ID;
当已接收到该编解码器ID时,决定对应于该编解码器ID的字节值是否等于该已接收的编解码器ID;以及
当对应于该编解码器ID的字节值等于该已接收的编解码器ID时,指示已找到关于一视频格式的该FLASH视频标签。
14.一种位流中的FLASH视频标签的搜寻装置,包含:
一设置模块,用于设置一第一开始位置以及关于一第一搜寻程序的一第一搜寻长度,其中该第一搜寻长度指示对该位流执行的该第一搜寻程序的一位流长度;以及
一搜寻模块,用于自该第一开始位置对该位流开始该第一搜寻程序以搜寻该FLASH视频标签;
其中当于该第一搜寻长度中未找到该FLASH视频标签时,该设置模块进一步用于设置关于紧接该第一搜寻程序的一第二搜寻程序的一第二开始位置,其中该第一开始位置与该第二开始位置是通过一时间段分离,该时间段等于该第一搜寻长度与一第一跳过长度的总和,其中该第一跳过长度对应于该第一搜寻程序;以及该搜寻模块进一步用于自该第二开始位置对该位流开始该第二搜寻程序以搜寻该FLASH视频标签。
15.根据权利要求14所述的位流中的FLASH视频标签的搜寻装置,其中该设置模块进一步用于:
当于该第一搜寻长度中未找到该FLASH视频标签时,设置关于该第二搜寻程序的一第二搜寻长度,其中该第二搜寻长度指示对该位流执行的该第二搜寻程序的一位流长度;以及
当于该第二搜寻长度中未找到该FLASH视频标签时,设置关于紧接该第二搜寻程序的一第三搜寻程序的一第三开始位置,其中该第二开始位置与该第三开始位置是通过另一时间段分离,该另一时间段等于该第二搜寻长度与一第二跳过长度的总和,其中该第二跳过长度对应于该第二搜寻程序。
16.根据权利要求15所述的位流中的FLASH视频标签的搜寻装置,其中该第二跳过长度实质上等于该第一跳过长度。
17.根据权利要求15所述的位流中的FLASH视频标签的搜寻装置,其中该第二跳过长度大于该第一跳过长度。
18.根据权利要求14所述的位流中的FLASH视频标签的搜寻装置,其中该第一搜寻长度等于一视频标签大小与一音频标签大小的总和,该视频标签大小有关于一视频格式且该音频标签大小有关于一音频格式。
19.根据权利要求14所述的位流中的FLASH视频标签的搜寻装置,其中当该位流中发生一位流错误时,该设置模块将该第一开始位置设置为一错误位置。
20.根据权利要求14所述的位流中的FLASH视频标签的搜寻装置,更包含:
一数据缓冲器,用于缓冲通过该第一搜寻长度指示的该位流的一部分;
其中该搜寻模块自该第一开始位置对该位流的已缓冲部分开始该第一搜寻程序以搜寻该FLASH视频标签。
21.根据权利要求14所述的位流中的FLASH视频标签的搜寻装置,其中该搜寻模块依据该FLASH视频标签的一特定特性逐字节顺序搜寻该位流中的该FLASH视频标签。
22.根据权利要求21所述的位流中的FLASH视频标签的搜寻装置,其中该搜寻模块包含:
一第一检测单元,用于检测对应于该位流中的一标签类型的字节值是否等于指示一音频类型的一第一数值或指示一视频类型的一第二数值。
23.根据权利要求22所述的位流中的FLASH视频标签的搜寻装置,其中该搜寻模块更包含:
一第二检测单元,用于当对应于该标签类型的字节值等于该第一数值或该第二数值时,检测对应于一时戳的字节值是否大于一临界值以及依据一检测结果决定一扩展时戳是否包含至少一个等于一第一预定值的字节值。
24.根据权利要求23所述的位流中的FLASH视频标签的搜寻装置,其中该第二检测单元包含:
一第一决定子单元,用于当对应于该时戳的字节值不大于该临界值时,决定对应于该扩展时戳的字节值是否等于该第一预定值;以及
一第二决定子单元,用于当对应于该扩展时戳的字节值等于该第一预定值时,决定对应于一串流ID的字节值是否等于一第二预定值,以及用于当对应于该时戳的字节值大于该临界值时,决定对应于该串流ID的字节值是否等于该第二预定值。
25.根据权利要求24所述的位流中的FLASH视频标签的搜寻装置,其中该搜寻模块更包含:
一第三检测单元,用于当对应于该串流ID的字节值等于该第二预定值时,决定对应于该位流中的该标签类型的字节值是否等于该第一数值;以及
一第四检测单元,用于当对应于该标签类型的字节值等于该第一数值时,决定是否已接收到一音频信息,用于当已接收到该音频信息时,决定对应于该音频信息的字节值是否等于该已接收的音频信息,以及用于当对应于该音频信息的字节值等于该已接收的音频信息时,指示已找到关于一音频格式的该FLASH视频标签。
26.根据权利要求24所述的位流中的FLASH视频标签的搜寻装置,其中该搜寻模块更包含:
一第三检测单元,用于当对应于该串流ID的字节值等于该第二预定值时,决定对应于该位流中的该标签类型的字节值是否等于该第二数值;以及
一第四检测单元,用于当对应于该标签类型的字节值等于该第二数值时,决定是否已接收到一编解码器ID,用于当已接收到该编解码器ID时,决定对应于该编解码器ID的字节值是否等于该已接收的编解码器ID,以及用于当对应于该编解码器ID的字节值等于该已接收的编解码器ID时,指示已找到关于一视频格式的该FLASH视频标签。
CN201080068075.3A 2010-07-15 2010-07-15 位流中的flash视频标签的搜寻方法及其搜寻装置 Expired - Fee Related CN103004189B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/075184 WO2012006784A1 (en) 2010-07-15 2010-07-15 Method for searching for flash video tag in bitstream and searching apparatus thereof

Publications (2)

Publication Number Publication Date
CN103004189A CN103004189A (zh) 2013-03-27
CN103004189B true CN103004189B (zh) 2015-11-25

Family

ID=45468883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080068075.3A Expired - Fee Related CN103004189B (zh) 2010-07-15 2010-07-15 位流中的flash视频标签的搜寻方法及其搜寻装置

Country Status (4)

Country Link
US (1) US9317504B2 (zh)
CN (1) CN103004189B (zh)
TW (1) TWI465106B (zh)
WO (1) WO2012006784A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140063339A1 (en) * 2012-09-04 2014-03-06 Google Inc. In Browser Muxing and Demuxing For Video Playback
TW201547271A (zh) * 2014-06-04 2015-12-16 Wistron Corp 播放方法與應用其之發送裝置、播放裝置與通訊系統

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312531A (zh) * 2007-11-02 2008-11-26 北京创毅视讯科技有限公司 一种广播系统中的流媒体业务传输方法及流媒体帧封装器
CN101415069A (zh) * 2008-10-22 2009-04-22 清华大学 一种服务器及其在线播放视频的发送方法
CN101778289A (zh) * 2010-03-08 2010-07-14 上海交通大学 基于flv视频结构特征的数字视频信息嵌入和提取的方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377748B1 (en) * 1997-02-18 2002-04-23 Thomson Licensing S.A. Replay bit stream searching
EP2200296B1 (en) * 1999-09-20 2018-01-31 TiVo Solutions Inc. Closed caption tagging system
US7469010B2 (en) * 2001-01-08 2008-12-23 Canon Kabushiki Kaisha Extracting key frames from a video sequence
US8582659B2 (en) * 2003-09-07 2013-11-12 Microsoft Corporation Determining a decoding time stamp from buffer fullness
US7739421B1 (en) * 2005-10-07 2010-06-15 Agere Systems Inc. Buffer management method and system with data displayed directly from buffers
US20080240227A1 (en) * 2007-03-30 2008-10-02 Wan Wade K Bitstream processing using marker codes with offset values
GB0706496D0 (en) * 2007-04-03 2007-05-09 British Telecomm Method and system for video quality assessment
US8209223B2 (en) * 2007-11-30 2012-06-26 Google Inc. Video object tag creation and processing
US8543720B2 (en) * 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
CN101246491B (zh) 2008-03-11 2014-11-05 孟智平 一种在网页中使用描述文件的方法和系统
US8612384B2 (en) * 2008-04-02 2013-12-17 Michael Andrew Hall Methods and apparatus for searching and accessing multimedia content
US8576923B2 (en) * 2008-04-16 2013-11-05 Broadcom Corporation Bitstream navigation techniques
KR100909669B1 (ko) * 2009-05-13 2009-07-29 (주)디지탈아리아 모바일 단말 및 임베디드 단말의 웹 브라우저 내에서 플래시 기반 비디오 콘텐츠의 재생 방법
US20120002718A1 (en) * 2010-07-01 2012-01-05 Samsung Electronics Co., Ltd. Method and apparatus for selecting video codec to be used between stations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312531A (zh) * 2007-11-02 2008-11-26 北京创毅视讯科技有限公司 一种广播系统中的流媒体业务传输方法及流媒体帧封装器
CN101415069A (zh) * 2008-10-22 2009-04-22 清华大学 一种服务器及其在线播放视频的发送方法
CN101778289A (zh) * 2010-03-08 2010-07-14 上海交通大学 基于flv视频结构特征的数字视频信息嵌入和提取的方法

Also Published As

Publication number Publication date
TWI465106B (zh) 2014-12-11
US9317504B2 (en) 2016-04-19
WO2012006784A1 (en) 2012-01-19
CN103004189A (zh) 2013-03-27
TW201204013A (en) 2012-01-16
US20130117295A1 (en) 2013-05-09

Similar Documents

Publication Publication Date Title
JP3894940B2 (ja) 映像音声記録装置
CN100538861C (zh) 信息重放装置
CN100588261C (zh) 将视频数据及音频数据同步的方法及系统
WO2017092344A1 (zh) 一种视频的播放方法和装置
KR19980073528A (ko) 엠펙시스템 복호기장치
CN101505417B (zh) 时戳附加装置、时戳附加方法
US6278838B1 (en) Peak-ahead FIFO for DVD system stream parsing
CN101206899A (zh) 用于编码/解码具有预览功能的多媒体数据的方法以及装置
CN103747226B (zh) 视频信息再现方法和视频信息再现装置
WO2017092314A1 (zh) 一种音频数据处理的方法和装置
CN103004189B (zh) 位流中的flash视频标签的搜寻方法及其搜寻装置
US8509227B2 (en) Data analysis apparatus and data analysis method
KR100390841B1 (ko) 피아이디 검출을 고속화하기 위한 피아이디 저장 및 비교장치 및 방법
US7697537B2 (en) System and method for using generic comparators with firmware interface to assist video/audio decoders in achieving frame sync
US20110035670A1 (en) Audio playback method for electronic device
CN101098486A (zh) 利用封包取代机制以处理错误封包的接收系统和相关方法
US8213778B2 (en) Recording device, reproducing device, recording medium, recording method, and LSI
US20080130941A1 (en) Watermark detection device
CN102238393A (zh) 一种音频码流的重同步方法及重同步装置
CN101312538A (zh) 传输系统、记录设备、传输方法、记录方法和程序
CN103747353A (zh) 一种节目排列方法及装置
US20110022400A1 (en) Audio resume playback device and audio resume playback method
CN103297843A (zh) 一种用于mpeg ts文件回放的节目选择方法
US6341198B1 (en) System for byte packing multiple data channels in an MPEG/DVD system
KR100329830B1 (ko) 디지털 텔레비젼 시스템의 ac-3 오디오 수신 장치 및그 처리 방법

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: 20151125

Termination date: 20210715

CF01 Termination of patent right due to non-payment of annual fee