CN115190315A - 一种图像解码设备、方法、显示设备和存储介质 - Google Patents

一种图像解码设备、方法、显示设备和存储介质 Download PDF

Info

Publication number
CN115190315A
CN115190315A CN202210725225.8A CN202210725225A CN115190315A CN 115190315 A CN115190315 A CN 115190315A CN 202210725225 A CN202210725225 A CN 202210725225A CN 115190315 A CN115190315 A CN 115190315A
Authority
CN
China
Prior art keywords
decoded
code
code table
information
matching
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
CN202210725225.8A
Other languages
English (en)
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.)
Qingdao Xinxin Microelectronics Technology Co Ltd
Original Assignee
Qingdao Xinxin Microelectronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qingdao Xinxin Microelectronics Technology Co Ltd filed Critical Qingdao Xinxin Microelectronics Technology Co Ltd
Priority to CN202210725225.8A priority Critical patent/CN115190315A/zh
Publication of CN115190315A publication Critical patent/CN115190315A/zh
Pending legal-status Critical Current

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/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/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/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/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/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
    • H04N19/423Methods 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 characterised by memory arrangements
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请涉及图像处理技术领域,尤其涉及一种图像解码设备、方法、显示设备和存储介质,用以提高图像解码效率。其中,设备包括:匹配模块,用于在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;在数据匹配状态,基于解码后的字符长度码表,从待解码图像的码流中匹配待解码图像中的各像素的编码数据,获得匹配结果;基于匹配结果以及解码后的距离码表,获得各像素各自的有效像素值;处理模块,用于基于各有效像素值,获得解码后待解码图像。由于本申请通过分离出匹配模块和处理模块,在进行图像解码时,根据不同的状态分时复用,能够有效提升图像解码效率。

Description

一种图像解码设备、方法、显示设备和存储介质
技术领域
本申请涉及图像处理技术领域,尤其涉及一种图像解码设备、方法、显示设备和存储介质。
背景技术
便携式网络图形(Portable Network Graphics,PNG)是一种可以替代图形交换格式(Graphics Interchange Format,GIF)和标签图像文件格式(Tag Image File Format,TIFF)的开源图像格式,具有无损压缩、高压缩比、码流文件体积小、支持色彩索引模式、灰度模式、真彩色、alpha通道等特点,为了减小互联网和图像使用过程中数据量的占用,针对PNG的无损压缩技术同样得到了广泛的应用,例如,以PNG格式存储开机标志(logo)图像。与此相对地,如何完整快速的对PNG图像进行解压缩成为需要关注的问题。
相关技术中,主要是采用解码软件对PNG图像解码,但是解码软件对PNG图像解码,解码效率低、实时性差,不利于移动设备的低功耗要求,例如手机的开机logo图像解码,对低功耗和解码速度都有较高要求,采用解码软件会增加中央处理器的负担,并且解码速度慢。因此,如何提高PNG图像解码效率成为目前亟待解决的问题。
发明内容
本申请实施例提供一种图像解码设备、方法、显示设备和存储介质,用以提高图像解码效率。
本申请实施例提供的一种图像解码设备,包括:
匹配模块,用于在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;
在数据匹配状态,基于解码后的所述字符长度码表,从待解码图像的码流中匹配所述待解码图像中的各像素的编码数据,获得匹配结果;基于所述匹配结果以及解码后的所述距离码表,获得所述各像素各自的有效像素值;
处理模块,用于基于各有效像素值,获得解码后所述待解码图像。
在一种可选的实施方式中,所述各个待解码的码表还包括码字长度码表;
所述匹配模块具体用于:
基于待解码的所述码字长度码表的第一码字数量信息,对所述码字长度码表进行游程码解码,获得所述码字长度码表的第一码字长度信息;
通过基于所述第一码字长度信息构建的码长解码树,获得解码后的所述码字长度码表;
基于所述码字长度码表、所述字符长度码表的第二码字数量信息和所述距离码表的第三码字数量信息,对相应的码表进行解码,获得解码后的所述字符长度码表和所述距离码表。
在一种可选的实施方式中,所述匹配模块具体用于:
基于所述码字长度码表和所述第二码字数量信息对所述码流进行匹配,获得所述字符长度码表的第二码字长度信息,并通过基于所述第二码字长度信息构建的字符长度解码树,获得解码后的所述字符长度码表;
基于所述码字长度码表和所述第三码字数量信息对所述码流进行匹配,获得所述距离码表的第三码字长度信息,并通过基于所述第三码字长度信息构建的距离解码树,获得解码后的所述距离码表。
在一种可选的实施方式中,所述像素包括待重构像素;所述匹配模块具体用于:
基于解码后的所述字符长度码表,从所述码流中匹配所述待重构像素对应的编码数据,获得所述待重构像素的目标长度信息;
基于所述距离码表,从所述码流中匹配编码数据,获得所述待重构像素的目标距离信息;
基于所述目标长度信息和所述目标距离信息对当前的查找表进行查询,获得对应的像素值信息,并基于所述像素值信息获得所述待重构像素的有效像素值;其中,所述查找表是基于获得的所述有效像素值动态更新的。
在一种可选的实施方式中,所述匹配模块具体用于:
若所述像素包括所述待重构像素,则基于解码后的所述字符长度码表,从所述码流中匹配所述待重构像素对应的编码数据,获得所述待重构像素的初始长度信息;
基于长度对照表对所述初始长度信息进行解析,获得所述目标长度信息;
基于所述距离码表,从所述码流中匹配编码数据,获得所述待重构像素的初始距离信息;
基于距离对照表对所述初始距离信息进行解析,获得所述目标距离信息。
在一种可选的实施方式中,所述像素还包括目标像素;所述匹配模块还用于:
基于解码后的所述字符长度码表,从所述码流中匹配所述目标像素对应的编码数据,获得所述目标像素的有效像素值。
在一种可选的实施方式中,所述设备还包括:
数据块检测模块,用于对输入的码流进行数据块类型检测,当检测到目标类型数据块时,触发所述匹配模块的码表解析状态;
信息分析模块,用于对输入的码流进行解析,获得所述各个待解码的码表的码字数量信息;
码流拆分模块,用于根据码流尺寸信息对输入的码流进行拆分,获得拆分后的码流,并将所述拆分后的码流输入所述匹配模块、所述数据块检测模块以及所述信息分析模块。
本申请实施例提供的一种图像解码方法,包括:
在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;
在数据匹配状态,基于解码后的所述字符长度码表,从待解码图像的码流中匹配所述待解码图像中的各像素的编码数据,获得匹配结果;基于所述匹配结果以及解码后的所述距离码表,获得所述各像素各自的有效像素值;
基于各有效像素值,获得解码后所述待解码图像。
在一种可选的实施方式中,所述各个待解码的码表还包括码字长度码表;所述基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表,包括:
基于待解码的所述码字长度码表的第一码字数量信息,对所述码字长度码表进行游程码解码,获得所述码字长度码表的第一码字长度信息;
通过基于所述第一码字长度信息构建的码长解码树,获得解码后的所述码字长度码表;
基于所述码字长度码表、所述字符长度码表的第二码字数量信息和所述距离码表的第三码字数量信息,对相应的码表进行解码,获得解码后的所述字符长度码表和所述距离码表。
在一种可选的实施方式中,所述基于所述码字长度码表、所述字符长度码表的第二码字数量信息和所述距离码表的第三码字数量信息,对相应的码表进行解码,获得解码后的所述字符长度码表和所述距离码表,包括:
基于所述码字长度码表和所述第二码字数量信息对所述码流进行匹配,获得所述字符长度码表的第二码字长度信息,并通过基于所述第二码字长度信息构建的字符长度解码树,获得解码后的所述字符长度码表;
基于所述码字长度码表和所述第三码字数量信息对所述码流进行匹配,获得所述距离码表的第三码字长度信息,并通过基于所述第三码字长度信息构建的距离解码树,获得解码后的所述距离码表。
在一种可选的实施方式中,所述像素包括待重构像素;所述基于解码后的所述字符长度码表,从待解码图像的码流中匹配所述待解码图像中的各像素的编码数据,获得匹配结果;基于所述匹配结果以及解码后的所述距离码表,获得所述各像素各自的有效像素值,包括:
基于解码后的所述字符长度码表,从所述码流中匹配所述待重构像素对应的编码数据,获得所述待重构像素的目标长度信息;
基于所述距离码表,从所述码流中匹配编码数据,获得所述待重构像素的目标距离信息;
基于所述目标长度信息和所述目标距离信息对当前的查找表进行查询,获得对应的像素值信息,并基于所述像素值信息获得所述待重构像素的有效像素值;其中,所述查找表是基于获得的所述有效像素值动态更新的。
在一种可选的实施方式中,通过以下方式获得所述目标长度信息以及所述目标距离信息:
若所述像素包括所述待重构像素,则基于解码后的所述字符长度码表,从所述码流中匹配所述待重构像素对应的编码数据,获得所述待重构像素的初始长度信息;
基于长度对照表对所述初始长度信息进行解析,获得所述目标长度信息;
基于所述距离码表,从所述码流中匹配编码数据,获得所述待重构像素的初始距离信息;
基于距离对照表对所述初始距离信息进行解析,获得所述目标距离信息。
在一种可选的实施方式中,所述像素还包括目标像素;所述方法还包括:
基于解码后的所述字符长度码表,从所述码流中匹配所述目标像素对应的编码数据,获得所述目标像素的有效像素值。
在一种可选的实施方式中,所述方法还包括:
对输入的码流进行数据块类型检测,当检测到目标类型数据块时,触发所述匹配模块的码表解析状态;
对输入的码流进行解析,获得所述各个待解码的码表的码字数量信息;
根据码流尺寸信息对输入的码流进行拆分,获得拆分后的码流。
本申请实施例提供的一种显示设备,包括显示器和图像解码设备;
所述图像解码设备,用于在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;
在数据匹配状态,基于解码后的所述字符长度码表,从待解码图像的码流中匹配所述待解码图像中的各像素的编码数据,获得匹配结果;基于所述匹配结果以及解码后的所述距离码表,获得所述各像素各自的有效像素值;
基于各有效像素值,获得解码后的待解码图像;
所述显示器,用于显示所述解码后的待解码图像。
本申请实施例提供一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在显示设备上运行时,所述计算机程序用于使所述显示设备执行上述任意一种图像解码方法的步骤。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当显示设备从计算机可读存储介质读取所述计算机程序时,所述显示设备执行所述计算机程序,使得所述显示设备执行上述任意一种图像解码方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种图像解码设备、方法、显示设备和存储介质,由于本申请通过设置匹配模块,在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;在数据匹配状态,基于解码后的字符长度码表,从待解码图像的码流中匹配待解码图像中的各像素的编码数据,获得匹配结果;最后基于匹配结果以及解码后的距离码表,获得各像素各自的有效像素值;根据不同的状态分时复用内部模型,并且可以共享使用其他模块的存储空间,不额外增加硬件资源,最后通过处理模块基于各有效像素值,获得解码后待解码图像。基于此方式进行图像解码,完全由硬件电路实现,系统接口简单,解码的实时性提高,进而能够有效提高图像解码效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1A中示例性示出了显示设备与控制装置之间操作场景的示意图;
图1B中示例性示出了图1A中控制装置100的配置框图;
图2中示例性示出了图1A中显示设备200的配置框图;
图3中示例性示出了显示设备200存储器中操作系统的架构配置框图;
图4本申请实施例提供的一种图像解码方法的实施流程图;
图5为本申请实施例中的一种码表获取方法的流程示意图;
图6为本申请实施例中的另一种码表获取方法的流程示意图;
图7为本申请实施例中的一种码表解析状态的处理流程示意图;
图8为本申请实施例中的一种像素重构方法的流程示意图;
图9为本申请实施例中的一种数据匹配状态的处理流程示意图;
图10为本申请实施例中的一种处理模块的结构示意图;
图11为本申请实施例中的一种PNG图像解码方法的流程示意图;
图12为本申请实施例中的一种IDAT数据块解码方法的流程示意图;
图13为本申请实施例中的一种信息获取方法的流程示意图;
图14为本申请实施例中的一种码流处理方法的流程示意图;
图15为本申请实施例中的一种数据块检测模块的结构示意图;
图16为本申请实施例中的一种信息分析模块的结构示意图;
图17为本申请实施例中的一种码流拆分模块的结构示意图;
图18为本申请实施例中的一种图像解码方法的系统框图;
图19为本申请实施例中的一种图像解码设备的电路框图;
图20为本申请实施例中的一种图像解码设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
本申请实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“三种一般表示前后关联对象是一种“或”的关系。
本申请实施例中PNG格式以数据块(chunk)为基础单位构成,分为关键数据块(critical chunk)和辅助数据块(ancillary chunks)。关键数据块包括:IHDR、PLTE、IDAT、IEND,这四种数据块,已经包含了图像的所有有效信息。其中,IHDR表示文件头,包含了分辨率、真彩色or灰度、索引模式、压缩方式等关键信息;PLTE表示索引模式色板;IDAT表示图像数据块,图像数据都在IDAT中;IEND表示文件结束信息,除了关键数据块外的数据块,可以在解码时不予理睬。
本申请实施例中FIFO(First Input First Output)存储器,是一个先入先出的双口缓冲器,即第一个进入其内的数据第一个被移出,其中一个是存储器的输入口,另一个口是存储器的输出口。对于单片FIFO来说,主要有两种结构:触发导向结构和零导向传输结构。触发导向传输结构的FIFO是由寄存器阵列构成的,零导向传输结构的FIFO是由具有读和写地址指针的双口RAM构成。在系统设计中,以增加数据传输率、处理大量数据流、匹配具有不同传输率的系统为目的而广泛使用FIFO存储器,从而提高了系统性能。
本申请实施例中哈夫曼编码(Huffman Coding)是可变字长编码的一种。该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,首先统计原始数据中各字符出现的频率,利用得到的频率值创建哈夫曼树并将树的有关信息保存起来,便于解码时使用;然后则根据前面得到的哈夫曼树对原始数据进行编码,并将编码信息存储起来。相应的,在进行图像解码时,需要根据码表构建哈夫曼树,进而进行哈夫曼解码。
下面对本申请实施例的设计思想进行简要介绍:
PNG是一种可以GIF和TIFF的开源图像格式,具有无损压缩、高压缩比、码流文件体积小、支持色彩索引模式、灰度模式、真彩色、alpha通道等特点,为了减小互联网和图像使用过程中数据量的占用,针对PNG的无损压缩技术同样得到了广泛的应用,例如,以PNG格式存储开机logo图像。与此相对地,如何完整快速的对PNG图像进行解压缩成为需要关注的问题。
相关技术中,主要是采用解码软件对PNG图像解码,但是解码软件对PNG图像解码,解码效率低、实时性差,不利于移动设备的低功耗要求,例如电视机的开机logo图像解码,对低功耗和解码速度都有较高要求,采用解码软件会增加中央处理器的负担,并且解码速度慢。因此,如何提高PNG图像解码效率成为目前亟待解决的问题。
有鉴于此,本申请实施例提供了一种图像解码设备、方法、显示设备和存储介质,由于本申请通过设置匹配模块,在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;在数据匹配状态,基于解码后的字符长度码表,从待解码图像的码流中匹配待解码图像中的各像素的编码数据,获得匹配结果;最后基于匹配结果以及解码后的距离码表,获得各像素各自的有效像素值;根据不同的状态分时复用内部模型,并且可以共享使用其他模块的存储空间,不额外增加硬件资源,最后通过处理模块基于各有效像素值,获得解码后待解码图像。基于此方式进行图像解码,完全由硬件电路实现,系统接口简单,解码的实时性提高,进而能够有效提高图像解码效率。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1A中示例性示出了显示设备与控制装置之间操作场景的示意图。如图1A所示,控制装置100和显示设备200之间可以有线或无线方式进行通信。
其中,控制装置100被配置为控制显示设备200,其可接收用户输入的操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起着用户与显示设备200之间交互的中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。再比如,用户通过操作控制装置100上的选择键选择要进行解码的待解码图像,显示设备200响应选择待解码图像的操作,对选择的待解码图像进行解码。并且,用户还可以通过操作控制装置100上的选择键控制显示器的开、关,显示设备200响应开或关显示器的操作,开启显示器或关闭显示器。
控制装置100可以是遥控器100A,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
控制装置100也可以是智能设备,如移动终端100B、平板电脑、计算机、笔记本电脑等。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,通过直观的用户界面(UI)为用户提供各种控制。
示例性的,移动终端100B可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以使移动终端100B与显示设备200建立控制指令协议,通过操作移动终端100B上提供的用户界面的各种功能键或虚拟按钮,来实现如遥控器100A布置的实体按键的功能。也可以将移动终端100B上显示的音视频内容传输到显示设备200上,实现同步显示功能。
显示设备200可提供广播接收功能和计算机支持功能的网络电视功能。显示设备可以实施为,数字电视、网络电视、互联网协议电视(IPTV)等。
显示设备200,可以是液晶显示器、有机发光显示器、投影设备。具体显示设备类型、尺寸大小和分辨率等不作限定。
显示设备200还与服务器300通过多种通信方式进行数据通信。这里可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器300可以向显示设备200提供各种内容和互动。示例的,显示设备200可以发送和接收信息,例如:接收电子节目指南(EPG)数据、接收软件程序更新、或访问远程储存的数字媒体库。服务器300可以一组,也可以多组,可以一类或多类服务器。通过服务器300提供视频点播和广告服务等其他网络服务内容。
图1B中示例性示出了控制装置100的配置框图。如图1B所示,控制装置100包括控制器110、存储器120、通信器130、用户输入接口140、输出接口150、供电电源160。
控制器110包括随机存取存储器(RAM)111、只读存储器(ROM)112、处理器113、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间的通信协作、外部和内部的数据处理功能。
示例性的,当检测到用户按压在遥控器100A上布置的按键的交互或触摸在遥控器100A上布置的触摸面板的交互时,控制器110可控制产生与检测到的交互相应的信号,并将该信号发送到显示设备200。
存储器120,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器120,可以存储用户输入的各类控制信号指令。
通信器130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:控制装置100经由通信器130将控制信号(例如触摸信号或按钮信号)发送至显示设备200上,控制装置100可经由通信器130接收由显示设备200发送的信号。通信器130可以包括红外信号接口131和射频信号接口132。例如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。
用户输入接口140,可包括麦克风141、触摸板142、传感器143、按键144等中至少一者,从而用户可以通过语音、触摸、手势、按压等将关于控制显示设备200的用户指令输入到控制装置100。
输出接口150,通过将用户输入接口140接收的用户指令输出至显示设备200,或者,输出由显示设备200接收的图像或语音信号。这里,输出接口150可以包括LED接口151、产生振动的振动接口152、输出声音的声音输出接口153和输出图像的显示器154等。例如,遥控器100A可从输出接口150接收音频、视频或数据等输出信号,并且将输出信号在显示器154上显示为图像形式、在声音输出接口153输出为音频形式或在振动接口152输出为振动形式。
供电电源160,用于在控制器110的控制下为控制装置100各元件提供运行电力支持。形式可以为电池及相关控制电路。
图2中示例性示出了显示设备200的硬件配置框图。如图2所示,显示设备200中可以包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、存储器260、用户接口265、视频处理器270、显示器275、音频处理器280、音频输出接口285、供电电源290。其中,显示设备200包含图像解码设备,图像解码设备可以内置于显示设备200的集成电路芯片中。
调谐解调器210,通过有线或无线方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,用于从多个无线或有线广播电视信号中解调出用户所选择的电视频道的频率中所携带的音视频信号,以及附加信息(例如EPG数据)。
调谐解调器210,可根据用户选择,以及由控制器250控制,响应用户选择的电视频道的频率以及该频率所携带的电视信号。
调谐解调器210,根据电视信号的广播制式不同,可以接收信号的途径有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,可以数字调制方式或模拟调制方式;以及根据接收电视信号的种类不同,可以解调模拟信号和数字信号。
在其他一些示例性实施例中,调谐解调器210也可在外部设备中,如外部机顶盒等。这样,机顶盒通过调制解调后输出电视信号,经过外部装置接口240输入至显示设备200中。
通信器220,是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如显示设备200可将内容数据发送至经由通信器220连接的外部设备,或者,从经由通信器220连接的外部设备浏览和下载内容数据。通信器220可以包括WIFI模块221、蓝牙通信协议模块222、有线以太网通信协议模块223等网络通信协议模块或近场通信协议模块,从而通信器220可根据控制器250的控制接收控制装置100的控制信号,并将控制信号实现为WIFI信号、蓝牙信号、射频信号等。
检测器230,是显示设备200用于采集外部环境或与外部交互的信号的组件。检测器230可以包括声音采集器231,如麦克风,可以用于接收用户的声音,如用户控制显示设备200的控制指令的语音信号;或者,可以采集用于识别环境场景类型的环境声音,实现显示设备200可以自适应环境噪声。
在其他一些示例性实施例中,检测器230,还可以包括图像采集器232,如相机、摄像头等,可以用于采集外部环境场景,以自适应变化显示设备200的显示参数;以及用于采集用户的属性或与用户交互手势,以实现显示设备与用户之间互动的功能。
在其他一些示例性实施例中,检测器230,还可以包括光接收器,用于采集环境光线强度,以自适应显示设备200的显示参数变化等。
在其他一些示例性实施例中,检测器230,还可以包括温度传感器,如通过感测环境温度,显示设备200可自适应调整图像的显示色温。示例性的,当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调;当温度偏低的环境时,可以调整显示设备200显示图像色温偏暖色调。
外部装置接口240,是提供控制器250控制显示设备200与外部设备间数据传输的组件。外部装置接口240可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如EPG)等数据。
其中,外部装置接口240可以包括:高清多媒体接口(HDMI)端子241、复合视频消隐同步(CVBS)端子242、模拟或数字分量端子243、通用串行总线(USB)端子244、组件(Component)端子(图中未示出)、红绿蓝(RGB)端子(图中未示出)等任一个或多个。
控制器250,通过运行存储在存储器260上的各种软件控制程序(如操作系统和各种应用程序),来控制显示设备200的工作和响应用户的操作。
如图2所示,控制器250包括随机存取存储器(RAM)251、只读存储器(ROM)252、图形处理器253、CPU处理器254、通信接口255、以及通信总线256。其中,RAM251、ROM252以及图形处理器253、CPU处理器254通信接口255通过通信总线256相连接。在图像解码过程中,控制器250可用于控制图像解码设备对待解码图像进行解码,也可用于控制显示器275显示解码后的待解码图像。
ROM252,用于存储各种系统启动指令。如在接收到开机信号时,显示设备200电源开始启动,CPU处理器254运行ROM252中的系统启动指令,将存储在存储器260的操作系统拷贝至RAM251中,以开始运行启动操作系统。当操作系统启动完成后,CPU处理器254再将存储器260中各种应用程序拷贝至RAM251中,然后,开始运行启动各种应用程序。
图形处理器253,用于产生各种图形对象,如图标、操作菜单、以及用户输入指令显示图形等。图形处理器253可以包括运算器,用于通过接收用户输入各种交互指令进行运算,进而根据显示属性显示各种对象;以及包括渲染器,用于产生基于运算器得到的各种对象,将进行渲染的结果显示在显示器275上。
CPU处理器254,用于执行存储在存储器260中的操作系统和应用程序指令。以及根据接收的用户输入指令,来执行各种应用程序、数据和内容的处理,以便最终显示和播放各种音视频内容。
在一些示例性实施例中,CPU处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在显示设备预加载模式中执行显示设备200的一些初始化操作,和/或,在正常模式下显示画面的操作。多个或一个子处理器,用于执行在显示设备待机模式等状态下的一种操作。
通信接口255,可包括第一接口到第n接口。这些接口可以是经由网络被连接到外部设备的网络接口。
控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示的GUI对象的用户输入命令,控制器250便可以执行与由用户输入命令选择的对象有关的操作。
其中,该对象可以是可选对象中的任何一个,例如超链接或图标。该与所选择的对象有关的操作,例如显示连接到超链接页面、文档、图像等操作,或者执行与对象相对应的程序的操作。该用于选择GUI对象的用户输入命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。
存储器260,用于存储驱动和控制显示设备200运行的各种类型的数据、软件程序或应用程序。存储器260可以包括易失性和/或非易失性存储器。而术语“存储器”包括存储器260、控制器250的RAM251和ROM252、或显示设备200中的存储卡。
在一些实施例中,存储器260具体用于存储驱动显示设备200中控制器250的运行程序;存储显示设备200内置的和用户从外部设备下载的各种应用程序;存储用于配置由显示器275提供的各种GUI、与GUI相关的各种对象及用于选择GUI对象的选择器的视觉效果图像等数据。
在一些实施例中,存储器260具体用于存储调谐解调器210、通信器220、检测器230、外部装置接口240、视频处理器270、显示器275、音频处理器280等的驱动程序和相关数据,例如从外部装置接口接收的外部数据(例如音视频数据)或用户接口接收的用户数据(例如按键信息、语音信息、触摸信息等)。
在一些实施例中,存储器260具体存储用于表示操作系统(OS)的软件和/或程序,这些软件和/或程序可包括,例如:内核、中间件、应用编程接口(API)和/或应用程序。示例性的,内核可控制或管理系统资源,以及其它程序所实施的功能(如所述中间件、API或应用程序);同时,内核可以提供接口,以允许中间件、API或应用程序访问控制器,以实现控制或管理系统资源。
图3中示例性示出了显示设备200存储器中操作系统的架构配置框图。该操作系统架构从上到下依次是应用层、中间件层和内核层。
应用层,系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互。应用层可包括多个应用程序,如设置应用程序、电子帖应用程序、媒体中心应用程序等。这些应用程序可被实现为Web应用,其基于WebKit引擎来执行,具体可基于HTML5、层叠样式表(CSS)和JavaScript来开发并执行。
这里,HTML,全称为超文本标记语言(HyperText Markup Language),是一种用于创建网页的标准标记语言,通过标记标签来描述网页,HTML标签用以说明文字、图形、动画、声音、表格、链接等,浏览器会读取HTML文档,解释文档内标签的内容,并以网页的形式显示出来。
CSS,全称为层叠样式表(Cascading Style Sheets),是一种用来表现HTML文件样式的计算机语言,可以用来定义样式结构,如字体、颜色、位置等的语言。CSS样式可以直接存储与HTML网页或者单独的样式文件中,实现对网页中样式的控制。
JavaScript,是一种应用于Web网页编程的语言,可以插入HTML页面并由浏览器解释执行。其中Web应用的交互逻辑都是通过JavaScript实现。JavaScript可以通过浏览器,封装JavaScript扩展接口,实现与内核层的通信。
中间件层,可以提供一些标准化的接口,以支持各种环境和系统的操作。例如,中间件层可以实现为与数据广播相关的中间件的多媒体和超媒体信息编码专家组(MHEG),还可以实现为与外部设备通信相关的中间件的DLNA中间件,还可以实现为提供显示设备内各应用程序所运行的浏览器环境的中间件等。
内核层,提供核心系统服务,例如:文件管理、内存管理、进程管理、网络管理、系统安全权限管理等服务。内核层可以被实现为基于各种操作系统的内核,例如,基于Linux操作系统的内核。
内核层也同时提供系统软件和硬件之间的通信,为各种硬件提供设备驱动服务,例如:为显示器提供显示驱动程序、为摄像头提供摄像头驱动程序、为遥控器提供按键驱动程序、为WIFI模块提供WiFi驱动程序、为音频输出接口提供音频驱动程序、为电源管理(PM)模块提供电源管理驱动等。
用户接口265,接收各种用户交互。具体的,用于将用户的输入信号发送给控制器250,或者,将从控制器250的输出信号传送给用户。示例性的,遥控器100A可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至用户接口265,再由用户接口265转送至控制器250;或者,遥控器100A可接收经控制器250处理从用户接口265输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。
在一些实施例中,用户可在显示器275上显示的图形用户界面(GUI)输入用户命令,则用户接口265通过GUI接收用户输入命令。确切的说,用户接口265可接收用于控制选择器在GUI中的位置以选择不同的对象或项目的用户输入命令。
或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户接口265通过传感器识别出声音或手势,来接收用户输入命令。视频处理器270,用于接收外部的视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器275上显示或播放的视频信号。
示例的,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。
其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入MPEG-2流(基于数字存储媒体运动图像和语音的压缩标准),则解复用模块将其进行解复用成视频信号和音频信号等。
视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。
图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。
帧率转换模块,用于对输入视频的帧率进行转换,如将输入的60Hz视频的帧率转换为120Hz或240Hz的帧率,通常的格式采用如插帧方式实现。
显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出RGB数据信号。
显示器275,用于接收源自视频处理器270输入的图像信号,进行显示视频内容、图像以及菜单操控界面。显示视频内容,可以来自调谐解调器210接收的广播信号中的视频内容,也可以来自通信器220或外部装置接口240输入的视频内容。显示器275,同时显示显示设备200中产生且用于控制显示设备200的用户操控界面UI。并且显示器275可以显示解码后的PNG格式图像,例如开机logo图像。
以及,显示器275可以包括用于呈现画面的显示屏组件以及驱动图像显示的驱动组件。或者,倘若显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。
音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理,得到可以在扬声器286中播放的音频信号。
示例性的,音频处理器280可以支持各种音频格式。例如MPEG-2、MPEG-4、高级音频编码(AAC)、高效AAC(HE-AAC)等格式。
音频输出接口285,用于在控制器250的控制下接收音频处理器280输出的音频信号,音频输出接口285可包括扬声器286,或输出至外接设备的发生装置的外接音响输出端子287,如耳机输出端子。
在其他一些示例性实施例中,视频处理器270可以包括一个或多个芯片组成。音频处理器280,也可以包括一个或多个芯片组成。
以及,在其他一些示例性实施例中,视频处理器270和音频处理器280,可以为单独的芯片,也可以与控制器250一起集成在一个或多个芯片中。
供电电源290,用于在控制器250的控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以是安装在显示设备200内部的内置电源电路,也可以是安装在显示设备200外部的电源。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的图像解码方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参阅图4所示,为本申请实施例提供的一种图像解码方法的实施流程图,以执行主体为包含图像解码设备的显示设备为例,该方法的具体实施流程包括如下步骤S41-S43:
S41:在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;
具体地,在对待解码图像解码之前,首先要对码表解码,获得解码后的字符长度码表和距离码表之后,根据获得的码表对待解码图像进行解码。各个待解码的码表的码字数量信息可以是预先存储在码字数量信息文件中,对码字数量信息文件中进行解析,获得各个待解码的码表的码字数量信息。
在一种可选的实施方式中,各个待解码的码表还包括码字长度码表;如图5所示,为本申请实施例中的一种码表获取方法的流程示意图,步骤S41可以实施为以下步骤S51-S53:
S51:基于待解码的码字长度码表的第一码字数量信息,对码字长度码表进行游程码解码,获得码字长度码表的第一码字长度信息;
S52:通过基于第一码字长度信息构建的码长解码树,获得解码后的码字长度码表;
S53:基于码字长度码表、字符长度码表的第二码字数量信息和距离码表的第三码字数量信息,对相应的码表进行解码,获得解码后的字符长度码表和距离码表。
其中,码字长度码表用于记录字符长度码表和距离码表的码字长度信息,第一码字数量信息小于20,第二码字数量信息小于287,第三码字数量信息小于30。以第一码字数量信息为C为例,则对码字长度码表进行游程码解码,循环C次,获得第一码字长度信息,构建huffman树,进行huffman解码得到码字长度码表。
在一种可选的实施方式中,如图6所示,为本申请实施例中的另一种码表获取方法的流程示意图,步骤S53可以实施为以下步骤S61-S62:
S61:基于码字长度码表和第二码字数量信息对码流进行匹配,获得字符长度码表的第二码字长度信息,并通过基于第二码字长度信息构建的字符长度解码树,获得解码后的字符长度码表;
S62:基于码字长度码表和第三码字数量信息对码流进行匹配,获得距离码表的第三码字长度信息,并通过基于第三码字长度信息构建的距离解码树,获得解码后的距离码表。
具体地,码流指对图像中的像素进行编码后获得的二进制的编码数据流,例如,可以是1100 1010 0101 0011……。以第二码字数量信息为L,第三码字数量信息为D为例,则根据码字长度码表,进行L次匹配,得到litera/length码表(字符长度码表)的码字长度信息,构建huffman树,进行huffman解码得到litera/length码表;根据码字长度码表,进行D次匹配,得到distance码表(距离码表)的码字长度信息,构建huffman树,进行huffman解码得到distance码表。
参阅图7,其为本申请实施例中的一种码表解析状态的处理流程示意图,各个状态的功能如下:
ST_0:闲置,接收到IDAT标志信号,跳转到ST_1;
ST_1:IDAT信息分析,得到码字长度码表的码字数量信息Cnum,litera/length码表的码字数量信息Lnum,distance码表的码字数量信息Dnum;
ST_2:码字长度码表统计,抓取Cnum次3bit值,得到码字长度码表的码字长度信息;
ST_3:根据码字长度码表的码字长度信息构建huffman树,进行huffman解码。得到码字长度码表;
ST_4:根据码字长度码表,匹配litera/length码表的码字长度信息,匹配Lnum次,得到litera/length码表的码字长度信息,跳转ST_5;
ST_5:根据litera/length码表的码字长度信息,进行huffman解码。得到litera/length码表;
ST_6:根据码字长度码表,匹配distance码表的码字长度信息,匹配Dnum次,得到distance码表的码字长度信息跳转ST_7;
ST_7:根据distance码表的码字长度信息,进行huffman解码,得到distance码表;
ST_8:至此litera/length码表,distance码表准备就绪,触发数据匹配状态,进入解码图像数据的过程。
S42:在数据匹配状态,基于解码后的字符长度码表,从待解码图像的码流中匹配待解码图像中的各像素的编码数据,获得匹配结果;基于匹配结果以及解码后的距离码表,获得各像素各自的有效像素值;
具体地,获得解码后的字符长度码表和距离码表之后,可以根据获得的码表匹配码流,获得待解码图像中的各像素的有效像素值,进而基于有效像素值获得解码后的图像。首先,使用litera/length码表匹配码流中的编码数据,获得匹配结果,匹配结果可以包括目标像素的有效像素值和待重构像素的初始长度信息,基于初始长度信息和解码后的距离码表,可以获得待重构像素的有效像素值。
需要说明的是,这里的目标像素是指直接使用litera/length码表匹配码流即可获得有效像素值的像素,待重构像素是指使用litera/length码表匹配码流只能获得长度信息,需要基于距离码表获得距离信息,并根据距离信息和长度信息重构出有效像素值的像素,实际上待解码图像中并不存在目标像素和待重构像素的区分。
在一种可选的实施方式中,像素包括待重构像素;如图8所示,其为本申请实施例中的一种像素重构方法的流程示意图,步骤S42可以实施为以下步骤S81-S83:
S81:基于解码后的字符长度码表,从码流中匹配待重构像素对应的编码数据,获得待重构像素的目标长度信息;
S82:基于距离码表,从码流中匹配编码数据,获得待重构像素的目标距离信息;
S83:基于目标长度信息和目标距离信息对当前的查找表进行查询,获得对应的像素值信息,并基于像素值信息获得待重构像素的有效像素值。
其中,查找表是基于获得的有效像素值动态更新的,获得的有效像素值包含待重构像素的有效像素值和目标像素的有效像素值。使用litera/length码表匹配码流,获得待重构像素的目标长度信息,使用distance码表匹配码流,获得待重构像素的目标距离信息,根据目标长度信息和目标距离信息进行一次查找表匹配重构,重构出有效像素值输出并更新查找表,直到有效像素值数量达到分辨率告知的数量吗,完成对待解码图像的解码。
在一种可选的实施方式中,像素还包括目标像素;步骤S42还可以实施为:
基于解码后的字符长度码表,从码流中匹配目标像素对应的编码数据,获得目标像素的有效像素值。
具体地,使用litera/length码表匹配码流中的编码数据,直接获得目标像素的有效像素值,并基于获得的有效像素值更新查找表。
参阅图9,其为本申请实施例中的一种数据匹配状态的处理流程示意图,各个状态的功能如下:
CT_0:闲置,检测到数据处理开始信号,跳转CT_1;
CT_1:使用litera/length码表匹配码流,获得litera值或pre_length值。若为litera为有效像素值则继续CT_1,若为pre_length值则跳转CT_2;
CT_2:通过长度对照表解析pre_length值,得到真正的length值;
CT_3:使用distance码表匹配码流,获得pre_distance值;
CT_4:通过距离对照表解析pre_distance值,得到真正的distance值;
CT_5:根据length值,distance值进行一次查找表匹配重构,重构出有效像素值输出并更新查找表。
完成一个周期的处理后,跳转到CT_1。当有效像素值数量达到分辨率告知的数量,完成所有数据处理跳转CT_0。
S43:基于各有效像素值,获得解码后待解码图像。
在本申请实施例中,根据不同的状态分时复用内部模型,并且可以共享使用其他模块的存储空间,不额外增加硬件资源,最后通过处理模块基于各有效像素值,获得解码后待解码图像。基于此方式进行图像解码,完全由硬件电路实现,系统接口简单,解码的实时性提高,进而能够有效提高图像解码效率。
可选的,步骤S43可以基于一种处理模块实现,参阅图10,为本申请实施例中的一种处理模块的结构示意图,获得有效像素值后输入处理模块,处理模块输出图像数据。
可选的,本申请中的图像解码方法可以应用于PNG图像的解码,参阅图11所示,其为本申请实施例中的一种PNG图像解码方法的流程示意图,首先进行PNG标志检测,检测到PNG标志后进行Chunk检测,检测到IDAT数据块后,对IDAT数据块进行解码,直到检测到结束标志,完成对PNG图像的解码。
其中,本申请中的图像解码方法即可应用到对IDAT数据块进行解码的过程,参阅图12,其为本申请实施例中的一种IDAT数据块解码方法的流程示意图,包括以下步骤:
S1201:解析码流,得到码字长度码表的码字数量信息为Cnum;Litera/length码表的码字数量信息为Lnum;Distance码表的码字数量信息为Dnum;
S1202:游程码解码,共循环Cnum次。得到码字长度码表的码字长度信息,构建huffman树,进行huffman解码得到码字长度码表;
S1203:根据码字长度码表,进行Lnum次匹配,得到litera/length码表的码字长度信息,构建huffman树,进行huffman解码得到litera/length码表;
S1204:根据码字长度码表,进行Dnum次匹配,得到distance码表的码字长度信息,构建huffman树,进行huffman解码得到distance码表;
S1205:用litera/length码表匹配码流中的编码数据,得到litera或length;
S1206:用distance码表匹配码流中的编码数据,得到distance;
S1207:根据是litera还是length,更新查找表,或者从查找表中取数。
S1208:循环执行S1205-S1207直到处理完所有数据。
在一种可选的实施方式中,如图13所示,其为本申请实施例中的一种信息获取方法的流程示意图,通过以下步骤获得目标长度信息以及目标距离信息:
S1301:若像素包括待重构像素,则基于解码后的字符长度码表,从码流中匹配待重构像素对应的编码数据,获得待重构像素的初始长度信息;
S1302:基于长度对照表对初始长度信息进行解析,获得目标长度信息;
S1303:基于距离码表,从码流中匹配编码数据,获得待重构像素的初始距离信息;
S1304:基于距离对照表对初始距离信息进行解析,获得目标距离信息。
具体地,其中,在对图像进行编码时,为了节省占用空间,可能会只对整数部分编码,例如目标长度信息为123.16,则可以对整数部分123进行编码生成初始长度信息放到码流中,并基于长度对照表对小数部分进行编码,则进行解码时,首先会用litera/length码表匹配码流中的编码数据,获得待重构像素的初始长度信息,通过长度对照表解析pre_length值(初始长度信息),得到真正的length值(目标长度信息)。相应的,对距离信息也基于相似的方式进行解码,使用distance码表匹配,获得pre_distance值(初始距离信息),通过距离对照表解析pre_distance值,得到真正的distance值(目标距离信息)。
在一种可选的实施方式中,如图14所示,为本申请实施例中的一种码流处理方法的流程示意图,包括以下步骤S1401-S1403:
S1401:对输入的码流进行数据块类型检测,当检测到目标类型数据块时,触发码表解析状态;
S1402:对输入的码流进行解析,获得各个待解码的码表的码字数量信息;
S1403:根据码流尺寸信息对输入的码流进行拆分,获得拆分后的码流。
具体地,对输入的码流进行数据块类型的检测,目标类型数据块可以是IDAT数据块,将检测到的IDAT数据块触发码表解析状态,开始进行码表解析。对输入的码流进行解析,可以是解析码流中存储码表的码字数量信息的文件。码流尺寸信息在不同步骤内的具体数值不同,在进行数据块类型检测时,固定输入8bit(比特)size(尺寸),每一次shift8bit码流;在进行IDAT信息分析(即解析码流获得码表的码字数量信息)时,固定输入3bitsize,每一次shift 3bit码流;另外,在图像数据处理时,根据实时解出的码字size来拆分码流。
可选的,步骤S1401可以基于数据块检测模块实施,如图15所示,为本申请实施例中的一种数据块检测模块(Chunk检测模块)的结构示意图,数据块检测模块接收拆分后的码流,对输入的码流进行数据块检测,每次输出8比特的码流。
可选的,步骤S1402可以基于信息分析模块实施,如图16所示,为本申请实施例中的一种信息分析模块的结构示意图,信息分析模块接收拆分后的码流,对输入的码流进行IDAT信息分析,输出码字长度码表、litera/length码表和distance码表各自的码字数量信息。
可选的,步骤S1403可以基于码流拆分模块实施,如图17所示,为本申请实施例中的一种码流拆分模块的结构示意图,码流拆分模块对输入的码流进行拆分,减去处理过的码流,将拆分后的码流输入数据块检测模块、信息分析模块、匹配模块。
本申请实施例中的图像解码方法还可以应用于对电视机等显示设备,手机、电脑等移动设备的PNG格式的开机logo图像解码,参阅图18,其为本申请实施例中的一种图像解码方法的系统框图,开机logo图像数据存储在可编程只读存储器中,移动设备上电后通过集成电路总线(Inter-Integrated Circuit,IIC),接收桥接控制器的读命令,发出码流。码流经过桥接控制器,在同步FIFO中进行缓存,同步FIFO之后都为握手操作,后一级给前一级发送准备(ready)信号,前一级给后一级发生有效(valid)信号,同时看到valid和ready信号数据进行一次有效操作,一次有效操作FIFO深度减1,将FIFO的深度告诉桥接控制器,当FIFO深度非满时就发出读命令。基于此握手机制,能够根据数据处理速度自适应的调整码流读取速度。应用于对移动设备的开机logo图像解码时,在其他显示模块之前工作,因此可以共享使用芯片其他模块的存储空间,不额外增加硬件资源。
通过对功能抽象和处理流程解析,可知图像解码围绕3张表(码字长度码表,litera/length码表,distance码表),2个模块(匹配模块,码流拆分模块)进行。参阅图19,其为本申请实施例中的一种图像解码设备的电路框图,包括以下模块:
匹配模块:输入为码表和码流,根据码表从码流中匹配得到litera、length、distance等有效信息,并匹配得到码字的size信息;
在ST_4,ST_6状态时,使用码字长度码表匹配,按顺序得到litera/length码表码字长度和distance码表码字长度;在CT_1状态时,使用litera/length码表匹配,得到litera值或length值;在CT_3状态时,使用distance码表匹配,得到distance值;
根据得到的length和distance来查表,查找表使用外部的静态随机存储器。Logo显示系统中,logo处于整个显示芯片工作的前端,可以共享使用后面功能模块的存储器,logo显示结束后释放SRAM接口。
码流拆分模块,输入为FIFO送入的码流和上一笔解析出的码流size,拆分码流,减去处理过的码流,将未匹配的码流送入下一级处理;在进行chunk检测时,固定输入8bitsize,每一次shift 8bit码流;在进行IDAT信息分析时,固定输入3bit size,每一次shift3bit码流;在图像数据处理时,根据实时解出的码字size来拆分码流。
Chunk(数据块)检测模块,对输入的码流进行数据块检测,每次输出8比特的码流。
IDAT信息分析模块,对输入的码流进行IDAT信息分析,输出码字长度码表、litera/length码表和distance码表各自的码字数量信息。
处理模块,获得有效像素值后输入处理模块,处理模块输出图像数据。
在本申请实施例中,图像解码设备根据功能分离出独立的匹配模块和码流拆分模块,根据状态进行分时复用,减少了硬件资源消耗,内部模块复用率高,存储复用查找表空间不超过32KB,存储器使用外部的静态随机存储器。完全由硬件电路实现,输入数据自动判断格式,自动读取分辨率、压缩方式等参数,自动匹配解压,无需配置寄存器参数。应用于对移动设备的开机logo图像解码时,在其他显示模块之前工作,因此可以共享使用芯片其他模块的存储空间,不额外增加硬件资源。
需要说明的是,本申请实施例中的图像解码设备可以内置于电视机等显示设备的芯片中,通过完全硬件的方式实现开机logo显示。
基于相同的发明构思,本申请实施例还提供一种图像解码设备。如图20所示,其为图像解码设备2000的结构示意图,可以包括:
匹配模块2001:用于在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;
在数据匹配状态,基于解码后的字符长度码表,从待解码图像的码流中匹配待解码图像中的各像素的编码数据,获得匹配结果;基于匹配结果以及解码后的距离码表,获得各像素各自的有效像素值;
处理模块2002:用于基于各有效像素值,获得解码后待解码图像。
可选的,各个待解码的码表还包括码字长度码表;匹配模块2001具体用于:
基于待解码的码字长度码表的第一码字数量信息,对码字长度码表进行游程码解码,获得码字长度码表的第一码字长度信息;
通过基于第一码字长度信息构建的码长解码树,获得解码后的码字长度码表;
基于码字长度码表、字符长度码表的第二码字数量信息和距离码表的第三码字数量信息,对相应的码表进行解码,获得解码后的字符长度码表和距离码表。
可选的,匹配模块2001具体用于:
基于码字长度码表和第二码字数量信息对码流进行匹配,获得字符长度码表的第二码字长度信息,并通过基于第二码字长度信息构建的字符长度解码树,获得解码后的字符长度码表;
基于码字长度码表和第三码字数量信息对码流进行匹配,获得距离码表的第三码字长度信息,并通过基于第三码字长度信息构建的距离解码树,获得解码后的距离码表。
可选的,像素包括待重构像素;匹配模块2001具体用于:
基于解码后的字符长度码表,从码流中匹配待重构像素对应的编码数据,获得待重构像素的目标长度信息;
基于距离码表,从码流中匹配编码数据,获得待重构像素的目标距离信息;
基于目标长度信息和目标距离信息对当前的查找表进行查询,获得对应的像素值信息,并基于像素值信息获得待重构像素的有效像素值;其中,查找表是基于获得的有效像素值动态更新的。
可选的,通过以下方式获得目标长度信息以及目标距离信息:
若像素包括待重构像素,则基于解码后的字符长度码表,从码流中匹配待重构像素对应的编码数据,获得待重构像素的初始长度信息;
基于长度对照表对初始长度信息进行解析,获得目标长度信息;
基于距离码表,从码流中匹配编码数据,获得待重构像素的初始距离信息;
基于距离对照表对初始距离信息进行解析,获得目标距离信息。
可选的,像素还包括目标像素;匹配模块2001还用于:
基于解码后的字符长度码表,从码流中匹配目标像素对应的编码数据,获得目标像素的有效像素值。
可选的,装置还包括数据块检测模块2003,用于:
对输入的码流进行数据块类型检测,当检测到目标类型数据块时,触发匹配模块的码表解析状态;
信息分析模块2004,用于对输入的码流进行解析,获得各个待解码的码表的码字数量信息;
码流拆分模块2005,用于根据码流尺寸信息对输入的码流进行拆分,获得拆分后的码流。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,本申请提供的图像解码方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在显示设备上运行时,计算机程序用于使显示设备执行本说明书上述描述的根据本申请各种示例性实施方式的图像解码方法中的步骤,例如,显示设备可以执行如图4中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在显示设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户显示设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户显示设备上部分在远程显示设备上执行、或者完全在远程显示设备或服务器上执行。在涉及远程显示设备的情形中,远程显示设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户显示设备,或者,可以连接到外部显示设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种图像解码设备,其特征在于,该设备包括:
匹配模块,用于在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;
在数据匹配状态,基于解码后的所述字符长度码表,从待解码图像的码流中匹配所述待解码图像中的各像素的编码数据,获得匹配结果;基于所述匹配结果以及解码后的所述距离码表,获得所述各像素各自的有效像素值;
处理模块,用于基于各有效像素值,获得解码后所述待解码图像。
2.如权利要求1所述的设备,其特征在于,所述各个待解码的码表还包括码字长度码表;
所述匹配模块具体用于:
基于待解码的所述码字长度码表的第一码字数量信息,对所述码字长度码表进行游程码解码,获得所述码字长度码表的第一码字长度信息;
通过基于所述第一码字长度信息构建的码长解码树,获得解码后的所述码字长度码表;
基于所述码字长度码表、所述字符长度码表的第二码字数量信息和所述距离码表的第三码字数量信息,对相应的码表进行解码,获得解码后的所述字符长度码表和所述距离码表。
3.如权利要求2所述的设备,其特征在于,所述匹配模块具体用于:
基于所述码字长度码表和所述第二码字数量信息对所述码流进行匹配,获得所述字符长度码表的第二码字长度信息,并通过基于所述第二码字长度信息构建的字符长度解码树,获得解码后的所述字符长度码表;
基于所述码字长度码表和所述第三码字数量信息对所述码流进行匹配,获得所述距离码表的第三码字长度信息,并通过基于所述第三码字长度信息构建的距离解码树,获得解码后的所述距离码表。
4.如权利要求1所述的设备,其特征在于,所述像素包括待重构像素;所述匹配模块具体用于:
基于解码后的所述字符长度码表,从所述码流中匹配所述待重构像素对应的编码数据,获得所述待重构像素的目标长度信息;
基于所述距离码表,从所述码流中匹配编码数据,获得所述待重构像素的目标距离信息;
基于所述目标长度信息和所述目标距离信息对当前的查找表进行查询,获得对应的像素值信息,并基于所述像素值信息获得所述待重构像素的有效像素值;其中,所述查找表是基于获得的所述有效像素值动态更新的。
5.如权利要求4所述的设备,其特征在于,所述匹配模块具体用于:
若所述像素包括所述待重构像素,则基于解码后的所述字符长度码表,从所述码流中匹配所述待重构像素对应的编码数据,获得所述待重构像素的初始长度信息;
基于长度对照表对所述初始长度信息进行解析,获得所述目标长度信息;
基于所述距离码表,从所述码流中匹配编码数据,获得所述待重构像素的初始距离信息;
基于距离对照表对所述初始距离信息进行解析,获得所述目标距离信息。
6.如权利要求1所述的设备,其特征在于,所述像素还包括目标像素;所述匹配模块还用于:
基于解码后的所述字符长度码表,从所述码流中匹配所述目标像素对应的编码数据,获得所述目标像素的有效像素值。
7.如权利要求1所述的设备,其特征在于,所述设备还包括:
数据块检测模块,用于对输入的码流进行数据块类型检测,当检测到目标类型数据块时,触发所述匹配模块的码表解析状态;
信息分析模块,用于对输入的码流进行解析,获得所述各个待解码的码表的码字数量信息;
码流拆分模块,用于根据码流尺寸信息对输入的码流进行拆分,获得拆分后的码流,并将所述拆分后的码流输入所述匹配模块、所述数据块检测模块以及所述信息分析模块。
8.一种图像解码方法,其特征在于,包括:
在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;
在数据匹配状态,基于解码后的所述字符长度码表,从待解码图像的码流中匹配所述待解码图像中的各像素的编码数据,获得匹配结果;基于所述匹配结果以及解码后的所述距离码表,获得所述各像素各自的有效像素值;
基于各有效像素值,获得解码后所述待解码图像。
9.一种显示设备,其特征在于,包括显示器和图像解码设备;
所述图像解码设备,用于在码表解析状态,基于各个待解码的码表的码字数量信息对相应的码表进行解码,获得解码后的字符长度码表和距离码表;
在数据匹配状态,基于解码后的所述字符长度码表,从待解码图像的码流中匹配所述待解码图像中的各像素的编码数据,获得匹配结果;基于所述匹配结果以及解码后的所述距离码表,获得所述各像素各自的有效像素值;
基于各有效像素值,获得解码后的待解码图像;
所述显示器,用于显示所述解码后的待解码图像。
10.一种计算机可读存储介质,其特征在于,其包括计算机程序,当所述计算机程序在显示设备上运行时,所述计算机程序用于使所述显示设备执行权利要求8所述的图像解码方法的步骤。
CN202210725225.8A 2022-06-23 2022-06-23 一种图像解码设备、方法、显示设备和存储介质 Pending CN115190315A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210725225.8A CN115190315A (zh) 2022-06-23 2022-06-23 一种图像解码设备、方法、显示设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210725225.8A CN115190315A (zh) 2022-06-23 2022-06-23 一种图像解码设备、方法、显示设备和存储介质

Publications (1)

Publication Number Publication Date
CN115190315A true CN115190315A (zh) 2022-10-14

Family

ID=83515054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210725225.8A Pending CN115190315A (zh) 2022-06-23 2022-06-23 一种图像解码设备、方法、显示设备和存储介质

Country Status (1)

Country Link
CN (1) CN115190315A (zh)

Similar Documents

Publication Publication Date Title
CN111447498B (zh) 显示设备的唤醒方法及显示设备
CN111314789B (zh) 显示设备和频道定位方法
CN111294643A (zh) 在显示设备中显示音轨语言的方法及显示设备
CN111601135B (zh) 一种音视频基本流同步注入的方法及显示设备
WO2021109354A1 (zh) 媒体流数据播放方法及设备
CN114073098B (zh) 流媒体同步方法及显示设备
CN111654743B (zh) 音频播放方法及显示设备
CN111601144B (zh) 流媒体文件播放方法及显示设备
CN111629249B (zh) 一种开机图片的播放方法及显示设备
CN111246309A (zh) 在显示设备中显示频道列表的方法及显示设备
CN111601142B (zh) 一种字幕的显示方法及显示设备
CN111343492B (zh) 一种浏览器在不同图层的显示方法及显示设备
CN111277911B (zh) 一种全景视频的图像处理方法、显示设备及服务器
CN112004126A (zh) 搜索结果显示方法及显示设备
CN111726673A (zh) 一种频道切换方法及显示设备
CN111757181B (zh) 一种减少网络媒体清晰度抖动的方法及显示设备
CN112286475B (zh) 文本显示方法及显示设备
CN111526414B (zh) 一种字幕显示方法及显示设备
CN115190315A (zh) 一种图像解码设备、方法、显示设备和存储介质
CN115119030A (zh) 一种字幕的处理方法及装置
CN111988648A (zh) 时间显示方法及显示设备
CN111885415A (zh) 一种音频数据快速输出方法及显示设备
CN113382291A (zh) 一种显示设备及流媒体播放方法
CN113473198B (zh) 一种智能设备的控制方法及智能设备
CN112286472B (zh) Ui显示方法及显示设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination