CN102413326B - 视频编码、解码方法和装置 - Google Patents

视频编码、解码方法和装置 Download PDF

Info

Publication number
CN102413326B
CN102413326B CN201010295023.1A CN201010295023A CN102413326B CN 102413326 B CN102413326 B CN 102413326B CN 201010295023 A CN201010295023 A CN 201010295023A CN 102413326 B CN102413326 B CN 102413326B
Authority
CN
China
Prior art keywords
weight coefficient
encoding block
play amount
motion estimation
sigma
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.)
Active
Application number
CN201010295023.1A
Other languages
English (en)
Other versions
CN102413326A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201010295023.1A priority Critical patent/CN102413326B/zh
Priority to PCT/CN2011/074900 priority patent/WO2011150804A1/zh
Publication of CN102413326A publication Critical patent/CN102413326A/zh
Application granted granted Critical
Publication of CN102413326B publication Critical patent/CN102413326B/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提出了一种视频编码、解码、压缩方法和装置,属于通讯技术领域。本发明中通过获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;计算所述编码块及运动估计参考块的加权系数和/或偏移量;并对应的计算所述编码块及运动估计参考块的所述参考模板的参考加权系数和/或参考偏移量;根据所述加权系数与所述参考加权系数获取获取加权系数差和/或偏移量差;将所述加权系数差和/或偏移量差。本发明实施例中只需将加权系数差发送到解码端,可以降低需要传递的加权系数所占的字节数。

Description

视频编码、解码方法和装置
技术领域
本发明涉及通讯领域,特别涉及一种视频编码、解码方法和装置。
背景技术
随着信息技术的不断发展,人们对视频通讯的需求不断提高,由于原始视频数据需要巨大的存储空间和传输带宽,高效的视频压缩技术成为解决这一困境的有效手段。传统的压缩标准主要以平稳的视频序列作为研究基础,所以产生的压缩技术主要也适用于这类视频序列。照相机的闪光、阳光或者灯光的变化以及视频的淡出淡入等效果都没有考虑到压缩技术中来。
由于现有技术中没有将照相机的闪光、阳光或者灯光的变化以及视频的淡出淡入等效果都没有考虑到压缩技术中来,这就造成了现有的大多数压缩技术无法处理这些特殊的视频,最终导致压缩效率不高的结果。H.264/AVC视频编码标准虽然提出了一种针对整帧图像计算出加权系数的方法,但是由于亮度的变化具有渐变性以及区域性,这种全局的技术方案同样会存在压缩效率不高的问题。
发明内容
为了解决现有技术压缩技术存在缺陷造成的压缩效率不高的问题,本发明提出了一种视频编码、解码方法和装置。所述技术方案如下:
本发明实施例提出了一种视频编码方法,包括:
获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
计算所述编码块及运动估计参考块的加权系数、或偏移量、或同时计算加权系数和偏移量;并对应的计算所述编码块的参考模板和所述运动估计参考块的参考模板的参考加权系数、或参考偏移量、或同时计算参考加权系数和参考偏移量;
根据所述加权系数与所述参考加权系数获取加权系数差,或根据所述偏移量及参考偏移量获取偏移量差,或同时获取所述加权系数差和偏移量差;将所述加权系数差、或偏移量差、或所述加权系数差和偏移量差编码写入码流。
本发明实施例还提出了一种视频编码装置,包括:
第一获取模块,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
第一计算模块,用于获取所述编码块及运动估计参考块的加权系数、或偏移量、或加权系数和偏移量;对应的计算所述编码块的参考模板和所述运动估计参考块的参考模板的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量
差值计算模块,用于根据所述加权系数与所述参考加权系数获取加权系数差,或根据所述偏移量及参考偏移量获取偏移量差,或同时获取所述加权系数差和偏移量差;将所述加权系数差、或偏移量差、或所述加权系数差和偏移量差编码写入码流。
本发明实施例还提出了一种视频解码方法,包括:
获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
根据所述编码块的参考模板和所述运动估计参考块的参考模板计算参考加权系数、或参考偏移量、或加权系数和偏移量;
根据获得的编码端的加权系数差、或偏移量差、或加权系数差和偏移量差,以及对应的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量,重构获得加权系数、或偏移量、或同时重构出加权系数和偏移量。
本发明实施例还提出了一种视频解码装置,包括:
第二获取模块,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
第二计算模块,用于根据所述编码块的参考模板及所述运动估计参考块的参考模板计算参考加权系数、或参考偏移量、或加权系数和偏移量;
重构模块,用于根据获得的编码端的加权系数差、或偏移量差、或加权系数差和偏移量差,以及对应的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量,重构获得加权系数、或偏移量、或同时重构出加权系数和偏移量。
本发明实施例提供的技术方案通过在编码块及运动估计参考块上添加参考模板来计算参考加权系数及参考偏差量,并通过编码块及运动估计参考块计算加权系数及偏差量,这样通过相减获得加权系数差及偏移量差,并将加权系数差及偏移量差发送到解码端,以此来提高压缩效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中使用的附图作一简单地介绍,显而易见地,下面所列附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例的流程示意图;
图2为编码帧和参考帧及一种参考模板的结构示意图;
图3为另一种参考模板的结构示意图;
图4为又一种参考模板的结构示意图;
图5为本发明第三实施例的结构示意图;
图6为本发明第五实施例的流程示意图;
图7为本发明第七实施例的结构示意图;
图8为本发明第九实施例的流程示意图;
图9为本发明第十一实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明第一实施例提出了一种视频编码方法,其流程如图1所示,包括:
步骤101、获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
步骤102、计算所述编码块及运动估计参考块的加权系数、或偏移量、或同时计算加权系数和偏移量;并对应的计算所述编码块的参考模板及所述运动估计参考块的参考模板的参考加权系数、或参考偏移量、或同时计算参考加权系数和参考偏移量;
步骤103、根据所述加权系数与所述参考加权系数获取加权系数差,或根据所述偏移量及参考偏移量获取偏移量差,或同时获取所述加权系数差和偏移量差;将所述加权系数差、或偏移量差、或所述加权系数差和偏移量差编码写入码流。
本发明实施例提出了一种视频编码方法,可以将加权系数差和/或偏移量差发送到解码端,以此来提高压缩效率。本发明实施例中只需将加权系数差发送到解码端,可以降低需要传递的加权系数所占的字节数。
实施例2
本发明第二实施例是在第一实施例的基础上改进而来,包括:
步骤201、获取如图2所示的当前编码帧Ft,并获取参考帧Ft-1;根据编码帧Ft中的编码块C,获取其在参考帧Ft-1中的运动估计参考块R1或R2。
由于编码、解码时是一帧接一帧进行的,因此参考帧Ft-1是已经获得的,且其中的运动估计参考块R1或R2也是已经可以获得的。而对于第一帧是一个特例,第一帧没有参考帧,因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、解码。
步骤202、如图2所示的,在所述的编码块C及运动估计参考块R1或R2的的相邻区域构建参考模板。
由于现有技术中的编码、解码都是从每一帧中一行、一行进行的,因此对于如图2所示的编码块添加的参考模板Y是已知的。而对于参考帧Ft-1的运动估计参考块R1或R2的参考模板X1或X2也是已知的。当然,图2所示的是在编码块C的上方和左侧添加参考模板Y,还可以如图3所示的仅在上方添加参考模板Y,或是如图4所示的仅在左侧添加参考模板Y。
步骤203、通过编码帧的编码块C及参考帧的运动估计参考块R1或R2,利用least squaresestimation(加权最小二乘估计)计算加权系数scalei
scale i = NΣ r i c i - Σ c i Σ r i NΣ c i 2 - ( Σ c i ) 2 = E ( CR ) - E ( R ) E ( C ) E ( C 2 ) - E 2 ( C )
其中i取值为1至N;N为编码块C中的像素点总数;C为编码块C中的所有像素点构成的矢量集合;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为平均值。
步骤204、通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考加权系数scale′i
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) .
其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值。
步骤205、通过编码帧的编码块C及参考帧的运动估计参考块R1或R2,计算偏移量offseti
计算offseti的方式可以为多种,例如通过以下公式计算计算偏移量:
offseti=E(C)-E(R)×scalei
其中E(R2)-E2(R)=0,且scalei=1;其中i为像素数且取值为1至N;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为平均值
通过以下公式计算计算偏移量:
offset i = ( Σ i = 0 2 N - 1 ( c i - r i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
步骤206、通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值;
通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
步骤207、根据加权系数与参考加权系数获取加权系数差Δscalei=scalei-scale′i;根据参考偏移量及偏移量获取偏移量差Δoffseti=offseti-offset′i
本发明实施例提出的视频编码方法,可以简单的计算出加权系数和偏移量,以及参考加权系数和参考偏移量,以降低编码端的计算量。在本发明实施例中,可以计算加权系数或偏移量,或同时计算加权系数和偏移量;然后计算加权系数差或偏移量差,或同时计算加权系数差和偏移量差。上述的步骤201-207是以同时计算加权系数差和偏移量差的方法。本领域技术人员可以理解,当只计算加权系数时,可以省略步骤205-206以及步骤207的后半部分;当只计算偏移量时,可以省略步骤203-204以及步骤207的前半部分。
实施例3
本发明第三实施例提出了一种视频编码装置,其结构如图5所示,包括:
第一获取模块11,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
第一计算模块12,用于获取所述编码块及运动估计参考块的加权系数、或偏移量、或同时获取加权系数和偏移量;并对应的计算所述编码块的参考模板及所述运动估计参考块的参考模板的参考加权系数、或参考偏移量、或同时计算参考加权系数和参考偏移量;
差值计算模块13,用于根据所述加权系数与所述参考加权系数获取加权系数差,或根据所述偏移量及参考偏移量获取偏移量差,或同时获取所述加权系数差和偏移量差;将所述加权系数差、或偏移量差、或同时将所述加权系数差和偏移量差编码写入码流。
本发明实施例提出了一种视频编码装置,可以将加权系数差及偏移量差发送到解码端,以此来提高压缩效率。本发明实施例中只需将加权系数差发送到解码端,可以降低需要传递的加权系数所占的字节数。
实施例4
本发明第四实施例是在第三实施例的基础上改进而来,包括:
第一获取模块11,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板。
其中,第一获取模块11包括:
第一参考帧获取单元,用于获取如图2所示的当前编码帧Ft,并获取参考帧Ft-1;根据编码帧Ft中的编码块C,获取其在参考帧Ft-1中的运动估计参考块R1或R2。
由于编码、解码时是一帧接一帧进行的,因此参考帧Ft-1是已经获得的,且其中的运动估计参考块R1或R2也是已经可以获得的。而对于第一帧是一个特例,第一帧没有参考帧,因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、解码。
第一参考模板获取单元,用于如图2所示的,在所述的编码块C及运动估计参考块R1或R2的上方和/或左侧添加参考模板。
由于现有技术中的编码、解码都是从每一帧中一行、一行进行的,因此对于如图2所示的编码块添加的参考模板Y是已知的。而对于参考帧Ft-1的运动估计参考块R1或R2的参考模板X1或X2也是已知的。当然,图2所示的是在编码块C的上方和左侧添加参考模板Y,还可以如图3所示的仅在上方添加参考模板Y,或是如图4所示的仅在左侧添加参考模板Y。
第一计算模块12,用于用于获取所述编码块及运动估计参考块的加权系数、或偏移量、或同时计算加权系数和偏移量;并对应的获取所述编码块及运动估计参考块的所述参考模板的参考加权系数、或参考偏移量、或同时计算参考加权系数和参考偏移量。
其中,第一计算模块12包括:第一加权系数计算单元及第一参考加权系数计算单元,和/或第一偏移量计算单元及第一参考偏移量计算单元。这是由于在本发明实施例中,可以计算加权系数或偏移量,或同时计算加权系数和偏移量。然后计算加权系数差或偏移量差,或同时计算加权系数差和偏移量差,然后重构获得加权系数和/或偏移量。这三种方式都可以提高压缩效率,并降低需要传递的加权系数所占的字节数。
下面以同时计算加权系数和偏移量为例进一步说明;本领域内技术人员可以理解,如果只计算加权系数或偏移量之中的一个时,只需删除相应的单元即可。
第一加权系数计算单元,用于通过编码帧的编码块C及参考帧的运动估计参考块R1或R2,利用least squares estimation(加权最小二乘估计)计算加权系数scalei
scale i = NΣ r i c i - Σ c i Σ r i NΣ c i 2 - ( Σ c i ) 2 = E ( CR ) - E ( R ) E ( C ) E ( C 2 ) - E 2 ( C )
其中i取值为1至N;N为编码块C中的像素点总数;C为编码块C中的所有像素点构成的矢量集合;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为平均值。
第一参考加权系数计算单元,用于通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考加权系数scale′i
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) ;
其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值。
第一偏移量计算单元,用于通过编码帧的编码块C及参考帧的运动估计参考块R1或R2,计算偏移量offseti
计算offseti的方式可以为多种,例如通过以下公式计算计算偏移量:
offseti=E(C)-E(R)×scalei
其中E(R2)-E2(R)=0,且scalei=1;其中i为像素数且取值为1至N;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为平均值
通过以下公式计算计算偏移量:
offset i = ( Σ i = 0 2 N - 1 ( c i - r i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
第一参考偏移量计算单元,用于通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值;
通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
差值计算模块13,用于获取所述加权系数与所述参考加权系数获取加权系数差,和/或根据所述偏移量及参考偏移量获取偏移量差,将加权系数差和/或偏移量差编码写入码流。
本发明实施例提出的视频编码装置,可以简单的计算出加权系数和偏移量,以及参考加权系数和参考偏移量,以降低编码端的计算量。
需要说明的是:上述实施例提供的视频编码装置在进行编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频编码装置与视频编码方法实施例属于同一构思,其具体实现过程详见第一、第二实施例,这里不再赘述。
实施例5
本发明第五实施例提出了一种视频解码方法,与前述的第一、第二实施例的视频编码方式配合使用,或是与前述的第三、第四实施例的视频编码装置配合使用。其流程如图6所示,包括:
步骤301、获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
步骤302、根据所述编码块的参考模板及所述运动估计参考块的参考模板,计算参考加权系数、或参考偏移量、或同时计算参考加权系数和参考偏移量;
步骤303、根据获得的编码端的加权系数差、或偏移量差、或加权系数差和偏移量差,以及对应的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量,重构获得加权系数、或偏移量、或同时重构出加权系数和偏移量。
本发明实施例提出了一种视频解码方法,是配合前述的第一、第二实施例的方法,或第三、第四实施例的装置一起使用。由于前述实施例中,可以通过加权系数和/或偏移量三种方式进行编码,因此在本实施例中,应采用与前述实施例对应的解码方法。本发明实施例可以通过从编码端获取的加权系数差及偏移量差,重构出加权系数及偏移量,以此来提高压缩效率。本发明实施例中只需将加权系数差发送到解码端,可以降低需要传递的加权系数所占的字节数。
实施例6
本发明第六实施例是在第五实施例的基础上改进而来,包括:
步骤401、获取如图2所示的当前编码帧Ft,并获取参考帧Ft-1;根据编码帧Ft中的编码块C,获取其在参考帧Ft-1中的运动估计参考块R1或R2。
在步骤401中可以采用与步骤201的方式获得,在此不再赘述。
步骤402、通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考加权系数scale′i
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) ;
其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值。
其方法与步骤205相同,在此不再赘述。
步骤403、通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值;
通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
其方法与步骤206相同,在此不再赘述。
步骤404、根据从编码端获得的加权系数差Δscslei及偏移量差Δffseti,以及参考加权系数scale′i及参考偏移量offset′i,重构获得获取编码块C的加权系数及偏移量。
scalei=Δscalei+scalei
offseti=Δoffseti+offset′i
步骤404为前述的步骤207的逆推。
进一步的,还可以包括:
步骤405、利用真实的加权系数对参考块进行修正得到所需的当前块的预测参考块;R=R1*scalei+offseti;利用修正后的R与解码得到的残差信号重建当前块。
本发明实施例提出的视频解码方法,可以简单的计算出加权系数和偏移量,以及参考加权系数和参考偏移量,以降低解码端的计算量。本发明实施例提出了一种视频解码方法,是配合前述的第一、第二实施例的方法,或第三、第四实施例的装置一起使用。由于前述实施例中,可以通过加权系数和/或偏移量三种方式进行编码,因此在本实施例中,应采用与前述实施例对应的解码方法。在本发明实施例中,是根据编码端所发送的加权系数差和/或偏移量差,相应的重构获得加权系数和/或偏移量。上述的步骤401-404是以同时获得编码端的加权系数差和偏移量差的方法。本领域技术人员可以理解,当获取的只是加权系数时,可以省略步骤403以及步骤404的后半部分;当获取的只是偏移量时,可以省略步骤402以及步骤404的前半部分。
实施例7
本发明第七实施例提出了一种视频解码装置,与前述的第一、第二实施例的视频编码方式配合使用,或是与前述的第三、第四实施例的视频编码装置配合使用。其结构如图7所示,包括:
第二获取模块21,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
第二计算模块22,用于根据所述编码块的参考模板及所述运动估计参考块的参考模板,计算参考加权系数、或参考偏移量、或同时计算参考加权系数和参考偏移量;
重构模块23,用于根据获得的编码端的加权系数差、或偏移量差、或加权系数差和偏移量差,以及对应的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量,重构获得加权系数、或偏移量、或同时重构出加权系数和偏移量。
本发明实施例提出了一种视频解码装置,是配合前述的第一、第二实施例的方法,或第三、第四实施例的装置一起使用。由于前述实施例中,可以通过加权系数和/或偏移量三种方式进行编码,因此在本实施例中,应采用与前述实施例对应的解码方法。本发明实施例可以通过从编码端获取的加权系数差及偏移量差,重构出加权系数及偏移量,以此来提高压缩效率。本发明实施例中只需将加权系数差发送到解码端,可以降低需要传递的加权系数所占的字节数。
实施例8
本发明第八实施例是在第七实施例的基础上改进而来,包括:
第二获取模块21,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;并在编码块及运动估计参考块的相邻区域构建与编码端对应的参考模板。
所述第二获取单元21包括:
第一参考帧获取单元,用于获取如图2所示的当前编码帧Ft,并获取参考帧Ft-1;根据编码帧Ft中的编码块C,获取其在参考帧Ft-1中的运动估计参考块R1或R2。
由于编码、解码时是一帧接一帧进行的,因此参考帧Ft-1是已经获得的,且其中的运动估计参考块R1或R2也是已经可以获得的。而对于第一帧是一个特例,第一帧没有参考帧,因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、解码。
第一参考模板获取单元,用于如图2所示的,在所述的编码块C及运动估计参考块R1或R2的上方和/或左侧添加参考模板。
由于现有技术中的编码、解码都是从每一帧中一行、一行进行的,因此对于如图2所示的编码块添加的参考模板Y是已知的。而对于参考帧Ft-1的运动估计参考块R1或R2的参考模板X1或X2也是已知的。当然,图2所示的是在编码块C的上方和左侧添加参考模板Y,还可以如图3所示的仅在上方添加参考模板Y,或是如图4所示的仅在左侧添加参考模板Y。
第二计算模块22,用于根据所述编码块及运动估计参考块的参考模板计算参考加权系数和/或参考偏移量。
其中,第二计算模块22包括:第二参考加权系数计算单元,和/或第二参考加权系数计算单元。这是由于在本发明实施例的视频解码装置,是根据接收到的编码端的加权系数差和/或偏移量差来进行重构的。如前述的第一、第二实施例和第三、第四实施例中,编码端可以计算加权系数和/或偏移量。这三种方式都可以提高压缩效率,并降低需要传递的加权系数所占的字节数。
下面以编码端同时计算加权系数和偏移量为例进一步说明;本领域内技术人员可以理解,如果编码端只计算加权系数或偏移量之中的一个时,只需在解码端删除相应的单元即可。
所述第二计算模块22包括:
第二参考加权系数计算单元,用于通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考加权系数scale′i
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) .
其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值。
第二参考偏移量计算单元,用于通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值;
通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
重构模块23,用于根据获得的编码端的加权系数差和/或偏移量差,以及对应的参考加权系数和/或参考偏移量,重构获得加权系数及偏移量。
与前述相同的,下面以编码端同时计算加权系数和偏移量为例进一步说明;本领域内技术人员可以理解,如果编码端只计算加权系数或偏移量之中的一个时,只需在解码端删除相应的单元即可。
其中,重构模块23包括:
加权系数差计算单元,用于根据所述加权系数及所述参考加权系数获取加权系数差Δscalei=scalei-scale′i
偏移量差计算单元,用于根据所述参考偏移量及所述偏移量获取偏移量差Δoffseti=offseti-offset′i
重构模块23为差值计算模块13的逆推。
本发明实施例提出的视频解码装置,可以简单的计算出加权系数和偏移量,以及参考加权系数和参考偏移量,以降低解码端的计算量。本发明实施例提出了一种视频解码装置,是配合前述的第一、第二实施例的方法,或第三、第四实施例的装置一起使用。
需要说明的是:上述实施例提供的视频解码装置在进行解码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频解码装置与视频解码方法实施例属于同一构思,其具体实现过程详见第五、第六实施例,这里不再赘述。
实施例9
本发明第九实施例提出了一种视频压缩方法,其流程如图8所示,包括:
步骤501、编码端获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块及运动估计参考块的相邻区域构建参考模板;
步骤502、编码端根据所述编码块及运动估计参考块计算加权系数、或偏移量、或同时计算加权系数和偏移量;并相应的根据所述编码块的参考模板计及运动估计参考块的参考模板,计算参考加权系数、或参考偏移量、或同时计算参考加权系数和参考偏移量;
步骤503、编码端根据所述加权系数与所述参考加权系数获取加权系数差,或根据所述偏移量及参考偏移量获取偏移量差,或同时获取加权系数差和偏移量差;将加权系数差、或偏移量差、或加权系数差和偏移量差编码写入码流发送到解码端;
步骤504、解码端获取所述编码端的加权系数差和/或偏移量差;
步骤505、解码端获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;并在编码块及运动估计参考块的相邻区域构建与编码端对应的参考模板;
步骤506、解码端根据所述编码块的参考模板及运动估计参考块的参考模板,计算参考加权系数、或参考偏移量、或参考加权系数和参考偏移量;
步骤507、解码端根据获得的加权系数差和/或偏移量差,以及对应的编码端的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量,重构获得获取编码块的加权系数、或偏移量、或加权系数和偏移量。
本发明实施例提出了一种视频压缩方法,解码端可以通过从编码端获取的加权系数差及偏移量差,重构出加权系数及偏移量,以此来提高压缩效率。本发明实施例中只需将加权系数差发送到解码端,可以降低需要传递的加权系数所占的字节数。在本发明实施例中,编码端可以计算加权系数或偏移量,或同时计算加权系数和偏移量;然后计算加权系数差或偏移量差,或同时计算加权系数差和偏移量差。这三种方式都可以实现本发明的发明目的。同样的,解码端可以采用与编码段相同的方式来重构。
实施例10
本发明第十实施例是在第九实施例的基础上改进而来,包括:
步骤601、获取如图2所示的当前编码帧Ft,并获取参考帧Ft-1;根据编码帧Ft中的编码块C,获取其在参考帧Ft-1中的运动估计参考块R1或R2。
由于编码、解码时是一帧接一帧进行的,因此参考帧Ft-1是已经获得的,且其中的运动估计参考块R1或R2也是已经可以获得的。而对于第一帧是一个特例,第一帧没有参考帧,因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、解码。
步骤602、在所述的编码块及运动估计参考块的相邻区域构建添加参考模板。
由于现有技术中的编码、解码都是从每一帧中一行、一行进行的,因此对于如图2所示的编码块添加的参考模板Y是已知的。而对于参考帧Ft-1的运动估计参考块R1或R2的参考模板X1或X2也是已知的。当然,图2所示的是在编码块C的上方和左侧添加参考模板Y,还可以如图3所示的仅在上方添加参考模板Y,或是如图4所示的仅在左侧添加参考模板Y。
步骤603、编码端通过编码帧的编码块C及参考帧的运动估计参考块R1或R2,利用leastsquares estimation(加权最小二乘估计)计算加权系数scalei
scale i = NΣ r i c i - Σ c i Σ r i NΣ c i 2 - ( Σ c i ) 2 = E ( CR ) - E ( R ) E ( C ) E ( C 2 ) - E 2 ( C )
其中i取值为1至N;N为编码块C中的像素点总数;C为编码块C中的所有像素点构成的矢量集合;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为平均值。
步骤604、通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考加权系数scale′i
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) .
其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值。
步骤604、通过编码帧的编码块C及参考帧的运动估计参考块R1或R2,计算偏移量offseti
通过以下公式计算计算偏移量:
offseti=E(C)-E(R)×scalei
其中E(R2)-E2(R)=0,且scalei=1;其中i为像素数且取值为1至N;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为平均值
通过以下公式计算计算偏移量:
offset i = ( Σ i = 0 2 N - 1 ( c i - r i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
步骤606、通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值;
通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
步骤607、编码端根据加权系数与参考加权系数获取加权系数差Δscalei=scalei-scale′i;根据参考偏移量及偏移量获取偏移量差Δoffseti=offseti-offset′i
步骤608、解码端获取所述加权系数差Δscalei及偏移量差Δoffseti。获取的方法可以为:编码端将该加权系数差Δscalei及偏移量差Δffseti添加到数据包的包头,并发送到解码端。当然这只是实现本发明的一个方式,本发明实施例并不对解码端获取该加权系数差Δscalei及偏移量差Δoffseti的方式做出限定。
步骤609、解码端获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;并在编码块及运动估计参考块上添加与编码端对应的参考模板。
在步骤609中只需限定解码端与编码段采用相同的方式添加参考模板即可,因此步骤609的方法与步骤601至602的方法相同,在此不再赘述。
步骤610、解码端根据所述编码块及运动估计参考块的参考模板计算参考加权系数及参考偏移量。
在步骤610中可以采用如步骤605至606的相同的方法计算获得,在此不再赘述。
步骤611、解码端根据从编码端获得的加权系数差Δscalei及偏移量差Δoffseti,以及参考加权系数scale′i及参考偏移量offset′i,重构获得获取编码块C的加权系数及偏移量。
scalei=Δscalei+scalei
offseti=Δoffseti+offset′i
该步骤611即为步骤607的逆推,可以重构出编码块C的加权系数及偏移量。
进一步的,所述方法还可以包括:
步骤612、利用真实的加权系数对参考块进行修正得到所需的当前块的预测参考块;R=Ri*scalei+offeeti;利用修正后的R与解码得到的残差信号重建当前块。
本发明实施例提出的视频压缩方法,可以简单的计算出加权系数和偏移量,以及参考加权系数和参考偏移量,以降低编码端和解码端的计算量。如前面的实施例所述的,上述的步骤601-611是以编码端同时计算加权系数和偏移量为例进行的说明。当编码端只计算加权系数,或是只计算偏移量时,则可以相应的删除编码端的步骤。同时解码端也采用与编码端相同的方式删除相应的步骤,在此不再赘述。
实施例11
本发明第十一实施例提出了一种视频压缩装置,其结构如图9所示,包括:编码端1及解码端2;
所述编码端1包括:
第一获取模块11,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;还用于在所述的编码块及运动估计参考块的相邻区域构建参考模板;
第一计算模块12,用于根据所述编码块及运动估计参考块计算加权系数、或偏移量或同时计算加权系数和偏移量;并相应的根据所述编码块的参考模板及运动估计参考块的参考模板,计算参考加权系数、或参考偏移量、或同时计算参考加权系数和参考偏移量;
差值计算模块13,用于根据所述加权系数与所述参考加权系数获取加权系数差,或根据所述偏移量及参考偏移量获取偏移量差;或根据所述加权系数和参考加权系数及偏移量和参考偏移量同时获取加权系数差偏移量差;将加权系数差、或偏移量差、或加权系数差和偏移量差编码写入码流发送到解码端;
解码端2包括:
第二获取模块21,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;并在编码块及运动估计参考块的相邻区域构建与编码端对应的参考模板;
第二计算模块22,用于根据所述编码块的参考模板及运动估计参考块的参考模板,计算参考加权系数、或参考偏移量、或参考加权系数和参考偏移量;
重构模块23,用于根据获得的编码端的加权系数差和/或偏移量差,以及对应的编码端的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量,重构获得加权系数及偏移量。
本发明实施例提出了一种视频压缩装置,解码端可以通过从编码端获取的加权系数差及偏移量差,重构出加权系数及偏移量,以此来提高压缩效率。本发明实施例中只需将加权系数差发送到解码端,可以降低需要传递的加权系数所占的字节数。
实施例12
本发明第十二实施例是在是在第十一实施例的基础上改进而来,包括:编码端1及解码端2;
编码端1包括:
第一获取模块11,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;还用于在所述的编码块及运动估计参考块的相邻区域构建参考模板。
其中,第一获取模块11包括:
第一参考帧获取单元,用于获取如图2所示的当前编码帧Ft,并获取参考帧Ft-1;根据编码帧Ft中的编码块C,获取其在参考帧Ft-1中的运动估计参考块R1或R2。
由于编码、解码时是一帧接一帧进行的,因此参考帧Ft-1是已经获得的,且其中的运动估计参考块R1或R2也是已经可以获得的。而对于第一帧是一个特例,第一帧没有参考帧,因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、解码。
第一参考模板获取单元,用于如图2所示的,在所述的编码块C及运动估计参考块R1或R2的上方和/或左侧添加参考模板。
由于现有技术中的编码、解码都是从每一帧中一行、一行进行的,因此对于如图2所示的编码块添加的参考模板Y是已知的。而对于参考帧Ft-1的运动估计参考块R1或R2的参考模板X1或X2也是已知的。当然,图2所示的是在编码块C的上方和左侧添加参考模板Y,还可以如图3所示的仅在上方添加参考模板Y,或是如图4所示的仅在左侧添加参考模板Y。
第一计算模块12,用于根据所述编码块及运动估计参考块计算加权系数和/或偏移量;并根据所述编码块及运动估计参考块的参考模板计算参考加权系数和/或参考偏移量。
其中,第一计算模块12包括:第一加权系数计算单元及第一参考加权系数计算单元,和/或第一偏移量计算单元及第一参考偏移量计算单元。这是由于在本发明实施例中,可以计算加权系数或偏移量,或同时计算加权系数和偏移量。然后计算加权系数差或偏移量差,或同时计算加权系数差和偏移量差,然后重构获得加权系数和/或偏移量。这三种方式都可以提高压缩效率,并降低需要传递的加权系数所占的字节数。
下面以同时计算加权系数和偏移量为例进一步说明;本领域内技术人员可以理解,如果只计算加权系数或偏移量之中的一个时,只需删除相应的单元即可。
第一加权系数计算单元,用于通过编码帧的编码块C及参考帧的运动估计参考块R1或R2,利用least squares estimation(加权最小二乘估计)计算加权系数scalei
scale i = NΣ r i c i - Σ c i Σ r i NΣ c i 2 - ( Σ c i ) 2 = E ( CR ) - E ( R ) E ( C ) E ( C 2 ) - E 2 ( C )
其中i取值为1至N;N为编码块C中的像素点总数;C为编码块C中的所有像素点构成的矢量集合;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,....rN];E为平均值。
第一参考加权系数计算单元,用于通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考加权系数scale′i
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) ;
其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值。
第一偏移量计算单元,用于通过编码帧的编码块C及参考帧的运动估计参考块R1或R2,计算偏移量offseti
通过以下公式计算计算偏移量:
offseti=E(C)-E(R)×scalei
其中E(R2)-E2(R)=0,且scalei=1;其中i为像素数且取值为1至N;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为平均值
通过以下公式计算计算偏移量:
offset i = ( Σ i = 0 2 N - 1 ( c i - r i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
第一参考偏移量计算单元,用于通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值;
通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
差值计算模块13,用于获取所述加权系数与所述参考加权系数获取加权系数差,和/或根据所述偏移量及参考偏移量获取偏移量差,将加权系数差和/或偏移量差编码写入码流。
解码端2包括:
第二获取模块21,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;并在编码块及运动估计参考块的相邻区域构建与编码端对应的参考模板。
所述第二获取单元21包括:
第一参考帧获取单元,用于获取如图2所示的当前编码帧Ft,并获取参考帧Ft-1;根据编码帧Ft中的编码块C,获取其在参考帧Ft-1中的运动估计参考块R1或R2。
由于编码、解码时是一帧接一帧进行的,因此参考帧Ft-1是已经获得的,且其中的运动估计参考块R1或R2也是已经可以获得的。而对于第一帧是一个特例,第一帧没有参考帧,因此本发明实施例中对第一帧可以采用现有技术中的方式进行编码、解码。
第一参考模板获取单元,用于如图2所示的,在所述的编码块C及运动估计参考块R1或R2的上方和/或左侧添加参考模板。
由于现有技术中的编码、解码都是从每一帧中一行、一行进行的,因此对于如图2所示的编码块添加的参考模板Y是已知的。而对于参考帧Ft-1的运动估计参考块R1或R2的参考模板X1或X2也是已知的。当然,图2所示的是在编码块C的上方和左侧添加参考模板Y,还可以如图3所示的仅在上方添加参考模板Y,或是如图4所示的仅在左侧添加参考模板Y。
第二计算模块22,用于根据所述编码块及运动估计参考块的参考模板计算参考加权系数和/或参考偏移量。
其中,第二计算模块22包括:第二参考加权系数计算单元,和/或第二参考加权系数计算单元。这是由于在本发明实施例的视频解码装置,是根据接收到的编码端的加权系数差和/或偏移量差来进行重构的。如前述的第一、第二实施例和第三、第四实施例中,编码端可以计算加权系数和/或偏移量。这三种方式都可以提高压缩效率,并降低需要传递的加权系数所占的字节数。
下面以编码端同时计算加权系数和偏移量为例进一步说明;本领域内技术人员可以理解,如果编码端只计算加权系数或偏移量之中的一个时,只需在解码端删除相应的单元即可。
所述第二计算模块22包括:
第二参考加权系数计算单元,用于通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考加权系数scale′i
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) .
其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为平均值。
第二参考偏移量计算单元,用于通过编码块C的参考模板Y,及运动参考块R1或R2的参考模板X1或X2,计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scalei
重构模块23,用于根据获得的编码端的加权系数差和/或偏移量差,以及对应的参考加权系数和/或参考偏移量,重构获得加权系数及偏移量。
与前述相同的,下面以编码端同时计算加权系数和偏移量为例进一步说明;本领域内技术人员可以理解,如果编码端只计算加权系数或偏移量之中的一个时,只需在解码端删除相应的单元即可。
其中,重构模块23包括:
加权系数差计算单元,用于根据所述加权系数及所述参考加权系数获取加权系数差Δscalei=scalei-scalei
偏移量差计算单元,用于根据所述参考偏移量及所述偏移量获取偏移量差Δoffseti=offseti-offset′i
重构模块23为差值计算模块13的逆推。
本发明实施例提出的视频压缩装置,可以简单的计算出加权系数和偏移量,以及参考加权系数和参考偏移量,以降低解码端的计算量。如前面的实施例所述的,上述的装置是以编码端同时计算加权系数和偏移量为例进行的说明。当编码端只计算加权系数,或是只计算偏移量时,则可以相应的删除编码端的模块或单元。同时解码端也采用与编码端相同的方式删除相应的模块或单元,在此不再赘述。
需要说明的是:上述实施例提供的视频压缩装置在进行编码、解码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频压缩装置与视频压缩方法实施例属于同一构思,其具体实现过程详见第九、第十实施例,这里不再赘述。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种视频编码方法,其特征在于,包括:
获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
计算所述编码块及运动估计参考块的加权系数、或偏移量、或同时计算加权系数和偏移量;并对应的计算所述编码块的参考模板和所述运动估计参考块的参考模板的参考加权系数、或参考偏移量、或同时计算参考加权系数和参考偏移量;
根据所述加权系数与所述参考加权系数获取加权系数差,或根据所述偏移量及参考偏移量获取偏移量差,或同时获取所述加权系数差和偏移量差;将所述加权系数差、或偏移量差、或所述加权系数差和偏移量差编码写入码流。
2.根据权利要求1所述的视频编码方法,其特征在于,所述在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板包括:
在所述编码块和运动参考块的左侧添加参考模板;或在所述编码块和运动参考块的上方添加参考模板;或在所述编码块和运动参考块的左侧和上方都添加参考模板。
3.根据权利要求1或2所述的视频编码方法,其特征在于,所述根据所述编码块及运动估计参考块计算加权系数包括:
通过编码帧的编码块及参考帧的运动估计参考块计算加权系数scalei
scale i = NΣ r i c i - Σ c i Σ r i NΣ c i 2 - ( Σ c i ) 2 = E ( CR ) - E ( R ) E ( C ) E ( C 2 ) - E 2 ( C )
其中i为像素数且取值为1至N;N为编码块中的像素点总数;C为编码块中的所有像素点构成的矢量集合;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为取平均值。
4.根据权利要求1或2所述的视频编码方法,其特征在于,所述根据所述编码块及运动估计参考块计算偏移量包括:
通过以下公式计算计算偏移量:
offseti=E(C)-E(R)×scalei
其中E(R2)-E2(R)=0,且scalei=1;其中i为像素数且取值为1至N;C为编码块C中的所有像素点构成的矢量集合;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为取平均值
通过以下公式计算计算偏移量:
offset i = ( Σ i = 0 2 N - 1 ( c i - r i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
5.根据权利要求1或2所述的视频编码方法,其特征在于,所述根据所述编码块及运动估计参考块的参考模板计算参考加权系数包括:
通过以下公式计算计算参考加权系数scalei
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) ;
其中i为像素数且取值为1至N;X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为取平均值。
6.根据权利要求1或2所述的视频编码方法,其特征在于,所述根据所述编码块及运动估计参考块的参考模板计算参考偏移量包括:
通过以下公式计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为取平均值;
通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1,N为编码块C中的像素点总数。
7.一种视频编码装置,其特征在于,包括:
第一获取模块,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
第一计算模块,用于获取所述编码块及运动估计参考块的加权系数、或偏移量、或加权系数和偏移量;对应的计算所述编码块的参考模板和所述运动估计参考块的参考模板的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量
差值计算模块,用于根据所述加权系数与所述参考加权系数获取加权系数差,或根据所述偏移量及参考偏移量获取偏移量差,或同时获取所述加权系数差和偏移量差;将所述加权系数差、或偏移量差、或所述加权系数差和偏移量差编码写入码流。
8.根据权利要求7所述的视频编码装置,其特征在于,所述第一获取模块在所述编码块和运动参考块的左侧添加参考模板;或在所述编码块和运动参考块的上方添加参考模板;或在所述编码块和运动参考块的左侧和上方都添加参考模板。
9.根据权利要求7或8所述的视频编码装置,其特征在于,所述第一计算模块包括:
第一加权系数计算单元,用于通过编码帧的编码块及参考帧的运动估计参考块计算加权系数scalei
scale i = NΣ r i c i - Σ c i Σ r i NΣ c i 2 - ( Σ c i ) 2 = E ( CR ) - E ( R ) E ( C ) E ( C 2 ) - E 2 ( C )
其中i为像素数且取值为1至N;N为编码块中的像素点总数;C为编码块中的所有像素点构成的矢量集合;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为取平均值。
10.根据权利要求7或8所述的视频编码装置,其特征在于,所述第一计算模块还包括:
第一偏移量计算单元,用于通过以下公式计算计算偏移量:
offseti=E(C)-E(R)×scalei
其中E(R2)-E2(R)=0,且scalei=1;其中i为像素数且取值为1至N;C为编码块C中的所有像素点构成的矢量集合;C=[c1,c2,.....cN];R为运动估计参考块中的所有像素点构成的矢量集合;R=[r1,r2,.....rN];E为取平均值
用于通过以下公式计算计算偏移量:
offset i = ( Σ i = 0 2 N - 1 ( c i - r i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1。
11.根据权利要求7或8所述的视频编码装置,其特征在于,所述第一计算模块还包括:
第一参考加权系数计算单元,用于通过以下公式计算参考加权系数scale′i
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) ;
其中i为像素数且取值为1至N;N为编码块中的像素点总数;X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为取平均值。
12.根据权利要求7或8所述的视频编码装置,其特征在于,所述第一计算模块还包括:
第一参考偏移量计算单元,用于通过以下公式计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为取平均值;
用于通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1,N为编码块C中的像素点总数。
13.一种视频解码方法,其特征在于,包括:
获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
根据所述编码块的参考模板和所述运动估计参考块的参考模板计算参考加权系数、或参考偏移量、或加权系数和偏移量;
根据获得的编码端的加权系数差、或偏移量差、或加权系数差和偏移量差,以及对应的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量,重构获得加权系数、或偏移量、或同时重构出加权系数和偏移量。
14.根据权利要求13所述的视频解码方法,其特征在于,所述在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板包括:
在所述编码块和运动参考块的左侧添加参考模板;或在所述编码块和运动参考块的上方添加参考模板;或在所述编码块和运动参考块的左侧和上方都添加参考模板。
15.根据权利要求13或14所述的视频解码方法,其特征在于,所述根据所述编码块及运动估计参考块的参考模板计算参考加权系数包括:
通过以下公式计算参考加权系数scalei
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) ;
其中i为像素数且取值为1至N;N为编码块中的像素点总数;X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为取平均值。
16.根据权利要求13或14所述的视频解码方法,其特征在于,所述根据所述编码块及运动估计参考块的参考模板计算参考偏移量包括:
通过以下公式计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为取平均值;
通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1,N为编码块C中的像素点总数。
17.一种视频解码装置,其特征在于,包括:
第二获取模块,用于获取当前编码帧的编码块,及该编码块对应的参考帧的运动估计参考块;在所述的编码块的相邻区域构建参考模板,并在所述运动估计参考块的对应的相邻区域构建参考模板;
第二计算模块,用于根据所述编码块的参考模板及所述运动估计参考块的参考模板计算参考加权系数、或参考偏移量、或加权系数和偏移量;
重构模块,用于根据获得的编码端的加权系数差、或偏移量差、或加权系数差和偏移量差,以及对应的参考加权系数、或参考偏移量、或参考加权系数和参考偏移量,重构获得加权系数、或偏移量、或同时重构出加权系数和偏移量。
18.根据权利要求17所述的视频解码装置,其特征在于,所述第二获取模块在所述编码块和运动参考块的左侧添加参考模板;或在所述编码块和运动参考块的上方添加参考模板;或在所述编码块和运动参考块的左侧和上方都添加参考模板。
19.根据权利要求17或18所述的视频解码装置,其特征在于,所述第二计算模块包括:
第二参考加权系数计算单元,用于通过编码块的参考模板,及运动参考块的参考模板,计算参考加权系数scale′i
scale ′ i = NΣ x i y i - Σ y i Σ x i NΣ x i 2 - ( Σ x i ) 2 = E ( XY ) - E ( X ) E ( Y ) E ( X 2 ) - E 2 ( X ) ;
其中i为像素数且取值为1至N;N为编码块中的像素点总数;X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为取平均值。
20.根据权利要求17或18所述的视频解码装置,其特征在于,所述第二计算模块还包括:
第二参考偏移量计算单元,用于通过以下公式计算参考偏移量offset′i
offset′i=E(Y)-E(X)×scale′i
其中i为像素数且取值为1至N;其中X为编码块的参考模板中的所有像素点构成的矢量集合;X=[x1,x2,.....xN];Y为运动估计参考块的参考模板中的所有像素点构成的矢量集合;Y=[y1,y2,.....yN];E为取平均值;
用于通过以下公式计算计算偏移量:
offset ′ i = ( Σ i = 0 2 N - 1 ( x i - y i ) + 2 N - 1 ) > > N ;
其中参与计算的的像素数个数为2的正整数倍,且scalei=1,N为编码块C中的像素点总数。
CN201010295023.1A 2010-09-26 2010-09-26 视频编码、解码方法和装置 Active CN102413326B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010295023.1A CN102413326B (zh) 2010-09-26 2010-09-26 视频编码、解码方法和装置
PCT/CN2011/074900 WO2011150804A1 (zh) 2010-09-26 2011-05-30 视频编码、解码方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010295023.1A CN102413326B (zh) 2010-09-26 2010-09-26 视频编码、解码方法和装置

Publications (2)

Publication Number Publication Date
CN102413326A CN102413326A (zh) 2012-04-11
CN102413326B true CN102413326B (zh) 2014-04-30

Family

ID=45066168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010295023.1A Active CN102413326B (zh) 2010-09-26 2010-09-26 视频编码、解码方法和装置

Country Status (2)

Country Link
CN (1) CN102413326B (zh)
WO (1) WO2011150804A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539967B (zh) * 2015-01-15 2017-07-28 哈尔滨工业大学 混合视频编码标准中帧间预测方法
CN113973202A (zh) * 2021-10-12 2022-01-25 百果园技术(新加坡)有限公司 视频编码方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1809839A (zh) * 2003-06-23 2006-07-26 维切普公司 自适应的多维信号序列编码/解码方法和装置
WO2007094792A1 (en) * 2006-02-17 2007-08-23 Thomson Licensing Localized weighted prediction handling video data brightness variations
CN101208958A (zh) * 2005-06-24 2008-06-25 三星电子株式会社 使用基于多层的加权预测的视频编码方法和装置
CN101557514A (zh) * 2008-04-11 2009-10-14 华为技术有限公司 一种帧间预测编解码方法、装置及系统
CN101783956A (zh) * 2010-02-03 2010-07-21 武汉大学 基于时空邻居信息的后向预测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10341440A (ja) * 1997-06-06 1998-12-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法および装置
CN1939065A (zh) * 2004-03-31 2007-03-28 皇家飞利浦电子股份有限公司 视频数据的运动估计和分段

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1809839A (zh) * 2003-06-23 2006-07-26 维切普公司 自适应的多维信号序列编码/解码方法和装置
CN101208958A (zh) * 2005-06-24 2008-06-25 三星电子株式会社 使用基于多层的加权预测的视频编码方法和装置
WO2007094792A1 (en) * 2006-02-17 2007-08-23 Thomson Licensing Localized weighted prediction handling video data brightness variations
CN101557514A (zh) * 2008-04-11 2009-10-14 华为技术有限公司 一种帧间预测编解码方法、装置及系统
CN101783956A (zh) * 2010-02-03 2010-07-21 武汉大学 基于时空邻居信息的后向预测方法

Also Published As

Publication number Publication date
CN102413326A (zh) 2012-04-11
WO2011150804A1 (zh) 2011-12-08

Similar Documents

Publication Publication Date Title
CN111405283B (zh) 基于深度学习的端到端视频压缩方法、系统及存储介质
CN107105278B (zh) 运动矢量自动生成的视频编解码系统
CN103813174B (zh) 一种混合分辨率编解码方法和装置
CN102595135B (zh) 一种可伸缩视频编码的方法及装置
CN101816183A (zh) 使用子像素运动估计对图像进行帧间预测编码/解码的方法和设备
CN103493481A (zh) 基于场景的适应性比特率控制
CN103618907A (zh) 基于压缩感知多视点分布式视频编码及帧排列装置及方法
CN100355290C (zh) 数据处理装置及其方法以及编码装置和解码装置
CN107623857A (zh) 视频编码/解码方法、设备以及生成和存储比特流的方法
CN102769747A (zh) 一种基于并行迭代的分级分布式视频编解码方法及系统
CN102883161B (zh) 视频编码和解码的处理方法和装置
CN102256133A (zh) 一种基于边信息精化的分布式视频编码及解码方法
CN101883284A (zh) 基于背景建模和可选差分模式的视频编/解码方法及系统
CN102917226B (zh) 一种基于自适应下采样与插值的帧内帧视频编码方法
CN110677654A (zh) 高效视频编码标准低时延编码结构的量化参数级联方法
CN102075743B (zh) 视频编码方法及装置、视频解码方法及装置
CN104333757A (zh) 基于cs测量值多描述的视频编解码方法
CN102595132A (zh) 一种应用于无线传感器网络的分布式视频编解码方法
CN102413326B (zh) 视频编码、解码方法和装置
CN101568038B (zh) 基于视差/运动联合估计的多视点容错编码框架
CN102630008B (zh) 无线视频传输方法及终端
CN102223537B (zh) 基于压缩感知的多视角分布式视频编解码系统及其方法
CN103634608A (zh) 一种高性能视频编码无损模式的残差变换方法
CN100574440C (zh) 一种基于像素行重排的图像和视频抗误码方法
CN101986713B (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