CN117651145A - 视频解码装置及其操作方法和视频系统 - Google Patents
视频解码装置及其操作方法和视频系统 Download PDFInfo
- Publication number
- CN117651145A CN117651145A CN202310929726.2A CN202310929726A CN117651145A CN 117651145 A CN117651145 A CN 117651145A CN 202310929726 A CN202310929726 A CN 202310929726A CN 117651145 A CN117651145 A CN 117651145A
- Authority
- CN
- China
- Prior art keywords
- pipeline
- unit
- block
- memory
- unit 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
Links
- 238000000034 method Methods 0.000 title claims description 56
- 230000015654 memory Effects 0.000 claims abstract description 266
- 238000012545 processing Methods 0.000 claims abstract description 57
- 239000000872 buffer Substances 0.000 claims description 40
- 239000013598 vector Substances 0.000 claims description 30
- 238000013139 quantization Methods 0.000 claims description 11
- 238000011017 operating method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 31
- 235000019161 pantothenic acid Nutrition 0.000 description 28
- GHOKWGTUZJEAQD-ZETCQYMHSA-N (D)-(+)-Pantothenic acid Chemical compound OCC(C)(C)[C@@H](O)C(=O)NCCC(O)=O GHOKWGTUZJEAQD-ZETCQYMHSA-N 0.000 description 15
- 238000005192 partition Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供视频解码装置及其操作方法和视频系统。所述视频解码装置包括:解码器,包括多个硬件块和多个流水线存储器,所述多个硬件块以流水线单元对比特流执行解码处理,所述多个流水线存储器设置在所述多个硬件块之间并且针对每个流水线阶段存储通过由所述多个硬件块以流水线单元执行的处理而获得的单元数据;以及存储器,存储通过由解码器进行解码而获得的图像数据。
Description
本申请基于并要求于2022年9月5日在韩国知识产权局提交的第10-2022-0112338号韩国专利申请和于2022年11月14日在韩国知识产权局提交的第10-2022-0151989号韩国专利申请的优先权,所述韩国专利申请中的每个的公开通过引用全部包含于此。
技术领域
本公开涉及电子装置,并且更具体地,涉及用于通过流水线单元来执行解码操作的视频解码装置及其操作方法、显示装置和视频系统。
背景技术
在图像或声音被转换为数字数据的情况下,数字数据的量非常大。解压缩后的数字数据占据大的存储空间。因此,用于对数字数据进行压缩和对压缩后的数字数据进行解压缩的技术被需要。
近来,基于新的视频压缩标准(例如,多功能视频编码(VVC)),块的处理单元已经变得更加多样化,运动估计和补偿方法已经变得比相关技术中的运动估计和补偿方法更复杂,并且运动补偿所需的存储器访问的量比相关技术中使用的存储器访问的量已经增加。因此,在视频解码器中,有效的存储器访问方法被需要。
发明内容
一个方面是提供用于通过使用相对小的流水线存储器来执行解码操作的视频解码装置、视频解码装置的操作方法、显示装置和视频系统。
根据一个或多个实施例的一个方面,提供一种视频解码装置,所述视频解码装置包括:解码器,包括多个硬件块和多个流水线存储器,所述多个硬件块被配置为以流水线单元对比特流执行解码处理,所述多个流水线存储器设置在所述多个硬件块之间并且被配置为针对每个流水线阶段存储由所述多个硬件块在流水线单元中处理的单元数据;以及存储器,被配置为存储由解码器进行解码的图像数据,其中,单元数据包括:当前编码单元(CU)大小信息、下一CU位置信息和扫描类型信息,当前CU大小信息表示当前CU的大小,当前CU包括包含在编码树单元(CTU)中的多个单元像素组之中的与流水线区域单元对应的单元像素组,下一CU位置信息表示包括所述单元像素组的当前CU的下一CU的位置,扫描类型信息表示单元像素组的扫描类型。
根据一个或多个实施例的另一方面,提供一种视频解码装置的操作方法,所述操作方法包括:在第一流水线阶段期间,由第一硬件块对比特流的在第一流水线阶段中以流水线单元划分出的第一单元数据进行处理,并且将第一单元数据存储在第一流水线存储器中;以及在时间上紧接在第一流水线阶段之后的第二流水线阶段期间,由第一硬件块对在第二流水线阶段中以流水线单元划分出的第二单元数据进行处理,并且将第二单元数据存储在第一流水线存储器中;以及在由第一硬件块对第二单元数据进行处理的同时,由第二硬件块读取并处理存储在第一流水线存储器中的第一单元数据。
根据一个或多个实施例的又一方面,提供一种视频系统,所述视频系统包括:视频编码装置,被配置为提供包括关于流水线区域单元的流水线区域单元信息的比特流;以及视频解码装置,被配置为对比特流进行解码,并且输出解码后的图像数据。视频解码装置包括:多个硬件块,被配置为对以流水线单元划分出的单元数据进行处理;以及多个流水线存储器,每个流水线存储器具有与流水线区域单元信息对应的存储器大小,所述多个流水线存储器被配置为存储被处理后的单元数据。
根据一个或多个实施例的又一方面,提供一种显示装置,所述显示装置包括:解码器,包括多个硬件块以及多个流水线存储器,所述多个硬件块被配置为以流水线单元对比特流执行解码处理,所述多个流水线存储器设置所述多个硬件块之间并且被配置为针对每个流水线阶段存储从所述多个硬件块提供的与流水线区域单元对应的单元数据;存储器,被配置为存储由解码器进行解码而获得的图像数据;以及显示模块,被配置为基于图像数据来显示图像。
附图说明
通过下面结合附图的具体实施方式,将更清楚地理解各种实施例,其中:
图1是根据一些实施例的视频系统的框图;
图2是根据一些实施例的解码器的框图;
图3A至图3C是根据一些实施例的用于描述流水线存储器的示图;
图4是根据一些实施例的视频解码装置的框图;
图5是根据一些实施例的用于描述通过流水线单元来进行解码处理操作的示图;
图6是根据一些实施例的用于描述编码树单元和编码单元的示图;
图7A至图7E是根据一些实施例的用于描述树划分模式的示图;
图8A至图8E是根据各种实施例的分别用于描述图7A至图7E中示出的树划分模式中的流水线区域单元的示例的示图;
图9是根据一些实施例的用于描述多功能视频编码(VVC)编解码器中的编码单元和流水线区域单元的示图;
图10A至图10D是根据一些实施例的用于描述通过流水线单元来处理单元数据的操作的示图;
图11是根据一些实施例的用于描述比特流的结构的示图;
图12是根据一些实施例的用于描述流水线区域单元数量信息的示图;
图13是根据一些实施例的用于描述流水线区域单元模式信息的示图;
图14是根据一些实施例的用于描述视频解码装置的操作方法的流程图;
图15是根据一些实施例的用于描述通过流水线单元来处理单元数据的方法的流程图;以及
图16是根据一些实施例的显示装置的框图。
具体实施方式
在下文中,将参照附图详细描述各种实施例。
图1是根据一些实施例的视频系统10的框图。
参照图1,视频系统10可包括视频编码装置100和视频解码装置200。
视频编码装置100可对视频数据进行编码,并且可发送编码后的比特流BS。在一些实施例中,编码可包括压缩和转码。视频编码装置100可被实现为电子装置(诸如,计算机、便携式电话、眼镜和手表),每个电子装置包括具有拍摄功能的相机。在这种情况下,视频编码装置100可对通过拍摄生成的视频数据进行编码。在一些实施例中,视频编码装置100可从服务器或另外的电子装置接收视频数据,并且可对接收的视频数据进行编码。由视频数据表示的视频可被称为图像或图片。
视频编码装置100可对视频数据进行编码。视频编码装置100可压缩视频数据以便减小视频数据的容量。视频编码装置100可对变换后的视频数据进行量化。视频编码装置100可通过使用量化后的视频数据来生成比特流BS。视频编码装置100可通过有线通信或无线通信将比特流BS发送到视频解码装置200。
在一些实施例中,比特流BS可包括关于流水线区域单元的流水线区域单元信息。以下参照图11描述比特流BS的实施例。
视频解码装置200可对编码后的比特流BS进行解码,以将图像提供给用户。视频解码装置200可对比特流BS进行解码以恢复视频数据。视频解码装置200可输出解码后的图像数据DPD。解码后的图像数据DPD可被提供给可显示图像的装置(例如,显示装置)。
视频解码装置200可包括解码器210和存储器220。
解码器210可对比特流BS进行解压缩以恢复视频数据。解码器210可通过使用由此接收的比特流BS来提取变换系数,并且可对提取的变换系数执行逆变换和逆量化操作以恢复视频数据。变换系数可以是通过将包括在比特流BS中的系数变换为二维(2D)形式而获得的系数。
在一些实施例中,解码器210可以以流水线单元来对比特流BS进行解码,并且可输出解码后的图像数据DPD。在一些实施例中,通过以流水线单元执行的解码获得的数据可被称为单元数据。根据一些实施例的单元数据可与流水线区域单元对应。流水线区域单元可以是与具有预定大小的流水线单元对应或者包括预定数量的单元像素组的区域。一个或多个流水线区域单元可被包括在一个编码树单元(CTU)中。以下参照图8A至图8E描述流水线区域单元。
解码器210可由一个或多个处理器实现。解码器210可以是嵌入在处理器中的程序。
存储器220可存储解码后的图像数据DPD。存储器220可存储用于解码器210对运动进行补偿的参考图像数据。存储器220可存储表示在解码器210中使用的参考像素值的数据。
存储器220可存储用于支持视频解码装置200的各种功能的程序和数据,存储多条输入/输出数据,并且存储由视频解码装置200驱动的多个应用程序或应用、以及用于视频解码装置200的操作的多条数据和指令。
存储器220可包括闪存、随机存取存储器(RAM)、静态随机存取存储器(SRAM)、可编程只读存储器(PROM)和/或磁式存储器中的至少一种类型的存储介质。
图2是根据一些实施例的解码器210的框图。
参照图2,解码器210可包括多个硬件块211、213、215和217、以及多个流水线存储器212和214。
多个硬件块211、213、215和217可对以流水线单元划分出的单元数据执行解码处理。解码处理可以是基于每个硬件块的独特功能来处理单元数据的操作。多个硬件块211、213、215和217中的每个可以是执行独特功能的硬件元件。硬件块211、213、215和217的数量可以是n个。在一些实施例中,n可以是2或更大的整数。
多个硬件块211、213、215和217中的每个可将处理后的单元数据存储(或写入)在相应的流水线存储器中。多个硬件块211、213、215和217中的每个可读取存储在相应的流水线存储器中的单元数据,并且可对读取的单元数据执行解码处理。为此,多个硬件块211、213、215和217中的每个可包括能够访问一个或多个相应的流水线存储器的直接存储器访问(DMA)和执行独特功能的引擎。
多个流水线存储器212和214可存储通过由多个硬件块211、213、215和217进行处理而获得的单元数据。多个流水线存储器212和214可输出通过由多个硬件块211、213、215和217进行处理而获得的单元数据。在一些实施例中,在特定流水线阶段(pipeline stage)中,多个流水线存储器212和214可存储特定单元数据,并且同时可输出先前存储的其他单元数据。流水线阶段可表示解码器210以流水线单元来执行解码操作的操作阶段和操作时段。
流水线单元可以是输入到每个流水线存储器或从每个流水线存储器输出的单元数据的单元。流水线单元可被称为虚拟流水线数据单元(VPDU)。
流水线存储器212和214的数量可以是m个。在一些实施例中,m可以是小于或等于n的整数。在一些实施例中,多个流水线存储器(例如,第一流水线存储器212和第二流水线存储器214)中的每个可布置(或设置)在多个硬件块(例如,第一硬件块211、第二硬件块213、第三硬件块215和第n硬件块217)中的两个邻近的硬件块之间。例如,在一个实施例中,第一流水线存储器212可设置在第一硬件块211与第二硬件块213之间,第二流水线存储器214可设置在第二硬件块213与第三硬件块215之间,以此类推。流水线存储器(未示出)也可设置在第n-1硬件块(未示出)与第n硬件块217之间。如上所述,至少一个流水线存储器可设置在两个不同的硬件块之间。
在一些实施例中,多个流水线存储器212和214可各自具有与包括在比特流BS中的流水线区域单元信息对应的存储器大小,以便存储单元数据。例如,当流水线区域单元信息包括与一个CTU中的32×32像素(或称为32×32的像素数)对应的流水线区域单元的大小时,多个流水线存储器212和214中的每个可具有与32×32像素对应的存储器大小。然而,实施例不限于此。
在一些实施例中,多个流水线存储器212和214可针对每个流水线阶段存储通过由多个硬件块211、213、215和217以流水线单元来执行的处理而获得的单元数据。
在一些实施例中,多个流水线存储器212和214可针对每个流水线阶段存储从多个硬件块211、213、215和217提供的与流水线区域单元对应的单元数据。
多个流水线存储器212和214中的每个可被实现为RAM或SRAM,但是实施例不限于此。
如上所述,由于不管视频压缩方案或树划分模式如何,解码操作都以相对小的流水线单元被执行,因此流水线存储器的大小和存储容量可被减小。
图3A至图3C是根据一些实施例的用于描述流水线存储器的示图。详细地,图3A是示出在特定流水线阶段中进行操作的流水线存储器的示图,图3B是示出在紧挨着特定流水线阶段的流水线阶段中进行操作的流水线存储器的示图,并且图3C是示出在紧挨着图3B的流水线阶段的流水线阶段中进行操作的流水线存储器的示图。例如,在一个实施例中,图3A至图3C可示出第一流水线存储器212通过在时间上相互接续的三个连续流水线阶段的操作。
参照图3A,流水线存储器300可设置在不同的硬件块之间。例如,参照图2,流水线存储器300可以是设置在第一硬件块211与第二硬件块213之间的第一流水线存储器212。然而,实施例不限于此。
在一些实施例中,流水线存储器300可包括第一存储器310和第二存储器320。第一存储器310和第二存储器320中的每个可存储单元数据。第一存储器310和第二存储器320中的每个可输出存储在其中的单元数据。
在一些实施例中,在特定流水线阶段中,设置在流水线存储器300的前端处的硬件块可处理第一单元数据UD 1。流水线存储器300可被提供有来自设置在流水线存储器300的前端处的硬件块的第一单元数据UD 1。例如,可假设流水线存储器300是第一流水线存储器212。在第一流水线阶段中,流水线存储器300可被提供有通过由第一硬件块211进行处理而获得的第一单元数据UD 1。第一硬件块211可将第一单元数据UD 1存储在第一存储器310中。在一个实施例中,第二存储器320可以是空的。当第二存储器320为空时,设置在流水线存储器300的后端处的硬件块(例如,第二硬件块213)可等待单元数据。然而,实施例不限于此,并且在其他实施例中,通过由设置在流水线存储器300的前端处的硬件块(例如,第一硬件块211)进行处理而获得的单元数据可被存储在第二存储器320中。
参照图3B,在特定流水线阶段之后的流水线阶段中,设置在流水线存储器300的前端处的硬件块可处理第二单元数据UD 2。流水线存储器300可被提供有第二单元数据UD 2。例如,可假设流水线存储器300是第一流水线存储器212。在第二流水线阶段中,流水线存储器300可被提供有通过由第一硬件块211进行处理而获得的第二单元数据UD 2。第一硬件块211可将第二单元数据UD 2存储在第二存储器320中。此外,设置在流水线存储器300的后端处的硬件块可读取在先前流水线阶段中被存储在流水线存储器300中的单元数据。例如,可假设流水线存储器300是第一流水线存储器212。在第二流水线阶段中,第二硬件块213可读取存储在第一存储器310中的第一单元数据UD 1并且可处理第一单元数据UD 1。在一个实施例中,将第二单元数据UD 2存储在第二存储器320中的操作和从第一存储器310输出第一单元数据UD 1的操作可同时被执行。详细地,例如,第一硬件块211可处理第二单元数据UD2以将处理后的第二单元数据UD 2存储在第二存储器320中,并且同时,第二硬件块213可处理第一单元数据UD 1。在一些实施例中,第一硬件块211可处理第二单元数据UD 2并且将处理后的第二单元数据UD 2存储在第二存储器320中,并且同时,第二硬件块213可从第一存储器310读取第一单元数据UD 1并且处理第一单元数据UD 1。
参照图3C,在图3B的流水线阶段之后的流水线阶段中,设置在流水线存储器300的前端处的硬件块可处理第三单元数据UD 3。流水线存储器300可被提供有第三单元数据UD3。例如,可假设流水线存储器300是第一流水线存储器212。在第三流水线阶段中,流水线存储器300可被提供有通过由第一硬件块211进行处理而获得的第三单元数据UD 3。第一硬件块211可将第三单元数据UD 3存储在第一存储器310中。在这种情况下,在图3A的流水线阶段中存储在第一存储器310中的第一单元数据UD 1可被擦除。也就是说,第三单元数据UD 3可覆写第一存储器310中的第一单元数据UD 1。此外,设置在流水线存储器300的后端处的硬件块(例如,第二硬件块213)可读取存储在第二存储器320中的第二单元数据UD 2,并且可处理第二单元数据UD 2。此时,将第三单元数据UD 3存储在第一存储器310中的操作和从第二存储器320输出第二单元数据UD 2的操作可同时被执行。
图3A至图3C的以上描述是通过示例的方式使用第一流水线存储器212进行的。然而,本领域普通技术人员将理解,第二流水线存储器214至第m流水线存储器通过三个连续的流水线阶段以类似的方式进行操作。这里,以上参照图3A至图3C使用的“第一”、“第二”和“第三”可用于区分元件和术语,并且元件和术语的顺序不受“第一”、“第二”和“第三”的限制。
图4是根据一些实施例的视频解码装置400的框图。
参照图4,视频解码装置400可与图1中示出的视频解码装置200对应。视频解码装置400可包括比特流解析块411、逆量化变换(IQT)块412、运动矢量(MV)块413、帧内模式块414、运动补偿(MC)块415、帧间预测块416、帧内预测和重构块417、环路滤波器块418、第一流水线存储器(PM1)421至第九流水线存储器(PM9)429以及存储器430。
比特流解析块411、IQT块412、运动矢量块413、帧内模式块414、运动补偿块415、帧间预测块416、帧内预测和重构块417以及环路滤波器块418可被包括在以上参照图2描述的多个硬件块211、213、215和217中。也就是说,在图4中示出的示例中,硬件块的数量n可被设置为8。
比特流解析块411可对比特流BS进行解析。比特流解析块411可针对每个语法来对比特流BS进行解析。解析可包括上下文自适应可变长度解码(CAVLD)和上下文自适应二进制算术解码(CABAD)。比特流解析块411可被称为熵解码块。
比特流解析块411可对比特流BS执行熵解码,以获得包括在比特流BS中的各条信息。包括在比特流BS中的各条信息可包括例如量化系数、解码后的编码参数、帧间预测参数、帧内预测参数、变换参数、量化参数、环路滤波器参数和/或其他语法。帧间预测参数可包括例如参考图像索引和运动矢量。帧内预测参数可包括例如帧内预测模式或索引。
在一些实施例中,比特流解析块411可以以流水线单元来对比特流BS进行解析,并且可将解析后的结果存储在第一流水线存储器421和第二流水线存储器422中的每个中。通过由比特流解析块411进行处理而获得的单元数据可被存储在第一流水线存储器421和第二流水线存储器422中。第一流水线存储器421可设置在比特流解析块411与IQT块412之间。第二流水线存储器422可设置在比特流解析块411与运动矢量块413之间。
IQT块412可对解析后的比特流BS进行逆量化,并且可对逆量化的结果执行逆变换。在一些实施例中,IQT块412可以以流水线单元对解析后的比特流BS进行逆量化,并且可以以流水线单元对逆量化的结果执行逆变换。在一些实施例中,IQT块412可读取存储在第一流水线存储器421中的单元数据。IQT块412可被称为逆量化和逆变换块。在一些实施例中,IQT块412可将逆量化和逆变换的结果存储在第三流水线存储器423中。通过由IQT块412进行处理而获得的单元数据可被存储在第三流水线存储器423中。第三流水线存储器423可设置在IQT块412与帧内预测和重构块417之间。
运动矢量块413可基于从第二流水线存储器422获得的单元数据来获得运动矢量。在一些实施例中,运动矢量块413可处理以流水线单元划分出的单元数据以获得运动矢量。在一些实施例中,运动矢量块413可将运动矢量的单元数据存储在第四流水线存储器424和第五流水线存储器425中的每个中。第四流水线存储器424可设置在运动矢量块413与帧内模式块414之间。第五流水线存储器425可设置在运动矢量块413与运动补偿块415之间。
帧内模式块414可基于运动矢量确定关于当前视频切片(slice)的视频块的预测信息。帧内模式块414可通过使用预测信息来生成与正在被解码的当前视频块对应的预测块。例如,帧内模式块414可通过使用语法中的一些来确定用于对视频切片的视频块进行编码的预测模式(例如,帧内预测或帧间预测)。帧内模式块414可通过使用语法中的一些来确定帧间预测切片类型(例如,B切片、P切片或GPB切片)。帧内模式块414可通过使用语法中的一些来确定关于与切片对应的参考图像列表中的一个或多个的配置信息。帧内模式块414可通过使用语法中的一些来确定与每个切片的帧间编码后的视频块对应的运动矢量。帧内模式块414可通过使用语法中的一些来确定每个切片的帧间编码后的视频块的帧间预测状态。帧内模式块414可通过使用语法中的一些来确定用于对当前视频切片中的视频块进行解码的其他信息。
在一些实施例中,帧内模式块414可处理以流水线单元划分出的单元数据,并且可将单元数据存储在第六流水线存储器426中。第六流水线存储器426可设置在帧内模式块414与帧内预测和重构块417之间。
运动补偿块415可通过使用与存储在第五流水线存储器425中的单元数据对应的运动矢量对一个或多个参考图像执行运动补偿,从而生成预测图像。因为参考图像的参考图像数据的大小相对大,所以参考图像数据可被存储在存储器430中。在当前编码单元中,当从参考图像(或参考帧)执行运动预测时,运动矢量可表示关于最相似的区域的位置信息。在一些实施例中,运动补偿块415可将与预测图像对应的单元数据存储在第七流水线存储器427中。第七流水线存储器427可设置在运动补偿块415与帧间预测块416之间。
帧间预测块416可基于存储在第七流水线存储器427中的单元数据执行帧间预测。作为执行帧间预测的结果,与编码单元对应的预测块可被生成。帧间预测可被称为从先前编码后的图片的数据来预测编码单元的操作。在一些实施例中,帧间预测块416可将与帧间预测的结果对应的单元数据存储在第八流水线存储器428中。第八流水线存储器428可设置在帧间预测块416与帧内预测和重构块417之间。
帧内预测和重构块417可基于存储在第三流水线存储器423、第六流水线存储器426和第八流水线存储器428中的多条单元数据来执行帧内预测,并且可对存储在第三流水线存储器423、第六流水线存储器426和第八流水线存储器428中的多条单元数据或样本值进行求和以对样本进行重配置。帧内预测通常可被称为从同一图片的先前编码后的数据来预测编码单元的操作。在一些实施例中,帧内预测和重构块417可将与重配置结果对应的单元数据存储在第九流水线存储器429中。第九流水线存储器429可设置在帧内预测和重构块417与环路滤波器块418之间。
环路滤波器块418可包括减少在恢复比特流BS时发生的块现象的去块滤波器(未示出)。当环路滤波器块418的标志被激活时,环路滤波器块418可将在滤波之后通过解码而获得的图像数据存储在存储器430中。例如,当环路滤波器块418的标志没有被激活时,环路滤波器块418可将在帧间预测或帧内模式预测之后立即恢复的图像数据存储在存储器430中。环路滤波器块418可被称为环路内滤波器。
存储器430可存储解码后的图像数据和参考图像数据。存储器430也可被称为解码图片缓冲器(DPB)。
第一流水线存储器421至第九流水线存储器429可被包括在以上参照图2描述的多个流水线存储器212和214中。
在一些实施例中,第一流水线存储器421至第九流水线存储器429可存储当前编码单元(CU)大小信息、下一CU位置信息和扫描类型信息。当前CU大小信息可包括表示当前CU的大小的数据,当前CU包括包含在CTU中的多个单元像素组之中的与流水线区域单元对应的单元像素组。以下参照图7A至图7E描述单元像素组。下一CU位置信息可包括表示包括与流水线区域单元对应的单元像素组中的每个的当前CU的下一CU的位置的数据。扫描类型信息可包括表示单元像素组的扫描类型的数据。例如,扫描类型可以是z扫描。作为另一示例,扫描类型可以是光栅扫描。然而,实施例不限于此。在一些实施例中,第一流水线存储器421和第二流水线存储器422还可存储表示解码后的信息的数据。第三流水线存储器423还可存储表示残差的数据。第四流水线存储器424至第六流水线存储器426还可存储表示帧内模式和运动矢量的数据。第七流水线存储器427至第九流水线存储器429还可存储表示像素值的数据。此外,第七流水线存储器427还可存储表示参考像素值(或参考图像或参考帧)的数据。
图5是根据一些实施例的用于描述通过流水线单元来进行解码处理操作的示图。
参照图4和图5,在第一流水线阶段PSTG 1中,比特流解析块411可处理第一单元数据UD 1并且可将处理后的第一单元数据UD 1存储在第一流水线存储器421和第二流水线存储器422中。此外,IQT块412、运动矢量块413、帧内模式块414、运动补偿块415、帧间预测块416、帧内预测和重构块417以及环路滤波器块418可等待单元数据。
在第二流水线阶段PSTG 2中,比特流解析块411可处理第二单元数据UD 2并且可将处理后的第二单元数据UD 2存储在第一流水线存储器421和第二流水线存储器422中。IQT块412和运动矢量块413可读取分别存储在第一流水线存储器421和第二流水线存储器422中的第一单元数据UD 1,处理第一单元数据UD 1,并且将第一单元数据UD 1存储在第三流水线存储器423至第五流水线存储器425中。帧内模式块414、运动补偿块415、帧间预测块416、帧内预测和重构块417以及环路滤波器块418可等待单元数据。
在第三流水线阶段PSTG 3中,比特流解析块411可处理第三单元数据UD 3,并且可将处理后的第三单元数据UD 3存储在第一流水线存储器421和第二流水线存储器422中。IQT块412和运动矢量块413可读取分别存储在第一流水线存储器421和第二流水线存储器422中的第二单元数据UD 2,处理第二单元数据UD 2,并且将第二单元数据UD 2存储在第三流水线存储器423至第五流水线存储器425中。帧内模式块414和运动补偿块415可读取存储在第四流水线存储器424至第五流水线存储器425中的第一单元数据UD 1,处理第一单元数据UD 1,并且将第一单元数据UD 1存储在第六流水线存储器426和第七流水线存储器427中。帧间预测块416、帧内预测和重构块417以及环路滤波器块418可等待单元数据。
在第四流水线阶段PSTG 4中,比特流解析块411可处理第四单元数据UD 4并且可将处理后的第四单元数据UD 4存储在第一流水线存储器421和第二流水线存储器422中。IQT块412和运动矢量块413可读取分别存储在第一流水线存储器421和第二流水线存储器422中的第三单元数据UD 3,处理第三单元数据UD 3,并且将第三单元数据UD 3存储在第三流水线存储器423至第五流水线存储器425中。帧内模式块414和运动补偿块415可读取存储在第四流水线存储器424至第五流水线存储器425中的第二单元数据UD 2,处理第二单元数据UD 2,并且将第二单元数据UD 2存储在第六流水线存储器426和第七流水线存储器427中。帧间预测块416和帧内预测和重构块417可处理第一单元数据UD 1。环路滤波器块418可等待单元数据。
在第五流水线阶段PSTG 5中,比特流解析块411可处理第五单元数据UD 5。IQT块412和运动矢量块413可处理第四单元数据UD 4。帧内模式块414和运动补偿块415可读取第三单元数据UD 3。帧间预测块416和帧内预测和重构块417可处理第二单元数据UD 2。环路滤波器块418可处理第一单元数据UD 1。
以类似的方式,在第六流水线阶段PSTG 6、第七流水线阶段PSTG 7以及在时间上接连在第七流水线阶段PSTG 7之后的流水线阶段中,硬件块(例如,411至418)可进行操作。
图6是根据一些实施例的用于描述CTU和CU的示图。
参照图6,图片(PICTURE)可被划分为多个CTU。在图片(PICTURE)中,与每个CTU对应的区域的大小可以是恒定的。然而,实施例不限于此。例如,一个CTU可包括64×64个像素。作为另一示例,一个CTU可包括128×128个像素。然而,实施例不限于此。
一个CTU可包括多个CU。在图片(PICTURE)中,与每个CTU对应的区域可具有各种大小和形状。因此,针对每个CU,包括在每个CU中的像素的数量可以是恒定的或不同的。
图7A至图7E是根据一些实施例的用于描述树划分模式的示图。
参照图7A至图7E,基于树划分模式,至少一个CU可被包括在一个CTU中。如使用图7A至图7E中示出的粗线所示,不同的CU可彼此区分。不同的CU可包括相同或不同的数量的单元像素组UPXG。在图7A至图7E中,可假设一个CTU包括64×64个像素,并且一个单元像素组UPXG包括4×4个像素。
根据图7A中示出的树划分模式,一个CTU可包括第一CU CU1至第五CU CU5。包括在第一CU CU1中的单元像素组UPXG的数量可与包括在第三CU CU3中的单元像素组UPXG的数量和包括在第五CU CU5中的单元像素组UPXG的数量相同。例如,包括在第一CU CU1、第三CUCU3和第五CU CU5中的每个中的单元像素组UPXG的数量可以是16×4,并且包括在每个单元像素组UPXG中的像素的数量可以是4×4,因此,包括在第一CU CU1、第三CU CU3和第五CUCU5中的每个中的像素的数量可以是64×16。包括在第二CU CU2中的单元像素组UPXG的数量可与包括在第四CU CU4中的单元像素组UPXG的数量相同。例如,包括在第一CU CU1和第四CU CU4中的每个中的单元像素组UPXG的数量可以是16×2,并且包括在第二CU CU2和第四CU CU4中的每个中的像素的数量可以是64×8。
根据图7B中示出的树划分模式,一个CTU可包括第一CU CU1至第三CU CU3。包括在第一CU CU1中的单元像素组UPXG的数量可与包括在第三CU CU3中的单元像素组UPXG的数量相同。例如,包括在第一CU CU1和第三CU CU3中的每个中的单元像素组UPXG的数量可以是4×16,并且包括在第一CU CU1和第三CU CU3中的每个中的像素的数量可以是16×64。包括在第二CU CU2中的单元像素组UPXG的数量可以是8×16,并且包括在第二CU CU2中的像素的数量可以是32×64。
根据图7C中示出的树划分模式,一个CTU可包括五个CU。根据图7D中示出的树划分模式,一个CTU可包括十一个CU。根据图7E中示出的树划分模式,一个CTU可包括十四个CU。图7A至图7E中示出的树划分模式仅是示例,并且在一些实施例中,与图7A至图7E中示出的CU的数量和布置不同的CU的数量和布置可被提供。
图8A至图8E分别是用于描述图7A至7E中示出的树划分模式中的流水线区域单元的示例的示图。
参照图8A至图8E,无论树划分模式如何,多个流水线区域单元都可被包括在一个CTU中。流水线区域单元可以是与具有预定大小的流水线单元对应或者包括单元像素组UPXG的区域。包括在一个流水线区域单元中的单元像素组的数量可以是例如64,并且包括在一个流水线区域单元中的像素的数量可以是1024(或32×32)。然而,实施例不限于此。流水线区域单元可与多个流水线存储器212和214以及第一流水线存储器421至第九流水线存储器429中的每个的存储器大小对应。此外,每个单元数据可以是流水线区域单元上将被执行解码处理的数据。
流水线区域单元的数量可以是例如4,但是实施例不限于此。在下文中,为了便于描述,可假设流水线区域单元的数量是4。如图8A至图8E中所示,第一流水线区域单元PAU 1至第四流水线区域单元PAU 4可在一个CTU中彼此区分。
图9是根据一些实施例的用于描述多功能视频编码(VVC)编解码器中的编码单元和流水线区域单元的示图。
参照图9,作为一种类型的视频编解码器的VVC可以是最近开发的视频压缩标准。如图9中所示,根据VVC的树划分模式,CU的单元可更加被细分。基于VVC的树划分模式,在“垂直三叉树划分SPLIT_TT_VER”和“水平三叉树划分SPLIT_TT_HOR”中,一个CTU可被划分为奇数个CU。
图10A至图10D是根据一些实施例的用于描述通过流水线单元来处理单元数据的操作的示图。
可假设图10A至图10D中示出的树划分模式是图7A和图8A中示出的树划分模式。此外,可假设图10A至图10D中示出的流水线区域单元是图8A中示出的第一流水线区域单元PAU 1至第四流水线区域单元PAU 4。此外,可假设图10A至图10D中示出的多个缓冲器(BUFFERS)被包括在第一流水线存储器212中。此外,可假设图10A至图10D中示出的实施例中的每个基于第一流水线阶段PSTG 1至第五流水线阶段PSTG 5中的每个中的第一硬件块211、第一流水线存储器212和第二硬件块213来进行操作。可假设图10A至图10D中示出的扫描类型是z扫描。
参照图10A至图10D,每个流水线存储器可包括多个缓冲器(BUFFERS)。例如,参照图2,多个流水线存储器212和214中的每个可包括多个缓冲器(BUFFERS)。例如,参照图4,第一流水线存储器421至第九流水线存储器429中的每个可包括多个缓冲器(BUFFERS)。每个缓冲器可与一个地址对应。一个地址可与单元像素组UPXG对应。也就是说,每个缓冲器可存储关于单元像素组UPXG的各条信息。例如,多个缓冲器(BUFFERS)中的每个可存储当前CU大小信息(CURRENT CU SIZE)、下一CU位置信息(NEXT CU POSITION)、扫描类型信息(SCANTYPE)和其他数据(OTHER INFO)。当前CU大小信息(CURRENT CU SIZE)可包括关于包括与流水线区域单元对应的单元像素组UPXG的当前CU的大小的信息。下一CU位置信息(NEXT CUPOSITION)可包括关于包括与流水线区域单元对应的单元像素组UPXG的当前CU的下一CU的位置的信息。扫描类型信息(SCAN_TYPE)可包括关于单元像素组UPXG的扫描类型的信息。其他数据(OTHER INFO)可包括关于参考像素值(或参考图像、参考帧等)、运动矢量、像素值和预测模式中的每个的信息。针对第一流水线存储器421至第九流水线存储器429中的每个,其他数据(OTHER INFO)可被改变。
参照图10A,对第一流水线区域单元PAU 1的处理操作可在第一流水线阶段PSTG 1中被执行。第一流水线区域单元PAU 1的单元数据(例如,第一单元数据UD 1)可由第一硬件块211进行处理。此外,第一流水线区域单元PAU 1的单元数据可被存储在多个缓冲器(BUFFERS)中。详细地,具有图10A中示出的CTU中示出的编号的单元像素组UPXG的数据可被存储在具有相应的地址的缓冲器中。例如,关于图10A中由“0”示出的单元像素组UPXG的信息可被存储在具有第0地址的缓冲器中。第一单元数据UD 1可包括第一当前CU大小信息、表示下一CU的位置的第一下一CU位置信息、以及扫描类型信息,第一当前CU大小信息表示包括与第一流水线区域单元PAU 1对应(或者包括在第一流水线区域单元PAU 1中)的单元像素组UPXG的当前CU的大小。
参照图10B,对第二流水线区域单元PAU 2的处理操作可在第二流水线阶段PSTG 2中被执行。第二流水线区域单元PAU 2的单元数据(例如,第二单元数据UD 2)可由第一硬件块211进行处理,并且可被存储在多个缓冲器(BUFFERS)中。第二单元数据UD 2可包括第二当前CU大小信息、表示下一CU的位置的第二下一CU位置信息、以及扫描类型信息,第二当前CU大小信息表示包括与第二流水线区域单元PAU 2对应(或者包括在第二流水线区域单元PAU 2中)的单元像素组UPXG的当前CU的大小。
参照图10C,第三流水线区域单元PAU 3的单元数据(例如,第三单元数据UD 3)可在第三流水线阶段PSTG 3中被处理,并且可被存储在多个缓冲器(BUFFERS)中。第三单元数据UD 3可包括第三当前CU大小信息、第三下一CU位置信息和扫描类型信息。
参照图10D,第四流水线区域单元PAU 4的单元数据(例如,第四单元数据UD 4)可在第四流水线阶段PSTG 4中被处理,并且可被存储在多个缓冲器(BUFFERS)中。第四单元数据UD 4可包括第四当前CU大小信息、第四下一CU位置信息和扫描类型信息。
图11是根据一些实施例的用于描述比特流的结构的示图。
参照图1和图11,由视频编码装置100生成的比特流BS可包括序列头信息(SEQUENCE HEADER)、图片头信息(PICTURE HEADER)和图片信息(PICTURE DATA)。图片头信息(PICTURE HEADER)和图片信息(PICTURE DATA)可在比特流BS中被重复。序列头信息(SEQUENCE HEADER)、图片头信息(PICTURE HEADER)和图片信息(PICTURE DATA)可以是基于视频编解码器标准定义的多条信息,并且因此,其描述可被省略。
在一些实施例中,序列头信息(SEQUENCE HEADER)可包括垂直大小信息(VERTICALSIZE)、水平大小信息(HORIZONTAL SIZE)、每像素比特信息(BIT PER PIXEL)、色度格式信息(CHROMA FORMAT)、CTU大小信息(CTU SIZE)和流水线区域单元数量信息(PAU_NUM_IN_CTU)。垂直大小信息(VERTICAL SIZE)、水平大小信息(HORIZONTAL SIZE)、每像素比特信息(BIT PER PIXEL)、色度格式信息(CHROMA FORMAT)和CTU大小信息(CTU SIZE)可以是基于视频编解码器标准定义的多条信息,并且因此,其描述可被省略。流水线区域单元数量信息(PAU_NUM_IN_CTU)可包括表示包括在一个CTU中的流水线区域单元的数量的数据。例如,流水线区域单元数量信息(PAU_NUM_IN_CTU)可表示包括在一个CTU中的流水线区域单元的数量(例如,“2”、“4”、“8”等)。以下参照图12描述流水线区域单元数量信息(PAU_NUM_IN_CTU)的实施例。
在一些实施例中,图片头信息(PICTURE HEADER)可包括帧内图片标志信息(INTRAPICTURE FLAG)、图片量化参数(QP)信息(PICTURE QP)、去块滤波器启用信息(DEBLOCK FILTER ENABLE)、以及流水线区域单元模式信息(PAU_MODE)。帧内图片标志信息(INTRAPICTURE FLAG)、图片量化参数(QP)信息(PICTURE QP)和去块滤波器启用信息(DEBLOCK FILTER ENABLE)可以是基于视频编解码器标准定义的多条信息,并且因此,其描述可被省略。流水线区域单元模式信息(PAU_MODE)可包括表示在一个CTU中划分流水线区域单元的方法的数据。以下参照图13描述流水线区域单元模式信息(PAU_MODE)的实施例。
在一些实施例中,图片信息(PICTURE DATA)可包括图块头信息(TILE HEADER)和图块信息(TILE DATA)。图块头信息(TILE HEADER)和图块信息(TILE DATA)可在图片信息(PICTURE DATA)中被重复。在一个实施例中,图块头信息(TILE HEADER)可包括图块类型信息(TILE TYPE)、图块QP信息(TILE QP)、图块大小信息(TILE SIZE)和流水线区域单元模式信息(PAU_MODE)。
在一些实施例中,当比特流BS包括流水线区域单元信息(例如,流水线区域单元数量信息(PAU_NUM_IN_CTU)和流水线区域单元模式信息(PAU_MODE))时,包括在解码器210中的每个流水线存储器的大小可与流水线区域单元信息对应。在一个实施例中,每个流水线存储器的大小可与流水线区域单元的最大数量、一个CTU中的流水线区域单元的最大大小和/或包括在一个CU中的流水线区域单元的最大数量对应。
在一些实施例中,流水线区域单元模式信息(PAU_MODE)可被包括在与图片、图块或CTU相关联的字段中。
尽管未示出,但是比特流BS还可包括表示一个CTU中的流水线区域单元的大小(例如,“0:16×16像素”、“1:32×32像素”等)的流水线区域大小信息。
尽管未示出,但是比特流BS还可包括各自包括基于图像的层级结构在每层中使用的语法的序列参数信息、图片参数信息、切片信息和变换信息。
图12是根据一些实施例的用于描述流水线区域单元数量信息的示图。
参照图11和图12,流水线区域单元数量信息(PAU_NUM_IN_CTU)的值(PAU_NUM_IN_CTU的值)可被表示为2位参数。例如,流水线区域单元数量信息(PAU_NUM_IN_CTU)的值(PAU_NUM_IN_CTU的值)可以是“0x00”、“0x01”、“0x02”或“0x03”。然而,实施例不限于此。
当流水线区域单元数量信息(PAU_NUM_IN_CTU)的值(PAU_NUM_IN_CTU的值)是“0x00”时,包括在一个CTU中的流水线区域单元的数量(CTU中的PAU的数量)可以是1。该值可表示CTU的数量与PAU的数量相同,并且CTU与PAU对应。
当流水线区域单元数量信息(PAU_NUM_IN_CTU)的值(PAU_NUM_IN_CTU的值)是“0x01”时,包括在一个CTU中的流水线区域单元的数量(CTU中的PAU的数量)可以是2。该值可表示一个CTU包括两个PAU。也就是说,一个CTU可被划分为具有相同的面积的两个PAU。
当流水线区域单元数量信息(PAU_NUM_IN_CTU)的值(PAU_NUM_IN_CTU的值)是“0x02”时,包括在一个CTU中的流水线区域单元的数量(CTU中的PAU的数量)可以是4。该值可表示一个CTU包括四个PAU。也就是说,一个CTU可被划分为具有相同的面积的四个PAU。
当流水线区域单元数量信息(PAU_NUM_IN_CTU)的值(PAU_NUM_IN_CTU的值)是“0x03”时,包括在一个CTU中的流水线区域单元的数量(CTU中的PAU的数量)可以是8。该值可表示一个CTU包括八个PAU。也就是说,一个CTU可被划分为具有相同的面积的八个PAU。
图13是根据一些实施例的用于描述流水线区域单元模式信息(PAU_MODE)的示图。
参照图13,流水线区域单元模式信息(PAU_MODE)可表示在一个CTU中划分流水线区域单元的方法。在一些实施例中,流水线区域单元模式信息(PAU_MODE)可表示当CTU的大小大于PAU的大小时将一个CTU划分为具有特定形状的PAU的方法。
例如,参照图13,流水线区域单元模式信息(PAU_MODE)可包括四元模式(QUAD)、水平模式(HOR)、垂直模式(VER)和其他模式(ELSE)。然而,实施例不限于此。
四元模式(QUAD)可以是将一个CTU划分为具有正方形形状的流水线区域单元的模式。例如,四个流水线区域单元可被包括在一个CTU中,并且每个流水线区域单元的形状可以是正方形形状。
水平模式(HOR)可以是将一个CTU划分为具有矩形形状和相对长的水平长度的流水线区域单元的模式。例如,两个或更多个流水线区域单元可被包括在一个CTU中,并且每个流水线区域单元的形状可以是宽度长于高度的矩形形状。
垂直模式(VER)可以是将一个CTU划分为具有矩形形状和相对长的垂直长度的流水线区域单元的模式。例如,两个或更多个流水线区域单元可被包括在一个CTU中,并且每个流水线区域单元的形状可以是高度长于宽度的矩形形状。
其他模式(ELSE)可以是基于CU的形状从四元模式(QUAD)、水平模式(HOR)和垂直模式(VER)之中选择的模式。例如,当CU的水平长度与CU的垂直长度相同时(即,当CU的形状为正方形形状时),其他模式(ELSE)可以是四元模式(QUAD)或水平模式(HOR)。作为另一示例,当CU的水平长度长于CU的垂直长度时,其他模式(ELSE)可以是垂直模式(VER)。作为另一示例,当CU的垂直长度长于CU的水平长度时,其他模式(ELSE)可以是水平模式(HOR)。
图14是根据一些实施例的用于描述视频解码装置的操作方法的流程图。
参照图14,视频解码装置的操作方法可包括第一流水线阶段S100和第二流水线阶段S200。
在第一流水线阶段S100中,在操作S1000中,通过使用第一硬件块对比特流的在第一流水线阶段中以流水线单元划分出的第一单元数据进行处理并将第一单元数据存储在第一流水线存储器中的操作可被执行。操作S1000可如以上参照图3A所述。
在时间上紧挨着第一流水线阶段S100的第二流水线阶段S200中,在操作S2000中,通过使用第一硬件块对在第二流水线阶段中以流水线单元划分出的第二单元数据进行处理并将第二单元数据存储在第一流水线存储器中的操作可被执行。与操作S2000同时,在操作S2100中,通过使用第二硬件块读取并处理存储在第一流水线存储器中的第一单元数据并将第一单元数据存储在第二流水线存储器中的操作可被执行。操作S2000和操作S2100可如以上参照图3B所述。
在一些实施例中,在第一流水线阶段S100中,通过使用第二硬件块从第一流水线存储器读取通过在时间上在第一流水线阶段之前的先前的流水线阶段中的处理而获得的单元数据并对该单元数据进行处理的操作可与操作S1000同时被执行。在一个实施例中,处理后的单元数据可被存储在第二流水线存储器中。在一些实施例中,在第二流水线阶段S200中,通过使用第三硬件块读取存储在第二流水线存储器中的单元数据并对该单元数据进行处理的操作可与操作S2000和操作S2100同时被执行。
在一些实施例中,视频解码装置的操作方法还可包括在时间上紧挨着第二流水线阶段S200的第三流水线阶段。在第三流水线阶段中,通过使用第一硬件块来处理比特流中以流水线单元划分出的第三单元数据并将第三单元数据存储在第一流水线存储器中的操作、通过同时使用第二硬件块来读取并处理存储在第一流水线存储器中的第二单元数据并将处理后的第二单元数据存储在第二流水线存储器中的操作、以及通过同时使用第三硬件块来读取并处理存储在第二流水线存储器中的第一单元数据的操作可被执行。换言之,处理和存储第三单元数据、读取、处理和存储第二单元数据、以及读取、处理和存储第一单元数据的操作可全部同时发生。
如上所述,由于不管视频压缩方案或树划分模式如何,解码操作都通过相对小的流水线单元被执行,因此流水线存储器的大小和存储容量可被减小。
图15是根据一些实施例的用于描述以流水线单元来处理单元数据的方法的流程图。
参照图15,图15中示出的以流水线单元来处理单元数据的方法可与如以上参照图2、图3A、图3B、图3C、图4和图5描述的流水线存储器和硬件块中的每个的操作方法对应。
在操作S10中,编码树块(在下文中,称为CTB)可开始。
在操作S20中,包括在一个CTB中的CU可开始。
在操作S30中,硬件块可读取输入缓冲器,处理单元数据,并且将处理后的单元数据写入输出缓冲器中。在一些实施例中,输入缓冲器可以是设置在硬件块的前端处的流水线存储器的缓冲器。输出缓冲器可以是设置在硬件块的后端处的流水线存储器的缓冲器。在一些实施例中,读取输入缓冲器、处理单元数据以及将处理后的单元数据写入输出缓冲器中可同时发生。
在操作S40中,缓冲器地址可增加。缓冲器地址的增加可表示缓冲器地址的编号增加。参照图10A,地址编号可从1增加到2。然而,实施例不限于此。
在操作S50中,缓冲器地址与流水线大小的比率是否为1可被确定。在一些实施例中,流水线大小可以是流水线存储器的大小(例如,流水线存储器的缓冲器的数量),并且例如可以是流水线存储器的存储容量。
当缓冲器地址与流水线大小的比率不为1(S50,否)时,操作S30可被执行。当缓冲器地址与流水线大小的比率为1(S50,是)时,在操作S60中,子流水线可完成。子流水线可以是被包括在一个CU中的流水线。
在操作S70中,CU的结束与否可被确定。当CU没有结束时(S70,否),操作S30可被执行。当达到CU的结束时(S70,是),CTB是否结束可在操作S80中被确定。当CTB没有结束时(S80,否),操作S20可被执行。当达到CTB的结束时(S80,是),在操作S90中,CTB可完成。
图16是根据一些实施例的显示装置1400的框图。
参照图16,显示装置1400可包括移动系统(诸如,移动电话、智能电话、平板个人计算机(PC)、可穿戴装置、医疗保健装置或物联网(IoT))。然而,显示装置1400不限于以上描述。显示装置1400可包括PC、膝上型计算机、服务器、媒体播放器或汽车装置(诸如,导航装置)。
显示装置1400可包括处理器1410、解码器1420、存储器1430和显示模块1440。在一个示例中,处理器1410、解码器1420、存储器1430和显示模块1440可连接到总线,并且可通过总线彼此通信。
处理器1410可控制显示装置的整体操作,并且更详细地,可控制显示装置1400的元件的操作。处理器1410可被实现为通用处理器、专用处理器或应用处理器。
处理器1410可包括一个或多个中央处理器(CPU)核。处理器1410还可包括用于控制解码器1420、存储器1430和显示模块1440的至少一个控制器。
处理器1410还可包括加速器,加速器是用于高速数据操作(诸如,人工智能(AI)数据操作)的专用电路。加速器可包括图形处理器(GPU)、神经处理器(NPU)和/或数据处理器(DPU),并且可被实现为物理上独立于处理器1410的其他元件的单独芯片。
解码器1420和存储器1430可分别与各自在图1中示出的解码器210和存储器220对应。
显示模块1440可用作将每个视觉信息输出给用户的输出装置。显示模块1440可基于通过由解码器1420进行解码而获得的图像数据来显示图像。
已经描述了各种实施例,并且这些实施例并不意在限制本公开。本公开的范围不受各种实施例的限制。相反,本公开的范围必须由所附权利要求来限制,并且等同范围内的所有精神必须被限制为包括在本公开的范围内。
在上文中,已经在附图和说明书中描述了示例性实施例。已经通过使用在此描述的术语描述了实施例,但是这些术语仅用于描述各种实施例,并且没有被用于限制在所附权利要求中限定的本公开的含义或限制在所附权利要求中限定的本公开的范围。因此,本领域普通技术人员可理解,可从各种实施例实现各种修改和其他等同实施例。因此,本公开的精神和范围可基于所附权利要求的精神和范围来限定。
虽然已经参照附图具体示出和描述了各种实施例,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。
Claims (20)
1.一种视频解码装置,包括:
解码器,包括多个硬件块和多个流水线存储器,所述多个硬件块被配置为以流水线单元对比特流执行解码处理,所述多个流水线存储器设置在所述多个硬件块之间并且被配置为针对每个流水线阶段存储由所述多个硬件块以流水线单元处理的单元数据;以及
存储器,被配置为存储由解码器进行解码的图像数据,
其中,单元数据包括当前编码单元大小信息、下一编码单元位置信息和扫描类型信息,当前编码单元大小信息表示当前编码单元的大小,当前编码单元包括包含在编码树单元中的多个单元像素组之中的与流水线区域单元对应的单元像素组,下一编码单元位置信息表示当前编码单元的下一编码单元的位置,扫描类型信息表示单元像素组的扫描类型。
2.根据权利要求1所述的视频解码装置,其中,所述多个硬件块包括第一硬件块和第二硬件块,并且
所述多个流水线存储器包括:第一流水线存储器,被配置为存储由第一硬件块处理的第一单元数据,并且存储将被提供给第二硬件块的第二单元数据。
3.根据权利要求2所述的视频解码装置,其中,第一硬件块被配置为将由第一硬件块处理的第一单元数据存储在第一流水线存储器中,并且同时,第二硬件块被配置为处理第二单元数据。
4.根据权利要求2所述的视频解码装置,其中,第一流水线存储器包括:
第一存储器,被配置为存储第一单元数据;以及
第二存储器,被配置为存储第二单元数据。
5.根据权利要求4所述的视频解码装置,其中,在第一流水线阶段中,第一硬件块被配置为将第一单元数据存储在第一存储器中,并且第二硬件块被配置为从第二存储器读取第二单元数据,并且
在时间上紧接在第一流水线阶段之后的第二流水线阶段中,第一硬件块被配置为将新的单元数据存储在第二存储器中,并且第二硬件块被配置为从第一存储器读取第一单元数据。
6.根据权利要求1所述的视频解码装置,其中,所述多个硬件块包括第一硬件块和第二硬件块,并且
第一硬件块被配置为将比特流的单元数据存储在所述多个流水线存储器之中的第一硬件块与第二硬件块之间的流水线存储器中。
7.根据权利要求1所述的视频解码装置,其中,所述多个流水线存储器中的每个包括多个缓冲器,所述多个缓冲器具有与所述与流水线区域单元对应的单元像素组对应的多个缓冲器地址。
8.根据权利要求1所述的视频解码装置,其中,所述多个硬件块包括:
比特流解析块,被配置为对比特流进行解析;
逆量化变换块,被配置为对解析后的比特流进行逆量化,并且对逆量化的结果执行逆变换;
运动矢量块,被配置为基于解析后的比特流来生成运动矢量;
帧内模式块,被配置为基于运动矢量来生成预测块;
运动补偿块,被配置为基于运动矢量来执行运动补偿,以生成预测图像;
帧间预测块,被配置为基于与预测图像对应的单元数据来执行帧间预测;
帧内预测和重构块,被配置为基于逆量化变换块的执行结果、帧间预测的执行结果和预测块来执行帧内预测;以及
环路滤波器块,被配置为将图像数据存储在存储器中。
9.根据权利要求8所述的视频解码装置,其中,所述多个流水线存储器包括:
第一流水线存储器,设置在比特流解析块与逆量化变换块之间;
第二流水线存储器,设置在比特流解析块与运动矢量块之间;
第三流水线存储器,设置在逆量化变换块与帧内预测和重构块之间;
第四流水线存储器,设置在运动矢量块与帧内模式块之间;
第五流水线存储器,设置在运动矢量块与运动补偿块之间;
第六流水线存储器,设置在帧内模式块与帧内预测和重构块之间;
第七流水线存储器,设置在运动补偿块与帧间预测块之间;
第八流水线存储器,设置在帧间预测块与帧内预测和重构块之间;以及
第九流水线存储器,设置在帧内预测和重构块与环路滤波器块之间。
10.一种视频解码装置的操作方法,所述操作方法包括:
在第一流水线阶段期间,由第一硬件块对比特流的在第一流水线阶段中以流水线单元划分出的第一单元数据进行处理,并且将第一单元数据存储在第一流水线存储器中;以及
在时间上紧接在第一流水线阶段之后的第二流水线阶段期间,由第一硬件块对在第二流水线阶段中以流水线单元划分出的第二单元数据进行处理,并且将第二单元数据存储在第一流水线存储器中;并且在由第一硬件块对第二单元数据进行处理的同时,由第二硬件块读取并处理存储在第一流水线存储器中的第一单元数据。
11.根据权利要求10所述的操作方法,还包括:在第一流水线阶段期间,在由第一硬件块存储第一单元数据的同时,由第二硬件块从第一流水线存储器读取通过在时间上在第一流水线阶段之前的先前的流水线阶段期间的处理而获得的单元数据,并且对所述单元数据进行处理。
12.根据权利要求11所述的操作方法,其中,在第一流水线阶段期间,对所述单元数据进行处理的步骤包括:将所述单元数据存储在第二流水线存储器中,
在第二流水线阶段期间,对第一单元数据进行处理的步骤包括:将第一单元数据存储在第二流水线存储器中,并且
在第二流水线阶段期间,在存储第一单元数据的同时,由第三硬件块读取并处理先前存储在第二流水线存储器中的单元数据。
13.根据权利要求12所述的操作方法,还包括:
在时间上紧接在第二流水线阶段之后的第三流水线阶段期间,通过使用第一硬件块来对比特流中以流水线单元划分出的第三单元数据进行处理,并且将第三单元数据存储在第一流水线存储器中;
在对第三单元数据进行处理的同时,通过使用第二硬件块来读取并处理存储在第一流水线存储器中的第二单元数据,并且将第二单元数据存储在第二流水线存储器中;以及
在对第三单元数据进行处理以及读取并处理第二单元数据的同时,通过使用第三硬件块来读取并处理存储在第二流水线存储器中的第一单元数据。
14.根据权利要求10所述的操作方法,其中,在第二流水线阶段期间,处理第一单元数据的步骤包括:将第一单元数据存储在第二流水线存储器中;
在时间上紧接着第二流水线阶段之后的第三流水线阶段期间,由第一硬件块处理在第三流水线阶段中以流水线单元划分出的第三单元数据,并且将第三单元数据存储在第一流水线存储器中;
在处理和存储第三单元数据的同时,由第二硬件块读取并处理存储在第一流水线存储器中的第二单元数据,并且将第二单元数据存储在第二流水线存储器中;并且
在读取并处理第二单元数据的同时,由第三硬件块读取并处理存储在第二流水线存储器中的第一单元数据。
15.根据权利要求10至14中的任一项所述的操作方法,其中,第一单元数据包括:
第一当前编码单元大小信息,表示第一当前编码单元的大小,第一当前编码单元包括包含在编码树单元中的多个单元像素组之中的与第一流水线区域单元对应的第一单元像素组;
第一下一编码单元位置信息,表示第一当前编码单元的下一编码单元的位置;以及
扫描类型信息,表示单元像素组的扫描类型;并且
第二单元数据包括:
第二当前编码单元大小信息,表示第二当前编码单元的大小,第二当前编码单元包括与所述多个单元像素组之中的与第一流水线区域单元不同的第二流水线区域单元对应的第二单元像素组;
第二下一编码单元位置信息,表示第二当前编码单元的下一编码单元的位置;以及
所述扫描类型信息。
16.一种视频系统,包括:
视频编码装置,被配置为提供包括关于流水线区域单元的流水线区域单元信息的比特流;以及
视频解码装置,被配置为对比特流进行解码,并且输出解码后的图像数据,
其中,视频解码装置包括:
多个硬件块,被配置为对以流水线单元划分出的单元数据进行处理,以及
多个流水线存储器,每个流水线存储器具有与流水线区域单元信息对应的存储器大小,所述多个流水线存储器被配置为存储被处理后的单元数据。
17.根据权利要求16所述的视频系统,其中,流水线区域单元信息包括:流水线区域单元数量信息,表示包括在一个编码树单元中的流水线区域单元的数量。
18.根据权利要求17所述的视频系统,其中,流水线区域单元信息还包括:流水线区域单元模式信息,表示将一个编码树单元划分为流水线区域单元的方法。
19.根据权利要求18所述的视频系统,其中,流水线区域单元模式信息包括:四元模式,将所述一个编码树单元划分为具有正方形形状的流水线区域单元;水平模式,将所述一个编码树单元划分为具有长于垂直长度的水平长度和矩形形状的流水线区域单元;以及垂直模式,将所述一个编码树单元划分为具有长于水平长度的垂直长度和矩形形状的流水线区域单元。
20.根据权利要求16至19中的任一项所述的视频系统,其中,单元数据包括:当前编码单元大小信息,表示当前编码单元的大小,当前编码单元包括包含在一个编码树单元中的多个单元像素组之中的与流水线区域单元对应的单元像素组;下一编码单元位置信息,表示当前编码单元的下一编码单元的位置;以及扫描类型信息,表示单元像素组的扫描类型。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0112338 | 2022-09-05 | ||
KR1020220151989A KR20240033618A (ko) | 2022-09-05 | 2022-11-14 | 비디오 디코딩 장치, 그의 동작 방법, 디스플레이 장치, 및 비디오 시스템 |
KR10-2022-0151989 | 2022-11-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117651145A true CN117651145A (zh) | 2024-03-05 |
Family
ID=90042120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310929726.2A Pending CN117651145A (zh) | 2022-09-05 | 2023-07-26 | 视频解码装置及其操作方法和视频系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117651145A (zh) |
-
2023
- 2023-07-26 CN CN202310929726.2A patent/CN117651145A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1812576B (zh) | 同时执行视频数据水平和垂直滤波的解块滤波器及其方法 | |
KR100994979B1 (ko) | 인트라-인코딩된 비디오의 병렬 디코딩 | |
CN108924559B (zh) | 从视频数据的位流解码多个编码单位的方法 | |
US9300984B1 (en) | Independent processing of data streams in codec | |
JP2016146674A (ja) | 画像復号化装置および画像復号化方法 | |
US20170264904A1 (en) | Intra-prediction complexity reduction using limited angular modes and refinement | |
US20090129478A1 (en) | Deblocking filter | |
WO2005104562A2 (en) | Video coding system providing separate coding chains for dynamically selected small-size or full-size playback | |
US11785227B2 (en) | Video coding method and device which use sub-block unit intra prediction | |
JP2009027698A (ja) | 画像フレームの非フレームエッジブロックの表現における改良された圧縮 | |
CN112333446B (zh) | 一种帧内块复制参考块压缩方法 | |
US20200036969A1 (en) | Methods and apparatus for entropy coding and decoding aspects of video data | |
US20060152394A1 (en) | Decoding device with multi-buffers and decoding method thereof | |
US20140169479A1 (en) | Image processing apparatus and image processing method | |
KR20230162989A (ko) | 멀티미디어 데이터 프로세싱 방법, 장치, 디바이스, 컴퓨터-판독가능 저장 매체, 및 컴퓨터 프로그램 제품 | |
US20090304078A1 (en) | Variable length decoder and animation decoder therewith | |
CN113574881A (zh) | 图像编码设备、图像编码方法和程序 | |
CN108156460B (zh) | 视频解码系统、视频解码方法和相应地计算机存储介质 | |
CN112040230B (zh) | 用于对图像或视频数据的当前块进行编码的方法 | |
EP4340361A1 (en) | Video decoding device, operating method thereof, and video system | |
CN117651145A (zh) | 视频解码装置及其操作方法和视频系统 | |
EP1178688A9 (en) | Image decoding device and image decoding method | |
JP7359653B2 (ja) | 動画像符号化装置 | |
TW202412523A (zh) | 視訊解碼裝置、其操作方法以及視訊系統 | |
CN110249630B (zh) | 去块效应滤波装置、方法和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |