CN103596008A - 编码器及编码方法 - Google Patents

编码器及编码方法 Download PDF

Info

Publication number
CN103596008A
CN103596008A CN201310344466.9A CN201310344466A CN103596008A CN 103596008 A CN103596008 A CN 103596008A CN 201310344466 A CN201310344466 A CN 201310344466A CN 103596008 A CN103596008 A CN 103596008A
Authority
CN
China
Prior art keywords
data
piece
bag
coding
encoder
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
CN201310344466.9A
Other languages
English (en)
Other versions
CN103596008B (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.)
Gurulogic Microsystems Oy
Original Assignee
Gurulogic Microsystems Oy
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 Gurulogic Microsystems Oy filed Critical Gurulogic Microsystems Oy
Publication of CN103596008A publication Critical patent/CN103596008A/zh
Application granted granted Critical
Publication of CN103596008B publication Critical patent/CN103596008B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/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/136Incoming video signal characteristics or properties
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/172Methods 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 picture, frame or field
    • 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/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • 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/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种编码器及编码方法,对输入数据进行编码,生成编码压缩输出数据,且在编码过程中无实质性的质量损失发生;所述编码器及编码方法把输入数据分成具有可变大小的块,对块的内容进行变换,检查变换数据的呈现质量,如果变换数据的呈现质量未满足质量标准,对块做进一步的再分割并进行变换。

Description

编码器及编码方法
技术领域
本发明涉及编码器,用于接收输入数据并对输入数据进行编码,以生成相应的编码输出数据。本发明还涉及对输入数据进行编码以生成相应的编码输出数据的方法。进一步,本发明还涉及记录在非暂时性机器可读数据存储介质上的软件产品,其中,软件产品在计算硬件上执行,实现上述方法。
背景技术
当今人们越来越多地存储和传送数据内容,例如,通过互联网和无线通讯网络传送多媒体内容。这些多媒体内容通常包括但不限于:图像、视频与音频。这些数据内容被存储和传送于设备、软件应用、媒体***、以及数据服务之间。在这些存储和发送的过程中,会出现图像和视频被获取、扫描、传送、分享、观看、以及打印的一些情形。不管怎样,这些图像和视频需要占用数据存储容量以及通讯***所用的带宽。当通讯***的带宽受限,这些图像和视频的传送就需要大量的时间。针对这样的存储需要,惯用的作法是采用图像和视频编码方法,提供一定程度的数据压缩。一些当前的用于图像和视频的编码标准被列举在表1中。
表1:当前的编码标准
JPEG MPEG-1 H.261 WebP Lucid
JPEG2000 MPEG-2 H.263 WebM GIF
JPEG XR MPEG-4 H.264 PNG
MPEG-4 AVC HEVC TIFF
MPEG-4 MVC BMD
MP3 VC-1
Theora
AAC
FLAC
Ogg Vorbis
Speex
随着图像的质量逐步提高,例如,通过采用高清晰度(HD)标准和高动态范围(HDR),图像和视频文件变得更大。尽管如此,3维(3D)图像、视频和音频正越来越普及,这相应地需要更有效的编码和解码方法用于编码器和解码器之中,即编解码器(codec),应对与此相关的需要被传送和存储的数据的更高质量所带来的问题。而且,针对提供一定程度的数据压缩的编码方法,很期望它在生成压缩数据时在信息内容方面是实质性地无损的。
传统的编解码器被描述在已经公开和授权的专利中,表2提供了一些例子。
表2:描述编解码器的先前专利文献
Figure BDA00003640442100021
总之,许多已知的视频编解码器在对图像中高度空间细节化的区域进行编码的同时,不能有效地对图像中具有大体上恒定参数的较大区域进行编码。
通常的作法是,以预测和预测误差编码方法的形式采用运动补偿,这些是基于变换的使用,例如离散余弦变换(DCT)和小波变换。在这些变换所采用的过程中,给定的图像-例如静止图像或者是形成视频序列一部分的图像-的一部分或多部分被分成块,对这些块施以编码过程。这些块可以是例如8×8图像元素(element)、4×4图像元素或类似的。采用这样相对较小的块是因为较大的块导致编码过程的效率低,尽管有时候也采用16×16图像元素的块。根据当前已知的图像编码方式,当多个不同的块大小被用于编码时,通常的作法是,使块大小之间的差异小;并且,块的大小的选择是基于在关联块区域中运动是如何好地被补偿,或者基于编码质量参数,如目标质量参数。总之,更高的编码图像质量要求更小的块,这导致数据的压缩程度小。当象奇偶码和误差纠正码这样的误差纠正功能被包括进来时,当前某些类型的编码甚至导致数据大小的提高。
由此可以看出,提供图像和视频的压缩而又同时保持图像质量,这是当今的一个问题,尽管有多种多样的编解码器已经在近几十年被开发出来,已知的编码器和解码器还未能充分地处理这个问题。
发明内容
本发明的目的之一是,提供一种编码器,用于对代表至少一个数据内容项目的输入数据进行编码,并生成代表至少一个数据内容项目的相应的编码输出数据,其中,编码输出数据相对于输入数据被压缩,且在编码过程中没有任何实质性的质量损失发生;数据可以是任何类型的数据,例如可以是以下至少之一:图像数据、视频数据、音频数据、经济数据、遮罩图像数据(mask data)、测震数据、模数转换(ADC)数据、生物医学信号数据、纹理数据(textural data)、时间进程数据(calendar data)、数学数据、二进制数据,但不限于这些数据。
本发明的再一个目的是,提供一种编码方法,用于对代表至少一个数据内容项目的输入数据进行编码,并生成代表至少一个数据内容项目的相应的编码输出数据,其中,编码输出数据相对于输入数据被压缩,且在编码过程中没有任何实质性的质量损失发生。
根据本发明的第一方面,提供一种对输入数据进行编码以生成相应的编码输出数据的方法,其特征在于,所述方法包括:
(a)把输入数据分成多个块或包,所述块或包具有大小,所述大小取决于块或包的内容的性质,块或包具有一个或多个大小;
(b)把多个变换应用于块或包的内容,生成相应的变换数据;
(c)比之于在应用变换之前的块或包的内容,检查块或包的变换数据的呈现质量,以确定块或包的变换数据的呈现质量是否满足一个或多个质量标准;
(d)如果一个或多个块或包的变换数据的呈现质量未满足一个或多个质量标准,进一步细分和/或组合所述一个或多个块或包,并重复步骤(b);
(e)如果一个或多个块或包的变换数据的呈现质量满足一个或多个质量标准,输出变换数据以提供代表要被编码的输入数据的编码输出数据。
本发明的优点是,所述方法能够对输入数据提供有效编码,以提供相应的编码输出数据,同时潜在地提供编码输出数据相对于要被编码的输入数据的实质性无损的数据压缩。
可选地,所述方法包括,使用变换来压缩与块或包相关联的内容,使得编码输出数据的大小小于要被编码的输入数据。
可选地,所述方法包括,在不同类型的变换中选择,以保证一个或多个质量标准被满足。
可选地,所述方法包括,把一个或多个质量标准设置成为在对块或包进行编码的过程中、取决于块或包之内所包括的内容的性质是动态可变的。
可选地,在所述方法中,块或包被细分和/或组合,使得描述其内容的它们的代表参数中的至少一个在它们的被细分和/或被组合的块或包之中是平坦的(flat)。至少一个代表参数例如可以是颜色、幅度、强度、数字或码。
可选地,在所述方法中,块或包对应于一系列数据,其中,相应于给定信息的输入数据的细分以形成多个相应的块,是取决于在数据的时间序列内、在给定的信息之前的一个或多个数据中存在的内容。
可选地,所述方法包括,在步骤(e)把文件头信息增加到被变换后的数据以生成编码输出数据,其中,文件头信息包括表示步骤(b)所采用的变换的信息。
可选地,在所述方法中,步骤(b)包括,从数据库安排中提取补充信息以使用于执行变换之时;补充信息包括以下至少之一:算法、规则、一个或多个变换参数。更可选地,所述方法还包括,把文件头信息增加到表示数据库安排的编码输出数据中,使得后续的对编码输出数据的解码能够访问补充信息。
可选地,所述方法包括,为所述变换采用以下至少之一个或多个:数据库参考、DC值、幻灯片(slide)、比例(scale)、线、多级、内插值、外插值、DCT、脉冲码调制(PCM)、DPCM、RLE、SRLE、EM、LZO、VLC、哈夫曼编码、算术编码、距离编码、变换编码、差分编码、ODelta编码、bzip2-specific RLE。其它类型的编码也可被采用于所述方法中。
可选地,所述方法包括,对以下至少之一进行编码:存在于输入数据中的视频、图像、音频、图形、文本、ECG、测震数据、ASCII、Unicode、二进制信息。
可选地,所述方法包括,对编码输出数据中的多个信道/层进行编码,以提供以下至少之一:交互视频、商业广告、在体育事件报道中的多个视点(viewpoint)、交互水印、交互模式识别、动画2D/3D用户界面按钮。
可选地,所述方法包括,把编码输出数据传送到以下目的地的至少之一:数据存储设备、通讯网络、存储卡、数据存储盘、本地局域通讯网络(LAN)、直接传送给解码器。
可选地,所述方法的步骤(a)包括,基于以下至少之一:
(a)图像分辨率;
(b)数据的量,和
(c)块或包大小的最大值,
把输入数据(20)初始地分割成一个或多个块。
根据本发明的第二方面,提供记录在非暂时性机器可读数据存储介质上的软件产品,其中,软件产品在计算硬件上执行,执行根据本发明的第一方面的方法。
根据本发明的第三方面,提供用于移动无线通讯设备的软件应用,其中,软件应用包括根据本发明的第二方面的软件产品。
根据本发明的第四方面,提供一种可操作用于对输入数据进行编码以生成相应的编码输出数据的编码器,其特征在于,所述编码器包括数据处理硬件,所述数据处理硬件可操作用于:
(a)把输入数据分成多个块或包,所述块或包具有大小,所述大小取决于块或包的内容的性质,块或包具有一个或多个大小;
(b)把多个变换应用于块或包的内容,生成相应的变换数据;
(c)比之于在应用变换之前的块或包的内容,检查块或包的变换数据的呈现质量,以确定块或包的变换数据的呈现质量是否满足一个或多个质量标准;
(d)如果一个或多个块或包的变换数据的呈现质量未满足一个或多个质量标准,进一步细分和/或组合所述一个或多个块或包,并重复步骤(b),如果这提高压缩效率并且不显著损害重构;
(e)如果一个或多个块或包的变换数据的呈现质量满足一个或多个质量标准,输出变换数据以提供代表要被编码的输入数据的编码输出数据。
可选地,在所述编码器中,使用可操作用于执行软件产品的计算硬件来实现数据处理硬件。数据处理硬件包括可操作用于并行处理数据的多个处理器,并且,编码器可操作用于在把数据块和/或包数据导向多个处理器以进行编码的同时,把它们导向要被包括在编码输出数据中的数据。
可选地,所述编码器可操作用于,使用变换来压缩与块或包相关联的内容,使得编码输出数据的大小小于要被编码的输入数据。
可选地,所述编码器可操作用于,在不同类型的变换中选择,以保证一个或多个质量标准被满足。
可选地,所述编码器可操作用于,把一个或多个质量标准设置成为在对块或包进行编码的过程中、取决于块或包之内所包括的内容的性质是动态可变的。
可选地,所述编码器可操作用于,块或包被细分和/或组合,使得描述其内容的它们的代表参数中的至少一个在它们的被细分和/或被组合的块或包之中是平坦的。至少一个代表参数对应于被细分的块的颜色、幅度、强度、数字或码。
可选地,在所述编码器中,块或包对应于一系列数据,其中,相应于给定信息的输入数据的细分以形成多个相应的块,是取决于在数据的时间序列内、在给定的信息之前的一个或多个数据中存在的内容。
可选地,所述编码器可操作用于,把文件头信息增加到被变换后的数据以生成编码输出数据,其中,文件头信息包括表示编码器所采用的变换的信息。
可选地,所述编码器可操作用于,从数据库安排中提取补充信息以使用于执行变换之时;补充信息包括以下至少之一:算法、规则、一个或多个变换参数。更可选地,所述编码器可操作用于,把文件头信息增加到表示数据库安排的编码输出数据中,使得后续的对编码输出数据的解码能够访问补充信息。
可选地,所述编码器可操作用于,为所述变换采用以下至少之一个或多个:数据库参考、DC值、幻灯片(slide)、比例(scale)、线、多级、内插值、外插值、DCT、脉冲码调制(PCM)、DPCM、RLE、SRLE、EM、LZO、VLC、哈夫曼编码、算术编码、距离编码、变换编码、差分编码、ODelta编码、bzip2-specific RLE。其它类型的编码也可被采用于所述编码器中。
可选地,所述编码器可操作用于,对以下至少之一进行编码:存在于要被编码的输入数据中的视频、图像、音频、图形、文本、ECG、测震数据、ASCII、Unicode、二进制信息。
可选地,所述编码器把编码输出数据传送到以下目的地的至少之一:数据存储设备、通讯网络、存储卡、数据存储盘、本地局域通讯网络(LAN)、直接传送给解码器。
根据本发明的第五方面,提供一种电子消费产品,可操作用于传送和/或存储输出数据,其特征在于,所述电子消费产品包括根据本发明的第四方面的用于对输入数据进行编码的编码器。
可选地,所述电子消费产品是以下至少之一:移动电话、蜂窝电话、平板电脑、phablet电脑、个人计算机、电视机、便携媒体播放设备、照相机、编辑器、码转换器、扫描仪、传真机、复印机、麦克风、音频卡、录音播放机、DVD播放机,等。
在不背离本发明的范围的情况下,本发明的特征还可以做各种组合。
附图说明
下面结合附图对本发明的实施例以例示的方式加以说明。
图1是本发明的编码器的一个实施例的示意图;
图2是一个方法的步骤流程图,表示对代表至少一种数据内容项目的输入数据进行编码,生成相应的编码输出数据,其中,编码输出数据被相对于输入数据进行压缩,并且在编码过程中无实质性的质量损失发生,数据内容项目包括但不限于以下至少之一:图像数据、视频数据、音频数据、经济数据、遮罩图像数据、测震数据、模数转换(ADC)数据、生物医学信号数据、纹理数据、时间进程数据、数学数据、二进制数据;
图3是将图像分割成对应于块的区域的示例,用于使用图2所示的方法进行编码;
图4是根据实施例被分割的图像和初始图像的示例;
图5是图4的示例图像的块的示例;
图6示出了在其中实现了编码的便携设备的结构块。
在附图中,使用带下划线的数字来代表项目,所代表的项目位于下划线数据所处的位置或接近的位置。无下划线数字所表示的项目通过指示线与无下划线数字连接,无下划线数字的关联箭头表示项目位于箭头所指的位置。
具体实施方式
概括而言,本发明是关于编码器和相关的对输入数据进行编码以生成相应的编码输出数据的方法。该方法涉及接收代表一个或多个图像和/或一个或多个音频信号的输入数据,并使用对应于以下步骤至少之一的方式来处理输入数据:
(a)把每幅图像分割成具有可变大小的块;
(b)把一个或多个音频信号分割成具有可变大小的包;
(c)对图像块进行组合以形成具有可变大小的、更有利于编码的更大的块;以及
(d)对一个或多个音频信号的包进行组合以形成更有利于编码的组合包。
此外,该方法还包括处理块和/或包以生成代表一个或多个图像和/或一个或多个音频信号的压缩编码输出数据。
该方法在对描述数据块的数据进行编码和压缩时,使用多种编码和熵修正(entropy modifying)方法,即变换。例如,为了实现更好的编码和压缩效果,视不同块的信息内容,不同的变换被用于给定图像的不同块。在处理数据块时,RD优化被用作质量标准(criterion)。描述当对块进行编码时所采用的多种变换的信息在编码输出数据中被传送,该信息要么被固定地包含于编码输出数据之中,要么输出数据包括一个指向一个或多个数据库的参考,该参考描述所采用的变换的信息可以在数据库中取得。RD优化将在后文详细描述。所用的编码方法包括以下之一个或多个:多级、线、比例、幻灯片、内插值、外插值、不变(unchanged)、运动估计、SRLE、EM、Odelta编码、以及距离编码,将在后文更详细说明。初始块(Init-block)的分割也被有益地和可选地采用。
块的选择,和/或对块进行组合,是由对应于块的区域可以被编码的容易程度来决定。例如,对于具有基本恒定的关联参数值的一个或多个图像的区域,采用较大的块,而较小的块用于难以编码的一个或多个图像的区域,这是考虑到这些区域的关联参数值具有相对陡突的空间变化。所述的参数可选地涉及以下之一个或多个:颜色、照度、变动参数值、重复模式,但不限于这些。所说的编码是容易的,可以是指,与一个给定区域相关联的至少一个参数在给定区域内是基本恒定的。此外,该方法还把较大的块用在图像的视频序列中的静止区域,或者,图像的视频序列中以类似方式移动的区域组,也就是对应于静止对象的块。可选地,块相对于它们所表示的一个或多个图像的区域是矩形的,如,64×64元素、32×16元素、4×20元素、10×4元素、1×4元素、3×1元素、8×8元素、1×1元素,等。可选地,所说的元素对应存在于一个或多个图像中的像素,但也可视编码过程中的缩放操作而定,即,每个元素对应于多个像素。尽管如此,块也可以采用其它形状,例如,椭圆形、圆形等。此外,类推地,该方法也可以对一个或多个音频信号进行编码,其中,一个或多个音频信号被细分成包,和/或组合成包,视这些包所对应的音频信号的性质,包具有可变的时长,然后,包被编码以生成编码压缩输出数据,包类似于前述的块,只是它是关于音频信息而非图像信息。本发明的编码器能够同时对音频信息和图像信息进行编码。
在把一个或多个图像的区域处理成相应的块时,本方法包括:检查一个或多个图像中由块所提供的信息的呈现相对于相应的细节的质量,以计算一个相应的质量指示(quality index);如果计算出的质量指示,在与参考质量阈值比较时,表示已经采用的块大小的选择使得由块所提供的数据的呈现的质量不够,该方法叠代回去并使用渐进较小的块,并且/或者把各种块组合到一起,如果这提升压缩效率且不显著损害重构,直到所述的质量指示表示所述呈现的质量达到了由参考质量阈值所定义的程度。通过这种方式,取决于用于信息的呈现质量的阈值的选择,本发明可以实现编码过程中实质上无损的数据压缩。可选地,参考质量阈值被设置成动态可变,依一个或多个图像中的内容而定,例如,当一个或多个图像是有许多无序活动的视频序列的一部分,参考质量阈值可以在无序活动期间被放宽,以使得更高水平的数据压缩得以实现。所述的无序活动例如可以是一些随机的形态,如汹涌的流水、火焰、落雪、腾起的烟、海浪,等,当编码数据被后续在解码器中解码时,这些形态中的信息丢失不容易被辨别出来。
在前述的编码器中块的确定可以基于表3中所列的一个或多个标准。
表3:视频编码中块的分割选择和/或组合选择
Figure BDA00003640442100101
可选地,表3中的预测是基于已知的对一个或多个图像进行编码所采用的规则。替代地,表3中的预测是基于被提供的设置信息,例如,被提供自被选择的数据库参考、预测方向、一个或多个图像内的块坐标的移动,等。方差或标准差的使用是根据本发明而采用的方法,以通过描述一个给定的相应块内所包括的元素的相互关系来提供信息压缩。在许多情形下,在根据本发明进行编码时,依相关的编码进行块数据的预测,其自身是足够的,但是,仍然期望在预测内包括码预测误差数据,以提高预测的精确度。在本发明的一个简单实施例中,采用一个简单的数据预测方法,例如,给定的块中的像素或元素的平均值,即“DC”值在编码输出数据中被传送。
作为输入数据提供给实现了上述方法的编码器的一个或多个图像的区域分割,或者区域组合的实现是根据既提供压缩又实质地保持图像质量的,即编码过程中实质性地无损的任何方法。该方法将各种策略应用于区域分割与/或区域组合。例如,如果一个给定块包括大量信息,它被分割成多个相对“平坦”(flat)的相应的较小块,或者组合成相对“平坦”的较大块,也即是相对于它们的内容实质性地恒定,从而使得它们各自包括相对少的信息。当本发明的方法被用于一个或多个图像与/或一个或多个音频信号两者至少之一时,在编码输出数据中的编码质量和编码噪声被可选地用于控制一个方式,在该方式中,输入图像与音频输入信号之被分割成块与包分别发生。尽管如此,应当注意到,其它类型的数据内容项目也可以用类似的方法来处理,例如,图像数据、视频数据、音频数据、经济数据、遮罩图像数据、测震数据、模数转换(ADC)数据、生物医学信号数据、纹理数据、时间进行数据、数学数据、二进制数据,其中的至少一种,但不限于这些类型的数据。
可选地,在编码编出数据中的噪声是基于以下至少之一:
(i)在当前块或包中存在的噪声;
(ii)在由该方法生成的一个或多个先前的块或包中存在的噪声;
(iii)先前的图像
可选地,当给定的输入数据被分割成区域和相应的块,该方法分析由此生成的块,从而为了编码输入数据中的更大程度的数据压缩而确定是否某些块可以被组合到一起,如前所述,这取决于前述的质量标准。在前文中,编码输出数据包括与块相关联的信息,这些信息定义了在要被编码的输入数据中的原始图像中这些块的相应区域的位置。
当使用所述方法对要被编码的输入数据中的一个或多个图像进行编码时,与输入图像相关联的输入数据在被施以前述的编码方法之前,被进行下采样,例如,按照2×1∶1、2×2∶1、1×2∶1、4×1∶1,或者类似地进行量化。可选地,该下采样的执行是响应于应用本发明的方法而生成的压缩编码输出数据中的编码的期望质量。可选地,所述方法所处理的较大的块的量化少于较小块的量化,换言之,所采用量化的程度随着块大小的提高而降低。可选地,在编码过程中,所采用的一个用于下采样的缩放因子,例如响应于象视频这类的要被编码的图像序列中的内容的性质,被设置成动态可变的。
在根据本发明的方法对块进行编码的过程中,每个块具有描述其内容的各种参数。当编码时,这些参数通过各种“信道”被传送。例如,描述一个图像的块的颜色信息包括以下中的一个或多个:黑/白(B/W)、Y、U、V、红(R)、绿(G)、蓝(B)、青(C)、品红(M)、Y、以及K。并且,当执行所述的方法时,使用多种可用的颜色或像素格式,如Y、YUV420、YUV422、YUV444、RGB444、G、以及CMYK这些当前的标准和格式,对用于编码的输入图像和块进行处理。此外,所述格式可选地是平面的(planar)、交错的(interleave)、线平面的(line planar),等。此外,本发明的方法可用于当执行编码活动时改变图像和/或块的格式,例如,原始图像是交错RGB格式的,采用本发明的方法被进行编码,生成YUV420格式的编码输出数据,或者反之。
当实现前述的编码方法时,比特深度,即像素动态范围,处于1比特到64比特分辨率之间。可选地,在编码方法的编码质量标准和压缩效果被满足的情况下,不同的像素颜色或音频信道可以用彼此不同的分辨率进行编码。
当实现本发明的编码方法时,可以使用存储于当执行编码活动时可访问的数据库之中的编码参数与编码规则和/或表(table)。可选地,数据库在编码过程中被创建,并且通过编码器被发送,从而在实现所述方法时使用。例如,使用被发送给编码器的数据库中的信息,实现编码过程中的运动补偿。编码器可对存在于输入数据中的原始像素信息和/或编码预测误差信息进行编码。在编码输入数据以生成相应的编码输出数据时使用数据库信息,使得编码器能够适应编码标准的修正,所述编码标准,是用于编码的参数、表及类似信息的编码标准。在实现根据本发明的编码方法时可采用的编码方式包括以下之中的一个或多个:数据库参考、DC值、幻灯片、比例、线、多级、不变、内插值、外插值、DCT、脉冲码调制(PCM)、DPCM、RLE、SRLE、EM、LZO、VLC、哈夫曼编码、算术编码、距离编码、变换编码、差分编码、ODelta编码、bzip2-specific RLE。可选地,采用包括上述编码示例的任意组合的编码方式,即,对块和/或包使用多个编码变换,以及多个参数,这取决于块和/或包的内容信息。当使用象哈夫曼编码这样的编码方式时,该编码使用固定的编码参数表或者被发送的编码参数表。使用具有数据存储装置的计算机硬件来实现所述的编码器,其中,优化的编码参数表被存储在数据存储装置中,以备将来执行编码操作时使用。有益地,用于使得解码器访问数据库以获得合适的参数以对来自编码器的编码输出数据进行解码的参考地址被包括于编码输出数据中。可选地,所述数据库是通过通讯网络,如互联网,可访问的。所述数据库可以通过云计算装置得到支持。当实现于编码器中的方法使用数学方式生成的数据库,该数据库可以是:DC值、1D/2D线性转换、1D/2D曲线转换、1D/2D变换方程,或者一些已知的图像块或音频包结构。
根据本发明的编码方法,当实施于编码器中时,可编码输入数据以生成编码输出数据,其中,编码输出数据可以作为比特流而输出,也可以存储在数据存储媒介中,例如,作为一个数据文件存储。并且,本发明的方法可以用于一系列的可能的应用当中。视频、图像、图像块、音频或音频包的文件头可以包括补充信息,例如,版本号,视频、图像或包的数据大小,编码时所采用的质量因子阈值,块或包的大小的最大值,所采用的编码方式,即,采用的变换的类型,编码参数的表,以及有助于后续解码过程的任何其它信息。可选地,在块之间不发生变化的信息不被包括,从而获得编码输出数据中的更高程度的数据压缩,或者,它们被包括在编码输出数据的更高级中,例如在文件头的级别或者子文件头的级别。表4提供了级别的层级表,所述的级别被采用于由编码器生成的编码输出数据中。
表4:编码输出数据中的级别,从高到低
级别 与级别相关联的信息
视频
图像组
图像
宏块组
宏块
块组
微块组
微块
可选地,取决于本发明的方法所应用的领域,该方法在被执行时可以选择并在编码输出数据中发送与一个或多个级别有关的信息,所述的应用领域例如,消费视频产品、调查用的专业图像压缩装置、X射线成像装置、核磁共振成像(MRA)装置。当本发明的方法被应用于编码音频数据,类似的考虑也与编码输出数据中的级别有关,相应地,可以采用音频、包组、包、子包、波形片段组、以及波形片段的文件头。
参见图1,它示出了根据本发明的编码器的示意图。编码器用10来表示,可操作用于接收输入数据20,采用根据本发明的编码方法对输入数据20进行编码以生成相应的编码输出数据30。输出数据30是以前述的实质性无损的方式进行编码的。可选地,编码器10通过通讯网络40连接于数据库装置50,在数据库装置50中存储有用于对输入数据20进行编码的一个或多个参数、表、和/或规则。
在操作中,编码器10接收输入数据20,可选地通过通讯网络40从数据库装置50中得到编码信息,然后对输入数据20进行编码以生成编码压缩数据30。可选地,输入数据20包括以下至少之一:音频、一个或多个图像、视频、图形、文本、ECG、测震数据、ASCII、Unicode、二进制数据,但不限于这些。可选地,编码输出数据30包括文件头、编码信息、以及被编码数据。输出数据30可以从编码器10被流化(streamed),用于通过通讯网络装置被发送给一个或多个数据存储装置或解码器,或者直接存储在机器可读的存储介质中,如服务器硬盘存储器、便携固态存储器设备等。
编码器10可以通过例如一个或多个PGLA(可编程门逻辑阵列)、通过一个或多个可在计算硬件上执行的软件、或者硬件与软件的任意混合体,被实现成硬件,例如,并行处理引擎。编码器10可以被采用于多媒体产品、计算机、移动电话(蜂窝电话)、互联网服务、录像机、视频播放机、通讯装置、及类似装置之中。编码器10可以与图像获取***一同采用,例如,监视影像机、医院X射线***、医院MRI扫描仪、医院超声扫描仪、空中监视***、以及类似装置,它们生成大量的图像信息,并且期望无损压缩,从而在图像中保留纯粹信息,并且使得图像数据的量对于数据存储之目的是可管理的。
编码器10可用于已知的用于图像处理的装置,如,与已公开的美国专利申请号US2007/280355(在此引入作为参考)所描述的图像/视频处理器并用,如,与已公开的美国专利申请号US2010/0322301(在此引入作为参考)所描述的图像生成器并用,如,与已公开的美国专利申请号US2011/007971(在此引入作为参考)所描述的图案识别器并用。
下面参考图2来描述使用图1的编码器对输入数据进行编码的方法。图2中,对输入数据20进行编码的方法的步骤用100到200来表示。在第1步骤100,所述方法包括接收用于块、图像、视频和/或音频(不限于这些)的输入数据,例如,接收前述的输入数据20;在第1步,图像/块类型、图像/块格式信息被得到,以被包括在编码输出数据30中。第1步骤100能够提供把文件头信息,例如图像大小信息,写入编码压缩数据。
在执行于第1步骤100之后的第2步骤110,所述方法包括生成,如果必要的话,初始块或包。在执行于第2步骤110之后的第3步骤120,所述方法包括,执行由第2步骤110生成的块和/或包信息的分析。在执行于第3步骤120之后的第4步骤130,所述方法包括,确定在第3步120中所标识的块和/或包中的一个或多个是否需要被分割和/或被组合,以实现定义的编码质量和/或定义的压缩率,换言之,实质性地无损编码;如果在第4步骤130中一个或多个块或包被发现需要分割和/或组合,所述方法进行第5步骤140,在第5步骤140中,一个或多个被标识的块或包被分割成更小的块或包,并且/或者被组合成更大的块或包,从而创建额外的新块或新包;如果在第4步骤130中一个或多个块或包不需要分割和/或组合,所述方法进行第6步骤150。当完成第5步骤140,如果合适的话(在图中用虚线表示),所述方法进行第6步骤150。在第6步骤150,基于步骤120所做的分析,由变换所重构的块的数据被输出给数据流,然后,所述方式进行到第7步骤160。
在第7步骤160,所述方法包括,确定要被编码的最后一个块或包是否已经被处理到了;如果还有要被编码的块或包存在,所述方法包括,返回执行块或包信息分析的第3步120;如果所有的块或包都已经被编码,所述方法包括,进行第8步170。所述方法的第8步170包括,使用例如RLE、哈夫曼、DCT或者类似的变换,对像素值、参数和分割信息这样的数据进行压缩和编码,写前述的文件头信息;例如,如果块的DC值被发送了,它们可以首先被进行差分编码,然后,相应的编码值被进行RLE编码,再然后,这些生成的编码值被哈夫曼编码。当第8步骤170的压缩和编码活动已经完成,所述方法包括,进行第9步骤180,第9步骤180涉及检查最后一个初始块、包或帧是否已经被处理到;如果最后一个块、包或帧还没有被处理到,所述方法包括,返回第3步骤120;如果最后一个块、包或帧已经被处理到,所述方法包括,进行第10步骤190。在第10步骤190,所述方法包括,执行一次或多次分析,分析图像/块是否类似于先前的图像/块,或者,是否是黑色的,这里所说的类似于先前的图像/块以及是黑色的,仅是为了举例的目的。该分析还需要一些可以从一个或多个先前的步骤获得的信息。该步骤使得编码输出数据的图像/块可以被进一步压缩。不需要使用从一个或多个先前的步骤获得的信息的类似的分析已经在第3步120实施过了,因此,也有可能避免在处理器中进行不必要的处理。在完成第10步骤190之后,所述方法包括,进行第11步骤200,其中,所述方法包括,应用块、包、图像或视频的尾编码来结束被编码和压缩的输出数据30。可选地,所述方法包括,如果可行的话,从第7步骤160直接进入到第¨步骤200,例如,在图像中只有一个块需要被编码,它可以是黑色的或者是类似于先前的图像中的先前的块。在实现所述方法的时候,所有能够被写入一个文件或者流化出来(streamedout)的编码数据要尽可能早地生成,以避免过多的缓存。
下面参见图3。从前述可以看出,在合适的时候,根据本发明的编码方法采用可变的块或包大小,用于在编码输出数据30中的数据压缩与实质性地无损压缩-即,实质上没有可辨识的损失-之间提供一个优化的解决方案。在图3中,采用了大的编码块300用在给定图像的左上角,而在沿着图像的右手边和底边区域则需要更小的块310、320、330,从而为这些区域提供更精确的编码。在编码输出数据30中,包括了描述块300、310、320、330的图像内容和这些块在图像中的位置的参数。用于对块300、310、320、330进行编码所采用的编码方法也被定义在编码输出数据30中,例如,不同的编码方法用于不同的块300、310、320、330。块300、310、320、330的分布是可变的,这取决于要被编码的图像中内容的分布。图3示出了在第2步骤110生成的图像中的块的初始分割的示例。块的初始分割不需要在编码器与解码器之间发送任何信息,因为它可以基于,例如,图像的大小。
根据一个实施例,当在第5步骤140实施真正的块分割,该信息也可以从编码器发送给解码器。对图像进行编码的一个实例将在下文描述。
在前述中使用了下述的缩写,表5列出了这些缩写。取决于编码器10的期望效果,在实施编码器10时,各种不同的编码格式可以被使用。
表5:在实施本发明的实施例时可用的编码变换的缩写
Figure BDA00003640442100171
Figure BDA00003640442100181
再参见图2,可以看出,所述编码方法对图像、视频和音频中的至少一个完成了编码之后,输出编码输出数据30。替换地,通过图2中在步骤200之后回到步骤100或120的连接(在图中用虚线表示),使得所述编码方法在对图像、视频和音频中的至少一个执行编码步骤的同时,编码输出数据30被输出,例如,被流化。当本发明的方法被用于在服务器处实时对源数据进行编码并流化给客户,例如用于通过互联网发送的多媒体服务,这样的操作是有利的。因此,所述方法还能够在具有小数据存储容量可用、流化编码数据的用户中断(例如,选择了替代性其它服务的用户将其中断)的情况下工作,避免在用户不需要的情况下整个视频文件被编码,从而节省计算机处理资源。这些考虑对于当前通过互联网的多媒体流服务是非常重要的。
当发送编码输出数据30,例如,在前述的同时的编码/流化的情形下,最高级别的文件头被首先发送,然后,与该层级体系中的最高级别相关的编码数据被发送,然后发送与层级体系中较低级别相关的编码数据,这是有利的。例如,在编码输出数据30中,图像大小的数据和图像/视频相关的数据被首先发送,然后是与块分割有关的信息,再然后是被用于块编码中的算法以及被编码的块数据。
使用包括并行处理器架构的计算机硬件来实现编码器10,并行处理器架构包括被组织用来并行处理数据的多个处理器。例如,考虑初始块的分割以提供分割后的块300、310、320、330,分割后的块300、310、320、330可以被分配给多个处理器,如,第一处理器对块300、310、320编码,第二处理器对块330编码。
在编码过程中,编码器用来对图像、视频和音频进行编码所采用的信道的数量可以是动态可变的,以在编码输出数据30中获得更大程度的数据压缩。例如,采用多达4个信道是方便的,尽管图像可以包括能够被在一起呈现的多个层。所说的层可以涉及下述之一或多个:字幕、LOGO、多屏(multi-view)图像、深度。并且,层传送彼此不同量的数据。所有的关联层数据作为分立的信道被编码于编码输出数据30中,并且,在编码输出数据30中的一个或多个文件头还包括有关信道应该如何组合和使用的关联描述信息。
可以理解,图3所示的块分割仅是个示例。在图像的时间序列中,如视频序列,图像中所描述的具有定义完好的边界的对象通常在图像的一个给定的视场内移动,这导致沿着对象的移动进行块分割。在静止图像中,块分割典型地导致沿着空间图像的边界的结果。当从静止图像来示意块分割的时候,通常,对象可以从中检测到。
根据本发明的编码方法,例如图2所示的那样,通过实施于编码器10之中的层和信道编码,能够支持用来提供新型内容发送服务的交互视频呈现,例如,交互商业广告,在对方程式1(Formula 1)这样的直播体育活动进行流化时的不同视景,以及电影。例如,编码器10允许电影带有本地化字幕层、交互水印、交互模式识别、动画2D/3D用户界面按钮等。
图4示出了编码实施例的一个简化示例。要被编码的图像400具有平坦的蓝色区域414,出于简洁的考虑,在图4中用白色表示;绿色区域412,在图4中用叉点表示;变动的红色区域400,在图4中用倾斜的点阴影表示。图像400的大小是任意的,例如可以是12×8元素或像素,或者24×16元素或像素,或者120×80元素或像素,等。用于图像400的初始块大小402被选作4×4元素或像素,或者8×8元素或像素,或者40×40元素或像素,分别用于不同大小的图像。在实施例中,有6个元素或像素块A、B、C、D、E、F。同时参考图5,根据实施例,第1块A被分析。从分析中确定,块A是一致的并且仅包含蓝色,具有用数字10表示的颜色值,块A被认作是一个区域。接下来分析块B,块B也只包含蓝色,因此它被认作是一个区域。接下来分析块C,块C是不一致的,因此它被分割成由C1、C2、C3、C4表示的4个子块。第1子块C1被分析,它包括变动的红色区域,在子块C1的左下角具有颜色值15,在子块C1的左上角和右下角具有值20,在子块C1的右上角具有值25。子块C1被认为是一个区域。子块C2、C3、C4被分别分析。子块C2、C3、C4由平坦的蓝色组成并分别被标示为平坦的蓝色。接下来分析块D。块D只具有一种颜色,即平坦的蓝色,被认为是一个区域。接下来分析块E。块E是不一致的,因此被分割成4个子块E1、E2、E3、E4。子块E1和E2均是一致的,具有平坦的蓝色。子块E3不是一致的,因此它被分割成子块E31、E32、E33、E34。每个子块E31、E32、E33、E34都被分析。经分析,子块E31由一致的蓝色组成,因此被标记为平坦的蓝色区域。经分析,子块E32、F33、E34是绿色的,具有例如为5的颜色值,因此它们被指定为绿色。经分析和确定,子块E4是一致的并被指定为绿色。块F被分析和确定为不一致的。块F被分割成4个子块F1、F2、F3、F4。子块F1被分析和确定为不一致的。子块F1被进一步分割成子块F11、F12、F13、F14。子块F11、F12、F13、F14的每一个均被分析。子块F11被确定为一致的,蓝色。子块F12、F13、F14被确定为一致的,绿色。数值分别被关联于块和子块。子块F2、F3、F4接着被分析和确定为一致的,绿色。数值分别被关联于块和子块。
为前述编码过程实现编码的一个示例是,把值“0”赋给未分割的块,把值“1”赋给需要分割的块。使用这样的逻辑,上述的示例被编码成为下面的“分割比特”(Split Bits):
0 0 1 0000 0 1 00100000 1 1000 0000,
其中前两个逻辑值“0”表示两个初始块A、B未被分割。第3个块C被分割了,被逻辑值“1”定义,如前所述,但它的子块未被分割。第4个块D未被分割,第5个块E被分割,前两个子块E1、E2未被分割,但子块E3被分割,等等。上述比特串可以进一步被编码,如,行程长度编马。
用于每个块的进一步的“填充”方法也可以被编码,例如,把逻辑值“0”指定给具有平坦颜色的块,把逻辑值“1”指定给具有变动颜色的块,称这为“方法比特”(Method Bits):
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
在该码中,前两个块A、B具有平坦的颜色,下一个块C1是变动的颜色,其余的都是平坦的颜色。方法比特可以进一步被编码,如,行程长度编码。
分别赋给块的颜色值被称为“数值”,具体如下:
10 10  20 25 15 20 10 10 10  10  10 10 5 10 5 5 5  5 5 5 10 5 5 5
其中,集合“20,25,15,20”描述块C1的每个角的颜色值。“数值”的串可以经过例如哈夫曼编码,以减小数据的大小。并且,由于子块E31、E32、E33、E34的组与子块F¨、F12、F13、F14的组具有同样的颜色值组合与顺序,即(10,5,5,5),它可以被认为是一个元素并被赋予它自己的值,称之为“组合数值”(Combination Value)。组合数值可以存储在数据库,例如编码器的数据库或者相应解码器的数据库,并在需要的时候用“参考标识”(Reference Identification)数来调用。通常,为不同方法的数值使用分立的流,例如,在前述的例子中,其中的DC值与幻灯片值(slide value)就可以被设成分立的流。有些方法还可以由其自己生成多个流,使得每个流有较小的熵,在熵编码中实现更好的压缩效率,例如,当在实现所述方法中使用多级别方法时,其中所用的高级别和低级别可以被设成处理分立的流,因为通常高数值之间彼此更近,类似地,低数值之间也彼此更近,并且,使用差分编码过的高或低数值的距离编码工作效率高。
根据实施例,分割比特、方法比特、数值、组合数值可以存储在编码器硬件中,用于在后续为了解码的目的而提供给其它硬件。
在一个实施例中,可以在图6所示的便携设备600中实现所述的编码,该便携设备600可以是智能手机、数码照相机、或录像机。便携设备600可选地包括用于获取一个或多个图像的照相机(KAM)604、用于显示一个或多个图像的显示器(DISP)602、用于使用蜂窝无线网络或本地局域网实现通讯的接收器/发送器(RX/TX)606、象USB(Universal SerialBus,通用串行总线)或者以太网这样的其它输入/输出(I/O)设备612、用于执行编码相关的算法和指令的中央处理单元(CPU)608、以及用于存储来自照相机604的一个或多个图像的存储器(MEM)610、用于编码器的软件、以及被编码的图像内容。便携设备600可以被设置成在它的本地存储器610中存储一个或多个编码的图像,并且/或者,它也可以被设置成按照请求、按照用户的动作、以实时或基本实时的方式、通过接收器/发送器(RX/TX)606或者通过输入/输出(I/O)设备612,周期性地把被编码的图像发送给外部***。
在前文中,采用了RD优化来对由下述公式1得出的RD值进行最小化:
RD=(E)+(λ.(BC))                          公式1
其中,E=误差;
λ=系数,将比特计数的成本定义为误差E的方程;
BC=比特计数。
误差E可以是例如MAE、MSE、MAX、或者这些参数的加权组合,如MAE+MAX。参数λ是指前述的系数,通过它,比特计数BC的成本被使得与误差E具有可比性,当用于编码的比特小时,λ值变大,其中可以允许更大的误差,这种情形即是,出现了大的数据压缩,对应于较小的质量标准值。相应地,当用于编码的比特多时,λ值变小,其中可以允许较小的误差,这种情形即是,出现了小的数据压缩,对应于较大的质量标准值。
关于编码质量标准,它可以与平滑度(evenness)相关联,就象方差的一个量度。通常可以采用RD值的估计,因为这减小当确定编码质量时所需要的处理工作的量。在RD值计算当中所用的比特计数值通常也是估计的,因为实际值很难计算,因为它取决于其它数据值和所选的熵编码方法。比特数可以被估计,估计的基础是,数值发送所需要的比特的量,乘以估计的压缩因子,压缩因子可以为数据流而预先定义,也可以基于先前的被压缩和被传送的数据而适配地修改。
当实现前述的实施例,所采用的数据压缩包括两个不同的阶段。数据压缩的方法被选择,这产生选择信息,选择信息定义了由所述方法所生成的量化数据的方法和类型。选择信息被熵编码,从而被包括在输出数据30之中。当生成输出数据30时,可以采用多个流,用于整个图像或者初始块。采用多个流有利于减小压缩的输出数据30中的熵。
在不背离本发明范围的情况下,可以对所述的实施例进行修改。本文所用的术语“包括”、“包含”、“由......组成”应当被理解为非排它的方式,即,允许未被明示描述的项目、部件、或元素的存在。单数或“一个”的使用应当被理解为与复数有关。括号内的序号的使用是为了帮助理解内容,不应当被当作限定的作用。

Claims (24)

1.一种对输入数据(20)进行编码以生成相应的编码输出数据(30)的方法,其特征在于,所述方法包括:
(a)把输入数据(20)分成多个块或包,所述块或包具有大小,所述大小取决于块或包的内容的性质,块或包具有一个或多个大小;
(b)把多个变换应用于块或包的内容,生成相应的变换数据;
(c)比之于在应用变换之前的块或包的内容,检查块或包的变换数据的呈现质量,以确定块或包的变换数据的呈现质量是否满足一个或多个质量标准;
(d)如果一个或多个块或包的变换数据的呈现质量未满足一个或多个质量标准,进一步细分和/或组合所述一个或多个块或包,并重复步骤(b);
(e)如果一个或多个块或包的变换数据的呈现质量满足一个或多个质量标准,输出变换数据以提供代表要被编码的输入数据的编码输出数据。
2.如权利要求1所述的方法,其特征在于,所述方法包括,使用变换来压缩与块或包相关联的内容,使得编码输出数据的大小小于要被编码的输入数据。
3.如权利要求1或2所述的方法,其特征在于,所述方法包括,把一个或多个质量标准设置成为在对块或包进行编码的过程中、取决于块或包之内所包括的内容的性质是动态可变的。
4.如权利要求1或2或3所述的方法,其特征在于,块或包被细分和/或组合,使得描述其内容的它们的代表参数中的至少一个在它们的被细分和/或被组合的块或包之中是平坦的。
5.如权利要求1-4中任一个所述的方法,其特征在于,块或包对应于一系列数据,其中,相应于给定信息的输入数据的细分以形成多个相应的块,是取决于在数据的时间序列内、在给定的信息之前的一个或多个数据中存在的内容。
6.如权利要求1-5中任一个所述的方法,其特征在于,所述方法包括,在步骤(e)把文件头信息增加到变换数据以生成编码输出数据,其中,文件头信息包括表示步骤(b)所采用的变换的信息。
7.如权利要求1-6中任一个所述的方法,其特征在于,步骤(b)包括,从数据库安排中提取补充信息以使用于执行所述变换的至少一个之时;补充信息包括以下至少之一:算法、规则、一个或多个变换参数。
8.如权利要求7所述的方法,其特征在于,所述方法还包括,把文件头信息增加到表示数据库安排的编码输出数据中,使得后续的对编码输出数据的解码能够访问补充信息。
9.如权利要求1-8中任一个所述的方法,其特征在于,所述方法包括,为所述变换采用以下至少之一个或多个:数据库参考、DC值、幻灯片、比例、线、多级、不变、内插值、外插值、DCT、脉冲码调制(PCM)、DPCM、RLE、SRLE、EM、LZO、VLC、哈夫曼编码、算术编码、距离编码、变换编码、差分编码、ODelta编码、bzip2-specific RLE。
10.如权利要求1-9中任一个所述的方法,其特征在于,所述方法包括,对以下至少之一进行编码:存在于输入数据中的视频、图像、音频、图形、文本、ECG、测震数据、ASCII、Unicode、二进制信息。
11.如权利要求1-10中任一个所述的方法,其特征在于,所述方法包括,对编码输出数据中的多个信道/层进行编码,以提供以下至少之一:交互视频、商业广告、在体育事件报道中的多个视点、交互水印、交互模式识别、动画2D/3D用户界面按钮。
12.如权利要求1-11中任一个所述的方法,其特征在于,所述方法包括,把编码输出数据传送到以下目的地的至少之一:数据存储设备、通讯网络、存储卡、数据存储盘、本地局域通讯网络(LAN)、直接传送给解码器。
13.如权利要求1-12中任一个所述的方法,其特征在于,所述方法的步骤(a)包括,基于以下至少之一:
(a)图像分辨率;
(b)数据的量,和
(c)块或包大小的最大值,把输入数据(20)初始地分割成一个或多个块。
14.一种记录在非暂时性机器可读数据存储介质上的软件产品,其特征在于,所述软件产品在计算硬件上执行,执行权利要求1-13中的任一个的方法。
15.一种用于移动无线通讯设备的软件应用,其特征在于,所述软件应用包括权利要求14的软件产品。
16.一种可操作用于对输入数据(20)进行编码以生成相应的编码输出数据(30)的编码器(10),其特征在于,所述编码器(10)包括数据处理硬件,所述数据处理硬件可操作用于:
(a)把输入数据(20)分成多个块或包,所述块或包具有大小,所述大小取决于块或包的内容的性质,块或包具有一个或多个大小;
(b)把至少一种变换应用于块或包的内容,生成相应的变换数据;
(c)比之于在应用变换之前的块或包的内容,检查块或包的变换数据的呈现质量,以确定块或包的变换数据的呈现质量是否满足一个或多个质量标准;
(d)如果一个或多个块或包的变换数据的呈现质量未满足一个或多个质量标准,进一步细分和/或组合所述一个或多个块或包,并重复步骤(b);
(e)如果一个或多个块或包的变换数据的呈现质量满足一个或多个质量标准,输出变换数据以提供代表要被编码的输入数据(20)的编码输出数据(30)。
17.如权利要求16所述的编码器,其特征在于,所述编码器(10)可操作用于,使用至少一种变换来压缩与块或包相关联的内容,使得编码输出数据(30)的大小小于要被编码的输入数据(20)。
18.如权利要求16或17所述的编码器,其特征在于,所述编码器(10)可操作用于,把一个或多个质量标准设置成为在对块或包进行编码的过程中、取决于块或包之内所包括的内容的性质是动态可变的。
19.如权利要求16-18中任一个所述的编码器,其特征在于,块或包被细分和/或组合,使得描述其内容的它们的代表参数中的至少一个在它们的被细分和/或被组合的块或包之中是平坦的。
20.如权利要求16-19中任一个所述的编码器,其特征在于,块或包对应于一系列数据,其中,相应于给定信息的输入数据(10)的细分以形成多个相应的块,是取决于在数据的时间序列内、在给定的信息之前的一个或多个数据中存在的内容。
21.如权利要求16-20中任一个所述的编码器,其特征在于,所述编码器(10)可操作用于,把文件头信息增加到变换数据以生成编码输出数据(30),其中,文件头信息包括表示编码器(10)所采用的变换的信息。
22.如权利要求16-21中任一个所述的编码器,其特征在于,所述编码器(10)可操作用于,从数据库安排中提取补充信息以使用于执行变换之时;补充信息包括以下至少之一:算法、规则、一个或多个变换参数。
23.如权利要求22所述的编码器,其特征在于,所述编码器(10)可操作用于,把文件头信息增加到表示数据库安排的编码输出数据中,使得后续的对编码输出数据的解码能够访问补充信息。
24.如权利要求16-23中任一个所述的编码器,其特征在于,所述编码器(10)可操作用于,为所述变换采用以下至少之一个或多个:数据库参考、DC值、幻灯片、比例、线、多级、不变、内插值、外插值、DCT、脉冲码调制(PCM)、DPCM、RLE、SRLE、EM、LZO、VLC、哈夫曼编码、算术编码、距离编码、变换编码、差分编码、ODelta编码、bzip2-specific RLE。
CN201310344466.9A 2012-08-13 2013-08-08 编码器及编码方法 Active CN103596008B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB1214414.3 2012-08-13
GB1214414.3A GB2503295B (en) 2012-08-13 2012-08-13 Encoder and method
EP13002521.6A EP2698997A1 (en) 2012-08-13 2013-05-14 Encoder and method
EP13002521.6 2013-05-14

Publications (2)

Publication Number Publication Date
CN103596008A true CN103596008A (zh) 2014-02-19
CN103596008B CN103596008B (zh) 2018-04-13

Family

ID=46981439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310344466.9A Active CN103596008B (zh) 2012-08-13 2013-08-08 编码器及编码方法

Country Status (10)

Country Link
US (1) US8675731B2 (zh)
EP (2) EP3082337A1 (zh)
JP (2) JP6245888B2 (zh)
KR (1) KR101687863B1 (zh)
CN (1) CN103596008B (zh)
BR (1) BR102013020622B1 (zh)
GB (1) GB2503295B (zh)
IN (1) IN2013MU02340A (zh)
RU (1) RU2553103C2 (zh)
TW (1) TWI505694B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534846A (zh) * 2016-11-18 2017-03-22 天津大学 一种屏幕内容与自然内容划分及快速编码方法
CN111064965A (zh) * 2014-03-16 2020-04-24 Vid拓展公司 用于无损视频译码的信令的方法和***

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8811758B2 (en) * 2011-12-18 2014-08-19 Numerica Corporation Lossy compression of data points using point-wise error constraints
US9277218B2 (en) * 2013-01-22 2016-03-01 Vixs Systems, Inc. Video processor with lossy and lossless frame buffer compression and methods for use therewith
GB2523347B (en) 2014-02-20 2016-01-13 Gurulogic Microsystems Oy Encoder, decoder and method
US20150379682A1 (en) * 2014-06-27 2015-12-31 Samsung Electronics Co., Ltd. Vertex attribute data compression with random access using hardware
GB2528460B (en) 2014-07-21 2018-05-30 Gurulogic Microsystems Oy Encoder, decoder and method
US10284877B2 (en) 2015-01-16 2019-05-07 Hewlett Packard Enterprise Development Lp Video encoder
GB2539239B (en) 2015-06-10 2017-10-04 Gurulogic Microsystems Oy Encoders, decoders and methods utilizing mode symbols
GB2539488B8 (en) 2015-06-18 2020-08-19 Gurulogic Microsystems Oy Encoder, decoder and method employing palette utilization and compression
GB2543844B (en) 2015-11-01 2018-01-03 Gurulogic Microsystems Oy Encoders, decoders and methods
RU2616178C1 (ru) * 2016-03-28 2017-04-12 Федеральное государственное бюджетное образовательное учреждение высшего образования "Тульский государственный университет" (ТулГУ) Способ кодирования-декодирования цифровых статических видеоизображений
WO2017223114A1 (en) * 2016-06-20 2017-12-28 Anacode Labs, Inc. Storage access interface to an encoded storage system
GB2552223B (en) 2016-07-15 2020-01-01 Gurulogic Microsystems Oy Encoders, decoders and methods employing quantization
US10523244B2 (en) * 2016-08-11 2019-12-31 Zebware Ab Device and associated methodoloy for encoding and decoding of data for an erasure code
KR102142946B1 (ko) * 2019-11-08 2020-08-10 세종대학교산학협력단 다중 dpcm 기법을 이용한 무손실 이미지 데이터 압축 장치 및 방법
CN113055017A (zh) * 2019-12-28 2021-06-29 华为技术有限公司 数据压缩方法及计算设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040208392A1 (en) * 2003-03-17 2004-10-21 Raveendran Vijayalakshmi R. Method and apparatus for improving video quality of low bit-rate video
CN1750656A (zh) * 2004-06-27 2006-03-22 苹果电脑有限公司 编码和解码图像
CN1757240A (zh) * 2003-03-03 2006-04-05 皇家飞利浦电子股份有限公司 视频编码
CN1784011A (zh) * 2004-11-30 2006-06-07 佳能株式会社 图像编码装置及图像编码方法
US7266149B2 (en) * 2001-12-17 2007-09-04 Microsoft Corporation Sub-block transform coding of prediction residuals
US20070233477A1 (en) * 2006-03-30 2007-10-04 Infima Ltd. Lossless Data Compression Using Adaptive Context Modeling
CN101959065A (zh) * 2009-10-19 2011-01-26 香港应用科技研究院有限公司 在数字视频编码内进行自适应量化的方法和装置
CN102301707A (zh) * 2009-01-27 2011-12-28 汤姆森特许公司 视频编码和解码中用于变换选择的方法和装置
CN102495878A (zh) * 2011-12-05 2012-06-13 深圳市中钞科信金融科技有限公司 一种机器视觉检测结果的存储文件及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100276427B1 (ko) * 1993-01-30 2000-12-15 윤종용 화상데이타의 압축 및 복원장치
KR100188934B1 (ko) 1995-08-28 1999-06-01 윤종용 영상 신호 부호화 장치 및 방법
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
EP1025708B1 (de) * 1997-10-28 2002-03-13 Siemens Aktiengesellschaft Verfahren und vorrichtung zur verarbeitung eines digitalisierten bildes
US6529634B1 (en) 1999-11-08 2003-03-04 Qualcomm, Inc. Contrast sensitive variance based adaptive block size DCT image compression
JP3887178B2 (ja) * 2001-04-09 2007-02-28 株式会社エヌ・ティ・ティ・ドコモ 信号符号化方法及び装置並びに復号方法及び装置
US7483581B2 (en) * 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
JP4447197B2 (ja) * 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
US7379496B2 (en) 2002-09-04 2008-05-27 Microsoft Corporation Multi-resolution video coding and decoding
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
JP4841101B2 (ja) 2002-12-02 2011-12-21 ソニー株式会社 動き予測補償方法及び動き予測補償装置
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
GB2415335B (en) * 2004-06-15 2007-09-26 Toshiba Res Europ Ltd Wireless terminal dynamically programmable proxies
US7792188B2 (en) * 2004-06-27 2010-09-07 Apple Inc. Selecting encoding types and predictive modes for encoding video data
WO2007034918A1 (ja) * 2005-09-26 2007-03-29 Mitsubishi Electric Corporation 動画像符号化装置及び動画像復号装置
JP2007243427A (ja) * 2006-03-07 2007-09-20 Nippon Hoso Kyokai <Nhk> 符号化装置及び復号化装置
KR101373934B1 (ko) * 2006-07-10 2014-03-12 톰슨 라이센싱 멀티 패스 비디오 인코더에서 성능 향상을 위한 방법 및 장치
JP2009194474A (ja) * 2008-02-12 2009-08-27 Toshiba Corp 動画像符号化装置
EP2237557A1 (en) * 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266149B2 (en) * 2001-12-17 2007-09-04 Microsoft Corporation Sub-block transform coding of prediction residuals
CN1757240A (zh) * 2003-03-03 2006-04-05 皇家飞利浦电子股份有限公司 视频编码
US20040208392A1 (en) * 2003-03-17 2004-10-21 Raveendran Vijayalakshmi R. Method and apparatus for improving video quality of low bit-rate video
CN1750656A (zh) * 2004-06-27 2006-03-22 苹果电脑有限公司 编码和解码图像
CN1784011A (zh) * 2004-11-30 2006-06-07 佳能株式会社 图像编码装置及图像编码方法
US20070233477A1 (en) * 2006-03-30 2007-10-04 Infima Ltd. Lossless Data Compression Using Adaptive Context Modeling
CN102301707A (zh) * 2009-01-27 2011-12-28 汤姆森特许公司 视频编码和解码中用于变换选择的方法和装置
CN101959065A (zh) * 2009-10-19 2011-01-26 香港应用科技研究院有限公司 在数字视频编码内进行自适应量化的方法和装置
CN102495878A (zh) * 2011-12-05 2012-06-13 深圳市中钞科信金融科技有限公司 一种机器视觉检测结果的存储文件及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111064965A (zh) * 2014-03-16 2020-04-24 Vid拓展公司 用于无损视频译码的信令的方法和***
CN111064965B (zh) * 2014-03-16 2022-05-24 Vid拓展公司 用于无损视频译码的信令的方法、设备和计算机可读介质
CN106534846A (zh) * 2016-11-18 2017-03-22 天津大学 一种屏幕内容与自然内容划分及快速编码方法
CN106534846B (zh) * 2016-11-18 2019-01-29 天津大学 一种屏幕内容与自然内容划分及快速编码方法

Also Published As

Publication number Publication date
BR102013020622A2 (pt) 2018-02-27
GB201214414D0 (en) 2012-09-26
RU2013137368A (ru) 2015-02-20
GB2503295B (en) 2014-08-06
TW201412130A (zh) 2014-03-16
US8675731B2 (en) 2014-03-18
RU2553103C2 (ru) 2015-06-10
JP2014039256A (ja) 2014-02-27
JP6245888B2 (ja) 2017-12-13
JP2016220216A (ja) 2016-12-22
TWI505694B (zh) 2015-10-21
GB2503295A (en) 2013-12-25
EP3082337A1 (en) 2016-10-19
IN2013MU02340A (zh) 2015-07-10
BR102013020622B1 (pt) 2022-12-06
KR20150129096A (ko) 2015-11-19
CN103596008B (zh) 2018-04-13
EP2698997A1 (en) 2014-02-19
US20140044190A1 (en) 2014-02-13
KR101687863B1 (ko) 2016-12-28

Similar Documents

Publication Publication Date Title
CN103596008A (zh) 编码器及编码方法
US9258389B2 (en) Encoder and method
CN103596009B (zh) 解码器及解码方法
KR102423499B1 (ko) 포인트 클라우드 데이터 송신 장치, 포인트 클라우드 데이터 송신 방법, 포인트 클라우드 데이터 수신 장치 및 포인트 클라우드 데이터 수신 방법
US11282239B2 (en) Device and method of transmitting point cloud data, device and method of processing point cloud data
US11830212B2 (en) Point cloud data transmission apparatus, point cloud data transmission method, point cloud data reception apparatus, and point cloud data reception method
KR100974177B1 (ko) 랜덤 필드 모델을 사용한 사진 및 비디오 압축과 프레임레이트 업 변환을 개선시키는 방법 및 장치
US9313495B2 (en) Encoding and decoding based on blending of sequences of samples along time
US10333547B2 (en) Encoder and method for encoding input data using a plurality of different transformations or combinations of transformations
US9734557B2 (en) Method and apparatus for generating 3K-resolution display image for mobile terminal screen
US10412414B2 (en) Decoder and method for decoding encoded input data containing a plurality of blocks or packets
US11343513B2 (en) Image encoding method and decoding method, encoder, decoder, and storage medium
WO2023195330A1 (ja) 画像処理装置および方法
US20230199227A1 (en) Method and apparatus for hadamard transform domain filtering of the video signal with various bit depth
EP2698996A2 (en) Decoder and method
KR20240032707A (ko) 인공신경망의 분산 연산 시스템 및 방법

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