CN117119233A - 显示设备和视频上传方法 - Google Patents
显示设备和视频上传方法 Download PDFInfo
- Publication number
- CN117119233A CN117119233A CN202210534262.0A CN202210534262A CN117119233A CN 117119233 A CN117119233 A CN 117119233A CN 202210534262 A CN202210534262 A CN 202210534262A CN 117119233 A CN117119233 A CN 117119233A
- Authority
- CN
- China
- Prior art keywords
- data
- path
- image
- image data
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 47
- 238000010586 diagram Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 25
- 238000004891 communication Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/27—Server based end-user applications
- H04N21/274—Storing end-user multimedia data in response to end-user request, e.g. network recorder
- H04N21/2743—Video hosting of uploaded data from client
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6377—Control signals issued by the client directed to the server or network components directed to server
- H04N21/6379—Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请一些实施例提供了一种显示设备和视频上传方法。显示设备可以获取多路分辨率不同的图像数据,根据目标码流分别对多路图像数据进行编码,得到多路编码数据。再对多路编码数据分别进行冗余处理,得到多路视频数据,并将多路视频数据发送至服务器,实现视频上传。服务器可以将视频数据发送至其他的设备进行观看。显示设备可以根据服务器反馈的网络状态参数,对每一路图像数据的目标码流进行更新,并根据更新后的目标码流重新获取每一路视频数据,以发送至服务器。通过动态更新码流的方式,使得上传的视频即可以满足网络较好的用户的观看体验,也能够让网络较差的用户进行观看,从而提高用户的使用体验。
Description
技术领域
本申请涉及显示设备技术领域,尤其涉及一种显示设备和视频上传方法。
背景技术
显示设备是指能够输出具体显示画面的终端设备,随着显示设备的快速发展,显示设备的功能将越来越丰富,性能也越来越强大,可实现双向人机交互功能,集影音、娱乐、数据等多种功能于一体,用于满足用户多样化和个性化需求。
用户可以使用显示设备,基于网页即时通信(Web based Real-TimeCommunications,WebRTC)技术在网页浏览器中进行视频会议。WebRTC技术是一种支持网页浏览器进行免插件实时音视频对话的技术,可以实现实时通讯中的获取话筒、屏幕共享、获取摄像头以及流媒体传输等功能,使得用户在浏览器中就可以进行实时进行视频会议。但是在多人视频会议时,会存在一些用户的网络质量较差的情况。为了保证这部分用户能正常进行视频会议,显示设备需要调节上传视频的参数,使得网络较差的用户可以正常观看。
相关技术中,显示设备在上传视频时,会降低视频数据的码流,从而保证网络较差的用户也可以流畅的观看视频。但是,低码流的视频质量较差,会出现视频卡顿的情况,对于网络质量好的用户来说,观看体验会很差,从而严重影响了用户的使用体验。
发明内容
本申请提供了一种显示设备和视频上传方法。以解决相关技术中,上传视频时降低视频数据的码流,严重影响用户的使用体验的问题。
第一方面,本申请提供一种显示设备,包括显示器和控制器,控制器被配置为执行以下步骤:
获取多路图像数据,多路所述图像数据的分辨率不同;
根据初始的目标码流分别对多路所述图像数据进行编码,得到多路编码数据;
对多路所述编码数据分别进行冗余处理,得到多路视频数据,并将多路所述视频数据发送至服务器;
根据所述服务器反馈的网络状态参数,对每一路图像数据的目标码流进行更新,并根据更新后的目标码流重新获取每一路视频数据,以发送至所述服务器。
第二方面,本申请提供一种视频上传方法,应用于显示设备,方法包括:
获取多路图像数据,多路所述图像数据的分辨率不同;
根据目标码流分别对多路所述图像数据进行编码,得到多路编码数据;
对多路所述编码数据分别进行冗余处理,得到多路视频数据,并将多路所述视频数据发送至服务器;
根据所述服务器反馈的网络状态参数,对每一路图像数据的目标码流进行更新,并根据更新后的目标码流重新获取每一路视频数据,以发送至所述服务器。
由以上技术方案可以看出,本申请一些实施例提供了一种显示设备和视频上传方法。显示设备可以获取多路分辨率不同的图像数据,根据目标码流分别对多路图像数据进行编码,得到多路编码数据。再对多路编码数据分别进行冗余处理,得到多路视频数据,并将多路视频数据发送至服务器,实现视频上传。服务器可以将视频数据发送至其他的设备进行观看。显示设备可以根据服务器反馈的网络状态参数,对每一路图像数据的目标码流进行更新,并根据更新后的目标码流重新获取每一路视频数据,以发送至服务器。通过动态更新码流的方式,使得上传的视频即可以满足网络较好的用户的观看体验,也能够让网络较差的用户进行观看,从而提高用户的使用体验。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据一些实施例的显示设备的使用场景;
图2示出了根据一些实施例的控制装置100的硬件配置框图;
图3示出了根据一些实施例的显示设备200的硬件配置框图;
图4示出了根据一些实施例的显示设备200中软件配置图;
图5示出了一些实施例中显示设备内置摄像头的示意图;
图6示出了一些实施例中显示设备外接摄像头的示意图;
图7示出了一些实施例中用户界面的示意图;
图8示出了一些实施例中应用面板的示意图;
图9示出了一些实施例中视频会议中数据发送端的场景示意图;
图10示出了一些实施例中视频会议中数据接收端的场景示意图;
图11示出了一些实施例中视频会议界面的示意图;
图12示出了一些实施例中显示器中显示动态上传模式确认信息的示意图;
图13示出了一些实施例中显示设备各部件的交互流程图;
图14示出了一些实施例中编码数据的示意图;
图15示出了一些实施例中编码数据的示意图;
图16示出了一些实施例中获取GOP序列的冗余比值的流程图;
图17示出了一些实施例中编码数据的示意图;
图18示出了视频上传方法的一个实施例的流程示意图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其他组件。
术语“模块”是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
图1为根据实施例中显示设备的使用场景的示意图。如图1中示出,用户可通过终端设备300和控制装置100操作显示设备200。
在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。其中,无线方式可以是直连和非直连,可以是经过路由的,也可以是不经过路由的。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。
在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑、AR/VR设备和触控笔等中的任意一种。
在一些实施例中,也可以使用智能设备300以控制显示设备200。例如,使用智能设备300控制显示设备200上运行的应用程序,或者使用在智能设备300上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,在直观的用户界面(UI)中为用户提供各种控制。
在一些实施例中,也可以使用智能设备300和显示设备进行数据的通信。
在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。
在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。
图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。
在一些实施例中,通信接口130用于和外部通信,包含WIFI芯片,蓝牙模块,NFC或可替代模块中的至少一种。
在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
图3示出了根据示例性实施例中显示设备200的硬件配置框图。
在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
在一些实施例中,控制器包括中央处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面等。
在一些实施例中,显示器260可为液晶显示器、OLED显示器以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。
在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM Random AccessMemory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。
CPU处理器。用于执行存储在存储器中操作系统和摄像头应用指令,以及根据接收外部输入的各种交互指令,来执行各种摄像头应用、数据和内容,以便最终显示和播放各种音视频内容。CPU处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。
在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示器上。
在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可显示设备200上显示或播放的信号。
在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的GUI信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出RGB数据信号。
在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。
在一些实施例中,用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是摄像头应用或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素中的至少一种。
在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:显示设备本体上的实体按键,或其他等)。
在一些实施例中,显示设备的系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和摄像头应用。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户摄像头应用。摄像头应用在启动后被编译成机器码,形成一个进程。
如图4所示,显示设备的系统可以包括内核(Kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
如图4所示,将显示设备的系统分为三层,从上至下分别为应用层、中间件层和硬件层。
应用层主要包含电视上的常用应用,以及应用框架(Application Framework),其中,常用应用主要是基于浏览器Browser开发的应用,例如:HTML5 APPs;以及原生应用(Native APPs);
应用框架(Application Framework)是一个完整的程序模型,具备标准应用软件所需的一切基本功能,例如:文件存取、资料交换...,以及这些功能的使用接口(工具栏、状态列、菜单、对话框)。
原生应用(Native APPs)可以支持在线或离线,消息推送或本地资源访问。
中间件层包括各种电视协议、多媒体协议以及系统组件等中间件。中间件可以使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
硬件层主要包括HAL接口、硬件以及驱动,其中,HAL接口为所有电视芯片对接的统一接口,具体逻辑由各个芯片来实现。驱动主要包含:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)以及电源驱动等。
用户可以使用显示设备,基于网页即时通信(Web based Real-TimeCommunications,WebRTC)技术在网页浏览器中进行视频会议。WebRTC技术是一种支持网页浏览器进行免插件实时音视频对话的技术,可以实现实时通讯中的获取话筒、屏幕共享、获取摄像头以及流媒体传输等功能,使得用户在浏览器中就可以进行实时进行视频会议。但是在多人视频会议时,会存在一些用户的网络质量较差的情况。为了保证这部分用户能正常进行视频会议,显示设备需要调节上传视频的参数,使得网络较差的用户可以正常观看。相关技术中,显示设备在上传视频时,会降低视频数据的码流,从而保证网络较差的用户也可以流畅的观看视频。但是,低码流的视频质量较差,会出现视频卡顿的情况,对于网络质量好的用户来说,观看体验会很差,从而严重影响了用户的使用体验。
本申请提供一种显示设备,包括显示器和控制器。其中,显示器用于显示用户界面。用户界面中可以是具体的目标图像,例如从网络信号源中获取到的各种媒资,包括视频、图片等内容。用户界面也可以是显示设备的一些UI界面。
在一些实施例中,为了使得显示设备能够实现视频会议的功能,显示设备还包括图像输入接口和声音输入接口。
其中,图像输入接口用于连接图像采集器。图像采集器可以是摄像头,用于采集一些图像数据,例如用户图像。需要说明的是,摄像头可以作为一种外部装置,通过图像输入接口外接在显示设备上,也可以作为一种检测器内置于显示设备中。对于外接在显示设备的摄像头,可以将摄像头连接至显示设备的外部装置接口,接入显示设备。用户可以利用摄像头在显示设备上完成拍照或拍摄功能,从而采集图像数据。
摄像头可以进一步包括镜头组件,镜头组件中设有感光元件和透镜。透镜可以通过多个镜片对光线的折射作用,使景物的图像的光能够照射在感光元件上。感光元件可以根据摄像头的规格选用基于CCD(Charge-coupled Device,电荷耦合器件)或CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)的检测原理,通过光感材料将光信号转化为电信号,并将转化后的电信号输出成图像数据。摄像头还可以按照设定的采样频率逐帧获取图像数据,以根据图像数据形成视频流数据。
在一些实施例中,显示设备内置的摄像头还可以支持升降。即摄像头可以设置在升降机构上,当需要进行图像采集时,通过特定的升降指令,控制升降机构进行运动,从而带动摄像头升高,以进行图像采集。而在不需要进行图像采集时,同样可以通过特定的升降指令,控制升降机构进行运动,从而带动摄像头降低,以隐藏摄像头。图5示出了一些实施例中显示设备内置摄像头的示意图。
对于外接于显示设备的图像采集器,其本身可以是一个独立的外设,并通过特定的数据接口连接显示设备。例如,如图6所示,图像采集器可以为独立的摄像头设备,显示设备上可以设有通用串行总线接口(Universal Serial Bus,USB)或高清晰度多媒体接口(High Definition Multimedia Interface,HDMI),图像采集器则通过USB接口或HDMI接口连接显示设备。为了便于对用户的手势交互动作进行检测,在一些实施例中,外接于显示设备上的图像采集器可以设置在靠近显示设备的位置,如图像采集器通过夹持装置夹在显示设备的顶部,或者图像采集器放置在显示设备附近的桌面上。
声音输入接口用于连接声音采集器,例如麦克风。显示设备可以通过麦克风采集声音数据,例如用户的声音。
在一些实施例中,当用户控制显示设备开机后,控制器可以控制显示器显示用户界面。图7示出了一些实施例中用户界面的示意图。如图7所示,用户界面包括第一导航栏700、第二导航栏710、功能栏720和内容显示区730,功能栏720包括多个功能控件如“观看记录”、“我的收藏”和“我的应用”等。其中,内容显示区730中显示的内容会随第一导航栏700和第二导航栏710中被选中控件的变化而变化。在应用面板页面时,用户可以通过点击“我的应用”控件,以输入针对应用面板页面的显示指令,来触发进入对应的应用面板。需要说明的是,用户也可以通过其他方式来输入对功能控件的选中操作,以触发进入应用面板。例如,利用语音控制功能或者搜索功能等,控制进入到应用面板页面。
在一些实施例中,对于图7所示的用户界面,用户可以选择“我的应用”控件,从而触发显示设备显示出应用面板。用户可以通过应用面板查看到显示设备已经安装的应用程序,即显示设备所支持的功能。用户进一步可以选择其中一个应用并进行打开,以实现该应用的功能。需要说明的是,显示设备安装的应用可以是系统应用,也可以是第三方应用。
图8示出了一些实施例中应用面板的示意图。如图8所示,应用面板中包括“浏览器”、“有线电视”以及“视频聊天”三个控件。其中,用户通过触控“浏览器”控件,可以控制显示设备打开浏览器。用户可以在浏览器中进行相应操作,例如观看网络媒资,用户还可以通过浏览器进行视频会议。具体的,显示设备具有网络实时通信(WebRTC)功能,基于WebRTC技术,通过内置浏览器可以实现视频会议。WebRTC技术使得参加视频会议的显示设备能够通过浏览器直接实现视频会议,而无须使用专用客户端或者flash插件。同时显示设备通过具有WebRTC功能的内置浏览器向视频会议服务器发送媒体流,并接收视频会议服务器返回的媒体流,从而不受处理能力和带宽资源的限制,可以支持多方会议。
在一些实施例中,显示设备中也可以直接安装视频会议APP,该视频会议App可以提供视频会议功能。用户可以启动视频会议APP,从而进行视频会议。
视频会议是指线上视频会议,即各设备之间通过网络传输音视频数据。对于每一个设备来说,可以是数据发送端,将使用本设备的用户的音视频数据发送给其他所有的设备。同时,每一个设备也可以是数据接收端,接收其他所有设备发送的音视频数据,以供用户观看。
图9示出了一些实施例中视频会议中数据发送端的场景示意图。如图9所示,用户1、用户2、用户3和用户4通过各自的终端设备进行视频会议,其中,用户1持有的终端设备为上文所述的显示设备,用户2、用户3和用户4持有的终端设备可以为显示设备,也可以为其它能够提供视频会议功能的设备。其中,用户2和用户3均使用手机进行视频会议,用户4使用显示设备进行视频会议。用户1持有的显示设备为数据发送端,其他用户持有的设备均为数据接收端。
本申请实施例中,对于用户1所持有的显示设备来说,该显示设备为本地设备,用户2、用户3和用户4所持有的终端设备为远端设备。相应的,用户1在显示设备上所产生的音视频数据为本地音视频数据,用户2、用户3和用户4在各自持有的终端设备上所产生的音视频数据为远端音视频数据。作为数据发送端,用户1持有的显示设备采集用户1产生的本地音视频数据,示例地,可以通过显示设备自带的音视频采集器,如麦克风、摄像头等采集用户1产生的视频数据和音频数据。通过对本地音视频数据进行编码,并将编码后的本地音视频数据发送至各个远端设备,以使得用户2、用户3和用户4可以通过解码接收到的编码后的本地音视频数据,得到原始的本地音视频数据,从而收听和收看到用户1所要传递的音视频信息。
图10示出了一些实施例中视频会议中数据接收端的场景示意图。如图9所示,用户1持有的显示设备为数据接收端,其他用户持有的设备均为数据发送端。作为数据接收端,显示设备可以接收到用户2、用户3和用户4通过远端设备发送的远端音视频数据。进一步的,通过解码该远端音视频数据,得到原始的远端音视频数据,从而令用户1可以收听和收看到用户2、用户3和用户4所要传递的音视频信息。
需要说明的是,在进行视频会议时,每个用户持有的终端设备,既作为数据发送端,将本地音视频数据发送给其他所有的终端设备,又作为数据接收端,接收其他所有设备发送的远端音视频数据。从而实现所有用户之间的音视频数据的交互,以正常进行视频会议过程。
图11示出了一些实施例中视频会议界面的示意图。用户可以控制显示设备进行视频会议。视频会议过程中,用户可以通过触发控制装置上的按键而输入指示显示视频会议界面的用户指令,控制器接收用户输入的用户指令,响应于显示请求触发进入视频会议界面。如图11所示,显示器中显示的视频会议界面中包括本地预览区域1100以及远端预览区域1110。本地预览区域1100用于显示本地采集的视频数据,远端预览区域1110用于显示远端显示设备采集的视频数据,以使用户通过显示的视频会议界面方便且顺利的进行视频会议。
为了保证网络质量差的用户能正常进行视频会议,对于数据发送端的显示设备,再上传视频数据时,可以降低视频数据的码流,从而保证网络较差的用户也可以流畅的观看视频。但会导致视频质量较低,影响其他用户的观看体验。相关技术中,为了提高用户的观看体验,显示设备在上传视频数据时,可以同时上传多路不同码流的视频数据,以供数据接收端选择最合适的线路进行观看。然而,考虑到网络的波动性,由于这些线路的视频数据的码流时固定的,有可能全都不满足数据接收端的网络情况。同时数据变多后,可能出现丢帧情况,导致播放卡顿的情况,给用户的体验性较差。
为了解决上述问题,本申请实施例中的显示设备具有动态上传功能,作为数据发送端在上传视频数据时,可以根据网络情况动态调整上传的视频数据的码流,同时可以对视频数据进行优化处理,避免出现数据传输时的丢帧而导致的播放卡顿情况。显示设备设备可以设置有动态上传模式,当用户觉得上传的视频数据的效果不佳时,可以向显示设备发送动态上传指令,控制显示设备进入动态上传模式,控制器可以动态调节视频数据的码流。
在一些实施例中,用户可以通过操作遥控器的指定按键,向显示设备发送动态上传模式指令。在实际应用的过程中预先绑定动态上传模式指令与遥控器按键之间的对应关系。例如,在遥控器上设置一个动态上传模式按键,当用户触控该按键时,遥控器发送动态上传模式指令至控制器,此时控制器控制显示设备进入动态上传模式。当用户再次触控该按键时,控制器可以控制显示设备退出动态上传模式。
在一些实施例中,也可以预先绑定动态上传模式指令与多个遥控器按键之间的对应关系,当用户触控与动态上传模式指令绑定的多个按键时,遥控器发出动态上传模式指令。在一可行性实施例中,动态上传模式指令绑定的按键依次为方向键(左、下、左、下),即当用户在预设时间内连续触控按键(左、下、左、下)的情况下,遥控器才发送动态上传模式指令至控制器。采用上述绑定方法,可以避免动态上传模式指令由于用户的误操作而发出。本申请实施例仅是示例性的提供几种动态上传模式指令与按键之间的绑定关系,在实际应用的过程中可以根据用户的习惯设定动态上传模式指令与按键之间的绑定关系,在此不做过多的限定。
在一些实施例中,用户可以使用显示设备的声音采集器,例如麦克风,通过语音输入的方式,向显示设备发送动态上传模式指令,以控制显示设备进入动态上传模式。显示设备中可以设置有智能语音系统,智能语音系统可以对用户的语音进行识别,以提取用户输入的指令内容。用户可以通过麦克风输入预设的唤醒词,从而启动智能语音系统,从而控制器可以对用户输入的指令做出响应。并在一定时间内输入动态上传模式指令,使得显示设备进入动态上传模式。例如,用户可以输入“某某同学”,以启动智能语音系统。再输入“进入动态上传模式”,实现向显示设备发送动态上传模式指令。
在一些实施例中,用户还可以通过预设的手势向显示设备发送动态上传模式指令。显示设备可以通过图像采集器,例如摄像头,检测用户的行为。当用户做出预设的手势时,可以认为用户向显示设备发送了动态上传模式指令。例如,可以设置为:当检测到用户划出V字时,判定为用户向显示设备输入了动态上传模式指令。用户还可以通过预设的动作向显示设备发送动态上传模式指令。例如,可以设置为:当检测到用户同时抬起左脚和右手时,判定为用户向显示设备输入了动态上传模式指令。
在一些实施例中,当用户使用智能设备控制显示设备时,例如使用手机时,也可以向显示设备发送动态上传模式指令。在实际应用的过程中可以在手机中设置一个控件,可以通过该控件选择是否进入动态上传模式,从而发送动态上传模式指令至控制器,此时控制器可以控制显示设备进入动态上传模式。
在一些实施例中,当用户使用手机控制显示设备时,可以对手机发出连续点击指令。连续点击指令指的是:在预设的周期内,用户对手机触摸屏的同一区域进行点击的次数超过预设阈值。例如:当用户在1s内对手机触摸屏的某个区域连续点击3次,则视为一次连续点击指令。手机接收到连续点击指令后,可以向显示设备发送动态上传模式指令,以使控制器控制显示设备进入动态上传模式。
在一些实施例中,当用户使用手机控制显示设备时,也可以设置为:当检测到用户对手机触摸屏的某一区域的触控压力值超过预设的压力阈值时,手机可以向显示设备发送动态上传模式指令。
还可以在显示设备的UI界面中设置动态上传模式选项,当用户点击该选项时,可以控制显示设备进入或退出动态上传模式。
在一些实施例中,为防止用户误触发动态上传模式,当控制器接收到动态上传模式指令时,可以控制显示器显示动态上传模式确认信息,从而使得用户进行二次确认,是否要控制显示设备进入动态上传模式。图12示出了一些实施例中显示器中显示动态上传模式确认信息的示意图。当显示设备进入动态上传模式时,显示设备可以对视频数据进行动态上传处理,以调节上传视频数据的码流。
图13示出了一些实施例中显示设备各部件的交互流程图。
如图13所示,用户可以使用显示设备进行视频会议,具体的,用户可以向显示设备输入启动视频会议的指令,可以通过浏览器或者视频会议APP的方式,直接启动视频会议。响应于用户的指令,显示设备可以开启视频会议功能,同时可以采集用户的音视频数据。控制器可以控制图像采集器采集用户图像,同时可以控制声音采集器采用用户声音。
图像采集器在采集用户图像时,会根据自身的分辨率输出情况,采集用户图像。用户可以自行设置图像采集器输出的分辨率,从而采集图像,例如设定为输出的分辨率为1280*720,从而采集到1280*720的用户图像。本申请实施例中,可以设定为图像采集器以自身支持输出的最大分辨率采集用户图像。例如,图像采集器支持输出的最大分辨率可以是1920*1080。
图像采集器采集到的是YUV图像数据。YUV指的是:视频、图片、相机等应用中使用的一类图像格式,实际上是所有“YUV”像素格式共有的颜色空间的名称。与RGB格式(红-绿-蓝)不同,YUV是用一个称为Y(相当于灰度)的“亮度”分量和两个“色度”分量表示,分别称为U(蓝色投影)和V(红色投影),由此得名。图像采集器可以采集自身支持最大分辨率的YUV图像。
在一些实施例中,图像采集器在采集到用户图像后,可以将用户图像发送至控制器。显示设备中可以设置有存储模块,控制器可以将用户图像先存储到该存储模块中,以便后续处理。
在发送用户图像的同时,图像采集器还可以将每一帧用户图像的时间信息发送至控制器,该时间信息可以是图像采集器采集到的该帧用户图像的时间。控制器可以根据该时间信息生成每一帧用户图像的时间戳信息。需要说明的是,时间戳信息用于指示用户图像的播放顺序,时间戳越小,表示该帧用户图像的播放顺序越靠前,时间戳越大,表示该帧用户图像的播放顺序越靠后。数据接收端可以根据每一帧用户图像的时间戳信息,确定每一帧用户图像的播放顺序。
在一些实施例中,控制器在获取到用户图像后,可以将获取多路分辨率不同的图像数据,每个分辨率可以对应不同的码流,以提供不同的播放线路,从而同时适应网络质量较好和较差的不同用户。控制器可以直接将用户图像转换为多路图像数据。
具体的,对于用户图像来说,其分辨率可以是图像采集器最大输出的分辨率。可以将用户图像作为第一路图像数据,从而保留了图像采集器能够采集到的的最大分辨率图像,第一路图像数据也是质量最高,最清晰的图像。为了保证网络质量较差的用户也能正常观看图像,控制器还可以将用户图像转换为分辨率较低的图像数据。例如,当用户图像,即第一图像数据的分辨率为1280*720时,控制器可以进一步转换出两路分辨率较低的图像数据。具体的,可以将第一路图像数据转换为第二路图像数据和第三路图像数据,并且第二路图像数据的分辨率和第三路图像数据的分辨率均低于第一路图像数据的分辨率,同时第二路图像数据的分辨率和第三路图像数据的分辨率也是不同的。可以设定为:第二路图像数据的分辨率为640*480,第三路图像数据的分辨率为320*240。
在一些实施例中,控制器还可以根据用户图像的分辨率,即图像采集器支持输出的最大分辨率,确定具体获取几路图像数据。当用户图像的分辨率较低时,可以设置较少路数的图像数据,当用户图像的分辨率较高时,可以设置较多路数的图像数据。需要说明的是,为了保证最佳的图像效果,无论用户图像的分辨率具体是高或者低,均可以保留用户图像,将用户图像作为第一路图像数据。例如,当用户图像的分辨率为1280*720时,控制器可以获取三路图像数据,分辨率依次为:1280*720、640*480和320*240。当用户图像的分辨率为1920*1080时,控制器可以获取四路图像数据,分辨率依次为:1920*1080、1280*720、640*480和320*240。具体设定的图像数据的路数,以及每一路图像数据的分辨率可以由用户自行设定,本申请实施例中不做限定。本申请实施例后续以三路图像数据为例进行介绍。
在一些实施例中,在获取到多路不同分辨率的图像数据后,控制器可以对每一路图像数据分别进行编码,得到多路编码数据。具体的,可以根据初始设定的目标码流先分别对多路图像数据进行编码。
每一路图像数据都可以设置有一个初始的目标码流,因此,控制器可以先获取每一路图像数据初始的目标码流,以对图像数据进行编码。对于三路图像数据的情况,可以设初始的目标码流为:1280*720图像数据初始的目标码流为512K,640*480图像数据初始的目标码流为316K,320*240图像数据初始的目标码流为100K。
需要说明的是,对于高分辨率的图像数据,需要以硬编码的形式进行处理,而对于低分辨率的图像数据,则需要以软编码的形式进行处理。本申请实施例中中,控制器可以设定一个目标分辨率阈值,并通过该目标分辨率阈值确定高分辨率和低分辨率。高于该目标分辨率,则认为是高分辨率,低于该目标分辨率,则认为是低分辨率。
对于三路图像数据的情况,可以认为第一路图像数据为高分辨率图像数据,第二路图像数据和第三路图像数据为低分辨率图像数据,即1280*720图像数据为高分辨率图像数据,需要进行硬解码,640*480图像数据和320*240图像数据为低分辨率图像数据,需要进行软解码。
对于四路图像数据的情况,可以认为第一路图像数据和第二路图像数据为高分辨率图像数据,第三路图像数据和第四路图像数据为低分辨率图像数据,即1920*1080图像数据和1280*720图像数据为高分辨率图像数据,需要进行硬解码,640*480图像数据和320*240图像数据为低分辨率图像数据,需要进行软解码。
在本申请实施例中,显示设备本身的硬件芯片可以提供用于处理音视频数据的通路,可以称为硬件通路。硬件芯片中可以设置有硬编码器,用于对数据进行硬编码处理。在显示设备中预先下载的视频会议APP或者浏览器也可以提供用于处理音视频数据的通路,可以称为软件通路,其可以对数据进行软编码处理。
在对多路图像数据进行编码时,控制器可以基于硬件通路对高分辨率图像数据进行硬编码处理,基于软件通路对低分辨率图像数据进行软编码处理。
对于三路图像数据的情况,控制器可以先基于硬件通路,根据第一路图像数据初始的目标码流,对第一路图像数据进行编码,得到第一路编码数据。
控制器可以基于软件通路,可以是视频会议APP或者浏览器本身进行软编码处理,根据第二路图像数据初始的目标码流对第二路图像数据进行编码,得到第二路编码数据。同时,可以根据第三路图像数据初始的目标码流对第三路图像数据进行编码,得到第三路编码数据。
在一些实施例中,控制器获取到多路编码数据后,可以将多路编码数据直接发送给给数据接收端,以供其进行观看。每一路编码数据可以对应一个播放线路,可以对应播放不同分辨率的图像数据,以供数据接收端自行选择适合的线路进行观看。
需要说明的是,由于多路编码数据的数据量较大,在数据传输时容易出现丢帧情况。对于数据接收端来说,在播放某一路编码数据时,一旦某一帧数据丢失,便会导致这一帧丢失的数据之后的所有数据,在播放时全部出现卡顿的情况,严重影响持有数据接收端的用户的观看体验。
为此,本申请实施例中的显示设备还可以对多路编码数据分别进行冗余处理,得到多路视频数据。每一路视频数据对应一个播放线路,将这些视频数据发送给数据接收端,可以有效地避免卡顿情况。
在对多路编码数据进行冗余处理时,控制器可以对每一路编码数据分别进行冗余处理,并且每一路编码数据可以进行相同的冗余处理。
在一些实施例中,以一路编码数据为例,控制器在对一路编码数据进行冗余处理时,可以先将这一路编码数据划分为若干个GOP序列(图像组,Group ofPictures)。每个GOP序列中都会包括多帧编码数据。
具体的,对于一路编码数据来说,会包括多帧编码数据。编码数据分为I、P、B三种类型。其中,I帧即Intra-coded picture(帧内编码图像帧),不参考其他图像帧,只利用本帧的信息进行编码。P帧即Predictive-codedPicture(预测编码图像帧),利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码。B帧即Bidirectionallypredicted picture(双向预测编码图像帧),提供最高的压缩比,它既需要之前的图像帧(I帧或P帧),也需要后来的图像帧(P帧),采用运动预测的方式进行帧间双向预测编码。
简单地讲,I帧是关键帧,可以理解为一个完整的画面,而P帧和B帧记录的是相对于I帧的变化,P帧表示跟前一帧的差别,B帧表示前后帧差别。没有I帧,P帧和B帧就无法解码。因此,一个GOP序列中至少包括一帧关键帧的编码数据。
本申请实施例中,可以利用关键帧数据确定出每个GOP序列。可以设定为:每个GOP序列中包含一帧关键帧,并且关键帧为GOP序列中第一帧编码数据。
因此,对于一路编码数据来说,控制器可以确定这一路编码数据中所有的关键帧数据,并确定出相邻的两个关键帧数据之间的所有数据,将这些数据和相邻的两个关键帧数据中前一个关键帧确定为一个GOP序列。图14示出了一些实施例中编码数据的示意图。如图14所示,编码数据类型依次为:BIBPBPBIB。将相邻的两帧I帧之间的所有数据和前一帧I帧,确定为一个GOP序列,即IBPBPB为一个GOP序列。
在一些实施例中,考虑到视频会议的实时性,希望能让数据接收端尽快播放数据发送端提供的视频,实现实时播放的效果,因此,可以不需要B帧类型的编码数据。
在对图像数据进行编码处理时,可以将每一帧图像数据编码成I帧或P帧,而不会编码成B帧。即本申请实施例中的编码数据的类型可以仅为I帧或P帧,不为B帧。
因此,在获取GOP序列时,同样可以确定这一路编码数据中所有的I帧数据,并确定出相邻的两个I帧数据之间的所有数据,将这些数据和相邻的两个I帧数据中前一个I帧确定为一个GOP序列。但是,一个GOP序列中会包含一个I帧和若干个P帧,但不会包含B帧。
图15示出了一些实施例中编码数据的示意图。如图15所示,编码数据类型依次为:PIPPPPPIP。将相邻的两帧I帧之间的所有数据和前一帧I帧,确定为一个GOP序列,即IPPPPP为一个GOP序列。
控制器进一步可以确定出每一路编码数据的所有GOP序列。
在一些实施例中,在确定出每一路编码数据的所有GOP序列后,控制器可以获取每一个GOP序列的冗余比值。图16示出了一些实施例中获取GOP序列的冗余比值的流程图。如图16所示,对于一个GOP序列,控制器可以先确定该GOP序列中包含的编码数据的数量,本申请实施例中利用第一帧数gop表示该数量。
控制器可以判断第一帧数所处的帧数区间。考虑到一个GOP序列中包含的数据帧数基本上在5-35之间,可以设置有三个帧数区间。其中,5-15为第一帧数区间,15-25为第二帧数区间,25-35为第三帧数区间。
控制器可以判断第一帧数所处的区间,如果第一帧数在第一阈值和第二阈值之间,即5≤gop≤15,则基于预设公式获取冗余比值。预设公式可以设置为:1-gop/(35-gop)。例如,当第一帧数gop为15时,可以计算出冗余比值为0.25。
如果第一帧数在第二阈值和第三阈值之间,即15<gop≤25,则将预设的第一数值确定为冗余比值,预设的第一数值可以设置为0.2。
如果第一帧数在第三阈值和第四阈值之间,即25<gop≤35,则将预设的第二数值确定为冗余比值,预设的第二数值可以设置为0.15。
在一些实施例中,在确定了每个GOP序列的冗余比值后,可以分别根据每个GOP序列的冗余比值对每个GOP序列进行编码处理,得到冗余数据。
编码处理的目的在于将初始的GOP序列中增加几帧数据,保证编码处理后的GOP序列中包含的数据多于初始的GOP序列。对于编码处理后的GOP序列来说,即使在数据传输时出现丢帧,也可以保证丢帧后的GOP序列中剩余的数据会多于初始的GOP序列,从而避免出现卡顿情况。
具体的,控制器可以先确定冗余比值和第一帧数的第一乘积,该第一乘积即为需要增加的数据帧数。以第一帧数gop为20为例,可以确定出冗余比值为0.2,因此,需要增加出4帧数据。
控制器进一步可以计算第一乘积与第一帧数的和,本申请实施例中利用第二帧数表示该和。因此,第二帧数即为编码处理后,GOP序列中应该包含的数据帧数。
控制器可以根据第二针数,对GOP序列进行编码处理,得到冗余数据,冗余数据的帧数即为第二帧数。此步骤中的编码处理可以认为是数据增强处理,目的是为了增加数据的数量。例如,对于包含20帧编码数据的GOP序列,第二帧数为24。因此,对该GOP序列进行编码处理,可以是数据增强处理,从而得到包含24帧编码数据的GOP序列。即该GOP序列中的数据帧数从20帧变更为24帧。
在一些实施例中,在得到冗余数据后,控制器还可以获取冗余数据中每一帧数据的时间戳。
具体的,以每个GOP序列为单位,获取每一帧数据的时间戳。对于编码处理之前的GOP序列来说,以GOP序列包含20帧编码数据为例,其中每一帧编码数据均具有各自的时间戳。控制器可以获取所有编码数据中的最大时间戳T1和最小时间戳T2。
在对GOP序列进行编码处理后,GOP序列中会包含24帧数据,这24帧数据即为GOP序列对应的冗余数据。此时,控制器可以基于最大时间戳和最小时间戳,对这些数据平均分配时间戳。具体的,最大时间戳T1作为冗余数据中最后一帧数据的时间戳,最小时间戳T2作为冗余数据中第一帧数据的时间戳。之间剩余的数据,则平均分配时间戳,每两帧数据的时间戳的差值是相同的。以24帧数据为例,24帧数据之间会产生23个间距,因此每两帧数据的时间戳的差值即为:C=(T1-T2)/23。根据该差值可以计算出每帧数据的时间戳,例如第二帧数据的时间戳为T2+C,第三帧数据的时间戳为T2+2C,以此类推,可以得到所有数据的时间戳。
图17示出了一些实施例中编码数据的示意图。如图17所示,GOP序列编码处理后,所包含的数据会增加几帧。但第一帧数据的时间戳依然为原来的GOP序列中第一帧数据的时间戳T2,最后一帧数据的时间戳依然为原来的GOP序列中最后一帧数据的时间戳T1。中间剩余数据的时间戳则平均分配。
在确定出冗余数据的时间戳后,还可以对每个GOP序列中的所有冗余数据赋予序列号sequence,按照数据的先后顺序依次赋予序列号即可,用于表示数据的播放顺序。
控制器可以将一帧冗余数据以及该帧冗余数据的时间戳和序列号进行打包处理,得到一帧视频数据。进一步的,控制器可以获取到每一路的视频数据。
在一些实施例中,在获取多路视频数据后,控制器可以将多路视频数据发送至服务器,实现视频上传。服务器进一步可以将多路视频数据全部发送给其他所有数据接收端,以供持有数据接收端的用户进行观看。同时,服务器还可以将其他所有数据接收端发送的视频数据,进一步发送至本显示设备。控制器可以对接收到的视频数据进行解码,并控制显示器进行显示,从而进行视频会议。
在一些实施例中,控制器还可以对每一路上传的视频数据的码流进行更新。服务器可以反馈网络状态参数至本显示设备,控制器根据网络状态参数可以对每一路图像数据的目标码流进行更新。
具体的,服务器反馈的网络状态参数为其他数据接收端在播放视频数据时,每一路视频数据的丢包率。
控制器可以先获取显示设备的网络带宽bandwidth,并接受服务器发送的每一路视频数据的丢包率。以三路视频数据为例,按照分辨从高到低的顺序,丢包率分别为:lossrateone(1280*720),lossratetwo(640*480),lossratethree(320*240)。
控制器可以计算1和丢包率的差值,并计算网络带宽、差值以及预设的每一路图像数据的权重系数,三者的第二乘积,并将第二乘积更新为每一路图像数据的目标码流。
具体的,三路图像数据的权重系数可以设定为:4/7、2/7和1/7。因此,更新后的目标码流可以为:
第一路图像数据(1280*720)的目标码流为(bandwidth*4/7)*(1-lossrateone),
第二路图像数据(640*480)的目标码流为(bandwidth*2/7)*(1-lossratetwo),
第三路图像数据(320*240)的目标码流为(bandwidth*1/7)*(1-lossratethree)。
在一些实施例中,在对每一路图像数据的目标码流更新后,控制器可以根据更新后的目标码流重新获取每一路视频数据,以发送至服务器。具体的,控制器可以根据每一路图像数据更新后目标码流,分别对每一路图像数据进行编码以及荣誉处理,从而得到更新后的每一路视频数据,并且更新后的每一路视频数据可以适应其他数据接收端的网络情况,可以提高视频会议的质量。
本申请实施例还提供了一种视频上传方法,如图18所示,该方法包括:
步骤1801、获取多路图像数据,多路图像数据的分辨率不同。
步骤1802、根据目标码流分别对多路图像数据进行编码,得到多路编码数据。
步骤1803、对多路编码数据分别进行冗余处理,得到多路视频数据,并将多路视频数据发送至服务器。
步骤1804、根据服务器反馈的网络状态参数,对每一路图像数据的目标码流进行更新,并根据更新后的目标码流重新获取每一路视频数据,以发送至服务器。
在一些实施例中,获取多路图像数据,包括:
响应于用户输入的启动视频会议的指令,控制图像采集器采集用户图像。将用户图像作为第一路图像数据,第一路图像数据的分辨率为图像采集器输出的分辨率。将第一路图像数据转换为第二路图像数据和第三路图像数据,第二路图像数据的分辨率和第三路图像数据的分辨率低于第一路图像数据的分辨率。
在一些实施例中,根据目标码流分别对多路图像数据进行编码,包括:
获取每一路图像数据初始的目标码流。基于硬件通路,根据第一路图像数据初始的目标码流对第一路图像数据进行编码,得到第一路编码数据。基于软件通路,根据第二路图像数据初始的目标码流对第二路图像数据进行编码,得到第二路编码数据,以及,根据第三路图像数据初始的目标码流对第三路图像数据进行编码,得到第三路编码数据。
在一些实施例中,对多路编码数据分别进行冗余处理的步骤中,包括:
将每一路编码数据分为若干个图像组。获取图像组的冗余比值。根据冗余比值对图像组进行编码处理,得到冗余数据。获取冗余数据的时间戳,并对冗余数据和时间戳打包处理,得到每一路视频数据。
在一些实施例中,将每一路编码数据分为若干个图像组的步骤中,包括:
对于每一路编码数据,确定所有编码数据中所有的关键帧数据,并将相邻的两个关键帧数据之间的所有数据以及相邻的两个关键帧数据中前一个关键帧,确定为一个图像组。确定每一路编码数据的所有图像组。
在一些实施例中,获取图像组的冗余比值的步骤中,包括:
确定图像组中包含数据的第一帧数。如果第一帧数在第一阈值和第二阈值之间,则基于预设公式获取冗余比值。如果第一帧数在第二阈值和第三阈值之间,则将预设的第一数值确定为冗余比值。如果第一帧数在第三阈值和第四阈值之间,则将预设的第二数值确定为冗余比值。
在一些实施例中,根据冗余比值对图像组进行编码处理,得到冗余数据,包括:
确定冗余比值和第一帧数的第一乘积,并计算第一乘积与第一帧数的和,作为第二帧数。对图像组进行编码处理,得到冗余数据,冗余数据的帧数为第二帧数。
在一些实施例中,获取冗余数据的时间戳的步骤中,包括:
获取图像组中所有数据的最大时间戳和最小时间戳。基于最大时间戳和最小时间戳,对冗余数据平均分配时间戳。
在一些实施例中,根据服务器反馈的网络状态参数,对每一路图像数据的目标码流进行更新,包括:
获取显示设备的网络带宽,并接收服务器发送的每一路视频数据的丢包率。计算1和丢包率的差值。计算网络带宽、所述差值以及预设的每一路图像数据的权重系数,三者的第二乘积,并将所述第二乘积更新为每一路图像数据的目标码流。
本说明书中各个实施例之间相同相似的部分互相参照即可,在此不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种显示设备,其特征在于,包括:
显示器;
控制器,被配置为:
获取多路图像数据,多路所述图像数据的分辨率不同;
根据初始的目标码流分别对多路所述图像数据进行编码,得到多路编码数据;
对多路所述编码数据分别进行冗余处理,得到多路视频数据,并将多路所述视频数据发送至服务器;
根据所述服务器反馈的网络状态参数,对每一路图像数据的目标码流进行更新,并根据更新后的目标码流重新获取每一路视频数据,以发送至所述服务器。
2.根据权利要求1所述的显示设备,其特征在于,还包括:
图像采集器,被配置为采集用户图像;
所述控制器还被配置为:在执行获取多路图像数据的步骤中,
响应于用户输入的启动视频会议的指令,控制图像采集器采集用户图像;
将所述用户图像作为第一路图像数据,所述第一路图像数据的分辨率为所述图像采集器输出的分辨率;
将所述第一路图像数据转换为第二路图像数据和第三路图像数据,所述第二路图像数据的分辨率和所述第三路图像数据的分辨率低于所述第一路图像数据的分辨率。
3.根据权利要求2所述的显示设备,其特征在于,所述控制器还被配置为:
在执行根据目标码流分别对多路所述图像数据进行编码的步骤中,
获取每一路图像数据初始的目标码流;
基于硬件通路,根据所述第一路图像数据初始的目标码流对所述第一路图像数据进行编码,得到第一路编码数据;
基于软件通路,根据所述第二路图像数据初始的目标码流对所述第二路图像数据进行编码,得到第二路编码数据,以及,根据所述第三路图像数据初始的目标码流对所述第三路图像数据进行编码,得到第三路编码数据。
4.根据权利要求1所述的显示设备,其特征在于,所述控制器还被配置为:
在执行对多路所述编码数据分别进行冗余处理的步骤中,
将每一路编码数据分为若干个图像组;
获取所述图像组的冗余比值;
根据所述冗余比值对所述图像组进行编码处理,得到冗余数据;
获取所述冗余数据的时间戳,并对所述冗余数据和所述时间戳打包处理,得到每一路视频数据。
5.根据权利要求4所述的显示设备,其特征在于,所述控制器被配置为:
在执行将每一路编码数据分为若干个图像组的步骤中,
对于每一路编码数据,确定所有编码数据中所有的关键帧数据,并将相邻的两个关键帧数据之间的所有数据以及相邻的两个关键帧数据中前一个关键帧,确定为一个图像组;
确定每一路编码数据的所有图像组。
6.根据权利要求4所述的显示设备,其特征在于,所述控制器还被配置为:
在执行获取所述图像组的冗余比值的步骤中,
确定所述图像组中包含数据的第一帧数;
如果所述第一帧数在第一阈值和第二阈值之间,则基于预设公式获取冗余比值;
如果所述第一帧数在第二阈值和第三阈值之间,则将预设的第一数值确定为冗余比值;
如果所述第一帧数在第三阈值和第四阈值之间,则将预设的第二数值确定为冗余比值。
7.根据权利要求6所述的显示设备,其特征在于,所述控制器还被配置为:
在执行根据所述冗余比值对所述图像组进行编码处理,得到冗余数据的步骤中,
确定所述冗余比值和所述第一帧数的第一乘积,并计算所述第一乘积与所述第一帧数的和,作为第二帧数;
对所述图像组进行编码处理,得到冗余数据,所述冗余数据的帧数为所述第二帧数。
8.根据权利要求7所述的显示设备,其特征在于,所述控制器被配置为:
在执行获取所述冗余数据的时间戳的步骤中,
获取所述图像组中所有数据的最大时间戳和最小时间戳;
基于所述最大时间戳和所述最小时间戳,对所述冗余数据平均分配时间戳。
9.根据权利要求1所述的显示设备,其特征在于,所述控制器还被配置为:
在执行根据所述服务器反馈的网络状态参数,对每一路图像数据的目标码流进行更新的步骤中,
获取显示设备的网络带宽,并接收服务器发送的每一路所述视频数据的丢包率;
计算1和丢包率的差值;
计算所述网络带宽、所述差值以及预设的每一路图像数据的权重系数,三者的第二乘积,并将所述第二乘积更新为每一路图像数据的目标码流。
10.一种视频上传方法,应用于显示设备,其特征在于,所述方法包括:
获取多路图像数据,多路所述图像数据的分辨率不同;
根据目标码流分别对多路所述图像数据进行编码,得到多路编码数据;
对多路所述编码数据分别进行冗余处理,得到多路视频数据,并将多路所述视频数据发送至服务器;
根据所述服务器反馈的网络状态参数,对每一路图像数据的目标码流进行更新,并根据更新后的目标码流重新获取每一路视频数据,以发送至所述服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210534262.0A CN117119233A (zh) | 2022-05-17 | 2022-05-17 | 显示设备和视频上传方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210534262.0A CN117119233A (zh) | 2022-05-17 | 2022-05-17 | 显示设备和视频上传方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117119233A true CN117119233A (zh) | 2023-11-24 |
Family
ID=88811624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210534262.0A Pending CN117119233A (zh) | 2022-05-17 | 2022-05-17 | 显示设备和视频上传方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117119233A (zh) |
-
2022
- 2022-05-17 CN CN202210534262.0A patent/CN117119233A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112653906B (zh) | 显示设备上视频热点播放方法及显示设备 | |
CN113301420A (zh) | 一种内容显示方法和显示设备 | |
CN113630654B (zh) | 显示设备及媒资片源推送方法 | |
CN113163258A (zh) | 一种频道切换的方法及显示设备 | |
CN113490032A (zh) | 显示设备及媒资显示方法 | |
CN111741314A (zh) | 视频播放方法及显示设备 | |
CN111757181A (zh) | 一种减少网络媒体清晰度抖动的方法及显示设备 | |
CN115190351B (zh) | 显示设备及媒资缩放控制方法 | |
CN113453069B (zh) | 一种显示设备及缩略图生成方法 | |
CN114040258B (zh) | 数字电视节目由时移切换到录制的显示方法及显示设备 | |
CN113453052B (zh) | 音画同步方法及显示设备 | |
CN117119233A (zh) | 显示设备和视频上传方法 | |
CN116980554A (zh) | 一种显示设备及视频会议界面显示方法 | |
CN112911371A (zh) | 双路视频资源播放方法及显示设备 | |
CN112905008A (zh) | 一种手势调节显示图像方法及显示设备 | |
CN111629250A (zh) | 一种显示设备及视频播放方法 | |
CN114071056B (zh) | 视频数据显示方法及显示设备 | |
CN115174991B (zh) | 一种显示设备及视频播放方法 | |
CN113784222B (zh) | 应用和数字电视节目的交互方法及显示设备 | |
CN114979736B (zh) | 显示设备和音画同步方法 | |
CN116939295A (zh) | 一种显示设备及动态调节控制器使用率的方法 | |
CN113038221B (zh) | 一种双路视频播放方法及显示设备 | |
CN113038193B (zh) | 一种自动修复音视频不同步的方法及显示设备 | |
CN113099308B (zh) | 一种内容显示方法、显示设备及图像采集器 | |
CN113350781B (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 |