CN101355702B - 编码处理设备和解码处理设备 - Google Patents
编码处理设备和解码处理设备 Download PDFInfo
- Publication number
- CN101355702B CN101355702B CN2008101347184A CN200810134718A CN101355702B CN 101355702 B CN101355702 B CN 101355702B CN 2008101347184 A CN2008101347184 A CN 2008101347184A CN 200810134718 A CN200810134718 A CN 200810134718A CN 101355702 B CN101355702 B CN 101355702B
- Authority
- CN
- China
- Prior art keywords
- storage device
- information
- coded message
- decoded information
- stored
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
提供了一种编码处理设备和解码处理设备。该编码处理设备包括:第一存储部,用于存储第一编码信息和第二编码信息;第二存储部,用于存储指示第一编码信息与第二编码信息之间的关联关系的表;运算部,用于通过读取存储在第一存储部中的第一编码信息以及搜索存储在第二存储部中的表来计算第二编码信息;第三存储部,用于通过将先前从第一存储部读取的第一编码信息与第二编码信息相关联来进行存储;第一控制部,用于从第三存储部读取与第一编码信息相关联的第二编码信息;以及第二控制部,用于通过将第一编码信息与第二编码信息相关联来在第三存储部中进行存储。该运算部执行搜索存储在第二存储部中的表并计算第二编码信息的处理。
Description
技术领域
本发明涉及用于对图像数据进行编码的编码处理设备以及用于对编码图像数据进行解码的解码处理设备。
背景技术
在遵循诸如JPEG(联合图像专家组)和MPEG(运动图像专家组)这样的编码方案来对图像数据进行编码的编码处理中的可变长度编码处理中,通过参考可变长度代码表来根据比特流产生语法。例如,在对编码图像数据的可变长度编码DCT(离散余弦变换)系数的处理中,由于该处理是对宏块级语法执行的一种处理,因此可变长度代码表的大小变得很大,从而搜索处理时间也变得很长。尤其是,当通过使用通用计算处理器来执行这种搜索处理时,无法并行地执行该搜索处理,而是根据存储在高速缓存中的可变长度代码表来顺序地执行该搜索处理,因而增加了处理循环计数。
为了降低解码处理中对可变长度代码表进行搜索的时间,日本未审专利申请公开JP H06-152988(专利文献1)公开了这样一种解码处理设备,该解码处理设备通过根据从可变长度解码处理的目标比特流的起始处起连续列出的“1”或“0”的数目对编码表进行划分,来实现较高速的搜索处理。
然而,在专利文献1中所公开的解码处理设备中,必须对预先提供的霍夫曼代码表执行以下处理步骤:首先获得从目标比特流的起始处起连续列出的“1”或“0”的数目,此后通过使用所获得的值作为地址来参考第一表,通过使用由参考所获得的信息来参考第二表,并且进一步使游程长度与可变长度代码位串的级别相关联。
当针对通用处理器执行这种处理步骤时,对游程长度/级别对的处理需要几十个周期的处理时间。按照这种方式,在遵循基于宏块的语法的处理中,对游程长度和级别的搜索处理占用了相对大的百分比。因此,当对高分辨率图像数据执行编码处理时,这种通用处理器还执行除了可变长度编码处理之外的处理,这将使得难以实时地执行编码处理。
此外,除了可变长度编码处理之外,编码处理还包括这样的步骤:该步骤通过对使得在中间处理阶段所计算的编码信息的输入/输出关系相关联的表进行搜索,来计算编码信息。因此,在通用处理器中,为了实时地执行编码处理和解码处理,需要减少搜索处理所需的时间。
发明内容
根据本发明的实施例,期望提供一种编码处理设备,该编码处理设备用于在对图像数据进行编码的编码处理中、通过搜索预定表来减少计算编码信息的搜索处理的处理时间,并且还期望提供一种解码处理设备,该解码处理设备用于在对该编码处理设备所编码的图像数据进行解码的处理中、通过搜索预定表来减少计算解码信息的搜索处理的处理时间。
在本发明的实施例中,提供了一种用于输出通过对图像数据执行冗余度降低的编码处理所获得的编码数据的编码处理设备。该编码处理设备包括:第一存储部,用于存储在对图像数据执行的编码处理中计算出的第一编码信息,以及根据第一编码信息计算出的第二编码信息;第二存储部,用于存储指示第一编码信息与第二编码信息之间的对应关系的表;运算部,用于通过读取存储在第一存储部中的第一编码信息以及搜索存储在第二存储部中的表来计算第二编码信息,并将计算出的第二编码信息存储在第一存储部中;第三存储部,用于通过将运算部先前从第一存储部读取的第一编码信息与根据第一编码信息计算出的第二编码信息相关联来进行存储;第一控制部,用于当第三存储部中存储有与运算部从第一存储部读取的第一编码信息相同的信息时,从第三存储部读取与第一编码信息相关联的第二编码信息,并将该第二编码信息存储在第一存储部中;以及第二控制部,用于当运算部根据从第一存储部读取的第一编码信息计算出第二编码信息时,通过将第一编码信息与第二编码信息相关联来在第三存储部中进行存储。仅当第三存储部中未存储根据从第一存储部读取的第一编码信息计算出的第二编码信息时,运算部才执行搜索存储在第二存储部中的表并计算第二编码信息的处理。
在本发明的实施例中,提供了一种用于输出通过对图像数据执行冗余度降低的解码处理而获得的解码数据的解码处理设备。该解码处理设备包括:第一存储部,用于存储在对编码数据执行的解码处理中计算出的第一解码信息,以及根据第一解码信息计算出的第二解码信息;第二存储部,用于存储指示第一解码信息与第二解码信息之间的关联关系的表;运算部,用于通过读取存储在第一存储部中的第一解码信息以及搜索存储在第二存储部中的表,来计算第二解码信息并将计算出的第二解码信息存储在第一存储部中;第三存储部,用于通过将运算部先前从第一存储部读取的第一解码信息与根据第一解码信息计算出的第二解码信息相关联来进行存储;第一控制部,用于当第三存储部中存储有与运算部从第一存储部读取的第一解码信息相同的信息时,从第三存储部读取与第一解码信息相关联的第二解码信息,并将所读取的第二解码信息存储在第一存储部中;以及第二控制部,用于当运算部根据运算部从第一存储部读取的第一解码信息计算出第二解码信息时,通过将第一解码信息与第二解码信息相关联来在第三存储部中进行存储。仅当第三存储部中未存储根据从第一存储部读取的第一解码信息计算出的第二解码信息时,该运算部才执行搜索存储在第二存储部中的表并计算第二解码信息的处理。
在本发明的编码处理设备中,仅当第三存储部中未存储根据从第一存储部读取的第一编码信息计算出的第二编码信息时,运算部才执行搜索存储在第二存储部中的表并计算第二编码信息的处理。因此,通过直接搜索该表来降低计算编码信息的处理的执行频率,可降低根据第一编码信息来计算第二编码信息的整个处理所需的处理时间。
此外,仅当第三存储部中未存储根据从第一存储部读取的第一解码信息计算出的第二解码信息时,根据本发明实施例的解码处理设备才执行搜索存储在第二存储部中的表并计算第二解码信息的处理。因此,通过直接搜索该表来降低计算解码信息的处理的执行频率,可降低根据第一解码信息来计算第二解码信息的整个处理所需的处理时间。
附图说明
图1是示出了图像处理设备的整个配置的框图;
图2是示出了计算部的整个配置的框图;
图3是用于说明编码处理的步骤的流程图;
图4是用于说明可变长度编码处理的步骤的流程图;
图5是示出了存储在数据存储器部中的可变长度代码信息的图示;
图6是示出了存储在数据存储器部中的可变长度代码信息的图示;
图7是用于说明解码处理的步骤的流程图;
图8是用于说明可变长度解码处理的步骤的流程图;
图9是用于说明逆量化处理的步骤的流程图;以及
图10是示出了在逆量化处理期间存储在数据存储器部中的输入/输出信息的图示。
具体实施方式
本发明所应用于的图像处理设备是用于执行对图像数据进行编码的编码处理以及对编码图像数据进行解码的解码处理的设备。在下文中,参考作为该图像处理设备的特定示例的、图1所示的图像处理设备1,来对本发明的实施例进行描述。
图像处理设备1是具有通用计算处理器的计算机,例如稍后所述的计算机,并且图像处理设备1包括用于执行计算处理的计算部2、用于存储诸如图像数据这样的数据的硬盘3、用于暂时存储计算部2对其执行计算处理的数据的主存储器4、以及用于从外部输入/向外部输出图像数据等的接口5。
计算部2将用于对图像数据执行编码处理和解码处理的程序从例如硬盘3读取至主存储器4,并且执行该程序。
硬盘3存储从接口5向硬盘3输入的、由计算部2编码的图像数据。硬盘3还预先存储用于执行编码处理和解码处理的程序。
主存储器4暂时存储计算部2对其执行计算处理的数据。
接口5根据计算部2的控制命令来采集来自外部的图像数据,并将所采集的图像数据提供给硬盘3和主存储器4。
在如上配置的图像处理设备1中,执行这样的处理:从接口5采集通过数字照相机等获得的图像数据,并将编码数据存储在硬盘3等中。该编码数据是通过由计算部2根据诸如JPEG或MPEG这样的编码方案来对采集的图像数据执行编码处理而获得的。此外,在图像处理设备1中,计算部2对来自硬盘3、接口5等的所采集的编码图像数据执行解码处理,并将解码的图像数据输出到诸如显示器这样的外部显示设备。
图像处理设备1的计算部2所执行的编码处理和解码处理包括以下步骤:通过对与在中间处理阶段计算的信息的输入/输出关系相关联的表进行搜索,来计算编码信息和解码信息,该中间处理阶段例如为可变长度编码 处理和可变长度解码处理,稍后对其进行描述。在根据本实施例的图像处理设备1中,计算部2具有以下配置,以便减少搜索处理所需的时间。
也就是说,如图2所示,计算部2包括用于执行编码处理和解码处理的计算处理的运算单元11、用于暂时存储要由运算单元11执行的命令码的命令高速缓存12、用于暂时存储运算单元11所计算的数据的通用寄存器13、用于存储可变长度代码表等的数据高速缓存14(稍后加以描述)、以及用于执行对要被存储在数据高速缓存14的地址中的数据进行参考的处理的地址解码器15。在计算部2中包括的部件通过总线16互连。
运算单元11从通用寄存器13读取数据,对所读取的数据执行预定的计算处理,并将计算处理结果存储到通用寄存器13中。运算单元11还产生命令码,并将所产生的命令码暂时存储在命令高速缓存12中。
命令高速缓存12暂时存储从运算单元11向命令高速缓存12提供的命令码,并且还将所存储的命令码提供给运算单元11。
通用寄存器13存储运算单元11对其执行计算处理的数据以及运算单元11执行的计算的结果。
数据高速缓存14存储这样的表:该表用于根据地址编号来对在编码处理和解码处理的中间处理阶段计算的输入/输出信息进行管理,该中间处理阶段例如为可变长度编码处理。数据高速缓存14还读取稍后所述的地址解码器15所参考的地址编号信息,并且将所读取的信息提供给运算单元11。
地址解码器15对来自运算单元11的控制命令所指示的地址编号执行解码处理,并执行对存储在数据高速缓存14的所述地址中的数据进行读取的处理。
当计算部2通过由上述配置执行从硬盘3等读取的程序来执行编码处理和解码处理时,为了如上所述地减少处理时间,计算部2具有数据存储器部21、比较/存储器输出控制部22、历史存储器部23、以及行选择/存储器输入控制部24。
数据存储器部21包括多个行存储器,并且在每个行存储器中存储有输入/输出数据,在所述输入/输出数据中,来自通用寄存器13的由运算单元11输入的数据与通过经由地址解码器15针对该输入数据而参考数据高速缓存14所获得的输出数据相关联。
比较/存储器输出控制部22执行以下处理:将运算单元11先前计算的、 被存储在数据存储器部21中的一组输入数据与作为运算单元11的计算处理对象的输入数据进行比较,并根据该比较结果来读取存储在数据存储器部21中的数据。
此外,比较/存储器输出控制部22并行地参考信息,在该信息中将存储在数据存储器部21中的多个输入数据与输出数据相关联。比较/存储器输出控制部22从通用寄存器13读取运算单元11当前所处理的输入数据,并进行比较,以检查是否存在与所读取的输入数据以及存储在多个参考的行存储器中的输入数据相匹配的任意行。换句话说,比较/存储器输出控制部22确定在数据存储器部21中是否存储有命中运算单元11当前所处理的输入数据的输入/输出数据。
历史存储器部23将比较/存储器输出控制部22所获得的比较结果存储作为历史信息。具体地,历史存储器部23将命中计数以及命中率存储作为存储在数据存储器部21中的每个输入/输出数据的历史信息,其中所述命中计数指示将输出数据读取作为命中运算单元11当前处理的输入数据的输入/输出数据的累计次数,所述命中率是通过将命中计数除以参考次数的总数而获得的。
行选择/存储器输入控制部24根据运算单元11的计算处理来更新存储在数据存储器部21中的数据。
此外,除了通用寄存器13之外,计算部2还包括用于专门对运算单元11所计算的信息中的用户定义的信息进行管理的用户寄存器17。
在具有如上配置的计算部2中,读取存储在硬盘3等中的程序,并且如下地执行编码处理和解码处理。
接下来,对用于编码处理的计算部2的操作进行描述。
计算部2依照例如图3所示的流程图来根据图像数据产生编码数据。为了开始以下编码处理,假定计算部2将用于编码的图像数据读取至主存储器4等,并通过遵循语法将所存储的图像数据划分成宏块单元来对该图像数据进行管理。
在步骤S1中,计算部2执行以下处理:将要处理的图像数据的宏块(下文中称为“当前宏块”)以及成为该图像数据的参考图像的图像数据的宏块(下文中称为“参考宏块”)从例如主存储器4读取至通用寄存器13。
在步骤S2中,计算部2利用当前宏块和参考宏块来对当前宏块执行 运动检测。也就是说,计算部2对与当前宏块相对应的参考宏块执行图像搜索,以确定参考宏块的参考位置。
在步骤S3中,计算部2找到通过将像素之间的间隔二等分所获得的分辨率精度的参考位置,并根据当前宏块以及在步骤S2中确定了参考位置的参考宏块来产生与当前宏块相关的差分图像。此外,在执行产生差分图像的处理的同时,计算部2产生与运动矢量相关的信息。
在步骤S4中,计算部2对与在步骤S3中产生的差分图像相关的信息执行DCT处理和量化处理,以产生量化的DCT系数。
在步骤S5中,计算部2对在步骤S4中产生的量化的DCT系数以及诸如运动矢量这样的宏块级参数执行可变长度编码处理。此后,计算部2将作为结果的可变长度编码的当前宏块级编码数据存储在通用寄存器13中。
在步骤S6中,计算部2对在步骤S4中产生的量化的DCT系数执行逆量化处理和逆DCT转换处理。
在步骤S7中,计算部2将在步骤S6中解码的当前宏块数据存储在通用寄存器13中,作为供对下一帧图像进行编码的处理使用的参考图像数据。
在步骤S8中,计算部2判断在步骤S1至S6的处理中作为当前宏块而被处理的宏块是否是构成帧图像的宏块中的最后位置处的宏块。计算部2在判断处理中判断出该宏块是最后位置处的宏模块时结束该处理,但是在判断出该宏块并非最后位置处的宏块时返回到步骤S1。
接下来,参考图4所示的流程图,对处理步骤中的步骤S5中的可变长度编码处理进行详细地描述。
对于根据图4所示的流程图的处理而言,假定计算部2将与在步骤S4中产生的DCT系数相关以及与运动矢量有关的信息存储到通用寄存器13中,以作为遵循包括游程长度和级别的语法的信息。还假定计算部2将可变长度代码表存储在数据高速缓存14中,其中根据包括游程长度和级别的语法的出现频率而向该可变长度代码表分配了包括大小和代码的码长。为了方便起见,假定遵循包括游程长度和级别的语法的信息为第一编码信息,并假定根据第一编码信息计算的包括大小和代码的比特流为第二编码信息。
在相关技术的可变长度编码处理中,运算单元通过参考存储在数据高 速缓存中的可变长度代码表来搜索与第一编码信息相关联的第二编码信息。另一方面,在根据本实施例的可变长度编码处理中,执行以下处理,以将可变长度代码信息存储在数据存储器部21中,所述可变长度代码信息使得先前处理的第一编码信息与根据该信息计算的第二编码信息相关联,并通过执行以下处理来达到减少处理时间的目的。
在步骤S11中,计算部2将与当前宏块相关的第一编码信息中的、包括游程长度和级别对的第一编码信息从通用寄存器13读取至运算单元11和比较/存储器输出控制部22。
在步骤S12中,如图5所示,在计算部2中,比较/存储器输出控制部22参考来自数据存储器部21中的多个行存储器的可变长度代码信息,该可变长度代码信息使得作为运算单元11的先前计算的结果而获得的第一编码信息与第二编码信息相关联。此后,在计算部2中,比较/存储器输出控制部22以多个行存储器为单位同时且并行地将步骤S11中读取的第一编码信息与存储在相应行存储器中的可变长度代码信息进行比较。
在步骤S13中,在计算部2中,比较/存储器输出控制部22判断在步骤S12的比较处理中是否在数据存储器部21中找到了命中步骤S11中读取的第一编码信息的任意可变长度代码信息。如果在该判断处理中在数据存储器部21中找到了命中第一编码信息的任意可变长度代码信息,则计算部2前进到步骤S14,但是如果在该判断处理中未在数据存储器部21中找到命中第一编码信息的任何可变长度代码信息,则计算部2前进到步骤S15。
在步骤S14中,在计算部2中,比较/存储器输出控制部22将与步骤S13的比较处理中命中的可变长度代码信息相对应的第二编码信息存储在通用寄存器13中,并且还如下地更新存储在历史存储器部23中的历史信息。也就是说,历史存储器部23将历史信息中的、与下述可变长度代码信息相关的命中计数加1,并且还更新命中率,其中所述可变长度代码信息与存储在通用寄存器13中的第二编码信息相对应。此后,计算部2前进到步骤S17。
在步骤S15中,在计算部2中,运算单元11通过经由地址解码器15参考存储在数据高速缓存14中的可变长度代码表,来对与步骤S11中读取的第一编码信息相关的第二编码信息进行搜索,将所搜索到的第二编码信息存储在通用寄存器13中,此后计算部2前进到步骤S16。
在步骤S16中,在计算部2中,行选择/存储器输入控制部24如下地更新存储在数据存储器部21中的信息。换句话说,行选择/存储器输入控制部24将可变长度代码信息存储到数据存储器部21中,其中该可变长度代码信息将第一编码信息与步骤S15中的运算单元11的搜索处理中获得的第二编码信息相关联。当数据存储器部21中无存储容量时,行选择/存储器输入控制部24根据存储在历史存储器部23中的历史信息,从数据存储器部21删除与具有最低命中率的历史信息相对应的可变长度代码信息,然后将步骤S15中的运算单元11的搜索处理中获得的可变长度代码信息存储到数据存储器部21中。此后,计算部2前进到步骤S17。
在步骤S17中,计算部2判断当前处理的第一编码信息是否是遵循当前宏块级语法的最后的第一编码信息。当判断出当前处理的第一编码信息是最后的第一编码信息时,计算部2结束该处理,并且当判断出当前处理的第一编码信息不是最后的第一编码信息时,计算部2前进到步骤S18。
在步骤S18中,计算部2选择接下来要受到可变长度编码处理的第一编码信息,并返回到步骤S11。
如上所述,在计算部2中,仅当在步骤S13中判断出在数据存储器部21中未存储有根据从通用寄存器13读取的第一编码信息计算的第二编码信息时,运算单元11才在S15步骤中对存储在数据高速缓存14中的可变长度代码表进行搜索,计算第二编码信息,并将所计算的信息存储在通用寄存器13中。因此,计算部2通过直接搜索可变长度代码表来降低计算第二编码信息的处理的执行频率,以便减少根据第一编码信息计算第二编码信息的整个处理所需的处理时间。
此外,在计算部2中,由于通过步骤S13中的判断处理来执行步骤S14或S15中的任一步骤,并且由于从步骤S11至S18的整个处理是作为一个循环而实现的,因此,与相关技术相比,可减少在无损编码处理中执行的循环计数。
尤其是,当通过利用具有八个行存储器的数据存储器部21来对作为图像数据的自然图像执行编码处理时,计算部2可通过步骤S13以大约50%的命中率来执行步骤S14中的处理。也就是说,在这种情况下,与相关技术相比,计算部2可使得步骤S15中的正常可变编码处理的执行频率降低至大约一半。
由于与自然图像相关的图像数据的冗余而使得将来处理与先前处理 的数据相同的数据的可能性相对较高,因此计算部2可减少搜索处理。
此外,在计算部2中,可以将计算部2配置成:通过根据要处理的数据的量化值对具有高出现频率的第一编码信息进行分类,来管理存储在数据存储器部21中的可变长度代码信息。例如,如图6所示,数据存储器部21通过以下方式来进行管理:向组1分配包括可能在该量化值超过20时出现的第一编码信息的可变长度代码信息,并向组2分配包括可能在该量化值在16以上但不大于20时出现的第一编码信息的可变长度代码信息。然后,例如,在当前处理的宏块的量化值的条件符合针对组中的量化值的条件时,历史存储器部23使得存储在历史存储器部23中的历史信息的命中率加倍,而在当前处理的宏块的量化值不符合针对组中的量化值的条件时,存储在历史存储器部23中的历史信息的命中率不变。因而,通过在数据存储器部21中尽可能地保留根据该量化值可能出现的可变长度代码信息的配置,计算部2可提高步骤从S13移至S14的频率,并且通过降低运算单元11执行搜索处理的频率,可减少编码处理的处理时间。
在计算部2中,除了上述可变长度编码处理之外,还可将根据例如上述图4所示的流程图的处理应用于这样的处理:在该处理中,将在编码处理的中间处理阶段计算出的信息设置为第一编码信息,将根据该第一编码信息计算出的信息设置为第二编码信息,并通过对将第一编码信息与第二编码信息相关联的表进行搜索来计算第二编码信息。
接下来,对用于解码处理的计算部2的操作进行描述。
计算部2根据例如图7所示的流程图来对编码图像数据进行解码。为了开始以下解码处理,计算部2将要解码的编码数据的比特流读取到主存储器4等,从而以宏块为单位来管理该比特流。
在步骤S21中,计算部2对要解码的当前宏块的比特流执行可变长度解码处理,并产生量化的DCT系数和运动矢量。
在步骤S22中,计算部2对在步骤S21中产生的量化的DCT系数执行逆量化处理和逆DCT转换处理,以产生差分图像数据。
在步骤S23中,计算部2根据在步骤S21中产生的运动矢量从主存储器4等读取用作参考图像的图像数据的宏块。
在步骤S24中,计算部2对在步骤S22中产生的差分图像数据以及在步骤S23读取的用作参考图像的图像数据执行运动补偿处理,并产生宏块的解码图像。
在步骤S25中,计算部2将在步骤S23中产生的宏块的解码图像存储到主存储器4等中。
在步骤S26中,计算部2判断在步骤S21至S24中作为当前宏块被处理的宏块是否是构成帧图像的宏块中的最后位置处的宏块。如果判断出该宏块是最后位置处的宏块,则计算部2结束该处理,但是如果判断出该宏块并非最后位置处的宏块,则计算部2返回到步骤S21。
接下来,参考例如图8所示的流程图,对以上步骤中的步骤S21中的可变长度解码处理进行描述。
对于根据图8所示的流程图的处理而言,假定在计算部2中将遵循当前宏块级语法的比特流存储在通用寄存器13中。还假定在计算部2中将可变长度解码表存储在数据高速缓存14中,其中所述可变长度解码表用于将构成比特流的包括大小和代码的信息解码成遵循包括游程长度和级别的语法的信息。在这里,为了方便起见,将包括大小和代码的上述信息设置为第一解码信息,并将根据第一解码信息计算出的遵循包括游程长度和级别的语法的信息设置为第二解码信息。
在步骤S31中,在计算部2中,将当前宏块的第一解码信息中的包括大小/代码对的第一解码信息从通用寄存器13读取至运算单元11和比较/存储器输出控制部22。
在步骤S32中,在计算部2中,比较/存储器输出控制部22参考来自数据存储器部21中的多个行存储器的可变长度解码信息,其中该可变长度解码信息用于将第一解码信息与从运算单元11的先前计算处理获得的第二编码信息相关联。此后,在计算部2中,比较/存储器输出控制部22以多个行存储器为单位同时且并行地将步骤S31中读取的第一解码信息与存储在相应行存储器中的可变长度解码信息进行比较。具体地,比较/存储器输出控制部22从步骤S31中读取的比特流中提取与所述大小一样多的位,并将所提取的位串与所述代码进行比较。
在步骤S33中,在计算部2中,比较/存储器输出控制部22判断:在步骤S32的比较处理中,是否在数据存储器部21中找到了命中步骤S31中读取的第一解码信息的任意可变长度解码信息。如果在该判断步骤中在数据存储器部21中找到了任意这种命中的可变长度解码信息,则计算部2前进到步骤S34,但是如果在该判断步骤中在数据存储器部21中未找到任意这种命中的可变长度解码信息,则计算部2前进到步骤S35。
在步骤S34中,在计算部2中,比较/存储器输出控制部22将与步骤S33的比较处理中命中的可变长度解码信息相对应的第二解码信息存储在通用寄存器13中,并且还如下地更新存储在历史存储器部23中的历史信息。也就是说,历史存储器部23将历史信息中的、与在该处理中存储在通用寄存器13中的第二解码信息相对应的可变长度解码信息的命中计数加1,并且还更新命中率。此后,计算部2前进到步骤S37。
在步骤S35中,在计算部2中,运算单元11通过经由地址解码器15参考存储在数据高速缓存14中的可变长度解码表来搜索与步骤S31中读取的第一解码信息相关联的第二解码信息,并将所搜索到的第二解码信息存储在通用寄存器13中,此后计算部2前进到步骤S36。
在步骤S36中,在计算部2中,行选择/存储器输入控制部24如下地更新存储在数据存储器部21中的信息。换句话说,行选择/存储器输入控制部24将可变长度解码信息存储到数据存储器部21中,其中该可变长度解码信息用于将第一解码信息与步骤S35中的运算单元11的搜索处理中获得的第二解码信息相关联。在这里,在数据存储器部21中无存储容量时,行选择/存储器输入控制部24根据存储在历史存储器部23中的历史信息,而从数据存储器部21删除与具有最低命中率的历史信息相对应的可变长度解码信息,然后将步骤S35中的运算单元11的搜索处理中获得的可变长度解码信息存储到数据存储器部21中。此后,计算部2前进到步骤S37。
在步骤S37中,计算部2判断当前所处理的第一解码信息是否是遵循当前宏块级语法的最后的第一解码信息。当在该判断处理中判断出当前处理的第一解码信息是最后的第一解码信息时,计算部2结束该处理,但是当在该判断处理中判断出当前处理的第一解码信息并非最后的第一解码信息时,计算部2前进到步骤S38。
在步骤S38中,计算部2选择接下来要受到可变长度解码处理的第一解码信息,并返回到步骤S31。
按照上述方式,在计算部2中,仅当在步骤S33中判断出数据存储器部21中未存储根据从通用寄存器13读取的第一编码信息计算出的第二编码信息时,运算单元11才在S35步骤中搜索存储在数据高速缓存14中的可变长度解码表、计算第二解码信息、并将计算出的信息存储在通用寄存器13中。因此,计算部2通过直接搜索可变长度解码表可降低计算第二解码信息的处理的执行频率,从而可减少根据第一解码信息来计算第二解 码信息的整个处理所需的处理时间。
此外,在计算部2中,由于经由步骤S33中的判断处理来执行步骤S34或S35中的任一步骤,并且由于从步骤S31至S38的整个处理是作为一个循环来实现的,因此,与相关技术相比,可减少无损编码处理所需的循环计数。
应该注意的是,在计算部2中,除了上述可变长度解码处理之外,还可将根据例如上述图8所示的流程图的处理应用于以下处理:在该处理中,将在解码处理的中间处理阶段计算出的信息设置为第一解码信息,将根据该第一解码信息计算出的信息设置为第二解码信息,并通过搜索将该第一解码信息与该第二解码信息相关联的表来计算第二解码信息。在下文中,参考例如图9所示的流程图,来详细描述将这种处理应用于在上述解码处理中的步骤S22中执行的逆量化处理的特定示例。
对于根据图9所示的流程图的处理而言,假定计算部2以像素为单位将量化系数和量化值存储到通用寄存器13中。此外,在以下处理中,将使得量化系数与量化值成对的信息设置为第一解码信息,并将逆量化的差分像素数据设置为第二解码信息。
在步骤S41中,在计算部2中,将要处理的像素的第一解码信息从通用寄存器13读取到运算单元11和比较/存储器输出控制部22。
在步骤S42中,在计算部2中,比较/存储器输出控制部22参考来自例如图10所示的数据存储器部21中的多个行存储器的逆量化信息,其中该逆量化信息用于将第一解码信息与根据运算单元11的先前计算的结果获得的第二解码信息相关联。此后,在计算部2中,比较/存储器输出控制部22以多个行存储器为基础同时且并行地将步骤S41中读取的第一解码信息与存储在相应行存储器中的逆量化信息进行比较。
在步骤S43中,在计算部2中,比较/存储器输出控制部22判断在步骤S42的比较处理中是否在数据存储器部21中找到了命中步骤S41中读取的第一解码信息的任意逆量化信息。如果在该判断步骤中在数据存储器部21中找到了任意这种命中的逆量化信息,则计算部2前进到步骤S44,但是如果在该判断步骤中在数据存储器部21中未找到任意这种命中的逆量化信息,则计算部2前进到步骤S45。
在步骤S44中,在计算部2中,比较/存储器输出控制部22将与步骤S43的比较处理中命中的逆量化信息相对应的第二解码信息存储在通用寄 存器13中,并且还如下地更新存储在历史存储器部23中的历史信息。也就是说,历史存储器部23将历史信息中的、与在该处理中存储在通用寄存器13中的第二解码信息相对应的逆量化信息的命中计数加1,并且还更新命中率。此后,计算部2前进到步骤S47。
在步骤S45中,在计算部2中,运算单元11通过以下公式来根据步骤S41中读取的第一解码信息计算第二解码信息,并将计算出的信息存储到通用寄存器13中,然后前进到步骤S46,其中所述公式为:
F=(((QF2)+Sign(QF))×QS)/32
QF是第一解码信息中包括的量化系数,QS是第一解码信息中包括的量化值。此外,F是逆量化的差分像素数据。
在步骤S46中,在计算部2中,行选择/存储器输入控制部24将逆量化信息存储到数据存储器部21中,其中该逆量化信息将第一解码信息与步骤S45中的运算单元11的计算处理中获得的第二解码信息相关联。当数据存储器部21中无存储容量时,行选择/存储器输入控制部24根据存储在历史存储器部23中的历史信息,而从数据存储器部21中删除与具有最低命中率的历史信息相对应的可变长度解码信息,然后将步骤S45中的运算单元11的计算处理中获得的逆量化信息存储到数据存储器部21中。此后,计算部2前进到步骤S47。
在步骤S47中,计算部2判断当前处理的第一解码信息是否是与构成帧图像的最后位置处的像素相关的第一解码信息。如果在判断处理中判断出当前处理的第一解码信息是与最后位置处的像素相关的第一解码信息,则计算部2结束该处理,但是如果判断出当前处理的第一解码信息不是与最后位置处的像素相关的第一解码信息,则计算部2前进到步骤S48。
在步骤S48中,计算部2选择接下来要受到逆量化处理的第一解码信息,并返回到步骤S41。
按照上述方式,在计算部2中,仅当在步骤S43中判断出数据存储器部21中未存储有根据从通用寄存器13读取的第一解码信息计算出的第二解码信息时,运算单元11才在步骤S45中根据第一解码信息来计算第二解码信息、并将计算出的信息存储在通用寄存器13中。因此,计算部2降低了步骤S45中的计算与量化系数和量化值相对应的差分像素数据的处理的执行频率,从而可减少整个逆量化处理的处理时间。
应该注意的是,本发明并不局限于所述实施例,而是显然可以在不背 离本发明的要旨的情况下按照各种方式进行修改。
本领域技术人员应当理解,在所附的权利要求或其等价物的范围之内的情况下,可以根据设计要求及其它因素来进行各种修改、组合、子组合以及变更。
本文献包括与2007年7月25日向日本专利局递交的日本专利申请2007-193518有关的主题,其全部内容通过引用合并于此。
Claims (6)
1.一种用于输出通过对图像数据执行冗余度降低的编码处理而获得的编码数据的编码处理设备,包括:
第一存储装置,用于存储在对图像数据执行的编码处理中计算出的第一编码信息,以及根据第一编码信息计算出的第二编码信息;
第二存储装置,用于存储指示第一编码信息与第二编码信息之间的关联关系的表;
运算装置,用于通过读取存储在第一存储装置中的第一编码信息以及搜索存储在第二存储装置中的表来计算第二编码信息,并将计算出的第二编码信息存储在第一存储装置中;
第三存储装置,用于通过将运算装置先前从第一存储装置读取的第一编码信息与根据所述第一编码信息计算出的第二编码信息相关联来进行存储;
第一控制装置,用于当第三存储装置中存储有与运算装置从第一存储装置读取的第一编码信息相同的信息时,从第三存储装置读取与第一编码信息相关联的第二编码信息,并将该第二编码信息存储到第一存储装置中;以及
第二控制装置,用于当运算装置根据从第一存储装置读取的第一编码信息计算出第二编码信息时,通过将第一编码信息与第二编码信息相关联来在第三存储装置中进行存储,其中:
仅当第三存储装置中未存储有根据从第一存储装置读取的第一编码信息计算出的第二编码信息时,运算装置才执行搜索存储在第二存储装置中的表并计算第二编码信息的处理。
2.根据权利要求1的编码处理设备,其中:
所述第二编码信息是通过执行可变长度编码处理并同时根据第一编码信息的出现频率来分配码长而获得的信息。
3.根据权利要求1的编码处理设备,还包括:
历史存储装置,用于存储与第一控制装置先前从第三存储装置读取第二编码信息相关的历史信息,其中:
当运算装置根据从第一存储装置读取的第一编码信息计算出第二编码信息时,第二控制装置根据存储在历史存储装置中的历史信息来更新存储在第三存储装置中的信息。
4.一种用于输出通过对图像数据执行冗余度降低的解码处理而获得的解码数据的解码处理设备,包括:
第一存储装置,用于存储在对编码数据执行的解码处理中计算出的第一解码信息,以及根据第一解码信息计算出的第二解码信息;
第二存储装置,用于存储指示第一解码信息与第二解码信息之间的关联关系的表;
运算装置,用于通过读取存储在第一存储装置中的第一解码信息以及搜索存储在第二存储装置中的表来计算第二解码信息,并将计算出的第二解码信息存储在第一存储装置中;
第三存储装置,用于通过将运算装置先前从第一存储装置读取的第一解码信息与根据第一解码信息计算的第二解码信息相关联来进行存储;
第一控制装置,用于当第三存储装置中存储有与运算装置从第一存储装置读取的第一解码信息相同的信息时,从第三存储装置读取与第一解码信息相关联的第二解码信息,并将该第二解码信息存储到第一存储装置中;以及
第二控制装置,用于当运算装置根据从第一存储装置读取的第一解码信息来计算第二解码信息时,通过将第一解码信息与第二解码信息相关联来在第三存储装置中进行存储,其中:
仅当第三存储装置中未存储有根据从第一存储装置读取的第一解码信息计算出的第二解码信息时,运算装置才执行搜索存储在第二存储装置中的表并计算第二解码信息的处理。
5.根据权利要求4的解码处理设备,其中:
所述第二解码信息是通过执行可变长度解码处理并同时根据第一解码信息的出现频率来分配码长而获得的信息。
6.根据权利要求4的解码处理设备,进一步包括:
历史存储装置,用于存储与第一控制装置先前从第三存储装置读取第二解码信息相关的历史信息,其中:
当运算装置根据从第一存储装置读取的第一解码信息计算出第二解码信息时,第二控制装置根据存储在历史存储装置中的历史信息来更新存储在第三存储装置中的信息。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007193518 | 2007-07-25 | ||
JP2007193518A JP4631879B2 (ja) | 2007-07-25 | 2007-07-25 | 符号化処理装置 |
JP2007-193518 | 2007-07-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101355702A CN101355702A (zh) | 2009-01-28 |
CN101355702B true CN101355702B (zh) | 2011-06-22 |
Family
ID=40294817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101347184A Expired - Fee Related CN101355702B (zh) | 2007-07-25 | 2008-07-23 | 编码处理设备和解码处理设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7663514B2 (zh) |
JP (1) | JP4631879B2 (zh) |
CN (1) | CN101355702B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11148165B2 (en) * | 2016-02-17 | 2021-10-19 | Wet | Water on wall display |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4999715A (en) * | 1989-12-01 | 1991-03-12 | Eastman Kodak Company | Dual processor image compressor/expander |
JPH06152988A (ja) | 1992-11-02 | 1994-05-31 | Sharp Corp | 可変長符号の復号化装置 |
JP3778375B2 (ja) * | 1995-12-28 | 2006-05-24 | ソニー株式会社 | 可変長符号化方法および装置、並びに可変長復号化方法および装置 |
US7263127B1 (en) * | 1998-04-02 | 2007-08-28 | Intel Corporation | Method and apparatus for simplifying frame-based motion estimation |
JP4810326B2 (ja) * | 2005-07-05 | 2011-11-09 | パナソニック株式会社 | 可変長復号方法及び装置 |
US8139877B2 (en) * | 2006-03-09 | 2012-03-20 | Pioneer Corporation | Image processing apparatus, image processing method, and computer-readable recording medium including shot generation |
JP5003421B2 (ja) * | 2007-11-14 | 2012-08-15 | ソニー株式会社 | 画像処理装置 |
-
2007
- 2007-07-25 JP JP2007193518A patent/JP4631879B2/ja not_active Expired - Fee Related
-
2008
- 2008-07-23 US US12/178,310 patent/US7663514B2/en not_active Expired - Fee Related
- 2008-07-23 CN CN2008101347184A patent/CN101355702B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009033330A (ja) | 2009-02-12 |
JP4631879B2 (ja) | 2011-02-16 |
CN101355702A (zh) | 2009-01-28 |
US7663514B2 (en) | 2010-02-16 |
US20090027240A1 (en) | 2009-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100624432B1 (ko) | 내용 기반 적응적 이진 산술 복호화 방법 및 장치 | |
CN101242531B (zh) | 为小尺寸或全尺寸播放提供独立编码链的视频编码系统 | |
CN101610413B (zh) | 一种视频的编码/解码方法及装置 | |
KR101118089B1 (ko) | 가변장 복호화 장치 및 방법 | |
CN102113328B (zh) | 确定用于比较运动补偿视频编码中的图像块的度量的方法和系统 | |
JP4101034B2 (ja) | 符号化装置及び方法 | |
CN101027910A (zh) | 图像编码装置 | |
CN101682775A (zh) | 运动矢量搜索方法和装置,其程序和记录有程序的记录介质 | |
CN1112654C (zh) | 图像处理装置 | |
CN114745552A (zh) | 视频编解码方法、视频编解码器和电子设备 | |
CN102801982B (zh) | 一种应用于视频压缩且基于块积分的快速运动估计方法 | |
CN101355702B (zh) | 编码处理设备和解码处理设备 | |
CN107925757A (zh) | 对图像进行编码和解码的方法、用于对图像进行编码和解码的设备及其相应的计算机程序 | |
CN100399833C (zh) | 使用最后非零检测电路的高速图像压缩设备 | |
CN103139566A (zh) | 用于可变长度码的高效解码的方法 | |
CN102045558B (zh) | 熵解码方法 | |
US8311091B1 (en) | Cache optimization for video codecs and video filters or color converters | |
JP2006033508A (ja) | 適応型可変長符号化装置、適応型可変長復号化装置、適応型可変長符号化・復号化方法、及び適応型可変長符号化・復号化プログラム | |
CN1964496A (zh) | 编码器及自适应算术编码的实现方法及装置 | |
CN103597828A (zh) | 图像量化参数编码方法和图像量化参数解码方法 | |
Sodsong et al. | JParEnt: Parallel entropy decoding for JPEG decompression on heterogeneous multicore architectures | |
US9407918B2 (en) | Apparatus and method for coding image, and non-transitory computer readable medium thereof | |
US20180199067A1 (en) | Keyframe-based video codec designed for gpu decoding | |
CN110392262A (zh) | 一种压缩虚拟桌面图像的方法及装置 | |
CN101188753B (zh) | 一种视频熵解码查找表的构造方法及视频熵解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110622 Termination date: 20120723 |