CN102169709A - 一种帧数据存储和定位的方法、系统、终端设备 - Google Patents

一种帧数据存储和定位的方法、系统、终端设备 Download PDF

Info

Publication number
CN102169709A
CN102169709A CN2010105797464A CN201010579746A CN102169709A CN 102169709 A CN102169709 A CN 102169709A CN 2010105797464 A CN2010105797464 A CN 2010105797464A CN 201010579746 A CN201010579746 A CN 201010579746A CN 102169709 A CN102169709 A CN 102169709A
Authority
CN
China
Prior art keywords
frame
connector
address
pointer variable
frame data
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.)
Pending
Application number
CN2010105797464A
Other languages
English (en)
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.)
SHENZHEN RONGCHUANG TIANXIA TECHNOLOGY DEVELOPMENT Co Ltd
Shenzhen Temobi Science and Technology Co Ltd
Original Assignee
SHENZHEN RONGCHUANG TIANXIA TECHNOLOGY DEVELOPMENT Co 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 SHENZHEN RONGCHUANG TIANXIA TECHNOLOGY DEVELOPMENT Co Ltd filed Critical SHENZHEN RONGCHUANG TIANXIA TECHNOLOGY DEVELOPMENT Co Ltd
Priority to CN2010105797464A priority Critical patent/CN102169709A/zh
Priority to PCT/CN2011/076368 priority patent/WO2012075804A1/zh
Publication of CN102169709A publication Critical patent/CN102169709A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on 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
    • G11B27/3036Time code signal
    • 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/3081Indexing; 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 a video-frame or a video-field (P.I.P)

Abstract

本发明公开一种帧数据存储和定位的方法、系统、终端设备,通过存储帧数据以及帧数据对应的帧长度、帧时间戳和帧的起始地址,在I帧数据之后存储的标识信息,通过判断获取到的需要定位的时间点与帧数据存储装置中记录的帧时间戳进行比较来确定需要定位的时间点;在存储过程中只有I帧数据才会存储对应的标识信息,而在帧数据中大量出现的B帧、P帧不需要存储标识信息,这样大大节省了存储的效率和存储空间降低了内存消耗,再通过连接器数据结构中成员的关联关系达到快速存储和跳跃定位的目的,减低了内存消耗。

Description

一种帧数据存储和定位的方法、系统、终端设备
技术领域
本发明涉及视频播放领域,尤其涉及一种帧数据存储和定位的方法、系统、终端设备。
背景技术
目前针对流媒体系统,尤其是嵌入式平台上的流式节目源的边下载边播放,需要对存储的数据流进行高效的管理,则需要简化后期的操作处理,以保证不浪费嵌入式资源同时得到更高效的操作,嵌入式最为重要的资源是CPU和内存。
现有技术中,流媒体文件在存储过程中,需要存储的帧数据包括指针、帧类型、帧长度、时间戳、数据,针对帧数据无论是I帧、B帧还是P帧,都要存储指针、帧类型、帧长度、时间戳、数据,流媒体文件中的B帧和P帧出现的概率为90-95%,而B帧和P帧的指针在应用过程中往往是没有太大作用的,这样就浪费了CPU、硬盘或内存的资源,而在定位时,B帧和P帧的指针会降低定位的效率,并且浪费CPU和内存资源。
发明内容
本发明实施例的目的在于提出一种帧数据存储的方法,旨在解决现有技术中流媒体文件在存储时存有大量冗余的指针、帧类型、帧长度、时间戳,浪费了CPU、硬盘或内存的资源,并且检索或定位的效率较低的问题。
本发明实施例是这样实现的,一种帧数据存储的方法,包括以下步骤:
预先创建连接器数据结构,所述连接器数据结构包括三个地址成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
接收并存储帧数据;
如果为I帧数据,则帧数据之后将标识信息存入第一空间;所述标识信息包括:当前I帧地址、上一个I帧地址、下一个I帧地址。
本发明实施例的另一目的在于提出一种帧数据存储的装置,所述装置包括:
第一初始模块,用于预先创建连接器数据结构,所述连接器数据结构包括三个地址成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
存储模块,用于接收并存储帧数据;
标识模块,用于判断帧数据是否为I帧,如果是,则帧数据之后将标识信息存入第一空间;所述标识信息包括:当前I帧地址、上一个I帧地址、下一个I帧地址。
本发明实施例的另一目的在于提出一种帧数据定位的方法,所述方法包括以下步骤:
获取需要定位的时间点;
预先创建连接器数据结构第二临时指针变量,且第二临时指针变量指向预先创建的全局连接器指针变量;根据第二临时指针变量指向的当前I帧地址成员获取I帧的时间戳;
定位的时间点如果不小于I帧的时间戳,I帧的时间戳为需要定位的时间点。
本发明实施例的另一目的在于提出一种帧数据定位装置,所述装置包括:
信息获取模块,用于获取需要定位的时间点;
第二初始模块,用于预先创建连接器数据结构第二临时指针变量,且第二临时指针变量指向预先创建的全局连接器指针变量;
定位模块,用于根据第二临时指针变量指向的当前I帧地址成员获取I帧的时间戳;判断需要定位的时间点是否小于I帧的时间戳,如果否,则I帧的时间戳为需要定位的时间点。
本发明实施例的另一目的在于提出帧数据存储和定位系统,所述系统包括:帧数据存储装置和帧数据定位装置;
所述的帧数据存储装置,用于:
预先创建连接器数据结构,所述连接器数据结构包括三个地址成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
接收并存储帧数据;
如果为I帧数据,则帧数据之后将标识信息存入第一空间;所述标识信息包括:当前I帧地址、上一个I帧地址、下一个I帧地址;
所述的帧数据定位装置,用于:
获取需要定位的时间点;
预先创建连接器数据结构第二临时指针变量,且第二临时指针变量指向预先创建的全局连接器指针变量;根据第二临时指针变量指向的当前I帧地址成员获取I帧的时间戳;
定位的时间点如果不小于I帧的时间戳,I帧的时间戳为需要定位的时间点。
本发明实施例的另一目的在于提出一种包括所述帧数据存储和定位系统的终端设备。
本发明的有益效果:
通过存储帧数据以及帧数据对应的帧长度、帧时间戳和帧的起始地址,在I帧数据之后存储标识信息,通过判断获取到的需要定位的时间点与帧数据存储装置中记录的帧时间戳进行比较来确定需要定位的时间点;在存储过程中只有I帧数据才会存储对应的标识信息,而在帧数据中大量出现的B帧、P帧不需要存储标识信息,这样大大节省了存储的效率和存储空间降低了内存消耗,并由于只存储了I帧的标识信息,那么在定位过程中,只需要通过连接器数据结构中成员的关联关系达到快速跳跃定位I帧的目的,减低了内存消耗。
附图说明
图1是本发明实施例一种帧数据存储方法的总体流程图;
图2是本发明实施例一种帧数据存储方法的具体流程图;
图3是本发明实施例一种帧数据存储装置的结构示意图;
图4是本发明实施例一种帧数据定位方法的总体流程图;
图5是本发明实施例一种帧数据定位方法的具体流程图;
图6是本发明实施例一种帧数据定位装置的结构示意图;
图7是本发明实施例一种帧数据存储和定位系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。
本发明通过存储帧数据以及帧数据对应的帧长度、帧时间戳和帧的起始地址,判断为I帧时,在I帧数据之后存储标识信息,通过判断获取到的需要定位的时间点与帧数据存储装置中记录的帧时间戳进行比较来确定需要定位的时间点;在存储过程中只有I帧数据才会存储对应的标识信息,而在帧数据中大量出现的B帧、P帧不需要存储标识信息,这样大大节省了存储的效率和存储空间降低了内存消耗,再通过连接器数据结构中成员的关联关系达到快速存储和跳跃定位的目的,减低了内存消耗。
实施例一
图1是本发明实施例一种帧数据存储方法的总体流程图。所述方法包括以下步骤:
S101,预先创建连接器数据结构,所述连接器数据结构包括三个地址成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
S101,接收并存储帧数据;
所述的帧数据在存储时保存有帧长度、帧时间戳I_ms、帧数据;
S102,如果为I帧数据,则帧数据之后将标识信息存入第一空间;所述标识信息包括:当前I帧地址、上一个I帧地址、下一个I帧地址;
所述的第一空间为预留连接器所占内存大小的空间,用于存放标识信息;
所述的标识信息是连接器数据结构的信息,用于标识接收并存储的帧数据为I帧数据,所述的标识信息把帧数据中的I帧进行关联;
本实施例中通过判断帧数据是否为I帧,只有接收到的为I帧时才会在帧数据之后存放标识信息,只有I帧才增加合适的内存消耗,在整个帧数据存储过程中,I帧的出现概率非常少,这样针对出现概率较高的B帧、P帧不做任何处理,大量节省存储空间和存储的效率,降低了内存消耗。
实施例二
图2是本发明实施例一种帧数据存储方法的具体流程图。所述方法包括以下步骤:
S201,预先创建连接器数据结构,所述的连接器数据结构包括三个成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
所述的连接器数据结构创建过程具体为:
Struct I_linker{
Unsigned int cur;
Unsigned int last;
Unsigned int next;
};
所述的cur表示连接器保存的当前I帧地址;
所述的last表示连接器保存的上一个I帧地址;
所述的next表示连接器保存的下一个I帧地址;
S202,预先创建连接器数据结构的全局连接器指针变量;
所述全局连接器指针变量的创建过程为struct I_linker*m_g_v_w;
S203,接收并存储帧数据;
所述的帧数据在存储时保存有帧长度、帧时间戳I_ms、帧数据;
S204,判断是否为I帧,如果否,则进入步骤S203,如果是,则进入步骤S205;
S205,帧数据之后创建容纳一个连接器数据结构的第一空间;
所述的第一空间创建过程为预留连接器所占内存大小的空间,用于存放标识信息,所述的标识信息是连接器数据结构的信息,具体为sizeof(structI_linker);
S206,创建连接器数据结构的第一临时指针变量linker,且第一临时指针变量linker指向第一空间A的起始地址,第一临时指针变量linker作为当前帧数据连接器,具体为struct I_linker*linker=&A;
当前帧数据连接器的当前I帧地址成员中保存当前I帧起始地址;
当前帧数据连接器的上一帧地址成员中保存全局连接器关联的当前I帧地址,具体为linker->last=m_g_v_w->cur;
当前帧数据连接器的下一帧地址成员中保存为0,具体为linker->next=0;
全局连接器指针变量的下一帧地址成员中保存当前连接器所关联的当前I帧的地址保存,具体为m_g_v_w->next=linker->cur;
S207,全局连接器指针变量保存当前连接器指针,具体为m_g_v_w=linker,进入步骤S203。
本实施例中通过判断帧数据是否为I帧,只有为I帧时才会在帧数据之后存放标识信息,存放标识信息的过程是根据预先创建的连接器数据结构的全局连接器指针变量和第一临时指针变量两个变量及其成员的交互来完成,只有针对I帧才增加合适的内存消耗,在整个帧数据存储过程中,I帧的出现概率非常少,这样针对出现概率较高的B帧、P帧不做任何处理,大量节省存储空间和存储的效率,降低了内存消耗。
实施例三
图3是本发明实施例一种帧数据存储装置的结构示意图。
所述帧数据存储装置包括:第一初始模块、存储模块、标识模块;
第一初始模块,与存储模块相连,用于创建连接器数据结构,所述的连接器数据结构包括三个成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
所述的连接器数据结构创建过程为:
Struct I_linker{
Unsigned int cur;
Unsigned int last;
Unsigned int next;
};
所述的cur表示连接器保存的当前I帧地址;
所述的last表示连接器保存的上一个I帧地址;
所述的next表示连接器保存的下一个I帧地址;
存储模块,与第一初始模块和标识模块相连,用于接收并存储帧数据,记录帧数据的起始地址;
所述的帧数据在存储时保存有帧长度、帧时间戳I_ms、帧数据;
标识模块,与存储模块相连,用于判断接收并存储的帧数据是否为I帧,如果是,则帧数据之后存放标识信息;
所述的标识信息是连接器数据结构的信息,所述的标识信息存放过程为:
创建连接器数据结构的全局连接器指针变量,具体为:struct I_linker*m_g_v_w;
预留连接器所占内存大小的第一空间A,用于存放标识信息,具体为sizeof(struct I_linker);
创建连接器数据结构的第一临时指针变量linker,且第一临时指针变量linker指向第一空间A的起始地址,第一临时指针变量linker作为当前帧数据连接器,具体为struct I_linker*linker=&A;
当前帧数据连接器的当前I帧地址成员中保存当前I帧起始地址;
当前帧数据连接器的上一帧地址成员中保存全局连接器关联的当前I帧地址,具体为linker->last=m_g_v_w->cur;
当前帧数据连接器的下一帧地址成员中保存为0,具体为linker->next=0;
全局连接器指针变量的下一帧地址成员中保存当前连接器所关联的当前I帧的地址,具体为m_g_v_w->next=linker->cur;
全局连接器指针变量保存当前连接器指针,具体为m_g_v_w=linker。
本实施例中通过第一初始模块创建连接器数据结构及其成员,当存储模块接收到的帧数据为I帧时,记录帧数据的起始地址,标识模块判断所接收并存储的数据是否为I帧时,如果是,标识模块在帧数据之后存放标识信息;只有I帧才增加合适的内存消耗,在整个帧数据存储过程中,I帧的出现概率非常少,这样针对出现概率较高的B帧、P帧不做任何处理,大量节省存储空间和存储的效率,降低了内存消耗。
实施例四
图4是本发明实施例一种帧数据定位方法的总体流程图。所述方法包括以下步骤:
S401,获取需要定位的时间点seek_ms;
所述需要定位的时间点seek_ms的单位为毫秒,为I帧所对应的被相对显示时间点,是以0ms开始的时间偏移量,在开始显示时以0ms记录显示起点时间;
S402,预先创建连接器数据结构第二临时指针变量,且第二临时指针变量指向预先创建的全局连接器指针变量;根据第二临时指针变量指向的当前I帧地址成员获取I帧的时间戳;
S403,需要定位的时间点如果不小于I帧的时间戳,I帧的时间戳为需要定位的时间点;
所述的I帧的时间戳I_ms是在帧数据存储时保存的时间戳;
本实施例中通过获取到的需要定位的时间点与I帧的时间戳进行比较,如果需要定位的时间点如果不小于I帧的时间戳,则I帧的时间戳为需要定位的时间点,在定位过程中只需要判断I帧的时间戳即可,I帧数据之后存储有标识信息,通过所述的标识信息把前后I帧数据做了关联,从而根据所述的标识信息可以追溯到需要定位的时间点以及所述的需要定位的时间点对应的I帧起始地址,避免了由I帧数据跳跃到B帧或者P帧数据的过程,从而提高了定位的速度,降低了内存消耗。
实施例五
图5是本发明实施例一种帧数据定位方法的具体流程图。所述方法包括以下步骤:
S501,获取需要定位的时间点seek_ms;
S502,创建连接器数据结构第二临时指针变量seek,且第二临时指针变量seek指向全局连接器指针变量m_g_v_w;
所述的全局连接器指针变量在获取需要定位的时间点之前已经创建,且保存有当前连接器指针;
具体为struct I_linker*seek=m_g_v_w;
S503,根据第二临时指针变量的当前I帧地址成员获取I帧的时间戳I_ms;
所述的I帧的时间戳I_ms是在帧数据存储时保存的时间戳;
S504,判断需要定位的时间点seek_ms是否小于I帧的时间戳I_ms,如果否,则进入步骤S505,如果是,则进入步骤S506;
S505,I帧的时间戳I_ms为需要定位的时间点;
S506,通过第二临时指针变量的上一个I帧地址成员seek->last获取上一帧数据之后所存储的标识信息,并保存到第二临时指针变量seek中,进入步骤S503。
本发明实施例中通过创建第二临时指针变量,通过所述的第二临时指针变量和所述的全局连接器指针变量获得当前连接器指针,根据第二临时指针变量的当前I帧地址成员获取I帧的时间戳,通过比较I帧的时间戳与需要定位的时间点的关系,获得需要定位的时间点,当需要定位的时间点小于I帧的时间戳时,则通过第二临时指针变量的上一个I帧地址成员获取上一帧数据之后所存储的标识信息,并保存到第二临时指针变量中,以此类推得到最终需要定位的时间点,只需要对I帧的标识信息进行定位,而且定位过程中通过连接器数据结构的三个成员关联关系快速跳跃到需要定位的时间点,避免了由I帧数据跳跃到B帧或者P帧数据的过程,提高了定位的效率,减低了内存消耗。
实施例六
图6是本发明实施例一种帧数据定位装置的结构示意图。
所述帧数据定位装置包括:信息获取模块、第二初始模块、定位模块;
信息获取模块,与第二初始模块相连,用于获取需要定位的时间点seek_ms;
第二初始模块,与信息获取模块和定位模块相连,用于创建连接器数据结构第二临时指针变量seek,且第二临时指针变量seek指向全局连接器指针变量m_g_v_w;根据第二临时指针变量的当前I帧地址成员获取I帧的时间戳I_ms;
所述的全局连接器指针变量在获取需要定位的时间点之前已经创建,且保存有当前连接器指针;
具体为struct I_linker*seek=m_g_v_w;
定位模块,与第二初始模块相连,用于判断需要定位的时间点seek_ms是否小于I帧的时间戳I_ms,如果否,则I帧的时间戳I_ms为需要定位的时间点;如果是,则通过第二临时指针变量的上一个I帧地址成员seek->last获取上一帧数据之后所存储的标识信息,并保存到第二临时指针变量seek中,并通知第二初始模块再次根据第二临时指针变量的当前I帧地址成员获取I帧的时间戳I_ms。
本发明实施例中通过第二初始模块创建第二临时指针变量,通过所述的第二临时指针变量和所述的全局连接器指针变量获得当前连接器指针,根据第二临时指针变量的当前I帧地址成员获取I帧的时间戳;通过定位模块比较I帧的时间戳与需要定位的时间点的关系,获得需要定位的时间点,当需要定位的时间点小于I帧的时间戳时,则通过第二临时指针变量的上一个I帧地址成员获取上一帧数据之后所存储的标识信息,并保存到第二临时指针变量中,以此类推得到最终需要定位的时间点,只需要对I帧的标识信息进行定位,而且定位过程中通过连接器数据结构的三个成员关联关系快速跳跃到需要定位的时间点,避免了由I帧数据跳跃到B帧或者P帧数据的过程,提高了定位的效率,减低了内存消耗。
实施例七
图7是本发明实施例一种帧数据存储和定位系统的结构示意图。
所述的帧数据存储和定位系统包括:如实施例三所述的帧数据存储装置和如实施例六所述的帧数据定位装置,所述的帧数据存储装置与帧数据定位装置相连,所述的系统包括:
第一初始模块,与存储模块相连,用于创建连接器数据结构,所述的连接器数据结构包括三个成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
存储模块,与第一初始模块和标识模块相连,用于接收并存储帧数据,记录帧数据的起始地址;
标识模块,与存储模块相连,用于判断接收并存储的帧数据是否为I帧,如果是,则帧数据之后存放标识信息;
信息获取模块,与第二初始模块相连,用于获取需要定位的时间点;
第二初始模块,与信息获取模块和定位模块相连,用于创建连接器数据结构第二临时指针变量,且第二临时指针变量指向预先创建的全局连接器指针变量;根据第二临时指针变量的当前I帧地址成员获取I帧的时间戳;
定位模块,与第二初始模块相连,用于判断需要定位的时间点是否小于I帧的时间戳,如果否,则I帧的时间戳为需要定位的时间点;如果是,则通过第二临时指针变量的上一个I帧地址成员获取上一帧数据之后所存储的标识信息,并保存到第二临时指针变量中,并通知第二初始模块再次根据第二临时指针变量的当前I帧地址成员获取I帧的时间戳。
所述的帧数据存储和定位系统的工作过程如下:
第一初始模块创建连接器数据结构及其三个成员;存储模块接收并存储帧数据,帧数据包括帧长度、帧时间戳和帧数据,同时记录帧数据的起始地址;标识模块判断帧数据是否为I帧,如果是,则帧数据之后存放标识信息;所述的标识信息的存放是通过连接器数据结构的全局连接器指针变量和第一临时指针变量来完成存储标识信息;信息获取模块获取需要定位的时间点,第二初始模块创建连接器数据结构第二临时指针变量,且第二临时指针变量指向预先创建的全局连接器指针变量;根据第二临时指针变量的当前I帧地址成员获取I帧的时间戳;定位模块判断需要定位的时间点是否小于I帧的时间戳,如果否,则I帧的时间戳为需要定位的时间点;如果是,则通过第二临时指针变量的上一个I帧地址成员获取上一帧数据之后所存储的标识信息,并保存到第二临时指针变量中,并通知第二初始模块再次根据第二临时指针变量的当前I帧地址成员获取I帧的时间戳;在帧数据定位过程中,是通过连接器数据结构的全局连接器指针变量和第二临时指针变量来完成定位标识信息。
本发明实施例中通过在帧数据存储装置中存储帧数据以及帧数据对应的帧长度、帧时间戳和帧的起始地址,在I帧数据之后存储的标识信息,在帧数据定位装置中通过判断获取到的需要定位的时间点与帧数据存储装置中记录的帧时间戳进行比较来确定需要定位的时间点;在存储过程中只有I帧数据才会存储对应的标识信息,而在帧数据中大量出现的B帧、P帧不需要存储标识信息,这样大大节省了存储的效率和存储空间降低了内存消耗,在定位时避免了由I帧数据跳跃到B帧或者P帧数据的过程,提高了定位的效率,也降低了内存消耗。
本发明提供的帧数据存储和定位系统可以应用于需要存储和定位帧数据的终端设备上,例如手机等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种帧数据存储的方法,其特征在于,所述方法包括以下步骤:
预先创建连接器数据结构,所述连接器数据结构包括三个地址成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
接收并存储帧数据;
如果为I帧数据,则帧数据之后将标识信息存入第一空间;所述标识信息包括:当前I帧地址、上一个I帧地址、下一个I帧地址。
2.如权利要求1所述的帧数据存储的方法,其特征在于,
所述的步骤“接收并存储帧数据,记录帧数据的起始地址”之前还包括步骤:
预先创建连接器数据结构的全局连接器指针变量;
所述的步骤“如果为I帧数据,则帧数据之后存放标识信息”具体为:
预留连接器所占内存大小的第一空间,用于存放标识信息;
创建连接器数据结构的第一临时指针变量,且第一临时指针变量指向第一空间的起始地址,第一临时指针变量作为当前帧数据连接器;
当前帧数据连接器的当前I帧地址成员中保存当前I帧起始地址;
当前帧数据连接器上一帧地址成员中保存全局连接器关联的当前I帧地址;
当前帧数据连接器的下一帧地址成员中保存为0;
全局连接器指针变量的下一帧地址成员中保存当前连接器所关联的当前I帧的地址保存;
全局连接器指针变量的当前帧地址成员中保存当前连接器指针,其中全局连接器指针变量的下一帧地址成员中保存当前连接器所关联的当前I帧的地址保存。
3.一种帧数据存储装置,其特征在于,所述装置包括:
所述帧数据存储装置包括:第一初始模块、存储模块、标识模块;
第一初始模块,用于预先创建连接器数据结构,所述连接器数据结构包括三个地址成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
存储模块,用于接收并存储帧数据;
标识模块,用于判断帧数据是否为I帧,如果是,则帧数据之后将标识信息存入第一空间;所述标识信息包括:当前I帧地址、上一个I帧地址、下一个I帧地址。
4.如权利要求3所述的帧数据存储装置,其特征在于,所述装置中的标识模块还用于:预先创建连接器数据结构的全局连接器指针变量;
预留连接器所占内存大小的第一空间,用于存放标识信息;
创建连接器数据结构的第一临时指针变量,且第一临时指针变量指向第一空间的起始地址,第一临时指针变量作为当前帧数据连接器;
当前帧数据连接器的当前I帧地址成员中保存当前I帧起始地址;
当前帧数据连接器上一帧地址成员中保存全局连接器关联的当前I帧地址;
当前帧数据连接器的下一帧地址成员中保存为0;
全局连接器指针变量的下一帧地址成员中保存当前连接器所关联的当前I帧的地址保存;
全局连接器指针变量的当前帧地址成员中保存当前连接器指针,其中全局连接器指针变量的下一帧地址成员中保存当前连接器所关联的当前I帧的地址保存。
5.一种帧数据定位的方法,其特征在于,所述方法包括以下步骤:
获取需要定位的时间点;
预先创建连接器数据结构第二临时指针变量,且第二临时指针变量指向预先创建的全局连接器指针变量;根据第二临时指针变量指向的当前I帧地址成员获取I帧的时间戳;
定位的时间点如果不小于I帧的时间戳,I帧的时间戳为需要定位的时间点。
6.如权利要求5所述的帧数据定位方法,其特征在于,所述的步骤“定位的时间点如果不小于I帧的时间戳,I帧的时间戳为需要定位的时间点”之后还包括步骤:
“定位的时间点如果小于I帧的时间戳,则通过第二临时指针变量指向的上一个I帧地址成员获取上一帧数据之后所存储的标识信息,并保存到第二临时指针变量中”。
7.一种帧数据定位装置,其特征在于,所述装置包括:信息获取模块、第二初始模块、定位模块;
信息获取模块,用于获取需要定位的时间点;
第二初始模块,用于预先创建连接器数据结构第二临时指针变量,且第二临时指针变量指向预先创建的全局连接器指针变量;
定位模块,用于根据第二临时指针变量指向的当前I帧地址成员获取I帧的时间戳;判断需要定位的时间点是否小于I帧的时间戳,如果否,则I帧的时间戳为需要定位的时间点。
8.如权利要求7所述的一种帧数据定位装置,其特征在于,所述装置中的定位模块还用于:判断定位的时间点如果小于I帧的时间戳,则通过第二临时指针变量指向的上一个I帧地址成员获取上一帧数据之后所存储的标识信息,并保存到第二临时指针变量中。
9.一种帧数据存储和定位系统,其特征在于,所述系统包括:如权利要求4所述的帧数据存储装置和如权利要求7所述的帧数据定位装置;
所述的帧数据存储装置,用于:
预先创建连接器数据结构,所述连接器数据结构包括三个地址成员:当前I帧地址、上一个I帧地址、下一个I帧地址;
接收并存储帧数据;
如果为I帧数据,则帧数据之后将标识信息存入第一空间;所述标识信息包括:当前I帧地址、上一个I帧地址、下一个I帧地址;
所述的帧数据定位装置,用于:
获取需要定位的时间点;
预先创建连接器数据结构第二临时指针变量,且第二临时指针变量指向预先创建的全局连接器指针变量;根据第二临时指针变量指向的当前I帧地址成员获取I帧的时间戳;
定位的时间点如果不小于I帧的时间戳,I帧的时间戳为需要定位的时间点。
10.如权利要求9所述的一种帧数据存储和定位系统,其特征在于,所述系统中的帧数据存储装置还用于:
预先创建连接器数据结构的全局连接器指针变量;
预留连接器所占内存大小的第一空间,用于存放标识信息;
创建连接器数据结构的第一临时指针变量,且第一临时指针变量指向第一空间的起始地址,第一临时指针变量作为当前帧数据连接器;
当前帧数据连接器的当前I帧地址成员中保存当前I帧起始地址;
当前帧数据连接器上一帧地址成员中保存全局连接器关联的当前I帧地址;
当前帧数据连接器的下一帧地址成员中保存为0;
全局连接器指针变量的下一帧地址成员中保存当前连接器所关联的当前I帧的地址保存;
全局连接器指针变量的当前帧地址成员中保存当前连接器指针,其中全局连接器指针变量的下一帧地址成员中保存当前连接器所关联的当前I帧的地址保存;
所述的帧数据定位装置还用于:
判断定位的时间点如果小于I帧的时间戳,则通过第二临时指针变量指向的上一个I帧地址成员获取上一帧数据之后所存储的标识信息,并保存到第二临时指针变量中。
11.一种帧数据存储和定位的终端设备,其特征在于,包括权利要求9和10所述的帧数据存储和定位系统。
CN2010105797464A 2010-12-08 2010-12-08 一种帧数据存储和定位的方法、系统、终端设备 Pending CN102169709A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2010105797464A CN102169709A (zh) 2010-12-08 2010-12-08 一种帧数据存储和定位的方法、系统、终端设备
PCT/CN2011/076368 WO2012075804A1 (zh) 2010-12-08 2011-06-27 一种帧数据存储和定位的方法、装置、系统和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105797464A CN102169709A (zh) 2010-12-08 2010-12-08 一种帧数据存储和定位的方法、系统、终端设备

Publications (1)

Publication Number Publication Date
CN102169709A true CN102169709A (zh) 2011-08-31

Family

ID=44490840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105797464A Pending CN102169709A (zh) 2010-12-08 2010-12-08 一种帧数据存储和定位的方法、系统、终端设备

Country Status (2)

Country Link
CN (1) CN102169709A (zh)
WO (1) WO2012075804A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868930A (zh) * 2012-09-06 2013-01-09 珠海全志科技股份有限公司 传输流数据包解码方法及装置
CN106713940A (zh) * 2015-08-04 2017-05-24 杭州海康威视数字技术股份有限公司 视频流的存储方法、读取方法及装置
CN111093090A (zh) * 2018-10-24 2020-05-01 玲珑视界科技(北京)有限公司 一种基于tcp的组播频道快速切换系统及方法
CN111436004A (zh) * 2019-01-11 2020-07-21 腾讯科技(深圳)有限公司 视频播放方法、装置和设备、计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009825A (zh) * 2006-01-27 2007-08-01 中国科学院声学研究所 基于rtp协议的iptv机顶盒组/单播无缝切换方法
CN101193299A (zh) * 2006-11-30 2008-06-04 三洋电机株式会社 解码电路
CN101202873A (zh) * 2006-12-13 2008-06-18 株式会社日立制作所 信息记录再现装置和信息记录再现方法
US20090303867A1 (en) * 2007-09-18 2009-12-10 Hwang-Soo Lee Apparatus and method for preventing data read error for orthogonal frequency division multiplexing symbol demodulation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100525447C (zh) * 2005-12-07 2009-08-05 联合信源数字音视频技术(北京)有限公司 支持精确定位的音视频媒体数据组织实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009825A (zh) * 2006-01-27 2007-08-01 中国科学院声学研究所 基于rtp协议的iptv机顶盒组/单播无缝切换方法
CN101193299A (zh) * 2006-11-30 2008-06-04 三洋电机株式会社 解码电路
CN101202873A (zh) * 2006-12-13 2008-06-18 株式会社日立制作所 信息记录再现装置和信息记录再现方法
US20090303867A1 (en) * 2007-09-18 2009-12-10 Hwang-Soo Lee Apparatus and method for preventing data read error for orthogonal frequency division multiplexing symbol demodulation

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868930A (zh) * 2012-09-06 2013-01-09 珠海全志科技股份有限公司 传输流数据包解码方法及装置
CN102868930B (zh) * 2012-09-06 2015-04-08 珠海全志科技股份有限公司 传输流数据包解码方法及装置
CN106713940A (zh) * 2015-08-04 2017-05-24 杭州海康威视数字技术股份有限公司 视频流的存储方法、读取方法及装置
CN106713940B (zh) * 2015-08-04 2019-12-20 杭州海康威视数字技术股份有限公司 视频流的存储方法、读取方法及装置
CN111093090A (zh) * 2018-10-24 2020-05-01 玲珑视界科技(北京)有限公司 一种基于tcp的组播频道快速切换系统及方法
CN111436004A (zh) * 2019-01-11 2020-07-21 腾讯科技(深圳)有限公司 视频播放方法、装置和设备、计算机可读存储介质
CN111436004B (zh) * 2019-01-11 2023-02-21 腾讯科技(深圳)有限公司 视频播放方法、装置和设备、计算机可读存储介质

Also Published As

Publication number Publication date
WO2012075804A1 (zh) 2012-06-14

Similar Documents

Publication Publication Date Title
CN102325244B (zh) 按时间快速定位录像的方法、录像存储控制装置及定位装置
CN103927251A (zh) 一种嵌入式系统的日志管理方法
CN107357680A (zh) 数据处理设备和数据处理的方法
CN110688256B (zh) 一种元数据上电恢复方法、装置、电子设备及存储介质
CN102169709A (zh) 一种帧数据存储和定位的方法、系统、终端设备
CN103092849A (zh) 文件系统簇管理方法
CN102902709A (zh) 一种固定空间分配的文件存储系统及实现方法
CN102929697A (zh) 一种状态机、调度方法、装置及usb媒体播放控制装置
CN105551522A (zh) 闪存存储设备的管理方法及装置
CN101937378B (zh) 一种对存储设备的数据进行备份保护的方法及计算机系统
CN105867836A (zh) 存储管理方法、装置及流媒体系统
CN101957729B (zh) 逻辑块变换方法及基于该方法兼容用户读写的方法和装置
CN102541750A (zh) 数据快照的实现方法和装置
CN103794233B (zh) 一种视音频数据的存储方法及存储装置
CN104636218B (zh) 数据恢复方法及装置
CN103544097B (zh) 嵌入式系统的日志存储方法、系统及日志读取方法和系统
CN101364163B (zh) 一种逻辑卷创建系统及其方法
CN107148612A (zh) 一种扩展用户分区的方法和装置
CN102063383B (zh) 一种逻辑区段和物理区段之间映射关系的记录方法
CN102469357B (zh) 一种用户操作数据的保存方法、系统及数字电视接收终端
CN104394460A (zh) 音视频文件定位方法及装置
CN104156175A (zh) 一种虚拟磁盘容量平滑拓展方法
CN102117623B (zh) 一种磁带元数据的恢复方法及装置
WO2012113872A1 (en) A device controller for a memory device
CN105426125A (zh) 一种数据存储方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1160287

Country of ref document: HK

C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110831

REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1160287

Country of ref document: HK