本公开整体涉及级联数据流,诸如分块熵流。
背景技术:
1、各种设备,包括但不限于个人计算机系统、台式计算机系统、膝上型电脑和笔记本电脑、平板电脑或平板设备、数字相机、数字视频录像机和移动电话或智能电话,可包括使用诸如算术编码、霍夫曼译码等熵编码技术实施编码或解码过程的软件和/或硬件。例如,设备可包括一种装置(例如,集成电路(ic),诸如片上系统(soc)或ic的子系统),该装置可根据涉及基于熵的编码的一种或多种处理方法接收和处理来自一个或多个源的数字输入并输出经处理的信息(例如图片/帧或图片/帧区)或其他信息。又如,可在设备上实施可根据涉及基于熵的编码的一种或多种处理方法接收和处理来自一个或多个源的数字输入并输出经处理的信息的软件程序。
技术实现思路
1、在一个方面,一种方法包括:获得第一数据流和第二数据流,其中第一数据流和第二数据流中的每一者包括一个或多个组块;生成包括第一数据流和第二数据流的第三数据流,其中生成第三数据流包括在第三数据流中将第二数据流的第一组块的至少一部分插入第一数据流的第二组块的开始和结束之间;以及提供第三数据流以供传输或存储。
2、该方面的具体实施可包括以下特征中的一者或多者。
3、在一些具体实施中,第二数据流的第一组块可位于第二数据流的开始处。
4、在一些具体实施中,第一数据流的第二组块可位于第一数据流的结束处。
5、在一些具体实施中,生成第三数据流可包括在第三数据流中将第二数据流的剩余部分附加到第一数据流的结束。
6、在一些具体实施中,组块中的每一者可包括按顺序的第一子流和第二子流。
7、在一些具体实施中,在第三数据流中,可将第二数据流的第一组块的至少所述部分插入第一数据流的第二组块的第一子流和第二子流之间。
8、在一些实施方案中,数据的第一子流中的每一者可包括使用基于熵的编码器压缩的信息。
9、在一些具体实施中,数据的第二子流中的每一者可包括未压缩的信息。
10、在一些具体实施中,组块中的至少一个组块可具有单个子流。
11、在一些具体实施中,第一数据流和第二数据流可包括关于三维点云的信息。
12、在另一方面,一种方法包括:获得包括第一数据流、第二数据流和第三数据流的多个数据流,其中第一数据流、第二数据流和第三数据流中的每一者包括一个或多个组块;以及生成包括多个数据流的第四数据流。生成第四数据流包括:(i)从第一数据流、第二数据流和第三数据流中的一个或多个数据流中移除填充数据;(ii)在移除填充数据之后,级联第一数据流、第二数据流和第三数据流以产生组合数据流;(iii)在第四数据流中使第二数据流的第一组块的尾部部分移位,使得在第四数据流中,第一组块的开始与第一组块的结束相距固定间隔;以及(iv)在第四数据流中使第一数据流的第二组块的尾部部分移位,使得在第四数据流中,第二组块的开始与第二组块的结束相距固定间隔。该方法还包括提供第四数据流以供传输或存储。
13、该方面的具体实施可包括以下特征中的一者或多者。
14、在一些具体实施中,组块中的每一者可包括按顺序的第一子流和第二子流。
15、在一些具体实施中,生成第四数据流可包括在第四数据流中使第一组块的第二子流移位,使得第一组块的第一子流的开始与第一组块的第二子流的结束相距固定间隔。
16、在一些具体实施中,生成第四数据流可包括在第四数据流中使第二组块的第二子流移位,使得第二组块的第一子流的开始与第二组块的第一子流的结束相距固定间隔。
17、在一些实施方案中,第一子流中的每一者可包括使用基于熵的编码器压缩的信息。
18、在一些具体实施中,第二子流中的每一者可包括未压缩的信息。
19、在一些具体实施中,第一数据流和第二数据流可包括关于三维点云的信息。
20、在另一方面,一种方法包括:获得n个数据流,其中该n个数据流中的每个数据流包括一个或多个组块;以及生成包括n个数据流的组合数据流。生成组合数据流包括:(i)从n个数据流中的一个或多个数据流中移除填充数据;(ii)在移除填充数据之后,按从第一数据流到第n数据流的顺序级联n个数据流以产生组合数据流;以及(iii)对于组合数据流中的每个数据流,按从第(n-1)数据流到第一数据流的顺序,使数据流的尾部组块的一部分移位,使得在组合数据流中,尾部组块的开始与尾部组块的结束相距固定间隔。该方法还包括提供组合数据流以供传输或存储。
21、该方面的具体实施可包括以下特征中的一者或多者。
22、在一些具体实施中,n个数据流可包括第一数据流、第二数据流和第三数据流。生成组合数据流可包括:(i)使第二数据流的尾部组块的一部分移位,使得在组合数据流中,第二数据流的尾部组块的开始与第二数据流的尾部组块的结束相距固定间隔;以及(ii)在使第二数据流的尾部组块的一部分移位之后,使第一数据流的尾部组块的一部分移位,使得在组合数据流中,第一数据流的尾部组块的开始与第一数据流的尾部组块的结束相距固定间隔。
23、在一些具体实施中,组块中的每一者可包括按顺序的第一子流和第二子流。
24、在一些实施方案中,第一子流中的每一者可包括使用基于熵的编码器压缩的信息。
25、在一些具体实施中,第二子流中的每一者可包括未压缩的信息。
26、在一些具体实施中,多个数据流可包括关于三维点云的信息。
27、在另一方面,一种方法包括:获得包括第一数据流、第二数据流和第三数据流的多个数据流,其中第一数据流、第二数据流和第三数据流中的每一者包括一个或多个组块;以及生成包括多个数据流的第四数据流。生成第四数据流包括:(i)从第一数据流、第二数据流和第三数据流中的一个或多个数据流中移除填充数据;(ii)在移除填充数据之后,级联第一数据流、第二数据流和第三数据流以产生组合数据流;(iii)在第四数据流中使第二数据流的第一组块的尾部部分与第三数据流的至少一部分逐位交换,使得在第四数据流中,第一组块的开始与第一组块的结束相距固定间隔;以及(iv)在第四数据流中使第一数据流的第二组块的尾部部分与第二数据流的至少一部分逐位交换,使得在第四数据流中,第二组块的开始与第二组块的结束相距固定间隔。该方法还包括提供第四数据流以供传输或存储。
28、该方面的具体实施可包括以下特征中的一者或多者。
29、在一些具体实施中,组块中的每一者可包括按顺序的第一子流和第二子流。
30、在一些具体实施中,生成第四数据流可包括在第四数据流中使第一组块的第二子流与第三数据流的至少所述部分逐位交换,使得第一组块的第一子流的开始与第一组块的第二子流的结束相距固定间隔。
31、在一些具体实施中,生成第四数据流可包括在第四数据流中使第二组块的第二子流与第二数据流的至少所述部分逐位交换,使得第二组块的第一子流的开始与第二组块的第二子流的结束相距固定间隔。
32、在一些实施方案中,第一子流中的每一者可包括使用基于熵的编码器压缩的信息。
33、在一些具体实施中,第二子流中的每一者可包括未压缩的信息。
34、在一些具体实施中,第一数据流和第二数据流可包括关于三维点云的信息。
35、在另一方面,一种方法包括:获得n个数据流,其中该n个数据流中的每个数据流包括一个或多个组块;以及生成包括n个数据流的组合数据流。生成组合数据流包括:(i)从n个数据流中的一个或多个数据流中移除填充数据;(ii)在移除填充数据之后,按从第一数据流到第n数据流的顺序级联n个数据流以产生组合数据流;以及(iii)对于组合数据流中的每个数据流,按从第(n-1)数据流到第一数据流的顺序,使该数据流的尾部组块的一部分与组合数据流中的顺序的下一数据流的至少一部分逐位交换,使得在组合数据流中,尾部组块的开始与尾部组块的结束相距固定间隔。该方法还包括提供组合数据流以供传输或存储。
36、该方面的具体实施可包括以下特征中的一者或多者。
37、在一些具体实施中,n个数据流可包括第一数据流、第二数据流和第三数据流。生成组合数据流可包括:(i)使第二数据流的尾部组块的一部分与组合数据流中的第三数据流的至少一部分逐位交换,使得在组合数据流中,第二数据流的尾部组块的开始与第二数据流的尾部组块的结束相距固定间隔;以及(ii)使第一数据流的尾部组块的一部分与组合数据流中的第二数据流的至少一部分逐位交换,使得在组合数据流中,第一数据流的尾部组块的开始与第一数据流的尾部组块的结束相距固定间隔。
38、在一些具体实施中,组块中的每一者可包括按顺序的第一子流和第二子流。
39、在一些实施方案中,第一子流中的每一者可包括使用基于熵的编码器压缩的信息。
40、在一些具体实施中,第二子流中的每一者可包括未压缩的信息。
41、在一些具体实施中,多个数据流可包括关于三维点云的信息。
42、在另一方面,一种方法包括:获得包括多个数据流的组合数据流;以及对组合数据流中的每个数据流进行顺序地解码。对组合数据流中的每个数据流进行解码包括:对来自数据流的组块的数据进行解码,直到在数据流中识别出流结束信号为止;以及刷新数据流的当前组块,并且识别组合数据流中的顺序的下一数据流的开始。
43、该方面的具体实施可包括以下特征中的一者或多者。
44、在一些具体实施中,刷新数据流的当前组块可包括:(i)丢弃当前组块的一个或多个部分解码的字节;(ii)使组合数据流的一部分移位到当前组块的结束,其中该部分包括在数据流的第一子流组块和第二子流组块之间的组合数据流的内容;以及(iii)设置组块指针以指向移位部分的开始。
45、其他具体实施涉及其上存储有指令的系统、设备和非暂态计算机可读介质,这些指令当由一个或多个处理器执行时使得该一个或多个处理器执行本文所述的操作。
46、在下面的附图和具体实施方式中阐述了一个或多个实施方案的细节。其他特征和优点将在具体实施方式和附图以及权利要求中显而易见。