CN103686173A - 变换与反变换电路 - Google Patents

变换与反变换电路 Download PDF

Info

Publication number
CN103686173A
CN103686173A CN201410009494.XA CN201410009494A CN103686173A CN 103686173 A CN103686173 A CN 103686173A CN 201410009494 A CN201410009494 A CN 201410009494A CN 103686173 A CN103686173 A CN 103686173A
Authority
CN
China
Prior art keywords
circuit
inverse
data
inverse quantization
dimensional transform
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.)
Granted
Application number
CN201410009494.XA
Other languages
English (en)
Other versions
CN103686173B (zh
Inventor
李强
李菊梅
席迎来
苏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
KY WIRE ELECTRIC CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KY WIRE ELECTRIC CO Ltd filed Critical KY WIRE ELECTRIC CO Ltd
Priority to CN201410009494.XA priority Critical patent/CN103686173B/zh
Publication of CN103686173A publication Critical patent/CN103686173A/zh
Priority to US14/458,524 priority patent/US9918088B2/en
Application granted granted Critical
Publication of CN103686173B publication Critical patent/CN103686173B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • H04N19/436Methods 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 using parallelised computational arrangements

Abstract

本发明提供一种变换与反变换电路,包括:量化反量化电路和一维变换电路。量化反量化电路包括至少一个量化反量化单元,每个量化反量化单元包括多个第一系数,所述每个量化反量化单元对多路输入数据中的一路输入数据进行量化或反量化。一维变换电路,与所述量化与反量化电路相耦合,所述一维变换电路包括多个第二系数,所述一维变换电路对经所述量化反量化电路处理的数据进行一维变换,所述多个第一系数和所述多个第二系数根据视频编解码标准来设定。

Description

变换与反变换电路
技术领域
本发明涉及视频处理,特别涉及能够满足多种视频实时编解码标准的量化与反量化电路以及变换与反变换加速电路及其实现方法。
背景技术
在日常生活中,视频编解码器的应用非常广泛。例如在DVD中,在VCD中,在各种卫星和陆上电视广播系统中,在互联网上。在线的视频素材通常是使用很多种不同的编解码器进行压缩的,为了能够正确地浏览这些素材,用户需要安装相应的编解码器。输入的视频图像通常被分割为宏块分别进行编码,宏块的大小通常是16x16的亮度块信息和对应的色度块信息。然后使用分块的运动补偿从已编码的帧对当前帧的数据进行预测。之后,使用块变换或者子带分解来减少空域的统计相关性。变换的输出系数接下来被量化,量化后的系数进行熵编码并成为输出码流的一部分。再通过对系数进行编码得到一个符号。这时候的熵编码通常使用变长编码。解码基本上执行和编码的过程完全相反的过程。其中不能被完全恢复原来信息的步骤是量化。这时候,要尽可能接近的恢复原来的信息,这个过程被称为反量化。
现今市面上的视频编解码系统已广泛使用各种视频压缩标准,例如是H.264、VP8及Real Video等视频编解码标准。然而,视频编解码系统的逻辑门电路数量相当庞大,且现有的视频编解码系统仅能针对某一种视频编解码标准进行处理,灵活度不足。
有鉴于是此,本领域需要一种可有效利用逻辑门电路以减少芯片面积且能灵活兼容多种视频编解码标准的视频编解码系统。
发明内容
本发明提供一种变换与反变换加速电路,能够克服现有技术中逻辑电路的面积过大,并且对多种视频编解码标准不兼容的缺点,适用于支持多种视频编解码标准的视频编解码系统。
本发明提供一种变换与反变换电路,包括:量化反量化电路和一维变换电路。量化反量化电路包括至少一个量化反量化单元,每个量化反量化单元包括多个第一系数,所述每个量化反量化单元对多路输入数据中的一路输入数据进行量化或反量化。一维变换电路,与所述量化与反量化电路相耦合,所述一维变换电路包括多个第二系数,所述一维变换电路对经所述量化反量化电路处理的数据进行一维变换,所述多个第一系数和所述多个第二系数根据视频编解码标准来设定。
本发明还提供了一种变换与反变换方法,包括:使用量化反量化电路对输入数据进行量化或反量化,所述量化反量化电路包括至少一个量化反量化单元,每个量化反量化单元包括多个第一系数,所述每个量化反量化单元对多路输入数据中的一路输入数据进行量化或反量化;以及使用一维变换电路经所述量化反量化电路处理的数据进行一维变换,所述一维变换电路包括多个第二系数,所述多个第一系数和所述多个第二系数根据视频编解码标准来设定。
本发明的量化与反量化加速电路、以及变换与反变换加速电路可以灵活配置。对于逻辑门电路面积受限的系统来说,可利用本发明以最少一个一维变换电路即可支持所有的变换与反变换运算。对于速度要求高的系统,可以适当增加一维变换电路的数量来实现并行运算。由于本发明同时支持视频编码和视频解码,从而提高了加速器的利用率。另外,本发明使用4x4的寄存器阵列,实现行列的任意转置;利用一个宏块内有多个子块的特点,使用ping-pong buffer对变换、量化进行流水处理,对反量化、反变换也进行流水处理,使各个子块的处理更为快速;使用一个27位的nz_flag,使每个子块是否有残差数据变得简单明了。
附图说明
图1是依据本发明一实施例的视频编解码器的方块图。
图2是依据本发明一实施例中进行变换及量化流程的结构示意图。
图3是依据本发明一实施例中变换与反变换加速电路123进行操作的流程图。
图4A是依据本发明一实施例的量化反量化电路的功能方块图。
图4B是依据本发明一实施例的量化反量化电路处理Real Video解码的系数定义的示意图。
图5A~5G是依据本发明一实施例的满足不同视频编解码标准的一维变换电路的结构图。
图6是依据本发明一实施例中的已整合的一维变换电路的结构示意图。
图7是依据本发明一实施例的调整顺序电路的结构图。
图8是依据本发明一实施例的加法与移位电路的结构图。
图9A-9C是依据本发明一实施例的H.264标准的宏块中的残差子块的处理顺序的示意图。
图10是依据本发明一实施例的非零标记的示意图。
具体实施方式
A.系统架构
图1为显示依据本发明一个实施例的视频编解码器的方块图。视频编解码系统100包括处理单元110、编解码模块120及外部存储单元130。在进行视频编解码时,例如H.264/AVC或VC-1等视频压缩标准,处理单元110为控制器,用以执行硬件加速器控制程序(hardware accelerator control program),并执行熵解码程序(entropy decoding program)及解码参数计算程序(decodingparameters calculating program)等解码预处理(pre-processing)程序及解码后处理(post-processing)程序。举例来说,处理单元110可以是中央处理器(CPU)、数字信号处理器(DSP)或其它可实现相同功能的等效电路。编解码模块120包括硬件加速器控制器121、变换与反变换加速电路(transform&inversetransform acceleration circuit)123、编解码单元124以及内部存储单元140。在一实施例中,编解码模块120可分成硬件编解码单元或软件编解码单元两部分(未示出),变换与反变换加速电路123是利用数字电路或硬件来实现视频编解码中的变换及反变换流程中的各功能,例如:H.264编码中的4x4DCT正变换与反变换、4x4的Hadamard变换与反变换、2x2的Hadamard变换与反变换及量化与反量化;H.264解码中的量化与反量化、4x4DCT变换与反变换IDCT、4x4的Hadamard变换与反变换、2x2的Hadamard变换与反变换;VP8编解码中的量化与反量化、4x4的变换与反变换(IDCT)、4x4的Walsh-Hadamard变换与反变换;以及Real Video:RV8、RV9、RV10编解码中的量化与反量化、4x4变换与反变换、二次4x4变换与反变换。
另外,编解码单元124可以是硬件或数字信号处理器软件。举例来说,编解码单元124用于处理视频编解码的运动估计(motion estimation)、运动补偿(motion compensation)、帧内预测(infra-frame prediction)、环路去块滤波(loopde-blocking filter)等功能。而上述运动估计、运动补偿、帧内预测及环路去块滤波等功能可使用现有技术以硬件或软件实施,在此不再累述。
为便于说明,图1中的编解码模块120内的硬件加速器控制器121、变换与反变换加速电路123及编解码单元124以硬件实现的方式描述。本发明的处理单元110及编解码模块120的硬件组件采用帧级流程控制(frame levelflow control),其表示当编解码模块120的硬件组件对当前帧(current frame)进行解码时,处理器则对下一帧(next frame)进行解码。而本发明的编解码模块120之间的各组件,可全为硬件,或是软硬件结合的数据处理采用宏块层流水线控制(macroblock level flow control)。外部存储单元130用以存储参考帧(reference frame)、重建帧(reconstructed frame)、解码参数及持续长度限制码(run-length limited code,RLL code)。外部存储单元130可为易失性内存组件,例如随机存取内存组件RAM,例如DRAM、SRAM等等,以及非易失性内存组件,例如ROM、CDROM等等,中任一者或是两者的组合。外部存储单元130可包括重建帧/参考帧模块131、解码参数模块132、RLL码模块133、编码参数模块134。
在一实施例中,处理单元110包括硬件加速器控制器111、解码预处理器112、编码后处理器113。处理单元110的硬件加速器控制器111可控制编解码模块120中的各组件。处理单元110先设定与硬件加速器控制器121相关的寄存器(Register),并检查其设定是否正确,接着启动编解码模块120开始对当前帧进行解码。处理单元110需要先申请及注册DMA信道,并检查DMA通道的状态,设定与DMA控制器相关的缓存器以启动DMA控制器,图1未示出。当处理单元110启动编解码模块120及DMA控制器后,编解码模块120开始进行解码。需注意的是,编解码模块120与处理单元110之间为帧层流水线控制,在硬件加速器结束每一当前帧的解码之前,处理单元110软件已预先执行解码程序,例如程序代码,以处理下一帧的熵解码及解码参数的计算。上述解码程序可检测硬件编解码单元是否已完成当前帧的解码,当编解码模块120尚未完成当前帧的解码,则处理单元110的控制权会先交给其它优先级较高的就绪程序。更详细地说,当编解码模块120完成当前帧的解码后,硬件加速控制器121产生中断信号(interrupt signal),处理单元110所执行的中断服务程序会指派给解码程序一个解码完成的事件,此时解码程序会重新取得处理单元110的控制权并继续处理下一帧。
在一实施例中,处理单元110还可执行编码后处理程序。举例来说,编码后处理程序可包括熵编码程序(entropy coding program)及码率控制程序(ratecontrol program)。举例来说,如图1所示,编码后处理程序中的熵编码程序可由外部存储单元130中读取编码参数及RLL码进行,并输出一帧图像的编码流。码率控制程序会根据当前帧(current frame)的编码结果、总码率(total bitrate)以及帧率(frame rate))计算出下一帧的量化系数(quantization coefficients),最后对硬件加速器输出的重建帧(reconstructed frame)进行边缘扩展,用于下一帧的运动估计。
在另一实施例中,处理单元110还可进行解码预处理,例如是熵解码及计算解码控制参数等。处理单元110对视频比特流进行熵解码,并计算边缘强度等滤波参数,处理单元110将所计算出的解码参数及持续长度限制码(Run-length limited code,RLL code)输出至外部存储单元130,例如外部存储器。
在一实施例中,内部存储单元140包括残差宏块缓冲器141、运动补偿参考宏块缓冲器142、第一先进先出寄存器143、重建宏块缓冲器144、扫描缓冲器145、第二先进先出寄存器146、以及变换及反变换缓冲器147。残差宏块缓冲器141存储用于运动补偿的宏块的残差值。运动补偿参考宏块缓冲器142存储参考像素,用以进行运动补偿。第一先进先出寄存器143存储解码参数。重建宏块缓冲器144存储经由运动补偿所产生的重建宏块以及经过环路滤波后所产生的滤波宏块,且编译码单元124由重建宏块缓冲器144中读取编解码单元124所产生的重建宏块,并进行环路滤波,再将滤波宏块写回重建宏块缓冲器144。扫描缓冲器145用以存储变换与反变换加速电路123的输入数据,例如,进行正变换时,该输入数据为宏块的残差值;进行反变换时,该输入数据为经过熵解码后的残差值,例如反向可变长度解码inversevariable length coding。第二先进先出寄存器146存储持续长度限制码(RLL码),以供变换与反变换加速电路123使用。变换及反变换缓冲器147存储变换与反变换加速电路123的输出值。
硬件加速器控制器121由第一先进先出寄存器143中读取解码参数,设定并管理编解码模块120中的各组件。当硬件加速器控制器121由编解码模块120中的硬件,例如编解码单元124,接收到由硬件加速控制器121提供的完成宏块解码的中断信号,会从第一先进先出寄存器143中读取解码参数并设定编解码模块120,并依据解码状态启动硬件加速器以开始对下一个宏块进行解码。当编解码模块120的硬件完成一帧图像的解码,硬件加速器控制器121会产生一中断信号并发送到处理单元110。另外,硬件加速器控制器121还将运动补偿所使用的参考宏块由外部存储单元130复制到内部存储单元140。
B.变换及量化的流程的实施架构
B-1.编码与解码流程的实现
本发明能够兼容多个视频编解码标准,根据多种变换、量化的特点,将它们合并到一种架构中,从而有效减少门电路的面积。在一个实施例中,至少可以兼容以下标准,例如:H.264编码中的4x4DCT正变换与反变换、4x4的Hadamard变换与反变换、2x2的Hadamard变换与反变换及量化与反量化;H.264解码中的量化与反量化、4x4DCT变换与反变换IDCT、4x4的Hadamard变换与反变换、2x2的Hadamard变换与反变换;VP8解码中的量化与反量化、4x4的变换与反变换(IDCT)、4x4的Walsh-Hadamard变换与反变换;以及Real Video(RV8、RV9、RV10)解码中的量化与反量化、4x4变换与反变换、二次4x4变换与反变换。
图2显示依据本发明一实施例中进行变换及量化流程的结构示意图。在本实施例中,编解码模块120读取来自处理单元110解码的结果或其它加速器的输出,进行变换-量化或反量化-反变换操作,完成后把结果送给处理单元110或其它硬件加速器做进一步处理。
如图2所示,图1中变换与反变换加速电路123可包括量化反量化电路202及214、一维变换电路204及208,调整顺序电路206及210、加法与移位电路212以及寄存器阵列(register array)220。其中寄存器阵列220是一个4x4像素16位寄存器阵列(Register Array),用以进行变换及反变换过程中的暂存数据的行列转置。
本发明的实施例不仅能够在一个流程中完成二维变换,以提高处理效率,同时还可以使用一个系统完成多种编解码标准的量化与反量化。
首先,在编码程序中,根据数据所使用的标准,量化反量化电路202先对输入数据进行量化处理,如果为H.264编码,或是H.264解码且为Hadamard变换时,则可忽略量化反量化电路202。在变换程序中,根据相应的标准,将量化反量化电路202的系数设置为量化的系数,具体设置方法将在下文中参照图4描述。接着,一维变换电路204读取一行数据,并执行一维变换,例如一维行变换。在上述的多个标准中,对于二维的DCT或Hadamard变换等等二维变换,将其拆分成两个一维的变换,对于H264的2x2的Hadamard变换,将其转换为一个一维1x4的变换。具体的一维变换方式将在下文中进行描述。其后,调整顺序电路206根据不同的标准调整一维变换后的数据的输出顺序,并将上述数据存储在寄存器阵列220中。需注意的是,以一个4x4宏块来说,变换与反变换加速电路123需要进行4次一维行变换,或是一维列变换,才能完成整个4x4宏块中的各行的一维行变换。换句话说,当变换与反变换加速电路123已重复4次一维行变换,或是一维列变换之后,可接着进行一维列变换或是一维行变换从而完成二维变换。需注意的是,当变换与反变换加速电路123进行一维行变换时,是以由左至右的方式将数据写入寄存器阵列220,而在进行一维列变换时,则是由上而下一次读取一列的4笔数据进行运算,可以保持读写同步进行。
这里具体描述寄存阵列220在一维变换中的读写方式,寄存器阵列220输入输出共有两种方式,其中的读写是同步进行的,因为寄存器阵列220是4x4的,所以,第一次,调整顺序电路206以行的方式写入四行像素,如图2中寄存器阵列220左侧的四个横向箭头所示。当这四行像素都写入之后,在寄存器阵列220中有一个4x4的数据阵列。之后将这个4x4的数据阵列以列的方式读出到一维变换电路208中,如图2中寄存器阵列220上方的四个横向箭头所示。之后,由调整顺序电路206以列的方式诸列写入,如图2中寄存器阵列220下方的四个横向箭头所示。当写满4列后,在寄存器阵列220中又有一个4x4像素的数据阵列,此时,再以行的方式读出到一维变换电路208中,如图2中寄存器阵列220右侧的四个箭头所示。这时,再次由调整顺序电路206以行的方式将像素写入寄存器阵列220,以上循环,直到一个宏块中所有的像素都处理完为止。从寄存器220输入到一维变换电路208的数据将完成第二次一维变换。因此,当一个4x4宏块经过完整的一维行变换及一维列变换之后,即可得到上述4x4宏块的二维变换结果。在一个实施例中,一维变换电路204和一维变换电路208为同一个模块。在其他实施例中,也可以使用不同的电路模块分别实现。从而,通过使用寄存器阵列并且两次在一维变换电路进行变换,本发明能够实现对像素的二维变换。
承上述实施例,一维变换电路208输出的数据即为经过两次一维变换的数据,将该数据输入到调整顺序电路210。调整顺序电路210再次根据不同的标准对数据进行调整。需要注意的是,如果是对于H264的2x2的Hadamard变换,由于可将其作一次1x4的一维变换就可实现,所以仅需要经过一维变换电路204和调整顺序电路206即可得到其变换结果。从而对于H264的2x2的Hadamard变换,可以省略一维变换电路208和调整顺序电路210。还需要注意的是,在一个实施例中,调整顺序电路210与调整顺序电路206可为同一电路,并将一维列变换的结果调整顺序;在另一实施例中,调整顺序电路210与调整顺序电路206可使用不同的电路模块实现。
接着,加法与移位电路212按照不同的标准,对上述调整顺序后的数值进行加法与移位运算,至此,就完成了编码的过程,并得到了编码后的数据。
在解码的过程中,数据按照从右向左的顺序流经图2中的各个部件。数据首先通过量化与反量化电路214,此时电路214的各个系数设置为反量化的系数,具体的设置方法将在下文中参照图4描述。需要注意的是,在变换的过程中,不需要使用量化反量化电路214。在一个实施例中,由于变换和反变换不会同时进行,所以量化反量化电路214与量化反量化电路202可为同一电路,在编码程序中将其系数设置为量化的系数,而在解码的程序中将其系数设置为反量化的系数。在其他实施例中,可以用不同的电路模块来分别实现量化电路与反量化电路。
其后,数据继续通过加法与移位电路212、调整顺序电路210、一维变换电路208、寄存器阵列220、调整顺序电路206以及一维变换电路204,即可获得解码数据。其中一维变换电路208和204可以为同一电路模块,其中的系数根据所使用的标准设置为反变换的系数。在解码的过程中不需要使用量化与反量化电路202。
除此之外,对于编码和解码的运算来说,数据在进入变换与反变换加速电路123之前,保存在输入存储单元(图中未示出)中,在完成编码和解码后将保存在输出存储单元(图中未显示)中。由于编码与解码都是一个宏块接着一个宏块地进行,所以上述输入及输出存储单元均采用乒乓缓冲器(ping-pong buffer)的结构(图中未示出),当对一个宏块进行操作时,将下一个宏块存储在乒乓缓冲器中,从而实现电路之间的流水处理。
另外,图2的变换与反变换加速电路123之中的量化反量化电路202及204、一维变换电路204及208,调整顺序电路206及210、以及加法与移位电路212的细节将在下文中参照图3详述。
图3是显示依据本发明一实施例中变换与反变换加速电路123进行编码操作的流程图。请同时参考图2及图3。简单来说,图3的流程是为了更清楚地说明图2中变换与反变换加速电路123的架构的运作方式。变换与反变换加速电路123由量化反量化电路202对输入的一行四个数据进行量化,(步骤S302)请注意由于图3是编码流程,所以此处的量化反量化电路202中使用量化的系数,如果在解码的操作中,则此处省略这一步骤。接着一维变换电路204根据所使用的编码标准对量化之后的一行数据进行一维行变换(步骤S304)。调整顺序电路206再根据编码标准的需要对一维行变换后的结果调整顺序(步骤S306),并将调整顺序后的4个结果写入寄存器阵列220的一列(步骤S308)。需注意的是,在步骤S309,变换与反变换加速电路123会判断步骤S302至S308是否已重复4次。如果是,才能完成一个4x4宏块的所有行的一维行变换,从而,寄存器阵列220中保存有4列16个数据,并执行步骤S310。如果否,则回到步骤S302。
当步骤S302至S308已重复4次后,一维变换电路208则可由寄存器阵列220中读取一列数据(步骤S310),并对所读取的该列数据进行一维列变换(步骤312)。接着,调整顺序电路210根据编码标准对一维列变换的结果调整顺序(步骤S314),并由加法与移位电路212根据标准对调整顺序后的结果进行加法及移位运算(步骤S316)。最后,变换与反变换加速电路123将加法及移位运算后的结果,即该列的编码后结果写入输出缓存器(步骤S318)。注意到,编码的过程中没有量化与反量化电路214,而如果在解码的流程中,则在最后还需要对数据进行反量化。在步骤S319,变换与反变换加速电路123会判断步骤S310至S318是否已重复4次。如果是,即表示已完成一个4x4宏块所有列的一维列变换,即搭配上述的维行变换,可表示已完成一个4x4宏块的二维变换。如果否,则回到步骤S310。
B-2.量化及反量化的实现
图4A是显示依据本发明一实施例的量化反量化电路的功能方块图。图4B是显示依据本发明一实施例的量化反量化电路处理Real Video解码的系数定义的示意图。请同时参考图2及图4A-4B。
如图4A所示,量化反量化电路202可同时处理4路输入,也可以根据逻辑电路的资源选择使用1~4路。对于视频编码流程来说,由于离散余弦变换DCT时可以一次输出4个系数,因此可使用4路输入以提高运算效率。然而,对于视频解码流程来说,变长度解码(variable length decoding)及反扫描对系数是逐个处理的,因此可使用1路输入以节省逻辑电路的资源。
如图4A所示,在本发明一个实施例中,将编码和解码电路集成在一个电路中,从而,多路选择器408及409的控制信号MUX1的定义为:MUX1=0,适用于编码,选择上面一路a;MUX1=1,适用于解码,选择下面一路b。其中控制信号MUX1可来自硬件加速器控制器121。由于本发明的一个实施例中是4路输入同时处理,所以,图4A中量化与反量化电路中存在四路相同的量化单元,每一路中的操作和系数都是相同的。本发明不局限于此,依据本发明的思想,根据实际电路的需要,可以设计更多路或更少路的量化单元。
表1中定义了量化反量化电路202及214在不同视频编解码标准之下的各种量化反量化系数,例如DCT变换及反变换的系数、Hadamard变换及反变换的系数、RV9亮度/色度反变换系数等等,详细内容请参考表1的内容。
Figure BDA0000454897030000101
Figure BDA0000454897030000111
表1
举例来说,表1中最左边一列就是图4A中各个多工器所使用的表格索引,输入相应的索引号,即选择了对应的标准中的系数。表1中的系数c1中所使用的查询表是由相关的视频编解码标准或参考代码所得出,意即可在表1中查询目前量化反量化电路202所进行的运算的适用范围,并由表1中取出相应的c1系数。另外,需要说明的是,chroma_QP_map指标准中所定义的chroma_QP_map_AC,交流系数所使用,或是chroma_QP_map_DC,直流系数所使用。除此之外,对于Real Video解码中的二次反变换的前三个系数定义如图4B所示,意即在4x4矩阵中的C0、C1及C2位置的数值。
更进一步而言,表1中的其它系数定义如下:系数QP表示量化因子,例如在H.264标准中,QP表示亮度量化因子,QPc表示色度量化因子,且i、j表示该系数在4x4矩阵中所在的位置索引。
在表1中的系数c1字段中的Q_rem的定义如下:
Q_rem=QP%6(H264亮度);或
Q_rem=QPc%6(H264色度)。
在表1中的系数s1字段的Q_per定义如下:
Q_per=QP/6(H264亮度);或
Q_per=QPc/6(H264色度)。
在表1中的系数c2及s2字段的qbits及offset定义如下:
qbits=15+floor(QP/6),其中floor(x)表示返回小于或者等于x的最大整数。
对于帧内宏块,offset值为2qbits/3;
对于帧间宏块,offset值为2qbits/6。
需注意的是,上述offset值的计算方式均是H.264标准中已定义的。表1是根据本发明所涉及的各个标准总结而成,本领域的技术人员很容易通过表1及上面的描述对图4A中的量化反量化电路进行设置。
举例来说,在变换过程中,以H264编码DCT变换为例,四路输入信号x0’,x1’,x2’以及x3’进入量化电路。从而多工器401、402、403、404中,表格索引为(0000),即表1中H264编码DCT变换的索引,则H264编码DCT变换的系数c1,c2,s1,s2就会进入量化电路。坐标索引(QP,i,j)为目前处理宏块中数据的类型和坐标,系数c1的确定需要类型和坐标信息,即,该数据是亮度数据还是色度数据,该数据在宏块中的坐标位置。以其中的一路数据x0’为例,首先多路选择器408和409按照编码的方式,MUX1=0,选择上面一路a,从而,绝对值电路405对x0’进行取绝对值操作。然后|x0’|的数据在乘法器406中与系数c1相乘,按照表1,在H264编码DCT变换中,c1为quant_coef[Q_rem,i,j],c1的值与数据的类型和位置有关。之后,再将|x0’|quant_coef[Q_rem,i,j]右移s1,在H264编码DCT变换中s1为0,之后在加法器407中再加入系数c2,即offest,如上所述offest的值取决于宏块在帧内还是帧间。之后,再右移s2,即q比特。最后,由于多工器409选择了编码,即上面一路a,所以得出的数据进行变号处理,此处需要说明的是,由于在405对数据做了绝对值处理,所以最后再变号处理中,恢复原有的数据符号,即正数或负数。最终得到量化后的数据x0。
本领域的技术人员可以按照表1和图4A-4B对各种编码的量化反量化电路进行设置,在此不再累述。
B-3.一维变换反变换的实现
图5A~5G是显示依据本发明一实施例的满足不同视频编解码标准的一维变换电路的结构图。举例来说,如果针对H.264视频编解码标准,共有4种不同的电路模式,例如图5A为H.264标准的一维DCT正变换的电路结构;图5B为H.264标准的一维DCT反变换的电路结构;图5C为H.264标准的一维Hadamard正变换和反变换的电路结构,可用于4x4的亮度块;第5D图为H.264标准的二维Hadamard正变换和反变换的电路结构,可用于2x2的色度块。需注意的是,图5D中的H.264二维Hadamard变换是指将2x2色度块的二维变换直接经过运算得到,而不必再像4x4亮度块需拆解成一维行变换及一维列变换分别运算。
以Real Video及VP8标准为例,共有3种不同的电路模式,例如图5E为RealVideo标准的一维DCT反变换;图5F为VP8标准的一维DCT反变换;图5G为VP8标准的Walsh-Hadamard正变换与反变换。在图5A~5G中y0~y3即为一维变换或反变换的输入数值,x0~x3即为一维变换或反变换的输出数值,y0'~y3'为进行一维变换或反变换所产生的中间数值,且操作数OP1、OP2、OP3及OP4即表示可利用不同变换之间的数值特性而定义的系数值。本发明的一维变换电路已事先将不同视频编解码标准所需的系数值及运算关系设定至一维变换电路之中。因此,如果要进行某个视频编解码标准的一维变换或反变换,则可通过图5A~5G所相应的电路以得到一维变换或反变换的结果。操作数OP1、OP2、OP3及OP4的定义如表2所示:
Figure BDA0000454897030000131
表2
其中,如果操作数OP1~OP2在表2中的字段是空白的,即表示在该视频编解码标准中不需要对应的操作数。举例来说,在图5A中仅使用到操作数OP4,则在表2中的H.264一维DCT正变换的字段中仅有操作数OP4的数值,即右移一位。在图5E中,使用到操作数OP1、OP2及OP3,在表2中的Real Video一维反变换的字段中则会有操作数OP1、OP2及OP3的数值。
上述的图5A~5G以及表2中所描述的算法是本领域的常规做法,本领域技术人员能够通过图5A-5G来求解相应的一维变换,在此不再累述。
图6是显示依据本发明一实施例中的已整合的一维变换电路的结构示意图。更进一步而言,为了减少逻辑门电路的数量,本发明可将图5A~5G中的所有变换及反变换电路整合在一起,以得到一个可适用于H.264/RealVideo/VP8等标准的一维变换电路600,如图6所示。其中,图6的操作数OP1、OP2、OP3及OP4的定义同样可参考表2。从而,可以仅设计并使用一个一维变换电路,仅通过设置不同的系数来对使用上述多种标准的任意数据进行一维变换或者反变换,这样可以有效减少门电路的面积。
由于本发明的一个实施例中是4路输入同时处理,所以,图6中一维变换电路中存在四路变换单元,每一路中的操作和系数都是按照标准设置的。本发明不局限于此,依照本发明的精神,根据实际电路的需要,可以设计更多路或更少路的一维变换单元。
B-4.调整顺序电路的实现
图7是显示依据本发明一实施例的调整顺序电路的结构图。在图5D和5G中可以看出,H264二维Hadamard变换以及VP8一维Walsh-Hadmard的输出与输入的顺序不同。举例来说,在图4D的264二维Hadamard变换中,四路输入信号y0,y1,y2,y3经过一维变换之后,其输出的四路信号依次为x0,x2,x3,x1。所以,需要对输出信号调整顺序,使其依次变为x0,x1,x2,x3。同理,图5G中的VP8一维Walsh-Hadmard经过一维变换电路之后的输出也需要调整顺序。而其他的标准则可以按顺序输出。为了兼容上述各种标准,本发明加入了调整顺序电路206和210,如上文所述,这两个电路可以采用一个模块来完成。如图7所示,调整顺序电路206的输入数值x0″~x3″与输出数值x0′~x3′是由多个多程序器控制。而上述多程序器的控制信号均为MUX2,其中控制信号MUX2可来自硬件加速器控制器121,且控制信号MUX2的定义如表3所示:
Figure BDA0000454897030000141
Figure BDA0000454897030000151
表3
如表3所示,如果正进行H.264的二维Hadamard变换运算,则控制信号为00。如果正进行VP8的一维Walsh-Hadamard变换运算,则控制信号MUX2则为11。除了上述两种情况外,意即控制信号MUX2为01或10时,输出数值均等于输入数值。更进一步而言,不同一维变换及反变换,例如DCT、Hadamard、Walsh-Hadamard变换,的运算所产生的部分中间数值或结果在数学上是具有特定关系的,因此通过本发明的适当安排可使用较少的逻辑门电路以充分使用一维变换及反变换运算所得的数值。
由于本发明的一个实施例中是4路输入同时处理,所以,图7中调整顺序电路中存在四路调整顺序单元,每一路中的操作和系数都是按照标准设置的。本发明不局限于此,依照本发明的思想,根据实际电路的需要,可以设计更多路或更少路的调整顺序单元。
B-5.加法与移位电路的实现
图8是显示依据本发明一实施例的加法与移位电路的结构图。根据多种视频编解码标准,在变换之后还需进行加法与移位,本发明将多个标准的加法与移位电路进行整合,从而减少逻辑电路的面积。图8所示,加法与移位电路212中的加法器是将系数a1分别与输入数值x0′~x3′相加,并依据系数s1将相加后的结果进行右移,以得到输出数值x0~x3。而系数a1及s1的定义如表4所示:
Figure BDA0000454897030000152
Figure BDA0000454897030000161
表4
举例来说,如果一维变换电路正在进行H.264一维DCT反变换,则系数a1及s1分别为32及6。如果一维变换电路正在进行H.264二维Hadamard变换,则可跳过此加法及移位电路,意即此时加法及移位电路的输出数值x0~x3等于输入数值x0′~x3′。
由于本发明的一个实施例中是4路输入同时处理,所以,图8中电路中存在四路单元,每一路中的操作和系数都是相同的。本发明不局限于此,依照本发明的思想,根据实际电路的需要,可以设计更多路或更少路的单元。
B-6.非零标记(nz-flag)的定义
图9A-9C为显示依据本发明一实施例的H.264标准的宏块中残差子块的处理顺序的示意图。图10为显示依据本发明一实施例的非零标记的示意图。由于在视频数据的编码和解码中,如果能够知道一个宏块中有哪些宏块中有非零数据而哪些宏块中的数据都是零,则可以仅对非零数据进行编码,而省略对都是零的数据进行编码,并从而大大降低计算量,所以,在本发明中设置非零标记。如图9A-9C所示,由于一个16x16宏块最多可具有27个子块,包含亮度块及色度块。例如图9A是对应该16x16宏块的亮度块,图9B及9C是对应该16x16宏块的色度块。本领域技术人员应该理解,该16x16宏块有三个DC子块,标记为0、1、2的三个子块,以及24个非DC子块,除了0、1、2之外的其它子块,在此不再累述。对于每个子块是否有非0的残差数据,本发明采用一个27位的参数nz_flag[0:26],如图10所示。如果对应的位为1,则表示相应的子块具有非0的残差数据。反过来说,如果对应的位为0,则表示相应的子块的残差数据全部为0。对于没有非0残差数据的子块,可跳过其编码和解码的操作。需要说明的是,图9是参考H.264标准。对于Real Video及VP8标准来说,标记为1及2的子块并不存在。
综上所述,本发明提出一种能够满足多种视频编解码标准的实时编解码的量化与反量化加速电路、以及变换与反变换加速电路,上述加速电路可以应用于软硬件结合(处理器+硬件加速器)的视频编解码系统中。以H.264/AVC(Baseline Profile)为例,本发明可以在低频率及低功耗的情况下实现1080P15fps的编码或1080P30fps的解码。当系统频率及频宽得到提升,本发明更可实现更高的分辨率及帧速度图像的编码或解码。除此之外,本发明的量化与反量化加速电路、以及变换与反变换加速电路可以灵活配置。对于逻辑门电路面积受限的系统来说,可利用本发明以最少一个一维变换电路即可支持所有的变换与反变换运算。对于速度要求高的系统,可以适当增加一维变换电路的数量来实现并行运算。由于本发明同时支持视频编码和视频解码,从而提高了加速器的利用率。另外,本发明使用4x4的寄存器阵列,实现行列的任意转置;利用一个宏块内有多个子块的特点,使用ping-pongbuffer对变换、量化进行流水处理,对反量化、反变换也进行流水处理,使各个子块的处理更为快速;使用一个27位的nz_flag,使每个子块是否有残差数据变得简单明了。
本发明虽以优选实施例公开如上,然其并非用以限定本发明的范围,本领域技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视所附权利要求书界定范围为准。

Claims (12)

1.一种变换与反变换电路,包括:
量化反量化电路,所述量化反量化电路包括至少一个量化反量化单元,每个量化反量化单元包括多个第一系数,所述每个量化反量化单元对多路输入数据中的一路输入数据进行量化或反量化;以及
一维变换电路,与所述量化与反量化电路相耦合,所述一维变换电路包括多个第二系数,所述一维变换电路对经所述量化反量化电路处理的数据进行一维变换,
所述多个第一系数和所述多个第二系数根据视频编解码标准来设定。
2.根据权利要求1所述的变换与反变换电路,其中:
所述量化反量化单元包括:至少一个第一多工器,取绝对值模块,变号器,以及第一查找表,其中,所述至少一个第一多工器根据所述一路输入数据以及所述视频编解码标准来对所述取绝对值模块、所述变号器进行取舍,以及根据第一查找表以及所述视频编解码标准对所述第一系数进行设置;
所述一维变换电路包括第二查找表,所述一维变换电路根据所述第二查找表和所述视频编解码标准来设置所述多个第二系数,并对经所述量化反量化电路处理的数据进行一维行变换或者一维列变换;以及
所述视频编解码标准包括:H.264标准中的4x4一维DCT正变换及反变换、4x4Hadamard变换、2x2Hadamard变换、VP8标准中的4x4DCT反变换、4x4Walsh-Hadamard变换、Real Video标准中的4x4反变换及二次4x4反变换以及与上述变换反变换相关的量化与反量化。
3.根据权利要求1所述的变换与反变换电路,其中,
所述变换与反变换电路包括多个所述量化反量化电路以及多个一维变换电路,所述多个量化反量化电路中的至少一个对所述输入数据执行量化操作,以及所述多个量化反量化电路中的至少另一个对所述输入数据执行反量化操作,所述多个一维变换电路中的至少一个对经所述量化反量化电路处理的数据进行一维行变换,以及所述多个一维变换电路中的至少另一个对经所述量化反量化电路处理的数据进行一维列变换;以及
所述变换与反变换电路判断所述输入数据中的多个子块是否具有非0数据,且对于不具有非0数据的子块不进行处理。
4.根据权利要求1所述的变换与反变换电路,还包括:
至少一个调整顺序电路,所述调整顺序电路与所述一维变换电路相耦合,所述调整顺序电路包括多个第二多工器以及第三查找表,所述多个第二多工器根据所述视频编解码标准以及第三查找表来对经所述一维变换电路处理的数据进行调整顺序。
5.根据权利要求4所述的变换与反变换电路,还包括:
加法与移位电路,所述加法与移位电路与所述调整顺序电路相耦合,所述加法与移位电路包括第四查找表,所述加法与移位电路根据所述视频编解码标准以及该第四查找表来对经所述调整顺序电路处理的数据进行加法与移位。
6.根据权利要求1所述的变换与反变换电路,还包括:
寄存器阵列,所述寄存器阵列与所述一维变换电路相耦合,所述寄存器阵列用于:以行的方式存储经一次所述一维变换电路处理的数据,并以列的方式将经一次所述一维变换电路处理的数据传送到所述一维变换电路中,以便进行下一次一维变换;以及,以列的方式存储经一次所述一维变换电路处理的数据,并以行的方式将经一次所述一维变换电路处理的数据传送到所述一维变换电路中以便进行下一次一维变换;以及
输入存储器,所述输入存储器与所述量化反量化电路相耦合,所述输入存储器采用乒乓缓冲器的方式对数据进行存储。
7.一种变换与反变换方法,包括:
使用量化反量化电路对输入数据进行量化或反量化,所述量化反量化电路包括至少一个量化反量化单元,每个量化反量化单元包括多个第一系数,所述每个量化反量化单元对多路输入数据中的一路输入数据进行量化或反量化;以及
使用一维变换电路经所述量化反量化电路处理的数据进行一维变换,所述一维变换电路包括多个第二系数,
所述多个第一系数和所述多个第二系数根据视频编解码标准来设定。
8.根据权利要求7所述的变换与反变换方法,其中:
所述量化反量化单元包括:至少一个第一多工器,取绝对值模块,变号器,以及第一查找表,其中,所述至少一个第一多工器根据所述一路输入数据以及所述视频编解码标准来对所述取绝对值模块、所述变号器进行取舍,以及根据第一查找表以及所述视频编解码标准对所述第一系数进行设置;
所述一维变换电路包括第二查找表,所述一维变换电路根据所述第二查找表和所述视频编解码标准来设置所述多个第二系数,并对经所述量化反量化电路处理的数据进行一维行变换或者一维列变换;以及
所述视频编解码标准包括:H.264标准中的4x4一维DCT正变换及反变换、4x4Hadamard变换、2x2Hadamard变换、VP8标准中的4x4DCT反变换、4x4Walsh-Hadamard变换、Real Video标准中的4x4反变换及二次4x4反变换以及与上述变换反变换相关的量化与反量化。
9.根据权利要求7所述的变换与反变换方法,还包括:
使用多个所述量化反量化电路以及多个一维变换电路对所述输入数据进行变换与反变换,所述多个量化反量化电路中的至少一个对所述输入数据执行量化操作,以及所述多个量化反量化电路中的至少另一个对所述输入数据执行反量化操作,所述多个一维变换电路中的至少一个对经所述量化反量化电路处理的数据进行一维行变换,以及所述多个一维变换电路中的至少另一个对经所述量化反量化电路处理的数据进行一维列变换;以及
判断所述输入数据中的多个子块是否具有非0数据,且对于不具有非0数据的子块不进行处理。
10.根据权利要求7所述的变换与反变换方法,还包括:
使用调整顺序电路对经所述一维变换电路处理的数据进行调整顺序,所述调整顺序电路包括多个第二多工器以及第三查找表,所述多个第二多工器根据所述视频编解码标准以及第三查找表来对经所述一维变换电路处理的数据进行调整顺序。
11.根据权利要求10所述的变换与反变换方法,还包括:
加法与移位电路,所述加法与移位电路与所述调整顺序电路相耦合,所述加法与移位电路包括第四查找表,所述加法与移位电路根据所述视频编解码标准以及该第四查找表来对经所述调整顺序电路处理的数据进行加法与移位。
12.根据权利要求7所述的变换与反变换方法,还包括:
使用寄存器阵列,以便:以行的方式存储经一次所述一维变换电路处理的数据,并以列的方式将经一次所述一维变换电路处理的数据传送到所述一维变换电路中,以便进行下一次一维变换;以及,以列的方式存储经一次所述一维变换电路处理的数据,并以行的方式将经一次所述一维变换电路处理的数据传送到所述一维变换电路中以便进行下一次一维变换;以及
使用输入存储器采用乒乓缓冲器的方式对数据进行存储。
CN201410009494.XA 2014-01-09 2014-01-09 变换与反变换电路 Expired - Fee Related CN103686173B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410009494.XA CN103686173B (zh) 2014-01-09 2014-01-09 变换与反变换电路
US14/458,524 US9918088B2 (en) 2014-01-09 2014-08-13 Transform and inverse transform circuit and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410009494.XA CN103686173B (zh) 2014-01-09 2014-01-09 变换与反变换电路

Publications (2)

Publication Number Publication Date
CN103686173A true CN103686173A (zh) 2014-03-26
CN103686173B CN103686173B (zh) 2017-03-01

Family

ID=50322262

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410009494.XA Expired - Fee Related CN103686173B (zh) 2014-01-09 2014-01-09 变换与反变换电路

Country Status (2)

Country Link
US (1) US9918088B2 (zh)
CN (1) CN103686173B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462877A (zh) * 2016-02-25 2018-08-28 联发科技股份有限公司 残差处理电路和相关的残差处理方法
CN108616686A (zh) * 2016-12-12 2018-10-02 南京理工大学 一种全哈达玛矩阵编码成像方法
CN111556320A (zh) * 2019-02-12 2020-08-18 Arm有限公司 数据处理系统
CN113286150A (zh) * 2021-05-17 2021-08-20 北京大学深圳研究生院 用于视频编解码的变换编码硬件实现方法、装置及设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330060B1 (en) * 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
DE102015104776B4 (de) * 2015-03-27 2023-08-31 Infineon Technologies Ag Verfahren und Vorrichtung zum Verarbeiten von Radarsignalen
CN111200732B (zh) * 2018-11-20 2023-04-07 深圳市中兴微电子技术有限公司 一种反量化反变换方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437011B2 (en) * 1998-12-25 2008-10-14 Canon Kabushiki Kaisha Image processing apparatus and method
CN101330616A (zh) * 2008-07-31 2008-12-24 上海交通大学 视频解码过程中反离散余弦变换的硬件实现装置及方法
CN101841711A (zh) * 2010-04-17 2010-09-22 上海交通大学 用于视频解码的反量化装置及其实现方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875266A (en) * 1990-07-31 1999-02-23 Fujitsu Limited Image data processing a method and apparatus
US7142720B1 (en) * 1990-07-31 2006-11-28 Fujitsu Limited Image data processing method and apparatus
DE69131808T2 (de) * 1990-07-31 2000-03-16 Fujitsu Ltd Verfahren und Gerät zur Bilddatenverarbeitung
JP3323950B2 (ja) * 1992-03-17 2002-09-09 サン・マイクロシステムズ・インコーポレーテッド デジタル画像処理システムでidctを実施する方法及びそのためのidctプロセッサ
JPH05308622A (ja) * 1992-04-28 1993-11-19 Mitsubishi Electric Corp 画像符号化・復号化装置
JPH06350854A (ja) * 1993-06-10 1994-12-22 Matsushita Electric Ind Co Ltd 画像圧縮符号化装置
US5659362A (en) * 1994-09-07 1997-08-19 University Of South Florida VLSI circuit structure for implementing JPEG image compression standard
US5812791A (en) * 1995-05-10 1998-09-22 Cagent Technologies, Inc. Multiple sequence MPEG decoder
US6539120B1 (en) * 1997-03-12 2003-03-25 Matsushita Electric Industrial Co., Ltd. MPEG decoder providing multiple standard output signals
US6643451B1 (en) * 1998-03-25 2003-11-04 Sanyo Electric Co., Ltd Image data alteration preventing apparatus and alteration preventing method
US6532541B1 (en) * 1999-01-22 2003-03-11 The Trustees Of Columbia University In The City Of New York Method and apparatus for image authentication
US6680974B1 (en) * 1999-12-02 2004-01-20 Lucent Technologies Inc. Methods and apparatus for context selection of block transform coefficients
US6909812B1 (en) * 2000-07-13 2005-06-21 Lucent Technologies Inc. Methods and apparatus for nearly lossless-concatenated block transform coding
US7286715B2 (en) * 2001-03-28 2007-10-23 Sony Corporation Quantization apparatus, quantization method, quantization program, and recording medium
KR100399932B1 (ko) * 2001-05-07 2003-09-29 주식회사 하이닉스반도체 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
JP2010198131A (ja) * 2009-02-23 2010-09-09 Renesas Electronics Corp プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法
US8588295B2 (en) * 2009-03-09 2013-11-19 Mediatek Inc. Methods and electronic devices for quantization and de-quantization
US20130034150A1 (en) * 2011-08-05 2013-02-07 Texas Instruments Incorporated Systems and methods for multimedia data encoding and decoding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437011B2 (en) * 1998-12-25 2008-10-14 Canon Kabushiki Kaisha Image processing apparatus and method
CN101330616A (zh) * 2008-07-31 2008-12-24 上海交通大学 视频解码过程中反离散余弦变换的硬件实现装置及方法
CN101841711A (zh) * 2010-04-17 2010-09-22 上海交通大学 用于视频解码的反量化装置及其实现方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462877A (zh) * 2016-02-25 2018-08-28 联发科技股份有限公司 残差处理电路和相关的残差处理方法
CN108462877B (zh) * 2016-02-25 2020-11-13 联发科技股份有限公司 残差处理电路和相关的残差处理方法
CN108616686A (zh) * 2016-12-12 2018-10-02 南京理工大学 一种全哈达玛矩阵编码成像方法
CN111556320A (zh) * 2019-02-12 2020-08-18 Arm有限公司 数据处理系统
CN113286150A (zh) * 2021-05-17 2021-08-20 北京大学深圳研究生院 用于视频编解码的变换编码硬件实现方法、装置及设备

Also Published As

Publication number Publication date
US9918088B2 (en) 2018-03-13
US20150195522A1 (en) 2015-07-09
CN103686173B (zh) 2017-03-01

Similar Documents

Publication Publication Date Title
CN103686173A (zh) 变换与反变换电路
CN101662682B (zh) 视频编码技术
CN101107861B (zh) 重叠平滑与环路内解块之分段处理
CN101969563B (zh) 图像处理装置以及图像处理方法
US7508981B2 (en) Dual layer bus architecture for system-on-a-chip
CN100556142C (zh) 解码视频数据的解码器和系统
EP1509044A2 (en) Digital video signal processing apparatus
US20060133504A1 (en) Deblocking filters for performing horizontal and vertical filtering of video data simultaneously and methods of operating the same
US8315467B2 (en) Image encoding device and image encoding method
CN104041035A (zh) 用于复合视频的无损编码及相关信号表示方法
CN101160971A (zh) 用于储存中间环路过滤数据之暂存存储器
WO2008067500A2 (en) Parallel deblocking filter for h.264 video codec
CN101252694A (zh) 基于块的视频解码的帧存储压缩和地址映射系统
CN101960858A (zh) 运动图像编码装置、摄像装置以及运动图像编码方法
US8611418B2 (en) Decoding a progressive JPEG bitstream as a sequentially-predicted hybrid video bitstream
DE112014000643T5 (de) Bilddatencodierung für Zugriff nach Raster und nach Makroblock
WO1999057908A1 (en) Method and apparatus for increasing memory resource utilization in an information stream decoder
KR100683380B1 (ko) 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치
CN101883276B (zh) 软硬件联合解码的多格式高清视频解码器结构
CN105472442A (zh) 一种用于超高清帧率上变换的片外缓存压缩系统
CN1792097A (zh) 具有低存储器带宽要求的视频处理设备
US8311123B2 (en) TV signal processing circuit
US20110110435A1 (en) Multi-standard video decoding system
US7330595B2 (en) System and method for video data compression
US20020041630A1 (en) Compression-encoded data decoding apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160628

Address after: American California

Applicant after: Intel Corporation

Address before: The Cayman Islands, British West Indies

Applicant before: Ky Wire Electric Co., Ltd.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170301

Termination date: 20200109