视频信号编码系统的量化器的制作方法

文档序号:7572292阅读:350来源:国知局

专利名称::视频信号编码系统的量化器的制作方法
技术领域
:本发明涉及一种量化器,更具体地涉及视频信号编码系统中用于量化扫描的离散余弦变换(DCT)系数的量化器。图1显示了常规的MPEG-2视频编码器的方框图,它包括帧存贮器,减法器(SUE),离散余弦变换单元(DCT单元),量化器(Q),扫描单元,可变长度编码单元(VLC单元),逆量化器(IQ),逆离散余弦变换单元(IDCT单元),加法器(ADD),和运动补偿器(MC)。图1中,在来自帧存贮器的当前视频信号与在运动补偿器中进行了运动补偿的先前视频信号之间的差分视频信号在减法器中被计算。并被输出到DCT单元。在DCT单元中,该差分视频信号被转换成DCT系数。该DCT系数在量化器中量化,该量化的DCT系数被输出到扫描单元和逆量化器。在扫描单元,该量化的两维DCT系数序列被转换成一维的系数序列,并输出到VLC单元或行程长度编码单元(RLC单元),以产生最终编码的比特流。如上所述,在常规的MPEG-2视频编码器中,在视频数据量化后进行扫描。可是,由于该常规视频编码器的结构限制而引起的等待时间问题,就需要这样的编码器它在视频信号的量化前进行扫描。图2显示了视频编码器的除去了运动补偿器之外的差分电路,其中在量化之前进行扫描。该视频编码器包括正交变换单元,扫描单元,量化器和编码单元。在正交变换单元中,输入的视频信号由DCT转换。在扫描单元中,该转换的两维DCT系数被转换成要被量化的维系数序列。在编码单元中,量化的一维系数序列由VLC或RLC编码,以产生编码的比特流。与上述相类似的视频编码器在美国专利US5369439被公开。在MPEG-1视频编码器中,如图3A所示,DCT系数通过锯齿扫描被转换成一维系数序列。在MPEG-2视频编码器的图象单元中可选择使用如图3B所示的交替扫描或锯齿扫描。该交替扫描也可有效地用于内插扫描屏幕。可是,如图2所示,当在量化之前进行扫描时,量化器必须提供与扫描单元的锯齿扫描和交替扫描方式对应的量化矩阵。在MPEG-2视频编码器中,由于加权值按照空间频率而变化,量化为适应性量化。因此,按照编码模式,需要用于块内量化的矩阵(块内量化矩阵)和用于块间量化的矩阵(块间量化矩阵)。在量化器中,只有锯齿扫描方式被要求用于矩阵的输入次序,可是视频数据的输入次序根据扫描方式改变。因此,为了量化该扫描的DCT系数,量化矩阵的次序应该与受扫描方式影响的输入视频数据的次序对应。具体地,对于量化器中的快速视频编码,当由16比特来处理两个象素时,输入视频数据对应该匹配于量化矩阵对。由此,本发明的目的是提供一种用于量化扫描的DCT系数的量化器,它按照DCT系数的扫描方式以锯齿次序或交替次序来读取以锯齿次序存贮在存贮器中的量化矩阵并量化一维DCT系数。为了达到上述目的,本发明提供一种用于量化扫描的DCT的量化器,它包括存贮器,具有第一库,由用于存贮块内量化矩阵的多个区域构成;和第二库,由用于存贮块间量化矩阵的多个区域构成;存贮控制单元,用于产生一写地址用于以锯齿次序在存储器内写块内量化矩阵和块间量化矩阵,及产生一读地址用于按照DCT系数的扫描方式从存贮器中读取相应量化矩阵,并按照写地址和读地址来控制存储器中的块内量化矩阵和块间量化矩阵的写/读过程;运算控制器,用于获得并输出来自存贮控制单元的相应量化矩阵的互易值和外部提供的量化标度的互易值;和运算单元,用于利用来自运算控制器的量化标度值和量化矩阵值来量化扫描的DCT系数。通过下面结合附图对本发明的最佳实施例进行描述,本发明的上述目的和优点将更清楚。图1是图示常规视频编码器的实施例的方框图;图2是图示常规视频编码器另一实施例的方框图图3A至3B是图示锯齿扫描的和交替扫描的DCT系数的示意图4是图示按照本发明的量化器的方框图;图5是图示按照本发明第一实施例的一RAM和一RAM控制器的详细方框图;和图6是图示按照本发明第二实施例的一RAM和一RAM控制器的详细方框图。下面将结合附图对本发明的最佳实施例进行描述。只要可能,在整个附图中相同的部件将用使用相同的标号。图4显示了按照本发明的量化器的方框图。该量化器包括一存贮器,即用于存贮块间量化矩阵和块内量化矩阵的RAM42;一RAM控制器44,用于按照DCT系数的扫描方式来产生锯齿次序的一写地址和一读地址,并按照该读/写地址来控制来自RAM42的量化矩阵的读/写过程;一运算控制器46,用于获得并输出来自RAM42的量化的互易值和相应量化矩阵的互易值;运算单元48,用于利用来自运算控制器46的量化标度值和量化矩阵值来量化扫描的DCT系数。图5显示了按照第一优选实施例的RAM42和RAM控制器44的方框图。在图5中,RAM42包括用于存贮块间量化矩阵的第一库BANK1和用于存贮块内量化矩阵的第二库BANK2。第一库BANK1包括第一子RAM库BANK1A和第二子RAM库BANK1B,用于存贮相同的块间量化矩阵。第二库BANK2包括第三子RAMBANK2A和第四子RAMBANK2B,用于存贮相同的块内量化矩阵。第一子RAM至第四子RAMBANK1A,BANK1B,BANK2A,BANK2B其大小为16比特×32字。RAM控制器44包括写地址发生器,第一计数器50,用于产生一写地址以存贮块间量化矩阵和块内量化矩阵到RAM42中;读地址发生器,包括第二计数器51,可编程逻辑阵列(PLA)52,和第一多路复用器53,用于按照DCT系数的扫描方式生成一读地址从RAM42中读取相应量化矩阵;数据组合器,包括第二多路复用器54和打包单元55,用于按照编码模式或扫描次序来组合来自于RAM42的量化矩阵。在描述上述量化器的各操作之前需要确定并推敲进入/来自每个块的输入/输出信号。对于RAM控制器44的输入信号中,“CLK”和”RST”分别指示系统时钟和有效低操作的复位信号。在”ID_CD”中,识别符ID代表量化矩阵(即,块间量化矩阵或块内量化矩阵)而CD代表连续的量化矩阵数据。”FLAG_ID”表示当前输入ID_CD有效。例如,如果FLAG_ID为高逻辑电平,以两象素单元即16比特来读取ID_CD和连续的量化矩阵数据CD。”mbs”表示宏块的开始。在到运算控制器46的输入信号中,”QUANT_SCALE_CODE”和”QUANT_SCALE_TYPE”是表示MPEG-2中量化标度的信号。”DC_PREC”表示MPEG-2中定义的块内DC系数的大小(精确度);例如,如果它为0,该DC系数被表现为8比特,如果它为3,该系数被表现为11比特。在到运算单元48的输入信号中,”DATA_EVEN”和”DATA_ODD”分别表示由DCT转换的两象素单元的奇和偶数据。在运算单元48的输出信号中”QUANT_EVEN”和”QUANT_ODD”是输入的两象素单元中奇偶数据的已量化输出数据。参考图5中每个块的操作,块间量化矩阵数据以16比特单元被存贮在RAM42的第一库BANK1的第一和第二子RAMBANK1A,BANK1B中。块内量化矩阵数据以16比特单元被存贮在RAM42的第二库BANK2的第三和第四子RAMBANK2A,BANK2B中。在第一库BANK1的第一子RAMBANK1A和第二子RAMBANK1B中,相同的块间量化矩阵数据以16比特单元被存贮在由写地址WADD0表示的32个区域中。在第二库BANK2的第三和第四子RAMBANK2A,BANE2B中,相同的块内量化矩阵数据以16比特单元被存贮在由写地址WADD0表示的32个区域中。块间和块内量化矩阵数据被从系统控制单元(未示出)提供,它们可以是用户定义的矩阵或在MPEG-2中定义的缺省矩阵。RAM控制器44由系统时钟CLK和复位信号RST操作。通过ID_CD输入的量化矩阵按照写地址WADD0被存贮在RAM42的相应的库中。当DCT系数以锯齿次序扫描时,RAM42中的量化矩阵通过读地址RADD0被读取,而当DCT系数以交替次序被扫描时,它由读地址RADD1,RADD2读取。该读取的量化矩阵被输出到运算控制器46。即在RAM控制器44中,当FLAG_ID为高逻辑电平时,分析ID_CD以识别量化矩阵,按照写地址WADD0,该分析的输入量化矩阵被存贮在RAM42的库的相应的子RAM中。此外,存贮在子RAM中的量化矩阵被宏块开始信号所同步,并按照对应于扫描方式的读地址RADD0和读地址RADD1,RADD2,将它们读出并输出到运算控制器46。每个子RAM具有用于读和写的控制信号(未显示)和用于确保输出的控制信号(未示出)。在RAM控制器44选择相应的子RAM时这些控制信号被提供。参考图5,在由复位信号RST清除计数值后,第一计数器50按照时钟信号CLK来计数00H至3FH。产生32个写地址WADD0,以在第一和第二子RAMBANK1A,BANK1B和第三和第四子RAMBANK2A,BANK2B中以16比特单元存贮来自系统控制单元(未示出)的量化矩阵数据。写地址WADD0的例子如下表1所示表1写地址</tables>上面表1显示了何时块间量化矩阵被存贮在第一和第二子RAMBANK1A,BANK1B中。当计数值为0016时,矩阵数据对(00,01)被存贮在由读地址WADD0指示的区域‘00’中。当计数值为0116时,矩阵数据对(02,03)被存贮在由读地址WADD0指示的区域01中。即每个块间量化矩阵对以锯齿次序顺序地存贮在由写地址指示的区域0016-1F16中。如图3A所示。以相同方式,每个块内量化矩阵对以锯齿次序顺序地存贮在第三和第四子RAMBANK2A,BANK2B的区域0016-1F16中。在由复位信号RST清除了计数值后,第二计数器51(5比特计数器)按照时钟信号计数00H至1FH,在清除后,宏块开始信号mbs的上升沿在第二计数器51中被检测到,并且32个计数值被输出给PLA52和打包单元55。如下表2和3所示,在PLA52中,按照DCT系数的锯齿扫描和第二计数器51的计数值,来产生读地址RADD0。另外,在PLA52中,按照DCT系数的交替扫描和第二计数器51的计数值,也产生读地址RADD1,RADD2。表2读地址(锯齿扫描)</tables></tables>上面表2显示了从第一和第二子RAMBANK1A,BANK1B中读出的块间量化矩阵的例子。在第一和第二子RAMBANK1A,BANK1B中当计数值为0016时,存贮在区域‘00’中的矩阵数据对(00,01)由读地址RADD0读出。在第一及第二子RAMBANK1A,BANK1B中,当计数值为0116时,存贮在区域‘01’中的矩阵数据对(02,03)由读地址RADD0读出。即存贮在由写地址指示的0016-1F16区域中每个矩阵数据对以锯齿次序被顺序地读出,如图3A所示。以相同方式,存贮在第三和第四子RAMBANK2A,BANK2B的区域0016-1F16中的每个块内量化矩阵数据对以锯齿次序被顺序读出。参考表1和表2,当DCT系数以锯齿方式扫描时,写地址WADD0与读地址RADD0对应。表3读地址(交替扫描<><p>上面表3显示了从第一和第二子RAMBANK1A,BANK1B中读出的块间量化矩阵。当计数值为0016时,存贮在区域‘00’中的矩阵数据对(00,01)由第一子RAMBANK1A中的读地址RADD1读出,并且存贮在区域‘01’中的矩阵数据对(02,03)由第二子RAMBANK1B中的读地址RADD2读出。当计数值为0116时,存贮在区域‘01’中的矩阵数据对(02,03)由第一子RAMBANK1A中的读地址RADD1读出,并且存贮在区域’04’中的矩阵数据对(08,09)由第二子RAMBANK1B中的读地址RADD2读出。即按照第二计数器51的计数值,存贮在由各读地址RADD1,RADD2指示的第一和第二子RAMBANK1A,BANK1B的区域内的矩阵数据对以如图3B所示的相同的次序被读出。以相同方式,对于块内量化矩阵,存贮在由每个读地址RADD1,RADD2指示的第三和第四子RAMBANK2A,BANK2B的区域中的矩阵数据对以与图3B所示相同的次序,按照第二计数器51的计数值0016-1F16读出。在多路复用器53中,按照来自系统控制单元(未显示)的扫描方式鉴别信号ZZ/ALTER,选择性地将来自PLA52的锯齿次序的读地址RADD0或交替次序的读地址RADD1,RADD2输出到RAM42。例如,如表2所示,当DCT系数以锯齿方式扫描时,第一多路复用器53选择来自PLA52的锯齿次序的读地址RADD0。所选择的读地址RADD0被提供到RAM42中的相应的库中。同时,如表3所示,当DCT系数以交替方式扫描时,第一多路复用器53选择来自PLA52的交替次序的读地址RADD1,RADD2。所选择的读地址RADD1,RADD2被提供到RAM42中的相应库中。在第二多路复用器中,按照来自系统控制单元(未显示)的编码模式鉴别信号INTER/INTRA,对于块间模式编码,选择第一和第二子RAMBANK1A,BANK1B的输出数据DATA1A,DATA1B,而对于块内模式编码,则选择第三和第四子RAMBANK2A,BANK2B的输出数据DATA2A,DATA2B。在打包单元55中,选择性地组合两对16比特矩阵数据的上部和下部比特,作为16比特矩阵对数据。该打包的16比特矩阵对数据与第二计数器51的计数值同步,它们被输出到运算控制器46。下面的表4显示了在DCT系数的编码模式为块内编码而扫描方式为锯齿扫描时数据组合的例子。表4数据组合的例子(锯齿扫描)<p>另外,下面的表5显示了在DCT系数的编码模式为块内编码而扫描方式为交替扫描时数据组合的例子。表5数据组合的例子(交替扫描)第二计数器(51)的计数值数据组合(BANK1A§BANK1B)输出矩阵数据对00DATA1A(16~8)&amp;DATA1B(16~8)(00,02)01DATA1A(7~0)&amp;DATA1B(7~0)(03,09)02DATA1B(7~0)&amp;DATA1A(16~8)(01,04)03DATA1B(7~0)&amp;DATA1A(7~0)(05,07)04DATA1A(16~8)&amp;DATA1B(7~0)(08,0B)05DATA1A(16~8)&amp;DATA1B(16~8)(0A,14)06DATA1A(7~0)&amp;DATA1B(7~0)(15,23)07DATA1B(16~8)&amp;DATA1A(16~8)(24,22)08DATA1A(16~8)&amp;DATA1B(7~0)(16,13)09DATA1A(16~8)&amp;DATA1B(16~8)(12,0C)0ADATA1B(16~8)&amp;DATA1A(7~0)(06,0D)0BDATA1A(16~8)&amp;DATA1B(16~8)(0E,10)0CDATA1A(7~0)&amp;DATA1B(16~8)(11,18)0DDATA1B(7~0)&amp;DATA1A(7~0)(17,21)0EDATA1A(7~0)&amp;DATA1B(16~8)(25,30)0FDATA1B(16~8)&amp;DATA1A(16~8)(20,26)10DATA1B(7~0)&amp;DATA1A(7~0)(2F,31)</table>运算控制器46按照系统时钟CLK和复位信号RST工作。来自RAM控制器44的量化矩阵被输入到运算控制器46中,其互易值被计算。此外,来自系统控制单元(未显示)的量化类型QUANT_SCALE_TYPE和量化码QUANT_SCALE_CODE信号从RAM控制器44输入到运算控制器46。量化标度值通过计算量化类型QUANT_SCALE_TYPE和量化码QUANT_SCALE_CODE而获得。因此,获得该量化标度值的互易数。DC值由来自系统控制单元(未显示)的DC_PREC值获得。因此获得DC值的互易数。此时,量化矩阵值,量化标度值和包含互易数的DC值从运算控制器46分别输出到运算单元48。而且,对于16比特矩阵对数据,其互易数以8比特单元获得。在运算单元48中,2象素的DCT系数DATA_EVEN,DATA_ODD被乘以来自运算控制器46的量化标度值的互易数。该计算的值被乘以量化矩阵值的互易数,并进行该值的循环处理。从其输出2象素的量化数据QUANT_EVEN,QUANT_ODD。此时,运算单元48中的计算以流水线方式进行。因此,可提高处理速度。另外,在量化时DCT系数的输入次序和量化矩阵的次序可按照扫描方式互相匹配。因此,按照本发明的第一实施例,分别以锯齿扫描方式,相同的块间量化矩阵被存贮在两个子RAM中,相同的块内量化矩阵被存贮在两个子RAM中。因此,按照基于DCT系数的扫描方式的读地址,相应的量化矩阵从存贮器中被读出而没有数据冲突。图6显示了按照第二优选实施例的RAM42和RAM控制器44的详细方框图。RAM42包括用于存贮块间量化矩阵的第一库BANK1和用于存贮块内量化矩阵的第二库BANK2。第一库BANK1包括具有8比特×22字的第一子RAMBANK1A和第二子RAMBANK1B,以及具有8比特×20字的第三子RAMBANK1C。第二库BANK2包括具有8比特×22字的第四子RAMBANK2A和第五子RAMBANK2B,以及具有8比特×20字的第六子RAMBANK2C。RAM控制器44包括写地址发生器,第一计数器60和第一PLA61,用于产生一写地址以存贮块间量化矩阵和块内量化矩阵到RAM42中;数据分配器62,用于将ID_CD的矩阵数据分成每个库的相应子RAM;读地址发生器,第二计数器63,第二PLA64,第三PLA65和第一多路复用器66,用于按照DCT系数的扫描方式生成一读地址以从RAM42中读取相应量化矩阵;数据组合器,第二多路复用器67和打包单元68,用于按照编码模式或扫描次序对来自于RAM42的矩阵数据以16比特进行组合。下面将结合图4和图6来详细描述本发明的第二实施例。由于到每个方框的输入/输出信号与在第一优选实施例中所讨论的相同,下面就省略对它们的叙述。在RAM42的第一库BANK1中,64个块间量化矩阵数据以8比特单元被分配并分别存贮在第一子RAMBANK1A的22个区域,第二子RAM1B的22个区域,第三子RAMBANK1C的20个区域。第一至第三子RAMBANK1A,BANK1B,BANK1C的每个区域分别由写地址WADD1,WADD2,WADD3表示。对于第二库BANK2,64个块内量化矩阵数据以8比特单元被分配并分别存贮在第四子RAMBANK2A的22个区域,第五子RAMBANK2B的22个区域,第六子RAMBANK2C的20个区域。第四至第六子RAMBANK2A,BANK2B,BANK2C的每个区域分别由写地址WADD1,WADD2,WADD3表示。块间和块内量化矩阵从系统控制单元(未显示)被提供,它们可以是用户定义的矩阵或由MPEG-2定义的缺省矩阵。RAM控制器44由系统时钟CLK和复位信号RST操作,使得ID_CD的量化矩阵按照写地址WADD1,WADD2,WADD3被存贮在RAM42的相应的库中。此外,RAM42中的量化矩阵按照DCT系数的扫描方式通过读地址RADD1,RADD2,RADD3被读取,它们被输出到运算控制器46。即在RAM控制器44中,当FLAG_ID为“高”逻辑电平时,分析ID_CD以识别量化矩阵类型。该分析的输入量化矩阵被存贮在RAM42的各库的相应的子RAM中。此外,一旦被宏块开始信号mbs同步,在这些库的每个子RAM中的量化矩阵被读出并输出到运算控制器46。每个子RAM具有用于读和写的控制信号(未显示)和用于确保输出的控制信号(未显示)。在RAM控制器44选择相应的子RAM时提供控制信号。如图6所示,在由复位信号RST清除计数值后,第一计数器60(5比特计数器)按照时钟信号CLK来计数00H至1FH。当FLAG_ID为“高”逻辑电平时,分析ID_CD以识别块间/块内量化矩阵。一旦ID被识别,就输出32个计数值到第一PLA61和数据分配器62。在第一PLA61中,按照来自第一计数器60的计数值,来产生写地址WADD1,WADD2,WADD3,以将来自系统控制单元(未显示)的量化矩阵以8比特单元存贮在第一至第三子RAMBANK1A,BANK1B,BANK3或第四至六于RAMBANK2A,BANK2B,BANK2CK。当DCT系数以锯齿次序被扫描时,第一PLA61也产生读地址RADD1,RADD2,RADD3。下表6说明了写地址WADD1,WADD2、WADD3。表6写地址>在数据分配器62中,如图3A所示,锯齿次序的16比特量化矩阵数据按照来自第一计数器60的计数值以8比特单元被分配以存贮在3个子RAM的两个之中。在块间量化矩阵的情况下,该16比特量化矩阵数据被分配以存贮在第一至第三子RAMBANK1A,BANK1B,BANK1C中。在块内量化矩阵的情况下,该16比特量化矩阵数据被分配以存贮在第四至第六子RAMBANK2A,BANK2B,BANK2C中。下面的表7说明了该数据分配。表7数据分配(块间量化矩阵)上面表6和7显示了存贮在第一至第三子RAMBANK1A,BANK1B,BANK1C中的块间量化矩阵。当计数值为0016时,矩阵数据(00)存贮在第一子RAMBANK1A的写地址WADD1‘00’的区域中,矩阵数据(01)存贮在第二子RAMBANK1B的写地址WADD2‘01’的区域中。当计数值为0116时,矩阵数据(03)存贮在第二子RAMBANK1B的写地址WADD2‘01’的区域中,矩阵数据(02)存贮在第三子RAMBANK1C的写地址WADD3‘00’的区域中,即按照写地址WADD1,WADD2,WADD3,16比特单元的锯齿次序的块间量化矩阵数据,如图3A所示,以8比特单元被存贮在第一至第三子RAM的两个之中,如表7所示。类似地,按照写地址WADD1,WADD2,WADD3,16比特单元的锯齿次序的块内量化矩阵数据,如图3A所示,以8比特单元被存贮在第四至第六子RAM的两个之中,如表7所示。此时,当计数值相同时,用于定位表6中地址的子RAM与用于分配表7中数据的子RAM对应。在由复位信号RST清除计数信号后,第二计数器63(5比特计数器)按照时钟信号CLK来计数00H至1FH。在检测到宏块信号mbs的上升沿后,32个计数值被输出到第二PLA64,第三PLA65和打包单元68。在第二PLA64中,当DCT系数以锯齿次序被扫描时,产生读地址RADD1,RADD2,RADD3以从RAM42中读取相应的量化矩阵。第二PLA64具有与第一PLA61相同的结构。按照来自第二计数器63的计数值,在第二PLA64中产生象下面表8那样的读地址RADD1,RADD2,RADD3。表8读地址(锯齿扫描)<p>在第三PLA65中,当DCT系数为交替次序扫描时,产生读地址RADD1,RADD2,RADD3,以从RAM42中读取相应的量化矩阵。按照来自第二计数器63的计数值,在第三PLA65中产生下面表9那样的读地址RADD1,RADD2,RADD3。表9读地址(交替扫描)</tables>上面表9显示了从第一至第三子RAMBANK1A,BANK1B,BANK1C读出的块间量化矩阵数据。当计数值为0016时,产生读地址RADD1以从第一子RAMBANK1A中读出存贮在写地址‘00’中的数据(00),并产生读地址RADD3以从第三子RAMBANK1C中读取存贮在写地址‘00’中的数据(02)。另外,当计数值为0116时,产生读地址RADD2以从第二子RAMBANK1B中读出存贮在写地址‘01’中的数据(03),并产生读地址RADD3以从第三子RAMBANK1C中读取存贮在写地址‘02’中的数据(09)。即存贮在分别由读地址RADD1,RADD2,RADD3指示的第一至第三子RAMBANK1A,BANK1B,BANK1C的区域中的矩阵数据按照计数值0016-1F16以图3B所示次序被读出。以相同方式,在块内量化情况下,存贮在分别由读地址RADD1,RADD2,RADD3指示的第四至第六子RAMBANK2A,BANK2B,BANK2C的区域中的矩阵数据按照计数值0016-1F16以图3B所示次序被读出。如上所述,来自第三PLA65的读地址是不连续的,用以以交替次序来读取3个子RAM中的锯齿次序的矩阵数据。由此,矩阵数据通过第一PLA61中产生的写地址被分布并存贮在3个子RAM的两个之中,以使当用第三PLA65按照扫描方式产生的读地址来读取一对矩阵数据时,不会出现数据冲突现象。在第一多路复用器66中,按照来自系统控制单元(未显示)的扫描方式鉴别信号ZZ/ALTER,选择性地将锯齿次序的读地址RADD1,RADD2,RADD3或交替次序的读地址RADD1,RADD2,RADD3输出到RAM42。例如,在第一多路复用器66中,如表8所示,当DCT系数以锯齿方式扫描时,来自第二PLA64的锯齿次序的读地址RADD1,RADD2,RADD3被选择提供到RAM42的相应的库中。同时,在第一多路复用器66中,如表9所示,当DCT系数以交替方式扫描时,来自第三PLA65的交替次序的读地址RADD1,RADD2,RADD3被选择提供到RAM42的相应的库中。在第二多路复用器67中,按照来自系统控制单元(未显示)的码模式鉴别信号INTER/INTRA,对于块间编码模式,选择输出第一至第三子RAMBANK1A,BANK1B,BANK1C的输出数据DATA1A,DATA1B,DATA1C,而对于块内编码模式,则选择输出第四至第六子RAMBANK2A,BANK2B,BANK2C的输出数据DATA2A,DATA2B,DATA2C。在打包单元68中,组合来自第二多路复用器67的两对8比特矩阵数据作为16比特矩阵对数据。该数据与第二计数器63的计数值同步并被输出到运算控制器46。下面的表10显示了在DCT系数的编码模式为块间编码而扫描方式为锯齿扫描时数据组合的例子。表10数据组合的例子(锯齿扫描)table></tables>另外,下面的表11显示了在DCT系数的编码模式为块间编码而扫描方式为交替扫描时数据组合的例子。表11数据组合的例子(交替扫描)</tables><p>这儿,省略了对运算控制器46和运算单元48的讨论,因为其操作过程与第一实施例相同。因此,按照本发明的第二实施例,16比特单元的32个量化矩阵数据以8比特单元按锯齿扫描方式被分布并存贮在3个子RAM的两个子RAM中。因此,按照基于DCT系数的扫描方式的读地址,相应的量化矩阵被从存贮器中读出,而没有数据冲突。结合目前认为最实用最优秀的实施例,已经对本发明进行了描述,但应该理解本发明并不限制于所讨论的实施例,相反,不脱离本发明的精神和范围,普通专业技术人员可作出各种变化和改型。权利要求1,一种视频编码器中用于量化扫描的DCT系数的量化器,它包括a)存贮器,具有第一库,带有用于存贮块内量化矩阵的多个区域;及第二库,带有用于存贮块间量化矩阵的多个区域;b)存贮控制器,用于产生一写地址以用于以锯齿扫描方式的次序在所述存储器中写块内量化矩阵和块间量化矩阵,及产生一读地址用于按照DCT系数的扫描方式的次序从所说存贮器中读相应量化矩阵,并按照写地址和读地址来控制所述存储器中的块内量化矩阵和块间量化矩阵的写/读过程;c)运算控制器,用于获得经所说存贮控制单元从所说存贮器提供的相应量化矩阵的互易值和外部提供的量化标度的互易值,并输出所获得的值;和d)运算单元,用于利用来自运算控制器的相应量化矩阵和量化标度的互易值来量化扫描的DCT系数。2,一种视频编码器中用于量化扫描的DCT系数的量化器,它包括a)RAM,具有第一库,带有用于存贮同一块间量化矩阵的第一子RAM和第二子RAM;及第二库,带有用于存贮同一块内量化矩阵的第三子RAM和第四子RAM;b)RAM控制器,用于产生一写地址以用于以锯齿扫描方式的次序在相应的子RAM中写块间量化矩阵和块内量化矩阵,及产生一读地址以用于按照DCT系数的扫描方式的次序从所说RAM中读相应量化矩阵,并以预定格式按照读地址组合从所说RAM读出的相应量化矩阵;c)运算控制器,用于获得经所说RAM控制器从所说RAM提供的相应量化矩阵的互易值和外部提供的量化标度的互易值,并输出所获得的值;和d)运算单元,用于利用来自运算控制器的相应量化矩阵和量化标度的互易值来量化扫描的DCT系数。3,按照权利要求2的量化器,其中所说第一至第四子RAM的大小为16比特×32字。4,按照权利要求2的量化器,其中所说RAM控制器包括用于产生写地址的写地址发生器;用于产生读地址的读地址发生器;数据组合器,用于以预定格式按照读地址组合从所说RAM中读出的相应的量化矩阵;所说写地址发生器具有第一计数器,用于计数时钟信号并产生32个写地址,用于以16比特单元在相应子RAM中存贮量化矩阵;所说读地址发生器包括第二计数器,用于计数时钟信号并输出32个计数值;可编程逻辑阵列,用于按照来自所说第二计数器的32个计数值产生第一读地址用于以锯齿扫描方式的次序读取所说RAM中存储的量化矩阵的和产生第二读地址用于以交替扫描方式的次序读取所说RAM中存储的量化矩阵;和所说数据组合器具有第二多路复用器,用于基于编码模式鉴别信号,按照第一读地址和第二读地址,选择性地输出从所说RAM中读出的块间量化矩阵和块内量化矩阵;及打包单元,用于按照来自所说第二计数器的32个计数值以16比特单元对从所说第二多路复用器提供的量化矩阵打包,并输出该打包的矩阵。5,一利视频编码器中用于量化扫描的DCT系数的量化器,它包括a)RAM,具有第一库,带有用于存贮块间量化矩阵的第一,第二和第三子RAM;及第二库,带有用于存贮块内量化矩阵的第四,第五和第六子RAM;b)RAM控制器,用于产生一写地址以用于以锯齿扫描方式以8比特单元在第至第三子RAM中的两个子RAM中写入16比特单元的块间量化矩阵和在第四至第六子RAM中的两个子RAM中写入16比特单元的块内量化矩阵;并产生一读地址用于以DCT系数的扫描方式的次序从所说RAM中读相应量化矩阵,并按照16比特单元的读地址,组合从所说RAM中读出的相应量化矩阵;c)运算控制器,用于获得经所说RAM控制器自所说RAM提供的相应量化矩阵的互易值和外部提供的量化标度的互易值,并输出所获得的值;和d)运算单元,用于利用来自运算控制器的相应量化矩阵和量化标度的互易值来量化扫描的DCT系数。6,按照权利要求5的量化器,其中所说第一,第二,第四和第五子RAM的大小为8比特×22字,所说第三和第六子RAM的大小为8比特×20字。7,按照权利要求5的量化器,其中所说RAM控制器包括用于产生写地址的写地址发生器;数据分配器,用于在相应三个子RAM的两个子RAM中分配量化矩阵;用于产生读地址的读地址发生器;和数据组合器,用于按照16比特单元的读地址组合从所说RAM中读出的相应的量化矩阵;所说写地址发生器具有第一计数器,用于计数时钟信号并输出32个写地址;及第一可编程逻辑阵列,用于按照来自所说第一计数器的32个计数值产生用于将量化矩阵以8比特单元存贮到相应子RAM中的32个写地址;所说读地址发生器,包括第二计数器,用于计数时钟信号并输出32个计数值;第二可编程逻辑阵列,用于按照来自所说第二计数器的32个计数值产生第一读地址用于以锯齿扫描方式的次序读取所说RAM中存储的量化矩阵和第二读地址用于以交替扫描方式的次序读取所说RAM中存储的量化矩阵;和所说数据组合器具有第二多路复用器,用于基于编码模式鉴别信号,按照第一读地址和第二读地址,选择性地输出从所说RAM中读出的块间量化矩阵和块内量化矩阵;及打包单元,用于按照来自所说第二计数器的32个计数值以16比特单元对从所说第二多路复用器提供的量化矩阵打包,并输出该打包的矩阵。全文摘要一种视频编码器中用于量化扫描的DCT系数的量化器,包括存贮器,用于存贮块内量化矩阵和块间量化矩阵;存贮控制器,用于产生写地址和读地址,并按照写地址和读地址来控制块间量化矩阵的写/读过程;运算控制器,用于得到从所说存贮器提供的相应量化矩阵的互易值和外部提供的量化标度的互易值,并输出所获得的值;和运算单元,用于利用来自运算控制器的相应量化矩阵和量化标度的互易值来量化扫描的DCT系数。文档编号H04N7/30GK1165457SQ9710426公开日1997年11月19日申请日期1997年5月14日优先权日1996年5月14日发明者金泯年申请人:大宇电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1