CN111200732A - 一种反量化反变换方法及装置 - Google Patents

一种反量化反变换方法及装置 Download PDF

Info

Publication number
CN111200732A
CN111200732A CN201811385822.0A CN201811385822A CN111200732A CN 111200732 A CN111200732 A CN 111200732A CN 201811385822 A CN201811385822 A CN 201811385822A CN 111200732 A CN111200732 A CN 111200732A
Authority
CN
China
Prior art keywords
processing
inverse transformation
data obtained
dimensional inverse
dimensional
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
CN201811385822.0A
Other languages
English (en)
Other versions
CN111200732B (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.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology 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 Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN201811385822.0A priority Critical patent/CN111200732B/zh
Priority to PCT/CN2019/119762 priority patent/WO2020103876A1/zh
Priority to US17/295,266 priority patent/US11503297B2/en
Publication of CN111200732A publication Critical patent/CN111200732A/zh
Application granted granted Critical
Publication of CN111200732B publication Critical patent/CN111200732B/zh
Active 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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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/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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

本发明实施例公开了一种反量化反变换方法及装置,所述方法包括:根据不同编解码标准的反量化特性,对输入数据进行反量化处理;根据所述输入数据的编解码标准确定是否需要进行二次反变换处理;当确定需要进行二次反变换处理时,先对经反量化处理得到的数据进行二次反变换处理,再对经二次反变换处理处理得到的数据进行第一次一维反变换控制处理,然后再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理;当确定不需要进行二次反变换处理时,对经反量化处理得到的数据进行第一次一维反变换控制处理,再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理。

Description

一种反量化反变换方法及装置
技术领域
本发明涉及多媒体信息处理领域中的视频图像处理技术,尤其涉及一种反量化反变换方法及装置。
背景技术
随着技术的进步,视频朝着更大分辨率、更高压缩率的方向发展越来越快,视频编解码标准已经更新换代好几代;同时,不同标准间的竞争也越来越激烈;因此,对于芯片设计者来说,需要用更小的面积(成本)来兼容以前的标准、同时支持不同的竞争标准。
现有的实现方法是使用蝶形运算来减少计算量,加快运行速度;在同一标准下大尺寸的反变换可以复用小尺寸的蝶形运算逻辑。该方法的缺点是,不同的标准下蝶形运算有一定的区别,无法完全复用。
发明内容
为解决上述技术问题,本发明实施例期望提供了一种反量化反变换方法及装置,能更大程度的复用反量化、反变换的运算逻辑,减小多标准下反量化、反变换的逻辑面积。
第一方面,本发明实施例提供了一种反量化反变换方法,所述方法包括:
根据不同编解码标准的反量化特性,对输入数据进行反量化处理;
根据所述输入数据的编解码标准确定是否需要进行二次反变换处理;
当确定需要进行二次反变换处理时,先对经反量化处理得到的数据进行二次反变换处理,再对经二次反变换处理处理得到的数据进行第一次一维反变换控制处理,然后再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理;
当确定不需要进行二次反变换处理时,对经反量化处理得到的数据进行第一次一维反变换控制处理,再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理。
本发明实施例中,可选地,所述方法还包括:
确定是否需要对经第二次一维反变换处理得到的数据进行后处理;
当确定需要进行后处理时,先对经第二次一维反变换处理得到的数据进行后处理,再输出经后处理得到的数据;
当确定不需要进行后处理时,输出经第二次一维反变换处理得到的数据。
本发明实施例中,可选地,所述对经第二次一维反变换处理得到的数据进行后处理,包括:
通过对经第二次一维反变换处理得到的数据进行尺寸变换,使得经尺寸变换后的数据与变换单元的尺寸标准相匹配。
本发明实施例中,可选地,所述确定是否需要对经第二次一维反变换处理得到的数据进行后处理,包括:
当所述输入数据的编解码标准为预设标准,且在所述预设标准中采用的算法包括预设算法时,确定需要对经第二次一维反变换处理得到的数据进行后处理。
本发明实施例中,可选地,所述根据所述输入数据的编解码标准确定是否需要进行二次反变换处理,包括:
判断所述输入数据的编解码标准是否为预设标准,
当所述输入数据的编解码标准为预设标准时,确定需要进行二次反变换处理。
本发明实施例中,可选地,所述对输入数据进行反量化处理,包括:
调用运算单元进行反量化处理;
根据不同的编解码标准,预先寄存对应N×N块数据的DC反量化系数和AC反量化系数,每个时钟周期完成一个N×N块数据的反量化乘法、累加和截位处理;其中,在存储器中以N×N为单位存储。
本发明实施例中,可选地,所述对经反量化处理得到的数据进行二次反变换处理,包括:
调用运算单元进行二次反变换处理所需的操作,所述操作包括乘法、加法、截位。
本发明实施例中,可选地,所述对经反量化处理得到的数据进行第一次一维反变换控制处理,包括:
对于不同的标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第一次一维反变换处理的操作所需的操作,所述操作包括乘法、加法、截位、数据寄存。
本发明实施例中,可选地,所述对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理,包括:
对于不同的标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第二次一维反变换处理的操作,所述操作包括乘法、加法、截位、数据寄存。
第二方面,本发明实施例提供了一种反量化反变换装置,所述装置包括:
缓存单元,用于存储数据;
运算单元,用于执行运算操作;
控制单元,用于根据不同编解码标准的反量化特性,对输入数据进行反量化处理;根据所述输入数据的编解码标准确定是否需要进行二次反变换处理;当确定需要进行二次反变换处理时,先对经反量化处理得到的数据进行二次反变换处理,再对经二次反变换处理处理得到的数据进行第一次一维反变换控制处理,然后再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理;当确定不需要进行二次反变换处理时,对经反量化处理得到的数据进行第一次一维反变换控制处理,再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理。
本发明实施例中,可选地,所述控制单元,还用于:
确定是否需要对经第二次一维反变换处理得到的数据进行后处理;
当确定需要进行后处理时,先对经第二次一维反变换处理得到的数据进行后处理,再输出经后处理得到的数据;
当确定不需要进行后处理时,输出经第二次一维反变换处理得到的数据。
本发明实施例中,可选地,所述控制单元,还用于:
通过对经第二次一维反变换处理得到的数据进行尺寸变换,使得经尺寸变换后的数据与变换单元的尺寸标准相匹配。
本发明实施例中,可选地,所述控制单元,还用于:
当所述输入数据的编解码标准为预设标准,且在所述预设标准中采用的算法包括预设算法时,确定需要对经第二次一维反变换处理得到的数据进行后处理。
本发明实施例中,可选地,所述控制单元,还用于:
对于不同的编解码标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第一次一维反变换处理的操作所需的操作,所述操作包括乘法、加法、截位、数据寄存;
对于不同的编解码标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第二次一维反变换处理的操作,所述操作包括乘法、加法、截位、数据寄存。
第三方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行本发明实施例所述的反量化反变换方法。
本发明实施例的技术方案中,根据不同编解码标准的反量化特性,对输入数据进行反量化处理;根据所述输入数据的编解码标准确定是否需要进行二次反变换处理;当确定需要进行二次反变换处理时,先对经反量化处理得到的数据进行二次反变换处理,再对经二次反变换处理处理得到的数据进行第一次一维反变换控制处理,然后再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理;当确定不需要进行二次反变换处理时,对经反量化处理得到的数据进行第一次一维反变换控制处理,再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理。本发明针对反量化、反变换功能部分,最大限度的复用对应的运算逻辑,提出一种反量化反变换方法,可以使得反量化、反变换的功能部分,在更小面积的代价下兼容以前的标准、同时支持不同的竞争标准。
附图说明
图1为本发明实施例的一种反量化反变换方法的流程示意图;
图2为本发明实施例的实现反量化反变换的整体设计框图;
图3为本发明实施例的第一次一维反变换V=TM2 T*C的示意图;
图4为本发明实施例的以cycle0C4x4_0*T4x4_0/1/2/3为例时乘法器布局示意图;
图5为本发明实施例的第一次一维反变换中64个乘法器的计算结果示意图;
图6为本发明实施例的第一次一维反变换中64个四输入加法器所得结果示意图;
图7为本发明实施例的第二次一维反变换W=K*TM1的示意图;
图8为本发明实施例的以cycle0K4x4_0*T4x4_0/1/2/3为例时乘法器布局示意图;
图9为本发明实施例的第二次一维反变换中64个乘法器的计算结果示意图;
图10为本发明实施例的第二次一维反变换中64个四输入加法器所得结果示意图;
图11为本发明实施例提供的反映反量化反变换的一种示意图;
图12为本发明实施例的一种反量化反变换装置的组成结构示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
图1为本发明实施例的一种反量化反变换方法的流程示意图,如图1所示,所述方法包括:
步骤101:根据不同编解码标准的反量化特性,对输入数据进行反量化处理。
在一些可选的实施方式中,所述对输入数据进行反量化处理,包括:
调用运算阵列中的运算单元进行反量化处理。
在一些具体实施方式中,所述对输入数据进行反量化处理,包括:
根据不同的编解码标准,预先寄存对应N×N块数据的DC和AC反量化系数,每个时钟周期完成一个N×N块数据的反量化乘法、累加和截位处理;其中,在存储器中以N×N为单位存储。
步骤102:根据所述输入数据的编解码标准确定是否需要进行二次反变换处理。
在一些可选的实施方式中,所述根据所述输入数据的编解码标准确定是否需要进行二次反变换处理,包括:
判断所述输入数据的编解码标准是否为预设标准;
当所述输入数据的编解码标准为预设标准时,确定需要进行二次反变换处理。
例如,预设标准为AVS2标准。
也就是说,当所述输入数据的编解码标准为AVS2标准时,确定需要进行二次反变换处理;当所述输入数据的编解码标准为非AVS2标准时,确定不需要进行二次反变换处理。
步骤103:当确定需要进行二次反变换处理时,先对经反量化处理得到的数据进行二次反变换处理,再对经二次反变换处理处理得到的数据进行第一次一维反变换控制处理,然后再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理。
在一些可选的实施方式中,所述对经反量化处理得到的数据进行二次反变换处理,包括:
调用运算单元进行二次反变换处理所需的操作,所述操作包括乘法、加法、截位。
在AVS2标准中,有一次二次反变换的处理过程,而其余标准中没有。该过程直接与反量化的控制一起管理,因为在一个变换(TU,Transform Unit)块的处理过程中,最多可能有一个N×N块需要做二次反变换。在该N×N块的反量化结束后,调用运算单元进行二次反变换处理所需的乘法、加法、截位等操作,存储到寄存器缓存单元中,在反量化结束后写入对应的RAM地址中。
在一些可选的实施方式中,所述对经反量化处理得到的数据进行第一次一维反变换控制处理,包括:
对于不同的标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第一次一维反变换处理的操作所需的操作,所述操作包括乘法、加法、截位、数据寄存。
实际应用中,几乎所有的标准都可以将二维反变换转换成两次一维反变换过程,但不同的标准处理方式有一些不同:有的标准第一次一维反变换处理是垂直反变换,第二次是水平反变换;有的标准第一次一维反变换是水平反变换,第二次是垂直反变换;有的标准垂直反变换和水平反变换使用的系数矩阵一致,仅仅是矩阵与逆矩阵的区别;有的标准垂直反变换和水平反变换使用的系数矩阵不相同。
具体地,对于不同的标准,控制单元调用运算单元在不同的处理时间点进行处理所需的乘法、加法、截位、数据寄存等操作,实现第一次一维反变换处理。
在一些可选的实施方式中,所述对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理,包括:
对于不同的标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第二次一维反变换处理的操作,所述操作包括乘法、加法、截位、数据寄存。
具体地,对于不同的标准,控制单元调用运算单元在不同的处理时间点进行处理所需的乘法、加法、截位、数据寄存等操作,实现第二次一维反变换处理。
步骤104:当确定不需要进行二次反变换处理时,对经反量化处理得到的数据进行第一次一维反变换控制处理,再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理。
进一步地,所述方法还包括:
步骤105(图1中未示出):确定是否需要对经第二次一维反变换处理得到的数据进行后处理。
在一些可选的实施方式中,所述确定是否需要对经第二次一维反变换处理得到的数据进行后处理,包括:
当所述输入数据的编解码标准为预设标准,且在所述预设标准中采用的算法包括预设算法时,确定需要对经第二次一维反变换处理得到的数据进行后处理。
例如,预设标准为AVS2标准,所述预设算法为upsample算法。
在AVS2标准中,有些有upsample的处理过程,而其余标准中没有。根据upsample的算法,控制单元调用运算单元进行upsample所需的乘法、加法、截位、数据寄存等操作,实现反变换后的处理过程。
步骤106(图1中未示出):当确定需要进行后处理时,先对经第二次一维反变换处理得到的数据进行后处理,再输出经后处理得到的数据。
在一些可选的实施方式中,所述对经第二次一维反变换处理得到的数据进行后处理,包括:
通过对经第二次一维反变换处理得到的数据进行尺寸变换,使得经尺寸变换后的数据与变换单元的尺寸标准相匹配。
步骤107(图1中未示出):当确定不需要进行后处理时,输出经第二次一维反变换处理得到的数据。
采用本发明实施例所述方法,针对反量化、反变换功能部分,最大限度的复用对应的逻辑,可以使得反量化、反变换的功能部分,在更小面积的代价下兼容以前的标准、同时支持不同的竞争标准。与现有技术相比,能实现多标准下的运算逻辑复用,达到了预期的效果和解码性能,节省了逻辑实现面积,提高了芯片竞争力。
图2示出了一种实现反量化反变换的整体设计框图,如图2所示,RAM0表示随机存取存储器0,RAM1表示随机存取存储器1,RAM_CTRL表示RAM逻辑控制器;DQ_CTRL表示反量化控制;FST_CTRL表示第一次一维反变换控制;SCT_CTRL表示第二次一维反变换控制;UP_CTRL表示后处理控制;CACL_APPA表示运算阵列。本发明实施例的技术方案中,对已有的视频编解码标准进行分析,反量化、反变换过程虽然在不同标准下有不同的处理方式,但其运算单元基本是一致的:乘法、加法、截位、数据缓存,且数据位宽差别不大,那么将这些运算单元提取出来作为公共单元复用,在不同的标准下控制运算单元的调用,即可实现不同标准下的反量化、反变换过程。通过图2所示整体设计框图,在实现标准处理性能的条件下,更大程度的达到了资源复用,节省了多标准解码器的逻辑实现面积。由于不同标准反量化、反变换的运算逻辑能复用,能更大程度的复用反量化、反变换的运算逻辑,减小多标准下反量化、反变换的逻辑面积。
实施例二
根据反变换特性,一个二维反变换可以转换为两次一维反变换:第一次一维反变换V=TM2 T*C(其中TM2 T为M2×M2反变换矩阵的转置)和第二次一维反变换W=K*TM1(其中TM1为M1×M1反变换矩阵)。残差数据在RAM中以N×N如4×4为单位存储,两次反变换过程的计算均以4×4为单位处理。
下面通过步骤A、B、C、D、E对反量化反变换的过程作进一步的详细描述。
A、反量化控制
在反量化阶段,读取RAM0的数据,调用运算阵列中的运算单元进行反量化处理;如果没有二次反变换(如非AVS2标准),将中间结果写入RAM1;否则进行二次反变换(如AVS2标准)。
B、二次反变换
如果有二次反变换(如AVS2标准),则使用反量化处理后的结果,继续调用运算阵列中的运算单元进行二次反变换处理,再将中间结果写入RAM1。
C、第一次一维反变换控制
读取RAM1的数据,调用运算阵列中的运算单元,进行第一次一维反变换处理,再将中间结果写入RAM0。
运算阵列中包含乘法器组、寄存器组、加法器组以及截位逻辑,根据4x4、8x8、16x16、32x32等不同的变换尺寸的处理时序,在不同的时间点调用运算阵列中的运算单元。
以4x4为例,图3示出了第一次一维反变换V=TM2 T*C的示意图,参照图3可得:
cycle0:C4x4_0*T4x4_0/1/2/3;缓存4个结果到中转0~3;
cycle1:C4x4_0*T4x4_4/5/6/7;再缓存4个结果到中转4~7;
cycle2:C4x4_2*T4x4_8/9/10/11;更新缓存结果到中转0~3;
cycle3:C4x4_2*T4x4_12/13/14/15;更新缓存结果到中转4~7;
cycle4:C4x4_8*T4x4_16/17/18/19;更新缓存结果到中转0~3;
cycle5:C4x4_8*T4x4_20/21/22/23;更新缓存结果到中转4~7;
cycle6:C4x4_10*T4x4_24/25/26/27;更新缓存结果到中转0~3;
cycle7:C4x4_10*T4x4_28/29/30/31;更新缓存结果到中转4~7;
cycle8:C4x4_32*T4x4_32/33/34/35;更新缓存结果到中转0~3;
cycle9:C4x4_32*T4x4_36/37/38/39;更新缓存结果到中转4~7;
cycle10:C4x4_34*T4x4_40/41/42/43;更新缓存结果到中转0~3;
cycle11:C4x4_34*T4x4_44/45/46/47;更新缓存结果到中转4~7;
cycle12:C4x4_40*T4x4_48/49/50/51;更新缓存结果到中转0~3;
cycle13:C4x4_40*T4x4_52/53/54/55;更新缓存结果到中转4~7;
cycle14:C4x4_42*T4x4_56/57/58/59;更新缓存结果到中转0~3;
cycle15:C4x4_42*T4x4_60/61/62/63;更新缓存结果到中转4~7;
那么16拍后,结果可以写入RAM地址:0/2/8/10/32/34/40/42;
下一个16拍,结果可以写入RAM地址:1/3/9/11/33/35/41/43;使用缓存8~15;
下一个16拍,结果可以写入RAM地址:4/6/12/14/36/38/44/46;使用缓存0~7;
下一个16拍,结果可以写入RAM地址:5/7/13/15/37/39/45/47;使用缓存8~15;
下一个16拍,结果可以写入RAM地址:16/18/24/26/48/50/56/58;使用缓存0~7;
下一个16拍,结果可以写入RAM地址:17/19/25/27/49/51/57/59;使用缓存8~15;
下一个16拍,结果可以写入RAM地址:20/22/28/30/52/54/60/62;使用缓存0~7;
下一个16拍,结果可以写入RAM地址:21/23/29/31/53/55/61/63;使用缓存8~15;
在一拍计算过程中(以cycle0C4x4_0*T4x4_0/1/2/3为例,乘法器布局如图4所示),256个乘法器中的64个乘法器的计算结果如图5所示。以此类推,其余的192个乘法器类似。
64个四输入加法器所得结果如图6所示。以此类推,其余的48个四输入加法器类似。
16个二输入加法器,就是对应点的四输入加法器结果相加。
D、第二次一维反变换控制
读取RAM0的数据,调用运算阵列中的运算单元,进行第二次一维反变换处理。
以4x4为例,图7示出了第二次一维反变换W=K*TM1的示意图,参照图7可得:
cycle0:K4x4_0*T4x4_0/1/2/3;缓存4个结果到中转0~3;
cycle1:K4x4_0*T4x4_4/5/6/7;再缓存4个结果到中转4~7;
cycle2:K4x4_1*T4x4_8/9/10/11;更新缓存结果到中转0~3;
cycle3:K4x4_1*T4x4_12/13/14/15;更新缓存结果到中转4~7;
cycle4:K4x4_4*T4x4_16/17/18/19;更新缓存结果到中转0~3;
cycle5:K4x4_4*T4x4_20/21/22/23;更新缓存结果到中转4~7;
cycle6:K4x4_5*T4x4_24/25/26/27;更新缓存结果到中转0~3;
cycle7:K4x4_5*T4x4_28/29/30/31;更新缓存结果到中转4~7;
cycle8:K4x4_16*T4x4_32/33/34/35;更新缓存结果到中转0~3;
cycle9:K4x4_16*T4x4_36/37/38/39;更新缓存结果到中转4~7;
cycle10:K4x4_17*T4x4_40/41/42/43;更新缓存结果到中转0~3;
cycle11:K4x4_17*T4x4_44/45/46/47;更新缓存结果到中转4~7;
cycle12:K4x4_20*T4x4_48/49/50/51;更新缓存结果到中转0~3;
cycle13:K4x4_20*T4x4_52/53/54/55;更新缓存结果到中转4~7;
cycle14:K4x4_21*T4x4_56/57/58/59;更新缓存结果到中转0~3;
cycle15:K4x4_21*T4x4_60/61/62/63;更新缓存结果到中转4~7;
那么16拍后,结果可以写入RAM地址:0/1/4/5/16/17/20/21;
下一个16拍,结果可以写入RAM地址:2/3/6/7/18/19/22/23;使用缓存8~15;
下一个16拍,结果可以写入RAM地址:8/9/12/13/24/25/28/29;使用缓存0~7;
下一个16拍,结果可以写入RAM地址:10/11/14/15/26/27/30/31;使用缓存8~15;
下一个16拍,结果可以写入RAM地址:32/33/36/37/48/49/52/53;使用缓存0~7;
下一个16拍,结果可以写入RAM地址:34/35/38/39/50/51/54/55;使用缓存8~15;
下一个16拍,结果可以写入RAM地址:40/41/44/45/56/57/60/61;使用缓存0~7;
下一个16拍,结果可以写入RAM地址:42/43/46/47/58/59/62/63;使用缓存8~15;
在一拍计算过程中(以cycle0K4x4_0*T4x4_0/1/2/3为例,乘法器布局如图8所示),256个乘法器中的64个乘法器的计算结果如图9所示。以此类推,其余的192个乘法器类似。
64个四输入加法器所得结果如图10所示。以此类推,其余的48个四输入加法器类似。
16个二输入加法器,就是对应点的四输入加法器结果相加。
如果有后处理(如AVS2标准的upsample),则将中间结果写回RAM0;
如果没有后处理,则将处理结果写入RAM1,并旁路后处理控制。
这里,所述的旁路是指不通过这部分处理逻辑,即不通过后处理控制处理逻辑。
E、后处理控制
读取RAM0的数据,调用运算阵列中的运算单元,进行后处理,再将处理结果写入RAM1。
图11示出了反映上述反量化反变换的其中一种示意图;图11中,Scale表示反量化,CLIP表示截位,CYCLE表示时钟周期,具体地,先对输入数据进行反量化处理,再进行第一次一维反变换,然后再进行第二次一维反变换控制处理;最后进行反变换后处理。
可见,反量化、反变换过程虽然在不同标准下有不同的处理方式,但其运算单元基本是一致的:乘法、加法、截位、数据缓存,且数据位宽差别不大,那么将这些运算单元提取出来作为公共单元复用,在不同的标准下控制运算单元的调用,即可实现不同标准下的反量化、反变换过程。在实现标准处理性能的条件下,更大程度的达到了资源复用,节省了多标准解码器的逻辑实现面积。
实施例三
图12为本发明实施例的一种反量化反变换装置的组成结构示意图,如图12所示,所述装置包括:
缓存单元10,用于存储数据;
运算单元20,用于执行运算操作;
控制单元30,用于根据不同编解码标准的反量化特性,对输入数据进行反量化处理;根据所述输入数据的编解码标准确定是否需要进行二次反变换处理;当确定需要进行二次反变换处理时,先对经反量化处理得到的数据进行二次反变换处理,再对经二次反变换处理处理得到的数据进行第一次一维反变换控制处理,然后再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理;当确定不需要进行二次反变换处理时,对经反量化处理得到的数据进行第一次一维反变换控制处理,再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理。
本发明实施例中,可选地,所述控制单元30,还用于:
确定是否需要对经第二次一维反变换处理得到的数据进行后处理;
当确定需要进行后处理时,先对经第二次一维反变换处理得到的数据进行后处理,再输出经后处理得到的数据;
当确定不需要进行后处理时,输出经第二次一维反变换处理得到的数据。
本发明实施例中,可选地,所述控制单元30,还用于:
通过对经第二次一维反变换处理得到的数据进行尺寸变换,使得经尺寸变换后的数据与变换单元的尺寸标准相匹配。
本发明实施例中,可选地,所述控制单元30,还用于:
当所述输入数据的编解码标准为预设标准,且在所述预设标准中采用的算法包括预设算法时,确定需要对经第二次一维反变换处理得到的数据进行后处理。
本发明实施例中,可选地,所述控制单元30,还用于:
对于不同的编解码标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第一次一维反变换处理的操作所需的操作,所述操作包括乘法、加法、截位、数据寄存。
本发明实施例中,可选地,所述控制单元30,还用于:
对于不同的编解码标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第二次一维反变换处理的操作,所述操作包括乘法、加法、截位、数据寄存。
在实际应用中,所述缓存单元10可由寄存器实现;所述运算单元20可由乘法器、加法器等具有对应运算功能的器件实现;所述控制单元30可由位于所述反量化反变换装置中的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field-Programmable Gate Array)等实现。
上述反量化反变换装置可应用于芯片中。
本实施例所述反量化反变换装置,可以使得反量化、反变换的功能部分,在更小面积的代价下兼容以前的标准、同时支持不同的竞争标准。
本实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行之后,能够实现前述任意一项或多项反量化反变换方法。
所述计算机存储介质可为各种类型的存储介质,在本实施例中可优选为非瞬间存储介质。
本领域技术人员应当理解,本实施例的存储介质中各程序的功能,可参照实施例所述的反量化反变换方法的相关描述而理解。
采用本发明实施例所述反量化反变换方法,与现有技术相比,可以使得反量化、反变换的功能子模块,在更小面积的代价下兼容以前的标准、同时支持不同的竞争标准。本发明针对反量化、反变换功能部分,采用的粒度更小,计算单元为乘法器、加法器、寄存器等,最大限度的复用对应的逻辑。本发明将反量化也纳入资源复用的范围,更节省资源。
本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种反量化反变换方法,其特征在于,所述方法包括:
根据不同编解码标准的反量化特性,对输入数据进行反量化处理;
根据所述输入数据的编解码标准确定是否需要进行二次反变换处理;
当确定需要进行二次反变换处理时,先对经反量化处理得到的数据进行二次反变换处理,再对经二次反变换处理处理得到的数据进行第一次一维反变换控制处理,然后再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理;
当确定不需要进行二次反变换处理时,对经反量化处理得到的数据进行第一次一维反变换控制处理,再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定是否需要对经第二次一维反变换处理得到的数据进行后处理;
当确定需要进行后处理时,先对经第二次一维反变换处理得到的数据进行后处理,再输出经后处理得到的数据;
当确定不需要进行后处理时,输出经第二次一维反变换处理得到的数据。
3.根据权利要求2所述的方法,其特征在于,所述对经第二次一维反变换处理得到的数据进行后处理,包括:
通过对经第二次一维反变换处理得到的数据进行尺寸变换,使得经尺寸变换后的数据与变换单元的尺寸标准相匹配。
4.根据权利要求2所述的方法,其特征在于,所述确定是否需要对经第二次一维反变换处理得到的数据进行后处理,包括:
当所述输入数据的编解码标准为预设标准,且在所述预设标准中采用的算法包括预设算法时,确定需要对经第二次一维反变换处理得到的数据进行后处理。
5.根据权利要求1所述的方法,其特征在于,
所述对经反量化处理得到的数据进行第一次一维反变换控制处理,包括:
对于不同的编解码标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第一次一维反变换处理的操作所需的操作,所述操作包括乘法、加法、截位、数据寄存;
所述对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理,包括:
对于不同的编解码标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第二次一维反变换处理的操作,所述操作包括乘法、加法、截位、数据寄存。
6.一种反量化反变换装置,其特征在于,所述装置包括:
缓存单元,用于存储数据;
运算单元,用于执行运算操作;
控制单元,用于根据不同编解码标准的反量化特性,对输入数据进行反量化处理;根据所述输入数据的编解码标准确定是否需要进行二次反变换处理;当确定需要进行二次反变换处理时,先对经反量化处理得到的数据进行二次反变换处理,再对经二次反变换处理处理得到的数据进行第一次一维反变换控制处理,然后再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理;当确定不需要进行二次反变换处理时,对经反量化处理得到的数据进行第一次一维反变换控制处理,再对经第一次一维反变换控制处理得到的数据进行第二次一维反变换控制处理。
7.根据权利要求6所述的装置,其特征在于,所述控制单元,还用于:
确定是否需要对经第二次一维反变换处理得到的数据进行后处理;
当确定需要进行后处理时,先对经第二次一维反变换处理得到的数据进行后处理,再输出经后处理得到的数据;
当确定不需要进行后处理时,输出经第二次一维反变换处理得到的数据。
8.根据权利要求7所述的装置,其特征在于,所述控制单元,还用于:
通过对经第二次一维反变换处理得到的数据进行尺寸变换,使得经尺寸变换后的数据与变换单元的尺寸标准相匹配。
9.根据权利要求7所述的装置,其特征在于,所述控制单元,还用于:
当所述输入数据的编解码标准为预设标准,且在所述预设标准中采用的算法包括预设算法时,确定需要对经第二次一维反变换处理得到的数据进行后处理。
10.根据权利要求6所述的装置,其特征在于,所述控制单元,还用于:
对于不同的编解码标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第一次一维反变换处理的操作所需的操作,所述操作包括乘法、加法、截位、数据寄存;
对于不同的编解码标准,调用运算单元在不同的处理时间点进行处理所需的用于实现第二次一维反变换处理的操作,所述操作包括乘法、加法、截位、数据寄存。
CN201811385822.0A 2018-11-20 2018-11-20 一种反量化反变换方法及装置 Active CN111200732B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811385822.0A CN111200732B (zh) 2018-11-20 2018-11-20 一种反量化反变换方法及装置
PCT/CN2019/119762 WO2020103876A1 (zh) 2018-11-20 2019-11-20 反量化反变换方法、装置及介质
US17/295,266 US11503297B2 (en) 2018-11-20 2019-11-20 Method and device for inverse quantization and inverse transformation and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811385822.0A CN111200732B (zh) 2018-11-20 2018-11-20 一种反量化反变换方法及装置

Publications (2)

Publication Number Publication Date
CN111200732A true CN111200732A (zh) 2020-05-26
CN111200732B CN111200732B (zh) 2023-04-07

Family

ID=70747235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811385822.0A Active CN111200732B (zh) 2018-11-20 2018-11-20 一种反量化反变换方法及装置

Country Status (3)

Country Link
US (1) US11503297B2 (zh)
CN (1) CN111200732B (zh)
WO (1) WO2020103876A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020177072A1 (en) * 2019-03-05 2020-09-10 Zte Corporation Cross-component quantization in video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006478A (zh) * 2010-11-29 2011-04-06 青岛海信信芯科技有限公司 一种视频解码的反变换方法及装置
US20150195522A1 (en) * 2014-01-09 2015-07-09 Via Telecom Co., Ltd. Transform and inverse transform circuit and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404569B (zh) * 2011-11-08 2014-01-08 复旦大学 可用于多种视频标准、多尺寸二维整数余弦反变换的通用方法
CN103997650B (zh) * 2014-05-30 2017-07-14 华为技术有限公司 一种视频解码的方法和视频解码器
CN106254883B (zh) * 2016-08-02 2021-01-22 海信视像科技股份有限公司 一种视频解码中的反变换方法和装置
CN114449289A (zh) * 2016-08-24 2022-05-06 索尼公司 图像编码设备和图像编码方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102006478A (zh) * 2010-11-29 2011-04-06 青岛海信信芯科技有限公司 一种视频解码的反变换方法及装置
US20150195522A1 (en) * 2014-01-09 2015-07-09 Via Telecom Co., Ltd. Transform and inverse transform circuit and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马思伟 等: "AVS2视频编码标准技术特色及应用", 《电信科学》 *

Also Published As

Publication number Publication date
US11503297B2 (en) 2022-11-15
WO2020103876A1 (zh) 2020-05-28
US20220014745A1 (en) 2022-01-13
CN111200732B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
US11403069B2 (en) Accelerated mathematical engine
US6530010B1 (en) Multiplexer reconfigurable image processing peripheral having for loop control
JP5837153B2 (ja) 画素速度での画像処理のための方法および装置
JP7023917B2 (ja) 疎要素を密行列に変換するためのシステムおよび方法
US20100321579A1 (en) Front End Processor with Extendable Data Path
US6930689B1 (en) Hardware extensions for image and video processing
Abel et al. Applications tuning for streaming SIMD extensions
CN111200732B (zh) 一种反量化反变换方法及装置
US11195248B2 (en) Method and apparatus for processing pixel data of a video frame
Lo et al. Improved SIMD architecture for high performance video processors
CN116888591A (zh) 一种矩阵乘法器、矩阵计算方法及相关设备
CN111083479A (zh) 一种视频帧预测方法、装置及终端设备
Managuli et al. Mapping of two-dimensional convolution on very long instruction word media processors for real-time performance
US11935153B2 (en) Data compression support for accelerated processor
CN111124626A (zh) 一种众核系统及其数据处理方法和处理装置
CN114581952A (zh) 一种行人重识别方法、系统、装置、设备及计算机介质
Wang et al. Design and implementation of a flexible DMA controller in video codec system
JP2005057688A (ja) 画像処理方法、画像処理プログラムおよび画像処理装置
JP2004234407A (ja) データ処理装置
KR101652264B1 (ko) 에지 방향 적응적인 인트라 필드 디인터레이싱 기법을 실행하는 그래픽 프로세싱 유닛의 병렬 구현 방법
Cope et al. Using reconfigurable logic to optimise gpu memory accesses
Xie et al. A Reconfigurable Implementation of Motion Compensation in HEVC
CN115866157A (zh) 执行脏污区域读和写以减少存储器带宽使用的方法和装置
CN116800964A (zh) 图像滤波方法、装置、电子设备及介质
CN113096002A (zh) 一种视频帧尺度变换异构系统和方法以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant