CN102273204B - 用于计算表示视频画面块中包含的像素值的量化变换系数的游程-幅度表示的方法、设备和计算机可读介质 - Google Patents

用于计算表示视频画面块中包含的像素值的量化变换系数的游程-幅度表示的方法、设备和计算机可读介质 Download PDF

Info

Publication number
CN102273204B
CN102273204B CN200980153613.6A CN200980153613A CN102273204B CN 102273204 B CN102273204 B CN 102273204B CN 200980153613 A CN200980153613 A CN 200980153613A CN 102273204 B CN102273204 B CN 102273204B
Authority
CN
China
Prior art keywords
value
transform coefficient
quantization transform
max
swimming
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.)
Expired - Fee Related
Application number
CN200980153613.6A
Other languages
English (en)
Other versions
CN102273204A (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.)
Tandberg Telecom AS
Original Assignee
Cisco Systems International SARL
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 Cisco Systems International SARL filed Critical Cisco Systems International SARL
Publication of CN102273204A publication Critical patent/CN102273204A/zh
Application granted granted Critical
Publication of CN102273204B publication Critical patent/CN102273204B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/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
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种用于计算量化变换系数的游程-幅度表示的处理,包括通过把所有大于Max的量化变换系数设置为等于Max并且将所有小于Min的量化变换系数设置为等于Min而把每个量化变换系数紧缩在值区间(Max,Min);对所述量化变换系数重新排序以产生重新排序的量化变换系数的阵列C;通过生成阵列M来掩蔽C,M在与C的具有非零值的位置相对应的位置中包含1并且在与C的具有零值的位置相对应的位置中包含0;以及对M中每个包含1的位置,通过把幅度值设置为等于C中相应位置出现的值并且把游程值设置为等于自M中前次出现1之后相对于M中当前位置的前面位置的数目而生成游程-幅度表示。

Description

