CN103581688A - 一种视频图像的编码和解码方法及装置 - Google Patents

一种视频图像的编码和解码方法及装置 Download PDF

Info

Publication number
CN103581688A
CN103581688A CN201210274097.6A CN201210274097A CN103581688A CN 103581688 A CN103581688 A CN 103581688A CN 201210274097 A CN201210274097 A CN 201210274097A CN 103581688 A CN103581688 A CN 103581688A
Authority
CN
China
Prior art keywords
block
vector
dct coefficient
nonzero element
value
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
CN201210274097.6A
Other languages
English (en)
Other versions
CN103581688B (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.)
New Founder Holdings Development Co ltd
Peking University
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics 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 Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN201210274097.6A priority Critical patent/CN103581688B/zh
Publication of CN103581688A publication Critical patent/CN103581688A/zh
Application granted granted Critical
Publication of CN103581688B publication Critical patent/CN103581688B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明实施例涉及视频图像处理技术领域,特别涉及一种视频图像的编码和解码方法及装置,用于解决现有技术中存在的不能获知视频图像是否已遭到篡改的问题。本发明实施例视频图像的编码方法包括:对待编码视频图像的各宏块进行离散余弦变换DCT处理和量化处理,得到各宏块对应的DCT系数块;更新各宏块对应的DCT系数块的元素值;将待编码视频图像的各宏块的所有更新后的DCT系数块进行熵编码,以确定该待编码视频图像的码流。本发明实施例能够在DCT域上来抵御对DCT系数块的元素的攻击,使得在解码过程中能够确定解码得到的视频图像是否已被篡改,提高了编码和解码过程的安全性。

Description

一种视频图像的编码和解码方法及装置
技术领域
本发明涉及视频图像处理技术领域,特别涉及一种视频图像的编码和解码方法及装置。
背景技术
随着网络技术和多媒体技术的发展,使互联网上出现了越来越多的流媒体应用,互联网络加速了数字媒体的传播,方便了用户使用数字媒体文件。由于视频的数据量非常大,如果未经压缩就进行传输或使用,容易造成通信线路故障、数据存储容量紧张等问题。因此,在传输或存储视频数据时需要对视频数据进行编、解码处理,通过数据压缩编码技术,将视频以压缩形式进行存储、传输,既节约了存储空间,又提高了传输效率,同时也可使计算机实时处理音频、视频信息,以保证播放出高质量的视频、音频节目。
H.264标准是由JVT(Joint Video Team,视频联合工作组)组织提出的新一代数字视频编码器和解码器的标准,是一种高性能的视频编、解码技术。由于H.264标准的编、解码效率高,并能够在低码率情况下提供高质量的视频图像,因此,H.264标准广泛应用于固定可视电话、移动可视电话、实时视频会议、视频监控***、网络电视、手机电视以及因特网(Internet)视频等的多媒体信息的传输、存储等。
编码处理后得到的码流(bitstream)在传输或存储过程中,很容易遭到不法分子的非法篡改,不法分子将编码处理后得到的码流进行解码处理,得到视频图像,并对视频图像进行非法篡改,再将篡改后的视频图像进行编码处理;在对获取到的码流进行解码处理的过程中无法获知该视频图像是否被篡改,因此,存在很大的安全隐患。
综上所述,现有的编、解码处理过程中,不能获知视频图像是否已遭到篡改,从而存在安全隐患。
发明内容
本发明实施例提供了一种视频图像的编码和解码方法及装置,用于解决现有技术中存在的不能获知视频图像是否已遭到篡改,从而存在安全隐患的问题。
本发明实施例提供了一种视频图像的编码方法,包括:
对待编码视频图像的各宏块进行离散余弦变换DCT处理和量化处理,得到各宏块对应的DCT系数块;
更新各宏块对应的DCT系数块的元素值;具体为:针对当前宏块对应的每个DCT系数块,根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个DCT系数块对应的第一控制向量,确定当前DCT系数块对应的第一控制向量,并根据当前DCT系数块对应的第一控制向量的元素值,更新当前DCT系数块的元素值;以及根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵;其中初始的第一控制矩阵为仅包含0和1的矩阵,初始的第一控制向量为零向量;
将所述待编码视频图像的各宏块所有更新后的DCT系数块进行熵编码,以确定所述待编码视频图像的码流。
本发明实施例提供了一种视频图像的解码方法,包括:
对获取到的编码处理后的码流进行处理,得到视频图像中各宏块对应的离散余弦DCT系数块;
更新各宏块对应的DCT系数块的元素值;具体为:针对当前宏块对应的每个DCT系数块,根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个DCT系数块对应的第二控制向量,确定当前DCT系数块对应的第二控制向量,并根据当前DCT系数块对应的第二控制向量的元素值,更新当前DCT系数块的元素值;其中初始的第二控制矩阵的元素值与编码处理中确定的初始的第一控制矩阵的元素值相同,初始的第二控制向量为零向量;
在确定当前DCT系数块的非零元素的值与当前DCT系数块对应的第二控制向量的元素值满足触发条件时,发出告警信息。
本发明实施例提供了一种视频图像的编码装置,包括:
第一编码处理模块,用于对待编码视频图像的各宏块进行离散余弦变换DCT处理和量化处理,得到各宏块对应的DCT系数块;
第二编码处理模块,更新各宏块对应的DCT系数块的元素值;具体为:针对当前宏块对应的每个DCT系数块,根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个DCT系数块对应的第一控制向量,确定当前DCT系数块对应的第一控制向量,并根据当前DCT系数块对应的第一控制向量的元素值,更新当前DCT系数块的元素值;以及根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵;其中初始的第一控制矩阵为仅包含0和1的矩阵,初始的第一控制向量为零向量;
第三编码处理模块,将所述待编码视频图像的各宏块所有更新后的DCT系数块进行熵编码,以确定所述待编码视频图像的码流。
本发明实施例提供了一种视频图像的解码装置,包括:
第一解码处理模块,用于对获取到的编码处理后的码流进行处理,得到视频图像中各宏块对应的离散余弦DCT系数块;
第二解码处理模块,用于更新各宏块对应的DCT系数块的元素值;具体为:针对当前宏块对应的每个DCT系数块,根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个DCT系数块对应的第二控制向量,确定当前DCT系数块对应的第二控制向量,并根据当前DCT系数块对应的第二控制向量的元素值,更新当前DCT系数块的元素值;其中初始的第二控制矩阵的元素值与编码处理中确定的初始的第一控制矩阵的元素值相同,初始的第二控制向量为零向量;
告警模块,用于针对当前DCT系数块,在确定当前DCT系数块的非零元素的值与当前DCT系数块对应的第二控制向量的元素值满足触发条件时,发出告警信息;
其中初始的第二控制矩阵的元素值与编码端中确定的初始的第一控制矩阵的元素值相同。
本发明实施例针对当前DCT系数块中每个非零元素,根据待编码视频图像的前一个宏块对应的第一控制矩阵中确定的行向量及前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量,并根据该非零元素对应的第一控制向量的元素值,更新当前DCT系数块中该非零元素的值;以及根据当前宏块的所有更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵;对更新后的各DCT系数块进行熵编码后得到该待编码视频图像的码流;从而能够在DCT域上来抵御对DCT系数块的元素的攻击,使得在解码过程中能够确定解码得到的视频图像是否已被篡改,提高了编码和解码过程的安全性。
附图说明
图1为本发明实施例第一种视频图像的编码方法的流程示意图;
图2A为本发明实施例第一种视频图像的编码方法中确定每个非零元素对应的第一控制向量的方法流程示意图;
图2B为本发明实施例第一种视频图像的编码方法中确定宏块对应的第一控制矩阵的方法流程示意图;
图3为本发明实施例第一种视频图像的解码方法的流程示意图;
图4为本发明实施例第一种视频图像的解码方法中确定每个非零元素对应的第二控制向量的方法流程示意图;
图5为本发明实施例第二种视频图像的编码方法的流程示意图;
图6为本发明实施例第二种视频图像的解码方法的流程示意图;
图7为本发明实施例视频图像的编码装置的结构示意图;
图8为本发明实施例视频图像的解码装置的结构示意图。
具体实施方式
本发明实施例根据待编码视频图像的前一个宏块对应的第一控制矩阵中确定的行向量与前一个DCT系数块对应的第一控制向量,确定当前DCT系数块对应的第一控制向量,并根据当前DCT系数块对应的第一控制向量的元素值,更新当前DCT系数块的元素值;以及根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵;根据更新后的各DCT系数块进行熵编码后得到该待编码视频图像的码流;能够在DCT域上来抵御对DCT系数块的元素的攻击,使得在解码过程中能够确定解码得到的视频图像是否已被篡改,提高了编码和解码过程的安全性。
视频图像的数据量是很大的,为了达到高效的压缩,必须充分利用各种冗余,一般来讲,视频序列里的冗余包括两类:统计冗余和视觉生理冗余,其中,统计冗余包含频谱冗余(色彩分量之间的相关性)、空间冗余和时间冗余;视觉生理冗余是由人类的视觉***特性造成的;针对这些冗余,在进行压缩编码处理时主要考虑空间冗余和时间冗余;对于空间冗余,H.264标准中通过变换及量化以消除冗余,这样编码的帧称作I帧;对于时间冗余,H.264标准中通过运动估计和补偿以消除冗余(即帧间预测),这样编码的帧称作P帧或B帧。
H.264标准在对I帧进行编码时,一般采用帧内预测,然后对预测误差进行编码,帧内预测的目的是生产对当前宏块的预测值。帧内预测是以16×16的宏块为基本单位,而一个宏块由一个16×16的亮度(luma)块和两个对应的8×8的色度块构成;其中,亮度块是用来表示和基本色相关的单色信号的单个像素或像素数组。
H.264标准中亮度块有两类帧内预测方式,分别为Intra_16×16和Intra_4×4,两个色度块采用相同的预测方式;其中,Intra_16×16是对整个16×16大小的亮度块进行预测,一般用于图像比较平坦的区域,共有4中预测方式;Intra_4×4方式将16×16的亮度块划分成16个4×4的亮度子块,然后对每个4×4的亮度子块进行预测,共有9种预测方式。对于色度块(包括Cr和Cb),预测是对整个8×8的块进行的,共有4中预测方式。
本发明实施例的视频图像编码和解码的方法及装置是基于H.264标准而提出的,在具体实施过程中,编码过程是以待编码视频图像的每个宏块为单位进行处理。
下面结合说明书附图对本发明实施例作进一步详细描述。
如图1所示,本发明实施例第一种视频图像的编码方法,针对视频图像中的每一帧图像,执行以下步骤:
步骤101、对待编码视频图像的各宏块进行DCT(Discrete CosineTransform,离散余弦变换)处理和量化处理,得到各宏块对应的DCT系数块;
其中,每个宏块包括一个亮度(luma)块和两个对应的色度(chroma)块;
在具体实施过程中,在步骤101之前还包括:对每个宏块采用帧内或帧间预测模式进行处理。
步骤102、更新各宏块对应的DCT系数块的元素值;具体为:针对当前DCT系数块的每个非零元素,根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量,并根据该非零元素对应的第一控制向量的元素值,更新当前DCT系数块中该非零元素的值;以及根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵;其中初始的第一控制矩阵为仅包含0和1的矩阵,初始的第一控制向量为零向量;
其中,第一控制矩阵的维数根据宏块的亮度块及色度块的维数确定,第一控制向量的维数根据第一控制矩阵确定;例如,在H.264标准中,宏块对应的亮度块为16×16维矩阵,宏块对应的两个色度均为8×8维矩阵,则第一控制矩阵为24×16维矩阵,第一控制向量为1×16维向量。
编码过程中是以宏块为单位进行处理的,对宏块的处理顺序可以按照各宏块在待编码视频图像中位置的先后顺序进行处理,如以行为单位进行处理,即先处理待编码视频图像中第一行中依次排列的宏块,再处理第二行中依次排列的宏块,依次类推;又如以行为单位进行处理;对每个宏块对应的DCT系数块的处理顺序可以按照各DCT系数块在该宏块中位置的先后顺序进行处理,如以行为单位进行处理,即先处理该宏块中第一行中依次排列的DCT系数块,再处理第二行中依次排列的DCT系数块,依次类推;又如以行为单位进行处理;确定每个DCT系数块中的非零元素可以按照该DCT系数块中的每个元素所在的位置进行处理,如以行为单位进行处理,即先确定该DCT系数块中第一行中依次排列的各元素中的非零元素,再确定第二行中依次排列各元素中的非零元素,依次类推;又如以行为单位进行处理。
优选的,本发明实施例中对DCT系数块中的各元素的处理顺序可采用Zig-zag扫描或栅格扫描。
当前,编码过程中对宏块、宏块对应的DCT系数块、DCT系数块对应的各元素的处理顺序也可以采用其他的顺序,此处不再赘述;但需要说明的是,解码过程中的处理顺序必须与编码过程中的处理顺序相同。
在具体实施过程中,若非零元素为第一个宏块的第一个DCT系数块的第一个非零元素,则根据初始的第一控制矩阵中确定的行向量与初始的第一控制向量,确定该非零元素对应的第一控制向量;
初始的第一控制矩阵中0元素和1元素的排列方式可以通过哈希运算随机确定;
需要说明的是,编码过程中确定的初始的第一控制矩阵和必须与解码过程中的确定的初始的第二控制矩阵相同;
步骤103、将待编码视频图像的各宏块所有更新后的DCT系数块进行熵编码,以确定待编码视频图像的码流;
在具体实施过程中,将熵编码处理后的各DCT系数块的元素值与解码所需的一些边信息(如预测模式量化参数、运动矢量等)一起组成压缩后的码流,以进行存储或传输。
如图2A所示,步骤102中确定每个非零元素对应的第一控制向量进一步包括以下步骤:
步骤1021、根据该非零元素的值与该非零元素在当前DCT系数块的所有非零元素中的位置,确定前一个宏块对应的第一控制矩阵中的行向量;
具体的,在确定当前DCT系数块中的非零元素之后,先对该非零元素的值进行预设的运算,即d_haf=(d+1)/3,其中,d为当前DCT系数块中非零元素;再根据d_haf与该非零元素d在当前DCT系数块的所有非零元素中的位置,确定前一个宏块对应的第一控制矩阵中对应的行向量。
步骤1022、根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量;
具体的,若确定的非零元素为当前DCT系数块的第一个非零元素,则根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个DCT系数块的最后一个非零元素对应的第一控制向量,确定当前DCT系数块的第一个非零元素对应的第一控制向量;
按照每个非零元素在当前DCT系数块的所有非零元素中的位置的先后顺序,对当前DCT系数块的每个非零元素执行步骤1021~步骤1022的处理过程,直至确定当前DCT系数块中最后一个非零元素对应的第一控制向量。
在具体实施过程中,步骤1012中根据d_haf与该非零元素d在当前DCT系数块的所有非零元素中的位置,确定前一个宏块对应的第一控制矩阵中对应的行向量分为以下两种情况:
若当前DCT系数块中的非零元素的值大于0,则根据公式一确定该非零元素对应的第一控制向量:
B[j]=(B′[j]+A[(d_haf+dnum)%24][j])%3    公式一;
其中,B向量为该非零元素对应的第一控制向量,B向量为1×16维向量;B′向量为前一个非零元素对应的第一控制向量;A矩阵为前一个宏块对应的第一控制矩阵,A矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置,即标记该非零元素为当前DCT系数块中的第几个元素;公式中的%为取余运算;
例如,若该非零元素为当前DCT系数块中的第1个元素,则dnum的值为1;若该非零元素为当前DCT系数块中的第2个元素,则dnum的值为2,依次类推。
若当前DCT系数块中的非零元素的值小于0,根据公式二确定该非零元素对应的第一控制向量:
B[j]=(B′[j]+A[(d_haf+dnum+1)%24][j])%3    公式二;
其中,B向量为该非零元素对应的第一控制向量,B向量为1×16维向量;B′向量为前一个非零元素对应的第一控制向量;A矩阵为前一个宏块对应的第一控制矩阵,A矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置,即标记该非零元素为当前DCT系数块中的第几个元素;公式中的%为取余运算。
需要说明的是,本发明实施例编码方法的步骤102仅对DCT系数块中的非零元素进行处理,得到该非零元素对应的第一控制向量,对该DCT系数块中的零元素不进行任何处理。
在具体实施过程中,步骤102中在当前DCT系数块的非零元素的绝对值大于1时,根据公式三更新该非零元素的值:
d′=d+B[dnum]    公式三;
其中,d为当前DCT系数块中非零元素,d′为更新后的d,B向量为该非零元素对应的第一控制向量,dnum标识d在当前DCT系数块中的位置,即标记该非零元素为当前DCT系数块中的第几个元素。
需要说明的是,对于当前DCT系数块中绝对值不大于1的非零元素及当前DCT系数块中的零元素,则不需要进行更新处理,即当前DCT系数块中绝对值不大于1的非零元素及当前DCT系数块中的零元素的值保持不变。
对当前宏块中每个DCT系数块均进行上述处理,直至当前宏块中最后一个DCT系数块的更新处理完成。
如图2B所示,步骤102中确定当前宏块对应的第一控制矩阵进一步包括:
步骤1023、针对当前宏块,对更新后的DCT系数块进行反量化处理和反DCT处理,得到当前宏块对应的亮度块和色度块;
其中,当前宏块的DCT系数块进行反量化处理和反DCT处理后,得到一个16×16的亮度块和两个8×8的色度块;
步骤1024、根据当前宏块对应的亮度块和色度块的各元素值,确定当前宏块对应的第一控制矩阵;
其中,第一控制矩阵中前16行的各元素的值根据16×16的亮度块中的元素值确定;第一控制矩阵中后8行的各个元素的值根据两个8×8的色度块中的元素值确定。
具体的,第一控制矩阵的第i1行j列的元素值为当前宏块的亮度块中第(i1+j1)%8个像素的值,其中,第一控制矩阵为24×16维矩阵,亮度块为16×16维矩阵,1≤i1≤16,1≤j≤16,%为取余运算;
第一控制矩阵的第i2行j1列的元素值为当前宏块的第一个色度块中第(i2+j1)%8个像素的值,其中,色度块为8×8维矩阵,17≤i2≤24,1≤j1≤8;
第一控制矩阵的第i2行j2列的元素值为当前宏块的第二个色度块中第(i2+j2)%8个像素的值,其中,9≤j2≤16。
如图3所示,本发明实施例第一种视频图像的解码方法,包括以下步骤:
步骤301、对获取到的编码处理后的码流进行处理,得到视频图像中各宏块对应的离散余弦DCT系数块;
步骤302、更新各宏块对应的DCT系数块的元素值;具体为:针对当前DCT系数块的每个非零元素,根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个非零元素对应的第二控制向量,确定该非零元素对应的第二控制向量,并根据该非零元素对应的第二控制向量的元素值,更新当前DCT系数块中该非零元素的元素值;其中初始的第二控制矩阵的元素值与编码处理中确定的初始的第一控制矩阵的元素值相同,初始的第二控制向量为零向量;
步骤303、在确定当前DCT系数块的非零元素的值与该非零元素对应的第二控制向量的元素值满足触发条件时,发出告警信息。
其中,步骤303中的触发条件为:(d+1)%3的值与D[dnum]的值不相等;其中,d为当前DCT系数块中绝对值大于1的非零元素,D为该非零元素对应的第二控制向量,dnum标识d在当前DCT系数块中的位置,即标记该非零元素为当前DCT系数块中的第几个元素,例如,若该非零元素为当前DCT系数块中的第1个元素,则dnum的值为1;若该非零元素为当前DCT系数块中的第2个元素,则dnum的值为2,依次类推。
如图3所示,本发明实施例第一种视频图像解码方法还包括:
步骤304、在确定当前DCT系数块的非零元素的值与该非零元素对应的第二控制向量的元素值不满足触发条件,且当前宏块对应的所有DCT系数块都更新完毕后,根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第二控制矩阵。
在具体实施过程中,如图4所示,步骤302中确定每个非零元素对应的第二控制向量进一步包括以下步骤:
步骤3021、根据该非零元素的值与该非零元素在当前DCT系数块的位置标号,确定前一个宏块对应的第二控制矩阵中的行向量;
具体的,在确定当前DCT系数块中的非零元素之后,先对该非零元素的值进行预设的运算,即d_haf=(d+1)/3,其中,d为当前DCT系数块中非零元素;再根据d_haf与该非零元素d在当前DCT系数块的所有非零元素中的位置,确定前一个宏块对应的第二控制矩阵中对应的行向量。
步骤3022、根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个非零元素对应的第二控制向量,确定该非零元素对应的第二控制向量;
具体的,若确定的非零元素为当前DCT系数块的第一个非零元素,则根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个DCT系数块的最后一个非零元素对应的第二控制向量,确定当前DCT系数块的第一个非零元素对应的第二控制向量。
按照每个非零元素在当前DCT系数块的所有非零元素的所有非零元素中的位置的先后顺序,对当前DCT系数块的每个非零元素执行步骤3021~步骤3022的处理过程,直至确定当前DCT系数块中最后一个非零元素对应的第二控制向量;或
仅在当前DCT系数块的非零元素的值与该非零元素对应的第二控制向量的元素值不满足触发条件时,对下一个非零元素执行步骤3021~步骤3022的处理过程,直至确定当前DCT系数块中最后一个非零元素对应的第二控制向量。
在具体实施过程中,步骤3022中确定该非零元素对应的第二控制向量包括以下两种情况:
若确定的非零元素的值大于0,根据公式四确定该非零元素对应的第二控制向量:
D[j]=(D′[j]+C[(d_haf+dnum)%24][j])%3    公式四;
其中,D向量为该非零元素对应的第二控制向量,D向量为1×16维向量;D′向量为前一个非零元素对应的第二控制向量;C矩阵为前一个宏块对应的第二控制矩阵,C矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置;公式中的%为取余运算。
若确定的非零元素的值小于0,根据公式五确定该非零元素对应的第二控制向量:
D[j]=(D′[j]+C[(d′+dnum+1)%24][j])%3    公式五;
其中,D向量为该非零元素对应的第二控制向量,D′向量为前一个非零元素对应的第二控制向量,D向量为1×16维向量;C矩阵为前一个宏块对应的第二控制矩阵,C矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置,即标记该非零元素为当前DCT系数块中的第几个元素;公式中的%为取余运算。
需要说明的是,本发明实施例解码方法的步骤302仅对DCT系数块中的非零元素进行处理,得到该非零元素对应的第二控制向量,对该DCT系数块中的零元素不进行任何处理。
在具体实施过程中,步骤302中在当前DCT系数块的非零元素的绝对值大于1时,根据公式六更新当前DCT系数块的非零元素的值:
d′=d+D[dnum]    公式六;
其中,d为当前DCT系数块中非零元素,d′为修正后的d,D向量为该非零元素对应的第二控制向量,D为1×16维向量;dnum标识d在当前DCT系数块中的位置,即标记该非零元素为当前DCT系数块中的第几个元素。
需要说明的是,对于当前DCT系数块中绝对值不大于1的非零元素及当前DCT系数块中的零元素,则不需要进行更新处理,即当前DCT系数块中绝对值不大于1的非零元素及当前DCT系数块中的零元素的值保持不变。
步骤304中确定当前宏块对应的第二控制矩阵的元素值进一步包括:
针对当前宏块,对更新后的DCT系数块进行反量化处理和反DCT处理,得到当前宏块对应的亮度块和色度块;
根据当前宏块对应的亮度块和色度块的各元素值,确定当前宏块对应的第二控制矩阵。
具体的,确定当前宏块对应的第二控制矩阵的元素值进一步包括:
第二控制矩阵的第i1行j列的元素值为当前宏块的亮度块中第(i1+j)%8个像素值,其中,第二控制矩阵为24×16维矩阵,亮度块为16×16维矩阵,1≤i1≤16,1≤j≤16,%为取余运算;
第二控制矩阵的第i2行j1列的元素值为当前宏块的第一个色度块中第(i2+j1)%8个像素的值,其中,色度块为8×8维矩阵,17≤i2≤24,1≤j1≤8;
第二控制矩阵的第i2行j2列的元素值为当前宏块的第二个色度块中第(i2+j2)%8个像素的值,其中,9≤j2≤16。
下面以每帧视频图像的每个宏块包括一个16×16的亮度块和对应的两个8×8的色度块为例,对本发明实施例的视频图像的编码和解码方法进行详细说明。
如图5所示,本发明实施例第二种视频图像的编码方法,包括以下步骤:
步骤501、初始化第一控制矩阵A和第一控制向量B,其中,A矩阵为24×16维的(0,1)矩阵,B向量为1×16维的零向量;
在具体实施过程中,A矩阵可以通过哈希运算随机确定。
步骤502、针对每一帧视频图像,对于该视频图像的当前宏块的亮度(luma)块和色度(chroma)块分别对应的多个4×4的DCT系数块,针对一个4×4的DCT系数块,每解析出一个非零元素d,则计算出d_haf=(d+1)/3;
步骤503、根据前一个宏块对应的A矩阵中确定的行向量与前一个非零元素对应的B向量,确定该非零元素对应的B向量;
具体的,若解析出的d大于0,则根据公式一确定该非零元素对应的第一控制向量;
若解析出的d小于0,则根据公式二确定该非零元素对应的第一控制向量。
步骤504、当该非零元素d的绝对值大于1时,根据公式三更新当前DCT系数块中该非零元素的值;
步骤505、判断该宏块中是否还有未处理的DCT系数块;
若是,执行步骤502~步骤505;
若否,执行步骤506。
步骤506、对该宏块中更新后的所有DCT系数块进行反量化处理和反DCT处理,得到当前宏块对应的亮度块和色度块;
步骤507、根据当前宏块对应的亮度块和色度块的各像素值,确定当前宏块对应的A矩阵;
其中,A矩阵中前16×16个元素的值分别为更新的亮度块中第(i1+j)%8个像素的值,其中,i1和j分别为A矩阵的行和列,1≤i1≤16,1≤j≤16;
A矩阵中后8×16个元素的值分别为更新的两个色度块中第(i2+j)%8个像素的值;具体的,A矩阵中第i2行第j1列的元素值为第一个色度块中第(i2+j1)%8个像素的值,A矩阵中第i2行第j2列的元素值为第二个色度块中第(i2+j2)%8个像素的值,其中,i2为A矩阵的行,j1和j2为A矩阵的列,17≤i1≤24,1≤j1≤8,9≤j2≤16。
步骤508、判断是否还有未处理的宏块;
若是,则执行步骤502~步骤508;
若否,执行步骤509;
步骤509、将视频图像的各宏块的所有更新后的DCT系数块进行熵编码,以确定待编码视频图像的码流。
如图6所示,本发明实施例第二种视频图像的解码方法,包括以下步骤:
步骤601、初始化第二控制矩阵C和第二控制向量D,其中,C矩阵与第一控制矩阵A相同,D向量为1×16维的零向量;
在具体实施过程中,C矩阵可以通过哈希运算随机确定。
步骤602、对获取到的编码处理后的码流进行处理,得到该码流中各宏块对应的4×4的DCT系数块;
步骤603、针对每个DCT系数块,每解析出该DCT系数块中的一个非零元素d,则计算出d_haf=(d+1)/3;
步骤604、根据前一个宏块对应的C矩阵中确定的行向量与前一个非零元素对应的D向量,确定该非零元素对应的D向量;
具体的,若解析出的d的值大于0,则根据公式四确定该非零元素对应的D向量;
若解析出的d的值小于0,则根据公式五确定该非零元素对应的D向量。
步骤605、在该非零元素d的绝对值大于1时,判断(d+1)%3的值与D[dnum]的值是否相等,其中,D向量为该非零元素d对应的第二控制向量,dnum标记d在当前DCT系数块的所有非零元素中的位置;
若是,则发出告警信息,表示该视频图像已被篡改,并结束本流程;
若否,则执行步骤606;
步骤606、根据公式六更新该DCT系数块中的该非零元素d的值;
步骤607、判断该宏块中是否有未处理的DCT系数块;
若是,执行步骤602~步骤607;
若否,执行步骤608。
步骤608、对该宏块的所有更新后的DCT系数块进行反量化处理和反DCT处理,得到该宏块对应的亮度块和色度块;
步骤609、根据该宏块对应的亮度块和色度块的各元素值,确定该宏块对应的C矩阵;
其中,该宏块对应的C矩阵中前16×16个元素的值分别为更新的亮度块中第(i1+j)%8个像素的值,其中,i1和j分别为C矩阵的行和列,1≤i1≤16,1≤j≤16;
该宏块对应的C矩阵中后8×16个元素的值分别为更新的两个色度块中第(i2+j)%8个像素的值;具体的,C矩阵中第i2行第j1列的元素值为第一个色度块中第(i2+j1)%8个像素的值,C矩阵中第i2行第j2列的元素值为第二个色度块中第(i2+j2)%8个像素的值,其中,i2为C矩阵的行,j1和j2为C矩阵的列,17≤i1≤24,1≤j1≤8,9≤j2≤16。
步骤610、判断是否有未处理的宏块;
若是,则执行步骤602~步骤610;
若否,则输出解码后的视频图像。
基于同一发明构思,本发明实施例中还提供了一种视频图像的编码装置,由于该装置解决问题的原理与上述视频图像的编码方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。
如图7所示,本发明实施例视频图像的编码装置包括:
第一编码处理模块71,用于对待编码视频图像的各宏块进行离散余弦变换DCT处理和量化处理,得到各宏块对应的DCT系数块;
第二编码处理模块72,用于更新各宏块对应的DCT系数块的元素值;具体为:针对当前DCT系数块的每个非零元素,根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量,并根据该非零元素对应的第一控制向量的元素值,更新当前DCT系数块中该非零元素的值;以及根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵;其中初始的第一控制矩阵为仅包含0和1的矩阵,初始的第一控制向量为零向量;
第三编码处理模块73,将待编码视频图像的各宏块的所有更新后的DCT系数块进行熵编码,以确定待编码视频图像的码流。
在具体实施过程中,第二编码处理模块72具体用于:
根据该非零元素的值与该非零元素在当前DCT系数块的位置标号,确定前一个宏块对应的第一控制矩阵中的行向量;以及根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量。
在具体实施过程中,第第二编码处理模块72具体用于:
若确定的非零元素的值大于0,根据下列公式确定该非零元素对应的第一控制向量:
B=(B′+A[(d_haf+dnum)%24][j])%3;
其中,B向量为该非零元素对应的第一控制向量,B向量为1×16维向量;B′向量为前一个非零元素对应的第一控制向量;A矩阵为前一个宏块对应的第一控制矩阵,A矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置;公式中的%为取余运算。
若确定的非零元素的值小于0,根据下列公式确定该非零元素对应的第一控制向量:
B=(B′+A[(d_haf+dnum+1)%24][j])%3;
其中,B向量为该非零元素对应的第一控制向量,B向量为1×16维向量;B′向量为前一个非零元素对应的第一控制向量;A矩阵为前一个宏块对应的第一控制矩阵,A矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置;公式中的%为取余运算。
在具体实施过程中,第二编码处理模块72具体用于:
在确定的非零元素的绝对值大于1时,根据下列公式更新当前DCT系数块的该非零元素的值:
d′=d+B[dnum];
其中,d为当前DCT系数块中非零元素,d′为更新后的d;B向量为该非零元素对应的第一控制向量,B为1×16维向量;dnum标识d在当前DCT系数块中的位置。
在具体实施过程中,第二编码处理模块73具体用于:
针对当前宏块,对更新后的DCT系数块进行反量化处理和反DCT处理,得到当前宏块对应的亮度块和色度块;以及根据当前宏块对应的亮度块和色度块的各像素值,确定当前宏块对应的第一控制矩阵。
其中,第一控制矩阵的第i1行j列的元素值为当前宏块的亮度块中第(i1+j)%8个像素的值,其中,所述第一控制矩阵为24×16维矩阵,所述亮度块为16×16维矩阵,1≤i1≤16,1≤j≤16,%为取余运算;
第一控制矩阵的第i2行j1列的元素值为当前宏块的第一个色度块中第(i2+j1)%8个像素的值,其中,色度块为8×8维矩阵,17≤i2≤24,1≤j1≤8;
第一控制矩阵的第i2行j2列的元素值为当前宏块的第二个色度块中第(i2+j2)%8个像素的值,其中,9≤j2≤16。
基于同一发明构思,本发明实施例中还提供了一种视频图像的解码装置,由于该装置解决问题的原理与上述视频图像的解码方法相似,因此该设备的实施可以参见方法的实施,重复之处不再赘述。
如图8所示,本发明实施例视频图像的解码装置包括:
第一解码处理模块81,用于对获取到的编码处理后的码流进行处理,得到该码流中各宏块对应的离散余弦DCT系数块;
第二解码处理模块82,用于更新各宏块对应的DCT系数块的元素值;具体为:针对当前DCT系数块的每个非零元素,根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个非零元素对应的第二控制向量,确定该非零元素对应的第二控制向量,并根据该非零元素对应的第二控制向量的元素值,更新当前DCT系数块中该非零元素的元素值;其中初始的第二控制矩阵的元素值与编码处理中确定的初始的第一控制矩阵的元素值相同,初始的第二控制向量为零向量;
告警模块83,用于在确定当前DCT系数块的非零元素的值与该非零元素对应的第二控制向量的元素值满足触发条件时,发出告警信息。
其中,触发条件为:(d+1)%3的值与D[dnum]的值不相等;其中,d为当前DCT系数块中绝对值大于1的非零元素的值,D向量为当前DCT系数块对应的第二控制向量,dnum标识d在当前DCT系数块中的位置;%为取余运算。
在具体实施过程中,该装置还包括:
第三解码处理模块84,用于在确定当前DCT系数块的非零元素的值与该非零元素对应的第二控制向量的元素值不满足触发条件,且当前宏块对应的所有DCT系数块都更新完毕后,根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵。
在具体实施过程中,第二解码处理模块82具体用于:
根据该非零元素的值与该非零元素在当前DCT系数块的位置标号,确定前一个宏块对应的第二控制矩阵中的行向量;以及根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个非零元素对应的第二控制向量,确定该非零元素对应的第二控制向量。
在具体实施过程中,第二解码处理模块82具体用于:
若确定的非零元素的值大于0,根据下列公式确定该非零元素对应的第二控制向量:
D=(D′+C[(d_haf+dnum)%24][j])%3;
其中,D向量为该非零元素对应的第二控制向量,D向量为1×16维向量;D′向量为前一个非零元素对应的第二控制向量;C矩阵为前一个宏块对应的第二控制矩阵,C矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置;公式中的%为取余运算。
在具体实施过程中,第二解码处理模块82具体用于:
若确定的非零元素的值大于0,根据下列公式确定该非零元素对应的第二控制向量:
D=(D′+C[(d′+dnum+1)%24][j])%3;
其中,D向量为该非零元素对应的第二控制向量,D′向量为前一个非零元素对应的第二控制向量,D向量为1×16维向量;C矩阵为前一个宏块对应的第二控制矩阵,C矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置;公式中的%为取余运算。
在具体实施过程中,第二解码处理模块82具体用于:在确定的非零元素的绝对值大于1时,根据下列公式更新当前DCT系数块中该非零元素的值:
d′=d+D[dnum];
其中,d为当前DCT系数块中非零元素,d′为修正后的d,D向量为该非零元素对应的第二控制向量,D为1×16维向量;dnum标识d在当前DCT系数块中的位置。
其中,第二控制矩阵的第i1行j列的元素值为当前宏块的亮度块中第(i1+j)%8个像素的值,其中,所述第二控制矩阵为24×16维矩阵,所述亮度块为16×16维矩阵,1≤i1≤16,1≤j≤16,%为取余运算;
第二控制矩阵的第i2行j1列的元素值为当前宏块的第一个色度块中第(i2+j1)%8个像素的值,其中,色度块为8×8维矩阵,17≤i2≤24,1≤j1≤8;
第二控制矩阵的第i2行j2列的元素值为当前宏块的第二个色度块中第(i2+j2)%8个像素的值,其中,9≤j2≤16。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
本发明实施例中针对当前DCT系数块的每个非零元素,根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量,并根据该非零元素对应的第一控制向量的元素值,更新当前DCT系数块中该非零元素的值;以及根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵;对更新后的各DCT系数块进行熵编码后得到该待编码视频图像的码流;从而能够在DCT域上来抵御对DCT系数块的元素的攻击,使得在解码过程中能够确定解码得到的视频图像是否已被篡改,提高了编码和解码过程的安全性。
实验结果证明,采用本发明实施例的编、解码方法,在复杂度没有明显提高的基础下,同样的PSNR(Peak Signal to Noise Ratio,峰值信噪比)条件下可以控制比特率(BitRate)变化在10%以内;并且在视频图像被篡改的情况下,正确检测率达到95%以上,漏检率能够控制在5%以内,不会发生错检情况,可见,采用本发明实施例的编、解码方法能够有效提高视频图像的安全性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (24)

1.一种视频图像的编码方法,其特征在于,该方法包括:
对待编码视频图像的各宏块进行离散余弦变换DCT处理和量化处理,得到各宏块对应的DCT系数块;
更新各宏块对应的DCT系数块的元素值;具体为:针对当前DCT系数块的每个非零元素,根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量,并根据该非零元素对应的第一控制向量的元素值,更新当前DCT系数块中该非零元素的值;以及根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵;其中初始的第一控制矩阵为仅包含0和1的矩阵,初始的第一控制向量为零向量;
将所述待编码视频图像的各宏块的所有更新后的DCT系数块进行熵编码,以确定所述待编码视频图像的码流。
2.如权利要求1所述的方法,其特征在于,确定每个非零元素对应的第一控制向量包括:
根据该非零元素的值与该非零元素在当前DCT系数块的位置标号,确定前一个宏块对应的第一控制矩阵中的行向量;
根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量。
3.如权利要求2所述的方法,其特征在于,若确定的非零元素的值大于0,根据下列公式确定该非零元素对应的第一控制向量:
B=(B′+A[(d_haf+dnum)%24][j])%3;
其中,B向量为该非零元素对应的第一控制向量,B向量为1×16维向量;B′向量为前一个非零元素对应的第一控制向量;A矩阵为前一个宏块对应的第一控制矩阵,A矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置;公式中的%为取余运算。
4.如权利要求2所述的方法,其特征在于,若确定的非零元素的值小于0,根据下列公式确定该非零元素对应的第一控制向量:
B=(B′+A[(d_haf+dnum+1)%24][j])%3;
其中,B向量为该非零元素对应的第一控制向量,B向量为1×16维向量;B′向量为前一个非零元素对应的第一控制向量;A矩阵为前一个宏块对应的第一控制矩阵,A矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置;公式中的%为取余运算。
5.如权利要求1所述的方法,其特征在于,在确定的非零元素的绝对值大于1时,根据下列公式更新当前DCT系数块中该非零元素的值:
d′=d+B[dnum];
其中,d为当前DCT系数块中非零元素,d′为更新后的d;B向量为该非零元素对应的第一控制向量,B向量为1×16维向量;dnum标识d在当前DCT系数块中的位置。
6.如权利要求1所述的方法,其特征在于,所述确定当前宏块对应的第一控制矩阵包括:
针对当前宏块,对更新后的DCT系数块进行反量化处理和反DCT处理,得到当前宏块对应的一个亮度块和两个色度块;
根据当前宏块对应的亮度块和色度块的各像素值,确定当前宏块对应的第一控制矩阵。
7.如权利要求6所述的方法,其特征在于,确定当前宏块对应的第一控制矩阵,具体包括:
所述第一控制矩阵的第i1行j列的元素值为当前宏块的亮度块中第(i1+j)%8个像素的值,其中,所述第一控制矩阵为24×16维矩阵,所述亮度块为16×16维矩阵,1≤i1≤16,1≤j≤16,%为取余运算;
所述第一控制矩阵的第i2行j1列的元素值为当前宏块的第一个色度块中第(i2+j1)%8个像素的值,其中,所述色度块为8×8维矩阵,17≤i2≤24,1≤j1≤8;
所述第一控制矩阵的第i2行j2列的元素值为当前宏块的第二个色度块中第(i2+j2)%8个像素的值,其中,9≤j2≤16。
8.一种视频图像的解码方法,其特征在于,该方法包括:
对获取到的编码处理后的码流进行处理,得到该码流中各宏块对应的离散余弦DCT系数块;
更新各宏块对应的DCT系数块的元素值;具体为:针对当前DCT系数块的每个非零元素,根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个非零元素对应的第二控制向量,确定该非零元素对应的第二控制向量,并根据该非零元素对应的第二控制向量的元素值,更新当前DCT系数块中该非零元素的元素值;其中初始的第二控制矩阵的元素值与编码处理中确定的初始的第一控制矩阵的元素值相同,初始的第二控制向量为零向量;
在确定当前DCT系数块的非零元素的值与该非零元素对应的第二控制向量的元素值满足触发条件时,发出告警信息。
9.如权利要求8所述的方法,其特征在于,所述触发条件为:(d+1)%3的值与D[dnum]的值不相等;其中,d为当前DCT系数块中绝对值大于1的非零元素,D向量为当前DCT系数块对应的第二控制向量,dnum标识d在当前DCT系数块中的位置;%为取余运算。
10.如权利要求8所述的方法,其特征在于,所述方法还包括:
在确定当前DCT系数块的非零元素的值与该非零元素对应的第二控制向量的元素值不满足触发条件,且当前宏块对应的所有DCT系数块都更新完毕后,根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第二控制矩阵。
11.如权利要求8所述的方法,其特征在于,确定每个非零元素对应的第二控制向量包括:
根据该非零元素的值与该非零元素在当前DCT系数块的位置标号,确定前一个宏块对应的第二控制矩阵中的行向量;
根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个非零元素对应的第二控制向量,确定该非零元素对应的第二控制向量。
12.如权利要求11所述的方法,其特征在于,若确定的非零元素的值大于0,根据下列公式确定该非零元素对应的第二控制向量:
D=(D′+C[(d_haf+dnum)%24][j])%3;
其中,D向量为该非零元素对应的第二控制向量,D向量为1×16维向量;D′向量为前一个非零元素对应的第二控制向量;C矩阵为前一个宏块对应的第二控制矩阵,C矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置;公式中的%为取余运算。
13.如权利要求11所述的方法,其特征在于,若当前DCT系数块中的非零元素的值小于0,根据下列公式确定该非零元素对应的第二控制向量:
D=(D′+C[(d′+dnum+1)%24][j])%3;
其中,D向量为该非零元素对应的第二控制向量,D′向量为前一个非零元素对应的第二控制向量,D向量为1×16维向量;C矩阵为前一个宏块对应的第二控制矩阵,C矩阵为24×16维矩阵,1≤j≤16;d_haf=(d+1)/3,d为当前DCT系数块中非零元素,dnum标识d在当前DCT系数块中的位置;公式中的%为取余运算。
14.如权利要求8所述的方法,其特征在于,在确定的非零元素的绝对值大于1时,根据下列公式更新当前DCT系数块中该非零元素的值:
d′=d+D[dnum];
其中,d为当前DCT系数块中非零元素,d′为修正后的d,D向量为该非零元素对应的第二控制向量,D向量为1×16维向量;dnum标识d在当前DCT系数块中的位置。
15.如权利要求10所述的方法,其特征在于,所述确定当前宏块对应的第二控制矩阵包括:
针对当前宏块,对更新后的DCT系数块进行反量化处理和反DCT处理,得到当前宏块对应的亮度块和色度块;
根据当前宏块对应的亮度块和色度块的各像素值,确定当前宏块对应的第二控制矩阵。
16.如权利要求15所述的方法,其特征在于,确定当前宏块对应的第二控制矩阵,具体包括:
所述第二控制矩阵的第i1行j列的元素值为当前宏块的亮度块中第(i1+j)%8个像素的值,其中,所述第二控制矩阵为24×16维矩阵,所述亮度块为16×16维矩阵,1≤i1≤16,1≤j≤16,%为取余运算;
所述第二控制矩阵的第i2行j1列的元素值为当前宏块的第一个色度块中第(i2+j1)%8个像素的值,其中,所述色度块为8×8维矩阵,17≤i2≤24,1≤j1≤8;
第二控制矩阵的第i2行j2列的元素值为当前宏块的第二个色度块中第(i2+j2)%8个像素的值,其中,9≤j2≤16。
17.一种视频图像的编码装置,其特征在于,该装置包括:
第一编码处理模块,用于对待编码视频图像的各宏块进行离散余弦变换DCT处理和量化处理,得到各宏块对应的DCT系数块;
第二编码处理模块,用于更新各宏块对应的DCT系数块的元素值;具体为:针对当前DCT系数块的每个非零元素,根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量,并根据该非零元素对应的第一控制向量的元素值,更新当前DCT系数块中该非零元素的值;以及根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第一控制矩阵;其中初始的第一控制矩阵为仅包含0和1的矩阵,初始的第一控制向量为零向量;
第三编码处理模块,将所述待编码视频图像的各宏块的所有更新后的DCT系数块进行熵编码,以确定所述待编码视频图像的码流。
18.如权利要求17所述的装置,其特征在于,所述第二编码处理模块具体用于:
根据该非零元素的值与该非零元素在当前DCT系数块的位置标号,确定前一个宏块对应的第一控制矩阵中的行向量;以及根据前一个宏块对应的第一控制矩阵中确定的行向量与前一个非零元素对应的第一控制向量,确定该非零元素对应的第一控制向量。
19.如权利要求17所述的装置,其特征在于,所述第二编码处理模块具体用于:
针对当前宏块,对更新后的DCT系数块进行反量化处理和反DCT处理,得到当前宏块对应的一个亮度块和两个色度块;以及根据当前宏块对应的亮度块和色度块的各像素值,确定当前宏块对应的第一控制矩阵。
20.一种视频图像的解码装置,其特征在于,该装置包括:
第一解码处理模块,用于对获取到的编码处理后的码流进行处理,得到该码流中各宏块对应的离散余弦DCT系数块;
第二解码处理模块,用于更新各宏块对应的DCT系数块的元素值;具体为:针对当前DCT系数块的每个非零元素,根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个非零元素对应的第二控制向量,确定该非零元素对应的第二控制向量,并根据该非零元素对应的第二控制向量的元素值,更新当前DCT系数块中该非零元素的元素值;其中初始的第二控制矩阵的元素值与编码处理中确定的初始的第一控制矩阵的元素值相同,初始的第二控制向量为零向量;
告警模块,用于在确定当前DCT系数块的非零元素的值与该非零元素对应的第二控制向量的元素值满足触发条件时,发出告警信息。
21.如权利要求20所述的装置,其特征在于,所述触发条件为:(d+1)%3的值与D[dnum]的值不相等;其中,d为当前DCT系数块中绝对值大于1的非零元素,D向量为当前DCT系数块对应的第二控制向量,dnum标识d在当前DCT系数块中的位置;%为取余运算。
22.如权利要求20所述的装置,其特征在于,该装置还包括:
第三解码处理模块,用于在确定当前DCT系数块的非零元素的值与该非零元素对应的第二控制向量的元素值不满足触发条件,且当前宏块对应的所有DCT系数块都更新完毕后,根据当前宏块的每个更新后的DCT系数块的元素值,确定当前宏块对应的第二控制矩阵。
23.如权利要求20所述的装置,其特征在于,所述第二解码处理模块具体用于:
根据该非零元素的值与该非零元素在当前DCT系数块的位置标号,确定前一个宏块对应的第二控制矩阵中的行向量;以及根据前一个宏块对应的第二控制矩阵中确定的行向量与前一个非零元素对应的第二控制向量,确定该非零元素对应的第二控制向量。
24.如权利要求22所述的装置,其特征在于,所述第三解码处理模块具体用于:
针对当前宏块,对更新后的DCT系数块进行反量化处理和反DCT处理,得到当前宏块对应的亮度块和色度块;以及根据当前宏块对应的亮度块和色度块的各像素值,确定当前宏块对应的第二控制矩阵。
CN201210274097.6A 2012-08-02 2012-08-02 一种视频图像的编码和解码方法及装置 Expired - Fee Related CN103581688B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210274097.6A CN103581688B (zh) 2012-08-02 2012-08-02 一种视频图像的编码和解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210274097.6A CN103581688B (zh) 2012-08-02 2012-08-02 一种视频图像的编码和解码方法及装置

