CN116033113B - 一种视频会议辅助信息传输方法和系统 - Google Patents
一种视频会议辅助信息传输方法和系统 Download PDFInfo
- Publication number
- CN116033113B CN116033113B CN202310304747.5A CN202310304747A CN116033113B CN 116033113 B CN116033113 B CN 116033113B CN 202310304747 A CN202310304747 A CN 202310304747A CN 116033113 B CN116033113 B CN 116033113B
- Authority
- CN
- China
- Prior art keywords
- data
- auxiliary information
- length
- video frame
- current 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
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开提供了一种视频会议辅助信息传输方法和系统,涉及视频信息处理技术领域,该方法发送端向接收端发送当前视频帧RTP数据,当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;接收端接收当前视频帧RTP数据,从当前视频帧RTP数据中解析出当前视频帧YUV数据和相应辅助信息,并将当前视频帧YUV数据和相应辅助信息一同用于后续处理,解决了现有技术中通信协议方案和视频传输层方案,无法同时兼顾视频辅助信息与视频帧对齐与过程简单化的问题。
Description
技术领域
本发明涉及视频会议信息传输技术领域,具体涉及一种视频会议辅助信息传输方法和系统。
背景技术
随着视频云会议的快速发展,及视频会议业务多元化,打破了时域、地域限制,随时随地都能快速进行视频会议。同时,还能进行更高级的会议模式,比如当前流行的沉浸式布局会议。因此,就需要视频能随时携带更多的辅助信息,来实现各种云会议的扩展需求。
目前,现有的视频辅助信息传输的方案,分为通信协议方案和视频传输层方案。其中的通信协议方案,需要拟定一套针对视频辅助信息的通信协议通过TCP或HTTP传输。那么,就需要对协议进行打包和解析,无法更好融入到既有的云会议系统中,而且还很难保证视频辅助信息与视频帧对齐。而视频传输层方案,是视频帧编码后在打RTP包时候,采用RTPTYPE进行视频与辅助信息的区分,在一帧处理完成后加Mark位。这种方案虽然能保证辅助信息与视频对齐,但是在发送端和接收端需要增加特定处理,同时也不能满足传输标准即私有化,导致媒体流兼容性差影响了云会议的用户体验。
现有的云会议中视频辅助信息传输方案,没有很好的解决视频与辅助信息的对齐显示及处理,从而影响了用户的会议使用体验。而且,现有技术方案在带宽使用上也有些浪费,视频兼容性差。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中通信协议方案和视频传输层方案,无法同时兼顾视频辅助信息与视频帧对齐与过程简单化的问题,从而提供一种视频会议辅助信息传输方法和系统。
为解决上述技术问题,本发明公开实施例至少提供一种视频会议辅助信息传输方法和系统。
第一方面,本发明公开实施例提供了一种视频会议辅助信息传输方法,包括:
发送端向接收端发送当前视频帧RTP数据,所述当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;
接收端接收所述当前视频帧RTP数据,从所述当前视频帧RTP数据中解析出所述当前视频帧YUV数据和所述相应辅助信息,并将所述当前视频帧YUV数据和所述相应辅助信息一同用于后续处理。
可选地,所述发送端在向接收端发送当前视频帧RTP数据之前,所述发送端还进行如下处理:获取原始当前视频帧YUV数据和原始相应辅助信息;对所述原始当前视频帧YUV数据进行视频预处理,得到所述当前视频帧YUV数据;对所述当前视频帧YUV数据进行编码,得到视频ES数据;对所述原始相应辅助信息进行预处理,得到所述相应辅助信息;对所述相应辅助信息进行标准SEI打包处理;将打包后的标准SEI插入到视频ES数据;对所有视频数据进行RTP打包,得到当前视频帧RTP数据。
可选地,所述对所述原始相应辅助信息进行预处理包括:将所述原始相应辅助信息进行统一字节化;对统一字节化后的原始相应辅助信息进行无损压缩,得到所述相应辅助信息。
可选地,所述对所述相应辅助信息进行标准SEI打包处理包括:确定打包有效数据长度;根据数据长度对所述相应辅助信息循环进行打包。
可选地,所述接收端从所述当前视频帧RTP数据中解析出所述当前视频帧YUV数据和所述相应辅助信息包括:对所述当前视频帧RTP数据进行解码处理,得到所述视频ES数据;提取所述视频ES数据中的SEI数据;
从所述SEI数据中解析出所述相应辅助信息;将视频ES数据给到视频解码器进行解码,得到所述当前视频帧YUV数据;对所述相应辅助信息数据进行解压缩。
可选地,从所述SEI数据中解析出所述相应辅助信息包括:循环处理得到的SEI数据包长度;根据SEI数据包长度解析出所述相应辅助信息。
可选地,所述无损压缩采用哈夫曼编码实现。
第二方面,本发明公开实施例还提供一种视频会议辅助信息传输系统,包括:
发送端,用于向接收端发送当前视频帧RTP数据,所述当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;
接收端,用于接收所述当前视频帧RTP数据,从所述当前视频帧RTP数据中解析出所述当前视频帧YUV数据和所述相应辅助信息,并将所述当前视频帧YUV数据和所述相应辅助信息一同用于后续处理。
第三方面,本发明公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面或第一方面中任一种可能的实施方式中的步骤。
第四方面,本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面、或第一方面中任一种可能的实施方式中的步骤。
本发明的实施例提供的技术方案可以具有以下有益效果:
发送端向接收端发送当前视频帧RTP数据,当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;接收端接收当前视频帧RTP数据,从当前视频帧RTP数据中解析出当前视频帧YUV数据和相应辅助信息,并将当前视频帧YUV数据和相应辅助信息一同用于后续处理。通过标准视频辅助信息打包,能够无缝对接标准解码器,保证了视频的兼容性可以在标准解码器上正常解码,实现视频帧与辅助信息同步传输,有效解决了视频帧与其辅助信息对齐问题,保证了视频帧与辅助信息对齐显示处理,进一步采用哈夫曼无损压缩技术,大大降低辅助信息数据量,有效降低辅助信息数据量节省带宽浪费,实现带宽有效的使用,有效提升了云会议的用户体验及拓展性,有效解决了辅助信息过大引入传输压力,从而能携带跟更多的视频辅助信息,保证并提升了云会议效果体验与扩展需求,保证了传输带宽的合理使用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明公开实施例所提供的一种视频会议辅助信息传输方法的流程图;
图2示出了本发明公开实施例所提供的另一种视频会议辅助信息传输方法的流程图;
图3示出了本发明公开实施例所提供的视频会议辅助信息传输方法中发送端处理流程示意图;
图4示出了本发明公开实施例所提供的视频会议辅助信息传输方法中接收端处理流程示意图;
图5示出了本发明公开实施例中SEI包协议结构示意图;
图6示出了本发明公开实施例中发送端SEI打包处理流程示意图;
图7示出了本图6中生成SEI包的流程示意图;
图8示出了本图6中插入到编码后数据的流程示意图;
图9示出了本发明公开实施例中接收端SEI解包处理流程示意图;
图10示出了本发明公开实施例中无损压缩编码过程示意图;
图11示出了图10中哈夫曼编码实现流程示意图;
图12示出了本发明公开实施例中哈夫曼头结构示意图;
图13示出了本发明公开实施例中哈夫曼解码过程示意图;
图14示出了图13中哈夫曼编码实现流程示意图;
图15示出了本发明公开实施例所提供的一种视频会议辅助信息传输系统的结构示意图;
图16示出了本发明公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所发明内容中所详述的、本发明的一些方面相一致的装置和方法的例子。
实施例1
为了适应云会议中实时视频的多样化需求,针对特定云会议场景需要将视频与其分割信息、多轨字幕信息等同时实时进行传输,保证这些视频辅助信息与视频同步显示或处理,本发明实施例提供一种视频会议辅助信息传输方法,实现标准视频辅助信息打包,该方法采用哈夫曼无损压缩技术,实现视频辅助信息高效传输,从而使得设备资源与带宽能够更合理的使用,同时还提升了用户对云会议的使用体验和可靠性。
如图1所示,本发明公开实施例所提供的一种视频会议辅助信息传输方法的流程图,所述方法包括:
S11:发送端向接收端发送当前视频帧RTP数据,当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息。
S12:接收端接收当前视频帧RTP数据,从当前视频帧RTP数据中解析出当前视频帧YUV数据和相应辅助信息,并将当前视频帧YUV数据和相应辅助信息一同用于后续处理。
可以理解的是,本实施例提供的技术方案,发送端向接收端发送当前视频帧RTP数据,当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;接收端接收当前视频帧RTP数据,从当前视频帧RTP数据中解析出当前视频帧YUV数据和相应辅助信息,并将当前视频帧YUV数据和相应辅助信息一同用于后续处理。通过标准视频辅助信息打包,能够无缝对接标准解码器,保证了视频的兼容性可以在标准解码器上正常解码,实现视频帧与辅助信息同步传输,有效解决了视频帧与其辅助信息对齐问题,保证了视频帧与辅助信息对齐显示处理,有效提升了云会议的用户体验及拓展性。
实施例2
作为实施例1的一种改进,如图2所示,本发明公开实施例所提供的另一种视频会议辅助信息传输方法的流程图,该方法包括:
S21:发送端获取原始当前视频帧YUV数据和原始相应辅助信息。
S22:发送端对原始当前视频帧YUV数据进行视频预处理,得到当前视频帧YUV数据。
S23:发送端对当前视频帧YUV数据进行编码,得到视频ES数据。
S24:发送端对原始相应辅助信息进行预处理,得到相应辅助信息。
S25:发送端对相应辅助信息进行标准SEI打包处理。
S26:发送端将打包后的标准SEI插入到视频ES数据。
S27:发送端对所有视频数据进行RTP打包,得到当前视频帧RTP数据。
S28:发送端向接收端发送当前视频帧RTP数据,当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息。
S29:接收端接收当前视频帧RTP数据,从当前视频帧RTP数据中解析出当前视频帧YUV数据和相应辅助信息,并将当前视频帧YUV数据和相应辅助信息一同用于后续处理。
在一些可选实施例中,S24可以但不限于通过以下过程实现(图中未示出):
S241:将原始相应辅助信息进行统一字节化。
S242:对统一字节化后的原始相应辅助信息进行无损压缩,得到相应辅助信息。
在一些可选实施例中,S25可以但不限于通过以下过程实现(图中未示出):
S251:确定打包有效数据长度。
S252:根据数据长度对相应辅助信息循环进行打包。
在一些可选实施例中,S29可以但不限于通过以下过程实现(图中未示出):
S291:对当前视频帧RTP数据进行解码处理,得到视频ES数据。
S292:提取视频ES数据中的SEI数据。
S293:从SEI数据中解析出相应辅助信息。
S294:将视频ES数据给到视频解码器进行解码,得到当前视频帧YUV数据。
S295:对相应辅助信息数据进行解压缩。
在一些可选实施例中,S293可以但不限于通过以下过程实现(图中未示出):
S2931:循环处理得到的SEI数据包长度。
S2932:根据SEI数据包长度解析出相应辅助信息。
在一些可选实施例中,无损压缩采用哈夫曼编码实现。
为了便于上述方案的理解,下面对上述方案中出现的一些相关技术进行详细说明。
1.应用场景是alpha数据;
首先,随着现在对云会议业务需求越来越多,很多方案需要在视频处理的同时处理辅助信息,比如视频多语言字幕,Alpha通道等信息数据。
其次,在发送端进行SEI打包放进视频编码后数据中,在接收端解析视频数据的同时解析出SEI中辅助信息,保证了视频帧与辅助信息的对齐。
最后,为了保证会议业务的良好拓展,可以同步传输更多的视频辅助信息,则需要对辅助信息进行无损压缩,从而节约带宽提升业务扩展性。
I、一种视频会议辅助信息传输方法实现过程如下。
1、结合图3,发送端上层将当前视频帧YUV数据和对应的辅助信息数据给到视频编码模块进行处理,具体处理流程包括:
1-1、对视频YUV数据进行视频预处理,缩放、降帧等处理,当视频帧处理成功后,再对当前视频帧所对应的视频辅助信息进行处理。
1-2、视频辅助信息进行预处理,将辅助信息统一字节化,对处理后辅助数据才能进行无损压缩编码。
1-3、将无损压缩后的数据,进行标准SEI打包处理,讲打包的标准SEI插入到视频帧编码后的ES数据中。
1-4、对所有视频数据进行RTP打包并发送。
2、结合图4,接收端上层将一帧RTP包数据给到视频解码模块进行处理,具体处理流程包括:
2-1、进行RTP包解码处理,将解包后数据恢复成视频ES数据。
2-2、对视频ES数据将其中的SEI数据包提出出来,并对SEI数据包进行解析,将其中的辅助信息压缩数据取出。
2-3、同时将视频ES数据给到视频解码器进行解码处理,解码成功后,再把当前帧携带的辅助信息数据进行解压缩。
2-4、将视频解码后YUV数据和当前视频帧的辅助信息数据,一并推送到上层进行处理,从而完成视频辅助信息数据的实时传输。
II、本发明实施例视频会议辅助信息传输方法实现过程中,SEI包协议设计如图5所示,其中,SEI类型默认是0x06,Payload Type默认是0x05(用户自定义信息标记),DataLength是数据长度,由于长度是按照0xff去计算,即数据长度所占字节数依赖于打包的数据长度。Company UUID是公司标识8个字节,Service UUID是业务标识8个字节,Data TotalLength是当前帧的辅助信息总长度是为了保证接收端验证数据是否完成,Finish Flag结束符默认是2个字节(0x00 0x80)。
参见图6,SEI打包与解码的流程包括以下过程。
3、发送端进行SEI打包处理流程如下所示:
3-1、初始化SEI打包参数,并根据设置的MTU大小计算,打包有效数据最大长度,继续执行步骤3-2。
3-2、进行循环打包处理,当已打包数据长度小于数据总长度时,执行步骤3-3,否则执行步骤3-8。
3-3、判断未打包数据长是否小于最大有效长度,如果是则执行3-4,否则执行3-5。
3-4、计算剩余数据长度赋值给待打包长度,执行步骤3-6。
3-5、设置最大有效长度给待打包长度,执行步骤3-6。
3-6、参见图7,生成SEI数据包,具体处理流程如下:
(a)写入Nal头数据信息,执行步骤(b)。
(b)进行循环处理,判断已写入长度是否小于数据长度,如果是则执行步骤(c),否则执行(g)。
(c)判断未计算数据长是否小于0xff,如果是则执行(d),否则执行(e)。
(d)设置剩余长度给待写入长度变量,执行步骤(f)。
(e)设置0xff给待写入长度变量,执行步骤(f)。
(f)将长度变量写入到内存中并编译,执行步骤(b)。
(g)写入公司和业务UUID,写入负载数据,写结束符,执行步骤(7)。
3-7、将生成的SEI包放入到数组中,并更新SEI包数组参数,执行步骤3-2。
3-8、参见图8、将生成好的SEI包数据,插入到编码后的视频帧数据中,具体步骤如下所示。
(a)判断当前帧是否是IDR帧,如果是则执行步骤(b),否则执行步骤(c)。
(b)将SPS和PPS数据放入到输出Nal数组中,执行步骤(c)。
(c)将SEI包数据循环插入到输出Nal数组中,执行步骤(d)。
(d)将I帧和P帧数据插入到输出Nal数组中,执行步骤(9)。
3-9、至此,完成视频辅助信息的SEI打包生成,并融合到标准的视频帧数据中,实现无缝兼容。
4、接收端进行SEI解包处理,具体流程如图9所示。
4-1、接收端收到网络的RTP包数据后,进行RTP解析处理并生成Nal数组,执行步骤4-2。
4-2、循环处理所有解析出的Nal数据,判断计数器小于数组长度,执行步骤4-3,否则执行步骤4-11。
4-3、判断Nal包是否是SEI包(即类型是0x06),如果是执行步骤4-4,否则执行步骤4-2。
4-4、判断SEI包类型是否是0x05(用户自定义数据类型),如果是执行步骤4-5,否则执行步骤4-2。
4-5、循环处理得到SEI包数据长度,判断是否是0xff,如果是执行步骤4-6,否则执行步骤4-7。
4-6、数据长度加0xff,继续执行步骤4-5。
4-7、数据长度加上非0xff的长度,继续执行步骤4-8。
4-8、校验UUID是否是与当前业务匹配,如果是执行步骤4-9,否则执行步骤4-2。
4-9、校验SEI数据最后两个字节是否是结束符,如果是执行步骤4-10,否则执行步骤4-2。
4-10、将SEI有效负载数据赋值到输出buffer中,继续执行步骤4-2。
4-11、完成SEI包数据解析,并提取出视频辅助信息数据。
III、本发明实施例视频会议辅助信息传输方法实现过程中,无损压缩编码与解码的流程如图10、图11所示。
5、经过反复验证,选择在发送端需要进行哈夫曼编码来进行数据无损压缩,可以有效降低带宽,其具体处理流程如图12所示:
5-1、根据输入的视频辅助数据,遍历数据计算并统计频次,即0-255值出现的次数,并生成平次数组,执行步骤5-2。
5-2、依据频次及非0频次数,初始化并创建哈夫曼树,执行步骤5-3。
5-3、进行哈夫曼编码,具体处理流程如下所示:
(1)根据哈夫曼头结构定义如下所示,进行赋值,执行步骤(2)。
其中,HuffMan Flag是数据头标识,默认写入{‘m’, ‘h’, ‘w’, ‘\0’},占用4个字节。HuffMan Class Number是待处理数据中出现频次非0的数据个数,占用4个字节。LastValid Bit是最后一个有效位数,占用2个字节。Reserver是保留字段,占用10个字节。之后,存放的是哈夫曼数据。
(2)将频次信息写入到输出内存中,执行步骤(3)。
(3)进行循环遍历处理,如果处理计数器小于数据长度,则执行步骤(4),否则执行步骤(8)。
(4)取出当前待处理字节,得到字节对应的频次信息,从哈夫曼树上得到Code码字,执行步骤(5)。
(5)循环遍历Code码字,如果存在则执行步骤(6),否则执行步骤(3)。
(6)判断码字是“0”,对当前值进行按位“与”,否则对当前值进行按位“或”,执行步骤(7)。
(7)计数器加1,并判断计数器是否大于等于8,如果是则将处理后数值放入到输出内存中,执行步骤(5)。
(8)完成哈夫曼编码处理,执行步骤4)。
5-4、销毁哈夫曼树和内存空间。
6、在接收端,则需要对收到哈夫曼数据进行解码,才能得到视频帧对应的视频辅助信息数据,其哈夫曼解码具体流程如图13、图14所示。
6-1、从哈夫曼数据中读取出数据头,并校验标识是否是正常,否则直接退出哈夫曼解码处理,是则执行步骤6-2。
6-2、从数据中取出频次信息,并进行哈夫曼树的初始化与创建,继续执行步骤6-3。
6-3、进行哈夫曼解码,具体处理流程如下所示:
(1)计算数据偏移,并获取出第一个压缩数据,并计算root,执行步骤(2)。
(2)循环遍历处理,如果标记是1则执行步骤(3),否则执行步骤4)。
(3)判断root的哈夫曼树左右孩子是否存在,如果不存在执行步骤(4),否则执行步骤4)。
(4)得到root的哈夫曼树频次对应的数值,并将数值放入到输出内存中,执行步骤(5)。
(5)判断是否是最后一个数据且当前索引值大于有效bit位数,如果是则执行(),否则执行(6)。
(6)按位获取比特值,如果是1则赋值树的左孩子给root,否则赋值树的右孩子给root,执行步骤(7)。
(7)判断索引计数器是否大于等于8,如果是则取下一个未解析数据并重置索引计数器,执行步骤(2)。
6-4、处理完成后销毁哈夫曼树和内存空间。
可以理解的是,本实施例提供的技术方案,发送端向接收端发送当前视频帧RTP数据,当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;接收端接收当前视频帧RTP数据,从当前视频帧RTP数据中解析出当前视频帧YUV数据和相应辅助信息,并将当前视频帧YUV数据和相应辅助信息一同用于后续处理。实现了标准SEI打包,通过标准视频辅助信息打包,能够无缝对接标准解码器,保证了视频的兼容性可以在标准解码器上正常解码,实现视频帧与辅助信息同步传输,有效解决了视频帧与其辅助信息对齐问题,保证了视频帧与辅助信息对齐显示处理,进一步采用哈夫曼无损压缩技术,大大降低辅助信息数据量,有效降低辅助信息数据量节省带宽浪费,实现带宽有效的使用,有效提升了云会议的用户体验及拓展性,有效解决了辅助信息过大引入传输压力,从而能携带跟更多的视频辅助信息,保证并提升了云会议效果体验与扩展需求,保证了传输带宽的合理使用。
实施例3
如图15所示,本发明实施例还提供另一种视频会议辅助信息传输系统,该方法包括:
发送端151,用于向接收端发送当前视频帧RTP数据,所述当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;
接收端152,用于接收所述当前视频帧RTP数据,从所述当前视频帧RTP数据中解析出所述当前视频帧YUV数据和所述相应辅助信息,并将所述当前视频帧YUV数据和所述相应辅助信息一同用于后续处理。
在一些可选实施例中,发送端还用于获取原始当前视频帧YUV数据和原始相应辅助信息;对原始当前视频帧YUV数据进行视频预处理,得到当前视频帧YUV数据;对当前视频帧YUV数据进行编码,得到视频ES数据;对原始相应辅助信息进行预处理,得到相应辅助信息;对相应辅助信息进行标准SEI打包处理;将打包后的标准SEI插入到视频ES数据;对所有视频数据进行RTP打包,得到当前视频帧RTP数据。
在一些可选实施例中,对所述原始相应辅助信息进行预处理包括:
将原始相应辅助信息进行统一字节化;
对统一字节化后的原始相应辅助信息进行无损压缩,得到相应辅助信息。
在一些可选实施例中,对所述原始相应辅助信息进行预处理包括:确定打包有效数据长度;根据数据长度对相应辅助信息循环进行打包。
在一些可选实施例中,对所述相应辅助信息进行标准SEI打包处理包括:对当前视频帧RTP数据进行解码处理,得到视频ES数据;提取视频ES数据中的SEI数据;从SEI数据中解析出相应辅助信息;将视频ES数据给到视频解码器进行解码,得到当前视频帧YUV数据;对相应辅助信息数据进行解压缩。
在一些可选实施例中,接收端从所述当前视频帧RTP数据中解析出所述当前视频帧YUV数据和所述相应辅助信息包括:循环处理得到的SEI数据包长度;根据SEI数据包长度解析出相应辅助信息。
在一些可选实施例中,无损压缩采用哈夫曼编码实现。
可以理解的是,本实施例提供的技术方案,发送端向接收端发送当前视频帧RTP数据,当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;接收端接收当前视频帧RTP数据,从当前视频帧RTP数据中解析出当前视频帧YUV数据和相应辅助信息,并将当前视频帧YUV数据和相应辅助信息一同用于后续处理。通过标准视频辅助信息打包,能够无缝对接标准解码器,保证了视频的兼容性可以在标准解码器上正常解码,实现视频帧与辅助信息同步传输,有效解决了视频帧与其辅助信息对齐问题,保证了视频帧与辅助信息对齐显示处理,进一步采用哈夫曼无损压缩技术,大大降低辅助信息数据量,有效降低辅助信息数据量节省带宽浪费,实现带宽有效的使用,有效提升了云会议的用户体验及拓展性,有效解决了辅助信息过大引入传输压力,从而能携带跟更多的视频辅助信息,保证并提升了云会议效果体验与扩展需求,保证了传输带宽的合理使用。
实施例4
基于同一技术构思,本申请实施例还提供了一种计算机设备,包括存储器1和处理器2,如图16所示,所述存储器1存储有计算机程序,所述处理器2执行所述计算机程序时实现上述任一项所述的视频会议辅助信息传输方法。
其中,存储器1至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器1在一些实施例中可以是视频会议系统的内部存储单元,例如硬盘。存储器1在另一些实施例中也可以是视频会议系统的外部存储设备,例如插接式硬盘,智能存储卡(Smart MediaCard, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器1还可以既包括视频会议系统的内部存储单元也包括外部存储设备。存储器1不仅可以用于存储安装于视频会议系统的应用软件及各类数据,例如视频会议系统程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器2在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器1中存储的程序代码或处理数据,例如执行视频会议程序等。
可以理解的是,本实施例提供的技术方案,发送端向接收端发送当前视频帧RTP数据,当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;接收端接收当前视频帧RTP数据,从当前视频帧RTP数据中解析出当前视频帧YUV数据和相应辅助信息,并将当前视频帧YUV数据和相应辅助信息一同用于后续处理。通过标准视频辅助信息打包,能够无缝对接标准解码器,保证了视频的兼容性可以在标准解码器上正常解码,实现视频帧与辅助信息同步传输,有效解决了视频帧与其辅助信息对齐问题,保证了视频帧与辅助信息对齐显示处理,进一步采用哈夫曼无损压缩技术,大大降低辅助信息数据量,有效降低辅助信息数据量节省带宽浪费,实现带宽有效的使用,有效提升了云会议的用户体验及拓展性,有效解决了辅助信息过大引入传输压力,从而能携带跟更多的视频辅助信息,保证并提升了云会议效果体验与扩展需求,保证了传输带宽的合理使用。
本发明公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的视频会议辅助信息传输方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本发明公开实施例所提供的视频会议辅助信息传输方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的视频会议辅助信息传输方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本发明公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (8)
1.一种视频会议辅助信息传输方法,其特征在于,包括:
发送端向接收端发送当前视频帧RTP数据,所述当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;
接收端接收所述当前视频帧RTP数据,从所述当前视频帧RTP数据中解析出所述当前视频帧YUV数据和所述相应辅助信息,并将所述当前视频帧YUV数据和所述相应辅助信息一同用于后续处理;
所述发送端在向接收端发送当前视频帧RTP数据之前,所述发送端还进行如下处理:获取原始当前视频帧YUV数据和原始相应辅助信息;对所述原始当前视频帧YUV数据进行视频预处理,得到所述当前视频帧YUV数据;对所述当前视频帧YUV数据进行编码,得到视频ES数据;对所述原始相应辅助信息进行预处理,得到所述相应辅助信息;对所述相应辅助信息进行标准SEI打包处理;将打包后的标准SEI插入到视频ES数据;对所有视频数据进行RTP打包,得到当前视频帧RTP数据;
所述对所述相应辅助信息进行标准SEI打包处理包括:确定打包有效数据长度;根据数据长度对所述相应辅助信息循环进行打包;
所述根据数据长度对所述相应辅助信息循环进行打包包括:进行循环打包处理,当已打包数据长度小于数据总长度时,判断未打包数据长是否小于最大有效长度,如果未打包数据长小于最大有效长度,则计算剩余数据长度赋值给待打包长度,如果未打包数据长不小于最大有效长度,则设置最大有效长度给待打包长度,生成SEI数据包,生成SEI数据包的处理流程包括:写入Nal头数据信息,进行循环处理,判断已写入长度是否小于数据长度,如果已写入长度小于数据长度,则判断未计算数据长是否小于0xff,如果未计算数据长小于0xff,则设置剩余长度给待写入长度变量,如果未计算数据长不小于0xff,则设置0xff给待写入长度变量;将长度变量写入到内存中并编译,再次进行循环处理,直至已写入长度不小于数据长度;如果已写入长度不小于数据长度,则写入公司和业务UUID,写入负载数据,写结束符,将生成的SEI包放入到数组中,并更新SEI包数组参数,再次进行循环打包处理;当已打包数据长度不小于数据总长度时,将生成好的SEI包数据,插入到编码后的视频帧数据中,包括:判断当前帧是否是IDR帧,如果是则将SPS和PPS数据放入到输出Nal数组中,否则将SEI包数据循环插入到输出Nal数组中,将I帧和P帧数据插入到输出Nal数组中。
2.根据权利要求1所述的视频会议辅助信息传输方法,其特征在于,所述对所述原始相应辅助信息进行预处理包括:
将所述原始相应辅助信息进行统一字节化;
对统一字节化后的原始相应辅助信息进行无损压缩,得到所述相应辅助信息。
3.根据权利要求2所述的视频会议辅助信息传输方法,其特征在于,所述接收端从所述当前视频帧RTP数据中解析出所述当前视频帧YUV数据和所述相应辅助信息包括:
对所述当前视频帧RTP数据进行解码处理,得到所述视频ES数据;
提取所述视频ES数据中的SEI数据;
从所述SEI数据中解析出所述相应辅助信息;
将视频ES数据给到视频解码器进行解码,得到所述当前视频帧YUV数据;
对所述相应辅助信息数据进行解压缩。
4.根据权利要求3所述的视频会议辅助信息传输方法,其特征在于,从所述SEI数据中解析出所述相应辅助信息包括:
循环处理得到的SEI数据包长度;
根据SEI数据包长度解析出所述相应辅助信息。
5.根据权利要求4所述的视频会议辅助信息传输方法,其特征在于,所述无损压缩采用哈夫曼编码实现。
6.一种视频会议辅助信息传输系统,其特征在于,包括:
发送端,用于向接收端发送当前视频帧RTP数据,所述当前视频帧RTP数据包括当前视频帧YUV数据和相应辅助信息;
接收端,用于接收所述当前视频帧RTP数据,从所述当前视频帧RTP数据中解析出所述当前视频帧YUV数据和所述相应辅助信息,并将所述当前视频帧YUV数据和所述相应辅助信息一同用于后续处理;
发送端还用于获取原始当前视频帧YUV数据和原始相应辅助信息;对原始当前视频帧YUV数据进行视频预处理,得到当前视频帧YUV数据;对当前视频帧YUV数据进行编码,得到视频ES数据;对原始相应辅助信息进行预处理,得到相应辅助信息;对相应辅助信息进行标准SEI打包处理;将打包后的标准SEI插入到视频ES数据;对所有视频数据进行RTP打包,得到当前视频帧RTP数据,所述对相应辅助信息进行标准SEI打包处理包括:确定打包有效数据长度;根据数据长度对所述相应辅助信息循环进行打包;所述根据数据长度对所述相应辅助信息循环进行打包包括:进行循环打包处理,当已打包数据长度小于数据总长度时,判断未打包数据长是否小于最大有效长度,如果未打包数据长小于最大有效长度,则计算剩余数据长度赋值给待打包长度,如果未打包数据长不小于最大有效长度,则设置最大有效长度给待打包长度,生成SEI数据包,生成SEI数据包的处理流程包括:写入Nal头数据信息,进行循环处理,判断已写入长度是否小于数据长度,如果已写入长度小于数据长度,则判断未计算数据长是否小于0xff,如果未计算数据长小于0xff,则设置剩余长度给待写入长度变量,如果未计算数据长不小于0xff,则设置0xff给待写入长度变量;将长度变量写入到内存中并编译,再次进行循环处理,直至已写入长度不小于数据长度;如果已写入长度不小于数据长度,则写入公司和业务UUID,写入负载数据,写结束符,将生成的SEI包放入到数组中,并更新SEI包数组参数,再次进行循环打包处理;当已打包数据长度不小于数据总长度时,将生成好的SEI包数据,插入到编码后的视频帧数据中,包括:判断当前帧是否是IDR帧,如果是则将SPS和PPS数据放入到输出Nal数组中,否则将SEI包数据循环插入到输出Nal数组中,将I帧和P帧数据插入到输出Nal数组中。
7.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至5中任一项所述视频会议辅助信息传输方法。
8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至5中任一项所述视频会议辅助信息传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310304747.5A CN116033113B (zh) | 2023-03-27 | 2023-03-27 | 一种视频会议辅助信息传输方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310304747.5A CN116033113B (zh) | 2023-03-27 | 2023-03-27 | 一种视频会议辅助信息传输方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116033113A CN116033113A (zh) | 2023-04-28 |
CN116033113B true CN116033113B (zh) | 2023-08-11 |
Family
ID=86076292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310304747.5A Active CN116033113B (zh) | 2023-03-27 | 2023-03-27 | 一种视频会议辅助信息传输方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116033113B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252681A (zh) * | 2008-03-07 | 2008-08-27 | 北京中星微电子有限公司 | 一种基于avs的视频监控系统 |
CN109618186A (zh) * | 2018-11-15 | 2019-04-12 | 中国航空工业集团公司洛阳电光设备研究所 | 一种采用fpga实现的h264/avc视频辅助增强信息封装电路 |
CN112437060A (zh) * | 2020-11-11 | 2021-03-02 | 平安普惠企业管理有限公司 | 一种数据传输方法、装置、计算机设备及存储介质 |
CN113099271A (zh) * | 2021-04-08 | 2021-07-09 | 天津天地伟业智能安全防范科技有限公司 | 视频辅助信息的编码、解码方法及电子设备 |
CN113873340A (zh) * | 2021-09-18 | 2021-12-31 | 恒安嘉新(北京)科技股份公司 | 一种数据处理方法、装置、设备、系统及存储介质 |
CN114501070A (zh) * | 2022-04-14 | 2022-05-13 | 全时云商务服务股份有限公司 | 视频会议同步额外信息的编解码方法、处理方法和系统 |
CN114584737A (zh) * | 2022-05-06 | 2022-06-03 | 全时云商务服务股份有限公司 | 一种云会议中实时多人同场景自定义的方法与系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8457194B2 (en) * | 2008-09-29 | 2013-06-04 | Microsoft Corporation | Processing real-time video |
US9674499B2 (en) * | 2012-08-15 | 2017-06-06 | Qualcomm Incorporated | Compatible three-dimensional video communications |
-
2023
- 2023-03-27 CN CN202310304747.5A patent/CN116033113B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101252681A (zh) * | 2008-03-07 | 2008-08-27 | 北京中星微电子有限公司 | 一种基于avs的视频监控系统 |
CN109618186A (zh) * | 2018-11-15 | 2019-04-12 | 中国航空工业集团公司洛阳电光设备研究所 | 一种采用fpga实现的h264/avc视频辅助增强信息封装电路 |
CN112437060A (zh) * | 2020-11-11 | 2021-03-02 | 平安普惠企业管理有限公司 | 一种数据传输方法、装置、计算机设备及存储介质 |
CN113099271A (zh) * | 2021-04-08 | 2021-07-09 | 天津天地伟业智能安全防范科技有限公司 | 视频辅助信息的编码、解码方法及电子设备 |
CN113873340A (zh) * | 2021-09-18 | 2021-12-31 | 恒安嘉新(北京)科技股份公司 | 一种数据处理方法、装置、设备、系统及存储介质 |
CN114501070A (zh) * | 2022-04-14 | 2022-05-13 | 全时云商务服务股份有限公司 | 视频会议同步额外信息的编解码方法、处理方法和系统 |
CN114584737A (zh) * | 2022-05-06 | 2022-06-03 | 全时云商务服务股份有限公司 | 一种云会议中实时多人同场景自定义的方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116033113A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6523249B2 (ja) | パケットヘッダを圧縮する方法及び装置 | |
US10869106B2 (en) | Data transmission method and apparatus, and electronic device | |
US10484698B2 (en) | Detecting markers in an encoded video signal | |
CN109167645B (zh) | 用于物理层封装的数据结构、数据结构产生设备及其方法 | |
CN108847248B (zh) | 蓝牙设备音频处理方法、系统、可读存储介质和蓝牙设备 | |
US8300959B2 (en) | Transport stream structure of image data having additional information inserted, and method and apparatus for transmission and reception thereof | |
CN101198045A (zh) | 一种流媒体数字水印系统 | |
CN106131550B (zh) | 播放多媒体文件的方法及装置 | |
CN106034252B (zh) | 一种流媒体处理方法及装置 | |
US20130294447A1 (en) | Apparatus and method of transmitting and receiving packet in a broadcasting and communication system | |
CN108419041A (zh) | 一种视频数据处理的方法和装置 | |
US8718131B2 (en) | Method and apparatus for generating and processing packet in MPEG-2 transport stream | |
US20140341269A1 (en) | Video encoding method and apparatus | |
CN1939060B (zh) | 一种用于促进视频信息的流式传输的方法和设备 | |
CN116033113B (zh) | 一种视频会议辅助信息传输方法和系统 | |
US20240040147A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN112968750A (zh) | 基于aos帧的卫星图像压缩数据块解析方法及系统 | |
JP2002027462A (ja) | 動画像受信装置及び映像出力装置 | |
US20200053017A1 (en) | Apparatus and method for configuring mmt payload header | |
CN114501070B (zh) | 视频会议同步额外信息的编解码方法、处理方法和系统 | |
WO2013185494A1 (zh) | 图像编码方法、图像解码方法及图像编码器和图像解码器 | |
KR100785012B1 (ko) | 3d 압축 데이터 생성, 복원 방법 및 그 장치 | |
JP2005515685A (ja) | 堅牢な信号符号化 | |
WO2022183841A1 (zh) | 解码方法、装置和计算机可读存储介质 | |
KR100682910B1 (ko) | Mpeg-4 인코딩/디코딩 방법 및 장치 |
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 |