用于计算表示视频画面块中包含的像素值的量化变换系数的游程-幅度表示的方法、设备和计算机可读介质
相关申请的交叉引用
本申请要求于2009年1月6日提交的美国临时申请No.61/142648的权益,以及于2008年12月30日提交的挪威专利申请No.20085407的优先权,这二者的全部主题通过引用结合于此。
技术领域
本公开涉及计算机设备或系统中的视频压缩系统的变换系数数据的熵编码/解码的实施方式。
背景技术
运动画面的实时传输在多种应用中得以采用,诸如但不限于视频会议、网络会议、电视(TV)广播和视频电话。表示运动画面需要大量的信息,因为通常通过用8个比特(bit)即一个字节表示画面中每个像素来描述数字视频。这种未压缩的视频数据导致大的比特量,并且由于有限的带宽而无法在常规通信网络和传输线路上传输。
因此,使得能够实时视频传输需要进行大程度的数据压缩。然而,数据压缩会影响画面质量。因此,已经投入巨大努力来研发压缩技术,使得可通过带宽有限的数据连接进行高质量视频的实时传输。在视频压缩系统中,主要的目标在于利用尽可能小的容量表示视频信息。容量用比特来定义,或为恒定值或是比特/时间单位。在两种情况下,目标是减少比特的数目。
在运动图像专家组(MPEG)和H.26标准中描述了传统的视频编码方法。视频数据在传输之前经历四种主要处理(即,预测处理、变换处理、量化处理和熵编码)。
预测处理减少待传输的视频序列中每幅画面所需的比特数量。该处理利用了序列的某些部分与该序列的其他部分的相似性。由于预测器部分对于编码器和解码器都是已知的,所以仅需传输差异。这种差异通常需要少很多的容量用于其表示。预测主要是基于表示运动的矢量。传统上,对方块尺寸(例如,16×16像素)执行预测处理。注意,在一些情况下,像素的预测是基于使用相同画面中的相邻像素而不是先前画面的像素。这被称作帧内预测(不要与帧间预测相混淆)。
表示为数据块(例如,4×4像素)的残差(residual)仍然包含内部相关性。传统方法利用了这一点并且执行二维块变换。在H.263中,使用8×8的离散余弦变换(DCT),而在H.264中,则使用4×4的整数型变换。这将4×4像素变换为较之像素表示通常可由更少的比特来表示的4×4的变换系数。具有内部相关性的4×4像素阵列的变换可以产生较之原始4×4像素块具有更少非零值的4×4变换系数块。
变换系数的直接表示对于许多应用而言成本过高。为了进一步减小数据表示,执行量化处理。因此,变换系数要经历量化。一种量化方式是参数值除以一个数,产生可以由较少比特表示的较小数字。这种量化处理导致与未压缩序列稍有不同的重构视频序列。这种现象被称作“有损编码”。来自量化部分的结果被称作量化变换系数。
熵编码是一种特殊形式的无损数据压缩。熵编码包括利用将相似频率聚集成组的游程长度编码(RLE)算法以“之字形”顺序布置图像成分,插入编码0的长度,并且接着对剩下的部分使用Huffman编码。
在H.264编码中,对块的DCT系数进行重新排序以把阵列中的非零系数聚集在一起,使得能够有效表示其余的零值系数。图1示出之字形的重新排序路径100(即,扫描顺序)。之字形扫描100的顺序图案根据每个位置的非零系数的概率来构造。由于先前DCT的特性,块中非零系数的概率沿着DCT块的向右下的对角方向降低。如图1所示,当以之字形图案100对系数重新排序时,非零系数通常趋于集中在阵列的开头的各位置。
重新排序处理的输出包括一维阵列,其包含开头附近的一个或多个非零系数聚簇,随后为零系数串。由于大量的零值,所以该阵列被进一步表示为一系列(游程,幅度)对,其中“游程(run)”指示一个非零系数前面的零的数目,而“幅度(level)”则指示该非零系数的量值。例如,输入阵列16、0、0、-3、5、6、0、0、0、0、-7将具有以下相应的游程-幅度值:(0,16),(2,-3),(0,5),(0,6),(4,-7)。当把所述之字形阵列变换为游程-幅度值时,对所有系数做循环并检查它们是否非零,这在计算上是高成本的。
发明内容
本公开描述了一种方法、系统和计算机可读介质。例如,有一种方法,用于计算表示视频画面块中所包含像素值的量化变换系数的游程-幅度表示,所述方法包括:在视频处理设备,通过把所有大于Max的量化变换系数设置为等于Max并且把所有小于Min的量化变换系数设置为等于Min而把每个量化变换系数紧缩在值区间[Max,Min];在所述视频处理设备,根据依赖块中各位置的预定顺序对所述量化变换系数重新排序以产生重新排序的量化变换系数的阵列C;在所述视频处理设备,通过生成阵列M来掩蔽C,所述M在对应于C的具有非零值的位置的位置包含1并且在对应于C的具有零值的位置的位置具有0;在所述视频处理设备,对于M中包含1的每个位置,通过把幅度值设置为等于C的相应位置中出现的值而生成游程-幅度表示;以及在所述视频处理设备,对于M中每个包含1的位置,将游程值设置为等于自M中前次出现1之后相对于M中当前位置的前面位置的数目。
应当显而易见,通过所公开的实施例及其扩展可以获得多种有利特征和效果。应该理解,可以构造任意实施例包括这里所公开实施例中的一个或多个特征和有益效果,而非其他。因此,应该理解,这里所讨论的实施例是作为示例被提供而并非为限制,特别是可以形成实施例以实践本发明而不必包括所公开示例的每个特征。
附图说明
通过阅读随后的描述以及研究附图,将更好地理解本公开。这些仅被提供作为实施例的非限制性示例。其中:
图1示出在熵编码之前用于对变换系数排序的传统之字形图案;
图2是图示游程-幅度编码的传统实施方式的流程图;
图3是图示本发明的游程-幅度编码实施例的流程图;
图4是本公开的不同步骤期间的变换系数的比特掩蔽的示例;
图5图示了可以在其上实施本公开实施例的计算机系统。
具体实施方式
图2是示出在传统实施方式中如何计算根据运动图像专家组(MPEG-4)和H.264的run-level代码的流程图。在对块中的变换系数进行量化之后(Quant C)201,将Run变量和位置标号(I)设置为零203。接着,根据图1所示的前面所提到的之字形图案100,将量化系数重新排序205为一维阵列。该处理接着进入循环来解析所述阵列以确定run-level值。首先,检查是否超出阵列中位置的数目(即,I>16)207。如果否,则接着检查阵列中的当前位置是否包含零209。如果是,则在步骤217和219处递增Run变量和位置标号(I),并且该处理进行至循环的开始处。如果当前位置包含非零值,则在步骤211和213,将当前的Run变量和当前位置的值存储为Run-Level值。接着在步骤217和219递增Run变量和位置标号(I)之前,对Run变量清零215,并且该处理进行至循环的开始。该处理在位置标号(I)超出阵列的最大尺寸时结束,所述阵列的最大尺寸在图2所示的示例中为16。
如能够从图2所示的传统实施方式所看到的,所述处理总是必须进行阵列中的位置数那么多次(即,图2的示例中的16次)的run-level编码循环。这由于C中的大多数系数为零而变得非常低效,并且在所有系数上进行循环以及检查它们是否为零在计算上是昂贵的。
图3是图示根据本公开的实施例的流程图。根据该实施例,使用比特掩蔽和比特扫描指令,使得可以有效跳过所有零值系数。首先,在步骤301处对块中的变换系数进行量化。在图3的示例中,如图4的401所示,在矢量C中存储十六个(16)系数。
所述处理接着进行至步骤303,其中对所有量化系数进行紧缩。在该示例中,通过C++指令PACKUSWB实现紧缩303,如图4的403所示,其将十六个(16)有符号字变换为无符号整数并且做饱和。换句话说,如果系数大于和小于无符号字节的范围,则分别将该系数设置为所述范围的Max或Min值,在该示例中为255和0。因此,用于存储每个系数的存储器大小从通常用于存储每个系数所需存储器数量的两个(2)字节减少为一个(1)字节。
当使用非常低的量化参数时,这是一种近似并且会导致不同的结果。然而,针对各种视频会议情形的这种近似的广泛监视已经表明这种近似在任何情况下不会劣化人眼所看到的视频质量。
紧缩步骤303使得能够用一个函数执行系数的重新排序305,而不必解析循环十六次(16)。这可以通过使用C++函数PSHUFB实现。该函数有效地以任意顺序精确重排十六个(16)字节。使用PSHUFB指令对C进行重新排序的示例在图4的405中示出。在图3的示例中,输入是十六个(16)系数以及如图1所示的之字形顺序100。
下一个步骤是对经量化、紧缩和重新排序的系数进行掩蔽307。掩蔽通过应用C++函数PCMPGTB和PMOVMSKB来实现。如图4的409所示,PCMPGTB函数在所有非零值的位置中填入整字节的一(1),而零值的位置则保持为零(0)不变。注意,一个字节等于8比特,因此八个(8)二进制的一(1)是一个字节的最大容量。在图4的409中,十六进制数“ff”表示八个(8)二进制的一(1)(即,如以上所提到的一个整字节)。如图4的411所示,PMOVMSKB函数根据十六个(16)字节的最高有效比特产生16比特掩码(即,C的掩码)。当这两个函数施加在经量化、紧缩和重新排序的系数(C)时,产生的结果是16比特阵列(M),其中一(1)指示C的非零值的相应位置。
从C导出M,计算run-level值的步骤变得计算量更低并且不需要针对零值做循环。如以上所提到的,在掩码M中,对C的每个非零值设置一个比特。因此,在步骤309,当16比特的阵列(M)为零时,则所有系数为零并且针对该阵列完成run-level编码。
如果阵列M是非零的,则可以在步骤311使用C++函数BSF来计算C的第一个非零值的标号。BSF或比特前向扫描(Bit Scan Forward)扫描等于一(1)的第一个比特并且将该第一设置比特的标号存储在寄存器中。BSF返回整数的最低有效比特的比特标号(即,在M的情况下,从右侧开始的一(1)的第一个位置)。
因此,当BSF对M应用时,BSF在步骤311所返回的标号等于“游程(run)”,并且被直接用作C阵列中的查找号以确定“幅度(level)”。由于已经使用PSHUFB指令重排C,所以这是可能的。
接着在步骤315存储如BSF函数所指示的Run值,并且在查找之后位于C阵列中该位置的值在步骤313被存储为Level值。
在步骤317,M最终被向右移位“Run+1”次,以从M中清除标号比特并且为循环的下一次迭代准备M。因此,从M中去除了对应于已计算run-level值的M的内容,并且可以按相同的方式应用循环来计算其余的run-level值(即,通过在步骤311再次使用BSF函数扫描M,其寻找M的下一个非零值)。
由于通过有效使用BSF指令跳过了所有的零(0),所以仅需要非零系数游程来计算所有的“level”和“run”值。由于在量化系数的块中许多零(0)出现的概率高,因此可以减少实施熵编码时所要解析的循环数目。
本公开避免了间接的表查找(即,指针追踪)来确定“幅度(level)”,并且使用单个系数BSF指令来计算“游程(run)”。
此外,本公开提供了利用非零系数游程的run-level编码。例如,如果C中的五个(5)值是非零的,则仅需要五个(5)经由run-level编码的游程。因此,避免了检查C的零值,否则这会导致高计算成本的分支误预测。
图5图示了视频处理装置1201,在该装置1201可实施根据本发明的用于计算run-level表示的方法。计算系统1201还包括耦合到总线1202的盘控制器1206,以控制一个或多个用于存储信息和指令的存储设备,诸如磁性硬盘1207和可拔插介质驱动器1208(例如,软盘驱动器、只读紧致盘驱动器、读写紧致盘驱动器、紧致盘自动唱机、磁带驱动器和可拔插磁-光驱动器)。存储设备可以使用适当的设备接口(例如,小型计算机系统接口(SCSI)、集成电子驱动器(IDE)、增强型IDE(E-IDE)、直接存储器存取(DMA)或高速-DMA)添加到计算机系统1201。
计算机系统1201还可以包括专用逻辑设备(例如,专用集成电路(ASIC))或可配置逻辑设备(例如,简单可编程逻辑设备(SPLD)、复杂可编程逻辑设备(CPLD)和现场可编程门阵列(FPGA))。
计算机系统1201还可以包括耦合到总线1202的显示控制器1209以控制诸如触摸面板显示器或液晶显示器(LCD)的显示器1210,用于向计算机用户显示信息。例如,可以在显示器210上显示GUI 308。所述计算机系统包括输入设备,诸如键盘1211和指针设备1212,用于与计算机用户进行交互并且向处理器1203提供信息。例如,指针设备1212可以是鼠标、轨迹球、用于触摸屏传感器的手指或者是用于向处理器1203传达方向信息和命令选择并且控制光标在显示器1210上移动的指示棒。此外,打印机可以提供计算机系统1201所存储和/或生成的数据的打印列表。
计算机系统1201响应于处理器1203执行本公开的部分或全部处理步骤,所述处理器1203执行诸如主存储器1204的存储器中所包含的一个和多个指令的序列。这样的指令可以被从诸如硬盘1207和可移动介质驱动器1208的另一计算机可读介质读入主存储器1204。
也可以采用多处理配置中的一个或多个处理器来执行主存储器1204中所包含的指令序列。在可替选的实施例中,可以使用硬布线电路来替代软件指令或者与之相结合。因此,实施例并不局限于硬布线电路和软件的任意特定组合。
如以上所提到的,计算机系统1201包括至少一个计算机可读介质或者存储器,用于保存根据本公开教导所编程的指令以及用于包含这里所描述的数据结构、表、记录或其他数据。计算机可读介质的示例为紧致盘、硬盘、软盘、磁带、磁-光盘、PROM(EPROM、EEPROM、快闪EPROM)、DRAM、SRAM、SDRAM或者任意其他磁介质、紧致盘(例如,CD-ROM)或者任意其他光介质、打孔卡、纸带,或者具有孔洞图案的其他物理介质。其他实施例可以包括使用载波(以下进行描述),或者计算机能够对其进行读取的其他介质。其他实施例可以在信号或载波中包括根据本公开教导的指令。
本公开包括存储在任意一个计算机可读介质上或计算机可读介质的组合上的软件,所述软件用于控制计算机系统1201,用于驱动实施本发明的一个或多个设备,并且用于使得计算机系统1201能够与人类用户(例如,印刷制作人员)进行交互。这样的软件可以包括设备驱动程序、操作系统、开发工具和应用软件,但是并不局限于此。这样的计算机可读介质进一步包括本公开的用于执行实施本发明时所执行处理的全部或一部分(如果处理是分布式的)的计算机程序产品。
本实施例的计算机代码设备可以是任意可解释或可执行的代码机制,包括但不限于脚本、可解释程序、动态链接库(DLL)、Java类和完整的可执行程序。此外,本实施例的部分处理可了更好的性能、可靠性和/或成本而可以是分布式的。
这里所使用的术语“计算机可读介质”是指参与向处理器1203提供指令以供其执行的任意介质。计算机可读介质可以采取多种形式,包括但不限于非易失性介质或易失性介质。例如,非易失性介质包括例如光、磁盘和磁-光盘,诸如硬盘1207或可拔插介质驱动器1208。易失性介质包括动态存储器,诸如主存储器1204。传输介质包括同轴线缆、铜线和光纤,其包括构成总线1202的线。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间所生成的那些。
各种形式的计算机可读介质可以涉及携带一个或多个指令的一个或多个序列给处理器1203以供其执行。例如,最初所述指令可以被携带在远程计算机的磁盘上。所述远程计算机可以将用于实施本公开的全部或一部分的该指令远程地加载到动态存储器并且使用调制解调器通过电话线路发送所述指令。对于计算机系统1201而言是本地的调制解调器可以在电话线路上接收数据并且使用红外传送器将所述数据转换为红外信号。耦合到总线1202的红外解码器可以接收所述红外信号中所携带的数据并且将所述数据置于总线1202上。总线1202将所述数据携带到主存储器1204,处理器1203从那里取得并执行所述指令。主存储器1204所接收的指令可以在由处理器1203执行之前或之后存储在存储设备1207或1028上。
计算机系统1201还包括耦合到总线1202的通信接口1213。通信接口1213提供耦合到网络链接1214的双向数据通信,所述网络链接1214例如被连接到局域网(LAN)1215或者被连接到诸如互联网的其他通信网络1216。例如,通信接口1213可以是附着到任意分组交换LAN的网络接口卡。如另一个示例,通信接口1213可以是向相应类型的通信线路提供数据通信连接的非对称数字订户线路(ADSL)卡、综合业务数字网(ISDN)卡或者调制解调器。还可以实现无线链接。在任意这样的实施方式中,通信接口1213发送并接收携带表示各种类型信息的数字数据流的电、电磁或光信号。
网络链接1214通常通过一个或多个网络向其他数据装置提供数据通信。例如,网络链接1214可以通过本地网络1215(例如,LAN)或通过服务提供商所操作的设备向另一计算机提供连接,所述服务提供商通过通信网络1216提供通信服务。本地网络1214和通信网络1216例如使用携带数字数据流的电、电磁或光信号以及相关联的物理层(例如,CAT 5线缆、同轴线缆、光纤等)。携带往来于计算机系统1201的数字数据的通过各种网络的信号以及处于网络链接1214并且通过通信接口1213的信号可以被实现为基带信号或者基于载波的信号。基带信号传输作为未调制电脉冲的数字数据,其表示数字数据比特流,其中术语“比特”要被宽泛理解为表示符号,其中每个符号传输至少一个或多个信息比特。还可以使用数字数据来对具有诸如在传导介质传播上的振幅、相位和/或频率移动键控信号,或者作为电磁波通过传播介质传送的载波进行调制。因此,数字数据可以作为未调制的基带数据通过“有线”通信信道进行发送,和/或通过对载波进行调制而在预定的不同于基带的频带内进行发送。计算机系统1201可以通过(多个)网络1215和1216、网络链接1214和通信接口1213传送和接收包括程序代码的数据。此外,网络链接1214可以通过LAN 1215向诸如个人数字助理(PDA)、膝上电脑或移动电话的移动设备1217提供连接。
此外,应当理解,本发明并不局限于以上所示出和描述的示例性实施例。虽然已经结合以上概述的示例性实施例对本发明进行了描述,但是无论是已知的还是当前可能无法预见到的,各种替换、修改、变化和/或改进会变得显而易见。因此,如以上所给出的本发明的示例性实施例意在作为说明而非限制。可以进行各种变化而不背离本发明的精神和范围。因此,本公开意在包含所有现在已知或随后开发的替换、修改、变化和/或改进。

