CN117278763A - 基于交互的编码方法、编码装置及可读存储介质 - Google Patents
基于交互的编码方法、编码装置及可读存储介质 Download PDFInfo
- Publication number
- CN117278763A CN117278763A CN202210667001.6A CN202210667001A CN117278763A CN 117278763 A CN117278763 A CN 117278763A CN 202210667001 A CN202210667001 A CN 202210667001A CN 117278763 A CN117278763 A CN 117278763A
- Authority
- CN
- China
- Prior art keywords
- current frame
- region
- vector
- repeated
- interactive
- 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
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 62
- 239000013598 vector Substances 0.000 claims abstract description 105
- 230000033001 locomotion Effects 0.000 claims abstract description 84
- 230000008859 change Effects 0.000 claims abstract description 39
- 230000006835 compression Effects 0.000 claims description 14
- 238000007906 compression Methods 0.000 claims description 14
- 230000003993 interaction Effects 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 13
- 241000699666 Mus <mouse, genus> Species 0.000 description 8
- 238000005096 rolling process Methods 0.000 description 8
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 241000699670 Mus sp. Species 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种基于交互的编码方法、编码装置及可读存储介质,其中,编码方法包括接收用户对当前待编码帧的交互信息并根据交互信息确定当前待编码帧的预测变化矢量;根据当前待编码帧的像素和预测变化矢量查找历史数据链表进行运动矢量搜索,匹配得到初始匹配块;根据初始匹配块进行匹配区域的扩展,得到最大匹配区域;根据最大匹配区域对当前待编码帧的相邻帧进行区域去重,得到相邻帧的非重复区域;对相邻帧的非重复区域进行编码,并将非重复区域和与非重复区域关联的矢量标识存储到历史数据链表。本发明实施例结合了交互设备的操作信息,提升区域去重的预测性能,缩短了编码耗时,提高实时交互场景的流畅度。
Description
技术领域
本发明涉及交互式实时编码技术领域,尤其涉及一种基于交互的编码方法、编码装置及可读存储介质。
背景技术
在基于实时交互式的屏幕内容编码的应用场景中,例如云桌面应用和虚拟现实技术应用等,用户经常会通过键盘、鼠标、触摸屏、手柄等设备进行交互,使得当前屏幕在横向、竖向或者其他不固定方向上移动或者滚动等。在该场景下,为了及时地将屏幕变化的内容编码并推送到对端上显示,通常会通过对待编码区域去重,减少编码区域和缩减编码耗时。
相关技术下,待编码区域去重一般是通过对已编码数据生成hash值并缓存到内存或者数据库中,后续更新的内容重新生成hash值并根据hash值进行匹配、命中。但是基于hash算法的方案在面对高分辨率的情况,CPU的资源消耗和计算耗时将会成倍增加,影响编码的实时性。
发明内容
本发明实施例提供了一种基于交互的编码方法、编码装置及可读存储介质,能够结合交互设备的输入情况进行编码,达到提升编码速度和交互流畅度的目的。
第一方面,本发明实施例提供了一种基于交互的编码方法,包括:
接收用户对当前待编码帧的交互信息并根据所述交互信息确定所述当前待编码帧的预测变化矢量,所述交互信息用于表征用户通过交互设备对画面进行操作以使画面中的至少一部分像素往至少一个方向移动和/或滚动;
根据所述当前待编码帧的像素和所述预测变化矢量查找历史数据链表进行运动矢量搜索,得到初始匹配块和精确运动矢量,所述历史数据链表存储有历史画面变化前后的非重复区域和与非重复区域关联的矢量标识,所述矢量标识用于表征历史画面变化前后的变化矢量;
根据所述初始匹配块和所述精确运动矢量进行匹配区域的扩展,得到最大匹配区域;
根据所述最大匹配区域对所述当前待编码帧进行区域去重,得到所述当前待编码帧的非重复区域;
对所述当前待编码帧的非重复区域进行编码,并将所述非重复区域和与所述非重复区域关联的矢量标识存储到所述历史数据链表。
第二方面,本发明实施例提供了一种编码装置,包括至少一个处理器和用于与所述至少一个处理器通信连接的存储器;所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的编码方法。
第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面所述的编码方法。
本发明实施例提供的基于交互的编码方法、编码装置及可读存储介质,至少具有如下有益效果:在用户对交互设备进行操作使得画面发生移动、滚动的情况下,根据交互设备的操作情况可以确定出当前待编码帧粗略的运动方式,从而确定当前待编码帧的预测变化矢量,根据预测变化矢量进行运动矢量搜索,确定重复区域和非重复区域,显著提升交互式场景下画面移动、滚动场景下编码区域的去重效率,达到提升编码速度和编码准确性、提升交互式场景使用流畅度的目标。
附图说明
图1是本发明一个实施例提供的编码方法的整体流程图;
图2是本发明一个实施例提供的判断交互信息是否触发画面移动、滚动的流程图;
图3是本发明一个实施例提供的计算预测变化矢量的流程图;
图4是本发明一个实施例提供的通过运动矢量搜索得到精确运动矢量的流程图;
图5是本发明一个实施例提供的扩展区域得到最大匹配区域的流程图;
图6是本发明一个实施例提供的对非重复区域记录到历史数据链表的流程图;
图7是本发明一个实施例提供的编码装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在基于实时交互式的屏幕内容编码的云桌面场景中,以及在实时性要求非常高的虚拟现实技术应用场景中,用户经常会通过键盘、鼠标、触摸屏、手柄、头戴式VR设备等与画面进行交互,实现快速的横向、竖向或者其他不固定方向上的拖动或滚动操作。在这些场景下,为了及时将画面变化的内容编码并推送到对端上显示,需要通过对待编码画面去重来减少待编码区域、缩减编码耗时。
相关技术下常见的区域去重方法是通过对已编码数据生成哈希值,并将哈希值缓存到内存或者数据库中,后续画面中更新的内容重新生成新的哈希值,并将新的哈希值与已缓存的哈希值进行匹配,匹配命中则可以避免重复编码。但是基于哈希算法的区域匹配和去重方案在画面的分辨率超过一定大小时,哈希值计算所消耗的CPU资源和所需耗时将会成倍增加,影响实时性。
基于此,本发明实施例提供了一种基于交互的编码方法、编码装置及可读存储介质,结合了交互设备的输入情况,识别画面在交互中的移动、滚动场景,并且进一步预测出运动矢量,从而基于此实现精确位移计算,实现快速的重复区域识别,加快编码速度和缩减编码耗时。
参照图1,本发明实施例提供的一种编码方法,包括但不限于以下步骤S100至步骤S500。
步骤S100,接收用户对当前待编码帧的交互信息并根据交互信息确定当前待编码帧的预测变化矢量,交互信息用于表征用户通过交互设备对画面进行操作以使画面中的至少一部分像素往至少一个方向移动和/或滚动;
步骤S200,根据当前待编码帧的像素和预测变化矢量查找历史数据链表进行运动矢量搜索,得到初始匹配块和精确运动矢量,历史数据链表存储有历史画面变化前后的非重复区域和与非重复区域关联的矢量标识,矢量标识用于表征历史画面变化前后的变化矢量;
步骤S300,根据初始匹配块和精确运动矢量进行匹配区域的扩展,得到最大匹配区域;
步骤S400,根据最大匹配区域对当前待编码帧进行区域去重,得到当前待编码帧的非重复区域;
步骤S500,对当前待编码帧的非重复区域进行编码,并将非重复区域和与非重复区域关联的矢量标识存储到历史数据链表。
本发明实施例的编码方法应用于交互式系统中,交互式系统包含交互设备,用户通过交互设备可以进行输入,使得交互式系统中的画面发生变化;例如在云桌面应用场景中,交互式系统是用户端与云端之间的交互,云端接收用户输入、处理用户数据,然后实时将画面发送到用户端显示,这就要求画面传送的耗时尽可能缩短;又如在虚拟现实技术应用场景中,交互式系统是整套VR设备,用户可以通过VR头盔或者手柄进行输入,VR设备根据输入情况反馈相应的画面给用户,同样要求画面传送的耗时尽可能缩短。因此本发明实施例针对上述交互式系统这一特有场景,提供一种快速编码、提升使用流畅度的方案。具体来说,首先根据交互设备的操作情况确定用户对当前待编码帧的交互信息,然后根据交互信息预测出当前待编码帧是否需要滚动、移动;当当前待编码帧需要滚动、移动,则根据交互信息得出预测变化矢量。这个交互信息由用户触发,因用户的操作行为而预测出当前待编码帧变化的预测变化矢量,用户可以通过键盘、鼠标、触摸屏、手柄、头戴式VR设备等与画面进行交互,这些交互行为被交互式系统捕获,从而计算出预测变化矢量。预测变化矢量由预测方向和预测位移组成,表示前后两帧画面从起始点到结束点之间的矢量。可以理解是,这个交互信息并不一定使得当前待编码帧整体移动或滚动,可以是当前待编码帧的一部分移动或者滚动,例如用户滚动鼠标的滚轮,使得网页中的部分内容滚动,网页的其他部分保持不动;又如,用户通过VR头盔进行游戏并抬头向上时,VR画面中视觉部分移动,而游戏UI部分保持不动。
针对上述当前待编码帧和预测得到预测变化矢量,在一定的像素范围内,按照当前待编码帧的像素和预测变化矢量查找历史数据链表,进行运动矢量搜索。其中历史数据链表由历史记录得到的非重复区域和与非重复区域关联的矢量标识构成,搜索时根据预测变化矢量从历史数据链表中记录的关联关系锁定一个或多个记录,从而匹配出初始匹配块和精确运动矢量。
然后对上述搜索后匹配到的初始匹配块进行匹配区域的扩展,扩展方式根据精确运动矢量确定,扩展后得到最大匹配区域。根据这个最大匹配区域进行去重,得到非重复区域,然后就可以执行后续的编码,重复区域则进行标识,并将编码后的码流发送到对端设备,对端设备根据码流中的标识得到重复区域并解码得到非重复区域。
可以理解的是,划分出重复区域和非重复区域后,非重复区域需要记录到历史数据链表中,用于后续在画面运动过程待编码数据的搜索和去重。其中历史数据链表可以存储在内存、数据库或者参考帧中,在此不作限制。
在交互设备为远程桌面场景下的输入设备的情况下,在确定交互信息之前还需要判断当前交互设备的输入是否能够触发画面的移动、滚动,具体来说,参照图2,上述步骤S100还包括:
步骤S110,接收用户对输入设备的操作信息;
步骤S120,当确定操作信息触发当前待编码帧中的至少一部分像素往至少一个方向移动和/或滚动,将操作信息作为交互信息。
远程桌面场景下,或者云桌面场景下,用户的交互设备往往是鼠标、键盘等,但是鼠标和键盘的输入并不一定能够触发当前待编码帧的移动、滚动,例如在无法左右滑动的窗口中,按住鼠标左键并往右边移动一段距离,并不能使得当前待编码帧发生移动(鼠标的光标在到达画面左边边界处时,光标也没有移动),此时交互式系统不需要响应这一输入执行上述编码方法。当用户操作交互设备使得当前待编码帧中的至少一部分像素往至少一个方向移动和/或滚动,则认为用户的本次操作可以作为触发上述编码方法的交互行为。
参照图3,上述根据交互信息确定当前待编码帧的预测变化矢量,可以通过以下步骤确定:
步骤S130,根据交互信息预测当前待编码帧的运动方向和运动距离;
步骤S140,根据运动方向和运动距离确定预测变化矢量。
交互信息可以表示一个较为复杂的移动轨迹,但是移动轨迹的起点和终点是确定的,因此在前后两帧画面之间,能够根据前一帧中的起点和后一帧中的终点确定精确的运动矢量,此时根据交互信息预测的运动方向和运动距离,可以直接计算得到粗略的预测变化矢量。可以理解的是,上述步骤S130和步骤S140均适用于云桌面场景以及虚拟现实技术应用场景中,尽管两者的输入方式存在差别,但是反映到画面上的变化仍然可以通过矢量来表示。
参照图4,运动矢量搜索的过程包括以下步骤:
步骤S210,将当前待编码帧按照像素分布规律划分多个块,并将预测变化矢量设置为初始搜索矢量;
步骤S220,从划分所得的多个块中选择若干块作为运动矢量搜索的起始点,在初始搜索矢量的一定范围内进行运动矢量搜索,得到精确匹配块和精确运动矢量。
基于块匹配算法,在一定的像素范围内,对块进行匹配,从而确定精确运动矢量。相关技术下通常是采用参考帧进行块匹配,但是本发明实施例在历史数据链表中进行匹配。如前可知,历史数据链表是在执行本发明实施例的过程中,由非重复区域和关联的矢量标识构成链表形式,对于划分得到的块,可以在历史数据链表中进行匹配,这样可以充分利用连续多个画面中的非重复区域,进行搜索和去重,相对于采用参考帧的方式,参照帧通常只能表示当前待编码帧与其附近若干帧画面之间的变化,但是采用存储好的历史数据链表能够有效扩充参考区域,对整个画面生成过程都能够提供搜索和去重的帮助。
上述划分若干块的过程,可以基于当前待编码帧的像素本身的分布规律进行划分,例如对于固定分辨率的画面,以固定大小网格对当前待编码帧进行划分而不考虑当前待编码帧的内容如何,又如可以根据当前待编码帧的像素颜色自动划分多个大小不同的块,又或者是根据像素的哈希值对当前待编码帧进行划分,具体包括以下步骤:
基于当前待编码帧的像素,按照编码单元的大小对当前待编码帧进行划分;
其中,块的内容为原始像素值或者基于像素值计算的哈希值。
可以理解的是,块的大小可以基于编码单元的大小划分,可以是编码单元下更精细的划分,也可以是大于编码单元的大小的划分等等,在此不作限定,本领域技术人员可以根据实际需要设置块的大小。
参照图5,根据上述运动矢量搜索后得到的初始匹配块,进行匹配区域的扩展,包括以下步骤:
步骤S310,在精确运动矢量的水平方向和垂直方向上对初始匹配块进行扩展,确定上边界、下边界、左边界和右边界,构成匹配边界;
步骤S320,在匹配边界的每一个水平行上,确定水平行的左右边界;
步骤S330,根据左右边界构成的匹配区域小于预设阈值的全部水平行确定最大匹配区域。
首先在初始匹配块的水平方向和垂直方向上找出最大的匹配边界,水平方向和垂直方向上的距离由精确运动矢量确定,实际上是对精确运动矢量进行矢量分解。然后在每一个水平行上,确定出左右边界,直到行上的匹配区域小于预设阈值,匹配结束之后得到最大匹配区域。其中预设阈值根据实际精度等需要设定,例如设定为50%的左右最大边界等。
根据上述去重处理之后,得到重复区域和非重复区域,对非重复区域进行编码后,还需要将非重复区域及相关信息记录到历史数据链表,参照图6,具体包括:
步骤S510,获取非重复区域的区域大小信息、像素信息、区域标识和与非重复区域关联的精确运动矢量;
步骤S520,在历史数据链表的最新记录后存储非重复区域的区域大小信息、像素信息、区域标识,并根据与非重复区域关联的精确运动矢量对历史数据链表的最新记录进行关联。
例如,当前待编码帧与相邻帧之间为整体向下的运动状态时,非重复区域在添加到历史数据链表的时候,可以在历史数据链表最新的一个记录后面进行关联,标识为向下关联;同理,当前待编码帧与相邻帧之间为整体向上的运动状态是,非重复区域在添加到历史数据链表的时候,可以在历史数据链表最新的一个记录后面进行关联,标识为向上关联。
最后,编码方式也可以根据实际需要选取,例如根据实时性要求的不同,可以采用下面两种编码方式中的一种:
在采用浅度压缩技术进行编码的情况下,将画面中的重复区域去除后对非重复区域进行编码,重复区域在码率中进行标记后无需编码;
在采用深度压缩技术进行编码的情况下,将重复区域和与重复区域关联的矢量标识设置到编码器中,非重复区域采用深度压缩技术进行编码。
浅度压缩适用于实时性要求较高的场景,编码解码过程耗时更小,但是占用码流较大,适用于虚拟现实技术的应用场景下。深度压缩适用于实时性要求稍低的场景,编码解码过程耗时稍长,但是占用码流较小,适用于云桌面的应用场景下。
通过上述各个步骤,在用户对交互设备进行操作使得画面发生移动、滚动的情况下,根据交互设备的操作情况可以确定出当前待编码帧粗略的运动方式,从而确定当前待编码帧的预测变化矢量,根据预测变化矢量进行运动矢量搜索,确定重复区域和非重复区域,显著提升交互式场景下画面移动、滚动场景下编码区域的去重效率,达到提升编码速度和编码准确性、提升交互式场景使用流畅度的目标。
下面通过两个示例对本发明的编码方法进行说明。
示例一,应用于云桌面场景中的编码方法。
编码端的实施包括以下步骤:
1.接收鼠标的按键信息、移动信息或者键盘的按键信息或者手柄的按键信息、摇杆信息,识别上述输入信息是否为滚动或者移动场景;
2.针对上述识别出的滚动或者移动场景,预测当前待编码帧的运动方向,运动方向不固定上下左右或者某些角度,比如根据鼠标拖动的过程中鼠标的运动轨迹预测当前待编码帧运动的方向,运动轨迹可以用于计算粗略的运动位移;
3.针对上述识别出的运动方向和运动位移,在一定的像素范围内,按照当前待编码帧的分块后块的原始像素或者基于像素生成的hash值,进行运动矢量的搜索。搜索时可以参考运动过程中记录的历史数据链表,更优的方法是根据预测变化矢量,从记录的历史数据链表中链表的关联关系锁定一个或者多个记录;
4.根据上述运动矢量搜索得到的初始匹配块,进行匹配区域的扩展,首先在匹配块的水平和垂直方向上找出最大的匹配边界,然后在每一个水平行上,确定出匹配的左右边界,直到行上的匹配区域小于预先设定的阈值,匹配结束后得出最大匹配区域和精确运动矢量;
5.根据上述搜索扩展后确定的最大匹配区域和精确运动矢量,进行重复区域的去除或者向编码器设置运动区域、运动矢量、参考帧信息等,用于编码过程的快速压缩;
6.滚动、移动过程中产生的非重复区域需要记录到内存、数据库或者参考帧中,用于后续运动过程待编码数据的搜索和去重,区域记录时需要记录与已有记录的关联关系,区域的大小、区域的像素信息、区域的ID信息。
解码端的实施包括以下步骤:
1.解析解码后的码流,若码流中携带了重复区域的信息,则根据区域的位置、区域大小、所使用的历史记录的ID和起始点,进行区域像素的恢复;编码端为深度压缩时,重复区域也可以通过参考帧的使用和正常的运动搜索表达这一区域,因此解码后不必须包含重复区域信息,此时无需进行该步骤的处理;
2.解析解码后的码流,若码流中携带了新增的记录区域信息,则根据新增记录的位置、区域大小、编码端传递的ID值保存该记录;编码端为深度压缩时,新增区域存在于参考帧中,以参考帧的形式进行管理,因此解码后不必须包含新增记录信息,此时无需进行该步骤的处理。
示例二,应用于VR场景中的编码方法。
编码端的实施包括以下步骤:
1.接收头戴设备传感器的运动矢量信息,头戴设备的运动信息可以是移动、反转、角度旋转等;
2.针对从头戴设备获取到的运动矢量,在一定的像素范围内,按照当前待编码帧的分块后块的原始像素进行运动矢量的搜索。搜索时可以参考运动过程中记录的历史数据链表,更优的方法是根据预测变化矢量,从记录的历史数据链表中链表的关联关系锁定一个或者多个记录;
3.根据上述运动矢量搜索得到的初始匹配块,进行匹配区域的扩展,首先在匹配块的水平和垂直方向上找出最大的匹配边界,然后在每一个水平行上,确定出匹配的左右边界,直到行上的匹配区域小于预先设定的阈值,匹配结束后得出最大匹配区域和精确运动矢量;
4.根据上述搜索扩展后确定的最大匹配区域和精确运动矢量,进行重复区域的去除或者向编码器设置运动区域、运动矢量、参考帧信息等,用于编码过程的快速压缩;
5.滚动、移动过程中产生的非重复区域需要记录到内存、数据库或者参考帧中,用于后续运动过程待编码数据的搜索和去重,区域记录时需要记录与已有记录的关联关系,区域的大小、区域的像素信息、区域的ID信息。
解码端的实施包括以下步骤:
1.解析解码后的码流,若码流中携带了重复区域的信息,则根据区域的位置、区域大小、所使用的历史记录的ID和起始点,进行区域像素的恢复;编码端为深度压缩时,重复区域也可以通过参考帧的使用和正常的运动搜索表达这一区域,因此解码后不必须包含重复区域信息,此时无需进行该步骤的处理;
2.解析解码后的码流,若码流中携带了新增的记录区域信息,则根据新增记录的位置、区域大小、编码端传递的ID值保存该记录;编码端为深度压缩时,新增区域存在于参考帧中,以参考帧的形式进行管理,因此解码后不必须包含新增记录信息,此时无需进行该步骤的处理。
本发明实施例的还提供了一种编码装置,包括至少一个处理器和用于与至少一个处理器通信连接的存储器;存储器存储有能够被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述的编码方法。
参照图7,以编码装置1000中的控制处理器1001和存储器1002可以通过总线连接为例。存储器1002作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器1002可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器1002可选包括相对于控制处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至编码装置1000。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本领域技术人员可以理解,图7中示出的装置结构并不构成对编码装置1000的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例的还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被图7中的一个控制处理器1001执行,可使得上述一个或多个控制处理器执行上述方法实施例中的编码方法,例如,执行以上描述的图1中的方法步骤S100至步骤S500、图2中的方法步骤S110至步骤S120、图3中的方法步骤S130至步骤S140,图4中的方法步骤S210至步骤S220、图5中的方法步骤S310至步骤S330以及图6中的方法步骤S510至步骤S520。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种基于交互的编码方法,包括:
接收用户对当前待编码帧的交互信息并根据所述交互信息确定所述当前待编码帧的预测变化矢量,所述交互信息用于表征用户通过交互设备对画面进行操作以使画面中的至少一部分像素往至少一个方向移动和/或滚动;
根据所述当前待编码帧的像素和所述预测变化矢量查找历史数据链表进行运动矢量搜索,得到初始匹配块和精确运动矢量,所述历史数据链表存储有历史画面变化前后的非重复区域和与非重复区域关联的矢量标识,所述矢量标识用于表征历史画面变化前后的变化矢量;
根据所述初始匹配块和所述精确运动矢量进行匹配区域的扩展,得到最大匹配区域;
根据所述最大匹配区域对所述当前待编码帧进行区域去重,得到所述当前待编码帧的非重复区域;
对所述当前待编码帧的非重复区域进行编码,并将所述非重复区域和与所述非重复区域关联的矢量标识存储到所述历史数据链表。
2.根据权利要求1所述的编码方法,其特征在于,在所述交互设备为远程桌面场景下的输入设备的情况下,所述接收用户对当前待编码帧的交互信息包括:
接收用户对所述输入设备的操作信息;
当确定所述操作信息触发当前待编码帧中的至少一部分像素往至少一个方向移动和/或滚动,将所述操作信息作为交互信息。
3.根据权利要求1或2所述的编码方法,其特征在于,所述根据所述交互信息确定所述当前待编码帧的预测变化矢量,包括:
根据所述交互信息预测所述当前待编码帧的运动方向和运动距离;
根据所述运动方向和所述运动距离确定预测变化矢量。
4.根据权利要求1所述的编码方法,其特征在于,所述根据所述当前待编码帧的像素和所述预测变化矢量查找历史数据链表进行运动矢量搜索,得到初始匹配块和精确运动矢量,包括:
将所述当前待编码帧按照像素分布规律划分多个块,并将所述预测变化矢量设置为初始搜索矢量;
从划分所得的多个块中选择若干块作为运动矢量搜索的起始点,在所述初始搜索矢量的设定范围内进行运动矢量搜索,得到精确匹配块和精确运动矢量。
5.根据权利要求4所述的编码方法,其特征在于,在所述交互设备为远程桌面场景下的输入设备的情况下,所述将所述当前待编码帧按照像素分布规律划分若干个块,包括:
基于所述当前待编码帧的像素,按照编码单元的大小对所述当前待编码帧进行划分;
其中,所述块的内容为原始像素值或者基于像素值计算的哈希值。
6.根据权利要求1所述的编码方法,其特征在于,所述根据所述初始匹配块和所述精确运动矢量进行匹配区域的扩展,得到最大匹配区域,包括:
在所述精确运动矢量的水平方向和垂直方向上对所述初始匹配块进行扩展,确定上边界、下边界、左边界和右边界,构成匹配边界;
在所述匹配边界的每一个水平行上,确定水平行的左右边界;
根据所述左右边界构成的匹配区域小于预设阈值的全部所述水平行确定最大匹配区域。
7.根据权利要求1所述的编码方法,其特征在于,所述将所述非重复区域和与所述非重复区域关联的矢量标识存储到所述历史数据链表,包括:
获取所述非重复区域的区域大小信息、像素信息、区域标识和与所述非重复区域关联的精确运动矢量;
在所述历史数据链表的最新记录后存储所述非重复区域的区域大小信息、像素信息、区域标识,并根据与所述非重复区域关联的精确运动矢量对所述历史数据链表的最新记录进行关联。
8.根据权利要求1所述的编码方法,其特征在于,所述对所述相邻帧的非重复区域进行编码,包括:
在采用浅度压缩技术进行编码的情况下,将画面中的重复区域去除后对非重复区域进行编码,重复区域无需进行编码处理并在码率中进行标识重复区域;
在采用深度压缩技术进行编码的情况下,将重复区域和与重复区域关联的矢量标识设置到编码器中,非重复区域采用深度压缩技术进行编码。
9.一种编码装置,其特征在于,包括至少一个处理器和用于与所述至少一个处理器通信连接的存储器;所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任意一项所述的编码方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至8中任意一项所述的编码方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210667001.6A CN117278763A (zh) | 2022-06-14 | 2022-06-14 | 基于交互的编码方法、编码装置及可读存储介质 |
PCT/CN2023/097192 WO2023241352A1 (zh) | 2022-06-14 | 2023-05-30 | 基于交互的编码方法、编码装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210667001.6A CN117278763A (zh) | 2022-06-14 | 2022-06-14 | 基于交互的编码方法、编码装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117278763A true CN117278763A (zh) | 2023-12-22 |
Family
ID=89192261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210667001.6A Pending CN117278763A (zh) | 2022-06-14 | 2022-06-14 | 基于交互的编码方法、编码装置及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117278763A (zh) |
WO (1) | WO2023241352A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112001902A (zh) * | 2020-08-19 | 2020-11-27 | 上海商汤智能科技有限公司 | 缺陷检测方法和相关装置、设备、存储介质 |
CN112218076B (zh) * | 2020-10-17 | 2022-09-06 | 浙江大华技术股份有限公司 | 一种视频编码方法、装置、系统及计算机可读存储介质 |
CN112911239B (zh) * | 2021-01-28 | 2022-11-11 | 北京市商汤科技开发有限公司 | 视频处理方法及装置、电子设备和存储介质 |
CN113596475A (zh) * | 2021-06-24 | 2021-11-02 | 浙江大华技术股份有限公司 | 图像/视频编码方法、装置、系统及计算机可读存储介质 |
CN113709456B (zh) * | 2021-06-30 | 2022-11-25 | 杭州海康威视数字技术股份有限公司 | 解码方法、装置、设备及机器可读存储介质 |
-
2022
- 2022-06-14 CN CN202210667001.6A patent/CN117278763A/zh active Pending
-
2023
- 2023-05-30 WO PCT/CN2023/097192 patent/WO2023241352A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023241352A1 (zh) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113557745B (zh) | 点云几何结构填充 | |
US9398349B2 (en) | Comment information generation device, and comment display device | |
JP2020516188A (ja) | 顔画像重複削除方法及び装置、電子機器、記憶媒体、プログラム | |
US20160309239A1 (en) | Comment information generating apparatus and comment information generating method | |
CN110035329B (zh) | 图像处理方法、装置及存储介质 | |
US20120236199A1 (en) | Information processing apparatus, image transmitting program, image transmitting method and image display method | |
CN113691733B (zh) | 视频抖动检测方法、装置、电子设备和存储介质 | |
US20210082178A1 (en) | Method and apparatus for processing a 3d scene | |
CN111340101A (zh) | 稳定性评估方法、装置、电子设备和计算机可读存储介质 | |
CN112579244B (zh) | 在移动终端截取远程桌面中区域图片的方法及系统 | |
CN117278763A (zh) | 基于交互的编码方法、编码装置及可读存储介质 | |
US8953843B1 (en) | Selecting objects in a sequence of images | |
CN112256993A (zh) | 一种图片加速显示方法、系统、设备和介质 | |
CN104284195B (zh) | 三维视频中的深度图预测方法、装置、编码器和解码器 | |
JP4429353B2 (ja) | キャプチャ画像記録装置とキャプチャ画像記録プログラム | |
CN110012293B (zh) | 视频数据处理方法及装置 | |
CN110780780B (zh) | 图像处理方法及装置 | |
CN112287803A (zh) | 基于RoI编码的边缘协同目标检测方法及装置 | |
CN112114760A (zh) | 图像处理方法及装置 | |
CN110839157A (zh) | 图像处理方法及装置 | |
CN112087626B (zh) | 图像处理方法、装置及存储介质 | |
CN110765377A (zh) | 一种数据加载方法和装置 | |
CN116668709B (zh) | 图像传输方法、装置、服务端设备及存储介质 | |
CN112807689B (zh) | 游戏视频处理方法、装置、电子设备和存储介质 | |
JP4429349B2 (ja) | 記録装置と記録装置のためのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |