CN111277829B - 编解码方法及装置 - Google Patents

编解码方法及装置 Download PDF

Info

Publication number
CN111277829B
CN111277829B CN202010115102.3A CN202010115102A CN111277829B CN 111277829 B CN111277829 B CN 111277829B CN 202010115102 A CN202010115102 A CN 202010115102A CN 111277829 B CN111277829 B CN 111277829B
Authority
CN
China
Prior art keywords
macro block
coding
instruction
macroblock
video
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.)
Active
Application number
CN202010115102.3A
Other languages
English (en)
Other versions
CN111277829A (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.)
Xian Wanxiang Electronics Technology 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 CN202010115102.3A priority Critical patent/CN111277829B/zh
Publication of CN111277829A publication Critical patent/CN111277829A/zh
Application granted granted Critical
Publication of CN111277829B publication Critical patent/CN111277829B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output

Abstract

本公开提供一种编解码方法、装置及系统,涉及计算机编码领域,具体技术方案为:获取图像帧中每个宏块的宏块内容和绘图指令,所述图像帧被划分为至少个宏块;根据所述宏块内容识别所述每个宏块的宏块类型;根据所述绘图指令和宏块类型生成渲染指令;基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息;对所述至少一个编码宏块信息进行码流融合,得到目标编码图像帧。本公开能够在编码过程中减少计算量并提高精确度。

Description

编解码方法及装置
技术领域
本公开涉及计算机编码领域,尤其涉及编解码方法及装置。
背景技术
计算机图像有自然图像和计算机合成图像两大类。自然图像指的是自然界真实存在的景色,人们生活中看到的电影、电视内容均为自然图像。计算机合成图像是采用计算机图形学技术,通过计算机上显卡计算得到的人造图像,例如办公软件Word的界面,游戏画面,网页文字,CAD软件的矢量图、渲染图等等。
现有技术方案在编解码方面主要有两类,第一类是每帧图像中的每个部分都被视为同等地位,均采用统一的方法对数据进行编码,压缩方法多采用帧内预测和帧间预测进行压缩,目前H.264,H.265等主流视频编码标准都属于这种类型的编码。这种编码方式的特点是能够对各种类型的图像编码,缺点是没有考虑到“屏幕视频图像”的特殊性,即没有利用计算机合成图像的特性做出针对性的优化,码率较大,编码效果不是最优。另一类是在编码前首先将“屏幕视频图像”进行元素识别并分类,将不同类型的元素使用不同的编码器进行编码,这种方式专用性和针对性较强,主要用途就是计算机合成图像,编码效果较好。但一个主要问题在于编码压缩过程中资源消耗较高,计算量大。其中一个计算力的主要消耗点就是宏块分类环节。对于人眼来说,可以轻松分辨图像中哪个区域是文本,哪个区域是图片,以及高梯度图片和较为平缓的图片,但对于计算机来说,这是相当复杂的问题。现有技术为了识别图像中的不同元素,需要做像大量运算,准确率也不高。
发明内容
本公开实施例提供一种编解码方法及装置,本公开能够解决在编码过程中计算量大和精确度低的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种编码方法,应用于编码装置,该方法包括:
获取图像帧中每个宏块的宏块内容和绘图指令,所述图像帧被划分为至少个宏块;
根据所述宏块内容识别所述每个宏块的宏块类型;
根据所述绘图指令和宏块类型生成渲染指令;
基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息;
对所述至少一个编码宏块信息进行码流融合,得到目标编码图像帧。
本方案将文字、图片宏块和视频区域的识别放在底层进行,应用程序下发的绘图指令所生成的渲染指令,判断应用程序下发的绘图意图,通过分析渲染指令,得出各类型宏块的区域,并进一步划分文字宏块,图像宏块和视频窗口。可以看出,本公开所有宏块的识别分类都不再需要进行像素比较,节省了大量的计算量。
在一个实施例中,根据所述宏块内容识别所述每个宏块的宏块类型包括:
当宏块内容包括文字时,识别所述宏块的宏块类型为文字宏块;
当宏块内容包括视频时,识别所述宏块的宏块类型为视频宏块;
当宏块内容包括图像时,识别所述宏块的宏块类型为图像宏块。
在一个实施例中,当宏块类型为文字宏块,所述渲染指令中包括文本指令,所述文本指令包括文字显示信息;
当宏块类型为视频宏块,所述选择指令中包括视频指令,所述视频指令包括视频播放窗口显示信息。
在一个实施例中,当宏块类型为文字宏块时,所述基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息包括:
判断和所述编码装置对应的解码装置是否具有文字渲染功能;
如果所述解码装置具有文字渲染功能,从所述渲染指令中提取文本指令和文本内容,并对所述文本指令和文本内容进行打包得到第一编码宏块信息。
在一个实施例中,该方法还包括:
如果所述解码装置不具有文字渲染功能,则将文字宏块发送至文字编码器进行编码处理,得到第二编码宏块信息。
在一个实施例中,当宏块类型为视频宏块时;
所述基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息包括:
从所述渲染指令中提取视频指令,并对所述视频指令进行打包得到第三编码宏块信息;
将所述视频宏块发送至视频编码器进行编码处理,得到第四编码宏块信息。
在一个实施例中,当宏块类型为图片宏块时,所述基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息包括:
获取所述图片宏块的渐变属性和梯度属性;
将所述图片宏块和所述渲染指令发送至图片编码器,使得图像编码器根据所述渐变属性和梯度属性对所述图片宏块进行分量处理、量化和编码,得到第五编码宏块信息。
根据本公开实施例的第二方面,提供一种解码方法,应用于解码装置,该方法包括:
获取编码装置发送的目标编码图像帧,所述目标编码图像帧由至少一个编码宏块信息进行码流融合得到的;
对所述目标编码图像帧进行码流分解,得到至少一个编码宏块信息;
根据所述至少一个编码宏块信息,确定对应的宏块类型,并对不同类型的编码宏块信息进行相应的解码处理,得到至少一个解码宏块信息;
将所述至少一个解码宏块信息进行叠加,得到目标解码图像。
根据本公开实施例的第三方面,提供一种编码装置,该编码装置包括:
获取模块,用于获取图像帧中每个宏块的宏块内容和绘图指令,所述图像帧被划分为至少个宏块;
识别模块,用于根据所述宏块内容识别所述每个宏块的宏块类型;
生成模块,用于根据所述绘图指令和宏块类型生成渲染指令;
编码模块,用于基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息;
码流融合模块,用于对所述至少一个编码宏块信息进行码流融合,得到目标编码图像帧。
根据本公开实施例的第四方面,提供一种解码装置,该解码装置包括:
获取模块,用于获取编码装置发送的目标编码图像帧,所述目标编码图像帧由至少一个编码宏块信息进行码流融合得到的;
码流分解模块,用于对所述目标编码图像帧进行码流分解,得到至少一个编码宏块信息;
解码模块,用于根据所述至少一个编码宏块信息,确定对应的宏块类型,并对不同类型的编码宏块信息进行相应的解码处理,得到至少一个解码宏块信息;
叠加模块,用于将所述至少一个解码宏块信息进行叠加,得到目标解码图像。
本公开提供的技术方案中,可以减少计算量,提高识别精确度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的编码方法流程图;
图2是本公开实施例提供的编码方法流程图;
图3是本公开实施例提供的宏块类型识别方法流程图;
图4是本公开实施例提供的字体渲染能力协商法流程图;
图5是本公开实施例提供的编码过程流程图;
图6是本公开实施例提供的解码方法流程图;
图7是本公开实施例提供的一种解码过程流程图;
图8是本公开实施例提供的编码装置结构图;
图9是本公开实施例提供的编码模块的结构图;
图10是本公开实施例提供的编码模块的结构图;
图11是本公开实施例提供的编码模块的结构图;
图12是本公开实施例提供的编码装置结构图;
图13是本公开实施例提供的解码装置结构图;
图14是本公开实施例提供的解码模块的结构图;
图15是本公开实施例提供的解码模块的结构图;
图16是本公开实施例提供的解码模块的结构图;
图17是本公开实施例提供的解码模块的结构图;
图18是本公开实施例提供的一种编解码方式示意图;
图19是本公开实施例提供的一种桌面图像示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
以下描述的一部分明确地或者暗含地涉及算法和对计算机存储器内数据的操作的功能或者符号表示。这些算法的描述和功能或者符号表示是数据处理领域内技术人员用于更有效地向本领域内其它技术人员表达他们工作实质的方法。此处通常将算法设想为生成期望结果的一系列有条理的步骤。这些步骤是需要对诸如能够存储、传送、组合、对比以及通过其它方式操控的电、磁或者光信号的物理量进行物理操控的步骤。
除非特别说明,否则如以下可显而易见地,应该理解本说明书通篇使用的诸如“编码”、“解码”、“生成”、“识别”、“获取”、“划分”、“融合”、“发送”、“分解”、“叠加”等术语的讨论,涉及计算机系统或者类似电子设备的动作和处理,上述的电子设备将表示为计算机系统内物理量的数据操控和转换成同样表示为计算机系统或者其它信息存储、传输或者显示设备内物理量的其它数据。
说明书还公开了用于执行方法操作的设备。这种设备为所需的目的而特别构成,或者可以包括通用计算机或者其它存储在计算机中的计算机程序选择性启动或者重新配置的其它设备。本文介绍的算法和显示不是固有地与任何具体计算机或者其它设备相关。各种通用机器可以根据本文教导的程序一起使用。可替换地,用于执行所要求的方法步骤的更特殊的设备构造是可以适用的。常规的通用计算机的结构将在以下描述中介绍。
此外,由于可以由计算机代码实施本文描述方法的各步骤对本领域技术人员是显而易见的,因此本说明书还暗含地公开计算机程序。该计算机程序不试图限制于任何具体的编程语言及其执行。应该理解,可以使用多种编程语言及其代码以执行本文包含的公开的教导。此外,该计算机程序不试图限制于任何具体的控制流。在不脱离本发明精神或者范围的情况下,存在许多其它种类的、可以使用不同控制流的计算机程序。
而且,可以并行地而不是顺序地执行计算机程序的一个或者多个步骤。这种计算机程序可以存储在任何计算机可读介质上。计算机可读介质可以包括的存储设备诸如为磁盘或者光盘、存储器芯片或者适于与通用计算机接口的其它存储设备等。计算机可读介质还可以包括诸如在因特网系统中的硬接线介质,或者无线介质。当在这种通用计算机上加载和执行计算机程序时,计算机程序有效地产生实施优选方法的步骤的设备。
本发明还可被实施为硬件模块。更具体地,在硬件意义下,模块是被设计为与其它部件或模块一起使用的功能性硬件单元。例如,模块可使用分立电子部件实施,或者其可以形成整个电子电路诸如特定用途集成电路(ASIC)的一部分。还存在许多其它可能。本领域技术人员应理解,该系统还可被实施为硬件和软件模块的组合。
本公开实施例提供一种编码方法,应用于编码装置,如图1所示,该方法包括以下步骤:
步骤101、获取图像帧中每个宏块的宏块内容和绘图指令,所述图像帧被划分为至少个宏块;
步骤102、根据所述宏块内容识别所述每个宏块的宏块类型;
步骤103、根据所述绘图指令和宏块类型生成渲染指令;
步骤104、基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息;
步骤105、对所述至少一个编码宏块信息进行码流融合,得到目标编码图像帧。
本公开实施例提供一种编码方法,应用于编码装置,如图2所示,该方法包括以下步骤:
步骤201、获取图像帧中每个宏块的宏块内容和绘图指令;
图像帧被划分为至少个宏块;
绘图指令和宏块内容是由应用程序下发的。绘图指令主要包括文字内容、图片、图片渐变情况、视频窗口等信息。不同操作系统的绘图指令是有差异的,具体可以对操作系统中的编程库进行调用,各种库的调用方法也有差异。下面以windows为例,简述从绘图指令判断宏块类型的具体过程:
例如,可以通过文字绘制DrawString函数指令进行文字绘制的,DrawString函数的参数包括文字绘制的基本信息,比如字体、位置等。当检测到文字绘图指令后,可以取得其参数中的坐标和宽高,就能判定该区域内的宏块是文字块。宏块本身可以是16*16的小区域。
例如,还可以通过图片绘制DrawImage函数指令进行图片绘制,DrawImage函数的参数指定了图片开始的坐标x,y,和区域大小等。可以通过该函数就可以判断出该区域内的宏块是图片宏块。
步骤202、根据所述宏块内容和绘图指令识别所述每个宏块的宏块类型;
宏块类型包括以下至少之一:文字宏块、视频宏块、图片宏块;
当宏块内容包括文字时,识别所述宏块的宏块类型为文字宏块;
当宏块内容包括视频时,识别所述宏块的宏块类型为视频宏块;
当宏块内容包括图像时,识别所述宏块的宏块类型为图像宏块。
具体的,如图3所示,步骤202可以包括以下几个步骤执行:
S302:解析绘图指令,从绘图指令中判断绘图的位置和相关宏块类型,主要产生三种情况。
S303:如果是文字宏块,则保存绘图指令中的文字相关信息,比如字体,位置,大小等信息。
S304:如果是视频窗口,则保存绘图指令中的视频窗口的位置,大小等信息。
S305:如果是图片或矢量图形,则从绘图指令中获取该区域图图片特性,图片特性包括:是否有渐变特性,其像素梯度高低分布情况等。
步骤203、根据所述绘图指令和宏块类型生成渲染指令;
其中,渲染指令是由图像设备接口/操作系统根据应用程序根据绘图指令生成的。图像设备接收虚拟层位于应用程序和图像设备接口/操作系统之间的层次,对应用程序透明。该层的作用主要是透传绘图指令和帧内容(宏块内容),且能够将指令和帧内容截获和复制,传递到编码器的其他组件进行进一步处理。
当宏块类型为文字宏块,所述渲染指令中包括文本指令,所述文本指令包括文字显示信息;
针对文本指令,不同的操作系统API有差异,指令格式、具体信息也有差异,以windows系统为例,图形设备接口加(Graphics Device Interface plus,GDI+)的文本指令包含的关键信息有字体的宽度、高度、颜色、大小、字体名、加粗、方向、字符集、加斜线、加下划线、起始坐标、字体外轮廓的矩形区域等。
当宏块类型为视频宏块,所述选择指令中包括视频指令,所述视频指令包括视频播放窗口显示信息,例如播放窗口的大小和显示位置信息,具体的,可以是播放窗口的坐标。可以通过具体的视频接口,使用DirectX或者其他技术获取。
当宏块类型为文字宏块时,执行步骤204,当宏块类型为视频宏块时,执行步骤210,当宏块类型为图片宏块时,执行步骤208。
步骤204、获取文字内容和文本指令;
需要说明的是,此步骤保存文字内容和文本指令,不是永久保存只是暂存,保存的目的只是方便文本指令和文本内容进行打包;保存的时候可以存在特定的数据结构和区域中,编程序的时候读的方便。
步骤205、判断和所述编码装置对应的解码装置是否具有文字渲染功能;
该步骤可以通过编码装置和解码装置之间进行字体渲染能力协商完成,随后编码装置将解码装置的文字渲染功能信息保存在本地。如图4所示,基本协商过程含有如下几个步骤:
步骤S201、编码装置从绘图指令中获取本帧图像包含的文字信息,如字体,大小等;
文字信息包含在文本指令中。
步骤S202、编码装置向解码装置发送查询消息,查询消息携带文字信息;
步骤S203、解码装置查询本地操作系统后,将支持情况反馈给编码装置;
步骤S204、编码装置根据反馈结果设置标识位。
若反馈结果为具有文字渲染功能,则将标识位设置为1,若反馈结果为不具有文字渲染功能,则将标识位设置为0。
该步骤中,可以保存解码端的反馈结果,该过程在每一帧开始时进行一次即可,保存结果后,可以提高编码效率。
在步骤205中,需要直接查询标识位可知解码装置是否具有文字渲染功能,若标识位为1,则代表解码装置具有文字渲染功能,若标志位0,代表解码装置不具有文字渲染功能。
步骤205的协商过程在步骤201之后,步骤206之前完成即可,具体的执行时序在本实施例中不加任何限定。
如果所述解码装置具有文字渲染功能,执行步骤207,如果没有,执行步骤206。
步骤206、将文字宏块发送至文字编码器进行编码处理,得到第二编码宏块信息。
其中,文字块编码器是专用于编码文字宏块的编码器,文字宏块的特点是高梯度像素多,像素的色度值单一,文字块编码器是具有针对这个特性的专用编码器。
之后执行步骤213。
步骤207、对所述文本指令和文本内容进行打包得到第一编码宏块信息;
文本内容是指具体的文字,文本指令包含文字显示属性,比如文字的大小、字体、下划线等字体属性和显示的位置信息。
这个过程可以使得编码装置能够了解解码装置的能力,可以在此基础上做进一步的优化,例如,当确认解码装置可支持所有当前帧包含的字体信息后的渲染功能,可不用文本编码器,也即无需执行步骤206,而是通过步骤207直接将文本指令打包进编码流,解码端收到解码流后进行重新绘制即可,可节省文字宏块编解码过程的计算量。如解码端不支持,则编码端通过文字编码器将文字宏块编码入流,解码端使用相应的文字解码器解码重建。
对于文字宏块,对文本指令和文本内容进行指令打包,以及通过文字块编码器对文字宏块进行编码处理是二选一,指令打包会比编码器的编码效率高。该步骤之后执行步骤213。
步骤208、获取图片宏块和渲染指令;
步骤209、将图片宏块和渲染指令发送给图片编码器进行编码;
该步骤具体包括:
获取所述图片宏块的渐变属性和梯度属性;
将所述图片宏块和所述渲染指令发送至图片编码器,使得图像编码器根据所述渐变属性和梯度属性对所述图片宏块进行分量处理、量化和编码,得到第五编码宏块信息。
例如,根据渲染指令判断图片宏块中是否具有渐变特性,是否属于高梯度宏块,根据这些特性,将宏块的量化参数设定为相应的值;以及根据量化参数,对该宏块进行变换和量化;将已量化的图片宏块进行编码处理。
具体的,对渐变宏块,由于量化敏感度低,将其量化级别调低,量化过程中可去掉较多冗余;对非渐变的,高梯度宏块,由于量化敏感度高,将其量化级别调高,不损失图像细节。
需要说明的是,在对图片宏块进行量化处理之前,还会对图片宏块进行变换处理。
在对图片宏块分析过程中,可解析绘图指令,判断出某区域的图片块是否有渐变特性。对于含有渐变特性的宏块,在使用图片编码器编码时,采用帧内预测的模式进行,变换、量化和编码的内容是对残差进行的,由于渐变宏块的相邻宏块之间相似度高,其残差几近于0,对残差编码可进一步降低码率;而对无渐变特性的,高梯度内容的宏块则仍然采用对宏块本身编码的方式,避免了因残差计算导致的计算量。另外同样对于绘图指令的分析可得到哪些宏块的像素较为平缓(例如渐变宏块),哪些宏块内容变化剧烈(例如有较多矢量绘图的区域);对较平缓的宏块,判断其量化不敏感,将其量化参数调整为较低的模式,降低码率;对变化剧烈的宏块,判断其量化敏感度高,对齐量化参数调整为较高的模式,避免了量化导致的细节丢失。这种分级量化不但在码率和质量之间做到了均衡,且无需增加额外的计算量。
其中,判断图片宏块中是否具有渐变特性的工作也可以由宏块分类的步骤完成。
图片宏块包括图片或矢量图形,本步骤需要从绘图指令中获取该区域图图片特性,图片特性包括:是否有渐变特性和其像素梯度高低分布情况。
判断图片宏块是否为高梯度图像,可以有至少下面两种方法:
(1)判断函数中是否调用到了线性渐变刷LinearGradientBrush函数或者路径渐变刷的属性PathGradientBrush函数,,如果调用,说明该区域内像素变化是平缓的,即不是高梯度宏块;反之则可以判断为高梯度宏块。
(2)绘图指令中还会有很多图形类的绘制指令,例如画线,画矩形,画椭圆等等。如果多个图形绘制指令都涉及某一区域,则将此区域内的宏块判定为高梯度宏块。
当然还有其他很多类似指令,这里不一一列举。
执行步骤213。
步骤210、获取视频内容和视频指令;
步骤211、将视频内容发送给视频编码器进行编码,执行步骤213。
由于已经确定在指定区域存在视频窗口,那么可采用现有的任意视频编码器进行编码,如H.264编码器等。
步骤212、将视频指令打包,执行步骤213。
视频指令中包括视频窗口的位置,大小等信息。
视频指令中的信息是在步骤202时保存的,保存的目的只是方便视频指令打包的时候读取,保存的时候可以存在特定的数据结构和区域中,编程序的时候读的方便;这只是暂存在内存中,下一帧来的时候就刷新了;分类完自然要存到特定数据结构中,不然无法完成分类过程。
需要说明的是,视频编码器是编码器;视频指令打包是对视频指令进行打包,两者的作用不一样;编码器只是将YUV/RGB数据进行编码压缩,即主要就是对视频里的内容进行的压缩,可能不包含将来解码后要显示的窗口位置等信息;视频指令则包含位置、大小等信息,每个视频均需要经过步骤211和步骤212的处理,但无先后关系。
步骤213、对所述至少一个编码宏块信息进行码流融合,得到目标编码图像帧。
将第一编码宏块信息、第二编码宏块信息、第三编码宏块信息、第四编码宏块信息、第五编码宏块信息进行码流融合,得到目标编码图像帧。其中,第一编码宏块信息、第二编码宏块信息是不同时存在的,第三编码宏块信息、第四编码宏块信息是同时存在的。
图5是上述实施例步骤104的具体实现方式的一种,具体包括以下步骤:
S402、识别宏块类型;
如果是文字宏块,执行步骤403,如果是视频宏块,执行步骤S406,如果是图片宏块,之心该步骤S407。
S403、查询解码端是否具有渲染该字体的能力;
具体的查询过程同上面实施例,不再赘述。
S404:如果解码端具备渲染该字体的能力,直接将文本指令和文本内容保存下来。
S405:如果解码端不具备渲染该字体的能力,编码端选用文字编码器将文字宏块编码;
S406:如果宏块类型是视频窗口,选用视频指令中的指定区域,并将视频内容送入视频编码器进行编码;
S407:如果宏块是图片类型,进一步查询是否有渐变特性,例如,在Windows平台上,可通过判断GDI+的渐变画刷来分析;如具有渐变特性,转S408,否则转S409;
S408:选择图像编码器,且使用编码器的预测模式来编码,即编码两邻近宏块之间的残差;
S409:如无渐变特性,且梯度变化较大,选择图像编码器,且使用直接模式来编码,即对宏块直接编码;
S410:量化分级过程,即对渐变特性的宏块,或像素值变化平缓的宏块,认为其量化敏感度低;采用低量化指标;对梯度变换较大的宏块,认为其量化敏感度高,采用高量化的指标;确定指标后对宏块进行标记。
例如,发现某个图片宏块所在的区域,使用了渐变刷的属性,即该宏块为渐变宏块,像素变化平缓,人眼不敏感,那么将其量化级别调整为20(取值范围0~100),即在后续的量化计算中,会较大程度的削减变换系数,即削减参与编码的数值,使得大部分数值变为0,这样提高了压缩度。
相反,如果一个区域内存在大量的线条绘制,即此区域内宏块细节丰富,人眼对此区域非常敏感,如果还用20的量化值来量化,那么解码后将会非常模糊,影响观感。这部分就设置为80的量化级别,确保较少的细节损失。
S411:图片宏块参数设置完毕后,该模块进行变换、量化和编码。
其中,变换是一种用于将宏块像素值从空间域变换到频率域的矩阵运算方法,具体可以为DCT即离散余弦变换,也可能涉及其他变换如walsh-Hadamard变换。
本公开实施例提供一种解码方法,应用于解码装置,如图6所示,该方法包括以下步骤:
步骤601、获取编码装置发送的目标编码图像帧,所述目标编码图像帧由至少一个编码宏块信息进行码流融合得到的;
步骤602、对所述目标编码图像帧进行码流分解,得到至少一个编码宏块信息;
步骤603、根据所述至少一个编码宏块信息,确定对应的宏块类型,并对不同类型的编码宏块信息进行相应的解码处理,得到至少一个解码宏块信息;
步骤604、将所述至少一个解码宏块信息进行叠加,得到目标解码图像。
图7是上述实施例中步骤603的解码过程的详细实现方式,如图7所示,该方法可以将编码器传输的压缩流解码后转为YUV或RGB格式的帧数据。
主要步骤为:
S502:确定宏块类型;
如果宏块是文字类型,则执行S503;如是视频类型,则执行S506,如是图片类型,则执行S507;
S503:确定解码端本地是否有该字体渲染的能力;
如果有,执行步骤S504,否则执行步骤S505。
本来编码一帧图像时,就按照变换、量化、编码等一系列操作来编,现在由于截获了指令,从根源上获知了这个宏块的原始内容是什么,即编码端意图要编什么,直接省略图像编码一系列复杂操作,在解码端通过本地的指令接口重新制作这套原始内容,当然这是建立在一个前提之上,即编解码端有完全相同的文字支持能力,这就是通过能力协商过程来确保的。
S504、编码宏块信息为文本指令和文本内容,按文本指令和文本内容重建文字宏块;
其中,“按文本指令文本内容重建文字宏块”是一种重建文字宏块的步骤。所谓的按文本指令重建文字宏块,本质上就是根据编码端传递过来的指令,重新在本地调用一次即可,例如再调用一次DrawText绘制出编码端在编码时,所需要编的那些原始文本。如果从指令调用的角度来看,那就是现有技术,因为指令本身不是本方案发明的,这种调用方式是成熟技术。
S505、编码宏块信息发送至文字解码器进行解码;
编码宏块信息为经过编码装置文字编码器编码的文字压缩数据。
S506、编码宏块信息发送至文字解码器进行解码;
编码宏块信息为经过编码装置视频编码器编码的视频压缩数据和打包的视频指令。
S507、编码宏块信息发送至图片解码器进行解码;
编码宏块信息为经过编码装置视图片码器编码的图片压缩数据。
S508、将步骤S504、步骤S505、步骤S506和步骤S507各种宏块的解码后的结果进行叠加,并输出最终的YUV/RGB数据,完成一帧图像的解码。
本公开实施例提供一种编码装置,如图8所示的编码装置80包括:
获取模块801,用于获取图像帧中每个宏块的宏块内容和绘图指令,所述图像帧被划分为至少个宏块;
识别模块802,用于根据所述宏块内容识别所述每个宏块的宏块类型;
识别模块802具体用于:
当宏块内容包括文字时,识别所述宏块的宏块类型为文字宏块;
当宏块内容包括视频时,识别所述宏块的宏块类型为视频宏块;
当宏块内容包括图像时,识别所述宏块的宏块类型为图像宏块。
当宏块类型为文字宏块,所述渲染指令中包括文本指令,所述文本指令包括文字显示信息;
当宏块类型为视频宏块,所述选择指令中包括视频指令,所述视频指令包括视频播放窗口显示信息。
生成模块803,用于根据所述绘图指令和宏块类型生成渲染指令;
编码模块804,用于基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息;
融合模块805,用于对所述至少一个编码宏块信息进行码流融合,得到目标编码图像帧。
图9是本公开实施例中编码模块804结构图,当识别出类型包括文字类型时,如图9所示的编码模块804包括:
文字打包子模块8041,用于如果所述解码装置具有文字渲染功能,从所述渲染指令中提取文本指令和文本内容,并对所述文本指令和文本内容进行打包得到第一编码宏块信息。
文字编码器8042,用于对文字宏块进行编码,得到第二编码宏块信息。
图10是本公开实施例中编码模块804结构图,当识别出类型包括视频类型时,如图10所示的编码模块804包括:
视频打包子模块8043,用于对视频指令进行打包得到第三编码宏块信息。
视频编码器8044,用于对视频宏块内容进行编码,得到第四编码宏块信息。
图11是本公开实施例中编码模块804结构图,当识别出类型包括图片类型时,如图11所示的编码模块804包括:
图片编码器8045,用于对图片宏块进行编码,得到第五编码宏块信息。
图片编码器8045具体用于:
获取所述图片宏块的渐变属性和梯度属性;
将所述图片宏块和所述渲染指令发送至图片编码器,使得图像编码器根据所述渐变属性和梯度属性对所述图片宏块进行分量处理、量化和编码,得到第五编码宏块信息。
图12是本公开实施例提供的一种编码装置结构图,如图12所示的变慢装置80,还包括协商模块800,用于判断和编码装置对应的解码装置是否具有文字渲染功能。
图13是本公开实施例中协商模块800结构图,如图13所示的协商模块800包括:
获取子模块8001,用于从绘图指令中获取本帧图像包含的文字信息;
文字信息包含在文本指令中如字体,大小等。
发送子模块8002,用于向解码装置发送查询消息,查询消息携带文字信息;
设置子模块8003,用于根据反馈结果设置标识位;反馈结果是解码装置查询本地操作系统后,将支持情况反馈给编码装置。
本公开实施例提供一种解码装置,如图14所示的解码装置140包括:
获取模块1401,用于获取编码装置发送的目标编码图像帧,所述目标编码图像帧由至少一个编码宏块信息进行码流融合得到的;
码流分解模块1402,用于对所述目标编码图像帧进行码流分解,得到至少一个编码宏块信息;
解码模块1403,用于根据所述至少一个编码宏块信息,确定对应的宏块类型,并对不同类型的编码宏块信息进行相应的解码处理,得到至少一个解码宏块信息;
叠加模块1404,用于将所述至少一个解码宏块信息进行叠加,得到目标解码图像。
图15是本公开实施例中解码模块1403结构图,如果宏块是视频类型,如图15所示的解码模块1403包括:
视频拆包子模块14031,用于对编码宏块信息进行拆包处理,得到视频指令;
视频解码器14032,用于对编码宏块信息进行解码,得到视频内容。
图16是本公开实施例中解码模块1403结构图,如果编码宏块信息对应的宏块是文字类型,如图16所示的解码模块1403包括:
文字拆包子模块14033,用于在解码装置具有文字渲染功能时,对编码宏块信息进行拆包处理,得到文字内容和文本指令;
文字解码器14034,用于在解码装置不具有文字渲染功能时,对编码宏块信息进行解码,得到文字内容和文本指令。
图17是本公开实施例中解码模块1403结构图,如果宏块是视频类型,如图17所示的解码模块1403包括:
图片解码器14035,用于对对编码宏块信息进行解码,得到图片信息。
下面通过一个具体实施例,对本发明上述方案做以下详细说明。该实施例中,编码端为编码装置,解码端为解码装置。具体实现流程参照图18。
编码端,编码端中的帧解析与宏块分类模块102和编码器选择模块103的功能等同于上述实施例中的识别模块,文本指令打包模块107的功能等同于上述实施例中的文本打包子模块,字体渲染能力协商模块106的功能等同于上述实施例中的协商模块,视频指令打包模块108的功能等同于上述实施例中的视频打包子模块,图片编码器,视频编码器和文字编码和上述实施例中的视频编码器,文字编码器和图片编码器相同。码流融合模块的功能等同于上述实施例中的融合模块。
编码端有两个进程并行:第一个进程,如图18中的灰色粗箭头所示,是图像设备接口虚拟层101将应用程序下发的绘图指令和帧内容,透传至帧解析与宏块分类模块102,由帧解析与宏块分类模块102等其他模块根据绘图指令,对帧内容进行宏块分类和编码;第二个进程,如图18中的黑色细箭头所示,是图像设备接口虚拟层101,时刻监听由帧解析与宏块分类模块102根据绘图指令生成的渲染指令,以便从渲染指令中获知帧内容是否包括文字、图片或视频,进而将从渲染指令中提取所需的参数并保存在对应的模块中,以协助对帧内容进行快速编解码。
下面先对第一个进程进行说明:
步骤A:应用程序向图像设备接口/操作系统发送绘图指令和帧内容,图像设备接口/操作系统根据应用程序下发的绘图指令生成渲染指令。
步骤B,图像设备接收虚拟层101截获和复制渲染指令和帧内容。
其中,渲染指令是由图像设备接口/操作系统根据应用程序根据绘图指令生成的。图像设备接收虚拟层101位于应用程序和图像设备接口/操作系统之间的层次,对应用程序透明。该层的作用主要是透传绘图指令和帧内容,且能够将指令和帧内容截获和复制,传递到编码器的其他组件进行进一步处理。
步骤C,图像设备接收虚拟层101监听渲染指令,判断帧内容中是否包括文字或视频。
步骤D,图像设备接收虚拟层101若发现渲染指令中包括文本指令,则由文本指令打包模块107从渲染指令中提取文本指令和文本内容,以及将文本指令和文字内容打包发送给码流融合模块110;若发现渲染指令中包括视频指令,则由视频指令打包模块108从渲染指令中提取视频指令,视频指令包括播放窗口的大小和坐标,以及将视频指令发打包发送给码流融合模块110。
其中,由文本指令打包模块107从渲染指令中提取文本指令和文本内容,这里面提到的“文本内容”是指具体的文字。
步骤E,在图像设备接收虚拟层101截取新一帧的渲染指令时,字体渲染能力协商模块106均会与解码端的字体渲染能力协商模块112进行通信,确定解码端是否具有实现渲染指令中提到的字体、大小及其他具体文字相关参数的能力,以及保存解码端的反馈结果。
具体的,可以通过设置标志位保存反馈结果,比如标志位为1,代表解码端具有实现渲染指令中提到的字体、大小及其他具体文字相关参数的能力,标志位为0,代表解码端不具有实现渲染指令中提到的字体、大小及其他具体文字相关参数的能力。
下面先对第二个进程进行说明:
步骤1:应用程序向图像设备接口/操作系统发送绘图指令和帧内容。
在常规场景中,应用程序层向图像设备接口/操作系统下发绘图指令和帧内容,以使图像设备接口/操作系统完成图像绘制过程。
步骤2:帧解析与宏块分类模块102根据接收到的绘图指令和帧内容,生成渲染指令,以及对帧内容进行宏块分类,将分类后的宏块传递给编码器选择模块103。
步骤3:编码器选择模块103收到分类完成的宏块后,判断是否包括文字宏块,若为是,则判断字体渲染能力协商模块设置的标识位,若标志位为1,则无需对文字宏块进行处理,若标志位0,则将文字宏块发送至文字块编码器109进行编码处理,以及将编码后的码流发送至码流融合模块110;
将图片宏块和渲染指令发送到图片编码器中的量化分级模块104进行分量处理;将视频内容发送至视频编码器111进行编码处理,以及将编码后的码流发送至码流融合模块110。
其中,文字块编码器109,专用于编码文字宏块的编码器,文字宏块的特点是高梯度像素多,像素的色度值单一,文字块编码器是具有针对这个特性的专用编码器。
视频编码器模块111,由于已经确定在指定区域存在视频窗口,那么可采用现有的任意视频编码器进行编码,如H.264编码器等。
需要说明的是,视频编码器模块111是编码器;视频指令打包模块108是对视频指令进行打包,两者的作用不一样;编码器只是将YUV/RGB数据进行编码压缩,即主要就是对视频里的内容进行的压缩,可能不包含将来解码后要显示的窗口位置等信息;视频指令则包含位置、大小等信息,每个视频均需要经过108和111的处理,但无先后关系。
有关“分量处理”的细节在后文中有说明。
步骤4:量化分级模块104根据从图像设备接口虚拟层101中获取渲染指令,判断图片宏块中是否具有渐变特性,是否属于高梯度宏块,根据这些特性,将宏块的量化参数设定为相应的值;以及根据量化参数,对该宏块进行变换和量化;将已量化的图片宏块发送给编码模块S105模块进行编码。
具体的,对渐变宏块,由于量化敏感度低,将其量化级别调低,量化过程中可去掉较多冗余;对非渐变的,高梯度宏块,由于量化敏感度高,将其量化级别调高,不损失图像细节。
需要说明的是,量化分级模块104在对图片宏块进行量化处理之前,还会对图片宏块进行变换处理。
其中,判断图片宏块中是否具有渐变特性的工作也可以由帧解析与宏块分类模块102完成。
步骤5,编码模块105对量化后的图片宏块进行编码处理,以及将编码后的码流发送至码流融合模块110。
步骤6,码流融合模块110,将第二进程发送的码流,以及第一进程发送的文本指令和/或视频指令进行融合,产生最终的编码压缩数据传递给解码端。
解码端:
解码端的流分解模块的功能等同于上述实施例中的分解模块,图片解码器和文字解码器的功能等同于上述实施例中的图片解码器和文字解码器,视频重建模块的功能等同于上述实施例中的视频解码器和视频拆包子模块,本地文字重建模块的功能等同于上述实施例中的文字拆包子模块。
字体渲染能力协商模112,通过实时查询本地操作系统的设备接口层,获取本地文字渲染能力,在编码端确认时向编码端反馈确认结果。
码流分解模块113将编码器发送的码流进行分解,分别产生图片流、文字流、视频流、指令流,以及将各类型的码流和/或指令流分别送至相应的解码模块或重建模块。
具体的,将图片流发送至图片解码器114进行解码;将视频流发送至视频重建模块116进行解码。
若指令流中包括文本指令,说明解码端具有实现渲染指令中提到的字体、大小及其他具体文字相关参数的能力,则码流分解模块113将文本指令发送至本地文字重建模块117进行文字图像的重建;若指令流中不包括文本指令,说明帧内容中不包括文字或解码端不具有实现渲染指令中提到的字体、大小及其他具体文字相关参数的能力,当帧内容中包括文字且解码端不具有实现渲染指令中提到的字体、大小及其他具体文字相关参数的能力时,码流分解模块113将文字流发送至文字块解码器115进行解码处理。
由于本地文字重建模块117可以直接在解码器端调用系统API,根据文本指令重新绘制文字区域,采用这种特殊的重建过程可有效降低码流,并减少编解码时间。
图片解码器114将图片、视频重建模块116将视频、文字解码器115或本地文字重建模块117将文字图像均发送至叠加模块117。叠加模块117对接收到的信息进行叠加,输出YUV/RGB数据,得到原始的帧信息,解码过程完毕。
下面用一个局部的计算机合成图像来对宏块类型做一个演示,图19是一个桌面图像,包含了图标、网页和一个视频播放器。为了正确选择编码器进行编码,需要对区域和宏块进行正确的识别。图上标出了几个例子,分别是视频区域,不具备渐变特性的,高梯度的图像宏块区域,具有渐变性的图片宏块区域,文本区域。对这几种区域,采用本公开提供的编解码方式,会减少运算量,提高准确率。
基于上述图1和图6对应的实施例中所描述的编解码方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1和图6对应的实施例中所描述的编解码方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

Claims (9)

1.一种编码方法,应用于编码装置,其特征在于,所述方法包括:
获取图像帧中每个宏块的宏块内容和绘图指令,所述图像帧被划分为至少一个宏块;
根据所述宏块内容和绘图指令,识别所述每个宏块的宏块类型,所述宏块类型包括文字宏块、视频宏块和图像宏块;
根据所述绘图指令和宏块类型生成渲染指令,其中,当宏块类型为文字宏块,所述渲染指令中包括文本指令,所述文本指令包括文字显示信息;当宏块类型为视频宏块,所述渲染指令中包括视频指令,所述视频指令包括视频播放窗口显示信息;
基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息;
对所述至少一个编码宏块信息进行码流融合,得到目标编码图像帧。
2.根据权利要求1所述的编码方法,其特征在于,所述根据所述宏块内容识别所述每个宏块的宏块类型包括:
当宏块内容包括文字时,识别所述宏块的宏块类型为文字宏块;
当宏块内容包括视频时,识别所述宏块的宏块类型为视频宏块;
当宏块内容包括图像时,识别所述宏块的宏块类型为图像宏块。
3.根据权利要求1所述的编码方法,其特征在于,当宏块类型为文字宏块时,所述基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息包括:
判断和所述编码装置对应的解码装置是否具有文字渲染功能;
如果所述解码装置具有文字渲染功能,从所述渲染指令中提取文本指令和文本内容,并对所述文本指令和文本内容进行打包得到第一编码宏块信息。
4.根据权利要求3所述的编码方法,其特征在于,所述方法还包括:
如果所述解码装置不具有文字渲染功能,则将文字宏块发送至文字编码器进行编码处理,得到第二编码宏块信息。
5.根据权利要求1所述的编码方法,其特征在于,当宏块类型为视频宏块时;
所述基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息包括:
从所述渲染指令中提取视频指令,并对所述视频指令进行打包得到第三编码宏块信息;
将所述视频宏块发送至视频编码器进行编码处理,得到第四编码宏块信息。
6.根据权利要求1所述的编码方法,其特征在于,当宏块类型为图片宏块时,所述基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息包括:
获取所述图片宏块的渐变属性和梯度属性;
将所述图片宏块和所述渲染指令发送至图片编码器,使得图像编码器根据所述渐变属性和梯度属性对所述图片宏块进行分量处理、量化和编码,得到第五编码宏块信息。
7.一种解码方法,其特征在于,应用于解码装置,所述解码方法包括:
获取编码装置发送的目标编码图像帧,所述目标编码图像帧由所述编码装置根据权利要求1~6任一项所述的编码方法得到;
对所述目标编码图像帧进行码流分解,得到至少一个编码宏块信息;
根据所述至少一个编码宏块信息,确定对应的宏块类型,并对不同类型的编码宏块信息进行相应的解码处理,得到至少一个解码宏块信息;
将所述至少一个解码宏块信息进行叠加,得到目标解码图像。
8.一种编码装置,其特征在于,所述编码装置包括:
获取模块,用于获取图像帧中每个宏块的宏块内容和绘图指令,所述图像帧被划分为至少一个宏块;
识别模块,用于根据所述宏块内容识别所述每个宏块的宏块类型,所述宏块类型包括文字宏块、视频宏块和图像宏块;
生成模块,用于根据所述绘图指令和宏块类型生成渲染指令,其中,当宏块类型为文字宏块,所述渲染指令中包括文本指令,所述文本指令包括文字显示信息;当宏块类型为视频宏块,所述渲染指令中包括视频指令,所述视频指令包括视频播放窗口显示信息;
编码模块,用于基于所述渲染指令,对所述每个宏块按照与所述宏块类型对应的编码方式进行编码处理,得到至少一个编码宏块信息;
码流融合模块,用于对所述至少一个编码宏块信息进行码流融合,得到目标编码图像帧。
9.一种解码装置,其特征在于,所述解码装置包括:
获取模块,用于获取编码装置发送的目标编码图像帧,所述目标编码图像帧由所述编码装置根据权利要求1~6任一项所述的编码方法得到;
码流分解模块,用于对所述目标编码图像帧进行码流分解,得到至少一个编码宏块信息;
解码模块,用于根据所述至少一个编码宏块信息,确定对应的宏块类型,并对不同类型的编码宏块信息进行相应的解码处理,得到至少一个解码宏块信息;
叠加模块,用于将所述至少一个解码宏块信息进行叠加,得到目标解码图像。
CN202010115102.3A 2020-02-25 2020-02-25 编解码方法及装置 Active CN111277829B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010115102.3A CN111277829B (zh) 2020-02-25 2020-02-25 编解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010115102.3A CN111277829B (zh) 2020-02-25 2020-02-25 编解码方法及装置

Publications (2)

Publication Number Publication Date
CN111277829A CN111277829A (zh) 2020-06-12
CN111277829B true CN111277829B (zh) 2023-03-24

Family

ID=70999490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010115102.3A Active CN111277829B (zh) 2020-02-25 2020-02-25 编解码方法及装置

Country Status (1)

Country Link
CN (1) CN111277829B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111800633A (zh) * 2020-06-23 2020-10-20 西安万像电子科技有限公司 图像处理方法及装置
CN111770334B (zh) * 2020-07-23 2023-09-22 西安万像电子科技有限公司 数据编码方法及装置、数据解码方法及装置
CN112312136A (zh) * 2020-09-25 2021-02-02 西安万像电子科技有限公司 码流控制方法及装置
CN114727108A (zh) * 2021-01-04 2022-07-08 北京金山云网络技术有限公司 量化因子调整方法、装置、电子设备及存储介质
CN113569068B (zh) * 2021-01-19 2023-09-29 腾讯科技(深圳)有限公司 描述内容生成方法、视觉内容的编码、解码方法、装置
CN117201798B (zh) * 2023-11-06 2024-03-15 深圳市翔洲宏科技有限公司 一种远程视频监控摄像头信息传输方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007306513A (ja) * 2005-07-13 2007-11-22 Konica Minolta Business Technologies Inc 画像データの圧縮方法および装置
CN105224390B (zh) * 2015-09-22 2019-11-22 宁夏大学 一种虚拟桌面压缩的方法
CN105472392B (zh) * 2015-12-11 2018-11-20 西安万像电子科技有限公司 基于渐进式文字块压缩的屏幕视频编解码方法及编解码器
CN110446041B (zh) * 2018-05-02 2021-11-19 中兴通讯股份有限公司 一种视频编解码方法、装置、系统及存储介质
CN108881913B (zh) * 2018-08-03 2020-09-22 西安万像电子科技有限公司 图像编码的方法和装置
CN113542740B (zh) * 2019-06-04 2023-01-13 西安万像电子科技有限公司 图像传输方法及装置
CN110557624A (zh) * 2019-07-16 2019-12-10 西安万像电子科技有限公司 数据传输方法、装置及服务器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Research on technology of desktop virtualization based on SPICE protocol and its improvement solutions;Yuqing Lan等;《Frontiers of Computer Science》;20141231;全文 *
基于SPICE协议的桌面虚拟化技术研究与改进方案;徐浩等;《计算机工程与科学》;20150301;全文 *
基于VNC协议的云视频技术的研究与实现;程夏衍;《中国优秀硕士论文电子期刊网》;20160315;全文 *

Also Published As

Publication number Publication date
CN111277829A (zh) 2020-06-12

Similar Documents

Publication Publication Date Title
CN111277829B (zh) 编解码方法及装置
US8180165B2 (en) Accelerated screen codec
US8442311B1 (en) Apparatus and method for encoding an image generated in part by graphical commands
CN109040792B (zh) 一种视频重定向的处理方法、云终端和云桌面服务器
CN105959724B (zh) 一种视频数据处理方法以及装置
CN109348226A (zh) 一种图片文件处理方法及智能终端
CN107665128B (zh) 图像处理方法、系统、服务器及可读存储介质
CN102572502B (zh) 一种用于视频质量评价的关键帧的选取方法
CN109640089B (zh) 图像编解码方法及装置
CN112954398B (zh) 编码方法、解码方法、装置、存储介质及电子设备
EP3043313A1 (en) Jpeg picture composite method and method and apparatus for superimposing osd information
US20210092430A1 (en) Video-Based Point Cloud Compression Model to World Signalling Information
CN113645469B (zh) 图像处理方法、装置、智能终端及计算机可读存储介质
CN110996127B (zh) 图像编解码方法、设备及系统
CN114040246A (zh) 图形处理器的图像格式转换方法、装置、设备及存储介质
CN110022481A (zh) 视频码流的解码、生成方法及装置、存储介质、电子装置
CN109479127A (zh) 使用视频译码压缩图片分段数据
CN111464812B (zh) 编码解码的方法、系统、装置、存储介质及处理器
US20220012849A1 (en) Image processing device and method
CN117011114A (zh) 虚拟桌面的水印嵌入方法、装置、电子设备及存储介质
CN110740316A (zh) 数据编码方法及装置
CN111953986A (zh) 图像处理方法及装置
CN116600107B (zh) 基于ipms-cnn和空域相邻cu编码模式的hevc-scc快速编码方法及装置
CN111385579B (zh) 视频压缩方法、装置、设备和存储介质
CN116052047B (zh) 运动物体检测方法及其相关设备

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
GR01 Patent grant
GR01 Patent grant