Claims (14)

1.一种用于计算量化变换系数的游程-幅度表示的方法,所述量化变换系数表示视频画面的块中包含的像素值,所述方法包括:
把每个量化变换系数紧缩在值区间[Max,Min],其中把所有大于Max的量化变换系数设置为等于Max并且把所有小于Min的量化变换系数设置为等于Min;
根据预定的顺序对所述量化变换系数重新排序而产生重新排序的量化变换系数的阵列C,所述预定的顺序依赖于所述块中的各位置;
通过生成阵列M而掩蔽C,M在与C的具有非零值的位置相对应的位置中包含1并且在与C的具有零值的位置相对应的位置中包含0;
对M中每个包含1的位置生成游程值和幅度值,其中,把所述幅度值设置为等于C的相应位置出现的值,并且把所述游程值设置为等于自M中前次出现1之后相对于M中当前位置的前面位置的数目。
2.如权利要求1所述的方法,其中所述掩蔽进一步包括,
根据C创建阵列C’,其中,C’与C中非零值位置相对应的位置被填充1并且与C中零值位置相对应的位置被填充0,以及
根据C’创建M,其中,从C’的各位置的值提取最高有效比特,并且把所述比特插入M中的相应位置。
3.如权利要求2所述的方法,其中,所述阵列C’的创建由C++函数PCMPGTB执行,并且根据C’创建M由C++函数PMOVMSKB来执行。
4.如权利要求1所述的方法,其中,生成游程-幅度表示进一步包括通过M中包含1的相应位置来确定C中包含非零值的位置。
5.如权利要求4所述的方法,其中,确定C中包含非零值的位置由C++函数BSF来执行。
6.如权利要求1所述的方法,其中,Max是256,并且Min是0。
7.如权利要求1所述的方法,其中,所述预定的顺序沿着块中从左上角开始朝向右下角的变换系数位置的之字形路径。
8.一种用于计算量化变换系数的游程-幅度表示的设备,所述量化变换系数表示视频画面的块中包含的像素值,所述设备包括:
用于把每个量化变换系数紧缩在值区间[Max,Min]的装置,其中把所有大于Max的量化变换系数设置为等于Max并且把所有小于Min的量化变换系数设置为等于Min;
用于根据预定的顺序对所述量化变换系数重新排序而产生重新排序的量化变换系数的阵列C的装置,所述预定的顺序依赖于所述块中的各位置;
用于通过生成阵列M而掩蔽C的装置,M在与C的具有非零值的位置相对应的位置中包含1并且在与C的具有零值的位置相对应的位置中包含0;
用于对M中每个包含1的位置生成游程值和幅度值的装置,其中,把所述幅度值设置为等于C的相应位置出现的值,并且把所述游程值设置为等于自M中前次出现1之后相对于M中当前位置的前面位置的数目。
9.如权利要求8所述的设备,其中,所述用于通过生成阵列M而掩蔽C的装置包括:
根据C创建C’的装置,其中,C’与C中非零值位置相对应的位置被填充1,并且与C中零值位置相对应的位置被填充0,以及
根据C’创建M的装置,其中,从C’的各位置中的值提取最高有效比特,并且将所述比特插入在M中的相应位置。
10.如权利要求9所述的设备,其中,当创建C’时,执行C++函数PCMPGTB,并且根据C’创建M时,执行C++函数PMOVMSKB。
11.如权利要求8所述的设备,其中,所述用于对M中每个包含1的位置生成游程值和幅度值的装置通过M中包含1的相应位置来确定C中包含非零值的位置。
12.如权利要求11所述的设备,其中,当确定C中包含非零值的位置时,执行C++函数BSF。
13.如权利要求8所述的设备,其中,Max是256,并且Min是0。
14.如权利要求8所述的设备,其中,所述预定的顺序沿着块中从左上角开始朝向右下角的变换系数位置的之字形路径。
CN200980153613.6A 2008-12-30 2009-12-28 用于计算表示视频画面块中包含的像素值的量化变换系数的游程-幅度表示的方法、设备和计算机可读介质 Expired - Fee Related CN102273204B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
NO20085407 2008-12-30
NO20085407 2008-12-30
NO20090715 2009-02-13
NO20090715A NO332205B1 (no) 2008-12-30 2009-02-13 Implementering av entropikoding/dekoding av transformasjonskoeffisientdata til videokompressjonssystemer i datamaskininnretninger
PCT/NO2009/000447 WO2010077148A1 (en) 2008-12-30 2009-12-28 Method, apparatus and computer readable medium for calculating run and level representations of quantized transform coefficients representing pixel values included in a block of a video picture

Publications (2)

Publication Number Publication Date
CN102273204A CN102273204A (zh) 2011-12-07
CN102273204B true CN102273204B (zh) 2014-05-14

Family

ID=42309982

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980153613.6A Expired - Fee Related CN102273204B (zh) 2008-12-30 2009-12-28 用于计算表示视频画面块中包含的像素值的量化变换系数的游程-幅度表示的方法、设备和计算机可读介质

Country Status (4)

Country Link
EP (1) EP2384581A4 (zh)
CN (1) CN102273204B (zh)
NO (1) NO332205B1 (zh)
WO (1) WO2010077148A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO332357B1 (no) * 2010-07-30 2012-09-03 Cisco Tech Inc Implementering av run/level-koding
CN101964912A (zh) * 2010-10-15 2011-02-02 北京中科大洋科技发展股份有限公司 一种在mpeg2中游程编码快速计算游程长度的方法
NO336215B1 (no) * 2012-12-27 2015-06-15 Pexip AS Simultan og sløyfefri vektorberegning av alle run-level par i videokomprimering.

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6628717B1 (en) * 1998-11-04 2003-09-30 Lg Electronics Inc. Lossless coding method and video compression coding device using the same
WO2008002881A2 (en) * 2006-06-26 2008-01-03 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630569B2 (en) * 2002-02-26 2009-12-08 Decegama Angel Real-time software video/audio transmission and display with content protection against camcorder piracy
US8233545B2 (en) * 2006-08-21 2012-07-31 Texas Instruments Incorporated Run length encoding in VLIW architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6628717B1 (en) * 1998-11-04 2003-09-30 Lg Electronics Inc. Lossless coding method and video compression coding device using the same
WO2008002881A2 (en) * 2006-06-26 2008-01-03 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform

Also Published As

Publication number Publication date
NO332205B1 (no) 2012-07-30
WO2010077148A1 (en) 2010-07-08
EP2384581A4 (en) 2012-05-30
EP2384581A1 (en) 2011-11-09
NO20090715L (no) 2010-07-01
CN102273204A (zh) 2011-12-07

Similar Documents

Publication Publication Date Title
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
CN101505429B (zh) 对视频数据进行内编码的方法和设备
US7729423B2 (en) Fixed bit rate, intraframe compression and decompression of video
US7016417B1 (en) General purpose compression for video images (RHN)
TWI590662B (zh) 解碼器及解碼方法
US8254700B1 (en) Optimized method and system for entropy coding
US6885320B2 (en) Apparatus and method for selecting length of variable length coding bit stream using neural network
US8537888B2 (en) Method, device, and computer-readable medium for video coding and decoding
US10511860B2 (en) Signal transforming method and device
US8331454B2 (en) Integer transform function for video compression systems
EP2145480A2 (en) Decoder for selectively decoding predetermined data units from a coded bit stream
CN103460701A (zh) 有效度图编码的复杂度降低
RU2265879C2 (ru) Устройство и способ для извлечения данных из буфера и загрузки их в буфер
CN103581684A (zh) 压缩编码和解码方法及装置
CN102273204B (zh) 用于计算表示视频画面块中包含的像素值的量化变换系数的游程-幅度表示的方法、设备和计算机可读介质
US8576914B2 (en) Integer transform video compression system, method and computer program product
US20120027081A1 (en) Method, system, and computer readable medium for implementing run-level coding
US7123656B1 (en) Systems and methods for video compression
US8175156B2 (en) Eight pixels integer transform
CN111316644B (zh) 图像的编码方法、解码方法及所适用的设备、系统
US8989278B2 (en) Method and device for coding a multi dimensional digital signal comprising original samples to form coded stream
US20100166076A1 (en) Method, apparatus, and computer readable medium for calculating run and level representations of quantized transform coefficients representing pixel values included in a block of a video picture
EP1629675B1 (en) Fixed bit rate, intraframe compression and decompression of video
EP1892965A2 (en) Fixed bit rate, intraframe compression and decompression of video
US8260070B1 (en) Method and system to generate a compressed image utilizing custom probability tables

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: CISCO SYSTEMS INTERNATIONAL BV

Free format text: FORMER OWNER: TANDBERG TELECOM AS

Effective date: 20120413

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120413

Address after: Swiss basil

Applicant after: TANDBERG TELECOM A/S

Address before: Norway Lv Sake

Applicant before: TANDBERG TELECOM A/S

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140514

Termination date: 20211228

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