CN112822516B - 基于数据块重组的图像组传输方法、装置、设备和系统 - Google Patents
基于数据块重组的图像组传输方法、装置、设备和系统 Download PDFInfo
- Publication number
- CN112822516B CN112822516B CN202011624546.6A CN202011624546A CN112822516B CN 112822516 B CN112822516 B CN 112822516B CN 202011624546 A CN202011624546 A CN 202011624546A CN 112822516 B CN112822516 B CN 112822516B
- Authority
- CN
- China
- Prior art keywords
- frame
- image frame
- information
- decoding
- buffer area
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000005540 biological transmission Effects 0.000 title claims abstract description 37
- 230000006798 recombination Effects 0.000 title claims abstract description 17
- 238000005215 recombination Methods 0.000 title claims abstract description 17
- 230000006835 compression Effects 0.000 claims abstract description 19
- 238000007906 compression Methods 0.000 claims abstract description 19
- 238000004806 packaging method and process Methods 0.000 claims abstract description 8
- 230000008521 reorganization Effects 0.000 claims abstract description 8
- 238000012163 sequencing technique Methods 0.000 claims abstract description 6
- 230000015654 memory Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 15
- 239000013598 vector Substances 0.000 claims description 5
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 230000007246 mechanism Effects 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 4
- 238000012856 packing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请提供的一种基于数据块重组的图像组传输方法、装置、设备和系统。通过从原始视频流中读取各图像帧信息以分别进行压缩编码,得到各图像帧中帧属性、数据块的编码信息、位置信息、及用于数据块重组的依赖信息;将各图像帧对应的所有信息按先后顺序依次放入临时缓冲区,并依据帧属性划分出多个图像组,进而以各图像组为单位进行打包并依次移出临时缓冲区;将同一图像组内的所有数据块依据依赖信息重组为多个数据包,进而将各数据包按重组先后顺序排序并以各图像组为单位整体放入发送缓冲区,以发送至接收端。本申请在可降低数据包之间数据块解码的依赖度,减小视频传输中数据块的损坏和丢失时受影响的视频图像的范围,提高视频质量。
Description
技术领域
本申请涉及数字视频编解码和传输技术领域,特别是涉及一种基于数据块重组的图像组传输方法、装置、设备和系统。
背景技术
视频流可以视作是连续的图片帧流,由于原画面流传输所需的数据量极大,现有的视频传输机制往往在发送端先将图片帧压缩编码后才传入网络中进行传输,接收端收到编码流之后根据编码对应的步骤依次进行解码操作得到原始图像流之后传入播放器。常用的视频压缩编码技术一般包括分块、帧内与帧间预测、DCT变换、量化、熵编码等阶段。帧间预测使得帧与帧之间存在大量关联性,P帧内某个数据块的正确解码要求前置参考帧中对应位置的信息均正确解码。
但现有的传输体系往往将图像按照帧的时间顺序依次打包发送,这导致若存在某个包一旦出现丢失或损坏的情况,不仅包内包括的数据块无法正确解码,依赖于该数据块的后续数据块也将直接或间接无法正确解码。现有的传输算法按照帧的时间顺序依次传输,一个数据包总由同一帧数据块构成,没有考虑帧与帧之间数据块的依赖关系,导致任何一个数据包的丢失都几乎独立的造成后续大量数据块无法解码,极大降低了可解码块的比例。
发明内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供一种基于数据块重组的图像组传输方法、装置、设备和系统,用于解决上述至少一个问题。
为实现上述目的及其他相关目的,本申请提供一种基于数据块重组的图像组传输方法,应用于发送端,所述方法包括:从原始视频流中读取各图像帧信息以分别进行压缩编码,得到各图像帧中帧属性、每个数据块的编码信息、位置信息、及用于数据块重组的依赖信息;将各图像帧对应的所有信息按先后顺序依次放入临时缓冲区,并依据所述帧属性将放入的各图像帧划分出多个图像组,进而以各图像组为单位进行打包并依次移出临时缓冲区;将同一图像组内的所有数据块依据依赖信息重组为多个数据包,进而将各数据包按重组先后顺序排序并以各图像组为单位整体放入发送缓冲区,以发送至接收端。
于本申请的一实施例中,所述从原始视频流中读取各图像帧信息以分别进行压缩编码,包括:判断各图像帧的帧属性;若当前图像帧为I帧,则直接在帧内进行预测编码;或者,若当前图像帧为P帧,则在该图像帧前的所有参考帧中找到与当前图像帧上各数据块分别对应的相近区域,并据以对各数据块进行帧间压缩编码。
于本申请的一实施例中,依据在该图像帧前的所有参考帧中找到的与当前图像帧上各数据块分别对应的相近区域数据块提取依赖关系,以得到对应各数据块的用于数据块重组的依赖信息;所述依赖信息包括:帧间预测的参考帧编号、运动矢量、及每一数据块依赖的前置数据块。
于本申请的一实施例中,所述将各图像帧及其对应的所有信息按先后顺序依次放入临时缓冲区,并依据所述帧属性将放入的各图像帧划分出多个图像组,并以各图像组为单位进行打包再依次移出临时缓冲区,包括:判断当前图像帧对应的帧属性;若当前图像帧为I帧,则将当前图像帧之前的全部图像帧及其对应的所有信息进行混合打包并移出临时缓冲区,并当前图像帧及其对应的编码信息和辅助信息放入发送缓冲区;或者,若当前图像帧为P帧,则直接将当前图像帧及其对应的编码信息和辅助信息放入发送缓冲区。
于本申请的一实施例中,各所述数据包包含一或多个数据块;其中,至少部分数据块来自同一图像组内的不同图像帧;或者,至少部分数据块来自同一图像帧。
为实现上述目的及其他相关目的,本申请提供一种基于数据块重组的图像组传输方法,应用于接收端,所述方法包括:接收发送端发送的对应至少一图像组的全部数据包并放至接收缓冲区;提取并分离各数据包中每个数据块编码信息,并依据位置信息放置到各数据块所对应图像帧的接收缓冲区中;若当前图像组中所有图像帧的数据包接收完成,则将当前图像组中各数据块对应的编码信息按照原有位置信息进行排列,并按标准解码格式形成解码流以加入解码缓冲区;从解码缓冲区提取经排序的编码信息以进行解码,并将解码后的图像帧作为输出视频流
于本申请的一实施例中,所述将当前图像组中各数据块对应的编码信息按照原有位置信息进行排列,并按标准解码格式形成解码流以加入解码缓冲区,包括:判断当前图像帧对应的帧属性;若当前图像帧为I帧,则判断其对应的数据块是否已经全部到达解码缓冲区;若全部到达,则将按标准解码格式形成解码流以加入解码缓冲区;或者,若当前图像帧为P帧,则判断其对应的所有参考帧是否已经全部到达解码缓冲区,并检测当前图像帧的完整性,以供将完整的当前图像帧的编码信息按照标准解码格式形成解码流以加入解码缓冲区。
于本申请的一实施例中,所述方法还包括:当任意一图像帧加入解码缓冲区时,将其标记以视作已解码。为实现上述目的及其他相关目的,本申请提供一种基于数据块重组的图像组传输装置,其特征在于,应用于发送端,所述装置包括:编码模块,用于从原始视频流中读取各图像帧信息以分别进行压缩编码,得到各图像帧中帧属性、每个数据块的编码信息、位置信息、及用于数据块重组的依赖信息;分组模块,用于将各图像帧对应的所有信息按先后顺序依次放入临时缓冲区,并依据所述帧属性将放入的各图像帧划分出多个图像组,进而以各图像组为单位进行打包并依次移出临时缓冲区;发送模块,用于将同一图像组内的所有数据块依据依赖信息重组为多个数据包,进而将各数据包按重组先后顺序排序并以各图像组为单位整体放入发送缓冲区,以发送给接收端。
为实现上述目的及其他相关目的,本申请提供一种基于数据块重组的图像组传输装置,应用于接收端,所述装置包括:接收模块,用于接收发送端发送的对应至少一图像组的全部数据包并放至接收缓冲区;排序模块,用于提取并分离各数据包中每个数据块编码信息,并依据位置信息放置到各数据块所对应图像帧的接收缓冲区中;若当前图像组中所有图像帧的数据包接收完成,则将当前图像组中各数据块对应的编码信息按照原有位置信息进行排列,并按标准解码格式形成解码流以加入解码缓冲区;解码模块,用于从解码缓冲区提取经排序的编码信息以进行解码,并将解码后的图像帧作为输出视频流输出。
为实现上述目的及其他相关目的,本申请提供一种发送端设备,所述设备包括:存储器、处理器、及通信器;所述存储器用于存储计算机程序;所述处理器运行计算机程序实现如上所述的应用于发送端的方法;所述通信器用于与接收端设备通信连接。
为实现上述目的及其他相关目的,本申请提供一种接收端设备,所述设备包括:存储器、处理器、及通信器;所述存储器用于存储计算机程序;所述处理器运行计算机程序实现如上所述的应用于接收端的方法;所述通信器用于与发送端设备通信连接。
为实现上述目的及其他相关目的,本申请提供一种基于数据块重组的图像组传输系统,所述系统包括:如上所述的发送端设备、及如上所述的接收端设备;所述发送端设备与所述接收端设备通信连接;所述发送端设备用于对原始视频流进行压缩编码并发送至所述接收端设备;所述接收端设备用于对接收的压缩编码数据进行解码并形成对应的输出视频流。
为实现上述目的及其他相关目的,本申请提供一种计算机可读存储介质,其上存储有应用于发送端的计算机指令,所述计算机指令被运行时执行如上所述的应用于发送端的方法;和/或,其上存储有应用于接收端的计算机指令,所述计算机指令被运行时执行如上所述的应用于接收端的方法。
综上所述,本申请的一种基于数据块重组的图像组传输方法、装置、设备和系统。本申请在常用的符合互联网视频编码标准的视频编码算法的基础上,设计一种以多帧数据为传输可划分单位,基于数据块依赖关系重组打包与解包的传输机制,该机制可降低数据包之间数据块解码的依赖度,减小视频传输中数据块的损坏和丢失时受影响的视频图像的范围,提高视频质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1显示为本申请中常见编解码流程的场景示意图。
图2A-2C显示为本申请中应用于发送端的基于数据块重组的图像组传输方法的流程示意图。
图3A-3B显示为本申请中应用于接收端的基于数据块重组的图像组传输方法的流程示意图。
图4显示为本申请中基于数据块重组的图像组传输方法的场景示意图。
图5显示为本申请中应用于发送端的基于数据块重组的图像组传输装置的模块示意图。
图6显示为本申请中应用于接收端的基于数据块重组的图像组传输装置的模块示意图。
图7显示为本申请中发送端设备的结构示意图。
图8显示为本申请中接收端设备的结构示意图。
图9显示为本申请中基于数据块重组的图像组传输系统的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,虽然图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,但其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在通篇说明书中,当说某部分与另一部分“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种部分“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素,排除在外,而是意味着可以还包括其它构成要素。
其中提到的第一、第二及第三等术语是为了说明多样的部分、成分、区域、层及/或段而使用的,但并非限定于此。这些术语只用于把某部分、成分、区域、层或段区别于其它部分、成分、区域、层或段。因此,以下叙述的第一部分、成分、区域、层或段在不超出本申请范围的范围内,可以言及到第二部分、成分、区域、层或段。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
如图1所示,展示为本申请于一实施例中的常见编解码流程的场景示意图。如图所示,在发送端,编码模块每次从视频流中取出下一帧画面,按照符合互联网视频编码标准的视频编码算法进行编码,并将编码好的数据块放入发送缓冲区等待发送。在发送缓冲区模块,算法会根据编码输入的顺序依次将若干个数据块的内容组成为一个符合网络传输规范的数据包,并将其发送给接收端。由于编码的加入顺序是按照帧的时间顺序,绝大多数的数据包内包含了同一个画面帧的信息,且时间顺序靠前的画面帧总是比时间顺序靠后的帧先发出。
在接收端,每收到一个数据包,接收端将还原出其在帧中的位置信息以及正确的编码信息,并将其加入缓冲区交由对应于编码模块的解码模块进行解码,解码完成后直接将当前图像帧放入视频播放器进行视频流的播放。
需要说明的是,现有的视频流可以视作是连续的图片帧流,由于原画面流传输所需的数据量极大,现有的视频传输机制往往在发送端先将图片帧压缩编码后,再将这些编码按照帧的时间顺序和帧内的空间顺序依次组成网络包并通过网络发送。接收端收到编码流之后根据编码对应的步骤依次进行解码操作得到原始图像流之后传入播放器。
现有的传输体系往往将图像按照帧的时间顺序依次打包发送,这导致若存在某个包一旦出现丢失或损坏的情况,不仅包内包括的数据块无法正确解码,依赖于该数据块的后续数据块也将直接或间接无法正确解码。现有的传输算法按照帧的时间顺序依次传输,一个数据包总由同一帧数据块构成,没有考虑帧与帧之间数据块的依赖关系,导致任何一个数据包的丢失都几乎独立的造成后续大量数据块无法解码,极大降低了可解码块的比例。
鉴于上述现有技术存在的问题,本申请提供的一种基于数据块重组的图像组传输方法、装置、设备和系统,本申请在常用的符合互联网视频编码标准的视频编码算法的基础上,设计一种以多帧数据为传输可划分单位,基于数据块依赖关系重组打包与解包的传输机制,该机制可降低数据包之间数据块解码的依赖度,减小视频传输中数据块的损坏和丢失时受影响的视频图像的范围,提高视频质量。
如图2A所示,展示为本申请于一实施例中的基于数据块重组的图像组传输方法的流程示意图。所述方法主要应用于发送端。如图所示,所述方法包括:
步骤S210:从原始视频流中读取各图像帧信息以分别进行压缩编码,得到各图像帧中帧属性、每个数据块的编码信息、位置信息、及用于数据块重组的依赖信息。
优选地,所述原始视频源包括:符合互联网视频编码标准的视频编码器实时输出的视频码流,或由上述编码器预先生成并存储于计算机存储介质中的视频码流,或第三方通过网络提供的由上述方法产生的视频码流等。
另外,本申请以图像组为单位进行处理,若获取到的编码数据不足一个图像组,则需要等待视频源产生足量的数据再继续。
于本申请一实施例中,如图2B所示,所述从原始视频流中读取各图像帧信息以分别进行压缩编码,包括:
步骤S211:判断各图像帧的帧属性;
在视频流中,需要存在少量帧只利用本帧信息即可解码的关键帧,称之为I帧;其他帧都是非关键帧,称之为P帧。P帧的解码依赖于前面若干I帧或不超过前面第一个I帧的P帧,要求前置所有依赖帧的正确解码。
其中,I帧为帧内编码帧,其尽可能去除图像空间冗余信息来压缩传输数据量的帧内编码图像;P帧为前向预测编码帧,其通过充分将低于图像序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧。一般地,I帧压缩效率最低,P帧较高。
于本实施例中,本申请针对I帧编码主要采用帧内预测编码模式,针对P帧编码主要采用帧间预测编码模式。简单来说,帧内预测编码和帧间预测编码,主要利用一帧画面内部或相邻帧之间的相似性,通过只编码差异信息,从而减小数据量。
步骤S212:若当前图像帧为I帧,则直接在帧内进行预测编码;
于本实施例中,针对I帧编码直接在帧内进行预测编码,其基本流程为:
(1)进行帧内预测,采用帧内预测模式;
(2)像素值减去预测值,得到残差;
(3)对残差进行变换和量化;
(4)变长编码和算术编码;
(5)重构图像并滤波,得到的图像作为其它帧的参考帧。
步骤S213:或者,若当前图像帧为P帧,则在该图像帧前的所有参考帧中找到与当前图像帧上各数据块分别对应的相近区域数据块,并据以对各数据块进行帧间压缩编码。
需要说明的是,由于视频流中相邻若干帧的关联性极高,帧间预测技术在压缩中起到至关重要的作用。在该技术中,每一帧图像将被划分为若干数据块,对于每一个数据块,在其相邻的若干帧图像(称其为参考帧)中寻找到最相近的区域,以该区域的位置信息以及两者的差异信息作为该数据块的编码,可以极大程度上减少编码数据量。
于本实施例中,若当前帧为P帧,则对于每一数据块扫描前面的所有参考图像帧,找到与该数据块最相近的区域,然后利用该区域对此数据块进行帧间压缩编码,并记录解码依赖信息。
于本实施例中,P帧编码主要采用帧间预测编码模式,其基本流程为:
(1)进行运动估计,计算采用帧间编码模式的率失真函数(节)值。P帧只参考前面的帧;
(2)进行帧内预测,采用帧间预测编码模式;
(3)计算实际值和预测值的差值,采用离散余弦变换(Discrete CosineTransform,DCT),这一步可以提取视频画面(或画面差异)中不同频率的分量,方便进一步的处理;
(4)对残差进行变换和量化,即对于上述分量的数值取近似值,用有限位二进制数字表示;
(5)熵编码,主要为编码运动矢量,这是一种广泛应用于各种类型的数据的无损压缩方法,可以进一步减少数据量。
于本实施例中,将上述编码继续进行后续编码操作得到最终编码。编码结束后,可获得各图像帧中帧属性、每个数据块的编码信息、位置信息、及用于数据块重组的依赖信息。其中,各信息的含义如下:
帧属性:主要是看当前图像帧为I帧还是P帧;
数据块:通常执行视频编码时会将获取到的视频画面划分为特定大小的像素块,例如4x4、8x8、16x16、32x32或其它大小。这个像素块便是数据块,在H.264中称为宏块(Macroblock),HEVC中称为编码树单元(CTU)和编码单元(CU)。
于本申请中,所述在该图像帧前的所有参考帧中找到与当前图像帧上各数据块分别对应的相近区域,即为块匹配(Block Matching),就是看前面已经编码的几个图像帧中,和当前图像帧的这个块最类似的一个块,这样就可以不用编码当前块的内容,只需要编码当前块和找到的那个块的差(称为残差)就可以了。找最像的块的过程叫运动搜索(MotionSearch),又叫运动估计(Motion Estimation)。用残差和原来的块就能推算出当前块是什么样儿的,这个过程叫运动补偿(Motion Compensation)。
编码信息:基于数据块使用符合互联网视频编码标准的编码算法进行编码以得到数据块的编码信息。
位置信息:将一图像画面或图像帧划分为多个数据块时,各数据块会对应形成有表示其在图像画面中位置关系的信息,例如可通过代码表示。例如以H264标准为例,1-1表示第一排第一个的位置,1-2表示第一排第二个的位置等,按照Z字形进行编号。
依赖信息:依据在该图像帧前的所有参考帧中找到的与当前图像帧上各数据块分别对应的相近区域数据块提取依赖关系,以得到对应各数据块的用于数据块重组的依赖信息。所述依赖信息可用于数块的重组。具体地,所述依赖信息包括:帧间预测的参考帧编号、运动矢量、及每一数据块依赖的前置数据块。
需要说明的是,通过帧间预测编码会找到帧间差异信息,但是很少记录帧间的依赖关系。正是由于没有考虑帧与帧之间数据块的依赖关系,才导致按照帧的时间顺序依次打包发送的现有传输体系中,任何一个数据包的丢失都几乎独立的造成后续大量数据块无法解码,极大降低了可解码块的比例。
而本申请提出的依赖信息具体可包括:帧间预测的参考帧编号、运动矢量、以及通过收集到的信息检索每一数据块依赖的前置数据块。这样通过数据块间的依赖关系,可以改变传统数据包中需包含同一图像帧的各数据块编码,使得不同图像帧的关联数据块重组一数据包中,并且根据依赖关系还可在解码端按照原图像中的位置进行顺序编码,可有效降低包与包之间解码的依赖度,不会因若干数据包的丢失而造成后续大量数据块无法解码的问题。
步骤S220:将各图像帧对应的所有信息按先后顺序依次放入临时缓冲区,并依据所述帧属性将放入的各图像帧划分出多个图像组,进而以各图像组为单位进行打包并依次移出临时缓冲区。
于本实施例中,与传统方式在编码结束后直接进行打包发送不同的,本申请在通过步骤S210得到各图像帧的完整数据后,并不直接打包发送,而是先将所有图像帧的所有信息按到达顺序放入临时缓冲区。
于本申请一实施例中,如图2C所示,所示,所述步骤S220具体包括:
步骤S221:判断当前图像帧对应的帧属性;
步骤S222:若当前图像帧为I帧,则将当前图像帧之前的全部图像帧及其对应的所有信息进行混合打包并移出临时缓冲区,并当前图像帧及其对应的编码信息和辅助信息放入发送缓冲区;
需要说明的是,一个视频流总由I帧起始,一个关键帧以及位于其后但位于下一个关键帧之前的所有非关键帧构成一个图像组(Group of Picture,GOP)。同一图像组中的多个图像画面或图像帧的相似性高或为连续的,因此同一图像画面中的差异信息少,各数据块的依赖关系高,故进行图像组的划分可以提高编码及解码的效率。
优选地,当前图像帧为I帧时,本申请则会默认前一图像组已完全编码,或者判定当前图像帧为新图像组的首帧,以此将当前图像帧放入发送缓冲区并作为新图像组的首帧。
简单来说,对于一个到来的I帧,本申请会认为此时前一图像组已经完全编码完成,可将当前图像帧的信息传入临时缓冲区的下一部分,并对前面这些图像帧的全部数据进行混合打包并传输。同时清空前一个图像组的数据为即将到来的新图像组提供空间。将当前图像帧对应的各数据块的编码信息以及依赖信息放入缓冲区,并作为新图像组的首帧数据。
步骤S223:或者,若当前图像帧为P帧,则直接将当前图像帧及其对应的编码信息和辅助信息放入发送缓冲区。
简单来说,对于一个到来的P帧,将其对应的各数据块的编码信息以及依赖信息放入缓冲区。另外,若依赖信息之间支持合并,则还可进行信息合并过程以精简信息。
步骤S230:将同一图像组内的所有数据块依据依赖信息重组为多个数据包,进而将各数据包按重组先后顺序排序并以各图像组为单位整体放入发送缓冲区,以发送给接收端。
于本申请一实施例中,各所述数据包包含一或多个数据块;其中,至少部分数据块来自同一图像组内的不同图像帧;或者,至少部分数据块来自同一图像帧。
于本申请中,为降低包与包之间解码的依赖度,所重组的数据包的各数据块优选来自不同图像帧。
简单来说,利用依赖信息将同一个图像组内的所有数据块作为一个主体进行有序划分,这里主要按帧先后顺序,而后划分出来的每一个部分为一个数据包中包含的数据块,为了降低包与包之间解码的依赖度,一个数据包内的数据块往往由该图像组内的不同帧提供。打包结束后,数据包按照划分顺序,以图像组为整体放入发送缓冲区,并通过网络发送给接收端。
这样通过数据块间的依赖关系,可以改变传统数据包中需包含同一图像帧的各数据块编码,使得不同图像帧的关联数据块重组一数据包中,并且根据依赖关系还可在解码端按照原图像中的位置进行顺序编码,可有效降低包与包之间解码的依赖度,不会因若干数据包的丢失而造成后续大量数据块无法解码的问题。
如图3A所示,展示为本申请于一实施例中的基于数据块重组的图像组传输方法的流程示意图。所述方法主要应用于接收端。如图所示,所述方法包括:
步骤S310:接收发送端发送的对应至少一图像组的全部数据包并放至接收缓冲区;
需说明的是,由于发送端发送的数据是以一个图像组为完整发送单位,接收到的数据包由多图像帧数据块混合而成,即使中间某个P帧的所有数据块已经到达,该图像帧解码所需的I帧或P帧可能还未能正确到达或解码。因此,本申请将暂时储存图像组中的每一帧的完整信息至接收缓冲区。
步骤S320:提取并分离各数据包中每个数据块编码信息,并依据位置信息放置到各数据块所对应图像帧的接收缓冲区中;
简单来说,每次接收一个数据包时,将提取并分离该数据包中每个数据块的位置信息及编码信息,并放置到该数据块所对应图像帧的缓冲区中。
步骤S330:若当前图像组中所有图像帧的数据包接收完成,则将当前图像组中各数据块对应的编码信息按照原有位置信息进行排列,并按标准解码格式形成解码流以加入解码缓冲区;
简单来说,若当前图像组中所有图像帧的信息接收完毕,则将当前图像组的编码信息按照图像组原有位置信息排列,并按照标准解码格式形成解码流并加入解码缓冲区。
于本申请一实施例中,作为本步骤流程的一个优选方案,若解码器不要求编码流按照原有视频帧顺序排列,仅要求当前帧编码在其参考帧之后出现,则可采用如下方法进行优化,如图3B所示:
步骤S331:判断当前图像帧对应的帧属性;
步骤S332:若当前图像帧为I帧,则判断其对应的数据块是否已经全部到达解码缓冲区;若全部到达,则将按标准解码格式形成解码流以加入解码缓冲区;
步骤S333:或者,若当前图像帧为P帧,则判断其对应的所有参考帧是否已经全部到达解码缓冲区,并检测当前图像帧的完整性,以供将完整的当前图像帧的编码信息按照标准解码格式形成解码流以加入解码缓冲区。
其中,当任意一图像帧加入解码缓冲区时,将其标记以视作已解码。这里标记的目的是下次扫描这个帧的时候就不会再把它加入到解码区。
步骤S340:从解码缓冲区提取经排序的编码信息以进行解码,并将解码后的图像帧作为输出视频流。
简答来说,通过接收端的解码器从解码缓冲区中取得编码,并利用与发送端编码模块相对应的解码模块进行解码,解码后的图像帧将被放入播放器作为输出视频流输出。
如图4所示,展示为申请于一实施例中的基于数据块重组的图像组传输方法流程的场景示意图。如图所示,在发送端的主要流程为:
首先获取原始视频流以提取图像帧,然后针对图像帧进行编码。接下来与常见现有流程不同的是,本申请通过临时缓冲区划分图像组,同时还通过判断视频是否结束,来选择重复获取图像帧或结束获取;然后对划分为同一图像组内的全部数据块进行重组得到多个数据包,再将各数据包按重组先后顺序排序并以各图像组为单位整体放入发送缓冲区,其中,通过判断是否拥有完整图像组来进行划分与打包,最后通过网络发送至接收端。
在接收端的主要流程为:接收发送端发送的对应至少一图像组的全部数据包并放至接收缓冲区,若当前图像组中所有图像帧的数据包接收完成,则将当前图像组中各数据块对应的编码信息按照原有位置信息进行排列,并按标准解码格式形成解码流以加入解码缓冲区,同时清空接收缓冲区该图像组的缓存,以供存放下一图像组的全部数据,最后从解码缓冲区提取经排序的编码信息以进行解码以输出视频流。
与现有常见编解码流程相比,本申请的区别点在于:1)本发明获取帧的数据块信息后,不按帧直接发送数据块,而是待编码一个完整图像组后,对整个图像组的所有帧进行优化混合打包并传输;2)通过在接收端设置存储一个图像组的缓存结构,待信息完整接收后对整个图像组块有序排列并传输至解码部分。
综上所述,本申请通过收集一整个图像组的信息,对整个图像组,多个图像帧进行混合打包,使得非关键帧对关键帧的依赖关系被充分利用,降低了单个包正确解码所需要的依赖的其他包正确到达的数量,减少了包丢失或损坏对其他包解码带来的影响。
如图5所示,展示为本申请于一实施例中的基于数据块重组的图像组传输装置的模块示意图。如图所示,应用于发送端,所述装置500包括:
编码模块501,用于从原始视频流中读取各图像帧信息以分别进行压缩编码,得到各图像帧中帧属性、每个数据块的编码信息、位置信息、及用于数据块重组的依赖信息;
分组模块502,用于将各图像帧对应的所有信息按先后顺序依次放入临时缓冲区,并依据所述帧属性将放入的各图像帧划分出多个图像组,进而以各图像组为单位进行打包并依次移出临时缓冲区;
发送模块503,用于将同一图像组内的所有数据块依据依赖信息重组为多个数据包,进而将各数据包按重组先后顺序排序并以各图像组为单位整体放入发送缓冲区,以发送给接收端。
需要说明的是,上述系统各模块/单元之间的信息交互、执行过程等内容,由于与本申请如图2A应用于发送端的所述方法实施例基于同一构思,其带来的技术效果与本申请应用于发送端的方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
如图6所示,展示为本申请于一实施例中的基于数据块重组的图像组传输装置的模块示意图。如图所示,应用于接收端,所述装置600包括:
接收模块601,用于接收发送端发送的对应至少一图像组的全部数据包并放至接收缓冲区;
排序模块602,用于提取并分离各数据包中每个数据块编码信息,并依据位置信息放置到各数据块所对应图像帧的接收缓冲区中;若当前图像组中所有图像帧的数据包接收完成,则将当前图像组中各数据块对应的编码信息按照原有位置信息进行排列,并按标准解码格式形成解码流以加入解码缓冲区;
解码模块603,用于从解码缓冲区提取经排序的编码信息以进行解码,并将解码后的图像帧作为输出视频流输出。
需要说明的是,上述系统各模块/单元之间的信息交互、执行过程等内容,由于与本申请如图3A应用于接收端的所述方法实施例基于同一构思,其带来的技术效果与本申请应用于接收端的方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
需要说明的是,应理解以上如图5或图6所述装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。
例如,解码模块603可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上解码模块603的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
如图7所示,展示为本申请于一实施例中的发送端设备的结构示意图。如图所示,所述发送端设备700包括:存储器701、处理器702、及通信器703;所述存储器701用于存储计算机程序;所述处理器702运行计算机程序实现如图2A所述的方法;所述通信器703用于与接收端设备通信连接。
在一些实施例中,发送端设备700中的所述存储器701的数量均可以是一或多个,所述处理器702的数量均可以是一或多个,所述通信器703的数量均可以是一或多个,而图7中均以一个为例。
于本申请一实施例中,所述发送端设备700中的处理器702会按照如图2A所述的步骤,将一个或多个以应用程序的进程对应的指令加载到存储器701中,并由处理器702来运行存储在存储器702中的应用程序,从而实现如图2A所述的方法。
所述存储器701可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。所述存储器701存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
所述处理器702可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
所述通信器703用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信连接。所述通信器703可包含一组或多组不同通信方式的模块,例如,与CAN总线通信连接的CAN通信模块。所述通信连接可以是一个或多个有线/无线通讯方式及其组合。通信方式包括:互联网、CAN、内联网、广域网(WAN)、局域网(LAN)、无线网络、数字用户线(DSL)网络、帧中继网络、异步传输模式(ATM)网络、虚拟专用网络(VPN)和/或任何其它合适的通信网络中的任何一个或多个。例如:WIFI、蓝牙、NFC、GPRS、GSM、及以太网中任意一种及多种组合。
如图8所示,展示为本申请于一实施例中的接收端设备的结构示意图。如图所示,所述接收端设备800包括:存储器801、处理器802、及通信器803;所述存储器801用于存储计算机程序;所述处理器802运行计算机程序实现如图3A所述的方法;所述通信器803用于与发送端设备通信连接。
在一些实施例中,接收端设备800中的所述存储器801的数量均可以是一或多个,所述处理器802的数量均可以是一或多个,所述通信器803的数量均可以是一或多个,而图8中均以一个为例。
于本申请一实施例中,所述接收端设备800中的处理器802会按照如图3A所述的步骤,将一个或多个以应用程序的进程对应的指令加载到存储器801中,并由处理器802来运行存储在存储器802中的应用程序,从而实现如图3A所述的方法。
需要说明的是,因上述接收端设备800与发送端设备700所包含的处理器、存储器、及通信器相似,故这里不再赘述。
如图9所示,展示为本申请于一实施例中的基于数据块重组的图像组传输系统的结构示意图。如图所示,所述系统900包括:如图7所述的发送端设备910、及如图8所述的接收端设备920;
所述发送端设备910与所述接收端设备920通信连接;
所述发送端设备910用于对原始视频流进行压缩编码并发送至所述接收端设备920;
所述接收端设备920用于对接收的压缩编码数据进行解码并形成对应的输出视频流。
于本申请的一实施例中,本申请提供一种计算机可读存储介质,其上存储有应用于发送端的计算机指令,所述计算机指令被运行时执行如图2A所述的应用于发送端的方法;和/或,其上存储有应用于接收端的计算机指令,所述计算机指令被运行时执行如图3A所述的应用于接收端的方法。
在任何可能的技术细节结合层面,本申请可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
综上所述,本申请提供的一种基于数据块重组的图像组传输方法、装置、设备和系统,本申请通过收集一整个图像组的信息,对整个图像组,多个图像帧进行混合打包,使得非关键帧对关键帧的依赖关系被充分利用,降低了单个包正确解码所需要的依赖的其他包正确到达的数量,减少了包丢失或损坏对其他包解码带来的影响。
本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包含通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (12)
1.一种基于数据块重组的图像组传输方法,其特征在于,应用于发送端,所述方法包括:
从原始视频流中读取各图像帧信息以分别进行压缩编码,得到各图像帧中帧属性、每个数据块的编码信息、位置信息、及用于数据块重组的依赖信息;
将各图像帧对应的所有信息按先后顺序依次放入临时缓冲区,并依据所述帧属性将放入的各图像帧划分出多个图像组,进而以各图像组为单位进行打包并依次移出临时缓冲区;其中,判断当前图像帧对应的帧属性;若当前图像帧为I帧,则将当前图像帧之前的全部图像帧及其对应的所有信息进行混合打包并移出临时缓冲区,并当前图像帧及其对应的编码信息和辅助信息放入发送缓冲区;或者,若当前图像帧为P帧,则直接将当前图像帧及其对应的编码信息和辅助信息放入发送缓冲区;
将同一图像组内的所有数据块依据依赖信息重组为多个数据包,进而将各数据包按重组先后顺序排序并以各图像组为单位整体放入发送缓冲区,以发送至接收端。
2.根据权利要求1所述的方法,其特征在于,所述从原始视频流中读取各图像帧信息以分别进行压缩编码,包括:
判断各图像帧的帧属性;
若当前图像帧为I帧,则直接在帧内进行预测编码;
或者,若当前图像帧为P帧,则在该图像帧前的所有参考帧中找到与当前图像帧上各数据块分别对应的相近区域,并据以对各数据块进行帧间压缩编码。
3.根据权利要求2所述的方法,其特征在于,依据在该图像帧前的所有参考帧中找到的与当前图像帧上各数据块分别对应的相近区域数据块提取依赖关系,以得到对应各数据块的用于数据块重组的依赖信息;所述依赖信息包括:帧间预测的参考帧编号、运动矢量、及每一数据块依赖的前置数据块。
4.根据权利要求1所述的方法,其特征在于,各所述数据包包含一或多个数据块;其中,至少部分数据块来自同一图像组内的不同图像帧;或者,至少部分数据块来自同一图像帧。
5.一种基于数据块重组的图像组传输方法,其特征在于,应用于接收端,所述方法包括:
接收发送端发送的对应至少一图像组的全部数据包并放至接收缓冲区;
提取并分离各数据包中每个数据块编码信息,并依据位置信息放置到各数据块所对应图像帧的接收缓冲区中;
若当前图像组中所有图像帧的数据包接收完成,则将当前图像组中各数据块对应的编码信息按照原有位置信息进行排列,并按标准解码格式形成解码流以加入解码缓冲区;其中,判断当前图像帧对应的帧属性;若当前图像帧为I帧,则判断其对应的数据块是否已经全部到达解码缓冲区;若全部到达,则将按标准解码格式形成解码流以加入解码缓冲区;或者,若当前图像帧为P帧,则判断其对应的所有参考帧是否已经全部到达解码缓冲区,并检测当前图像帧的完整性,以供将完整的当前图像帧的编码信息按照标准解码格式形成解码流以加入解码缓冲区;
从解码缓冲区提取经排序的编码信息以进行解码,并将解码后的图像帧作为输出视频流。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当任意一图像帧加入解码缓冲区时,将其标记以视作已解码。
7.一种基于数据块重组的图像组传输装置,其特征在于,应用于发送端,所述装置包括:
编码模块,用于从原始视频流中读取各图像帧信息以分别进行压缩编码,得到各图像帧中帧属性、每个数据块的编码信息、位置信息、及用于数据块重组的依赖信息;
分组模块,用于将各图像帧对应的所有信息按先后顺序依次放入临时缓冲区,并依据所述帧属性将放入的各图像帧划分出多个图像组,进而以各图像组为单位进行打包并依次移出临时缓冲区;其中,判断当前图像帧对应的帧属性;若当前图像帧为I帧,则将当前图像帧之前的全部图像帧及其对应的所有信息进行混合打包并移出临时缓冲区,并当前图像帧及其对应的编码信息和辅助信息放入发送缓冲区;或者,若当前图像帧为P帧,则直接将当前图像帧及其对应的编码信息和辅助信息放入发送缓冲区;
发送模块,用于将同一图像组内的所有数据块依据依赖信息重组为多个数据包,进而将各数据包按重组先后顺序排序并以各图像组为单位整体放入发送缓冲区,以发送给接收端。
8.一种基于数据块重组的图像组传输装置,其特征在于,应用于接收端,所述装置包括:
接收模块,用于接收发送端发送的对应至少一图像组的全部数据包并放至接收缓冲区;
排序模块,用于提取并分离各数据包中每个数据块编码信息,并依据位置信息放置到各数据块所对应图像帧的接收缓冲区中;若当前图像组中所有图像帧的数据包接收完成,则将当前图像组中各数据块对应的编码信息按照原有位置信息进行排列,并按标准解码格式形成解码流以加入解码缓冲区;其中,判断当前图像帧对应的帧属性;若当前图像帧为I帧,则判断其对应的数据块是否已经全部到达解码缓冲区;若全部到达,则将按标准解码格式形成解码流以加入解码缓冲区;或者,若当前图像帧为P帧,则判断其对应的所有参考帧是否已经全部到达解码缓冲区,并检测当前图像帧的完整性,以供将完整的当前图像帧的编码信息按照标准解码格式形成解码流以加入解码缓冲区;
解码模块,用于从解码缓冲区提取经排序的编码信息以进行解码,并将解码后的图像帧作为输出视频流输出。
9.一种发送端设备,其特征在于,所述设备包括:存储器、处理器、及通信器;所述存储器用于存储计算机程序;所述处理器运行计算机程序实现如权利要求1至4中任意一项所述的应用于发送端的方法;所述通信器用于与接收端设备通信连接。
10.一种接收端设备,其特征在于,所述设备包括:存储器、处理器、及通信器;所述存储器用于存储计算机程序;所述处理器运行计算机程序实现如权利要求5至6中任意一项所述的应用于接收端的方法;所述通信器用于与发送端设备通信连接。
11.一种基于数据块重组的图像组传输系统,其特征在于,所述系统包括:如权利要求9所述的发送端设备、及如权利要求10所述的接收端设备;
所述发送端设备与所述接收端设备通信连接;
所述发送端设备用于对原始视频流进行压缩编码并发送至所述接收端设备;
所述接收端设备用于对接收的压缩编码数据进行解码并形成对应的输出视频流。
12.一种计算机可读存储介质,其特征在于,其上存储有应用于发送端的计算机指令,所述计算机指令被运行时执行如权利要求1至4中任一项所述的应用于发送端的方法;和/或,其上存储有应用于接收端的计算机指令,所述计算机指令被运行时执行如权利要求5至6中任一项所述的应用于接收端的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011624546.6A CN112822516B (zh) | 2020-12-30 | 2020-12-30 | 基于数据块重组的图像组传输方法、装置、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011624546.6A CN112822516B (zh) | 2020-12-30 | 2020-12-30 | 基于数据块重组的图像组传输方法、装置、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112822516A CN112822516A (zh) | 2021-05-18 |
CN112822516B true CN112822516B (zh) | 2022-07-26 |
Family
ID=75854742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011624546.6A Active CN112822516B (zh) | 2020-12-30 | 2020-12-30 | 基于数据块重组的图像组传输方法、装置、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112822516B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022266974A1 (zh) * | 2021-06-24 | 2022-12-29 | 深圳市大疆创新科技有限公司 | 图像处理方法、装置、业务服务器及存储介质 |
CN113645192B (zh) * | 2021-07-16 | 2024-06-21 | 青岛小鸟看看科技有限公司 | Rtp数据包处理方法及装置 |
CN114465966B (zh) * | 2022-01-23 | 2024-05-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据包重组控制系统和数据包重组方法 |
CN116962714A (zh) * | 2023-01-12 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 视频解码方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496481B1 (en) * | 1998-07-16 | 2002-12-17 | Industrial Technology Research Institute | Data transfer method for wire real-time communications |
CN102404572A (zh) * | 2011-11-22 | 2012-04-04 | 西交利物浦大学 | 延迟约束条件下基于系统rs码的视频编解码系统及其方法 |
CN102870415A (zh) * | 2010-05-12 | 2013-01-09 | 日本电信电话株式会社 | 活动图像编码控制方法、活动图像编码装置以及活动图像编码程序 |
CN105900436A (zh) * | 2014-01-17 | 2016-08-24 | 索尼公司 | 通信设备、通信数据生成方法、以及通信数据处理方法 |
CN110519640A (zh) * | 2019-08-14 | 2019-11-29 | 北京达佳互联信息技术有限公司 | 视频处理方法、编码器、cdn服务器、解码器、设备及介质 |
-
2020
- 2020-12-30 CN CN202011624546.6A patent/CN112822516B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6496481B1 (en) * | 1998-07-16 | 2002-12-17 | Industrial Technology Research Institute | Data transfer method for wire real-time communications |
CN102870415A (zh) * | 2010-05-12 | 2013-01-09 | 日本电信电话株式会社 | 活动图像编码控制方法、活动图像编码装置以及活动图像编码程序 |
CN102404572A (zh) * | 2011-11-22 | 2012-04-04 | 西交利物浦大学 | 延迟约束条件下基于系统rs码的视频编解码系统及其方法 |
CN105900436A (zh) * | 2014-01-17 | 2016-08-24 | 索尼公司 | 通信设备、通信数据生成方法、以及通信数据处理方法 |
CN110519640A (zh) * | 2019-08-14 | 2019-11-29 | 北京达佳互联信息技术有限公司 | 视频处理方法、编码器、cdn服务器、解码器、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112822516A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112822516B (zh) | 基于数据块重组的图像组传输方法、装置、设备和系统 | |
US11412221B2 (en) | Method and apparatus for motion field storage in triangle partition mode and geometric partition mode | |
US11425410B2 (en) | Video picture prediction method and apparatus | |
JPH07262175A (ja) | 関数変換演算装置 | |
CN107197312B (zh) | 视频解码方法以及实现该方法的装置 | |
CN112565815B (zh) | 文件封装方法、文件传输方法、文件解码方法及相关设备 | |
KR20190139313A (ko) | 콘텍스트 트리를 사용한 비디오 신택스 엘리먼트들의 코딩 | |
KR20220101729A (ko) | 팔레트 모드를 사용하기 위한 비디오 처리 방법 및 장치 | |
US11638019B2 (en) | Methods and systems for prediction from multiple cross-components | |
US10171818B2 (en) | Scanning orders for non-transform coding | |
CN111757109A (zh) | 一种高实时性的并行视频编解码方法、系统和存储介质 | |
WO2024078066A1 (zh) | 视频解码方法、视频编码方法、装置、存储介质及设备 | |
CN112822492B (zh) | 抗误码视频编码重组方法、装置、设备、系统和介质 | |
US9706201B2 (en) | Region-based processing of predicted pixels | |
JP2005502285A (ja) | 連続する画像を符号化する方法および装置 | |
CN111212288B (zh) | 视频数据的编解码方法、装置、计算机设备和存储介质 | |
CN115699744A (zh) | 双向预测校正系统和方法 | |
CN114071158A (zh) | 视频编解码中的运动信息列表构建方法、装置及设备 | |
CN114079788B (zh) | 视频编解码中的运动信息列表构建方法、装置及设备 | |
CN112788344B (zh) | 基于编码单元重组的视频解码方法、装置、系统、介质及终端 | |
US20240155137A1 (en) | Multimedia data processing method and apparatus, computer device, computer-readable storage medium, and computer program product | |
CN114374849A (zh) | 一种候选运动信息列表确定方法、装置、电子设备及存储介质 | |
KR100968808B1 (ko) | 가변길이부호 디코딩 시스템 및 그것의 디코딩 방법 |
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 |