CN111464812A - 编码解码的方法、系统、装置、存储介质及处理器 - Google Patents

编码解码的方法、系统、装置、存储介质及处理器 Download PDF

Info

Publication number
CN111464812A
CN111464812A CN202010307098.0A CN202010307098A CN111464812A CN 111464812 A CN111464812 A CN 111464812A CN 202010307098 A CN202010307098 A CN 202010307098A CN 111464812 A CN111464812 A CN 111464812A
Authority
CN
China
Prior art keywords
code stream
decoding
target frame
lossless
region
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
CN202010307098.0A
Other languages
English (en)
Other versions
CN111464812B (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.)
Chongqing Jingxiang Microelectronics Co ltd
Original Assignee
Xian Wanxiang Electronics 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 Xian Wanxiang Electronics Technology Co Ltd filed Critical Xian Wanxiang Electronics Technology Co Ltd
Priority to CN202010307098.0A priority Critical patent/CN111464812B/zh
Publication of CN111464812A publication Critical patent/CN111464812A/zh
Application granted granted Critical
Publication of CN111464812B publication Critical patent/CN111464812B/zh
Active 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/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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本申请公开了一种编码解码的方法、系统、装置、存储介质及处理器。该方法包括:在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域;采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流;在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端;在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示。通过本申请,解决了相关技术中对计算机合成图像的编码解码效率低的问题。

Description

编码解码的方法、系统、装置、存储介质及处理器
技术领域
本申请涉及图像处理技术领域,具体而言,涉及一种编码解码的方法、系统、装置、存储介质及处理器。
背景技术
在图像处理领域,图像的类型分为自然图像和计算机合成图像,自然图像指的是自然界真实存在的景色,例如,人们生活中看到的电影、电视内容均为自然图像。计算机合成图像是采用计算机图形学技术,通过计算机上显卡计算得到的人造图像,例如,办公软件Word的界面,游戏画面,网页文字,CAD软件的矢量图、渲染图等等。
在图像处理过程中,常需要对图像进行编解码,相关技术中出现了H.264,H.265等视频编码方案,其对于自然视频压缩率高,压缩效果好,但没有考虑到计算机合成图像的特点。具体地,从像素级别来看,自然图像的特点是全帧自然变化,很少出现类似于某个区域内图像始终变化,其他区域图像完全不变的情形,而这种情形在计算机图像中常常出现。再例如,打字员在打字时,电脑屏幕上只有文字编辑器窗口内在变化,窗口外的其他区域完全没有变化。而相关技术中针对计算机合成图像的编解码,没有针对合成图像的特点做特定优化,因此编解码效率不高。此外,相关技术中通常只能对编码器应用GPU加速,难以对解码端应用GPU加速,这也对编解码效率产生了影响。
针对相关技术中对计算机合成图像的编码解码效率低的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供一种编码解码的方法、系统、装置、存储介质及处理器,以解决相关技术中对计算机合成图像的编码解码效率低的问题。
根据本申请的一个方面,提供了一种编码解码的方法。该方法包括:在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码;采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流;在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端;在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示。
可选地,确定目标帧图像的帧间参考宏块列表包括:将目标帧图像与参考帧图像进行比较,获取目标帧图像中与参考帧图像中内容相同的宏块,并将获取的宏块确定为帧间参考宏块;获取帧间参考宏块相对于参考帧图像中的内容相同的宏块的偏移量,得到帧间参考宏块的运动变量;基于帧间参考宏块和帧间参考宏块的运动变量确定帧间参考宏块列表。
可选地,确定目标帧图像的无损区域和目标帧图像的有损区域包括:通过服务器的中央处理器接收客户端传输的无损选区,并将无损选区以外的选区确定为有损选区;将无损选区的位置信息和有损选区的位置信息发送给服务器的图像处理器;在服务器的图像处理器中,根据无损选区的位置信息确定目标帧图像的无损区域,并根据有损选区的位置信息确定目标帧图像的有损区域。
可选地,在通过服务器的中央处理器接收客户端传输的无损选区,并将无损选区以外的选区确定为有损选区之前,该方法还包括:在客户端和服务器之间的网络带宽小于预设值的情况下,客户端接收到目标指令,其中,目标指令用于提示设定无损选区或提示修改无损选区;基于目标指令确定无损选区。
可选地,采用第一编码方式对无损区域进行编码,得到PNG码流包括:将无损区域从YUV格式转换为RGB格式;采用目标滤波方式对转换为RGB格式的无损区域进行滤波;采用第一压缩算法对滤波后的无损区域进行编码,得到第一编码结果;采用第二压缩算法对第一编码结果进行编码,得到第二编码结果,并将第二编码结果存储为修正的PNG格式,得到PNG码流。
可选地,将标准PNG格式中除头部、数据区以外的部分进行删除,得到修正的PNG格式。
可选地,采用第二编码方式对有损区域进行编码,得到JPEG码流包括:将有损区域从色彩域转换至频率域,得到转换结果;采用第三压缩算法对转换结果进行编码,得到第三编码结果;采用第二压缩算法对第三编码结果进行编码,得到第四编码结果,并将第四编码结果存储为JPEG格式,得到JPEG码流。
可选地,在服务器的图像处理器的第一队列中,执行采用第一编码方式对无损区域进行编码,得到PNG码流的计算步骤;在服务器的图像处理器的第二队列中,执行采用第二编码方式对有损区域进行编码,得到JPEG码流的计算步骤;在服务器的图像处理器的第三队列中,执行确定目标帧图像的帧间参考宏块的计算步骤;其中,每个计算步骤中包括多个计算环节,按照第一预设队列顺序交错执行各个队列中的计算环节,其中,第一预设队列顺序为:首先执行第二队列、然后执行第一队列、最后执行第三队列。
可选地,在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示包括:在客户端的中央处理器中对目标帧码流进行码流分离,得到帧间参考宏块列表、PNG码流以及JPEG码流;在客户端的中央处理器中对帧间参考宏块列表进行解码,得到目标帧图像的帧间参考宏块;在客户端的图像处理器中采用第一解码方式对PNG码流进行解码,得到目标帧图像的无损区域解码结果;在客户端的图像处理器中采用第二解码方式对JPEG码流进行解码,得到目标帧图像的有损区域解码结果;基于帧间参考宏块、有损区域解码结果以及无损区域解码结果重建目标帧图像;在客户端的显示设备显示目标帧图像。
可选地,在客户端的图像处理器中采用第一解码方式对PNG码流进行解码,得到目标帧图像的无损区域解码结果包括:基于第二压缩算法对PNG码流进行解码,得到第一解码结果;基于第一压缩算法对第一解码结果进行解码,得到第二解码结果;基于目标滤波方式对第二解码结果进行反滤波化,得到无损区域解码结果。
可选地,在客户端的图像处理器中采用第二解码方式对JPEG码流进行解码,得到目标帧图像的有损区域解码结果包括:基于第二压缩算法对JPEG码流进行解码,得到第三解码结果;基于第三压缩算法对第三解码结果进行解码,得到第四解码结果;将第四解码结果从频率域转换至色彩域,得到有损区域解码结果。
可选地,在客户端的图像处理器的第四队列中,执行采用第一解码方式对PNG码流进行解码,得到无损区域解码结果的计算步骤;在客户端的图像处理器的第五队列中,执行采用第二解码方式对JPEG码流进行解码,得到有损区域解码结果的计算步骤。
根据本申请的另一方面,提供了一种编码解码的系统。该系统包括:服务器,服务器中包含第一图像处理器和第一中央处理器;其中,第一图像处理器用于采集目标帧图像,并获取目标帧图像的帧间参考宏块列表,以及对目标帧图像的无损区域进行编码得到PNG码流,对目标帧图像的有损区域进行编码得到JPEG码流,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码;第一中央处理器用于基于帧间参考宏块列表、PNG码流以及JPEG码流确定目标帧码流;客户端,客户端包括第二图像处理器和第二中央处理器;其中,第二中央处理器用于对目标帧码流进行分流,得到帧间参考宏块列表、PNG码流以及JPEG码流,并根据帧间参考宏块列表的解码结果、PNG码流的解码结果和JPEG码流的解码结果重建目标帧图像;第二图像处理器用于分别对帧间参考宏块列表、PNG码流和JPEG码流进行解码。
可选地,第二中央处理器还用于检测客户端和服务器之间的网络带宽是否小于预设值,并在网络带宽小于预设值的情况下确定目标帧图像的无损选区,并将目标帧图像的无损选区的位置信息发送给第一中央处理器。
可选地,第一中央处理器还用于接收目标帧图像的无损选区的位置信息,并基于无损选区的位置信息确定目标帧图像的无损区域和有损区域。
根据本申请的另一方面,提供了一种编码解码的装置。该装置包括:采集单元,用于在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码;编码单元,用于采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流;确定单元,用于在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端;解码单元,用于在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示。
为了实现上述目的,根据本申请的另一方面,提供了一种存储介质,存储介质包括存储的程序,其中,程序执行上述任意一种编码解码的方法。
为了实现上述目的,根据本申请的另一方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一种编码解码的方法。
通过本申请,采用以下步骤:在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码;采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流;在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端;在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示,解决了相关技术中对计算机合成图像的编码解码效率低的问题。通过对目标帧图像进行分宏块类型编码和解码,并在图像处理器中进行具体的编码解码操作,进而达到了提高计算机合成图像的编码解码效率的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的编码解码的系统的示意图;
图2是根据本申请实施例提供的编码解码的系统中服务器的示意图;
图3是根据本申请实施例提供的编码解码的系统中客户端的示意图;
图4是根据本申请实施例提供的编码解码的方法的流程图;
图5是根据本申请实施例提供的编码解码的方法中选定无损区域的示意图;
图6是根据本申请实施例提供的编码解码的方法中编码方法的流程图;
图7是根据本申请实施例提供的编码解码的方法中编码端的图像处理器中的流水设置示意图;
图8是根据本申请实施例提供的编码解码的方法中解码方法的流程图;
图9是根据本申请实施例提供的编码解码的方法中解码端的图像处理器中的流水设置示意图;以及
图10是根据本申请实施例提供的编码解码的装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请的实施例,提供了一种编码解码的系统。
图1是根据本申请实施例的编码解码的系统的示意图。如图1所示,该系统包括:
服务器1,服务器中包含第一图像处理器11和第一中央处理器12。
其中,第一图像处理器11用于采集目标帧图像,并获取目标帧图像的帧间参考宏块列表,以及对目标帧图像的无损区域进行编码得到PNG码流,对目标帧图像的有损区域进行编码得到JPEG码流,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码。
需要说明的是,服务器1即为编码端,如图2所示,编码端包括GPU11(第一图像处理器11)和CPU12(第一中央处理器12)两个部分的组件,需要说明的是,在GPU11的组件中,带有阴影的组件列是需要GPU11核函数进行计算的部分。
具体地,GPU11中包括多个模块,101模块负责在GPU11中完成采集一帧图像数据,该帧图像格式为YUV格式。采集到目标帧图像之后,立即和参考帧图像进行帧间比较,105模块负责提供参考帧图像,参考帧图像可以是参与编码的上一帧图像,106模块完成帧间比较动作,并输出两部分内容,一部分内容是全局运动向量,也即这一帧图像中的宏块相对于参考帧图像中的宏块的偏移量,另一部分内容是列出了本帧中哪些宏块是帧间参考宏块,其中,帧间参考宏块可以通过参考帧图像数据和全局运动向量偏移得到。
需要说明的是,在GPU11中采集到的目标帧图像,是完整的图像画面,目标帧图像如果是全帧无损图像,直接进行PNG编码即可,但在带宽不足的情况下,目标帧图像是有损区域加无损区域相结合得到的图像。由于帧间参考宏块已经分类完成,因此,在进行有损区域和无损区域区分时,先在目标帧图像的基础上去掉帧间参考宏块,再将剩余的部分传到102模块和104模块,可以用填充纯色如黑色的方式来“去掉”帧间参考宏块,具体地,首先将帧间参考宏块填黑,其余部分暂记为F1,然后剩余的F1部分根据CPU12中提供的无损区域,分为两份,一份是将F1的有损区域也填充为黑,并将其余部分记录为F2,将F2交给102模块进行颜色转换然后进行PNG编码。另一份是将F1的无损区域填充为黑,并将其余部分记录为F3,将F3暂存于104模块,待JPEG编码。从而使得在后续的编码中,帧间参考宏块、无损区域和有损区域这三种类型都各自包含有效的原始数据,且在解码端各自解码后,按照宏块类型简单拼接后即可恢复原始的真实图像。
在得到有损区域和无损区域后,分别进行有损编码和无损编码。具体地,在进行无损编码(PNG编码)时,102模块负责颜色空间转换,将无损区域从YUV格式转换为RGB格式,并将转换后的结果存放入103模块中,为PNG编码提供输入。107模块负责PNG编码的第一个环节,也即滤波环节,由GPU11核函数实现,需要说明的是,在滤波方法上固定采取一种滤波方式,如Paeth滤波方法,而不是动态的进行多种滤波方法择优,可以减少逻辑运算,以便在GPU11中进行计算。108模块,负责LZ77编码环节,其输入为Paeth的输出,输出由111模块进行Huffman编码,从而得到PNG码流。在进行有损编码(JPEG编码)时,109模块负责DCT变换和量化环节,也即JPEG编码的第一个环节,110模块负责游程编码,游程编码的输出由111模块进行Huffman编码,从而得到JPEG码流。
其中,第一中央处理器12用于基于帧间参考宏块列表、PNG码流以及JPEG码流确定目标帧码流。
具体地,如图2所示,CPU12中包含多个模块,其中,113模块中记录了宏块类型表和帧间参考宏块的运动向量,宏块类型表记录了全帧中每个宏块的类型,本实施例中的宏块类型表中主要包含三种类型的宏块,帧间参考类型,PNG类型和JPEG类型。116模块负责帧码流生成宏块,具体地,聚合113模块中的码流、114模块中的PNG码流以及115模块中的JPEG码流,从而得到目标帧码流。
有损区域和无损区域可以由用户进行确定,可选地,第一中央处理器12还用于接收目标帧图像的无损选区的位置信息,并基于无损选区的位置信息确定目标帧图像的无损区域和有损区域。
需要说明的是,如图2所示,CPU12中还包含112模块,用于进行无损区域判定,其主要是参考117模块来确定无损区域,具体地,117模块用于反向控制,它接收来自客户端2(即解码端)选定的无损区域,当客户端选定了无损区域后,将通过客户端的反向控制模块,发送到编码端的117模块,再通过112模块将无损区之外的区域确定为有损区域。
客户端2,客户端包括第二图像处理器21和第二中央处理器22。
其中,第二中央处理器22用于对目标帧码流进行分流,得到帧间参考宏块列表、PNG码流以及JPEG码流,并根据帧间参考宏块列表的解码结果、PNG码流的解码结果和JPEG码流的解码结果重建目标帧图像。
其中,第二图像处理器21用于分别对帧间参考宏块列表、PNG码流和JPEG码流进行解码。
需要说明的是,客户端2即为解码端,如图3所示,解码端包括GPU21(第二图像处理器21)和CPU22(第二中央处理器22)两个部分的组件。
具体地,CPU22中包括多个模块,其中,205模块负责进行码流分离,该模块收到编码端发来的码流后,首先分离为宏块类型表和运动向量(存放在204模块)、PNG码流(存放在206模块)、JPEG码流(存放在207模块),其中,204模块中的码流由203模块解码,得到全帧的帧间参考宏块的原始数据,并进行缓存,206模块中的PNG码流和207模块中的JPEG码流将送到GPU21中进行解码。
需要说明的是,解码是编码的逆过程,在GPU21中进行解码时,PNG码流在208模块中完成Huffman解码,并在210模块中实现反滤波,最终在215模块中完成RGB到YUV的转换并缓存。JPEG码流在211模块中进行游程解码,并在212模块中进行IDCT以及反量化,最终在213模块中进行缓存。
进一步地,在三部分码流都得到解码后,在CPU22的214模块进行全帧重建,具体地,在203模块、213模块和215模块中缓存了一帧数据的三部分解码数据,借助宏块类型表将这些解码数据进行重建,得到解码后的全帧图像数据。其中,宏块类型表在204模块中得到,再经由203模块传递到214中。
可选地,第二中央处理器22还用于检测客户端和服务器之间的网络带宽是否小于预设值,并在网络带宽小于预设值的情况下确定目标帧图像的无损选区,并将目标帧图像的无损选区的位置信息发送给第一中央处理器。
需要说明的是,如图3所示,CPU22中包含多个模块,其中,200模块进行带宽检测,该模块实时向201模块上报当前网络带宽情况,如果带宽较差,201模块将提示用户选定或修改无损区域,其中,201模块和编码端的117模块对应,用于反向控制,它可以将客户选定的无损区域发送到编码端117模块。202模块记录最新的无损区域,还会对对区域的有效性进行验证。因而,200模块、201模块和202模块起到和终端用户,以及编码端通信的作用,实现在无损区域发生改变时通知编码端的目的。
根据本申请的实施例,提供了一种编码解码的方法。
图4是根据本申请实施例的编码解码的方法的流程图。如图4所示,该方法包括以下步骤:
步骤S401,在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码。
需要说明的是,在对图像精确度要求极高的应用场景中,理想情况下是全帧无损编码,但实际中由于网络带宽影响,全帧无损码流大,帧率低,因而,需要在无损编码的基础上,在带宽不足时可通过用户手动选定无损区的方式,将细节敏感的区域划定为无损区进行无损编码,其他区域进行有损编码,这样,既能保证显示效果,又能减小带宽带来的图像卡顿现象。此外,除了划分有损无损区域,本申请还确定已经在参考帧中得到分类的帧间参考宏块,从而将目标帧图像划分为帧间参考宏块、无损区域和有损区域,简化了宏块类型,减少了宏块分类的逻辑计算流畅,从而进一步提高了编码的效率。
此外,还需要说明的是,在编码一帧图像时,不需要在CPU中采集再传递给GPU计算,直接在GPU中进行图像采集,避免了计算的数据量大,GPU和CPU之间来回传递数据对帧率的影响。同时,将大部分计算工作放在GPU中进行,在CPU中减少了逻辑运算,只进行码流聚合等简单运算,使得生成的码流同样可以在解码端使用GPU完成大部分解码任务,从而降低编码端和解码端的CPU负荷。
可选地,在本申请实施例提供的编码解码的方法中,确定目标帧图像的帧间参考宏块列表包括:将目标帧图像与参考帧图像进行比较,获取目标帧图像中与参考帧图像中内容相同的宏块,并将获取的宏块确定为帧间参考宏块;获取帧间参考宏块相对于参考帧图像中的内容相同的宏块的偏移量,得到帧间参考宏块的运动变量;基于帧间参考宏块和帧间参考宏块的运动变量确定帧间参考宏块列表。
具体地,在图像逐帧变化时,当前帧图像相对于参考帧图像,如前一帧图像,存在内容和位置没有改变的宏块,还存在内容没有改变但位置偏移的宏块,将内容没有改变的宏块确定为帧间参考宏块,并获取帧间参考宏块的位置偏移的距离和方向,得到帧间参考宏块的运动变量。
无损区域和有损区域的划分可以由客户端侧的用户选定,可选地,在本申请实施例提供的编码解码的方法中,确定目标帧图像的无损区域和目标帧图像的有损区域包括:通过服务器的中央处理器接收客户端传输的无损选区,并将无损选区以外的选区确定为有损选区;将无损选区的位置信息和有损选区的位置信息发送给服务器的图像处理器;在服务器的图像处理器中,根据无损选区的位置信息确定目标帧图像的无损区域,并根据有损选区的位置信息确定目标帧图像的有损区域。
具体地,由客户端的用户确定无损选区,也即,对精度要求高的图像区域,并通过反向控制将无损选区位置信息发送给服务器,从而确定无损区域和有损区域。
可选地,在本申请实施例提供的编码解码的方法中,在通过服务器的中央处理器接收客户端传输的无损选区,并将无损选区以外的选区确定为有损选区之前,该方法还包括:在客户端和服务器之间的网络带宽小于预设值的情况下,客户端接收到目标指令,其中,目标指令用于提示设定无损选区或提示修改无损选区;基于目标指令确定无损选区。
需要说明的是,当带宽充足时,可以进行全屏无损编码,当带宽不足时,客户端支持用户手动选定无损区,实现了显示效果和流畅度的兼顾。此外,在图像或带宽变化时,若用户新选定了无损区域时,客户端还可以验证新的无损区域的有效性,并在有效的情况下通知编码端进行无损区域的更新。
如图5所示,为医学图像中选定无损区的例子,虚线框中的部分表示无损区域,虚线框以外的部分,表示有损区域。在编码时,假设没有帧间参考宏块,交给PNG的就是全帧中框线外被涂黑的全帧数据,宏块类型将被填充为PNG类型,用于进行无损编码。而交给JPEG的就是全帧中框线内被涂黑的全帧数据,宏块类型将被填充为JPEG类型,用于进行有损编码。由于这种有损加无损的编码方式可以适用对无损有要求,而又不能保证带宽的场景,可以广泛用于医学图像、飞机航线、CAD等应用场景中。
步骤S402,采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流。
具体地,第一编码方式即为无损编码方式,第二编码方式即为有损编码方式。
可选地,在本申请实施例提供的编码解码的方法中,采用第一编码方式对无损区域进行编码,得到PNG码流包括:将无损区域从YUV格式转换为RGB格式;采用目标滤波方式对转换为RGB格式的无损区域进行滤波;采用第一压缩算法对滤波后的无损区域进行编码,得到第一编码结果;采用第二压缩算法对第一编码结果进行编码,得到第二编码结果,并将第二编码结果存储为修正的PNG格式,得到PNG码流。
可选地,在本申请实施例提供的编码解码的方法中,采用第二编码方式对有损区域进行编码,得到JPEG码流包括:将有损区域从色彩域转换至频率域,得到转换结果;采用第三压缩算法对转换结果进行编码,得到第三编码结果;采用第二压缩算法对第三编码结果进行编码,得到第四编码结果,并将第四编码结果存储为JPEG格式,得到JPEG码流。
需要说明的是,目标滤波方式可以为Paeth滤波,第一压缩算法可以为LZ77算法,第二压缩算法可以为Huffman算法,第三压缩算法可以为游程编码算法,如图6所示,为得到帧间参考宏块列表以及无损区域和有损区域的编码示意图,粗线框内代表在GPU中执行的步骤,细线框内代表在CPU中执行的步骤。具体地,对无损区域,将图像格式从YUV格式转换为RGB格式,并对RGB格式的原始数据进行Paeth滤波,再对滤波后的结果进行LZ77编码,并对LZ77编码的结果进行Huffman编码,得到PNG码流。对有损区域,对YUV格式的原始数据进行DCT及量化,再对转换结果进行游程编码,并对游程编码的结果进行Huffman编码,得到JPEG码流,从而为目标帧码流的获取奠定了数据基础。
可选地,在本申请实施例提供的编码解码的方法中,将标准PNG格式中除头部、数据区以外的部分进行删除,得到修正的PNG格式。
需要说明的是,由于编码和解码两侧都涉及PNG格式的转换,为了降低码流,可将PNG进行修改,具体地,可以仅保留标准PNG格式中的头部、数据区,对于标准PNG格式中的其他部分,如起始字符串、终结字符串、辅助块等可以舍去。
为了提高提高编码效率,可选地,在本申请实施例提供的编码解码的方法中,在服务器的图像处理器的第一队列中,执行采用第一编码方式对无损区域进行编码,得到PNG码流的计算步骤;在服务器的图像处理器的第二队列中,执行采用第二编码方式对有损区域进行编码,得到JPEG码流的计算步骤;在服务器的图像处理器的第三队列中,执行确定目标帧图像的帧间参考宏块的计算步骤;其中,每个计算步骤中包括多个计算环节,按照第一预设队列顺序交错执行各个队列中的计算环节,其中,第一预设队列顺序为:首先执行第二队列、然后执行第一队列、最后执行第三队列。
需要说明的是,为了提高编码效率,本申请实施例在编码端采用3个队列交错进行流水计算,如图7所示,阴影部分是需要在图像处理器中执行的环节,其他部分是在中央处理器中执行的环节。由于有损编码的计算量最大,无损编码的计算量次之,确定帧间参考宏块的计算量最小,因而,在进行图像采集后,先开始有损编码的计算,再开始无损编码的计算,最后开始帧间比较的计算,同时,尽量避免多个运算环节同步进行,不同队列之间的计算环节交错进行,以提高计算效率。
步骤S403,在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端。
具体地,将三中类型的码流进行码流聚合,得到目标帧码流,并将目标帧码流传输至客户端的中央处理器中。
步骤S404,在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示。
具体地,在客户端的中央处理器和图像处理器中执行解码操作,恢复目标帧图像,并在客户端的显示设备上显示恢复后的目标帧图像。
可选地,在本申请实施例提供的编码解码的方法中,在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示包括:在客户端的中央处理器中对目标帧码流进行码流分离,得到帧间参考宏块列表、PNG码流以及JPEG码流;在客户端的中央处理器中对帧间参考宏块列表进行解码,得到目标帧图像的帧间参考宏块;在客户端的图像处理器中采用第一解码方式对PNG码流进行解码,得到目标帧图像的无损区域解码结果;在客户端的图像处理器中采用第二解码方式对JPEG码流进行解码,得到目标帧图像的有损区域解码结果;基于帧间参考宏块、无损区域解码结果以及有损区域解码结果重建目标帧图像;在客户端的显示设备显示目标帧图像。
需要说明的是,在客户端,也即编码端,将需要大量操作的无损区域解码和有损区域解码放在GPU中执行,将码流分离以及帧间参考宏块的解码放在CPU执行,实现了解码的加速。
可选地,在本申请实施例提供的编码解码的方法中,在客户端的图像处理器中采用第一解码方式对PNG码流进行解码,得到目标帧图像的无损区域解码结果包括:基于第二压缩算法对PNG码流进行解码,得到第一解码结果;基于第一压缩算法对第一解码结果进行解码,得到第二解码结果;基于目标滤波方式对第二解码结果进行反滤波化,得到无损区域解码结果。
可选地,在本申请实施例提供的编码解码的方法中,在客户端的图像处理器中采用第二解码方式对JPEG码流进行解码,得到目标帧图像的有损区域解码结果包括:基于第二压缩算法对JPEG码流进行解码,得到第三解码结果;基于第三压缩算法对第三解码结果进行解码,得到第四解码结果;将第四解码结果从频率域转换至色彩域,得到有损区域解码结果。
需要说明的是,目标滤波方式可以为Paeth滤波,第一压缩算法可以为LZ77算法,第二压缩算法可以为Huffman算法,第三压缩算法可以为游程解码算法,如图8所示,为帧间参考宏块以及有损区域和无损区域的解码示意图,粗线框内代表在GPU中执行的步骤,细线框内代表在CPU中执行的步骤。具体地,对帧码流进行码流分离,得到PNG码流、JPEG码流和帧间参考宏块列表后,分别进行解码,对于PNG码流,先进行Huffman解码,得到解码结果后,进行LZ77解码,再进行Paeth反滤波,并对反滤波的结果进行格式转换,从RGB格式转换为YUV格式,从而得到无损区域。对于JPEG码流,先进行Huffman解码,得到解码结果后,进行游程解码,再进行IDCT和反量化,从而得到有损区域。对于帧间参考宏块列表,根据列表的内容对帧间参考宏块进行重建。从而得到三部分码流的解码数据,为全帧图像的重建奠定了数据基础。
为了提高解码效率,可选地,在本申请实施例提供的编码解码的方法中,在客户端的图像处理器的第四队列中,执行采用第一解码方式对PNG码流进行解码,得到无损区域解码结果的计算步骤;在客户端的图像处理器的第五队列中,执行采用第二解码方式对JPEG码流进行解码,得到有损区域解码结果的计算步骤。
需要说明的是,为了提高解码效率,本申请实施例在解码端采用2个队列进行流水计算,如图9所示,阴影部分是需要在图像处理器中执行的环节,其他部分是在中央处理器中执行的环节,由于无损解码和有损解码计算量较大,将无损解码和有损解码放在不同的队列中执行计算,以提高计算速度,而帧间参考宏块解码计算量小,放在中央处理器中执行即可。
本申请实施例提供的编码解码的方法,通过在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码;采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流;在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端;在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示,解决了相关技术中对计算机合成图像的编码解码效率低的问题。通过对目标帧图像进行分宏块类型编码和解码,并在图像处理器中进行具体的编码解码操作,进而达到了提高计算机合成图像的编码解码效率的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种编码解码的装置,需要说明的是,本申请实施例的编码解码的装置可以用于执行本申请实施例所提供的用于编码解码的方法。以下对本申请实施例提供的编码解码的装置进行介绍。
图10是根据本申请实施例的编码解码的装置的示意图。如图10所示,该装置包括:采集单元10、编码单元20、确定单元30和解码单元40。
具体地,采集单元10,用于在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码。
编码单元20,用于采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流。
确定单元30,用于在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端。
解码单元40,用于在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示。
本申请实施例提供的编码解码的装置,通过采集单元10在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码;编码单元20采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流;确定单元30在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端;解码单元40在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示,解决了相关技术中对计算机合成图像的编码解码效率低的问题,通过对目标帧图像进行分宏块类型编码和解码,并在图像处理器中进行具体的编码解码操作,进而达到了提高计算机合成图像的编码解码效率的效果。
可选地,在本申请实施例提供的编码解码的装置中,采集单元10包括第一确定模块,第一确定单元30用于确定目标帧图像的帧间参考宏块列表,第一确定单元30包括:比较子模块,用于将目标帧图像与参考帧图像进行比较,获取目标帧图像中与参考帧图像中内容相同的宏块,并将获取的宏块确定为帧间参考宏块;获取子模块,用于获取帧间参考宏块相对于参考帧图像中的内容相同的宏块的偏移量,得到帧间参考宏块的运动变量;第一确定子模块,用于基于帧间参考宏块和帧间参考宏块的运动变量确定帧间参考宏块列表。
可选地,在本申请实施例提供的编码解码的装置中,采集单元10还包括第二确定模块,第二确定单元30用于确定目标帧图像的无损区域和目标帧图像的有损区域,第二确定模块包括:第一接收子模块,用于通过服务器的中央处理器接收客户端传输的无损选区,并将无损选区以外的选区确定为有损选区;发送子模块,用于将无损选区的位置信息和有损选区的位置信息发送给服务器的图像处理器;第二确定子模块,用于在服务器的图像处理器中,根据无损选区的位置信息确定目标帧图像的无损区域,并根据有损选区的位置信息确定目标帧图像的有损区域。
可选地,在本申请实施例提供的编码解码的装置中,第二确定模块还包括:第二接收子模块,用于在通过服务器的中央处理器接收客户端传输的无损选区,并将无损选区以外的选区确定为有损选区之前,在客户端和服务器之间的网络带宽小于预设值的情况下,客户端接收到目标指令,其中,目标指令用于提示设定无损选区或提示修改无损选区;第三确定子模块,用于基于目标指令确定无损选区。
可选地,在本申请实施例提供的编码解码的装置中,编码单元20包括第一编码模块,第一编码模块用于采用第一编码方式对无损区域进行编码,得到PNG码流,第一编码模块包括:第一转换子模块,用于将无损区域从YUV格式转换为RGB格式;滤波子模块,用于采用目标滤波方式对转换为RGB格式的无损区域进行滤波;第一编码子模块,用于采用第一压缩算法对滤波后的无损区域进行编码,得到第一编码结果;第二编码子模块,用于采用第二压缩算法对第一编码结果进行编码,得到第二编码结果,并将第二编码结果存储为修正的PNG格式,得到PNG码流。
可选地,在本申请实施例提供的编码解码的装置中,将标准PNG格式中除头部、数据区以外的部分进行删除,得到修正的PNG格式。
可选地,在本申请实施例提供的编码解码的装置中,编码单元20还包括第二编码模块,第二编码模块用于采用第二编码方式对有损区域进行编码,得到JPEG码流,第二编码模块包括:第二转换子模块,用于将有损区域从色彩域转换至频率域,得到转换结果;第三编码子模块,用于采用第三压缩算法对转换结果进行编码,得到第三编码结果;第四编码子模块,用于采用第二压缩算法对第三编码结果进行编码,得到第四编码结果,并将第四编码结果存储为JPEG格式,得到JPEG码流。
可选地,在本申请实施例提供的编码解码的装置中,其特征在于,在服务器的图像处理器的第一队列中,执行采用第一编码方式对无损区域进行编码,得到PNG码流的计算步骤;在服务器的图像处理器的第二队列中,执行采用第二编码方式对有损区域进行编码,得到JPEG码流的计算步骤;在服务器的图像处理器的第三队列中,执行确定目标帧图像的帧间参考宏块的计算步骤;其中,每个计算步骤中包括多个计算环节,按照第一预设队列顺序交错执行各个队列中的计算环节,其中,第一预设队列顺序为:首先执行第二队列、然后执行第一队列、最后执行第三队列。
可选地,在本申请实施例提供的编码解码的装置中,解码单元40包括:分离模块,用于在客户端的中央处理器中对目标帧码流进行码流分离,得到帧间参考宏块列表、PNG码流以及JPEG码流;第一解码模块,用于在客户端的中央处理器中对帧间参考宏块列表进行解码,得到目标帧图像的帧间参考宏块;第二解码模块,用于在客户端的图像处理器中采用第一解码方式对PNG码流进行解码,得到目标帧图像的无损区域解码结果;第三解码模块,用于在客户端的图像处理器中采用第二解码方式对JPEG码流进行解码,得到目标帧图像的有损区域解码结果;图像创建模块,用于基于帧间参考宏块、无损区域解码结果以及有损区域解码结果重建目标帧图像;显示模块,用于在客户端的显示设备显示目标帧图像。
可选地,在本申请实施例提供的编码解码的装置中,第二解码模块包括:第一解码子模块,用于基于第二压缩算法对PNG码流进行解码,得到第一解码结果;第二解码子模块,用于基于第一压缩算法对第一解码结果进行解码,得到第二解码结果;反滤波子模块,用于基于目标滤波方式对第二解码结果进行反滤波化,得到无损区域解码结果。
可选地,在本申请实施例提供的编码解码的装置中,第三解码模块包括:第三解码子模块,用于基于第二压缩算法对JPEG码流进行解码,得到第三解码结果;第四解码子模块,用于基于第三压缩算法对第三解码结果进行解码,得到第四解码结果;第三转换子模块,用于将第四解码结果从频率域转换至色彩域,得到有损区域解码结果。
可选地,在本申请实施例提供的编码解码的装置中,在客户端的图像处理器的第四队列中,执行采用第一解码方式对PNG码流进行解码,得到无损区域解码结果的计算步骤;在客户端的图像处理器的第五队列中,执行采用第二解码方式对JPEG码流进行解码,得到有损区域解码结果的计算步骤。
所述编码解码的装置包括处理器和存储器,上述采集单元10、编码单元20、确定单元30和解码单元40等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中对计算机合成图像的编码解码效率低的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述编码解码的方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述编码解码的方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码;采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流;在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端;在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:在服务器的图像处理器中采集目标帧图像,并确定目标帧图像的帧间参考宏块列表、目标帧图像的有损区域和目标帧图像的无损区域,其中,帧间参考宏块列表中包括目标帧图像与参考帧图像之间具有预设相似度关系的宏块,有损区域和无损区域为帧间参考宏块以外的区域,有损区域用于进行有损编码,无损区域用于进行无损编码;采用第一编码方式对无损区域进行编码,得到PNG码流,并采用第二编码方式对有损区域进行编码,得到JPEG码流;在服务器的中央处理器中,基于帧间参考宏块、PNG码流以及JPEG码流确定目标帧码流,并将目标帧码流传输至客户端;在客户端中对目标帧码流进行解码,并对解码后的目标帧图像进行显示。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (18)

1.一种编码解码的方法,其特征在于,包括:
在服务器的图像处理器中采集目标帧图像,并确定所述目标帧图像的帧间参考宏块列表、所述目标帧图像的有损区域和所述目标帧图像的无损区域,其中,所述帧间参考宏块列表中包括所述目标帧图像与参考帧图像之间具有预设相似度关系的宏块,所述有损区域和所述无损区域为所述帧间参考宏块以外的区域,所述有损区域用于进行有损编码,所述无损区域用于进行无损编码;
采用第一编码方式对所述无损区域进行编码,得到PNG码流,并采用第二编码方式对所述有损区域进行编码,得到JPEG码流;
在所述服务器的中央处理器中,基于所述帧间参考宏块、所述PNG码流以及所述JPEG码流确定目标帧码流,并将所述目标帧码流传输至客户端;
在所述客户端中对所述目标帧码流进行解码,并对解码后的所述目标帧图像进行显示。
2.根据权利要求1所述的方法,其特征在于,确定所述目标帧图像的帧间参考宏块列表包括:
将所述目标帧图像与所述参考帧图像进行比较,获取所述目标帧图像中与所述参考帧图像中内容相同的宏块,并将获取的宏块确定为所述帧间参考宏块;
获取所述帧间参考宏块相对于所述参考帧图像中的内容相同的宏块的偏移量,得到所述帧间参考宏块的运动变量;
基于所述帧间参考宏块和所述帧间参考宏块的运动变量确定所述帧间参考宏块列表。
3.根据权利要求1所述的方法,其特征在于,确定所述目标帧图像的无损区域和所述目标帧图像的有损区域包括:
通过所述服务器的中央处理器接收所述客户端传输的无损选区,并将所述无损选区以外的选区确定为有损选区;
将所述无损选区的位置信息和所述有损选区的位置信息发送给所述服务器的图像处理器;
在所述服务器的图像处理器中,根据所述无损选区的位置信息确定所述目标帧图像的无损区域,并根据所述有损选区的位置信息确定所述目标帧图像的有损区域。
4.根据权利要求3所述的方法,其特征在于,在通过所述服务器的中央处理器接收所述客户端传输的无损选区,并将所述无损选区以外的选区确定为有损选区之前,所述方法还包括:
在所述客户端和所述服务器之间的网络带宽小于预设值的情况下,所述客户端接收到目标指令,其中,所述目标指令用于提示设定所述无损选区或提示修改所述无损选区;
基于所述目标指令确定所述无损选区。
5.根据权利要求2所述的方法,其特征在于,采用第一编码方式对所述无损区域进行编码,得到PNG码流包括:
将所述无损区域从YUV格式转换为RGB格式;
采用目标滤波方式对转换为RGB格式的无损区域进行滤波;
采用第一压缩算法对滤波后的无损区域进行编码,得到第一编码结果;
采用第二压缩算法对所述第一编码结果进行编码,得到第二编码结果,并将所述第二编码结果存储为修正的PNG格式,得到所述PNG码流。
6.根据权利要求5所述的方法,其特征在于,将标准PNG格式中除头部、数据区以外的部分进行删除,得到所述修正的PNG格式。
7.根据权利要求5所述的方法,其特征在于,采用第二编码方式对所述有损区域进行编码,得到JPEG码流包括:
将所述有损区域从色彩域转换至频率域,得到转换结果;
采用第三压缩算法对所述转换结果进行编码,得到第三编码结果;
采用所述第二压缩算法对所述第三编码结果进行编码,得到第四编码结果,并将所述第四编码结果存储为JPEG格式,得到所述JPEG码流。
8.根据权利要求7所述的方法,其特征在于,
在所述服务器的图像处理器的第一队列中,执行采用第一编码方式对所述无损区域进行编码,得到PNG码流的计算步骤;
在所述服务器的图像处理器的第二队列中,执行采用第二编码方式对所述有损区域进行编码,得到JPEG码流的计算步骤;
在所述服务器的图像处理器的第三队列中,执行确定所述目标帧图像的帧间参考宏块的计算步骤;
其中,每个计算步骤中包括多个计算环节,按照第一预设队列顺序交错执行各个队列中的所述计算环节,其中,所述第一预设队列顺序为:首先执行所述第二队列、然后执行所述第一队列、最后执行所述第三队列。
9.根据权利要求7所述的方法,其特征在于,在所述客户端中对所述目标帧码流进行解码,并对解码后的所述目标帧图像进行显示包括:
在所示客户端的中央处理器中对所述目标帧码流进行码流分离,得到所述帧间参考宏块列表、所述PNG码流以及所述JPEG码流;
在所述客户端的中央处理器中对所述帧间参考宏块列表进行解码,得到所述目标帧图像的帧间参考宏块;
在所述客户端的图像处理器中采用第一解码方式对所述PNG码流进行解码,得到所述目标帧图像的无损区域解码结果;
在所述客户端的图像处理器中采用第二解码方式对所述JPEG码流进行解码,得到所述目标帧图像的有损区域解码结果;
基于所述帧间参考宏块、所述无损区域解码结果以及所述有损区域解码结果重建所述目标帧图像;
在所述客户端的显示设备显示所述目标帧图像。
10.根据权利要求9所述的方法,其特征在于,在所述客户端的图像处理器中采用第一解码方式对所述PNG码流进行解码,得到所述目标帧图像的无损区域解码结果包括:
基于所述第二压缩算法对所述PNG码流进行解码,得到第一解码结果;
基于所述第一压缩算法对所述第一解码结果进行解码,得到第二解码结果;
基于所述目标滤波方式对所述第二解码结果进行反滤波化,得到所述无损区域解码结果。
11.根据权利要求10所述的方法,其特征在于,在所述客户端的图像处理器中采用第二解码方式对所述JPEG码流进行解码,得到所述目标帧图像的有损区域解码结果包括:
基于所述第二压缩算法对所述JPEG码流进行解码,得到第三解码结果;
基于所述第三压缩算法对所述第三解码结果进行解码,得到第四解码结果;
将所述第四解码结果从频率域转换至色彩域,得到所述有损区域解码结果。
12.根据权利要求10所述的方法,其特征在于,
在所述客户端的图像处理器的第四队列中,执行采用第一解码方式对所述PNG码流进行解码,得到所述无损区域解码结果的计算步骤;
在所述客户端的图像处理器的第五队列中,执行采用第二解码方式对所述JPEG码流进行解码,得到所述有损区域解码结果的计算步骤。
13.一种编解码系统,其特征在于,包括:
服务器,所述服务器中包含第一图像处理器和第一中央处理器;
其中,所述第一图像处理器用于采集目标帧图像,并获取所述目标帧图像的帧间参考宏块列表,以及对所述目标帧图像的无损区域进行编码得到PNG码流,对所述目标帧图像的有损区域进行编码得到JPEG码流,其中,所述帧间参考宏块列表中包括所述目标帧图像与参考帧图像之间具有预设相似度关系的宏块,所述有损区域和所述无损区域为所述帧间参考宏块以外的区域,所述有损区域用于进行有损编码,所述无损区域用于进行无损编码;
所述第一中央处理器用于基于所述帧间参考宏块列表、所述PNG码流以及所述JPEG码流确定目标帧码流;
客户端,所述客户端包括第二图像处理器和第二中央处理器;
其中,所述第二中央处理器用于对所述目标帧码流进行分流,得到所述帧间参考宏块列表、所述PNG码流以及所述JPEG码流,并根据所述帧间参考宏块列表的解码结果、所述PNG码流的解码结果和所述JPEG码流的解码结果重建所述目标帧图像;
所述第二图像处理器用于分别对所述帧间参考宏块列表、所述PNG码流和所述JPEG码流进行解码。
14.根据权利要求13所述的系统,其特征在于,所述第二中央处理器还用于检测所述客户端和所述服务器之间的网络带宽是否小于预设值,并在所述网络带宽小于所述预设值的情况下确定所述目标帧图像的无损选区,并将所述目标帧图像的无损选区的位置信息发送给所述第一中央处理器。
15.根据权利要求14所述的系统,其特征在于,所述第一中央处理器还用于接收所述目标帧图像的无损选区的位置信息,并基于所述无损选区的位置信息确定所述目标帧图像的所述无损区域和所述有损区域。
16.一种编码解码的装置,其特征在于,包括:
采集单元,用于在服务器的图像处理器中采集目标帧图像,并确定所述目标帧图像的帧间参考宏块列表、所述目标帧图像的有损区域和所述目标帧图像的无损区域,其中,所述帧间参考宏块列表中包括所述目标帧图像与参考帧图像之间具有预设相似度关系的宏块,所述有损区域和所述无损区域为所述帧间参考宏块以外的区域,所述有损区域用于进行有损编码,所述无损区域用于进行无损编码;
编码单元,用于采用第一编码方式对所述无损区域进行编码,得到PNG码流,并采用第二编码方式对所述有损区域进行编码,得到JPEG码流;
确定单元,用于在所述服务器的中央处理器中,基于所述帧间参考宏块、所述PNG码流以及所述JPEG码流确定目标帧码流,并将所述目标帧码流传输至客户端;
解码单元,用于在所述客户端中对所述目标帧码流进行解码,并对解码后的所述目标帧图像进行显示。
17.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至12中任意一项所述的编码解码的方法。
18.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至12中任意一项所述的编码解码的方法。
CN202010307098.0A 2020-04-17 2020-04-17 编码解码的方法、系统、装置、存储介质及处理器 Active CN111464812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010307098.0A CN111464812B (zh) 2020-04-17 2020-04-17 编码解码的方法、系统、装置、存储介质及处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010307098.0A CN111464812B (zh) 2020-04-17 2020-04-17 编码解码的方法、系统、装置、存储介质及处理器

Publications (2)

Publication Number Publication Date
CN111464812A true CN111464812A (zh) 2020-07-28
CN111464812B CN111464812B (zh) 2022-06-10

Family

ID=71678647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010307098.0A Active CN111464812B (zh) 2020-04-17 2020-04-17 编码解码的方法、系统、装置、存储介质及处理器

Country Status (1)

Country Link
CN (1) CN111464812B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953980A (zh) * 2020-08-21 2020-11-17 北京达佳互联信息技术有限公司 视频处理方法及装置
CN116781916A (zh) * 2023-08-21 2023-09-19 北京中星微人工智能芯片技术有限公司 车辆图像存储方法、装置、电子设备和计算机可读介质
CN117395429A (zh) * 2023-10-17 2024-01-12 上海久尺网络科技有限公司 画面内容混合编码传输方法、装置、设备以及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060104528A1 (en) * 2004-11-15 2006-05-18 Canon Kabushiki Kaisha Image encoding apparatus, control method therefor, computer program, and computer-readable storage medium
CN1968418A (zh) * 2005-10-06 2007-05-23 三星电子株式会社 混合图像数据处理系统和方法
US20100104021A1 (en) * 2008-10-27 2010-04-29 Advanced Micro Devices, Inc. Remote Transmission and Display of Video Data Using Standard H.264-Based Video Codecs
US20110150072A1 (en) * 2009-12-21 2011-06-23 Han Ki-Hun Encoding method, decoding method and apparatus thereof
CN103024445A (zh) * 2012-12-13 2013-04-03 北京百度网讯科技有限公司 云端的视频转码方法和云服务器
US20150030066A1 (en) * 2013-07-23 2015-01-29 Futurewei Technologies, Inc. Screen content coding systems and methods
US8965140B1 (en) * 2011-01-31 2015-02-24 Teradici Corporation Method and apparatus for encoding mixed content image sequences
US20170054987A1 (en) * 2015-08-20 2017-02-23 Citrix Systems, Inc. Optimizing Remote Graphics Delivery and Presentation
CN107318023A (zh) * 2017-06-21 2017-11-03 西安万像电子科技有限公司 图像帧的压缩方法及装置
CN108184118A (zh) * 2016-12-08 2018-06-19 中兴通讯股份有限公司 云桌面内容编码与解码方法及装置、系统
CN108781281A (zh) * 2016-02-26 2018-11-09 港大科桥有限公司 用于有损和无损图像压缩的基于形状自适应模型的编解码器
CN110545417A (zh) * 2018-05-28 2019-12-06 深信服科技股份有限公司 一种桌面场景的图像编码、解码方法及相关装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060104528A1 (en) * 2004-11-15 2006-05-18 Canon Kabushiki Kaisha Image encoding apparatus, control method therefor, computer program, and computer-readable storage medium
CN1968418A (zh) * 2005-10-06 2007-05-23 三星电子株式会社 混合图像数据处理系统和方法
US20100104021A1 (en) * 2008-10-27 2010-04-29 Advanced Micro Devices, Inc. Remote Transmission and Display of Video Data Using Standard H.264-Based Video Codecs
US20110150072A1 (en) * 2009-12-21 2011-06-23 Han Ki-Hun Encoding method, decoding method and apparatus thereof
US8965140B1 (en) * 2011-01-31 2015-02-24 Teradici Corporation Method and apparatus for encoding mixed content image sequences
CN103024445A (zh) * 2012-12-13 2013-04-03 北京百度网讯科技有限公司 云端的视频转码方法和云服务器
US20150030066A1 (en) * 2013-07-23 2015-01-29 Futurewei Technologies, Inc. Screen content coding systems and methods
US20170054987A1 (en) * 2015-08-20 2017-02-23 Citrix Systems, Inc. Optimizing Remote Graphics Delivery and Presentation
CN108781281A (zh) * 2016-02-26 2018-11-09 港大科桥有限公司 用于有损和无损图像压缩的基于形状自适应模型的编解码器
CN108184118A (zh) * 2016-12-08 2018-06-19 中兴通讯股份有限公司 云桌面内容编码与解码方法及装置、系统
CN107318023A (zh) * 2017-06-21 2017-11-03 西安万像电子科技有限公司 图像帧的压缩方法及装置
CN110545417A (zh) * 2018-05-28 2019-12-06 深信服科技股份有限公司 一种桌面场景的图像编码、解码方法及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李玉岩: "基于内容的视频压缩编码及应用研究", 《中国优秀硕士学位论文全文数据库(电子期刊)》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953980A (zh) * 2020-08-21 2020-11-17 北京达佳互联信息技术有限公司 视频处理方法及装置
CN111953980B (zh) * 2020-08-21 2023-11-21 北京达佳互联信息技术有限公司 视频处理方法及装置
CN116781916A (zh) * 2023-08-21 2023-09-19 北京中星微人工智能芯片技术有限公司 车辆图像存储方法、装置、电子设备和计算机可读介质
CN116781916B (zh) * 2023-08-21 2023-11-17 北京中星微人工智能芯片技术有限公司 车辆图像存储方法、装置、电子设备和计算机可读介质
CN117395429A (zh) * 2023-10-17 2024-01-12 上海久尺网络科技有限公司 画面内容混合编码传输方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
CN111464812B (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
US20220159261A1 (en) Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
CN111464812B (zh) 编码解码的方法、系统、装置、存储介质及处理器
TWI505694B (zh) 編碼器及編碼方法
CN108924553B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
CN111837397A (zh) 基于子图像码流的视角相关视频编码中的错误消除的码流指示
CN105141955A (zh) 图像解码方法和图像解码设备
CN103596009A (zh) 解码器及解码方法
JP6409516B2 (ja) ピクチャ符号化プログラム、ピクチャ符号化方法及びピクチャ符号化装置
CN113747242B (zh) 图像处理方法、装置、电子设备及存储介质
CN108848377B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
CN115361582B (zh) 一种视频实时超分辨率处理方法、装置、终端及存储介质
US20230276063A1 (en) Npu for encoding or decoding videostream format for machine analisys
CN111901603A (zh) 一种用于静态背景视频的编码方法及解码方法
WO2024078066A1 (zh) 视频解码方法、视频编码方法、装置、存储介质及设备
US20150288979A1 (en) Video frame reconstruction
CN110891195B (zh) 花屏图像的生成方法、装置、设备和存储介质
EP4354868A1 (en) Media data processing method and related device
CN104168482B (zh) 一种视频编解码方法及装置
CN114424552A (zh) 一种低延迟信源信道联合编码方法及相关设备
CN118556400A (zh) 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法
CN111212288B (zh) 视频数据的编解码方法、装置、计算机设备和存储介质
KR20220097259A (ko) MPEG-5 EVC 인코더의 baseline coding 구조 개선 방법
KR20060059770A (ko) 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
US12108062B2 (en) Video-stream format for machine analysis using NPU
US11831887B1 (en) Scalable video coding for machine

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
TA01 Transfer of patent application right

Effective date of registration: 20220516

Address after: 401122 No. 99, datagu Middle Road, Xiantao street, Yubei District, Chongqing

Applicant after: Chongqing Jingxiang Microelectronics Co.,Ltd.

Address before: Room 302, 3 / F, workshop 4, 3G intelligent terminal Industrial Park, 8 Tangyan South Road, hi tech Zone, Xi'an City, Shaanxi Province 710075

Applicant before: XI'AN VANXVM ELECTRONICS TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant