CN101828351A - 存储和读取具有媒体数据容器和元数据容器的文件的设备和方法 - Google Patents

存储和读取具有媒体数据容器和元数据容器的文件的设备和方法 Download PDF

Info

Publication number
CN101828351A
CN101828351A CN200880108409A CN200880108409A CN101828351A CN 101828351 A CN101828351 A CN 101828351A CN 200880108409 A CN200880108409 A CN 200880108409A CN 200880108409 A CN200880108409 A CN 200880108409A CN 101828351 A CN101828351 A CN 101828351A
Authority
CN
China
Prior art keywords
data sample
error message
sample
container
file
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
Application number
CN200880108409A
Other languages
English (en)
Other versions
CN101828351B (zh
Inventor
S·多拉
H·福克斯
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Publication of CN101828351A publication Critical patent/CN101828351A/zh
Application granted granted Critical
Publication of CN101828351B publication Critical patent/CN101828351B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • H04L1/0082Formats for control data fields explicitly indicating existence of error in data being transmitted, e.g. so that downstream stations can avoid decoding erroneous packet; relays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Automatic Disk Changers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种方法,用于输出具有媒体数据容器(16)和元数据容器(14)的文件(12),所述方法包括:提供与数据样本(20)相关的差错信息(19);以及将所述差错信息和与所述数据样本相关的样本号(21)一起存储在元数据容器(14)中。

Description

存储和读取具有媒体数据容器和元数据容器的文件的设备和方法
技术领域
本发明涉及媒体存储、传输、接收和回放,本发明具体涉及在具有媒体数据容器和元数据容器的文件中的媒体存储或从所述文件的媒体回放,所述文件例如是基于ISO(国际标准化组织)基础媒体文件格式的文件。
背景技术
各种电子设备能够接收和呈现媒体数据流。例如,可以根据例如DVB-H标准(数字视频广播-手持)或DVB-T标准(数字视频广播-地面),从广播媒体流的数字视频广播网络上接收这样的媒体数据流。
DVB-T使用自包含的MPEG-2(MPEG=动态图像专家组)传输流,该传输流包含根据国际标准ISO/IEC 13818(IEC=国际电子技术委员会)的基本MPEG-2视频和音频流。MPEG-2传输流是一种在当今的许多广播系统中使用的复用流。它是一个或更多个流节目(典型地是音频和视频以及其他数据)的流复用。MPEG-2传输流在节目内的所有媒体流中共享每节目的公共时钟,并使用加时间戳的媒体样本(访问单元AU)。这实现了发送方与接收方的时钟同步,以及音频与视频流的唇音同步。
对于DVB-H,以RTP(实时传输协议)、UDP(用户数据报协议)、IP(因特网协议)和MPE(多协议封装)对基本音频和视频流进行封装,以用于IP数据传播。RTP用于多媒体数据在IP网络上的有效实时传送。通常,复用是通过将不同的网络端口与每个不同的媒体流相关联来完成的,例如,一个网络端口用于视频,而另一个用于音频。
将流服务定义为以时间约束或无约束的方式传送的、用于接收过程中立即消耗的同步媒体流的集合。每个流会话可以包括音频、视频和/或如定时文本之类的实时媒体数据。例如,通过移动电视接收电影的媒体数据的用户可以观看该电影和/或将其记录到文件中。为此目的,通常对接收到的媒体流的接收数据分组进行解分组,以将原始媒体数据存储至文件。也就是说,首先对接收到的RTP分组或MPEG-2分组进行解分组,以获得它们的以媒体数据样本形式存在的有效载荷,如压缩的视频或音频帧。接着,在解分组之后,重放所获得的媒体数据样本或将其存储至文件。通常,通过如H.264/AVC(AVC=高级视频编码)视频格式和/或MPEG-4 HE-AACv2(HE-AACv2=高效高级音频编码第2版)音频格式之类的格式,来对所获得的媒体样本进行压缩。在要存储具有这样的视频和/或音频格式的媒体数据样本时,可以以所谓的3GP文件格式(也称为3GPP(第3代合作伙伴项目)文件格式)或MP4(MPEG-4)文件格式对其进行存储。3GP和MP4都是从ISO/IEC国际标准14496-12:2005“Informationtechnology-coding of audio-visual objects-part 12:ISO base media file format”中规定的ISO基础媒体文件格式中导出的。该格式的文件包括媒体数据和元数据。为了可以操作这样的文件,这些数据均必须存在。将媒体数据存储在与文件相关的媒体数据容器(mdat)中,而将元数据存储在文件的元数据容器(moov)中。传统上,媒体数据容器包括实际媒体样本。即,它可以包括例如隔行扫描的、按时间排序的视频和/或音频帧。因此,每个媒体在元数据容器moov中具有其自身的元数据轨道(trak),描述该媒体内容的属性。元数据容器moov中的附加容器(也称为箱)可以包括关于文件属性、文件内容等的信息。
近来,国际标准化组织定义了针对基于ISO基础媒体文件格式的文件的、所谓的接收提示轨道。这些接收提示轨道可以用于存储复用的和/或分组化的流,例如接收到的MPEG-2传输流或RTP分组。接收提示轨道可以用于客户端存储和对接收到的数据分组的回放。在本说明书的后续章节中,这也将表示为数据样本。因此,将一个流的接收到的MPEG-2 TS或RTP分组直接存储在接收提示轨道中作为例如预先计算的样本或构造器。即,在接收提示轨道的情况下,将数据分组作为样本存储在基于ISO基础媒体文件格式的文件的媒体数据容器中。可以通过模拟正常流的接收,并从接收提示轨道中读取所存储的数据分组,如同它们是通过IP接收的一样,来完成从接收提示轨道的回放。
ISO/IEC国际标准14496-12:2005“Information technology-coding ofaudio-visual objects-part 12:ISO base media file format”将样本组合(samplegrouping)定义为:基于分组标准,将轨道中的每个样本分配为一个样本组的成员。由于轨道中的样本可以有多于一种样本组合,所以每种样本组合都具有表示组合类型的类型字段。
在两个步骤中定义样本组。首先,在样本组描述箱(sgpd)中定义了组合的类型。第二步,将该描述分配给样本-组箱(sample-to-group box,sbgp)中的样本。样本组机制是可扩展的,且常用于AVC及SVC专用扩展和专有扩展。
以下给出了语法的非穷举描述:
abstract class SampleGroupDescriptionEntry{
 //专有数据
}
这里给出了SampleGroupDescriptionBox的简化版本。在ISO文件格式中,存在依赖于句柄类型的专用版本。
aligned(8) class SampleGroupDescriptionBox extends
FullBox(″sgpd″){
 unsigned int(32) grouping_type;
 unsigned int(32) entry_count;
 for(i=1;i<=entry_count;i++){
        SampleGroupDescriptionEntry();
 }
}
在该箱的一个实例中,可以定义多个组,且每个样本必须是一个组的成员。以下提供了SampleToGroup箱的语法。
aligned(8) class Sample-to-group box extends FullBox(″sbgp″){
 unsigned int(32) grouping_type;
 unsigned int(32) entry_count;
 for(i=1;i<=entry_count;i++){
        unsigned int(32) sample_count;
        unsigned int(32) group_desc_index;
 }
}
以下抽象示例将示出样本组如何工作:
假定必须描述每个样本的“颜色”。对于完整的样本集合,将具有相同颜色的所有样本组合在一起。
首先,必须指定哪些颜色可以出现。针对每种颜色,定义“SampleGroupDescriptionEntry”。定义grouping_type的值为“颜色”,并将所有的颜色描述条目存储在grouping_type“颜色”的SampleGroupDescriptionBox中。
其次,“颜色”grouping_type的样本-组箱描述了哪个样本具有哪种颜色。这是以如下区分方式完成的:每个列表条目都描述了多少连续样本具有相同颜色。这就允许针对极少的颜色变化进行非常紧凑的存储,例如:首先,大量样本具有颜色1,然后,多个样本具有颜色2,等等。
对于三种颜色和含有50个样本的文件,基于上述语法的表可以像这样:
SampleGroupDescriptionBox(″sgpd″){
 grouping_type=″colr″;
     entry_count=3;//=样本组描述条目的数量
     //含有三个样本组描述条目的列表:
 ″Black″
 ″White″
 ″Red″
 }
 Sample-to-group box(″sbgp″){
  grouping_type=″colr″;
entry_count=5;//=以下列表的条目数
  //所有50个样本的列表:
      (3,1)//=文件的前3个样本是黑色
      (10,3)//=文件中接下来的10个样本是红色
      (8,2)//=文件中接下来的8个样本是白色
      (20,3)//=文件中接下来的20个样本是白色
      (9,1)//=文件的最后9个样本是黑色
}
如上所述,样本组非常适合于将样本分类到不同类别中,但当在文件中需要描述与个别样本相关的事件或个别样本的属性时,样本组不很适合。其主要原因是:样本组总是描述样本的完整集合,不属于组条目(group entry)的样本必须是“不属于任何组”这一组条目的成员。另一个原因是:对样本所属的样本组的查找速度较慢。
事件或属性应当理解为单个样本或相对少量样本的索引。事件或属性出现在有索引的样本上,但可以影响任意数量的随后样本,例如,可以将随机存取点视为事件。
与以上示例对比的事件示例是“颜色改变”。如果不是必须对颜色本身进行索引,而是必须对从一个颜色到另一个的改变进行索引,则样本组并不很适合,这是因为基于“样本组”的索引必须还包括不想要的信息“无颜色改变”。特别是在改变频繁的情况下,这可能导致索引表的效率较低。对文件结尾附近的事件进行解析往往运算起来比较复杂,这是因为必须将所有样本计数(还有“非事件的”组样本的计数)相加。
对于特技播放(trick-play)模式(例如快进、在文件中搜索等等),需要有效地识别与期望的入口点最接近的随机存取点。因此,必须针对正确的入口点来检查该事件适用的样本表。随机存取点可以存在于多个等级,即例如:首先在文件中需要视频解码器配置,然后需要视频轨道的最接近的I-帧,其上是复用级的入口点(例如,MPEG-2 TS情况下的PAT)。
另外的问题是:样本组不允许样本与多个组描述相关联。这在样本组用于解决这种索引问题时,事件的堆叠(stacking)变得复杂,且不能给出紧凑的表示。
发明内容
因此,本发明的目的是提供一种方法,用于将与数据样本相关的事件或属性有效地关联在具有媒体数据容器和元数据容器的文件中,以允许对所述样本的有效查找。
上述目的是通过根据权利要求1所述的记录文件的设备、根据权利要求17所述的记录文件的方法、根据权利要求19所述的读取文件的设备、以及根据权利要求26所述的读取文件的方法来实现的。
为了实现上述目的,本发明的实施例还提供了执行本发明方法的计算机程序。
本发明基于如下发现:可以通过将属性信息和相关的样本号一起存储在基于ISO基础媒体文件格式的文件的元数据容器中,来提供与指定样本或特定数量的后续样本相关的事件或属性。在具体实施例中,属性信息与特定样本或样本序列的差错或者与所述特定样本或样本序列的差错相关。为了存储与差错相关的元数据,文件的元数据容器(“moov”)中提供有专用容器或箱。因此,在两个步骤中定义要存储的差错信息。首先,在样本属性描述箱(sample-property-description box,“spdb”)中定义差错类型。在第二步骤中,将该差错类型描述分配给样本-属性箱(sample-to-property box,“stpb”)中的指定样本。
根据本发明的优选实施例,样本表(sample-table)箱(“stbl”)中包括与属性或差错相关的元数据箱spdb、stpb,该样本表箱包括轨道中的样本的时间和数据索引。使用样本表箱stbl所包括的表,可以及时定位样本,确定其类型、其大小、容器(在文件的媒体数据部分中)以及进入该容器的偏移。
利用本发明的实施例,可以有效地确定错误样本或错误样本附近的样本。例如,错误样本可能是:受损的样本或丢失的样本,其或者未存储于媒体数据容器中,或者在将其保存到文件之前,在从发射机到接收机的数据样本先前传输期间丢失。
根据本发明的实施例,所述样本为在流会话期间接收的数据分组(例如RTP或MPEG-2传输流数据分组),或者如在接收提示轨道的情况下已被存储在基于ISO基础媒体文件格式的文件的媒体数据容器中的数据分组。
根据本发明的实施例,元数据容器(moov)中所存储的差错信息包括定性的差错信息,例如差错类型以及相关联的错误数据样本的样本号。另外,差错信息还可以包括定量的差错信息,例如差错的详细描述。
为了产生所述文件,本发明的实施例提供了一种设备,用于输出具有媒体数据容器和元数据容器的文件,所述设备包括:差错信息提供器,用于提供与数据样本相关的差错信息;以及记录器,用于将差错信息和与数据样本相关的样本号一起存储在元数据容器中。
此外,本发明的实施例提供了一种设备,用于读取具有媒体数据容器和元数据容器的文件,其中,所述媒体数据容器存储有数据样本,所述元数据容器存储有与所存储的数据样本相关的差错信息,所述设备包括:解析器,用于解析元数据容器,以找到与待处理的数据样本相关的差错信息;以及处理器,用于在相关差错信息指示待处理的数据样本错误的情况下,提供差错专用的措施或动作。
例如,所述差错专用的措施可以是差错隐藏或差错指示措施。例如在所存储的数据样本或分组的回放期间,可以执行差错隐藏以对用户隐藏错误的数据样本或数据分组。例如,当回放音频时,通过本领域公知的具体隐藏方法,来替换丢失的或受损的音频帧。这同样适用于丢失的或受损的视频帧。
此外,所存储的差错信息可以用于:在接收到完整传输的数据样本并将其存储到文件之后,确定地识别所有错误接收的数据样本。本发明的实施例提供了一种设备,用于读取和解析元数据容器,以识别媒体数据容器中所存储的错误数据样本,并以非实时的操作从数据服务器(例如流服务器)请求和接收这些错误数据样本的新拷贝。使用新接收的无差错数据样本替换在件中的错误数据样本,以将所存储的包含差错的文件转换成无差错的文件。
本发明的实施例提供了差错的紧凑表示。样本号可以用于快速查找表。这对于长文件(例如完整电影的记录)而言是特别有益的。通过使差错信息与样本号直接相关,可以在尝试处理错误数据分组或数据样本之前“警告”或通知解分组器或解码器,以便可以设计出适当的对策。
附图说明
下面结合附图和实施例对本发明作进一步说明:
图1a为本发明的一个实施例中用于输出具有媒体数据容器和元数据容器的文件的设备的示意框图;
图1b为本发明的另一实施例中用于输出具有媒体数据容器和元数据容器的文件的设备的示意框图;
图1c为本发明的又一实施例中用于输出具有媒体数据容器和元数据容器的文件的设备的示意框图;
图2为本发明的一实施例中的样本表箱的结构图;
图3为本发明的一实施例中用于输出所述文件的方法的流程图;
图4为本发明的实施例中用于读取具有媒体数据容器和元数据容器的文件的设备的示意框图。
具体实施方式
为了解释而非限制的目的,以下描述提出了具体细节,例如特定的实施例、过程、技术等等。但本领域技术人员应当理解,除这些具体细节之外,还可以采用其他实施例。例如,虽然使用对不同实施例的非限定性示例应用来便于以下描述,但该技术可以用于任何类型的系统。在某些示例中,省略了对公知的方法、接口、电路和设备的详细描述,以避免以不必要的细节使该描述晦涩难懂。此外,在某些图中示出了各个块。本领域技术人员应当理解,这些块的功能是以如下方式实现的:使用各硬件电路、使用各软件程序和数据、结合合适编程的数字微处理器或通用计算机、使用专用集成电路(ASIC)和/或使用一个或更多个数字信号处理器(DSP)。
图1a示出了用于输出具有媒体数据容器14和元数据容器16的文件12的设备10的示例性框图。
设备10包括:差错信息提供器18,用于提供与输入至差错信息提供器18的数据样本20相关的差错信息19。此外,设备10包括记录器22,用于将差错信息19和与数据样本20相关的样本号21一起存储在文件12的元数据容器14中。
根据本发明的实施例,差错信息提供器18适于分析数据样本20的序列,以提供与所分析的数据样本序列中丢失的数据样本相关的差错信息19。这可以用于识别例如在流会话期间丢失了的样本。在检测到丢失的数据样本的情况下,记录器22可以将指示丢失的数据样本的差错信息19和与丢失的数据样本或分组相邻的或在其附近的现有数据样本的样本号21一起存储。换言之,由于记录器22不能存储因丢失而不存在的数据样本的样本号,因此,记录器22可以将与丢失样本相关的差错信息与未丢失的附近的数据样本相关联。以下还将给出示意性示例。
另外或可选地,差错信息提供器18可以适于检测是否数据样本20的至少一部分包含受损的信息。例如,由于在数据样本从发送方到接收方的传输期间的特定效应(例如信道衰落或加性噪声),数据样本携带的信息可能被篡改或损坏,使得数据样本的接收版本与数据样本的发送版本不再对应。在这种情况下,例如,可以在接收端应用差错校正或差错隐藏方法。
图1b示出了根据本发明的另一实施例的设备10。
在图1b所示的实施例中,已经将数据样本20-1、20-2、20-3存储在基于ISO基础媒体文件格式的文件12的媒体数据容器16(mdat)中。典型地,将媒体数据箱16内的样本20-1、20-2、20-3组合为所谓的组块(chunk)。各组块的大小可以不同,且组块内的各样本的大小可以不同。在图1b中,差错信息提供器18适于解析或分析媒体数据容器16中所存储的数据样本20-1、20-2、20-3,以检测丢失的、受损的或总而言之错误的数据样本。在数据样本20-1、20-2、20-3为数据分组(例如RTP或MPEG-2传输流数据分组)的情况下,这些数据分组通常包括指示传输顺序的序列号。差错信息提供器18可以检验所存储的数据样本20-1、20-2、20-3的序列号,从而检测丢失的序列号。另外,可以解析所存储的数据样本20-1、20-2、20-3的序列或组块,以找到受损的样本。
图1c中大体示出了设备10的又一实施例。
该实施例包括用于接收流数据样本20-1、20-2、20-3的接收机24,所述数据样本可以是原始媒体数据样本或包括分组化媒体数据样本的数据分组。接收机24的输出耦合至差错信息提供器18的输入,使得差错信息提供器18可以检验接收到的数据样本20-1、20-2、20-3,以检测丢失的或受损的数据样本,并提供相应的定性差错信息,以及可选地提供定量差错信息。在图1c给出的示例中,记录器22适于将接收到的数据样本20存储在文件12的媒体数据容器16的组块中,并将样本号21同每个所存储的数据样本相关联。
根据本发明的实施例,将所提供的差错信息19存储在元数据容器14(moov)所包括的样本表箱(stbl)的子箱中,该样本表箱(stbl)允许在组块中从数据样本20-1、20-2、20-3的定时索引至与它们相关联的样本号21-1、21-2、21-3。这将参照图2更详细地示出。
图2示出了基于ISO基础媒体文件格式的文件的样本表箱stbl 50,所述样本表箱stbl 50包括传统的媒体数据参考子箱,例如:样本描述箱(stsd)、样本大小箱(stsz)、样本-组块箱(stsc)和组块偏移箱(stco),除此之外,所述样本表箱stbl 50还包括本发明的子箱52和54。样本描述箱(stsd)是必需的,这是因为它包含数据参考索引字段,该数据参考索引字段指示哪个数据参考箱用于检索媒体数据容器(mdat)中的样本。在没有样本描述的情况下,不可能确定样本存储于何处。同步样本表(stss)是可选的。如果同步样本表(stss)不存在,则所有样本都是同步的样本。除了本领域技术人员公知的传统的子箱之外,样本表箱stbl 50还包括两个另外的子箱52和54,它们与由差错信息提供器18提供的差错信息19相关。以下,子箱52将示例性地表示为SamplePropertyDescriptionBox(样本属性描述箱)spdb,其中子箱54将示例性地表示为SampleToPropertyBox(样本-属性箱)stpb。根据本发明的实施例,样本的属性为如下事实:样本与差错相关或样本本身是错误的。
SampleToPropertyBox stpb 54将样本映射到它们的属性,即实施例的差错。可以将属性堆叠,即相同属性类型(差错)的多个属性可以应用于一个样本。具体属性值的长度(property_length)是未指定的,且依赖于该属性。文件读取器不能理解property_type时可以丢弃整个箱stpb 54。
SamplePropertyDescriptionBox spdb 52描述了一个property_type的属性。样本属性描述条目未被具体定义,且可以是专有的。仅当读取设备理解property_type或者将该property_type的SampleToPropertyBox stpb 54和SamplePropertyDescriptionBox spdb 52都丢弃时,该读取设备才可以解析箱spdb52。样本属性的示例性语法可以如下:
aligned(8) class SampleToPropertyBox extends FullBox(″stpb″){
  unsigned int(32) property_type;
  unsigned int(32) entry_count;
  for(i=1;i<=entry_count;i++){
    unsigned int(32) property_desc_index;
    unsigned int(32) sample_count;
    for(j=1;j<=sample_count;j++){
      unsigned int(32) sample_number;
      unsigned int(property_length) value;
    }
  }
}
aligned(8) class SamplePropertyDescriptionBox extends FullBox(″spdb″)
{
  unsigned int(32) property_type;
  unsigned int(32) entry_count;
  for(i=1;i<=entry_count;i++){
    SamplePropertyDescriptionEntry();
  }
}
根据实施例,可以对差错进行索引,即可以在接收提示轨道中标记传输差错。由此,可以定义两个不同的差错类:
a)丢失的分组
b)受损的分组
因此,根据以上示例性命名法,可以针对根据以下代码来对每一项定义SamplePropertyDescriptionEntry:
class SamplePropertyDescriptionBox{
  unsigned int(32) property_type=′errr′;
  unsigned int(32) entry_count=2;
  {//entry_count=2=>2条目
    LostPacketEntry();
    CorruptedPacketEntry();
  }
    }
可以将SamplePropertyDescriptionEntry定义如下:
class LostPacketEntry extends SamplePropertyDescriptionEntry{
  unsigned int(32) size=36;//4+4+2+26
  unsigned int(32) desc_type=′lost′;
  unsigned int(16) property_length=32;//值包含此前连续丢失的分组的数
  unsigned int(8) verbose_description=″lost transmission packets″;}
class CorruptedPacketEntry extends SamplePropertyDescriptionEntry{
  unsigned int(32) size=41;//4+4+2+31
  unsigned int(32) desc_type=′crpt′;
  unsigned int(16) property_length=0;
  unsigned int(8) verbose_description=″corrupted transmission
packets″;}
这里,LostPacketEntry与第一定性差错信息相对应,并用于初始化SampleToPropertyBox stpb 54中的第一个property_desc_index的运行。CorruptedPacketEntry与第二定性差错信息相对应,并初始化第二个property_desc_index的运行。
如果有例如受传输差错影响的对分组[1,n]的传输,其中n=1000,例如,分组310至367丢失,分组34至177受损,则SampleToPropertyBox条目可以是:
class SampleToPropertyBox{
  unsigned int(32) property_type=′errr′;
  unsigned int(32) entry_count=′2′;
  {//entry_count=2=>2条目
    {
      property_desc_index=1;//=>丢失的分组
      sample_count=1;//仅一个样本包含关于丢失分组的信息
      {
        {310,58}
      }
    }
    {
      property_desc_index=2;//=>受损的分组
      sample_count=2;//两个样本受损
      {
        {34,″″}
        {177,″″}
      }
    }
  }
}
如果每个接收到的分组都产生样本且分组310至367丢失,则样本1至309包含分组1至309。样本310至942包含分组378至1000。
在以上示例中,对于值为1的property_desc_index,所述的丢失分组之后的下一个接收到的分组包含差错指示或信息。SampleProperty的值(即定量差错信息)是此前连续丢失的分组的数量,因此为58。
由property_desc_index=2的运行来标记标记受损的分组。因此,将样本34和177标记为受损的。由于对于该property_desc_index,property_length的值为0,所以不对其赋值。
现在转至图3,将概述一种用于输出基于ISO基础媒体文件格式的文件12的方法。
在第一步骤S1中,差错信息提供器18分析数据样本或数据分组20,以确定与所分析的样本20相关的差错信息19。在步骤S2中,在检测到产生差错信息的差错与所述样本相关的情况下,将该差错信息19和与其相关联的错误数据样本的样本号21一起存储在元数据容器14中。步骤S2包括:将SamplePropertyDescriptionBox 52和SampleToPropertyBox 54存储在文件12的元数据容器moov 14的样本表stbl 50中。
如果接收到数据样本20,例如,在接收到流数据样本的情况下,将每个接收到的数据样本与样本号21相关联。此外,在可选步骤S3中,可以将每个接收到的数据样本存储在媒体数据容器16的组块中。
可见,本质上可以并行执行步骤S2和可选步骤S3,即,可以将差错信息19和样本号21存储在媒体数据容器14中,并同时将数据样本存储在媒体数据容器16中。
如上所述,样本可以是数据分组,例如RTP或MPEG-2传输流数据分组,如同在该说明书的介绍部分中所述的存储接收提示轨道的情况一样。
在已将样本存储在媒体数据容器16,且已将差错信息存储在基于ISO基础媒体文件格式的文件12的元数据容器14中之后,可以在例如样本回放期间,使用所存储的差错信息。为此目的,如图4所示,本发明的实施例提供了设备60,用于读取具有媒体数据容器16和元数据容器14的文件12。
设备60包括:解析器62,用于解析或分析元数据容器14,以找到与待处理的数据样本20相关的差错信息19。在该相关的差错信息19指示待处理的数据样本20错误的情况下,处理器64可以提供差错专用的措施。
更具体地,解析器62可以解析文件12的元数据容器moov 14的样本表stbl 50中的SamplePropertyDescriptionBox 52和SampleToPropertyBox 54。因此,解析器62可以查找样本号21及其关联的定性差错信息19(例如,在参考以上使用的命名法时是其property_desc_index)。另外,解析器62可以提取定量差错信息,例如:在具有关联样本号的分组之前或之后有多少数据分组丢失。
根据本发明的实施例,处理器64适于:响应于检测到的差错信息,执行差错隐藏措施作为差错专用措施。例如,如果待处理的数据样本受损或丢失,则处理器64可以通过在相邻的、现有的数据样本的频谱值之间执行某种频谱插值操作来合成样本。这可以在例如数据样本与音频或视频帧相关的情况下完成。
在样本或数据分组受损的情况下,处理器64还可以适于发起某种差错校正,例如通过采用信道解码装置。
在另一实施例中,处理器64还可以通过报告前述定性和定量差错信息,来将差错指示给下游设备或指示给用户界面。
此外,元数据容器14中所存储的差错信息19可以用于:在接收到完整传输的数据样本并将其存储到文件12之后,确定地识别错误接收的数据样本。出于这种原因,解析器62可以解析元数据容器14中所存储的差错信息19,以识别媒体数据容器16中所存储的错误数据样本。处理器64可以以非实时的操作,从内容提供者的服务器(例如流服务器)请求和接收所识别的错误数据样本的新拷贝或版本。即,所识别的数据样本(可以是例如单个错误视频帧)的重传不需要实时协议。然后,可以采用所请求和新接收的无差错数据样本在文件12中替换错误数据样本,以便将所存储的包含差错的文件12转换成无差错的文件。
设备60可以得到外部请求,该外部请求创建差错信息形式的应答,例如:
-得到由应用于特定请求样本的差错信息构成的应答;
-得到带有特定请求差错(例如丢失的样本)所应用的最接近样本号的应答。
以差错信息形式存在的所述事件或样本属性适用于例如接收提示轨道的索引。
本发明的实施例具有如下优点:可以以可扩展的方式描述与样本相关的差错。可以将多个对应的差错组合为差错类型。定量差错信息不限于诸如SampleGroupDescriptionEntry的数量之类的情况。
此外,提供了一种简单、有效的方式,以使用信号来指示文件中差错出现的位置。这可以在重放该文件的媒体数据容器中所存储的数据内容时,用于差错校正、差错隐藏和/或差错指示方法。
根据情况,可以以硬件或软件来实现本发明的方法。可以在数字存储介质上完成本发明的实施方式,所述数字存储介质特别是具有电子可读控制信号的磁盘、CD或DVD,它们可以与可编程计算机系统合作以执行本发明的方法。因此,一般地,本发明还包括一种计算机程序产品,具有机器可读载体上存储的程序代码,当所述计算机程序产品运行于计算机上时,用于执行本发明的方法。换言之,因此,本发明可以实现为具有程序代码的计算机程序,当该计算机程序运行于计算机上时,用于执行本发明的方法。
尽管根据多个优选实施例对本发明进行了描述,然而存在落入本发明的范围内的改变、置换及等效物。也应注意,存在许多备选方式来实现本发明的方法和构造。因此,所附权利要求应被解释为包括所有这样的落入本发明的真实精神和范围内的改变、置换及等效物。

Claims (27)

1.一种用于输出具有媒体数据容器(16)和元数据容器(14)的文件(12)的设备(10),其特征在于:所述设备包括:
差错信息提供器(18),用于提供与数据样本(20)相关的差错信息(19);
记录器(22),用于将所述差错信息和与所述数据样本相关的样本号(21)一起存储在所述元数据容器(14)中。
2.根据权利要求1所述的设备,其特征在于:所述差错信息提供器(18)适于分析数据样本序列,以提供与数据样本序列中丢失的数据样本相关的差错信息(19)。
3.根据权利要求2所述的设备,其特征在于:所述记录器(22)适于:在检测到数据样本序列中丢失的数据样本的情况下,将指示丢失的数据样本的差错信息(19)和与丢失的数据样本相邻的现有数据样本的样本号(21)一起存储。
4.根据权利要求1所述的设备,其特征在于:所述差错信息提供器(18)适于检测是否数据样本(20)的至少一部分包含受损的信息。
5.根据上述权利要求中任意一项权利要求所述的设备,其特征在于:数据样本(20)存储于文件(12)的媒体数据容器(16)中,以及所述差错信息提供器(18)适于解析所存储的数据样本,以检测丢失的或受损的数据样本。
6.根据权利要求1至4中任意一项权利要求所述的设备,其特征在于:所述设备包括用于接收流数据样本的接收机(24),以及所述差错信息提供器(18)适于检验接收到的数据样本,以检测丢失的或受损的数据样本。
7.根据权利要求6所述的设备,其特征在于:所述记录器(22)适于将接收到的数据样本存储在文件(12)的媒体数据容器(16)的组块中,并将样本号(21)同每个所存储的数据样本相关联。
8.根据权利要求7所述的设备,其特征在于:所述记录器(22)适于将所提供的差错信息(19)存储在样本表容器(stbl)中,所述样本表容器(stbl)允许在组块中从所存储的数据样本的定时索引至与其相关联的样本号(21)。
9.根据权利要求9所述的设备,其特征在于:所述记录器适于存储组块偏移表(stco),所述组块偏移表(stco)指示每个组块进入文件(12)中的索引。
10.根据上述权利要求中任意一项权利要求所述的设备,其特征在于:所述差错信息提供器(18)适于将所提供的差错信息(19)与多个差错类型中的至少一个相关联,每个差错类型指示不同类型的差错。
11.根据权利要求10所述的设备,其特征在于:所述记录器(22)适于将所述至少一个差错类型存储在样本表容器(stbl)所包括的相关差错类型描述元数据容(52;spdb)中,所述样本表容器(stbl)允许从数据样本的定时索引至与其相关联的样本号(21)。
12.根据上述权利要求中任意一项权利要求所述的设备,其特征在于:所述记录器(22)适于将所提供的差错信息(19)和样本号(21)一起存储在差错属性元数据容器(54;stpb)中,所述差错属性元数据容器(54;stpb)允许在数据样本与所提供的差错信息(19)之间进行分配,所述差错属性元数据容器(54;stpb)被包括在样本表容器(stbl)中,所述样本表容器(stbl)允许从数据样本的定时索引至与其相关联的样本号(21)。
13.根据上述权利要求中任意一项权利要求所述的设备,其特征在于:所提供的差错信息(19)包括定性的和定量的差错信息,以及所述记录器适于将定量差错信息与定性差错信息和样本号(21)一起存储,所述定量差错信息定量地表征所述定性差错信息。
14.根据上述权利要求中任意一项权利要求所述的设备,其特征在于:所述文件(12)是基于ISO基础媒体文件格式的。
15.根据上述权利要求中任意一项权利要求所述的设备,其特征在于:所述数据样本(20)包括媒体数据样本的流数据分组。
16.根据权利要求15所述的设备,其特征在于:所述数据分组(20)为流RTP分组、RTCP分组或MPEG-2传输流分组。
17.一种用于输出具有媒体数据容器(16)和元数据容器(14)的文件(12)的方法,其特征在于:所述方法包括以下步骤:
提供(S1)与数据样本相关的差错信息(19);
将所述差错信息(19)和与所述数据样本相关的样本号(21)一起存储(S2)在所述元数据容器中。
18.一种计算机程序,其特征在于:当所述计算机程序运行于计算机和/或微控制器上时,用于执行根据权利要求17所述的方法。
19.一种用于读取具有媒体数据容器(16)和元数据容器(14)的文件(12)的设备(60),所述媒体数据容器(16)存储有数据样本(20),所述元数据容器(14)存储有与所存储的数据样本相关的差错信息(19),其特征在于:所述设备包括:
解析器(62),用于解析元数据容器,以找到与要处理的数据样本相关的差错信息;以及
处理器(64),用于在所述相关的差错信息(19)指示要处理的数据样本错误的情况下,提供差错专用措施。
20.根据权利要求19所述的设备,其特征在于:所述处理器(64)适于执行差错隐藏措施作为所述差错专用措施。
21.根据权利要求19所述的设备,其特征在于:所述处理器(64)适于执行差错指示措施作为所述差错专用措施。
22.根据权利要求19所述的设备,其特征在于:所述处理器(64)适于请求和新接收错误数据样本的无差错拷贝,以及所述处理器(64)适于以所请求和新接收的无差错数据样本在文件(12)中替换错误数据样本,以便将所存储的包括错误数据样本的文件转换成无差错的文件。
23.根据权利要求19所述的设备,其特征在于:所述文件(12)是基于ISO基础媒体文件格式的。
24.根据权利要求19至23中任意一项权利要求所述的设备,其特征在于:所述数据样本为由媒体数据样本组成的流数据分组。
25.根据权利要求24所述的设备,其特征在于:所存储的数据样本为RTP分组、RTCP分组或MPEG-2传输流分组。
26.一种用于读取具有媒体数据容器(16)和元数据容器(14)的文件(12)的方法,所述媒体数据容器(16)存储有数据样本(20),所述元数据容器(14)存储有与所存储的数据样本相关的差错信息(19),其特征在于:所述方法包括以下步骤:
解析元数据容器(14),以找到与要处理的数据样本相关的差错信息(19);以及
在所述相关的差错信息(19)指示要处理的数据样本错误的情况下,提供差错专用措施。
27.一种计算机程序,其特征在于:当所述计算机程序运行于计算机和/或微控制器上时,用于执行根据权利要求26所述的方法。
CN200880108409.8A 2007-09-19 2008-09-18 存储和读取具有媒体数据容器和元数据容器的文件的设备和方法 Active CN101828351B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US97353607P 2007-09-19 2007-09-19
US60/973,536 2007-09-19
PCT/EP2008/007832 WO2009036980A2 (en) 2007-09-19 2008-09-18 Apparatus and method for storing and reading a file having a media data container and a metadata container

Publications (2)

Publication Number Publication Date
CN101828351A true CN101828351A (zh) 2010-09-08
CN101828351B CN101828351B (zh) 2014-05-07

Family

ID=40377617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880108409.8A Active CN101828351B (zh) 2007-09-19 2008-09-18 存储和读取具有媒体数据容器和元数据容器的文件的设备和方法

Country Status (17)

Country Link
US (1) US8849778B2 (zh)
EP (1) EP2195952B1 (zh)
JP (1) JP5587779B2 (zh)
KR (1) KR101170440B1 (zh)
CN (1) CN101828351B (zh)
AT (1) ATE503312T1 (zh)
AU (1) AU2008300895B2 (zh)
BR (1) BRPI0815968B1 (zh)
CA (1) CA2699102C (zh)
DE (1) DE602008005774D1 (zh)
ES (1) ES2362975T3 (zh)
HK (1) HK1145374A1 (zh)
MX (1) MX2010002775A (zh)
PL (1) PL2195952T3 (zh)
RU (1) RU2486679C2 (zh)
TW (1) TWI527467B (zh)
WO (1) WO2009036980A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108476346A (zh) * 2016-01-13 2018-08-31 索尼公司 信息处理装置和信息处理方法
WO2019227749A1 (zh) * 2018-05-29 2019-12-05 北京字节跳动网络技术有限公司 一种元数据容器的解析方法、装置及存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2088789A3 (en) * 2008-02-05 2012-08-15 Samsung Electronics Co., Ltd. Apparatus and method for generating and displaying media files
US9262419B2 (en) * 2013-04-05 2016-02-16 Microsoft Technology Licensing, Llc Syntax-aware manipulation of media files in a container format
KR102210509B1 (ko) 2013-06-24 2021-02-01 삼성전자주식회사 멀티미디어 시스템에서 컨텐츠를 변환하는 방법 및 장치
US20170127122A1 (en) * 2014-06-13 2017-05-04 Thomson Licensing Digital video broadcasting network system and method of obtaining program information in digital video broadcasting
US9645878B2 (en) * 2014-07-09 2017-05-09 Qualcomm Incorporated Error handling for files exchanged over a network
KR102271811B1 (ko) 2014-10-22 2021-07-01 삼성전자주식회사 전자장치 및 전자장치의 컨텐트 제어 방법
US9928297B2 (en) * 2015-02-11 2018-03-27 Qualcomm Incorporated Sample grouping signaling in file formats
AU2016404495B2 (en) * 2016-04-28 2020-01-02 Huawei Technologies Co., Ltd. File saving method and electronic device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087438A (zh) * 2006-06-06 2007-12-12 安捷伦科技有限公司 计算无参考视频质量评估的分组丢失度量的系统和方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL180012B1 (pl) 1994-02-28 2000-11-30 Sony Corp Sposób i urzadzenie do odtwarzania danych z nosnika zapisu PL PL PL PL PL PL
CA2397975C (en) * 2000-01-28 2016-11-01 Diva Systems Corporation Method and apparatus for content distribution via non-homogeneous access networks
JP3946965B2 (ja) * 2001-04-09 2007-07-18 ソニー株式会社 無体財産権を保護する情報を記録する記録装置、記録方法、記録媒体、およびプログラム
US7315894B2 (en) * 2001-07-17 2008-01-01 Mcafee, Inc. Network data retrieval and filter systems and methods
JP4565308B2 (ja) * 2001-09-13 2010-10-20 ソニー株式会社 エラー検出装置及びエラー検出方法並びに記録再生装置及び記録再生方法
EP1481553A1 (en) * 2002-02-25 2004-12-01 Sony Electronics Inc. Method and apparatus for supporting avc in mp4
US20040199565A1 (en) 2003-02-21 2004-10-07 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
WO2003098475A1 (en) * 2002-04-29 2003-11-27 Sony Electronics, Inc. Supporting advanced coding formats in media files
US20040006575A1 (en) * 2002-04-29 2004-01-08 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
JP2004038575A (ja) 2002-07-03 2004-02-05 Sony Corp データ送受信システム及びデータ送受信方法、情報提供装置及び情報提供方法、並びにデータ受信装置及びデータ受信方法
EP1588296A4 (en) 2002-07-20 2007-11-28 Chicago Climate Exchange Inc SYSTEM AND METHOD FOR EMISSION REDUCTION EXCHANGES
JPWO2005002231A1 (ja) * 2003-06-27 2006-08-17 株式会社日立製作所 映像編集装置
JP2005039577A (ja) * 2003-07-16 2005-02-10 Victor Co Of Japan Ltd ストリームデータ記録再生方法
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
KR101244308B1 (ko) * 2003-12-08 2013-03-18 삼성전자주식회사 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법
US7567584B2 (en) 2004-01-15 2009-07-28 Panasonic Corporation Multiplex scheme conversion apparatus
JP2005229587A (ja) * 2004-01-15 2005-08-25 Matsushita Electric Ind Co Ltd 多重化方式変換装置
JP2005348015A (ja) 2004-06-02 2005-12-15 Fujitsu Ltd リアルタイム・ストリーミングデータ受信装置
WO2006112508A1 (ja) * 2005-04-20 2006-10-26 Matsushita Electric Industrial Co., Ltd. ストリームデータ記録装置、ストリームデータ編集装置、ストリームデータ再生装置、ストリームデータ記録方法、及びストリームデータ再生方法
GB2434496B (en) * 2005-07-14 2007-10-31 Snell & Wilcox Ltd Method and apparatus for analysing image data
US20080124050A1 (en) * 2006-09-07 2008-05-29 Joseph Deschamp Method and Apparatus for Processing Digital Program Segments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101087438A (zh) * 2006-06-06 2007-12-12 安捷伦科技有限公司 计算无参考视频质量评估的分组丢失度量的系统和方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108476346A (zh) * 2016-01-13 2018-08-31 索尼公司 信息处理装置和信息处理方法
CN108476346B (zh) * 2016-01-13 2021-03-12 索尼公司 信息处理装置和信息处理方法
WO2019227749A1 (zh) * 2018-05-29 2019-12-05 北京字节跳动网络技术有限公司 一种元数据容器的解析方法、装置及存储介质
CN110545254A (zh) * 2018-05-29 2019-12-06 北京字节跳动网络技术有限公司 一种元数据容器的解析方法、装置及存储介质
US10979759B2 (en) 2018-05-29 2021-04-13 Beijing Bytedance Network Technology Co., Ltd. Analysis method, device and storage medium of moov box
CN110545254B (zh) * 2018-05-29 2021-05-04 北京字节跳动网络技术有限公司 一种元数据容器的解析方法、装置及存储介质

Also Published As

Publication number Publication date
CN101828351B (zh) 2014-05-07
WO2009036980A2 (en) 2009-03-26
BRPI0815968A2 (pt) 2023-02-28
KR101170440B1 (ko) 2012-08-09
HK1145374A1 (en) 2011-04-15
ATE503312T1 (de) 2011-04-15
JP2010539834A (ja) 2010-12-16
TWI527467B (zh) 2016-03-21
JP5587779B2 (ja) 2014-09-10
AU2008300895B2 (en) 2011-07-28
KR20100049648A (ko) 2010-05-12
RU2010116075A (ru) 2011-10-27
RU2486679C2 (ru) 2013-06-27
EP2195952B1 (en) 2011-03-23
AU2008300895A1 (en) 2009-03-26
PL2195952T3 (pl) 2011-08-31
EP2195952A2 (en) 2010-06-16
DE602008005774D1 (de) 2011-05-05
US20100198798A1 (en) 2010-08-05
CA2699102C (en) 2014-07-22
TW200926834A (en) 2009-06-16
US8849778B2 (en) 2014-09-30
ES2362975T3 (es) 2011-07-18
WO2009036980A3 (en) 2009-05-28
BRPI0815968B1 (pt) 2023-11-28
CA2699102A1 (en) 2009-03-26
MX2010002775A (es) 2010-04-01

Similar Documents

Publication Publication Date Title
CN101828351B (zh) 存储和读取具有媒体数据容器和元数据容器的文件的设备和方法
US20220078491A1 (en) Transmitting method
KR101107815B1 (ko) 멀티미디어 컨테이너 파일의 수신 힌트 트랙으로의 미디어 스트림 기록 방법 및 장치, 컴퓨터 판독가능 매체
RU2459378C2 (ru) Устройство и способ для обработки и чтения файла, имеющего хранилище медиаданных и хранилище метаданных
US9262419B2 (en) Syntax-aware manipulation of media files in a container format
CN101427579A (zh) 媒体流的时移表现
US11356749B2 (en) Track format for carriage of event messages
CN103069812A (zh) 提供基于分段的多媒体流服务的方法及装置、接收基于分段的多媒体流服务的方法及装置
US9883216B2 (en) Method and apparatus for carrying transport stream
KR20180138562A (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US20060232706A1 (en) System for the dynamic multiplexing of digital streams
US20080235401A1 (en) Method of storing media data delivered through a network
CN102857812B (zh) 一种支持ts流媒体文件的容错方法及系统
CN116489342B (zh) 确定编码延时的方法、装置、及电子设备、存储介质
Hannuksela et al. The DVB File Format [Standards in a Nutshell]

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