用于再现压缩编码视频数据流的方法和设备的制作方法

文档序号:7643998阅读:149来源:国知局
专利名称:用于再现压缩编码视频数据流的方法和设备的制作方法
技术领域
本发明的各方面涉及再现压缩编码视频数据流的方法,并且更具体地,涉及可通过其在媒体播放器中在特定时间点处实现视频数据流的输出和快速搜索的方法和设备。
背景技术
根据用于再现压缩编码视频数据流的传统方法,为了解码和再现在画面组(GOP)中包括的帧内(I)画面、预测(P)画面以及双向预测(B)画面,基于I画面执行视频的再现和输出。这是因为,在运动图像专家组(MPEG)系统中,基于过去和未来画面数据来生成编码视频数据,并且具有单个画面的信息不完整。然而,因为I画面具有带有一页(sheet)画面数据的完整信息,而不使用过去和未来画面的信息,所以,使用I画面,可不使用另一画面的信息和另一画面的数据来再现该画面。I画面是一种保证GOP的独立性的画面。由于I画面,可以以具有数页画面数据的GOP为单位来进行随机存取。由此,根据传统方法,即使在希望以对应于特定时间点的精确位置来输出画面的时,也仅仅输出在时间上最接近该特定时间点的I画面帧。结果,当用户想要以例如1分钟为单位来执行快进搜索和后退搜索时,不支持这样的操作。
图1是示出传统的快速倒带(rewind)方法的流程图。
参考图1,传统快速倒带方法包括在操作100中确定选择了快速倒带;在操作150中,如果未通过用户的按键操纵选择快速倒带,则执行另一功能;如果在操作100中选择了快速倒带,则通过使用最近似接近于当前偏移且由索引搜索单元在索引存储单元中找到的索引值,从节目流存储单元中提取从当前偏移到下一帧的画面起始代码的范围的分组,并在操作110中显示所提取的分组;在操作120中,使用由索引搜索单元找到的、索引存储单元的下一条目索引值来移动到具有过去I帧的位置,并提取和显示该过去I帧;在操作130中确定是否选择另一功能;如果选择了另一功能,则在操作140中执行相应的功能;并且如果未选择另一功能,则重复操作120。
根据该倒带方法,索引存储单元通过节目流多路分解器和解码器来接收具有视频流中的I帧的画面起始代码的分组的起始部分的索引值,并存储所接收的索引值,并且,如果需要快速倒带,则节目流存储单元提取和显示仅仅I帧。换言之,节目流提取单元使用在索引存储单元中存储的、具有视频流中的I帧的画面起始代码的分组的起始部分的索引值,来提取在节目流存储单元中存储的MPEG节目流,并且在快速倒带期间再现所提取的MPEG节目流。
由此,根据传统的再现压缩编码视频数据流的方法,在前进回放和快速倒带期间都基于I画面帧来执行再现和输出。结果,不可以输出在对应于用户希望的精确时间的精确位置处的画面帧。

发明内容
本发明的各方面提供一种方法和设备,通过该方法和设备,可再现与用户希望输出画面的输入时间点相对应的画面,并且通过该方法和设备,可输出P画面帧或B画面帧、以及I画面帧。还可将该方法和设备用于快速搜索(快进和倒带)。
根据本发明的一个方面,提供了一种再现压缩编码视频数据流的方法。该方法包括接收用户希望执行再现操作的输入时间点;确定对应于该输入时间点的画面帧的类型;根据所确定的画面帧的类型,提取对所述对应于输入时间点的画面帧进行解码所需的参考帧;以及使用所提取的参考帧来对所述对应于输入时间点的画面帧进行解码,并输出经解码的画面帧。
根据本发明的另一方面,提供了一种快速搜索压缩编码视频数据流的方法。该方法包括接收所希望的搜索时间单位;确定对应于所接收的搜索时间单位的画面帧的类型;根据所确定的画面帧的类型,提取对所述对应于搜索时间单位的画面帧进行解码所需的参考帧;以及使用所提取的参考帧来对所述对应于搜索时间单位的画面帧进行解码,并输出经解码的画面帧。
根据本发明的另一方面,提供了一种用于再现压缩编码视频数据流的设备。该设备包括输入单元、控制单元、提取单元和输出单元。输入单元接收用户希望执行再现操作的输入时间点。控制单元确定对应于该输入时间点的画面帧的类型。提取单元根据所确定的画面帧的类型,提取对所述对应于输入时间点的画面帧进行解码所需的参考帧。输出单元使用所提取的参考帧来对所述对应于输入时间点的画面帧进行解码,并输出经解码的画面帧。
根据本发明的另一方面,提供了一种用于对压缩编码视频数据流进行快速搜索的设备。该设备包括输入单元、控制单元、提取单元和输出单元。输入单元接收所希望的搜索时间单位。控制单元确定对应于所接收的搜索时间单位的画面帧的类型。提取单元根据所确定的画面帧的类型,提取对所述对应于搜索时间单位的画面帧进行解码所需的参考帧。输出单元使用所提取的参考帧来对所述对应于搜索时间单位的画面帧进行解码,并输出经解码的画面帧。
根据本发明的另一方面,提供了一种在压缩编码视频数据流中快速搜索的方法,该方法包括接收所选择的输入时间点、所选择的单位搜索时间、以及所选择的搜索方向;确定对应于所选择的输入时间点的画面帧的类型;根据所确定的画面帧的类型,提取对所述对应于所选择的输入时间点的画面帧进行解码所需的参考帧;使用所提取的参考帧来对所述对应于所选择的输入时间点的画面帧进行解码,并输出经解码的画面帧;通过根据搜索方向加上或减去单位搜索时间,计算新的输入时间点,以及重复地接收所计算的输入时间点、确定对应于所计算的输入时间点的画面帧的类型、根据所确定的画面帧的类型而提取对所述对应于所计算的输入时间点的画面帧进行解码所需的参考帧、使用所提取的参考帧来对所述对应于所计算的输入时间点的画面帧进行解码并输出经解码的画面帧、通过根据搜索方向加上或减去单位搜索时间而计算新的输入时间点,直到完成快速搜索为止。
根据本发明的另一方面,提供了一种用于对压缩编码视频数据流进行快速搜索的设备,该设备包括输入单元,用来接收输入时间点、所选择的单位搜索时间、以及所选择的搜索方向;控制单元,用来确定对应于所接收的输入时间点的画面帧的类型;提取单元,用来根据所确定的画面帧的类型,提取对所述对应于所接收的输入时间点的画面帧进行解码所需的参考帧;以及输出单元,用来使用所提取的参考帧来对所述对应于所接收的输入时间点的画面帧进行解码,用来输出经解码的画面帧,并且用来基于所选择的单位搜索时间和所选择的搜索方向来计算并向输入单元输出新的输入时间点。
根据本发明的另一方面,提供了一种计算机可读记录介质,具有在其上记录的、用于实现再现压缩编码视频数据流的方法以及快速搜索压缩编码视频数据流的方法的程序。
根据本发明的另一方面,提供了一种被实现为载波的计算机数据信号,包括实现再现压缩编码视频数据流的方法以及快速搜索压缩编码视频数据流的方法的计算机可读代码。
本发明的其他方面和/或优点部分将在下面的说明中阐述,而部分从该说明中是明显的,或可通过实践本发明而学习。


结合附图,根据下面对实施例的说明,本发明的这些和/或其他方面和优点将变清楚且更容易理解,附图中图1是示出传统快速倒带方法的流程图;图2是示出根据本发明的实施例的、再现压缩编码视频数据流的方法的流程图;图3A是示出根据本发明的另一实施例的、再现压缩编码视频数据流的方法的流程图;图3B是示出根据本发明的另一实施例的、再现压缩编码视频数据流的方法的流程图;图4示出了指示画面帧的类型的vop_coding_type的结构;图5A是用于比较再现顺序中的画面帧的顺序与解码顺序中的画面帧的顺序的代表图;图5B是用于比较再现顺序中的画面帧的顺序与解码顺序中的画面帧的顺序的另一代表图;图6是示出根据本发明的实施例的、再现压缩编码视频数据流的方法的流程图;图7是示出根据本发明的实施例的、快速搜索压缩编码视频数据流的方法的流程图;图8是根据本发明的实施例的用于再现压缩编码视频数据流的设备的框图;图9是根据本发明的实施例的、在图8中示出的控制单元的详细框图;图10是根据本发明的实施例的、在图8中示出的提取单元和输出单元的详细框图;以及图11是根据本发明的另一实施例的、在图8中示出的提取单元和输出单元的详细框图。
具体实施例方式
现在将详细参考本发明的实施例,其示例在附图中示出,其中相同的附图标记始终指示相同的元件。下面通过参考

实施例,以解释本发明。
图2是示出根据本发明的实施例的、再现压缩编码视频数据流的方法的流程图。
参考图2,该方法包括在操作200中,接收用户希望执行再现操作的输入时间点;在操作210中,确定对应于该输入时间点的画面帧的类型;在操作220中,根据所确定的画面帧的类型,提取对与输入时间点相对应的画面帧进行解码所需的参考帧;以及,在操作230中,使用所提取的参考帧,解码对应于输入时间点的画面帧,并输出经解码的画面帧。
在操作200中,接收用户希望对视频数据流执行再现或输出操作的输入时间点。在该操作中,通过诸如个人数字助理(PDA)、笔记本计算机、便携式终端、便携式多媒体播放器(PMP)、或者视频打印机等的各种数字装置,输入再现、输出或打印对应于该时间的特定画面所需的输入时间点。
在操作210中,确定对应于输入时间点的画面帧的类型。在运动图像专家组(MPEG)系统中,构成画面组(GOP)的画面帧包括三种类型的画面,即帧内(I)画面、预测(P)画面和双向预测(B)画面。通过对其本身进行独立编码而不考虑过去和未来画面,而获得I画面。换言之,对I画面不采用在时间方向上的运动估计,并且可使用仅仅其自身内的信息来对I画面编码。通过画面之间的前向预测编码而获得P画面。换言之,使用以I画面或P画面作为预测画面的帧间预测来执行编码。然而,仅仅使用当前帧在时间上的过去帧的宏块(macroblock)的前向(单向)预测可用于预测当前帧的宏块。通过在过去和未来两个方向上的预测编码来获得B画面。换言之,使用I画面或P画面作为预测画面,从过去参考块和未来参考块来预测块。有可能使用在时间轴上相对于当前帧的过去方向、未来方向、或这两个方向上的宏块来执行双向预测。
换言之,I画面帧是帧内编码帧(被使用其自身内的信息进行编码的帧),P画面帧是预测编码帧(被使用帧之间的信息进行前向预测编码的帧),而B画面帧是双向预测编码帧(被双向预测编码的帧)。由此,确定相应画面帧的类型,而且,在解码期间是否以及如何提取预测所需的参考帧根据所确定的画面帧的类型而不同。
在操作220中,提取参考帧。如果在操作210中确定画面帧的类型是P画面帧,那么,因为使用了前向(单向)预测,其通过帧间预测、使用I画面或P画面作为预测画面而对P画面编码,且使用P画面帧在时间轴上的过去帧中的宏块,所以提取了过去I画面帧。因为不对I画面帧采用时间方向上的运动估计,并且因为可使用仅仅其自身内的信息来对I画面帧进行编码,所以选择该I画面帧作为参考帧。如果在操作210中确定画面帧的类型是B画面帧,那么,因为使用了双向预测,其使用I画面或P画面作为预测画面,即,使用在时间轴上相对于当前帧的过去方向、未来方向、或这两个方向上的宏块,而从过去参考块和未来参考块预测块,所以提取了过去I画面帧和未来I画面帧或P画面帧,作为参考帧。
在操作230中,使用参考帧(多个帧)对与输入时间点相对应的画面帧进行预测解码,并输出。例如,如果对应于输入时间点的画面帧的类型是B画面帧,则提取过去I画面帧和未来I画面帧或P画面帧作为参考帧,并使用所提取的参考帧来对B画面帧解码,以便再现。如果对应于输入时间点的画面帧的类型是P画面帧,则仅仅提取过去I画面帧,并且使用所提取的参考帧对P画面帧解码以便再现。如果对应于输入时间点的画面帧的类型是I画面帧,则提取该I画面帧并输出。
图3A和3B是示出根据本发明的另一实施例的、再现压缩编码视频数据流的方法的流程图。尽管这些流程图构成一个方法,但鉴于空间有限,所以将它们在图3A和图3B中分别示出。
在操作310中,接收用户希望对视频数据流执行再现或输出操作的输入时间点。例如,如果输入时间点是2分30秒,则可从用户输入它,或可使用视频输出系统的控制装置来指定它。
在操作315中,计算对应于输入时间点的视频帧计数(VFC)。因为通过时间单位(秒)来表达输入时间点,并且系统的处理的单位是帧计数,所以需要如下进行这些单位之间的转换targetVidCnt=(timeStamp*pm->ticksPerSec[pm->videoTrack]/(pm->ticksPerFrame[pm->videoTrack]*1000.0) (1)其中targetVidCnt是要计算的VFC,timeStamp是输入时间点,pm是节目存储器指针,videoTrack是当前再现的视频数据流的定界符(delimiter),ticksPerSec是每秒的系统时钟滴答(tick)数,而ticksPerFrame是每帧的系统时钟滴答数。在时间单位小于秒的情况下,可进行适当的调整。例如,如果输入时间点的单位是1/1000秒(毫秒),则通过乘以1000.0,使得其与处理的单位一致。
使用该转换公式,将输入时间点转换为用于计算的、对应于输入时间点的特定画面(画面帧)的VFC。
在操作320中,使用在操作315中计算出的VFC,在视频数据流中包括的画面帧中搜索对应于输入时间点的画面帧,并且确定所找到的画面帧的类型。如果所找到的画面帧的类型被确定为I画面帧,则它是帧内画面,并由此可通过在其自身内的独立编码而获得,而不考虑过去或未来画面。结果,解码和输出I画面帧,而不需要提取参考帧。因此,不需要详细说明I画面帧的输出。
在操作325中,如果所找到的画面帧的类型在操作320中被确定为B画面帧,则读取过去I画面帧的VFC,以提取过去参考帧。使用在要被再现的视频数据流中包括的索引信息,选择最接近于B画面帧的过去I画面帧。
在操作330中,获得在对与输入时间点相对应的画面帧的VFC加上1的结果(VFC+1)、与在操作325中读取的I画面帧(下文中,称之为第一I画面帧)的VFC之间的比较差值。
在操作335中,检查跟随在第一I画面帧之后相隔了在操作330中计算出的该比较差值的画面帧是I画面帧(下文中,称之为第二I画面帧)还是P画面帧。这是想要读取在解码顺序中最接近于该B画面帧的过去的第二I画面帧或P画面帧的VFC。
当检查该画面帧是第二I画面帧还是P画面帧时,可使用指示视频数据流中包括的画面帧的类型的vop_coding_type、和指示从画面帧的起始代码的起始点开始的4个字节之后的1个字节数据的数据信息,通过AND(与)操作和移位操作来计算确定画面帧的类型,如下vop_coding_type=(data&0xC0)>>6 (2)在操作355中,如果在操作335中跟随第一I画面帧之后相隔了所计算出的比较差值的画面帧不是I画面帧或P画面帧,则顺序检查对应于输入时间点VFC-1、...、VFC-M+2的B画面帧的VFC。这里,M指示I画面帧或P画面帧在GOP中出现的间隔。此时,将在操作330中计算出的比较差值变为通过对所检查的VFC与第一I画面帧的VFC之间的比较差值加上(M-2)而获得的值。
在操作340中,如果操作335中的画面帧是第二I画面帧或P画面帧,则读取该画面帧的VFC,并且对与在操作325中读取的第一I画面帧的VFC相对应的画面帧进行解码。
在操作345中,在解码期间,跳过对与操作330中所计算出的比较差值相对应的部分的解码,不对跟随第一I画面帧之后的画面帧进行解码,而仅仅对在操作335中检查的第二I画面帧或P画面帧进行解码。
在操作350中,使用在操作340和345中解码的参考帧,对与输入时间点相对应的B画面帧解码,并最终输出。
在操作360中,如果操作320中的画面帧是P画面帧,则读取过去I画面帧的VFC,以提取过去参考帧。此时,使用在要被再现的视频数据流中包括的索引信息来选择最接近于P画面帧的过去I画面帧。
在操作365中,如在操作340中那样,对对应于在操作360中读取的I画面帧的VFC的画面帧进行解码。
在操作370中,在解码期间,跳过对与输入时间点相对应的P画面帧之前的画面帧的解码,而不对跟随该I画面帧之后的画面帧进行解码。
在操作350中,使用在操作365中解码的参考帧,对与输入时间点相对应的P画面帧解码,并最终输出。
图4示出指示画面帧的类型的vop_coding_type的结构。
参考图4,示出了被称为视频对象面(video object plane)的帧(画面)的位流结构。起始代码由32位,即4字节构成,并且指示帧类型的vop_coding_type由2位构成。由此,vop_coding_type的2位00、01和10分别指示I画面、P画面和B画面。
可如下区分2位00、01和10vop_coding_type=(data&0xC0)>>6 (3)其中vop_coding_type指示视频数据流中所包括的画面帧的类型,data指示从画面帧的起始代码的起始点开始的4个字节之后的1字节数据,0XC0指示十六进制的六代码(hexa code)11000000。通过执行对OXCO和data的AND操作,并执行向右6位的移位操作,可区分2位00、01和10。
图5A是比较再现顺序中的画面帧的顺序与解码顺序中的画面帧的顺序的图示。
参考图5A,如果指示I画面帧或P画面帧在GOP中出现的间隔的M是3,则2个(=M-1)B画面帧连续地位于、且I画面帧或P画面帧位于那些B画面帧的两端。
例如,如果用于输出的、对应于特定时间点(例如,2分30秒)的特定画面帧是B23,则该B画面帧的VFC是23,且最接近于B画面帧B23的过去I画面帧(第一I画面帧)的VFC是19。VFC+1(即,24)与第一I画面的VFC(即,19)之间的比较差值是5。由此,可跳过在对第一I画面帧解码后的解码时戳(DTS)上的5个画面帧的解码,对这5个画面帧之后跟随的P画面帧P25解码,并使用参考帧对B画面帧B23解码,并输出。因为减少了不必要的解码时间,所以可在短时间周期内搜索和输出特定的B画面帧。
图5B是比较再现顺序中的画面帧的顺序与解码顺序中的画面帧的顺序的另一图示。
参考图5B,如果M是4,则3个(=M-1)B画面帧连续地位于、且I画面帧或P画面帧位于那些B画面帧的两端。
例如,如果对应于特定时间点(例如,2分30秒)的特定画面帧是B10,则该B画面帧的VFC是10,且最接近于该B画面的先前I画面帧(第一I画面帧)的VFC是4。对与输入时间点相对应的B画面帧的VFC加1的结果(VFC+1=11)与第一I画面的VFC(=4)之间的比较差值是7。由此,可跳过在对第一I画面帧解码后的DTS上的7个画面帧的解码,对这7个画面帧之后跟随的P画面帧P12解码,并使用参考帧对B画面帧B10解码,并输出。
图6是示出根据本发明的另一实施例的再现压缩编码视频数据流的方法的流程图。
参考图6,该方法包括在操作610中,接收用户希望执行再现操作的输入时间点;在操作620中,确定对应于该输入时间点的画面帧的类型;在操作630中,如果确定画面帧的类型是B画面帧,则提取对与输入时间点相对应的画面帧进行解码所需的参考帧;在操作640中,跳过对参考帧之间的画面帧的解码;在操作660中,如果确定该画面帧的类型是P画面帧,则提取对与输入时间点相对应的画面帧进行解码所需的参考帧;在操作670中,跳过对参考帧与对应于输入时间点的画面帧之间的画面帧的解码;以及,在操作650中,使用所提取的参考帧,解码对应于输入时间点的画面帧,并输出经解码的画面帧。
换言之,如果在操作620中确定对应于输入时间点的画面帧的类型是B画面帧,则跳过对解码B画面帧所需的参考帧(I画面和P画面)之间的画面帧的解码,并且仅解码参考帧,由此,在短时间周期内解码和输出B画面帧。
如果在操作620中确定对应于输入时间点的画面帧的类型是P画面帧,则跳过对解码该P画面帧所需的参考帧(I画面)与该P画面帧之间的画面帧的解码,并仅仅解码和输出参考帧和P画面帧。
图7是示出根据本发明的实施例的、快速搜索压缩编码视频数据流的方法的流程图。
参考图7,该方法包括在操作710中,接收用于快速搜索的搜索时间单位;在操作720中,确定对应于搜索时间单位的画面帧的类型;在操作730中,根据所确定的画面帧的类型,提取对与搜索时间单位相对应的画面帧进行解码所需的参考帧;以及,在操作740中,使用所提取的参考帧,对与搜索时间单位相对应的画面帧进行解码,并输出经解码的画面帧。
在操作710中,接收用于快速搜索的搜索时间单位。例如,可将搜索时间单位输入为10秒的间隔,并且,可输出相应的画面,并以10秒的间隔来执行快速搜索(FF、RW)。操作720到操作740与再现在对应于输入搜索时间单位的特定时间点(例如,2分10秒、2分20秒)处的视频数据流的方法的操作相同。在搜索持续时间中,可自动改变搜索时间单位。作为非限制性的示例,搜索时间单位可逐步从10秒的单位向30秒、1分钟、5分钟和10分钟的单位增加。
图8是根据本发明的实施例的、再现压缩编码视频数据流的设备的框图。
参考图8,该设备包括输入单元810、控制单元820、提取单元830、以及输出单元840。
输入单元810接收和处理用户希望对视频数据流执行再现或输出操作的输入时间点。
控制单元820计算对应于输入时间点的画面帧的VFC,并确定画面帧的类型。
提取单元830根据所确定的画面帧的类型,提取对与输入时间点相对应的画面帧解码所需的参考帧。如果由控制单元820确定画面帧的类型是B画面帧,则提取和处理对B画面帧解码所需的第一I画面帧和第二I画面帧(或P画面帧)。
输出单元840包括解码器,使用由提取单元830提取的参考帧来对画面帧解码,并显示经解码的画面帧。
图9是根据本发明的实施例的、图8中所示的控制单元820的详细框图。
参考图9,控制单元820包括转换单元821和确定单元822。转换单元821计算对应于输入时间点的VFC。因为通过时间单位(例如,秒)来表达输入时间点,而系统的处理的单位是帧计数,所以需要这些单位之间的转换,并使用上述的公式1来执行该转换。
targetVidCnt=(timeStamp*pm->ticksPerSec[pm->videoTrack]/(pm->ticksPerFrame[pm->videoTrack]*1000.0)(1)其中targetVidCnt是要计算的VFC,timeStamp是输入时间点,pm是节目存储器指针,videoTrack是当前再现的视频数据流的定界符(delimiter),ticksPerSec是每秒的系统时钟滴答(tick)数,而ticksPerFrame是每帧的系统时钟滴答数。在时间单位小于秒的情况下,可进行适当的调整。例如,如果输入时间点的单位是1/1000秒(毫秒),则通过乘以1000.0,使得其与处理的单位一致。
经过转换的输入时间点被转换为对应于输入时间点的特定画面(画面帧)的VFC,并且被传送到确定单元822。
确定单元822在视频数据流中所包括的画面帧中搜索对应于输入时间点的画面帧,并确定所找到的画面帧的类型。此时,参考图4,因为指示画面帧类型的vop_coding_type由2位构成,所以,可使用如下的公式3,根据这2位是00、01还是10,来识别画面帧的类型。
vop_coding_type=(data&0xC0)>>6(3)其中vop_coding_type指示视频数据流中所包括的画面帧的类型,data指示从画面帧的起始代码的起始点开始的4个字节之后的1字节数据,0XC0指示十六进制的六代码(hexa code)11000000。通过执行对OXCO和data的AND(与)操作,并执行向右6位的移位操作,可区分2位00、01和10。
图10是根据本发明的实施例的、图8所示的提取单元830和输出单元840的详细框图850。
参考图10,提取单元830可包括第一读取单元831和第二读取单元832。如果确定单元822确定画面帧的类型是B画面帧,使用I画面或P画面作为预测画面,执行使用相对于当前帧在时间轴上的过去方向、未来方向、或这两个方向上的宏块的双向预测。由此,第一读取单元831使用在视频数据流中包括的索引信息来读取最接近于B画面帧的过去I画面帧的VFC,而第二读取单元832读取在视频数据流的解码顺序中最接近B画面帧的第二I画面帧或P画面帧的VFC。第二读取单元832可包括比较单元,用于比较对B画面帧的VFC加1的结果(VFC+1)与第一I画面帧的VFC;以及检查单元,用于检查跟随第一I画面帧之后相隔比较差值的画面帧是第二I画面帧还是P画面帧。输出单元840可包括解码器841,用以解码第一I画面帧,跳过对第一I画面帧之后的、与比较差值相对应的部分的解码,解码第二I画面帧或P画面帧,并使用经解码的参考帧来解码对应于输入时间点的画面帧;以及显示单元842,用于输出对应于输入时间点的经解码的画面帧。
图11是根据本发明的另一实施例的、图8所示的提取单元830和输出单元840的详细框图850。
参考图11,提取单元830可包括读取单元833。如果确定单元822确定画面帧的类型是P画面帧,则使用前向(单向)预测,其通过帧间预测、使用I画面或P画面作为预测画面而对P画面帧编码,且使用P画面帧在时间轴上的过去帧中的宏块。由此,读取单元833提取过去I画面帧的VFC。因为不对I画面帧采用在时间方向上的运动估计,且可使用仅仅其本身内的信息来对I画面帧编码,所以用来解码I画面帧的解码器841跳过对I画面帧之后跟随的画面帧的解码,并使用经解码的参考帧来解码对应于输入时间点的画面帧。显示单元842显示对应于输入时间点的、经解码的画面帧。
同时,可将根据本发明的各方面的、用于再现压缩编码视频数据流的方法和快速搜索压缩编码视频数据流的方法实现为计算机可读记录介质上的计算机可读代码。计算机可读记录介质是可存储在以后由计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的例子包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘、以及光数据存储装置。还可在实现为载波中的计算机数据信号(例如,通过因特网传送的信号)的计算机可读代码中实现本发明的各方面。还可通过耦连了计算机系统的网络来分发被实现为载波中的计算机数据信号的计算机可读代码,使得以分布方式存储和执行计算机可读代码。
如上所述,根据本发明的各方面,可输出P画面帧和B画面帧、以及对应于特定时间点的I画面帧,并且可在短时间周期内解码和输出特定画面帧。具体地,对用于输出对应于特定时间点的帧的装置,如,例如视频打印机,本发明的各方面是有用的。
尽管已示出和描述了本发明的几个实施例,但本领域技术人员将理解,可对本实施例进行变化,而不会脱离本发明的原则和精神,在权利要求及其等价物中限定本发明的范围。
相关申请的交叉引用本申请要求2006年6月15日向韩国知识产权局提交的韩国专利申请号2006-53891的利益,在此通过引用并入其全部公开。
权利要求
1.一种再现压缩编码视频数据流的方法,该方法包括接收用户希望执行再现操作的输入时间点;确定对应于该输入时间点的画面帧的类型;根据所确定的画面帧的类型,提取对所述对应于输入时间点的画面帧进行解码所需的参考帧;以及使用所提取的参考帧,对所述对应于输入时间点的画面帧进行解码,并输出经解码的画面帧。
2.如权利要求1所述的方法,其中所述确定对应于输入时间点的画面帧的类型包括计算对应于输入时间点的视频帧计数(VFC);以及确定通过在视频数据流所包括的画面帧中、使用VFC来搜索对应于输入时间点的画面帧而找到的画面帧的类型。
3.如权利要求2所述的方法,其中所述计算对应于输入时间点的视频帧计数(VFC)包括通过将输入时间点乘以每秒的系统时钟滴答数,并将乘法结果除以每帧的系统时钟滴答数,来计算VFC。
4.如权利要求1所述的方法,其中,如果对应于输入时间点的画面帧的类型被确定是双向预测(B)画面帧,则所述根据所确定的画面帧的类型而提取对所述对应于输入时间点的画面帧进行解码所需的参考帧包括使用视频数据流中所包括的索引信息,读取最接近于该B画面帧的过去第一帧内(I)画面帧的VFC;以及读取在视频数据流的解码顺序中最接近于该B画面帧的过去第二I画面帧或预测(P)画面帧的VFC。
5.如权利要求4所述的方法,其中,所述读取在视频数据流的解码顺序中最接近于该B画面帧的过去第二I画面帧或预测(P)画面帧的VFC包括将作为对该B画面帧的VFC加1的结果的(VFC+1)与第一I画面帧的VFC进行比较;以及检查在视频数据流的解码顺序中、跟随该第一I画面帧之后相隔上述比较差值的画面帧是第二I画面帧还是P画面帧。
6.如权利要求5所述的方法,其中,如果所检查的画面帧不是第二I画面帧也不是P画面帧,则检查对应于VFC、(VFC-1)直到(VFC-M+2)的画面帧是第二I画面帧还是P画面帧,其中M是I画面帧或P画面帧在画面组(GOP)中出现的间隔。
7.如权利要求5所述的方法,其中,所述使用所提取的参考帧来对所述对应于输入时间点的画面帧进行解码、并输出经解码的画面帧包括对第一I画面帧解码;跳过对第一I画面帧之后的、对应于比较差值的部分的解码,并解码第二I画面帧或P画面帧;以及使用经解码的参考帧来对所述对应于输入时间点的画面帧进行解码,并输出经解码的画面帧。
8.如权利要求1所述的方法,其中,如果对应于输入时间点的画面帧的类型被确定是P画面帧,则所述根据所确定的画面帧的类型来提取对所述对应于输入时间点的画面帧进行解码所需的参考帧包括使用视频数据流中所包括的索引信息来读取最接近于P画面帧的过去I画面帧的VFC。
9.如权利要求8所述的方法,其中,所述使用所提取的参考帧来对所述对应于输入时间点的画面帧进行解码、并输出经解码的画面帧包括对I画面帧解码;以及跳过对该I画面帧之后跟随的画面帧的解码,使用经解码的I画面帧来对所述对应于输入时间点的画面帧进行解码,并输出经解码的画面帧。
10.如权利要求1所述的方法,其中,如果对应于输入时间点的画面帧的类型被确定是B画面帧,则所述使用所提取的参考帧来对所述对应于输入时间点的画面帧进行解码、并输出经解码的画面帧包括跳过对所提取的参考帧之间的P画面帧或B画面帧的解码。
11.如权利要求1所述的方法,其中,如果对应于输入时间点的画面帧的类型被确定是P画面帧,则所述使用所提取的参考帧来对所述对应于输入时间点的画面帧进行解码、并输出经解码的画面帧包括跳过对所提取的参考帧与对应于输入时间点的画面帧之间的P画面帧或B画面帧的解码。
12.一种快速搜索压缩编码视频数据流的方法,该方法包括接收所希望的单位搜索时间;确定对应于所接收的单位搜索时间的画面帧的类型;根据所确定的画面帧的类型,提取对所述对应于单位搜索时间的画面帧进行解码所需的参考帧;以及使用所提取的参考帧来对所述对应于单位搜索时间的画面帧进行解码,并输出经解码的画面帧。
13.如权利要求12所述的方法,其中,在搜索时间的持续时间上自动地改变所述单位搜索时间。
14.如权利要求13所述的方法,其中,所述自动改变的单位搜索时间逐渐增加。
15.一种在压缩编码视频数据流中快速搜索的方法,该方法包括接收所选择的输入时间点、所选择的单位搜索时间、以及所选择的搜索方向;确定对应于所选择的输入时间点的画面帧的类型;根据所确定的画面帧的类型,提取对所述对应于所选择的输入时间点的画面帧进行解码所需的参考帧;使用所提取的参考帧来对所述对应于所选择的输入时间点的画面帧进行解码,并输出经解码的画面帧;通过根据搜索方向加上或减去单位搜索时间,计算新的输入时间点,和重复地接收所计算的输入时间点、确定对应于所计算的输入时间点的画面帧的类型、根据所确定的画面帧的类型而提取对所述对应于所计算的输入时间点的画面帧进行解码所需的参考帧、使用所提取的参考帧来对所述对应于所计算的输入时间点的画面帧进行解码并输出经解码的画面帧、通过根据搜索方向加上或减去单位搜索时间而计算新的输入时间点,直到完成快速搜索为止。
16.如权利要求15所述的方法,其中,在搜索时间的持续时间上自动地改变所述单位搜索时间。
17.如权利要求16所述的方法,其中,所述自动改变的单位搜索时间逐渐增加。
18.一种再现压缩编码视频数据流的设备,该设备包括输入单元,用来接收用户希望执行再现操作的输入时间点;控制单元,用来确定对应于该输入时间点的画面帧的类型;提取单元,用来根据所确定的画面帧的类型,提取对所述对应于输入时间点的画面帧进行解码所需的一个或多个参考帧;以及输出单元,用来使用所提取的参考帧来对所述对应于输入时间点的画面帧进行解码,并输出经解码的画面帧。
19.如权利要求18所述的设备,其中所述控制单元包括转换单元,用来计算对应于输入时间点的视频帧计数(VFC);以及确定单元,用来确定通过在视频数据流中所包括的画面帧中、使用VFC来搜索对应于输入时间点的画面帧而找到的画面帧的类型。
20.如权利要求19所述的设备,其中所述转换单元通过将输入时间点乘以每秒的系统时钟滴答数,并将乘法结果除以每帧的系统时钟滴答数,来计算VFC。
21.如权利要求18所述的设备,其中所述提取单元包括用于双向预测(B)画面帧的第一读取单元和第二读取单元,从而,如果控制单元确定画面帧的类型是双向预测(B)画面帧,则第一读取单元使用视频数据流中所包括的索引信息,读取最接近于该B画面帧的过去第一帧内(I)画面帧的视频帧计数(VFC);并且第二读取单元读取在视频数据流的解码顺序中最接近于该B画面帧的过去第二I画面帧或预测(P)画面帧的VFC。
22.如权利要求21所述的设备,其中所述第二读取单元包括比较单元,用来将作为对该B画面帧的VFC加1的结果的(VFC+1)与第一I画面帧的VFC进行比较;以及检查单元,用来检查在视频数据流的解码顺序中、跟随该第一I画面帧之后相隔所述比较差值的画面帧是第二I画面帧还是P画面帧。
23.如权利要求22所述的设备,其中,如果检查单元所检查的画面帧不是第二I画面帧也不是P画面帧,则检查单元顺序地检查对应于VFC、(VFC-1)直到(VFC-M+2)的画面帧是第二I画面帧还是P画面帧,其中M是I画面帧或P画面帧在画面组(GOP)中出现的间隔。
24.如权利要求22所述的设备,其中所述输出单元包括解码器,用来对第一I画面帧解码,跳过对第一I画面帧之后的、对应于比较差值的部分的解码,并解码第二I画面帧或P画面帧,并且用来使用经解码的第一I画面帧和第二I画面帧或P画面帧,对所述对应于输入时间点的画面帧进行解码;以及显示单元,用来输出对应于输入时间点的、经解码的画面帧。
25.如权利要求18所述的设备,其中所述提取单元包括用于预测(P)画面帧的读取单元,从而,如果控制单元确定的画面帧的类型是P画面帧,则读取单元使用视频数据流中所包括的索引信息来读取最接近于P画面帧的过去I画面帧的视频帧计数(VFC)。
26.如权利要求25所述的设备,其中所述输出单元包括解码器,用来对I画面帧解码,跳过对该I画面帧之后跟随的画面帧的解码,并使用经解码的I画面帧来对所述对应于输入时间点的画面帧进行解码;以及显示单元,用来输出对应于输入时间点的、经解码的画面帧。
27.如权利要求18所述的设备,其中所述提取单元包括用于双向预测(B)画面帧的第一读取单元和第二读取单元、以及用于预测(P)画面帧的读取单元,并且其中,所述输出单元包括解码器和显示单元,从而如果控制单元确定的画面帧的类型是B画面帧,则第一读取单元使用视频数据流中所包括的索引信息,读取最接近于该B画面帧的过去第一帧内(I)画面帧的视频帧计数(VFC);第二读取单元读取在视频数据流的解码顺序中最接近于该B画面帧的过去第二I画面帧或预测P画面帧的VFC,以及解码器对第一I画面帧解码,跳过对第一I画面帧之后的、对应于比较差值的部分的解码,并解码第二I画面帧或P画面帧,并使用经解码的第一I画面帧和第二I画面帧或P画面帧,对所述对应于输入时间点的画面帧进行解码,以及如果控制单元确定的画面帧的类型是P画面帧,则读取单元使用视频数据流中所包括的索引信息来读取最接近于P画面帧的过去I画面帧的视频帧计数(VFC)。解码器对I画面帧解码,跳过对该I画面帧之后跟随的画面帧的解码,并使用经解码的I画面帧来对所述对应于输入时间点的画面帧进行解码;以及其中,所述显示单元输出对应于输入时间点的、经解码的画面帧。
28.如权利要求18所述的设备,其中,如果控制单元确定的画面帧的类型是B画面帧,则输出单元跳过对所提取的参考帧之间的P画面帧或B画面帧的解码。
29.如权利要求18所述的设备,其中,如果控制单元确定的画面帧的类型是P画面帧,则输出单元跳过对所提取的参考帧与对应于输入时间点的画面帧之间的P画面帧或B画面帧的解码。
30.一种用于对压缩编码视频数据流进行快速搜索的设备,该设备包括输入单元,用来接收所希望的单位搜索时间;控制单元,用来确定对应于所接收的单位搜索时间的画面帧的类型;提取单元,用来根据所确定的画面帧的类型,提取对所述对应于单位搜索时间的画面帧进行解码所需的参考帧;以及输出单元,用来使用所提取的参考帧来对所述对应于单位搜索时间的画面帧进行解码,并输出经解码的画面帧。
31.如权利要求30所述的设备,其中,在搜索时间的持续时间上自动地改变所述单位搜索时间。
32.如权利要求31所述的设备,其中,所述自动改变的单位搜索时间逐渐增加。
33.一种用于对压缩编码视频数据流进行快速搜索的设备,该设备包括输入单元,用来接收输入时间点、所选择的单位搜索时间、以及所选择的搜索方向;控制单元,用来确定对应于所接收的输入时间点的画面帧的类型;提取单元,用来根据所确定的画面帧的类型,提取对所述对应于所接收的输入时间点的画面帧进行解码所需的参考帧;以及输出单元,用来使用所提取的参考帧来对所述对应于所接收的输入时间点的画面帧进行解码,用来输出经解码的画面帧,并且用来基于所选择的单位搜索时间和所选择的搜索方向来计算并向输入单元输出新的输入时间点。
34.一种计算机可读记录介质,具有在其上记录的、用于实现如权利要求1所述的方法的程序。
35.一种被实现为载波的计算机数据信号,包括实现如权利要求1所述的方法的计算机可读代码。
全文摘要
一种再现压缩编码视频数据流的方法,包括接收用户希望执行再现操作的输入时间点;确定对应于该输入时间点的画面帧的类型;根据所确定的画面帧的类型,提取对所述对应于输入时间点的画面帧进行解码所需的参考帧;以及使用所提取的参考帧来对所述对应于输入时间点的画面帧进行解码,并输出经解码的画面帧。
文档编号H04N7/32GK101090492SQ20071000614
公开日2007年12月19日 申请日期2007年1月31日 优先权日2006年6月15日
发明者崔轸炫, 朴正勋, 金晋民, 李阳周, 安永樽 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1