Publications (2)

Publication Number Publication Date
CN103581688A true CN103581688A (zh) 2014-02-12
CN103581688B CN103581688B (zh) 2017-09-12

Family

ID=50052461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210274097.6A Expired - Fee Related CN103581688B (zh) 2012-08-02 2012-08-02 一种视频图像的编码和解码方法及装置

Country Status (1)

Country Link
CN (1) CN103581688B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106664420A (zh) * 2014-06-20 2017-05-10 高通股份有限公司 用于帧内块复制的块向量译码
CN108596536A (zh) * 2018-04-03 2018-09-28 四川海吉尔档案科技有限公司 一种档案存档智能盘点***及其盘点方法
CN109922340A (zh) * 2017-12-13 2019-06-21 华为技术有限公司 图像编解码方法、装置、***及存储介质
CN110009621A (zh) * 2019-04-02 2019-07-12 广东工业大学 一种篡改视频检测方法、装置、设备及可读存储介质
CN113837585A (zh) * 2021-09-17 2021-12-24 北京石油化工学院 一种面向城市常发应急的协同一体化接处警综合实训***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003169327A (ja) * 2001-11-30 2003-06-13 Matsushita Electric Ind Co Ltd ソフトウェアでのmpeg−2ビデオ可変長復号化方法
CN101127903A (zh) * 2007-09-29 2008-02-20 华南理工大学 基于dct的分辨率可伸缩图像编解码方法
JP2009141539A (ja) * 2007-12-05 2009-06-25 Sony Corp 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体
CN102026000A (zh) * 2011-01-06 2011-04-20 西安电子科技大学 像素域-变换域联合的分布式视频编码***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003169327A (ja) * 2001-11-30 2003-06-13 Matsushita Electric Ind Co Ltd ソフトウェアでのmpeg−2ビデオ可変長復号化方法
CN101127903A (zh) * 2007-09-29 2008-02-20 华南理工大学 基于dct的分辨率可伸缩图像编解码方法
JP2009141539A (ja) * 2007-12-05 2009-06-25 Sony Corp 画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体
CN102026000A (zh) * 2011-01-06 2011-04-20 西安电子科技大学 像素域-变换域联合的分布式视频编码***

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106664420A (zh) * 2014-06-20 2017-05-10 高通股份有限公司 用于帧内块复制的块向量译码
CN109922340A (zh) * 2017-12-13 2019-06-21 华为技术有限公司 图像编解码方法、装置、***及存储介质
CN109922340B (zh) * 2017-12-13 2021-10-15 华为技术有限公司 图像编解码方法、装置、***及存储介质
US11528507B2 (en) 2017-12-13 2022-12-13 Huawei Technologies Co., Ltd. Image encoding and decoding method, apparatus, and system, and storage medium to determine a transform core pair to effectively reduce encoding complexity
CN108596536A (zh) * 2018-04-03 2018-09-28 四川海吉尔档案科技有限公司 一种档案存档智能盘点***及其盘点方法
CN110009621A (zh) * 2019-04-02 2019-07-12 广东工业大学 一种篡改视频检测方法、装置、设备及可读存储介质
CN110009621B (zh) * 2019-04-02 2023-11-07 广东工业大学 一种篡改视频检测方法、装置、设备及可读存储介质
CN113837585A (zh) * 2021-09-17 2021-12-24 北京石油化工学院 一种面向城市常发应急的协同一体化接处警综合实训***
CN113837585B (zh) * 2021-09-17 2023-10-31 北京石油化工学院 一种面向城市常发应急的协同一体化接处警综合实训***

Also Published As

Publication number Publication date
CN103581688B (zh) 2017-09-12

Similar Documents

Publication Publication Date Title
US9866847B2 (en) Method and module for acquiring position information of transform block
US9414086B2 (en) Partial frame utilization in video codecs
EP3668104B1 (en) Video scrambling method and device with adaptive mode selection, network camera and readable storage medium
US10368086B2 (en) Image coding/decoding method, device, and system
CN106101714B (zh) 一种与压缩编码过程紧耦合的h.264视频信息隐藏方法
CN108881913B (zh) 图像编码的方法和装置
CN103581688A (zh) 一种视频图像的编码和解码方法及装置
CN101663895B (zh) 使用所估计译码成本的视频译码模式选择
CN113784126A (zh) 图像编码方法、装置、设备及存储介质
CN104704826A (zh) 两步量化和编码方法和装置
KR20100102386A (ko) 레지듀얼 값 분포에 적응적인 부호표 선택에 기초한 영상 부호화, 복호화 방법 및 장치
JP2022548354A (ja) ビデオ復号方法、ビデオ符号化方法、装置、機器及び記憶媒体
KR20220128975A (ko) 고효율 비디오 코딩을 위한 화면 내 예측 방법 및 장치
CN110958451A (zh) 一种视频编码方法及电子设备
CN104053009A (zh) 一种监控视频的编码方法及装置
CN115866297A (zh) 视频处理方法、装置、设备及存储介质
WO2023044868A1 (zh) 视频编解码方法、设备、***、及存储介质
CN112543324B (zh) 视频解码方法、编码方法、编解码器及存储介质
US11838530B2 (en) Method for concealing data in an image or a video stream inside a compression chain
CN109495745B (zh) 一种基于逆量化/逆变换的无损压缩解码方法
US20150319440A1 (en) Video coding device, video coding method, and video coding program
KR101431463B1 (ko) 무손실 비디오 부호화/복호화 방법 및 장치
CN109672889A (zh) 约束的序列数据头的方法及装置
CN116320471B (zh) 视频信息隐藏方法、***、设备及视频隐藏信息提取方法
US20240236372A1 (en) Video encoding and decoding method, and device

Legal Events

Date Code Title Description
C06 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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230210

Address after: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee after: Peking University

Patentee after: New founder holdings development Co.,Ltd.

Patentee after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Patentee before: Peking University

Patentee before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Patentee before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

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: 20170912