CN103369287B - 视频数据转换方法与系统 - Google Patents
视频数据转换方法与系统 Download PDFInfo
- Publication number
- CN103369287B CN103369287B CN201210098564.4A CN201210098564A CN103369287B CN 103369287 B CN103369287 B CN 103369287B CN 201210098564 A CN201210098564 A CN 201210098564A CN 103369287 B CN103369287 B CN 103369287B
- Authority
- CN
- China
- Prior art keywords
- data
- path
- switching command
- status
- current
- 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.)
- Active
Links
Landscapes
- Studio Circuits (AREA)
Abstract
本发明提出了一种视频数据转换方法与系统,其中该方法包括:在多个输入路径的每一个中,通过输入缓冲器接收并缓冲视频分割码流中的一类语法元素数据;将与所述输入缓冲器对应的状态数据保存至相应的状态寄存器;接收切换指令;根据切换指令的指示,将所述视频分割码流中对应于每个宏块的各类语法元素数据依次从所述多个输入路径中的输入缓冲器切换至数据输出端,得到自然视频码流;根据切换指令的指示,将各个状态数据从所述状态寄存器切换至状态输出端,得到状态输出数据。
Description
技术领域
本发明涉及视频数据转换方法与系统,特别地,涉及用于视频分割码流与自然视频码流之间的转换的视频数据转换方法与系统。
背景技术
在传统的视频编解码系统中,编码器按照宏块在视频图像中的几何位置的顺序,依次对每个宏块进行编码,得到按照宏块的几何位置排序的各个宏块的编码数据构成的码流,以下称为自然视频码流,图1显示了自然视频码流中的数据结构的示意图,其中在自然视频码流中依次排放每个宏块的编码数据EDATA-1~EDATA-N,在解码器中,依次对每个宏块的编码数据进行解码,并依次输出每个宏块的解码数据。因此,传统的视频编解码器只需针对单个宏块进行解码操作,其复杂度和硬件规模都较小。
作为当前视频编解码领域的前沿技术,视频数据分割的应用日益广泛。视频数据分割(data partition)技术的原理是以宏块作为基本处理单元,对每个宏块的语法元素按照一定的规则(例如其重要性)进行分类打包(分割),并采用不同的容错和信道保护等级,以提高视频码流的容错性,改善波动网络环境下的视频质量。经过视频数据分割技术处理之后的视频数据流以下简称为视频分割码流,图2显示了按语法元素的重要性进行分类的视频分割码流的数据结构的示意图,其特点是,将各个宏块中最重要的语法元素对应的数据放置于码流的前端,图2中的E1-C1~EN-C1即表示第1个宏块E1到第N个宏块EN的最重要的第一类语法元素C1的数据,然后按重要性下降的顺序依次放置各个宏块的其他各类语法元素对应的数据E1_C2~EN_C2,E1_C3~EN_C3……,数据E1_C2~E1_CN构成了第一个宏块E1的全部语法元素数据。图2中的视频分割码流已经不再按照各个宏块在原图像中的几何位置来自然地排列数据。在对这样的视频数据进行解码时,无法再按照宏块的几何位置对每个宏块进行解码并依次显示每个宏块的图像,而是需要对所有宏块的每一类语法元素的数据进行解码,得到对应于所有宏块中的每类语法元素的解码结果,经过对各类语法元素数据的多遍(multi-path)处理后,再合成所有的解码结果才能够得到整张图像,也就是说,编解码器处理基本对象为所有宏块的一类语法元素,这就对视频解码系统和运算能力和存储能力提出了很高的要求,并且在处理不同的数据分割时,系统需要由固件或软件开辟系统资源以保存和切换码流的上下文信息,因此需要巨大的硬件资源来完成数据的运算和保存。
为了降低编解码系统的复杂度和硬件开销,在某些应用中希望能够通过传统的针对自然视频码流的编解码器来对视频分割码流进行编解码,或者将编解码器产生的自然视频码流转换为视频分割码流,这就出现了如何在视频分割码流和自然视频码流之间进行转换的问题。
因此,如何提供一种实现上述视频数据转换的方法和系统,成为目前亟待解决的问题。
发明内容
本发明提出了一种视频数据转换方法和系统,该方法和系统能够根据切换指令动态地对多路输入数据进行切换,从而以高速度、高并行度、动态灵活地实现视频分割码流和自然视频码流之间的转换,使得视频分割技术与传统的编解码器之间能够自然兼容。
根据本发明的一方面,提出了一种视频数据转换方法,该方法包括:
1)在多个输入路径的每一个中,通过输入缓冲器接收并缓冲视频分割码流中的一类语法元素数据;
2)将与所述输入缓冲器对应的状态数据保存至相应的状态寄存器;
3)接收切换指令;
4)根据切换指令的指示,将所述视频分割码流中对应于每个宏块的各类语法元素数据依次从所述多个输入路径中的输入缓冲器切换至数据输出端,得到自然视频码流;
5)根据切换指令的指示,将各个状态数据从所述状态寄存器切换至状态输出端,得到状态输出数据。
优选地,每个输入路径具有与之唯一对应的路径ID,用于识别该路径以及该路径中的输入缓冲器和状态寄存器;以及其中
在步骤3)中,所接收的切换指令为当前切换指令,该当前切换指令包含当前需要切换的输入路径的当前路径ID;
在步骤4)中,将该当前路径ID对应的输入缓冲器的输出切换至数据输出端;
在步骤5)中,将该当前路径ID对应的状态寄存器的输出切换至状态输出端。
优选地,在步骤3)中,接收当前切换指令,并保存当前切换指令中的当前路径ID;在步骤5)中,根据接收前次切换指令时保存的前次路径ID,将状态输出端上的状态数据保存至与该前次路径ID相对应的状态寄存器;再将与该当前路径ID对应的状态寄存器的输出切换至切换控制器的状态输出端。
优选地,设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据;或设置一条当前切换指令中同时指示一个宏块中的多类语法元素数据和多个状态数据的切换顺序。
根据本发明的另一方面,提出了一种视频数据转换系统,该系统包括:
-多个输入路径,每个输入路径包括:
输入缓冲器,该输入缓冲器接收并缓冲输入的视频分割数据中的一类语法元素数据,并将与该输入缓冲器相对应的状态数据保存至状态寄存器;
状态寄存器,保存所述状态数据;
-切换控制器,接收切换指令,根据切换指令的指示,将所述视频分割数据中对应于每个宏块的各类语法元素数据依次从所述多个输入路径中的输入缓冲器切换至该切换控制器的数据输出端,得到自然视频码流;并根据切换指令的指示,将各个状态数据从所述多个输入路径中的状态寄存器切换至该切换控制器的状态输出端,得到状态输出数据。
优选地,每个输入路径具有与之唯一对应的路径ID,用于识别该路径以及该路径中的输入缓冲器和状态寄存器;以及其中
切换控制器接收的切换指令为当前切换指令,该当前切换指令包含当前需要切换的输入路径的当前路径ID,该切换控制器将与该当前路径ID对应的输入缓冲器的输出切换至数据输出端,将与该当前路径ID对应的状态寄存器的输出切换至状态输出端。
优选地,该系统还包括路径ID存储器,该路径ID存储器用于保存前一次切换指令中的前次路径ID,以及当前切换指令中的当前路径ID;以及
切换控制器将与该当前路径ID对应的输入缓冲器的输出切换至数据输出端,然后,切换控制器将状态输出端的状态数据保存至与前次路径ID对应的状态寄存器中,然后将与该当前路径ID对应的状态寄存器的输出切换至状态输出端。
优选地,设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据;或设置一条当前切换指令中同时指示一个宏块中的多类语法元素数据和多个状态数据的切换顺序。
根据本发明的另一方面,提出了一种视频数据转换方法,该方法包括:
1)在数据输入端接收自然视频码流;
2)接收切换指令;
3)根据该切换指令的指示,将所述自然视频码流中各类语法元素数据依次从数据输入端切换至多个输出路径中的输出缓冲器,得到视频分割数据,其中每个输出缓冲器输出视频分割数据中的一类语法元素数据;
4)将与所述输出缓冲器相对应的状态数据保存至相应的状态寄存器;
5)根据该切换指令的指示,将各个状态数据从所述多个输出路径中的状态寄存器切换至状态输出端,得到状态输出数据。
优选地,每个输出路径具有与之唯一对应的路径ID,用于识别该输出路径及该输出路径中的输出缓冲器和状态寄存器;以及其中
在步骤2)中,所接收的切换指令为当前切换指令,该当前切换指令包含当前需要切换的输出路径的路径ID,
在步骤3)中,将数据输入端的自然视频码切换至该当前路径ID对应的输出缓冲器,
在步骤5)中,将该当前路径ID对应的状态寄存器中的状态信息切换至状态输出端。
优选地,在步骤2)中,接收当前切换指令,保存当前切换指令中的当前路径ID;
在步骤5)中,根据接收前次切换指令时保存的前次路径ID,将状态输出端上的状态数据保存至与该前次路径ID相对应的状态寄存器;再将所述多个输出路径中的与该当前切换指令对应的状态寄存器的输出切换至状态输出端。
优选地,设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据;或设置一条当前切换指令中同时指示一个宏块中的多类语法元素数据和多个状态数据的切换顺序。
根据本发明的另一方面,提出了一种视频数据转换系统,该系统包括:
-多个输出路径,每个输出路径包括:
输出缓冲器,缓冲并输出来自切换控制器的自然视频码流中的一类语法元素数据,并将与该输出缓冲器相对应的状态数据保存至状态寄存器;
状态寄存器,保存所述状态数据;
-切换控制器,接收切换指令,根据该切换指令的指示,将所述切换控制器的数据输入端接收到所述自然视频码流中的各类语法元素数据依次切换至多个输出路径中的输出缓冲器,得到视频分割数据,其中每个输出缓冲器输出一类语法元素数据;将与所述输出缓冲器相对应的状态数据保存至相应的状态寄存器;并根据该切换指令的指示,将各个状态数据从所述多个输出路径中的状态寄存器切换至状态输出端,得到状态输出数据。
优选地,每个输出路径具有与之唯一对应的路径ID,用于识别该输出路径及该输出路径中的输出缓冲器和状态寄存器,以及其中
切换控制器接收的切换指令为当前切换指令,包含当前需要切换的输出路径的当前路径ID,切换控制器将数据输入端的自然视频码流切换至该当前路径ID对应的输出缓冲器,并将该当前路径ID对应的状态寄存器中的状态信息切换至状态输出端。
优选地,该系统还包括路径ID存储器,该路径ID存储器用于保存前一次切换指令中的前次路径ID,以及当前切换指令中的当前路径ID;以及其中
切换控制器将数据输入端的自然视频码流切换至该当前路径ID对应输出缓冲器,然后将状态输出端的状态数据保存至前次路径ID对应的状态寄存器中,然后将当前路径ID对应的状态寄存器的输出切换至状态输出端。
优选地,设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据;或设置一条当前切换指令中同时指示一个宏块中的多类语法元素数据和多个状态数据的切换顺序。
附图说明
图1是自然视频码流的数据结构的示意图;
图2是视频分割码流的数据结构的示意图;
图3是根据本发明的第一优选实施例的视频数据转换方法的流程图;
图4是根据本发明的第二优选实施例的视频数据转换方法的流程图;
图5是根据本发明的第三优选实施例的视频数据转换系统的结构框图;
图6是根据本发明的第四优选实施例的视频数据转换系统的结构框图;
图7是根据本发明的第五优选实施例的视频数据转换方法的流程图;
图8是根据本发明的第六优选实施例的视频数据转换方法的流程图;
图9是根据本发明的第七优选实施例的视频数据转换系统的结构框图;
图10是根据本发明的第八优选实施例的视频数据转换系统的结构框图;
图11是的根据本发明的视频数据转换系统的一个示例性的应用的示意图。
具体实施方式
图3是根据本发明的第一优选实施例的视频数据转换方法的流程图,该方法主要包括:
S301,在多个输入路径的每一个中,通过输入缓冲器接收并缓冲视频分割码流中的一类语法元素数据;
S302,将与所述输入缓冲器对应的状态数据保存至相应的状态寄存器;
S303,接收切换指令;
S304,根据切换指令的指示,将所述视频分割码流中对应于每个宏块的各类语法元素数据依次从所述多个输入路径中的输入缓冲器切换至数据输出端,得到自然视频码流;
S305,根据切换指令的指示,将各个状态数据从所述状态寄存器切换至状态输出端,得到状态输出数据。
该实施例的目的在于实现视频分割码流至自然视频码流的转换。在切换指令的控制下,对多个输入缓冲器中输入的各类语法元素数据进行切换,依次将每个宏块的各类语法元素数据切换至输出端,从而在数据输出端得到了由每个宏块的各类语法元素数据构成的自然视频码流,在状态输出端得到了相应的每个宏块的状态数据,因此将接收到的图2所示的视频分割码流转换成了图1所示的自然视频码流,从而可以利用以宏块为对象的编解码器对数据输出端和状态输出端的数据进行编解码,大大降低了编解码器的复杂度和规模。
优选地,可通过切换指令来指定每个宏块的各类语法元素的切换次序,该切换次序可适应于应用的需要(例如视频编解码标准等)而确定。
优选地,在步骤S301中,所述多个输入路径的多个输入缓冲器同步地接收视频分割码流中的各类语法元素数据。
所述状态数据,或称为“状态信息”或“上下文信息”,可包括,例如:缓冲器指针,计数值等。这些状态数据可用于指示缓冲器的读写地址,读写状态,或缓冲器中语法元素数据的上下文信息等。
优选地,所述多个输入缓冲器和所述多个状态寄存器一一对应,从而在每个输入缓冲器接收到一类语法元素数据时,在对应的状态寄存器中保存相应的状态数据,每个输入缓冲器和相应的状态寄存器构成一个输入路径。
优选地,每个输入路径具有与之唯一对应的路径ID,用于识别该路径以及该路径中的输入缓冲器和状态寄存器,即每个路径ID均与特定的输入路径相对应,也与该输入路径中的状态寄存器和输入缓冲器相对应。因此在一个变形中,在步骤S303中,所接收的切换指令为当前切换指令,其可包含当前需要切换的输入路径的当前路径ID,从而在步骤S304和步骤S305中通过该当前路径ID指定要切换的输入路径中的输入缓冲器和状态寄存器,并将该输入缓冲器的输出切换至数据输出端,将该状态寄存器的数据切换至状态输出端,从而获得该路径ID指定的输入缓冲器和状态寄存器中的语法元素数据和相应的状态数据。可通过外部逻辑部件、软件或固件设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据,从而完成视频数据的转换。
然而,当前切换指令的指定方式不限于此,也可根据应用的需要同时指定切换不同输入路径中的输入缓冲器和状态寄存器,或在一条当前切换指令中同时指示某一个宏块中的多类语法元素数据和多个上下文信息的切换顺序,以实现视频数据的转换。
根据不同的应用场合,所述状态数据可能响应于外部逻辑的命令而变化,或随着输入缓冲器的状态而发生变化,或随着视频数据经过不同的处理而发生更新,也就是说,在将某状态寄存器中的状态数据切换至状态输出端后,在下一次切换发生之前,该状态输出端上的状态数据可能发生了变化,在这种情况下,可在接收下一个切换指令之前,将状态输出端上的当前的状态数据保存回到相应的状态寄存器中,从而保证状态寄存器中保存有最新的状态数据。
在图4所示的该方法的第二优选的实施例中,在切换状态寄存器的输出至状态输出端之前,先根据所保存的前次路径ID将状态输出端上的数据保存至前次路径ID对应的状态寄存器,再将当前路径ID对应的状态寄存器的输出切换至状态输出端,因此该实施例中的方法包括:
S401,在多个输入路径的每一个中,通过输入缓冲器接收并缓冲视频分割码流中的一类语法元素数据;
S402,将与所述输入缓冲器对应的状态数据保存至相应的状态寄存器;
S403,接收当前切换指令,并保存当前切换指令中的当前路径ID;
S404,将由该当前路径ID指定的输入缓冲器的输出切换至数据输出端,得到自然视频码流;
S405,根据接收前次切换指令时保存的前次路径ID,将状态输出端上的状态数据保存至与该前次路径ID相对应的状态寄存器;
S406,将由该当前路径ID指定的状态寄存器的输出切换至状态输出端,得到状态输出数据。
其中,步骤S405也可在步骤S403和步骤S404之间进行。
图5是根据本发明的第三优选实施例的视频数据转换系统的结构框图,该系统主要包括:
-多个输入路径(500a,500b,500c),每个输入路径包括:
输入缓冲器(501a,501b,501c),该输入缓冲器(501a,501b,501c)接收并缓冲输入的视频分割数据中的一类语法元素数据(EN_C1~E1_C1,EN_C2~E1_C2,EN_C3~E1_C3),并将与该输入缓冲器(501a,501b,501c)相对应的状态数据保存至状态寄存器(502a,502b,502c);
状态寄存器(502a,502b,502c),保存所述状态数据;
-切换控制器503,接收切换指令,根据切换指令的指示,将所述视频分割数据中对应于每个宏块的各类语法元素数据(例如宏块E1的三类语法元素数据E1_C1,E1_C2,E1_C3)依次从所述多个输入路径(500a,500b,500c)中的输入缓冲器(501a,501b,501c)切换至该切换控制器503的数据输出端504,得到自然视频码流;并根据切换指令的指示,将各个状态数据从所述多个输入路径(500a,500b,500c)中的状态寄存器(502a,502b,502c)切换至该切换控制器503的状态输出端505,得到状态输出数据。
优选地,所述多个输入路径的多个输入缓冲器(501a,501b,501c)同步地接收多路输入数据,由此实现各类语法元素数据的并行接收。在图5所示的实施例中描述了三个输入路径(500a,500b,500c),事实上,输入路径的数量不限于三个,根据需要可以是一个以上的任意数量。
优选地,每个输入路径具有与之唯一对应的路径ID,用于识别该路径以及该路径中的输入缓冲器和状态寄存器,即每个路径ID均与特定的输入路径相对应,也与该输入路径中的状态寄存器和输入缓冲器相对应。在一个变形中,切换控制器503所接收的切换指令为当前切换指令,该当前切换指令可包含当前需要切换的输入路径的当前路径ID,并通过该当前路径ID来指定要切换的输入路径中的输入缓冲器和状态寄存器,并将该输入缓冲器的输出切换至数据输出端504,将该状态寄存器的输出切换至状态输出端505。可通过外部逻辑部件、软件或固件设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据,从而完成视频数据的转换。
然而,当前切换指令的指定方式不限于此,也可根据应用的需要同时指定切换不同输入路径中的输入缓冲器和状态寄存器,或在一条切换指令中同时指示某一个宏块中的多类语法元素数据和多个上下文信息的切换顺序。
根据不同的应用场合,所述状态数据可能响应于外部逻辑的命令而变化,或随着输入缓冲器的状态而发生变化,或随着数据经过不同的处理而发生更新,也就是说,在将某状态寄存器中的状态数据切换至状态输出端505后,在下一次切换发生之前,该状态输出端505上的状态数据可能发生了变化,在这种情况下,可在接收下一个切换指令之前,将状态输出端505上的当前的状态数据保存回到相应的状态寄存器中,从而保证状态寄存器中保存有最新的状态数据,图6描述了对应于上述情况的本发明的视频数据转换系统的另一优选实施例的结构框图。
在图6所述的第四优选实施例中,该系统在图5所述的系统的基础上还包括路径ID存储器506,该路径ID存储器506用于保存前一次切换指令中的前次路径ID,以及当前切换指令中的当前路径ID。在该实施例中,切换控制器503将该当前路径ID对应的输入缓冲器的输出切换至数据输出端504,接下来,切换控制器503首先将状态输出端505的状态数据保存至前次路径ID对应的状态寄存器中,然后将当前路径ID对应的状态寄存器的输出切换至状态输出端505,其中将状态数据保存至前次路径ID对应的状态寄存器也可在切换当前路径ID对应输入缓冲器之前进行。本实施例可保证每个状态寄存器都包含对应于其所在路径中的输入缓冲器及数据的当前最新的状态信息。优选地,将状态输出端505的状态数据保存至前次路径ID对应的状态寄存器时,可以覆盖、部分覆盖、或不覆盖该状态寄存器中的原有数据。
在状态输出端505得到的状态输出数据可提供给外部存储或逻辑模块,并可用于对数据输出端504的自然视频码流进行下一步处理。
与上述实施例中的将视频分割码流转换为自然视频码流的视频数据转换方法和系统相对应地,本发明还涉及基于相同原理的将自然视频码流转换为视频分割码流的视频数据转换方法和系统。
图7是根据本发明的第五优选实施例的视频数据转换方法的流程图,在该实施例中该方法包括:
S701,在数据输入端接收自然视频码流;
S702,接收切换指令;
S703,根据该切换指令的指示,将所述自然视频码流中各类语法元素数据依次从数据输入端切换至多个输出路径中的输出缓冲器,得到视频分割数据,其中每个输出缓冲器输出视频分割数据中的一类语法元素数据;
S704,将与所述输出缓冲器相对应的状态数据保存至相应的状态寄存器;
S705,根据该切换指令的指示,将各个状态数据从所述多个输出路径中的状态寄存器切换至状态输出端,得到状态输出数据。
该实施例的目的在于实现自然视频码流至视频分割码流之间的转换,通过基于切换指令的切换,自然视频码流中的各类语法元素数据被切换至各个输出缓冲器,优选地,在步骤S703中,所述多个输出路径的多个输出缓冲器同步地输出各类语法元素数据,从而得到并行输出的视频分割数据。优选地,可根据需要对多个输出缓冲器输出的数据进行并行至串行转换,按照特定的顺序,例如语法元素数据的重要性依次输出各个输出缓冲器中的各类语法元素数据,从而得到如图2所示的串行输出的视频分割数据。
优选地,每个输出路径具有与之唯一对应的路径ID,用于识别该输出路径及该输出路径中的输出缓冲器和状态寄存器。在步骤S702中,所接收的切换指令为当前切换指令,该当前切换指令可包含当前需要切换的输出路径的路径ID,这样,可将数据输入端的自然视频码切换至该当前路径ID对应的输出缓冲器,也将该当前路径ID对应的状态寄存器中的状态信息切换至状态输出端。可通过外部逻辑部件、软件或固件设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据,从而完成视频数据的转换。
然而,当前切换指令的指定方式不限于此,也可根据应用的需要同时指定切换不同输入路径中的输入缓冲器和状态寄存器,或在一条切换指令中同时指示某一个宏块中的多类语法元素数据和多个上下文信息的切换顺序。
在图8所述该方法的另一优选的实施例中,在该实施例中,在切换状态寄存器中的数据至状态输出端之前,先根据所保存的前次路径ID将状态输出端上的数据保存至前次路径ID对应的状态寄存器,再将当前路径ID对应的状态寄存器的状态数据切换至状态输出端,因此该实施例中的方法包括:
S801,在数据输入端接收自然视频码流;
S802,接收当前切换指令,保存当前切换指令中的当前路径ID;
S803,将所述自然视频码流切换至所述多个输出路径中的由该当前路径ID指定的输出缓冲器;
S804,将与所述输出缓冲器相对应的状态数据保存至相应的状态寄存器;
S805,根据接收前次切换指令时保存的前次路径ID,将状态输出端上的状态数据保存至与该前次路径ID相对应的状态寄存器;
S806,将所述多个输出路径中的由该当前切换指令指定的状态寄存器的输出切换至状态输出端。
其中,步骤S804和S805也可交换顺序执行。
图9是根据本发明的一个优选实施例的视频数据转换系统的结构框图,该系统主要包括:
-多个输出路径(900a,900b,900c),每个输出路径包括:
输出缓冲器(901a,901b,901c),缓冲并输出来自切换控制器903的自然视频码流中的一类语法元素数据(E1_C1~EN_C1,E1_C2~EN_C2,E1_C3~EN_C3)并将与该输出缓冲器(901a,901b,901c)相对应的状态数据保存至状态寄存器(902a,902b,902c);
状态寄存器(902a,902b,902c),保存所述状态数据;
-切换控制器903,接收切换指令,根据该切换指令的指示,将所述切换控制器903的数据输入端904接收到所述自然视频码流中的各类语法元素数据依次切换至多个输出路径(900a,900b,900c)中的输出缓冲器(901a,901b,901c),得到视频分割数据,其中每个输出缓冲器输出一类语法元素数据;将与该输出缓冲器(901a,901b,901c)相对应的状态数据保存至相应的状态寄存器(902a,902b,902c);并根据该切换指令的指示,将各个状态数据从所述多个输出路径(900a,900b,900c)中的状态寄存器(902a,902b,902c)切换至状态输出端905,得到状态输出数据。
优选地,所述自然视频码流中包含每个宏块的视频数据,该视频数据由各个语法元素数据的数据片段组成,所述各个语法元素数据已经按照一定规则(例如语法元素的重要性)进行了分类(例如宏块E1中的E1_C1,E1_C2,E1_C3)。在一个优选实施例中,在切换的过程中,切换控制器903将各个宏块中的同一类语法元素的数据片段切换至同一个输出缓冲器,从而在各个输出缓冲器中获得各类语法元素的数据,所述多个输出缓冲器的输出就构成了视频分割数据。
优选地,所述多个数据路径中的多个输出缓冲器(901a,901b,901c)可同步输出多路数据,从而得到并行的视频分割数据。优选地,所述视频数据转换装置还可包括并行至串行转换器907,将多个输出缓冲器(901a,901b,901c)输出的各类语法元素数据按照语法元素数据的重要性依次串行输出,从而得到串行的视频分割数据。
优选地,每个输出路径具有与之唯一对应的路径ID,用于识别该输出路径及该输出路径中的输出缓冲器和状态寄存器,即每个路径ID均与特定的输出路径相对应,也与该输出路径中的状态寄存器和输出缓冲器相对应。切换控制器903所接收的切换指令可为当前切换指令,其可包含当前需要切换的输出路径的当前路径ID,这样,切换控制器903可将数据输入端904中的自然视频码流切换至该当前路径ID对应的输出缓冲器,也将该当前路径ID对应的状态寄存器中的状态信息切换至状态输出端905。
可通过外部逻辑部件、软件或固件设置每个当前切换指令依次指示切换自然视频码流中的每个宏块的一类语法元素数据和相应的状态数据,从而完成视频数据的转换。然而,当前切换指令的指定方式不限于此,也可根据应用的需要同时指定切换至不同输出路径中的输入缓冲器和状态寄存器,或在一条切换指令中同时指示一个宏块中的多类语法元素数据和多个上下文信息的切换顺序。
在图10所述的实施例中,该系统在图9所示的系统的基础上还包括路径ID存储器906,该路径ID存储器906用于保存前一次切换指令中的前次路径ID,以及当前切换指令中的当前路径ID。在该实施例中,切换控制器903将数据输入端904的自然视频码流切换至该当前路径ID对应输出缓冲器,接下来,将状态输出端905的状态数据保存至前次路径ID对应的状态寄存器中,然后将当前路径ID对应的状态寄存器的输出切换至状态输出端905,其中将状态输出端的状态数据保存至前次路径ID对应的状态寄存器也可在将数据输入端504的输入数据切换至该当前路径ID对应的输出缓冲器之前进行。本实施例可保证每个状态寄存器都包含对应于该路径中的输出缓冲器及数据的当前最新的状态信息。优选地,将状态输出端905的状态数据保存至前次路径ID对应的状态寄存器时,可以覆盖、部分覆盖、或不覆盖状态寄存器中的原有数据。
在如图11所示的本发明的视频数据转换系统一个示例性的应用中,所述输入接口用于接收和切换经过视频分割的视频分割码流,其包含分别由三类语法元素数据构成的三路输入码流STRMIN0、STRMIN1、STRMIN2,每个输入码流都具有类似图2的数据结构,即包含按照宏块的顺序排列的各个宏块的某一类语法元素数据。图9的示例中给出了三个输入路径,对应于视频分割的三个语法元素类,事实上根据不同的应用,输入路径的数量不限于三个。输入缓冲器BUF0、BUF1、BUF2分别同步接收三路输入数据,并将三个输入缓冲器的各自相应的状态信息保存至三个状态寄存CTXTREG0、CTXTREG1、CTXTREG2,此时的状态信息可以为视频输入码流的上下文信息,当接收到切换指令时,切换控制器SWC首先识别出当前要切换的当前路径ID为“1”,因此将相应的输入缓冲器BUF1的输出切换至数据输出端STRMDATA,并且从路径ID存储器PID中可知,接收的前次切换指令中的前次路径ID为“0”,因此,先将状态输出端STRMCTEX的状态数据保存至与路径ID“0”相对应的状态寄存CTXTREG0中,然后将状态寄存CTXTREG1的输出切换至状态输出端STRMCTXT,可以通过切换指令控制按照宏块的几何位置来切换数据输出端和状态输出端输出数据,即从三个输入缓冲器中依次切换输出一个宏块的三路(三类)数据,再切换输出下一个宏块的三路数据,从而在后续的编解码过程中,即便原始的输入数据是未按宏块几何顺序排列的视频分割码流,仍可按照宏块的几何位置依次对每个宏块进行解码和显示,以一遍的方式(one-path)处理不同类型数据分割的码流,使多路码流共享相同的编解码硬件逻辑,大大降低了编解码模块的规模和复杂度。同时该系统允许不同的视频数据分割码流可从多路输入输出接口互相独立地读入或写出,提高编解码的效率和并行度。
上述实施例是用于例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修改。因此本发明的保护范围,应如本发明的权利要求书所列。
Claims (8)
1.一种视频数据转换方法,该方法包括:
1)在多个输入路径的每一个中,通过输入缓冲器接收并缓冲视频分割码流中的一类语法元素数据;
2)将与所述输入缓冲器对应的状态数据保存至相应的状态寄存器;
3)接收切换指令;
4)根据切换指令的指示,将所述视频分割码流中对应于每个宏块的各类语法元素数据依次从所述多个输入路径中的输入缓冲器切换至数据输出端,得到自然视频码流;
5)根据切换指令的指示,将各个状态数据从所述状态寄存器切换至状态输出端,得到状态输出数据
其中,每个输入路径具有与之唯一对应的路径ID,用于识别该路径以及该路径中的输入缓冲器和状态寄存器;以及其中
在步骤3)中,所接收的切换指令为当前切换指令,该当前切换指令包含当前需要切换的输入路径的当前路径ID;
在步骤4)中,将该当前路径ID对应的输入缓冲器的输出切换至数据输出端;
在步骤5)中,将该当前路径ID对应的状态寄存器的输出切换至状态输出端;
其中,在步骤3)中,接收当前切换指令,并保存当前切换指令中的当前路径ID;
在步骤5)中,根据接收前次切换指令时保存的前次路径ID,将状态输出端上的状态数据保存至与该前次路径ID相对应的状态寄存器;再将与该当前路径ID对应的状态寄存器的输出切换至切换控制器的状态输出端。
2.根据权利要求1所述的视频数据转换方法,其中设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据;或设置一条当前切换指令中同时指示一个宏块中的多类语法元素数据和多个状态数据的切换顺序。
3.一种视频数据转换系统,该系统包括:
-多个输入路径,每个输入路径包括:
输入缓冲器,该输入缓冲器接收并缓冲输入的视频分割数据中的一类语法元素数据,并将与该输入缓冲器相对应的状态数据保存至状态寄存器;
状态寄存器,保存所述状态数据;
-切换控制器,接收切换指令,根据切换指令的指示,将所述视频分割数据中对应于每个宏块的各类语法元素数据依次从所述多个输入路径中的输入缓冲器切换至该切换控制器的数据输出端,得到自然视频码流;并根据切换指令的指示,将各个状态数据从所述多个输入路径中的状态寄存器切换至该切换控制器的状态输出端,得到状态输出数据;
其中每个输入路径具有与之唯一对应的路径ID,用于识别该路径以及该路径中的输入缓冲器和状态寄存器;以及其中
切换控制器接收的切换指令为当前切换指令,该当前切换指令包含当前需要切换的输入路径的当前路径ID,该切换控制器将与该当前路径ID对应的输入缓冲器的输出切换至数据输出端,将与该当前路径ID对应的状态寄存器的输出切换至状态输出端;
其中该系统还包括路径ID存储器,该路径ID存储器用于保存前一次切换指令中的前次路径ID,以及当前切换指令中的当前路径ID;以及
切换控制器将与该当前路径ID对应的输入缓冲器的输出切换至数据输出端,然后,切换控制器将状态输出端的状态数据保存至与前次路径ID对应的状态寄存器中,然后将与该当前路径ID对应的状态寄存器的输出切换至状态输出端。
4.根据权利要求3所述的视频数据转换系统,其中设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据;或设置一条当前切换指令中同时指示一个宏块中的多类语法元素数据和多个状态数据的切换顺序。
5.一种视频数据转换方法,该方法包括:
1)在数据输入端接收自然视频码流;
2)接收切换指令;
3)根据该切换指令的指示,将所述自然视频码流中各类语法元素数据依次从数据输入端切换至多个输出路径中的输出缓冲器,得到视频分割数据,其中每个输出缓冲器输出视频分割数据中的一类语法元素数据;
4)将与所述输出缓冲器相对应的状态数据保存至相应的状态寄存器;
5)根据该切换指令的指示,将各个状态数据从所述多个输出路径中的状态寄存器切换至状态输出端,得到状态输出数据;
其中,每个输出路径具有与之唯一对应的路径ID,用于识别该输出路径及该输出路径中的输出缓冲器和状态寄存器;以及其中
在步骤2)中,所接收的切换指令为当前切换指令,该当前切换指令包含当前需要切换的输出路径的路径ID,
在步骤3)中,将数据输入端的自然视频码流切换至当前路径ID对应的输出缓冲器,
在步骤5)中,将该当前路径ID对应的状态寄存器中的状态信息切换至状态输出端;
其中,在步骤2)中,接收当前切换指令,保存当前切换指令中的当前路径ID;
在步骤5)中,根据接收前次切换指令时保存的前次路径ID,将状态输出端上的状态数据保存至与该前次路径ID相对应的状态寄存器;再将所述多个输出路径中的与该当前切换指令对应的状态寄存器的输出切换至状态输出端。
6.根据权利要求5所述的视频数据转换方法,其中设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据;或设置一条当前切换指令中同时指示一个宏块中的多类语法元素数据和多个状态数据的切换顺序。
7.一种视频数据转换系统,该系统包括:
-多个输出路径,每个输出路径包括:
输出缓冲器,缓冲并输出来自切换控制器的自然视频码流中的一类语法元素数据,并将与该输出缓冲器相对应的状态数据保存至状态寄存器;
状态寄存器,保存所述状态数据;
-切换控制器,接收切换指令,根据该切换指令的指示,将所述切换控制器的数据输入端接收到所述自然视频码流中的各类语法元素数据依次切换至多个输出路径中的输出缓冲器,得到视频分割数据,其中每个输出缓冲器输出一类语法元素数据;将与所述输出缓冲器相对应的状态数据保存至相应的状态寄存器;并根据该切换指令的指示,将各个状态数据从所述多个输出路径中的状态寄存器切换至状态输出端,得到状态输出数据;
其中,每个输出路径具有与之唯一对应的路径ID,用于识别该输出路径及该输出路径中的输出缓冲器和状态寄存器,以及其中
切换控制器接收的切换指令为当前切换指令,包含当前需要切换的输出路径的当前路径ID,切换控制器将数据输入端的自然视频码流切换至该当前路径ID对应的输出缓冲器,并将该当前路径ID对应的状态寄存器中的状态信息切换至状态输出端;
该系统还包括路径ID存储器,该路径ID存储器用于保存前一次切换指令中的前次路径ID,以及当前切换指令中的当前路径ID;以及其中
切换控制器将数据输入端的自然视频码流切换至该当前路径ID对应输出缓冲器,然后将状态输出端的状态数据保存至前次路径ID对应的状态寄存器中,然后将当前路径ID对应的状态寄存器的输出切换至状态输出端。
8.根据权利要求7所述的视频数据转换系统,其中设置每个当前切换指令依次指示切换每个宏块的一类语法元素数据和相应的状态数据;或设置一条当前切换指令中同时指示一个宏块中的多类语法元素数据和多个状态数据的切换顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210098564.4A CN103369287B (zh) | 2012-04-06 | 2012-04-06 | 视频数据转换方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210098564.4A CN103369287B (zh) | 2012-04-06 | 2012-04-06 | 视频数据转换方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103369287A CN103369287A (zh) | 2013-10-23 |
CN103369287B true CN103369287B (zh) | 2017-05-24 |
Family
ID=49369706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210098564.4A Active CN103369287B (zh) | 2012-04-06 | 2012-04-06 | 视频数据转换方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103369287B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1115547A (zh) * | 1994-01-18 | 1996-01-24 | 大宇电子株式会社 | 解码系统中的自适应位流分离装置 |
CN1319996A (zh) * | 2000-03-27 | 2001-10-31 | 索尼公司 | 图像编码和解码设备及其方法、图像记录和图像传送设备 |
CN101272493A (zh) * | 2007-03-19 | 2008-09-24 | 株式会社东芝 | 多重解码器及方法 |
CN102231730A (zh) * | 2011-05-31 | 2011-11-02 | 电子科技大学 | 一种音视频连续播放无缝切换系统和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100640876B1 (ko) * | 2004-11-17 | 2006-11-02 | 엘지전자 주식회사 | 이동 방송 수신기의 비디오 디코딩 시스템 |
-
2012
- 2012-04-06 CN CN201210098564.4A patent/CN103369287B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1115547A (zh) * | 1994-01-18 | 1996-01-24 | 大宇电子株式会社 | 解码系统中的自适应位流分离装置 |
CN1319996A (zh) * | 2000-03-27 | 2001-10-31 | 索尼公司 | 图像编码和解码设备及其方法、图像记录和图像传送设备 |
CN101272493A (zh) * | 2007-03-19 | 2008-09-24 | 株式会社东芝 | 多重解码器及方法 |
CN102231730A (zh) * | 2011-05-31 | 2011-11-02 | 电子科技大学 | 一种音视频连续播放无缝切换系统和方法 |
Non-Patent Citations (1)
Title |
---|
一种基于图像内容的数据分割方法;杜建超等;《西安电子科技大学学报(自然科学版)》;20060430;第33卷(第2期);200-204 * |
Also Published As
Publication number | Publication date |
---|---|
CN103369287A (zh) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103314591B (zh) | 时间可缩放性的高层句法 | |
CN108206937B (zh) | 一种提升智能分析性能的方法和装置 | |
CN110265071A (zh) | 具有内部读取-修改-写入操作的存储部件 | |
CN106852185A (zh) | 基于字典的并行压缩编码器 | |
CN103765384A (zh) | 数据处理系统和在数据处理系统中进行任务调度的方法 | |
US12189552B2 (en) | Data moving method, direct memory access apparatus and computer system | |
US20020199086A1 (en) | Setting execution conditions | |
CN110825312A (zh) | 数据处理装置、人工智能芯片及电子设备 | |
US11647227B2 (en) | Efficient transforms and transposes for rate-distortion optimization and reconstruction in video encoders | |
KR100864834B1 (ko) | 메모리 재할당을 이용한 다중 프로세서 간의 데이터 전송장치 및 방법 | |
CN103365805B (zh) | 动态切换多路输入/输出接口系统与方法 | |
US10996860B2 (en) | Method to improve mixed workload performance on storage devices that use cached operations | |
CN113052304A (zh) | 用于具有部分读取/写入的脉动阵列的系统和方法 | |
CN106688015B (zh) | 处理用于当解码图像时对于块的操作的参数 | |
CN100349442C (zh) | 一种乒乓缓冲装置 | |
CN103369287B (zh) | 视频数据转换方法与系统 | |
CN115767092A (zh) | 图像传输方法、云桌面及图像传输系统、设备及产品 | |
US12174766B2 (en) | Data moving method for direct memory access apparatus | |
CN104079941A (zh) | 一种深度信息编解码方法、装置及视频处理播放设备 | |
CN115828044B (zh) | 基于神经网络双重稀疏性矩阵乘法运算电路、方法和装置 | |
GB2373661A (en) | An adaptive filter operation | |
WO2016109571A1 (en) | Devices for time division multiplexing of state machine engine signals | |
KR20170048408A (ko) | Mpeg/sc3dmc 표준을 폴리곤 메쉬로 확장하는 것 | |
Mukherjee et al. | Automated deep learning model partitioning for heterogeneous edge devices | |
KR101763731B1 (ko) | 회선 속도 상호 연결 구조를 구현하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220802 Address after: 201203 11F, No. 2 Building, 560 Lane, Midsummer Road, Pudong New Area, Shanghai Patentee after: GALAXYCORE SHANGHAI Ltd.,Corp. Address before: Room 1004-1005, building 2, No. 560, shengxia Road, Pudong New Area, Shanghai 201203 Patentee before: SHANGHAI SUANXIN MICROELECTRONICS Co.,Ltd. |