CN116582689A - 用于资源受限编码环境中的低延迟视频传输的无损压缩 - Google Patents

用于资源受限编码环境中的低延迟视频传输的无损压缩 Download PDF

Info

Publication number
CN116582689A
CN116582689A CN202310082148.3A CN202310082148A CN116582689A CN 116582689 A CN116582689 A CN 116582689A CN 202310082148 A CN202310082148 A CN 202310082148A CN 116582689 A CN116582689 A CN 116582689A
Authority
CN
China
Prior art keywords
zero
encoder
value
bit pattern
integer
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.)
Pending
Application number
CN202310082148.3A
Other languages
English (en)
Inventor
K·特洛亚诺夫斯基
S·L·兰森
T·J·伯勒
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.)
Synaptics Inc
Original Assignee
Synaptics Inc
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 Synaptics Inc filed Critical Synaptics Inc
Publication of CN116582689A publication Critical patent/CN116582689A/zh
Pending legal-status Critical Current

Links

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/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image 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/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/182Methods 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 pixel
    • 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/1887Methods 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 variable length codeword
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

本公开提供了用于数据压缩的方法、设备和系统。本实现方式更具体地涉及将熵译码与零的游程长度编码组合的无损数据压缩技术。在一些方面中,编码器可以获得表示数据帧的整数值的序列,并且可以针对零的游程循环地扫描该序列。在扫描的每次循环期间,如果当前整数值等于零,则编码器可以递增计数值(N),或者如果当前整数值不等于零,则输出表示当前计数值或当前整数值的位模式。在一些实现方式中,位模式可包括与熵编码方案相关联的码字。更具体地,如果N>0,则编码器可以将当前整数值编码为码字,并且如果N=0,则编码器可以将当前计数值编码为码字。

Description

用于资源受限编码环境中的低延迟视频传输的无损压缩
技术领域
本实现方式一般涉及数据压缩,并且具体涉及用于资源受限编码环境中的低延迟视频传输的无损压缩。
背景技术
数据压缩是一种用于将信息编码成(通常)较小的数据单元的技术。因此,数据压缩可用于减少在通信信道(诸如有线或无线介质)上存储或传输此类信息所需的带宽或开销。例如,编码器将信息编码或压缩成编码位序列(也称为“码字”),并且解码器随后解码或解压缩码字以恢复原始信息。数据压缩技术通常可以分类为“有损”或“无损”。有损数据压缩可能导致在编码和解码此类信息之间的一些信息丢失。相反,作为使用无损数据压缩对此类信息进行编码或解码的结果,没有信息丢失。
熵编码是无损数据压缩的一种形式,其基于每个数据值的出现概率将数据值编码成不同长度的码字。举例来说,具有较高出现概率的数据值可以比具有较低出现概率的数据值编码成更短的码字。因此,熵编码通常用于视频回放应用中的图像压缩(其中空间或时间上的相邻像素可能具有相同或相似的值)。然而,现有熵编码技术(例如霍夫曼译码和算术译码)依赖于复杂算术或高存储带宽。因此,可能需要新的数据压缩技术来满足资源受限环境中的现代视频回放应用的低延迟要求。
发明内容
提供本发明内容是为了以简化的形式介绍下面在详细描述中进一步描述的概念的选择。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在限制所要求保护的主题的范围。
此公开的主题的一个创新方面可在由编码器执行的方法中实现。所述方法包括以下步骤:获得表示数据帧的某一数量的(M个)整数值;执行零检测操作,所述零检测操作分别在M次循环期间扫描所述M个整数值,并且在所述M次循环中的每次循环期间指示扫描的整数值是否等于零;响应于所述零检测操作指示扫描的整数值等于零而递增计数值(N);以及响应于所述零检测操作指示扫描的整数值不等于零而输出第一位模式,所述第一位模式基于N是否大于零来表示所述计数值或扫描的整数值之一。
此公开的主题的另一创新方面可在包括处理系统和存储器的编码器中实现。所述存储器存储指令,所述指令在由所述处理系统执行时使所述编码器:获得表示数据帧的某一数量的(M个)整数值;执行零检测操作,所述零检测操作分别在M次循环期间扫描所述M个整数值,并且在所述M次循环中的每次循环期间指示扫描的整数值是否等于零;响应于所述零检测操作指示所述扫描的整数值等于零,递增计数值(N);以及响应于所述零检测操作指示所述序列中的所述扫描的整数值不等于零,输出第一位模式,所述第一位模式基于N是否大于零来表示所述计数值或所述扫描的整数值之一。
附图说明
本实现方式是通过示例的方式来说明的,并且不旨在受附图中的图的限制。
图1示出了用于对图像数据进行编码和解码的示例通信系统。
图2示出了根据一些实现方式的视频传输系统的框图。
图3示出了根据一些实现方式的可变长度编码器的框图。
图4示出了根据一些实现方式的示例零游程压缩编码器。
图5示出了根据一些实现方式的差分图像数据的示例编码。
图6示出了根据一些实现方式的编码器的框图。
图7示出了描绘根据一些实现方式的用于数据编码的示例操作的说明性流程图。
具体实施方式
在以下说明书中,阐述了许多具体细节,注入具体部件、电路和进程的示例,以提供对本公开的透彻理解。如本文所使用的术语“耦合”意指直接连接或通过一个或多个中间部件或电路连接。术语“电子系统”和“电子设备”可以互换使用,以指代能够电子地处理信息的任何系统。此外,在以下描述中并且出于解释的目的,阐述了具体命名以提供对本公开的各方面的透彻理解。然而,对于本领域技术人员显而易见的是,可能不需要这些具体细节来实践示例实施例。在其他实例中,以框图形式示出了公知的电路和设备,以避免使本公开模糊不清。以下详细描述的一些部分是根据对计算机存储器内的数据位的操作的过程、逻辑块、处理和其他符号表示来呈现的。
这些描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。在本公开中,过程、逻辑块、进程等被认为是导致期望结果的步骤或指令的自洽序列。这些步骤是需要对物理量的物理操纵的那些步骤。通常,尽管不是必须的,这些量采取能够在计算机系统中存储、传送、组合、比较和以其他方式操纵的电信号或磁信号的形式。然而,应当记住,所有这些和类似的术语都应与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。
除非特别说明,否则如从以下讨论中显而易见,应当理解,在整个本申请中,利用诸如“访问”、“接收”、“发送”、“使用”、“选择”、“确定”、“归一化”、“相乘”、“平均”、“监视”、“比较”、“应用”、“更新”、“测量”、“导出”等术语的讨论是指计算机系统或类似电子计算设备的动作和进程,其将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据操纵并转换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理量的其他数据。
在附图中,单个块可以被描述为执行一个或多个功能;然而,在实际实践中,由该块执行的一个或多个功能可以在单个部件中或跨多个部件执行,和/或可以使用硬件、使用软件或使用硬件和软件的组合来执行。为清楚地说明硬件与软件的此可互换性,下文已大体上就其功能性来描述各种说明性部件、块、模块、电路及步骤。将此类功能性实现为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实现所描述的功能性,但此类实现方式决策不应被解释为导致脱离本公开的范围。此外,示例输入设备可以包括除了所示出的那些部件之外的部件,包括诸如处理器、存储器等的公知部件。
本文中描述的技术可以以硬件、软件、固件或其任何组合来实现,除非特别描述为以特定方式实现。描述为模块或部件的任何特征也可一起在集成逻辑设备中实现或单独实现为离散但可互操作的逻辑设备。如果以软件实现,那么技术可至少部分地由包括指令的非暂时性处理器可读存储介质来实现,所述指令在被执行时执行上文所描述的方法中的一个或多个。非暂时性处理器可读数据存储介质可形成计算机程序产品的部分,所述计算机程序产品可包括封装材料。
非暂时性处理器可读存储介质可包括随机存取存储器(RAM),诸如同步动态随机存取存储器(SDRAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、其它已知存储介质等等。附加地或可替换地,这些技术可至少部分地由处理器可读通信介质来实现,该处理器可读通信介质携带或传送呈指令或数据结构形式的代码并且可由计算机或其他处理器访问、读取和/或执行。
结合本文中公开的实施例描述的各种说明性逻辑块、模块、电路和指令可以由一个或多个处理器(或处理系统)执行。如本文中所使用的,术语“处理器”可指能够执行存储于存储器中的一个或多个软件程序的脚本或指令的任何通用处理器、专用处理器、常规处理器、控制器、微控制器和/或状态机。
各个方面大体上涉及数据压缩,且更特别地,涉及将熵译码与零的游程长度编码组合的无损数据压缩技术。在一些方面中,编码器可以获得表示数据帧的整数值序列,并且可以针对零的游程循环地扫描该序列。在扫描的每次循环期间,如果当前整数值等于零,则编码器可以递增计数值(N),或者如果当前整数值不等于零,则输出表示当前计数值或当前整数值的位模式。在一些实现方式中,位模式可包括与熵编码方案(诸如指数哥伦布-莱斯(Golomb-Rice)相关联的码字。更具体地,如果N>0,则编码器可以将当前整数值编码为码字,并且如果N=0,则编码器可以将当前计数值编码为码字。在一些实现方式中,如果N=0,则编码器可将零游程(ZR)前缀附加到码字的开头。例如,ZR前缀可以用信号通知以下码字表示零的游程(而不是数据的符号)。在一些实现方式中,ZR前缀可以是具有与码字的最低有效位不同的二进制值的单个位。
可实现本公开中所描述的主题的特定实现方式以实现以下潜在优点中的一个或多个。本公开的数据压缩技术可以改善视频传输的延迟,特别是在资源受限的环境中。如上所述,视频帧中的相邻像素很可能具有相同或相似的值。因此,许多视频编码器利用差分编码来仅发射具有每个数据帧的像素值的差。这样的差分数据值可能相对较小,其中零比任何其他值更可能出现。因此,通过将非零值的熵编码与零的游程长度编码组合,本公开的各方面可以以相对低的编码复杂度来实现视频传输的高压缩比。更具体地,通过向给定码字添加ZR前缀,本公开的各方面可利用现有熵编码技术的固有属性来用信号通知码字表示零的游程。例如,所有指数哥伦布-莱斯码字包括仅由0(或1)组成的一元前缀。因此,在一元前缀之前插入“1”位创建了不可能的码字,其可以由解码器解释为多个连续的零。
图1示出了用于编码和解码图像数据的示例通信系统100。通信系统100包括编码器110和解码器120。编码器110和解码器120可以设置在相应的通信设备中,诸如例如计算机、交换机、路由器、集线器、网关、相机、显示器、或能够发射或接收通信信号的其他设备。
编码器110经由信道130接收要发射或存储的输入数据102。例如,信道130可以包括促进编码器110和解码器120之间的通信的有线或无线传输介质。可替代地或另外,信道130可包括数据存储介质。在一些方面中,编码器110可被配置为压缩输入数据102的大小以适应与信道130相关联的带宽、存储或其它资源限制。举例来说,编码器110可将输入数据102的每个单元编码为可通过信道130发射或存储的相应“码字”(作为编码数据104)。解码器120被配置为经由信道130接收编码数据104,并将编码数据104解码为输出数据106。例如,解码器120可以解压缩或以其他方式反转由编码器110执行的压缩,使得输出数据106与原始输入数据102基本上相似(如果不相同的话)。
数据压缩技术可大体上分类为“有损”或“无损”。有损数据压缩可导致编码和解码步骤之间的一些信息丢失。因此,输出数据106可以与输入数据102不同。相反,无损数据压缩不会导致编码和解码步骤之间的任何信息丢失,只要信道130不将错误引入编码数据104中。因此,输出数据106与输入数据102相同。熵编码是无损数据压缩的一种形式,其基于每个数据值的出现概率将数据值编码成不同长度的码字。举例来说,具有较高出现概率的数据值可比具有较低出现概率的数据值编码成更短的码字。除了其他示例之外,示例熵编码技术还包括算术译码、霍夫曼译码、和哥伦布译码。
指数哥伦布-莱斯(EGR)是一种特定类型的哥伦布译码,其至少部分地基于将每个整数值表示为二进制数所需的位数(n)将整数值编码成不同长度的码字。更具体地,每个EGR码字由一元前缀、分隔符(delimiter)和余项(remainder)组成。一元前缀表示EGR码字的最低有效位(LSB)并且由n个连续的0(或1)组成,分隔符是具有等于1(或0)的二进制值的位,并且余项表示EGR码字的最高有效位(MSB)并且由二进制数的n-1个LSB组成。例如,二进制数“100”(对应于整数值“4”)可以被编码为EGR码字“001000”,其中一元前缀(对应于“1”位右侧的三个0)指示二进制数“100”中存在三个位,并且余项(对应于“1”位左侧的两个0)表示二进制数“100”的两个LSB。
因为EGR码字的长度取决于与要编码的二进制数相关联的位数,所以较大的整数值被编码为较长的EGR码字,而较小的整数值被编码为较短的EGR码字。因此,EGR译码非常适合于视频回放应用中的图像压缩。例如,视频源可以仅发射与要在显示设备上显示或回放的图像数据的连续帧相关联的像素值的变化或差异。该技术更一般地称为差分编码。因为相邻像素(在空间或时间上)很可能具有相同或相似的像素值,所以图像数据的差分编码导致以零为中心的数据值的相对正态(或高斯)分布。换句话说,较小的数据值(更接近零)比较大的数据值具有更高的出现概率。因此,当用于编码差分图像数据时,EGR译码可以实现高压缩比。
图2示出了根据一些实现方式的视频传输系统200的框图。视频传输系统200包括图像编码器210和图像解码器220。在一些实现方式中,图像编码器210和图像解码器220可分别为图1的编码器110和解码器120的示例。因此,图像编码器210可经由信道(诸如图1的信道130)以通信方式耦合到图像解码器220。
图像编码器210被配置为对原始图像数据201进行编码,以作为压缩图像数据203传输到解码器220。举例来说,原始图像数据201可包括表示由图像源(诸如相机或其它图像输出设备)捕获或获取的数字图像的像素(或像素值)阵列。图像解码器220被配置为对压缩图像数据203进行解码,以作为重建图像数据205在显示设备(诸如电视、计算机监视器、智能电话或包括电子显示器的任何其他设备)上显示或回放。更具体地,图像解码器220被配置为反转由图像编码器210执行的编码,使得重构图像数据205与原始图像数据201基本上相似(如果不相同的话)。在一些实现方式中,图像编码器210可被配置为将各自表示相应图像或视频帧的压缩图像数据203的帧序列发射到图像解码器220。
在一些实现方式中,图像编码器210可以包括差分编码部件212和数据压缩部件214。差分编码部件212被配置为将原始图像数据201的每个帧编码为差分图像数据202的相应帧。例如,差分编码部件212可以计算与原始图像数据201的帧中的每个像素值(x)相关联的预测值并且可以仅输出预测值/>与实际像素值x之间的差(d)(其中/>)。更具体地,差分编码部件212可以假设原始图像数据201跨连续的视频帧保持相对不变或者遵循已知模式或统计变化。结果,预测值/>可以非常接近(如果不相同的话)实际像素值x(并且因此,差值d可以非常小并且通常等于零)。
数据压缩部件214被配置为压缩差分图像数据202以进一步减小从图像编码器210到图像解码器220的数据传输的大小。在一些方面中,数据压缩部件214可根据熵编码技术将与差分图像数据202相关联的每个差值d编码为可变长度码字。在一些实现方式中,数据压缩部件214可包括EGR编码器,其被配置为至少部分地基于差分图像数据202输出EGR码字。如上所述,EGR码字的长度取决于要编码的输入值的大小,使得较大的输入值被编码为较长的EGR码字,而较小的输入值被编码为较短的EGR码字。因为差值d可能很小,所以数据压缩部件214可以通过对差分图像数据202执行EGR译码来实现相对高的压缩比。
本公开的各方面认识到,差分图像数据202通常包括零的长游程。因此,与数据压缩部件214相关联的压缩比可以通过对差分图像数据202中的零的游程进行编码(诸如利用游程长度编码)而不是单独地对每个零值进行编码来进一步增加。在一些方面中,数据压缩部件214可以被配置为将差分图像数据202中的一个或多个零的每个游程编码为表示连续零的数量的EGR码字,并且可以将差分图像数据202中的每个非零值编码为表示非零值的EGR码字。例如,如果差分图像数据202包括5个连续零的游程,则数据压缩部件214可以将5个零的游程编码为单个EGR码字而不是5个EGR码字(每个EGR码字表示等于零的值)。
在一些实现方式中,数据压缩部件214可以将零游程(ZR)前缀添加到表示零的游程的每个EGR码字(在本文中也称为“零游程码字”),以将这样的EGR码字与表示非零值的其他EGR码字(在本文中也称为“非零码字”)区分开。本公开的各方面认识到,所有非零码字包括由具有相同二进制值的一个或多个位组成的一元前缀。因此,每个非零码字的LSB具有相同的值(取决于实现方式,为0或1)。在一些实现方式中,ZR前缀可被设定为不同于任何非零码字的LSB的值。例如,如果每个非零码字使其LSB设置为0,则附加到每个零游程码字的ZR前缀设置为1。相反,如果每个非零码字使其LSB设置为1,则附加到每个零游程码字的ZR前缀设置为0。
在一些实现方式中,图像解码器220可以包括差分解码部件222和数据解压缩部件224。数据解压缩部件224被配置为将压缩图像数据203解码为解压缩图像数据204。更具体地,数据解压缩部件224可以反转由数据压缩部件214执行的压缩。在一些实现方式中,数据解压缩部件224可被配置为至少部分地基于ZR前缀的存在或不存在来区分零游程码字与非零码字。例如,数据解压缩部件224可以根据现有的EGR解码技术来识别和解码压缩图像数据203中的非零码字。然而,如果EGR码字前面有ZR前缀,则数据解压缩部件224可以解释该EGR码字的解码值以指示连续零的数量。
差分解码部件222被配置为从解压缩图像数据204恢复重构图像数据205。更具体地,差分解码部件222可以反转由差分编码部件212执行的编码。例如,差分解码部件222可以使用与由差分编码部件212实现的预测环路或算法相同的预测环路或算法来计算一系列预测值在一些实现方式中,解压缩图像数据204可包括一系列恢复差值/>其基本上类似于(如果不相同的话)与差分图像数据202相关联的差值d。对应地,差分解码部件222可将恢复差值/>与一系列预测值/>相加以获得分别表示重构图像数据205的一系列重构值x。
如上所述,数据压缩部件214和数据解压缩部件224利用与某些类型的熵代码(诸如具有一元前缀的那些熵代码)相关联的固有属性来用信号通知给定码字是表示整数值还是零的游程。在图2的示例中,具体针对EGR码来描述编码技术。然而,本公开的各方面也可针对其他编码技术来实现。例如,ZR前缀可以被添加到具有一元前缀的任何码字(其中ZR前缀的二进制值不同于码字的LSB的二进制值),以用信号通知码字的解码值表示零的游程而不是特定整数值。
图3示出了根据一些实现方式的可变长度编码器300的框图。在一些实现方式中,可变长度编码器300可以是图2的数据压缩部件214的一个示例。更具体地,编码器300可以被配置为接收数据帧302并产生编码输出308,以用于经由信道(诸如图1的信道130)进行传输或存储。
在一些实现方式中,可变长度编码器300可包括整数映射器310、零游程(ZR)检测器320和零游程压缩(ZRC)编码器330。整数映射器310被配置为将数据帧映射到具有集中在零附近的概率分布的整数值的序列304。例如,数据帧302可以包括具有正值或负值的某一数量的(M个)数据符号。在一些方面中,整数序列304可以具有集中在零附近的概率分布。换句话说,更常出现的数据符号被映射到较小的整数值,并且较不常出现的数据符号被映射到较大的整数值,其中最常出现的数据符号被映射到零。在一些实现方式中,整数映射器310可以将M个数据符号中的每一个映射到非负(或无符号)整数值。在一些其它实现方式中,整数映射器310可以将M个数据符号中的每一个映射到带符号整数值。
ZR检测器320被配置为针对连续零的游程扫描整数序列304。在一些实现方式中,ZR检测器320可循环地扫描整数序列304(诸如从MSB到LSB),使得在每一循环期间扫描不同整数值。在扫描的每次循环期间,ZR检测器320可以确定当前(扫描的)整数值是否等于零。如果当前整数值等于零,则ZR检测器320可以递增计数器322并继续扫描整数序列304中的下一个整数值。因而,计数器322维持指示由ZR检测器320扫描的连续零的数量的计数值(N)。如果当前整数值不等于零,那么ZR检测器320可至少部分地基于与计数器322相关联的当前值N将输入值306提供到ZRC编码器330。
在一些实现方式中,ZR检测器320可输出整数序列304中的当前(非零)整数值或与计数器322相关联的值以作为输入值306。更具体地,如果当前计数值N等于零,则ZR检测器320可以输出整数序列304中的当前整数值。举例来说,如果当前整数值等于5,则ZR检测器320可输出“5”作为输入值306。另一方面,如果当前计数值N大于零,则ZR检测器320可以输出等于N-1的值作为输入值306。举例来说,如果当前计数值N等于5,则ZR检测器320可输出“4”作为输入值306。在输出N-1作为输入值306之后,ZR检测器320可以重置计数器322(到N=0),并且随后在进行到扫描的下一次循环之前输出整数序列304中的当前整数值(作为随后的输入值306)。
在一些方面中,ZR检测器320还可以向ZRC编码器330提供控制信号307。在一些实现方式中,控制信号307可指示输入值306表示零的游程还是非零整数值。例如,ZR检测器320可以在输出整数序列304中的当前整数值以作为输入值306时将控制信号307驱动到第一状态(指示非零整数值),并且可以在输出N-1作为输入值306时将控制信号307驱动到第二状态(指示零的游程)。在一些其它实现方式中,控制信号307可指示ZR检测器320是否已扫描了整数序列304中的所有M个整数值。例如,在完成扫描的第N次循环之后,ZR检测器320可以将控制信号307驱动到第三状态(指示整数序列304中的所有M个整数值已经被扫描)。
ZRC编码器330被配置为基于输入值306、控制信号307或其组合生成编码输出。在一些实现方式中,ZRC编码器330可响应于控制信号307指示输入值306表示非零整数值而将输入值306编码为非零码字。例如,ZRC编码器330可以根据EGR代码332对输入值306进行编码。在一些其它实现方式中,ZRC编码器330可响应于控制信号307指示输入值306表示零的游程而将输入值306编码为零游程码字。例如,ZRC编码器330可以根据EGR代码332对输入值306进行编码,并且还可以将ZR前缀附加到所得到的EGR码字(诸如参考图2所描述的)。
更进一步,在一些实现方式中,ZRC编码器330可响应于控制信号307指示整数序列304中的所有M个整数值都已被扫描而输出停止码(作为编码输出308)。例如,停止码可以包括不能被解码为非零码字或零游程码字的唯一位序列。换句话说,停止码可以不同于可以由ZRC编码器330输出的任何非零码字或零游程码字。在一些实现方式中,停止码可以由三个连续位组成,每个位具有等于1的二进制值(诸如“111”)。
图4示出了根据一些实现方式的示例零游程压缩(ZRC)编码器400。在一些实现方式中,ZRC编码器400可以是图3的ZRC编码器330的一个示例。更具体地,ZRC编码器400表示图3的ZRC编码器330的逻辑实现方式。在图4的示例中,ZRC编码器400被示出为包括熵编码器410、ZR前缀加法器420、和输出选择器(或复用器)430。
熵编码器410被配置为从图3的ZR检测器320接收输入值306,并基于输入值306输出非零码字402。在一些实现方式中,熵编码器410可以根据熵编码方案对输入值306进行编码。例如,熵编码方案可以是EGR代码。因此,非零码字402可以是具有由0(或1)组成的一元前缀的EGR码字。ZR前缀加法器420被配置为将ZR前缀401附加到编码整数值402以产生零游程码字404。更具体地,ZR前缀401可以表示零游程码字404的一个或多个LSB。在一些实现方式中,ZR前缀401可包括具有不同于与一元前缀的每一位相关联的二进制值的二进制值的一个或多个位。例如,如果一元前缀的每个位被设置为0,则ZR前缀401可以包括各自被设置为1的一个或多个位。
输出选择器430被配置为选择非零码字402、零游程码字404或停止码406之一以作为编码输出308输出。如参考图3所描述的,停止码406可以是不能被解释为非零码字402或零游程码字404的位串。在一些实现方式中,输出选择器430可以基于控制信号307的状态来选择编码输出308。例如,如果控制信号307被驱动到第一状态(指示输入值306表示非零整数值),则输出选择器430可以输出非零码字402,如果控制信号307被驱动到第二状态(指示输入值306表示零的游程),则输出选择器430可以输出零游程码字404,并且如果控制信号307被驱动到第三状态(指示整数序列304中的所有M个整数值都已经被扫描),则输出选择器430可以输出停止码406。
图5示出了根据一些实现方式的用于对数据进行编码的示例过程500。在一些实现方式中,编码过程500可以由图3的可变长度编码器300执行。例如,编码器300可以接收数据帧502,并且可以基于接收的数据帧来产生编码输出506。
在图5的实例中,数据帧502被示出为包括24个数据符号的序列“ABCAAAAADDDCAAAAAAAAAAAA”。在一些实现方式中,每个数据符号可表示与图像或视频帧的相应像素相关联的像素值或像素差分(表示像素值与参考信号之间的差)。例如参考图3,整数映射器310可以将24个数据符号分别映射到整数序列504中的24个整数值。如图5所示,与整数序列504相关联的值遵循集中在零附近的正态概率分布。也就是说,整数值0具有最高的出现概率,整数值1具有第二高的出现概率,整数值2具有第三高的出现概率,并且对于任何整数值范围,该趋势可以继续。
因此,整数映射器310将与数据帧502相关联的最常出现的值(“A”)映射到整数值0,将与数据帧502相关联的第二常出现的数据符号(“D”)映射到整数值1,将与数据帧502相关联的第三常出现的数据符号(“C”)映射到整数值2,并将与数据帧502相关联的第四常出现的数据符号(“B”)映射到整数值3。作为映射的结果,整数序列504包括24个整数值的序列“032000001112000000000000”。
例如参考图3,ZR检测器320可以针对零的游程循环地扫描整数序列504(诸如从MSB到LSB)。在扫描的第一次循环期间,ZR检测器320检测到当前整数值为0到零,并且响应于此,使计数器320递增(使得N=1)。在扫描的第2次循环期间,ZR检测器320检测到当前整数值等于3,并且响应于此,输出等于0(表示N-1)的输入值306,同时将控制信号307驱动到第二状态(指示零的游程)。此后,ZR检测器320可重置计数器322(至N=0)。ZRC编码器330将输入值306编码为EGR码字“1”,并且响应于控制信号307被驱动到第二状态而将ZR前缀(“1”)附加到EGR码字。因此,“11”是与编码输出506相关联的第一码字。
在将控制信号307驱动到第一状态(指示非零整数值)的同时,ZR检测器320还输出等于3(表示当前非零整数值)的输入值306。ZRC编码器330将输入值306编码为EGR码字“1100”,但不添加ZR前缀,因为控制信号307处于第一状态。因此,“1100”是与编码输出506相关联的第二码字。在扫描的第3次循环期间,ZR检测器320检测到当前整数值等于2。因为当前计数值N等于零,所以ZR检测器320输出等于2(表示当前非零整数值)的整数值306,同时将控制信号307驱动到第一状态。ZRC编码器330将输入值306编码为EGR码字“0010”,但是不添加ZR前缀,因为控制信号307处于第一状态。因此,“0010”是与编码输出506相关联的第三码字。
在扫描的第4次、第5次、第6次、第7次和第8次循环中的每一次循环期间,ZR检测器320检测到当前整数值为0到零,并且响应于此,使计数器320递增(使得在第8次循环结束时N=5)。在扫描的第9次循环期间,ZR检测器320检测到当前整数值等于1,并且响应于此,输出等于4(表示N-1)的输入值306,同时将控制信号307驱动到第二状态。此后,ZR检测器320可重置计数器322(至N=0)。ZRC编码器330将输入值306编码为EGR码字“001000”,并且响应于控制信号307被驱动到第二状态而将ZR前缀(“1”)附加到EGR码字。因此,“0010001”是与编码输出506相关联的第四码字。
在将控制信号307驱动到第一状态的同时,ZR检测器320还输出等于1(表示当前非零整数值)的输入值306。ZRC编码器330将输入值306编码为EGR码字“10”,但不添加ZR前缀,因为控制信号307处于第一状态。因此,“10”是与编码输出506相关联的第五码字。在扫描的第10次循环期间,ZR检测器320检测到当前整数值等于1。因为当前计数值N等于零,所以ZR检测器320输出等于1(表示当前非零整数值)的整数值306,同时将控制信号307驱动到第一状态。ZRC编码器330将输入值306编码为EGR码字“10”,但不添加ZR前缀,因为控制信号307处于第一状态。因此,“10”是与编码输出506相关联的第六码字。
在扫描的第11次循环期间,ZR检测器320检测到当前整数值等于1。因为当前计数值N仍然等于零,所以ZR检测器320输出等于1的整数值306,同时将控制信号307驱动到第一状态。ZRC编码器330将输入值306编码为EGR码字“10”,但不添加ZR前缀,因为控制信号307处于第一状态。因此,“10”是与编码输出506相关联的第七码字。在扫描的第12次循环期间,ZR检测器320检测到当前整数值等于2。因为当前计数值N仍然等于零,所以ZR检测器320输出等于2的整数值306,同时将控制信号307驱动到第一状态。ZRC编码器330将输入值306编码为EGR码字“0010”,但是不添加ZR前缀,因为控制信号307处于第一状态。因此,“0010”是与编码输出506相关联的第八码字。
在扫描的第13次到第24次循环中的每一次循环期间,ZR检测器320检测到当前整数值为0到零,并且响应于此,使计数器320递增(使得在第24次循环结束时N=12)。然而,因为在完成扫描的第24次循环时已经扫描了与整数序列504相关联的所有24个整数值,因此ZR检测器320不输出随后的输入值306。相反,ZR检测器320可以将控制信号307驱动到第三状态(指示整数序列中的所有整数值都已经被扫描)。ZRC编码器330响应于控制信号307被驱动到第三状态而输出停止码“111”。因此,“111”是与编码输出506相关联的第九且最后的码字。
图6示出了根据一些实现方式的编码器600的框图。在一些实现方式中,编码器600可以分别是图1、图2和图3的编码器110、210或300中的任何的一个示例。更具体地,编码器600可以被配置为使用具有零的游程长度编码的熵编码技术来编码数据符号。
在一些实现方式中,编码器600可以包括数据接口610、处理系统620和存储器630。数据接口610被配置为接收数据符号并输出与数据符号相关联的编码码字。在一些方面中,数据接口610可以包括数据源接口(I/F)612和信道接口614。数据源接口612被配置为与耦合到编码器600或以其他方式与编码器600相关联的数据源通信。在一些实现方式中,数据源接口612可以获得表示数据帧的某一数量的(M个)整数值。信道接口614被配置为通过耦合在编码器600和解码器(为简单起见未示出)之间的信道进行通信。
存储器630可以包括数据缓冲器632,其被配置为存储接收到的数据符号和与编码操作相关联的任何中间数据。存储器630还可包括可存储至少以下软件(SW)模块的非暂时性计算机可读介质(包括一个或多个非易失性存储器元件,诸如EPROM、EEPROM、闪存、硬盘驱动器等):
·零检测SW模块634,用于执行零检测操作,所述零检测操作分别在M次循环期间扫描M个整数值,并且在M次循环中的每次循环期间指示扫描的整数值是否等于零;
·ZR计数器SW模块636,用于响应于零检测操作指示扫描的整数值等于零而递增计数值
(N);以及
·可变长度编码SW模块638,用于响应于零检测操作指示扫描的整数值不等于零而输出第
一位模式,其中第一位模式基于N是否大于零来表示计数值N或扫描的整数值之一。每个软件模块包括当由处理系统620执行时使得编码器600执行对应功能的指令。
处理系统620可以包括能够执行存储在编码器600中(诸如存储器630中)的一个或多个软件程序的脚本或指令的任何合适的一个或多个处理器。例如,处理系统620可以执行零检测SW模块634以执行零检测操作,该零检测操作分别在M次循环期间扫描M个整数值,并且在M次循环中的每一次循环期间指示扫描的整数值是否等于零。处理系统620还可执行ZR计数器SW模块636以响应于零检测操作指示扫描的整数值等于零而递增计数值(N)。此外,处理系统620可以执行可变长度编码SW模块638以响应于零检测操作指示扫描的整数值不等于零而输出第一位模式,其中第一位模式基于N是否大于零来表示计数值N或扫描的整数值之一。
图7示出了描绘根据一些实现方式的用于数据编码的示例操作700的说明性流程图。在一些实现方式中,示例操作700可以由编码器执行,诸如分别由图1、图2、图3和图6的编码器110、210、300或600中的任何编码器执行。
编码器可以获得表示数据帧的某一数量(M个)的整数值(710)。编码器可以执行零检测操作,其分别在M次循环期间扫描M个整数值,并且在M次循环中的每次循环期间指示扫描的整数值是否等于零(720)。编码器还可以响应于零检测操作指示扫描的整数值等于零而递增计数值(N)(730)。编码器还可以响应于零检测操作指示序列中的扫描的整数值不等于零而输出第一位模式,其中第一位模式基于N是否大于零来表示计数值N或扫描的整数值之一(740)。
在一些方面中,所述M个整数值的获得可以包括接收数据符号的序列,以及将所述序列中的每个数据符号映射到所述M个整数值中的相应整数值。在一些实现方式中,M个整数值中的每一个可以是非负值。
在一些方面中,第一位模式的输出可以包括:确定N不大于零,以及响应于确定计数值N不大于零,将扫描的整数值编码为第一位模式。在一些实现方式中,第一位模式可以是表示扫描的整数值的指数哥伦布-莱斯码字。
在一些方面中,第一位模式的输出可以包括确定N大于零,并且响应于确定计数值大于零而将N-1编码为指数哥伦布-莱斯码字。在一些实现方式中,第一位模式可包括零游程前缀,之后接着指数哥伦布-莱斯码字。在一些实现方式中,零游程前缀可以是具有与第一位模式的LSB不同的二进制值的单个位。在一些实现方式中,编码器还可以将扫描的整数值编码为第二位模式,在第一位模式之后输出第二位模式,以及将计数值重置为N=0。
在一些方面中,编码器可进一步响应于完成零检测操作的第M次循环而输出停止码。在一些实现方式中,停止码可以包括三个连续位,每个位具有与第一位模式的LSB不同的二进制值。
所属领域的技术人员将了解,可使用多种不同技术和技艺中的任一者来表示信息及信号。例如,贯穿以上描述可能提及的数据、指令、命令、信息、信号、位、符号和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
此外,所属领域的技术人员将了解,结合本文中所公开的方面描述的各种说明性逻辑块、模块、电路和算法步骤可实现为电子硬件、计算机软件、或两者的组合。为了清楚地说明硬件与软件的此可互换性,上文已大体上就其功能性描述了各种说明性部件、块、模块、电路和步骤。将此类功能性实现为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式实现所描述的功能性,但此类实现方式决策不应被解释为导致脱离本公开的范围。
结合本文中所公开的方面描述的方法、序列或算法可直接体现于硬件中、由处理器执行的软件模块中、或两者的组合中。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器,使得处理器可以从存储介质读取信息和向存储介质写入信息。在替代方案中,存储介质可集成到处理器。
在前面的说明书中,已经参考其具体示例描述了实施例。然而,显而易见的是,在不脱离如所附权利要求中阐述的本公开的更宽范围的情况下,可以对其进行各种修改和改变。因此,说明书和附图应被认为是说明性的而不是限制性的。

Claims (20)

1.一种数据编码的方法,包括:
获得表示数据帧的M个数量的整数值;
执行零检测操作,所述零检测操作分别在M次循环期间扫描所述M个整数值,并且在所述M次循环中的每次循环期间指示扫描的整数值是否等于零;
响应于所述零检测操作指示所述扫描的整数值等于零,递增计数值N;以及
响应于所述零检测操作指示所述扫描的整数值不等于零而输出第一位模式,所述第一位模式包括指数哥伦布-莱斯码字,所述指数哥伦布-莱斯码字基于N是否大于零来表示所述计数值N或所述扫描的整数值之一。
2.根据权利要求1所述的方法,其中获得所述M个整数值包括:
接收数据符号的序列;以及
将所述序列中的每个数据符号映射到所述M个整数值中的相应整数值。
3.根据权利要求2所述的方法,其中所述M个整数值中的每一个是非负值。
4.根据权利要求1所述的方法,其中输出所述第一位模式包括:
确定N不大于零;以及
响应于确定所述计数值N不大于零,将所述扫描的整数值编码为所述指数哥伦布-莱斯码字。
5.根据权利要求4所述的方法,其中所述第一位模式是所述指数哥伦布-莱斯码字。
6.根据权利要求1所述的方法,其中输出所述第一位模式包括:
确定N大于零;以及
响应于确定所述计数值大于零,将N-1编码为所述指数哥伦布-莱斯码字。
7.根据权利要求6所述的方法,其中所述第一位模式包括零游程前缀,所述零游程前缀之后接着所述指数哥伦布-莱斯码字。
8.根据权利要求7所述的方法,其中所述零游程前缀是具有与所述第一位模式的最低有效位LSB不同的二进制值的单个位。
9.根据权利要求6所述的方法,还包括:
将所述扫描的整数值编码为第二位模式;
在所述第一位模式之后输出所述第二位模式;以及
将所述计数值重置为N=0。
10.根据权利要求1所述的方法,还包括:
响应于完成所述零检测操作的第M次循环而输出停止码。
11.根据权利要求10所述的方法,其中所述停止码包括三个连续位,每个位具有与所述第一位模式的LSB不同的二进制值。
12.一种编码器,包括:
处理系统;以及
存储指令的存储器,所述指令在由所述处理系统执行时使所述编码器:
获得表示数据帧的M个数量的整数值;
执行零检测操作,所述零检测操作分别在M次循环期间扫描所述M个整数值,并且在所述M次循环中的每次循环期间指示扫描的整数值是否等于零;
响应于所述零检测操作指示所述扫描的整数值等于零,递增计数值N;以及
响应于所述零检测操作指示所述序列中的所述扫描的整数值不等于零而输出第一位模式,所述第一位模式包括指数哥伦布-莱斯码字,所述指数哥伦布-莱斯码字基于N是否大于零来表示所述计数值N或所述扫描的整数值之一。
13.根据权利要求12所述的编码器,其中获得所述M个整数值包括:
接收数据符号的序列;以及
将所述序列中的每个数据符号映射到所述M个整数值中的相应整数值。
14.根据权利要求12所述的编码器,其中输出所述第一位模式包括:
确定N不大于零;以及
响应于确定所述计数值N不大于零,将所述扫描的整数值编码为所述指数哥伦布-莱斯码字。
15.根据权利要求14所述的编码器,其中所述第一位模式是所述指数哥伦布-莱斯码字。
16.根据权利要求12所述的编码器,其中输出所述第一位模式包括:
确定N大于零;以及
响应于确定所述计数值大于零,将N-1编码为所述指数哥伦布-莱斯码字,所述第一位模式包括零游程前缀,所述零游程前缀之后接着所述指数哥伦布-莱斯码字。
17.根据权利要求16所述的编码器,其中所述零游程前缀是具有与所述第一位模式的最低有效位LSB不同的二进制值的单个位。
18.根据权利要求16所述的编码器,其中所述指令的执行还使得所述编码器:
将所述扫描的整数值编码为第二位模式;
在所述第一位模式之后输出所述第二位模式;以及
将所述计数值重置为N=0。
19.根据权利要求12所述的编码器,其中所述指令的执行还使得所述编码器:
响应于完成所述零检测操作的第M次循环而输出停止码。
20.根据权利要求19所述的编码器,其中所述停止码包括三个连续位,每个位具有与所述第一位模式的LSB不同的二进制值。
CN202310082148.3A 2022-02-08 2023-02-08 用于资源受限编码环境中的低延迟视频传输的无损压缩 Pending CN116582689A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/667,017 US20230254493A1 (en) 2022-02-08 2022-02-08 Lossless compression for low-latency video transmission in resource-constrained encoding environment
US17/667017 2022-02-08

Publications (1)

Publication Number Publication Date
CN116582689A true CN116582689A (zh) 2023-08-11

Family

ID=85175994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310082148.3A Pending CN116582689A (zh) 2022-02-08 2023-02-08 用于资源受限编码环境中的低延迟视频传输的无损压缩

Country Status (4)

Country Link
US (1) US20230254493A1 (zh)
EP (1) EP4224856A1 (zh)
CN (1) CN116582689A (zh)
TW (1) TW202333501A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116861301B (zh) * 2023-09-04 2023-11-24 山东爱福地生物股份有限公司 一种秸秆生产生物质燃料数据管理方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483581B2 (en) * 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
HUE046377T2 (hu) * 2011-01-14 2020-03-30 Ge Video Compression Llc Entrópia kódoló és dekódoló séma
US9930348B2 (en) * 2014-03-14 2018-03-27 Qualcomm Incorporated Coefficient level coding in a video coding process
US11211944B2 (en) * 2019-04-17 2021-12-28 Samsung Electronics Co., Ltd. Mixed-precision compression with random access

Also Published As

Publication number Publication date
TW202333501A (zh) 2023-08-16
EP4224856A1 (en) 2023-08-09
US20230254493A1 (en) 2023-08-10

Similar Documents

Publication Publication Date Title
RU2637879C2 (ru) Кодирование и декодирование значащих коэффициентов в зависимости от параметра указанных значащих коэффициентов
KR100648258B1 (ko) 고속의 디코딩을 수행하는 파이프라인 구조의 내용 기반적응적 이진 산술 디코더
RU2417518C2 (ru) Эффективное кодирование и декодирование блоков преобразования
US5818877A (en) Method for reducing storage requirements for grouped data values
US5471207A (en) Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor
US7817864B2 (en) Coding apparatus and decoding apparatus
US6798833B2 (en) Video frame compression/decompression hardware system
US8588540B2 (en) Arithmetic encoding apparatus executing normalization and control method
EP3734973B1 (en) Method and encoder relating to encoding of pixel values to accomplish lossless compression of a digital image
KR20120018360A (ko) 가변 길이 코딩을 위한 방법 및 장치
US20200084463A1 (en) Method of compressing and decompressing image data
EP4224856A1 (en) Lossless compression with exponential golomb-rice coding for low-latency video transmission
JP2006129467A (ja) 整数データの無損失適応符号化・復号化
US8754792B2 (en) System and method for fixed rate entropy coded scalar quantization
GB2319689A (en) An entropy encoder using context modelling with data reordering
US20240146975A1 (en) Dynamic queuing of entropy-coded data for transmission in a bitstream
US12034462B2 (en) Compressing probability tables for entropy coding
US20240056097A1 (en) Compressing probability tables for entropy coding
US20240169478A1 (en) Reducing image scaling artifacts via tile size selection
US11943477B2 (en) Methods and apparatus for successive intra block prediction
US9973209B2 (en) Processor and data processing method thereof
JP2934603B2 (ja) 可変長さコードの復号化方法及びその装置
US6539061B1 (en) Efficient method for decompressing difference coded signals
CN117917857A (zh) 非迭代熵编码
KR0147951B1 (ko) 이진윤곽선 부호화를 위한 면재배열 및 줄길이 부호화 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication