CN107534669B - 用于多用户视频会议的单一流传输方法 - Google Patents
用于多用户视频会议的单一流传输方法 Download PDFInfo
- Publication number
- CN107534669B CN107534669B CN201680024163.0A CN201680024163A CN107534669B CN 107534669 B CN107534669 B CN 107534669B CN 201680024163 A CN201680024163 A CN 201680024163A CN 107534669 B CN107534669 B CN 107534669B
- Authority
- CN
- China
- Prior art keywords
- resolution
- decoding
- frame
- frames
- client
- 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 description 81
- 230000005540 biological transmission Effects 0.000 title claims description 29
- 230000008859 change Effects 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 description 33
- 230000015654 memory Effects 0.000 description 28
- 238000012508 change request Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000001914 filtration Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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
- H04N21/234327—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 by decomposing into layers, e.g. base layer and one or more enhancement layers
-
- 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/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/01—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
- H04N7/0117—Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/152—Multipoint control units therefor
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
从编码客户端向第一远程计算系统传送编码视频流(1100),编码视频流(1100)包括多个第一分辨率帧(PL)和多个第二分辨率帧(PM,PH)。还在所述编码视频流中从所述编码客户端向所述第一远程计算系统传送第一分辨率非显示锚点帧(G)。所述编码客户端从所述第一远程计算系统接收改变分辨率的请求。响应于接收到所述改变分辨率的请求,所述编码客户端在所述编码视频流中向所述第一远程计算系统传送帧的集合,所述帧的集合相对于所述第一分辨率非显示锚点帧进行编码。
Description
技术领域
本公开涉及到对诸如视频流数据的视觉数据进行编码和解码以用于传输或存储以及后续的显示,尤其参考多用户视频会议。
背景技术
数字视频流通常使用帧或静态图像的序列来表示视频。每个帧可以包括多个块(block),所述块进而可以包含描述像素的颜色、亮度或其它属性的值的信息。典型视频流中的数据量很大,并且视频的传输和存储会使用相当多的计算或通信资源。已经提出了各种方法来减少视频流中的数据量,包括压缩和其它编码技术。此外,视频数据能够以各种空间分辨率进行传送或存储以便节省传输或存储带宽。
一种对于传输或存储带宽特别敏感的应用是多用户视频会议。多用户视频会议在移动和桌面用户中日益流行。为了提供可接受的用户体验,多用户视频会议应用相对于性能来平衡质量。一种实现此目的的方式是使用可缩放帧编码方案以适应变化的互联网带宽条件。
发明内容
所公开实施例的一个方面是一种方法,所述方法包括从编码客户端向第一远程计算系统传送包括多个第一分辨率帧和多个第二分辨率帧的编码视频流。所述方法还包括在所述编码视频流中从所述编码客户端向所述第一远程计算系统传送第一分辨率非显示锚点帧。所述方法还包括在所述编码客户端从所述第一远程计算系统接收改变分辨率的请求。响应于接收到所述改变分辨率的请求,所述方法包括在所述编码视频流中从所述编码客户端向所述第一远程计算系统传送帧的集合,所述帧的集合相对于所述第一分辨率非显示锚点帧进行编码。
所公开实施例的另一个方面是一种方法,所述方法包括在第一解码客户端从第一远程计算系统接收编码视频流,所述编码视频流包括多个第一分辨率帧,以及在所述第一解码客户端对来自所述多个第一分辨率帧的至少一些帧进行解码。所述方法还包括在所述第一解码客户端从所述第一远程计算系统接收第一分辨率非显示锚点帧,以及在所述第一解码客户端对所述第一分辨率非显示锚点帧进行解码。在对所述第一分辨率非显示锚点帧进行解码之后,所述方法包括在所述第一解码客户端接收相对于所解码的第一分辨率非显示锚点帧编码的至少一个第二分辨率帧,以及在所述第一解码客户端使用所解码的第一分辨率非显示锚点帧对所述至少一个第二分辨率帧进行解码。
所公开实施例的另一个方面是一种方法,所述方法包括在视频会议服务器从编码客户端接收编码视频流,所述编码视频流包括多个第一分辨率帧和多个第二分辨率帧。所述方法还包括将所述多个第一分辨率帧传送至来自多个解码客户端的至少一些解码客户端,以及将所述多个第二分辨率帧传送至来自所述多个解码客户端的至少一些解码客户端。所述方法还包括在所述视频会议服务器处在所述编码视频流中从所述编码客户端接收第一分辨率非显示锚点帧,以及将所述第一分辨率非显示锚点帧传送至所有的所述多个解码客户端。所述方法还包括从所述视频会议服务器向所述编码客户端传送改变分辨率的请求,以及响应于接收到所述改变分辨率的请求,在所述视频会议服务器处在所述编码视频流中从所述编码客户端接收帧的集合,所述帧的集合相对于所述第一分辨率非显示锚点帧进行编码,以及将来自所述帧的集合的一个或多个帧传送至所述多个解码客户端中的每一个。
附图说明
本文的描述参考附图,其中相同的附图标记贯穿多个视图相同同样的部分。
图1是视频编码和解码系统的示意图。
图2是能够实施传送站或接收站的计算设备的框图。
图3是将要被编码并随后被解码的典型视频流的示图。
图4是根据本公开的一个方面的视频压缩系统的框图。
图5是根据本公开的另一个方面的视频解压缩系统的框图。
图6是能够在其中实施本公开的方面的视频会议系统的示图。
图7是示出基于同时联播的多方视频会议的示图。
图8是示出包含各种分辨率的视频帧的单一流的示图。
图9是示出视频会议启动期间的视频帧的单一流中的帧类型和预测的示图。
图10是示出视频会议启动期间的编码客户端、视频会议服务器和多个解码客户端之间的视频流的传输的示图。
图11是示出包含视频帧的单一流中用于在没有关键帧的情况下允许分辨率改变的代码化模式的示图。
图12是示出分辨率改变期间的编码客户端、视频会议服务器和多个解码客户端之间的视频流的传输的示图。
图13是示出由编码客户端进行的视频流的编码和传输的流程图。
图14是示出由视频会议服务器进行的视频流的接收和传输的流程图。
图15是示出由解码客户端进行的视频流的接收和解码的流程图。
图16是示出用于通过丢弃帧获得时间缩放性的视频帧的单一流的代码化模式。
图17是示出编码客户端、视频会议服务器和多个解码客户端之间在具有时间缩放性的情况下的视频流的传输的示图。
具体实施方式
数字视频被用于各种用途,例如包括经由视频会议的远程商务会面、高清晰度视频娱乐、视频广告以及用户所生成视频的共享。在一些应用中,数字视频流能够以各种空间分辨率进行编码以便节省传输或存储带宽。例如,在视频会议系统中,一个或多个视频流能够以诸如低分辨率、中分辨率和高分辨率的多种分辨率进行编码、传送和显示。
视频会议系统有时能够改变视频数据流被编码和/或传送的分辨率。例如,高分辨率视频流能够被切换至低分辨率,并且低分辨率视频流能够切换至高分辨率。关于哪些视频流要以何种分辨率来传送的决策能够由视频会议系统自动作出,或者所述决策能够由参与方或主持人手动作出。诸如中继服务器的服务器可以是单独的计算设备,其在关于以何种分辨率编码和传送视频数据对表示参与方的计算设备进行指示的同时接收并重新传送视频数据流。在一些情况下,服务器可以是在表示视频会议中的参与方的一个或多个计算设备上执行的软件程序。视频会议也可以以端对端的方式来进行,其中每个参与方选择用来接收各种视频流的分辨率而并不涉及视频会议服务器。
一种用于切换视频流的分辨率的技术可以被称作同时联播。在同时联播中,视频会议中的每个参与方能够同时编码和传送两个或更多视频流。数据流能够被发送至视频会议服务器以便中继至其它参与方,或者能够被直接发送至其它参与方。在其中两个视频数据流被发送至服务器的示例中,一个视频数据流包括高分辨率视频数据而一个视频数据流则包括低分辨率视频数据。视频会议服务器通常基于控制信息而将低分辨率视频数据或高分辨率数据之一传送至每个参与方。通常,每个参与方仅接收其正在活跃显示的分辨率的帧。当参与方切换至不同分辨率时,新分辨率帧被代码化并传送至正在显示该分辨率的所有参与方。该帧经常被称作I帧或帧内帧。因此,一个参与方的分辨率改变将会由于需要传送所述帧内帧而影响到所有参与方。该帧的传输可能导致一小段时间的质量下降,这会令参与方感到厌烦。
另一种用于切换视频数据流分辨率的方法能够被称作多分辨率或可缩放代码化。在这种方案中,以多个分辨率进行代码化的视频在单一流或多个流中被传送至服务器。所述服务器随后能够基于控制信息来选择哪个分辨率要发送至哪个参与方。多分辨率或可缩放代码化与最优的单一分辨率代码化相比具有代码化损失。在视频切换期间,可能需要时间来构建高分辨率视频质量。类似于同时联播,这会导致令参与方感到厌烦的质量下降。
根据本文的教导,每个编码客户端传送包括多个分辨率的视频帧的视频流。这些帧能够被视频会议服务器中继至多个解码客户端,或者能够被直接传送至多个客户端。在使用视频会议服务器的实施方式中,其基于正在特定解码客户端处被活跃解码的分辨率而将来自编码视频流的视频帧传送至所述解码客户端。定期地,编码客户端传送参考帧,所述参考帧被转发至所有解码客户端但是并不被显示。该非显示锚点帧能够以单一分辨率被传送至所有解码客户端而无论相应客户端正在活跃解码的视频分辨率如何。在解码客户端之一请求分辨率改变时,所述非显示锚点帧能够结合参考帧缩放而被用来允许分辨率改变在不要求编码客户端传送关键帧的情况下发生。因此,与发送关键帧相关联的增加的带宽消耗得以避免。
图1是能够在其中实施本文所描述的系统和方法的视频编码和解码系统100的示意图。传送站112例如可以是具有诸如图2所描述的内部硬件配置的计算机。然而,传送站112的其它适当实施方式也是可能的。例如,传送站112的处理能够在多个设备间进行分配。
网络128能够连接传送站112和接收站130以便对视频流进行编码和解码。特别地,视频流能够在传送站112中进行编码,并且编码视频流能够在接收站130中被解码。网络128例如可以是互联网。网络128也可以是局域网(LAN)、广域网(WAN)、虚拟私人网络(VPN)、蜂窝电话网,或者该示例中用于将视频流从传送站112传送至接收站130的任何其它手段。
在一个示例中,接收站130可以是具有诸如图2所描述的内部硬件配置的计算机。然而,接收站130的其它适当实施方式也是可能的。例如,接收站130的处理能够在多个设备间进行分配。
视频编码和解码系统100的其它实施方式是可能的。例如,实施方式能够省略网络128。在另一种实施方式中,视频流能够被编码并接着被存储以便在随后的时间被传输至接收站130或者具有存储器的任何其它设备。在一种实施方式中,接收站130接收(例如,经由网络128、计算机总线和/或一些通信路径)编码视频流,并且存储所述视频流以便随后解码。在示例实施方式中,使用实时传输协议(RTP)来在网络128上传输编码视频。在另一种实施方式中,可以使用除RTP之外的传输协议,例如基于HTTP的视频流传输协议。
如本文将会进一步解释的,传送站112和接收站130是能够包括于视频编码和解码系统100中的设备的示例。可以包括另外的设备,诸如将传输从传送站112中继至接收站130的视频会议服务器。
图2是能够实施传送站和接收站的计算设备200的框图。例如,计算设备200能够实施图1的传送站112和接收站130之一或二者。计算设备200可以呈包括多个计算设备的计算系统的形式,或者呈单个计算设备的形式,例如移动电话、平板计算机、膝上计算机、上网本计算机、台式计算机等。
计算设备200中的CPU 224可以是常规的中央处理器。可替换地,CPU 224可以是能够操控或处理现有或后续开发的信息的任何其它类型的设备或多个设备。虽然所公开的实施方式能够如所示出的利用单个处理器例如CPU 224来实践,但是使用多于一个的处理器能够实现速度和效率方面的优势。
在一种实施方式中,计算设备200中的存储器226可以是只读存储器(ROM)设备或随机访问存储器(RAM)设备。任何其它适当类型的存储设备都能够作为存储器226使用。存储器226可以包括能够由CPU224使用总线230访问的代码和数据227。存储器226能够进一步包括操作系统232和应用程序234,应用程序234包括允许CPU 224执行本文所描述的方法的至少一个程序。如所示出的,例如,应用程序234能够包括应用1至N,所述应用进一步包括执行本文所描述方法的应用。计算机设备200还可以包括辅助存储装置236,所述辅助存储装置236例如可以是随移动计算设备200一起使用的存储卡。由于视频通信会话可能包含大量信息,所以它们能够整体或部分地被存储在辅助存储装置236中并且按照需要被加载到存储器226中以便进行处理。
计算设备200还可以包括一个或多个输出设备,诸如显示器228。在一个示例中,显示器228可以是将显示器与触摸敏感元件组合的触摸敏感显示器,所述触摸敏感元件能够进行操作以感测触摸输入。显示器228能够经由总线230耦合至CPU 224。除了显示器228之外或者作为其替选,可以提供允许用户编程或以其它方式使用计算设备200的输出设备。当输出设备是或者包括显示器时,所述显示器能够以各种方式来实施,包括液晶显示器(LCD)、阴极射线(CRT)显示器或者诸如OLED显示器的发光二极管(LED)显示器。
计算设备200还可以包括图像感测设备238或者与之进行通信,所述图像感测设备220例如是相机,或者是现有或随后开发的能够感测图像诸如操作计算设备200的用户的图像的任何其它图像感测设备238。图像感测设备238能够被定位为使得其朝向操作计算设备200的用户。在一个示例中,图像感测设备238的位置和光轴能够被配置为使得视场包括与显示器228直接相邻并且能够从其看到显示器228的区域。
计算设备200还能够包括声音感测设备240或者与之进行通信,所述声音感测设备240例如是麦克风,或者是现有或随后开发的能够感测计算设备200附近的声音的任何其它声音感测设备。声音感测设备240能够被定位为使得其朝向操作计算设备200的用户,并且能够被配置为接收在用户操作计算设备200的同时由用户发出的声音,例如讲话或说的其它话语。
虽然图2将计算设备200的CPU 224和存储器226描绘为被集成为单个单元,但是能够采用其它配置。CPU 224的操作能够跨多个机器(每个机器具有一个或多个处理器)分配,该多个机器能够直接或跨局域网或其它网络进行耦合。存储器226能够跨多个机器分配,诸如基于网络的存储器或者执行计算设备200的操作的多个机器中的存储器。虽然在这里被描绘为单个总线,但是计算设备200的总线230能够由多个总线组成。另外,辅助存储装置236能够直接耦合至计算设备200的其它组件或者能够经由网络来访问,并且能够包括诸如存储卡的单个集成单元或者诸如多个存储卡的多个单元。计算设备200因此能够以各种配置来实施。
图3是将要被编码并随后被解码的视频流300的示例的示图。视频350包括视频序列352。在下一个层级,视频序列352包括多个相邻帧354。虽然有三个帧被描绘为相邻帧354,但是视频序列352能够包括任何数量的相邻帧354。相邻帧354进而能够被进一步细分为个体帧,例如单个帧356。在下一个层级,单个帧356能够被划分为一系列块358,所述块358能够包含例如对应于帧356中的16×16像素的数据。所述块还能够以数据平面进行排列。例如,每个平面中的对应块能够分别包含所述块的像素的亮度和色度数据。块358还可以是任何其它适当的大小,诸如16×8像素群组或8×16像素群组,并且能够根据应用而进一步被细分为更小的块。除非另外有所指出,否则术语块和宏块(macroblock)在本文可互换地使用。
图4是依据本公开一个方面的编码器470的框图。如以上所描述的,编码器470能够诸如通过提供存储在例如存储器226的存储器中的计算机软件程序而在传送站112中实施。所述计算机软件程序能够包括机器指令,所述机器指令在被诸如CPU 224的处理器执行时使得传送站112以图4所描述的方式对视频数据进行编码。编码器470还能够被实施为例如包括在传送站112中的专用硬件。编码器470具有以下分级以便执行正向路径(如实线连接线所示)中的各种功能从而使用输入视频350产生编码或压缩比特流488:帧内/帧间预测级472、变换级474、量化级476以及熵编码级478。编码器470还可以包括重构路径(由虚线连接线所示出)以重构帧以用于未来块的编码。在图4中,编码器470具有以下分级以执行重构路径中的各种功能:去量化级480、逆变换级482、重构级484以及环路滤波级486。编码器470的其它结构变化能够被用来对视频350进行编码。
当视频350被呈现以用于编码时,视频350内的每个帧356能够以块358为单位进行处理。在帧内/帧间预测级472,每个块能够使用帧内预测(使用单个帧内的块的预测)或帧间预测(使用来自不同帧的块的预测)进行编码。在任何情况下,都能够形成预测块。在帧内预测的情况下,能够从当前帧中先前已经被编码和重构的样本形成预测块。在帧间预测的情况下,能够从一个或多个先前构建的参考帧中的样本形成预测块。
接下来,仍然参考图4,能够从帧内/帧间预测级472的当前块中减去预测块以产生剩余块(也被称作残留)。变换级474将所述残留变换为例如频域中的变换系数。基于块的变换的示例包括Karhunen-Loève变换(KLT)、离散余弦变换(DCT)和奇异值分解变换(SVD)。在一个示例中,DCT将块变换成频域。在DCT的情况下,变换系数值基于空间频率,其中最低频率(DC)系数处于矩阵左上方而最高频率系数则处于所述矩阵的右下方。
量化级476使用量化器数值或量化能级将所述变换系数变换为离散量子值,其被称作量化变换系数。例如,所述变换系数可以除以量化器数值并且被截取。经量化的变换系数随后被熵编码级478进行熵编码。经熵编码的系数随后连同用来解码块的其它信息一起被输出至压缩比特流488,所述其它信息例如可以包括所使用的预测类型、运动矢量和量化器值。压缩比特流488能够使用诸如可变长度代码化(VLC)或算术代码化的各种技术进行格式化。压缩比特流488能够被称作编码视频流,并且所述术语将在这里可互换地使用。
图4中的重构路径(由虚线连接线所示出)能够被用来确保编码器470和(下文所描述的)解码器500使用相同的参考帧来对压缩比特流488进行解码。所述重构路径执行与在下文更详细讨论的解码处理期间进行的功能相类似的功能,包括在去量化级480对量化变换系数进行去量化并且在逆变换级482对去量化的变换系数进行逆变换,从而产生衍生剩余块(也被称作衍生残留)。在重构级484,在帧内/帧间预测级472预测的预测块能够被添加至所述衍生残留以创建重构块。环路滤波级486能够被应用于所述重构块以减少诸如块伪像的失真。
编码器470的其它变化能够被用来对压缩比特流488进行编码。例如,非基于变换的编码器470能够在没有变换级474的情况下直接对剩余信号进行量化。在另一种实施方式中,编码器470能够将量化级476和去量化级480组合为单个分级。
图5是依据一种实施方式的解码器500的框图。解码器500例如能够通过提供存储在存储器226中的计算机软件程序而在接收站130中实施。所述计算机软件程序能够包括机器指令,所述机器指令在被诸如CPU 224的处理器执行时使得接收站130以图5所描述的方式对视频数据进行解码。解码器500还能够以例如包括在传送站112或接收站130中的硬件来实施。
类似于上文所讨论的编码器470的重构路径,解码器500在一个示例中包括以下分级以执行各种功能以便从压缩比特流488产生输出视频流516:熵解码级502、去量化级504、逆变换级506、帧内/帧间预测级508、重构级510、环路滤波级512(其可以包括环路滤波和/或解块)以及帧缓冲级514。解码器500的其它结构变化能够被用来对压缩比特流488进行解码。
当压缩比特流488被呈现以便用于解码时,压缩比特流488内的数据元素能够由熵解码级502进行解码(例如,使用算术代码化)以产生量化变换系数的集合。去量化级504对量化变换系数进行去量化,并且逆变换级506对去量化的变换系数进行逆变换以产生衍生残留,所述衍生残留能够与解码器470中的逆变换级482所创建的相同。使用从压缩比特流488解码的诸如模式和运动矢量的报头信息,解码器500能够使用帧内/帧间预测级508来创建与编码器470中例如在帧内/帧间预测级472创建的预测块相同的预测块。在重构级510,预测块能够被添加至衍生残留以创建重构块。滤波级512能够被应用于所述重构块以减少块伪像。信息随后能够被在帧缓冲级514被保留在帧缓冲器中以供在解码中后续使用或者输出。后处理级能够被应用于所述重构块以进一步细化图像。由解码器执行的处理的结果作为输出视频流516被输出。输出视频流516也能够被称作解码视频流,并且所述术语在这里可互换地使用。
解码器500的其它变化能够被用来对压缩比特流488进行解码。例如,解码器500能够在没有后处理的情况下产生输出视频流516。
图6示出了能够用来实施本文所描述的系统和方法的视频会议系统600。视频会议系统600是处于中继模式的多点视频会议系统的示例。通常,每个客户端或终端具有至少一个编码器并且将一个或多个视频流发送至中继服务器。分辨率、帧速率和比特率等由中继服务器或一些其它控制器进行控制。通常,每个客户端或终端接收包括在其它客户端之一捕捉的视频的一个或多个编码视频流。因此,每个客户端编码并传送视频,并且还接收并解码视频。根据所描述的功能,客户端在本文可以被称作编码客户端或解码客户端。客户端也可以被称作端点。
视频会议系统600包括服务器602以及参与方604、606、608和610。服务器602以及参与方604、606、608和610均能够以相同方式来实施并且具有如关于传送站112和接收站130所描述的相同硬件。
参与方向服务器602发送例如视频流612的编码视频流。如本文将要讨论的,视频流612可以包括多个分辨率的视频帧。服务器602接收编码视频流并且向参与方604、606、608和610发送诸如返回信号614的返回信号,所述返回信号包括从其它参与方接收的视频流的部分。传送至每个参与方的视频流的内容包括针对一些或全部其它参与方的某个分辨率的视频。
在视频会议期间的任何时间,可以作出改变发送至参与方604、606、608或610之一的视频的分辨率的请求。所述请求可以由服务器602或者参与方604、606、608或610之一作出。例如,参与方604、606、608或610之一能够向服务器602传送改变分辨率的请求。如本文将进一步解释的,该请求将从服务器602被中继至其它参与方,并且将导致服务器602以及其它参与方处的操作改变以便实现作出所述请求的参与方处的分辨率改变。
图7示出了其中编码客户端710将视频流传送至视频会议服务器720的现有技术的系统700。视频会议服务器720接收视频流并且将所述视频流传送至多个解码客户端。由编码客户端710编码并传送的视频流包括高分辨率视频流712、中分辨率视频流714和低分辨率视频流716。视频流712、714、716是相互独立的。
视频会议服务器720接收视频流712、714、716并且将它们根据每个解码客户端的可用带宽分配至所述解码客户端。在该示例中,解码客户端包括具有中带宽的第一解码客户端730、具有中带宽的第二解码客户端732、具有低带宽的第三解码客户端734以及具有高带宽的第四解码客户端736。视频会议服务器720将高分辨率视频流712转发至第四解码客户端736,将中分辨率视频流714转发至第一解码客户端730和第二解码客户端732,以及将低分辨率视频流716转发至第三解码客户端734。
在系统700中所采用的同时联播方法中,在不同分辨率的视频需要被发送至解码客户端730、732、734、736之一时体验到低效。例如,如果解码客户端之一体验到可用带宽的下降并且无法再维持它们一直在解码的视频分辨率,则视频会议服务器确定正在被发送至该特定解码客户端的视频流需要被切换。为了切换被发送至解码客户端之一的视频流,视频会议服务器720向编码客户端710传送请求,其中所述请求要求编码客户端710针对所述编码客户端需要切换至的视频流创建并传送可独立解码的关键帧更新。由于关键帧没有压缩得与在时间上被预测的帧那样好,所以这导致编码客户端710、请求分辨率改变的解码客户端以及显示所述解码客户端需要切换至的分辨率的所有其它解码客户端(因为它们也接收所述可独立解码的关键帧更新)的带宽使用增加。
图8示出了编码客户端所能够传送的视频帧的单一流800。单一流800包括被包括于相同流中的三种不同分辨率。单一流800中所示的帧对应于被标记为t0、t1和t2的三个不同时段。时段t0、t1和t2中的每一个能够对应于包括在相应时段内的帧的单一时间戳。单一流800包括时段t0内的帧F0、F1和F2。单一流800包括时段t1内的帧F3、F4和F5。单一流800包括时段t2内的帧F6、F7和F8。帧F0、F3和F6是低分辨率帧,而帧F1、F4和F7是中分辨率帧,并且帧F2、F5和F8是高分辨率帧。
在图8中,作为示例,每个时段内包括不同分辨率的三个帧。在每个时段中能够包括不同分辨率的数量不同于三个的帧,诸如每个时段内的具有两种不同分辨率的帧或者具有四种不同分辨率的帧。
单个时段内的所有帧可以是相同图像的表示形式。例如,帧F0、F1和F2可以分别是低分辨率、中分辨率和高分辨率的单个视频图像的表示形式。
图9示出了视频会议启动期间的视频帧600的单一流900。单一流900中的帧从编码客户端传送至视频会议服务器以便中继至解码客户端。
位于时段t0中的帧是在视频会议期间传送的第一帧。在时段t0中,低分辨率帧是帧内帧。帧内帧并不参考其它帧进行编码并且不参考其它帧进行解码。
时段t0中的中分辨率帧参考来自时段t0的低分辨率帧内帧进行编码。这是通过参考帧缩放来完成的。特别地,时段t0中的中分辨率帧参考所述帧内帧的放大版本进行编码。因此,为了对时段t0中的中分辨率帧进行解码,解码客户端将要求来自时段t0的低分辨率帧内帧和中分辨率预测帧的副本,并且将通过对低分辨率帧内帧进行解码,将其放大至中分辨率预测帧的大小,并且随后参考低分辨率帧内帧的放大版本对中分辨率预测帧进行解码来利用参考帧缩放。
时段t0中的高分辨率预测帧也参考时段t0的低分辨率帧内帧、时段t0的中分辨率预测帧或者其二者进行编码。例如,如之前所描述的,时段t0中的高分辨率预测帧能够使用参考帧缩放而使用低分辨率帧内帧和中分辨率预测帧进行解码。
在时段t0之后,所有的低分辨率、中分辨率和高分辨率帧都参考来自先前时段的相同分辨率帧进行编码。在一些实施方式中,来自某个时段的低分辨率、中分辨率和高分辨率帧中的每一个都关于来自紧接在前的时段的相同分辨率帧进行编码。在其它实施方式中,来自时段t0之后的时段的预测帧能够参考来自紧接在前的时段以外的时段的相同分辨率帧进行编码。
图10示出了其中在编码客户端1010、视频会议服务器1020、第一解码客户端1030、第二解码客户端1032和第三解码客户端1034之间传送视频流的系统1000。第一解码客户端1030具有高带宽,第二解码客户端1032具有中带宽,并且第三解码客户端1034具有低带宽。最初,编码客户端1010将单一视频流900传送至视频会议服务器1020。视频会议服务器1020确定来自单一视频流900的哪些帧将要被传送至解码客户端1030、1032、1034中的每一个。
第一解码客户端1030具有高带宽,并且因此视频会议服务器1020将高分辨率视频传送至第一解码客户端。在时段t0期间,视频会议服务器1020将低分辨率帧内帧I、中分辨率预测帧PM和高分辨率预测帧PH传送至解码客户端1030。针对时段t0的视频帧因此由第一解码客户端1030利用如之前所讨论的参考帧缩放而参考低分辨率帧内帧I和中分辨率预测帧PM进行解码。在时段t1和后续时段中,解码客户端1030在相应时段内接收高分辨率预测帧PH,其参考来自前一时段的另一个高分辨率帧。
第二解码客户端1032具有中带宽,并且因此从视频会议服务器1020接收中分辨率视频。在时段t0期间,低分辨率帧内帧I和中分辨率预测帧PM从视频会议服务器1020被传送至第二解码客户端1032。针对时段t0的中分辨率预测帧PM随后由第二解码客户端1032使用参考帧缩放而参考针对时段t0的低分辨率帧内帧I进行解码。在时段t1和后续时段期间,第二解码客户端1032在相应时段内接收中分辨率预测帧PM,其参考来自前一时段的中分辨率预测帧而被解码。
第三解码客户端1034具有低带宽并且因此从视频会议服务器1020接收低分辨率视频。在时段t0期间,第三解码客户端1034从视频会议服务器接收低分辨率帧内帧I,并且该帧被解码。在时段t1和后续时段期间,第三解码客户端1034接收参考来自前一时段的低分辨率帧进行解码的低分辨率预测帧PL。
图11示出了包括代码化模式改变的视频流1110。视频流1110例如能够从编码客户端1010被传送至系统1000中的视频会议服务器1020。在视频流1110中,时段t0和t1与单一视频流900中相同。在时段t1之后的时段tm,视频流1110除了低分辨率预测帧PL、中分辨率预测帧PM和高分辨率预测帧PH之外还包括非显示锚点帧G。非显示锚点帧G的传输的多次迭代能够在视频流900的传输期间定期发生,诸如以预定间隔发生或者在以任何方式所确定的时间发生。
非显示锚点帧G是无论任何特定解码客户端当前正在使用的分辨率如何都由视频会议服务器传送至所有解码客户端的帧。非显示锚点帧G以单一分辨率被发送,使得所有解码客户端都以相同分辨率接收到非显示锚点帧G。在一种实施方式中,非显示锚点帧的分辨率与任何解码客户端所使用的最低分辨率帧的分辨率相同。在该示例中,非显示锚点帧G的分辨率是与低分辨率预测帧PL的分辨率相同。
当针对时段tm的帧在视频会议服务器1020被接收时,所述视频会议服务器将非显示锚点帧G连同所有解码客户端1030、1032、1034在正常情况下将在时段tm内接收的帧一起发送给它们。因此,视频会议服务器1020将非显示锚点帧G和高分辨率预测帧PH传送至第一解码客户端1030,视频会议服务器1020将非显示锚点帧和中分辨率预测帧PM传送至第二解码客户端1032,以及视频会议服务器1020将非显示锚点帧G连同低分辨率预测帧PL一起发送至第三解码客户端1034。
非显示锚点帧G被存储在解码客户端1030、1032、1034的每一个处的帧缓冲器中。通常,非显示锚点帧G自身不被任何解码客户端1030、1032、1034显示。相反,非显示锚点帧G在对其它帧进行解码时被用作参考帧。
在一种实施方式中,编码客户端1010以允许每个客户端存储相同的可独立解码的帧以及所述可独立解码的帧被直接存储在每个解码客户端1030、1032、1034处的方式发送非显示锚点帧G。例如,编码客户端1010能够将所述非显示锚点帧作为呈参考先前的非显示锚点帧或帧内帧I中的任一个进行编码的预测帧的形式的更新来发送。
时段tn在时段tm之后出现,并且能够通过经过大量时段而与tm分开。时段tm在分辨率改变请求之后出现。所述分辨率改变请求能够出于多种原因而作出,诸如改变带宽条件或者编码客户端之一处的显示屏上显示的视频的大小改变。作为一个示例,所述分辨率改变请求能够由解码解码客户端1030、1032、1034之一响应于用户输入而作出。作为另一个示例,所述分辨率改变请求能够由视频会议服务器1020在检测到视频会议服务器1020和解码客户端1030、1032、1034之一之间的带宽改变时作出。作为另一个示例,所述分辨率改变请求能够由编码客户端1010响应于编码客户端1010和视频会议服务器之间改变的带宽条件而作出。
所述分辨率改变请求被传送至编码客户端1010。作为示例,如果分辨率改变请求源自于解码客户端1030、1032、1034之一,则所述分辨率改变请求能够从所述解码客户端被传送至视频会议服务器1020并且随后从视频会议服务器1020中继至编码客户端1010。
在时段tn,编码客户端传送相对于所述非显示锚点帧进行编码的帧的集合。在所图示的示例中,针对时段tn的预测帧PL是参考编码客户端在时段tm期间所传送的非显示锚点帧的预测帧。针对时段tn的中分辨率预测帧PM是参考针对时段tn的低分辨率预测帧PL的预测帧,并且编码客户端将对低分辨率预测帧PL应用参考帧缩放以便对中分辨率预测帧PM进行解码。针对时段tn的高分辨率预测帧PH是相对于针对时段tn的中分辨率预测帧PM进行编码的预测帧。因此,对高分辨率预测帧PH编码要求解码端点首先使用非显示锚点帧G对低分辨率预测帧PL进行解码,随后对低分辨率预测帧PL应用参考帧缩放并且利用其作为解码中分辨率预测帧PM的基础,所述中分辨率预测帧PM进而同样通过对所述中分辨率预测帧PM应用参考帧缩放而被用作解码高分辨率预测帧PH的基础。可替换地,针对时段tn的帧PM和PH也可以直接从非显示锚点帧G而不是从较低分辨率帧预测。
图12示出了包括编码客户端1210、视频会议服务器1220、第一解码客户端1230、第二解码客户端1232和第三解码客户端1234的视频会议系统1200。视频会议系统1200中的客户端和服务器与视频会议系统1000中的等同客户端和服务器相似。在视频会议系统1200中,第一解码客户端1230具有减小的带宽,第二解码客户端1232具有增大的带宽,以及第三解码客户端1234具有增大的带宽。
编码客户端1210向视频会议服务器1220传送视频流1110。视频会议服务器1220将视频流1110的部分转发至解码客户端1230、1232、1234。在分辨率改变请求之前,视频会议服务器1220将高分辨率帧传送至第一解码客户端1230,将中分辨率帧传送至第二解码客户端1232,以及将低分辨率帧传送至第三解码客户端1234。
在接收到分辨率改变请求之后,编码客户端1210在时段tn期间传送帧的集合。这些帧相对于先前传送的非显示锚点帧,诸如最近的非显示锚点帧进行编码。例如,这可以是被描述为如在先前所描述的图11中的时段tm期间传送的非显示锚点帧。在接收到针对时段tn的帧时,视频会议服务器根据相应解码客户端将在分辨率改变请求之后正在接收的帧的分辨率将视频流1110中来自时段tn的一个或多个帧传送至解码客户端1230、1232、1234中的每一个。
第一解码客户端1230正在体验减小的带宽,并且因此将在分辨率改变请求之后接收中分辨率帧。因此,在时段tn期间,视频会议服务器将针对时段tn的低分辨率预测帧PL和中分辨率预测帧PM转发至第一解码客户端1230。
第二解码客户端1232正在体验增大的带宽,并且因此将在分辨率改变请求之后接收来自视频流1110的高分辨率帧。因此,在时段tn期间,视频会议服务器1220将针对时段tn的低分辨率预测帧PL、中分辨率预测帧PM和高分辨率预测帧PH传送至第二解码客户端1232。
第三解码客户端1234正在体验增大的带宽,并且因此将在分辨率改变请求之后接收中分辨率帧。因此,在时段tn期间,视频会议服务器1220将低分辨率预测帧PL和中分辨率预测帧PM传送至第三解码客户端1234。
解码客户端1230、1232、1234中的每一个将使用从视频会议服务器所接收并且被存储在用于每个解码客户端的相应帧缓冲器中的最近的非显示锚点帧,对在时段tn期间从视频会议服务器1220接收的帧进行解码。
图13示出了用于对视频流进行编码并且将所述视频流从编码客户端传送至视频会议服务器的处理1300的示例。在该示例中,视频流包括诸如低分辨率、中分辨率和高分辨率的多种分辨率的帧。然而,在视频流中能够提供任何数量的分辨率的帧。处理1300能够由诸如编码客户端1010处的编码器470的编码器来实施。处理1300例如能够被实施为由诸如传送站112或接收站130的计算设备所执行的软件程序。所述软件程序能够包括存储在诸如存储器226的存储器中的机器可读指令,所述机器可读指令在被诸如CPU 224的处理器执行时使得计算设备执行处理1300。处理1300还能够使用硬件来实施。如上文所解释的,一些计算设备可以具有多个存储器和多个处理器,并且处理1300的步骤在这样的情况下可以使用不同的处理器和存储器进行分配。术语“处理器”和“存储器”在此处和本文其它地方以单数形式的使用涵盖了仅具有一个处理器和一个存储器的计算设备以及具有多个处理器或存储器的设备,所述多个处理器或存储器均可以在执行一些但并不一定全部所述步骤时被使用。
为了解释的简明性,处理1300被叙述或描述为一系列步骤。然而,依据本公开的步骤能够以各种顺序和/或同时进行。此外,依据本公开的步骤可以随本文并未呈现和描述的其它步骤一起进行。此外,并非所有所图示的步骤都被要求来实施依据所公开主题的方法。
在操作1310,在初始时段内传送启动帧。这可以是从编码客户端至视频会议服务器的传输。所述启动帧包括帧内帧并且能够包括来自相同时段的一个或多个附加帧,其中所述附加帧以不同于所述帧内帧的分辨率进行编码。作为示例,所述启动帧能够类似于图9中时段t0的帧I、PM和PH。因此,初始时段的启动帧能够包括帧内帧以及一个或多个帧,该一个或多个帧具有与所述帧内帧的分辨率不同的分辨率并且使用参考帧缩放而参考所述帧内帧进行编码。在一种实施方式中,操作1310包括从编码客户端向视频会议服务器传送编码视频流,该编码视频流包括参考帧、相对于所述参考帧进行编码的多个第一分辨率帧以及相对于所述参考帧进行编码的多个第二分辨率帧。
在操作1320,所述初始时段之后的时段内传送帧。帧的每次传输能够包括多个分辨率的相同图像,其中每个帧参考来自先前时段的相同分辨率的帧进行编码。
在操作1330,关于是否传送非显示锚点帧作出决策。该决策能够基于时间的经过、视频内容的改变或者任何其它适当因素而作出。如果要传送非显示锚点帧,则所述处理行进至操作1340。所述非显示锚点帧在操作1340的传输包括足以供解码客户端以非显示锚点帧分辨率定义视频数据的完整帧的信息。所述非显示锚点帧的分辨率例如可以是编码客户端所传送的最低分辨率帧的分辨率。所述非显示锚点帧将被中继至所有解码客户端以便在客户端之一改变分辨率时使用。在所述非显示锚点帧的传输之后或者在决定不传送非显示锚点帧之后,所述处理行进至操作1350。
在操作1350,确定是否接收到改变请求。所述改变请求是改变在解码客户端所接收到的分辨率的请求。所述改变请求能够从视频会议服务器接收。所述请求能够源自于视频会议服务器或者解码客户端之一。如果没有接收到改变请求,则所述处理返回至操作1320。
如果在操作1350接收到改变请求,所述处理行进至操作1360,其中代码化改变由编码客户端所执行。因此,响应于接收到改变分辨率的请求,编码客户端对相对于非显示锚点帧进行编码的帧的集合进行编码,并且在视频流中将所述帧的集合传送至视频会议服务器。所述帧的集合能够如关于图11的时段tn所描述,其中低分辨率帧参考最近接收到的非显示锚点帧进行解码,中分辨率帧使用参考帧缩放而相对于低分辨率帧进行解码,并且高分辨率帧使用参考帧缩放而相对于中分辨率帧进行解码。处理随后返回至操作1320。
图14是由视频会议服务器进行的用于接收和传送视频流的处理1400的示例。在该示例中,所述视频流包括诸如低分辨率、中分辨率和高分辨率的多种分辨率的帧。然而,在视频流中能够提供任何数量的分辨率的帧。处理1400例如能够由图10的视频会议服务器1020来实施。处理1400例如能够被实施为由诸如传送站112或接收站130的计算设备所执行的软件程序。软件解决方案,编码客户端在编码视频流中将帧的集合传送到第一远程计算系统,该帧的集合被相对于计算设备编码以执行处理1400。处理1400还能够使用硬件来实施。如上文所解释的,一些计算设备可以具有多个存储器和多个处理器,并且处理1400的步骤在这样的情况下可以使用不同的处理器和存储器进行分配。
为了解释的简明性,处理1400被叙述或描述为一系列步骤。然而,依据本公开的步骤和操作能够以各种顺序和/或同时进行。此外,依据本公开的步骤可以随本文并未呈现和描述的其它步骤一起进行。此外,并非所有所图示的步骤都被要求实施依据所公开主题的方法。
在操作1410,接收并转发启动帧。所述启动帧如先前在图13的操作1310所描述。所述启动帧根据每个解码客户端所采用的分辨率而被转发至解码客户端。所有编码客户端接收帧内帧。如关于图9的时段t0所解释的,每个解码客户端还可以接收一个或多个附加帧以允许所述解码客户端以期望分辨率来定义帧。
在操作1420,接收并转发帧。与操作1410的启动帧相比,在操作1420传送的帧表示所述系统的标称操作,其中每个时段内的帧的传输包括每个分辨率的一个帧,其中每个帧参考来自先前时段的相同分辨率帧进行编码。
在操作1430,确定是否已经接收到非显示锚点帧。如果非显示锚点帧已经被接收,则其在操作1440连同相同时段的帧一起被传送至所有解码客户端。在非显示锚点帧的传输之后或者在确定没有接收到非显示锚点帧之后,所述处理行进至操作1450。
在操作1450,确定是否应当向编码客户端传送改变请求。改变请求能够在视频会议服务器从解码客户端所接收,或者能够在视频会议服务器生成。所述改变请求例如可以响应于确定对于一个或多个解码客户端带宽条件已经发生改变而作出。如果尚未作出改变请求,则所述处理返回操作1420。否则,所述处理行进至操作1460,其中分辨率改变请求被传送至编码客户端。
在发送所述分辨率改变请求之后,编码客户端将响应于所述分辨率改变请求编码并传送帧的集合。这些帧参考最近传送的非显示锚点帧进行编码,并且能够由解码客户端使用所述非显示锚点帧并且通过应用参考帧缩放来解码。在操作1470,响应于所述分辨率改变请求编码的帧的集合被视频编码服务器接收,并且所述帧的集合的部分根据每个解码客户端在代码化改变之后所要解码的适配分辨率而被转发至所述解码客户端。这能够以参考图11描述的方式来执行。处理随后返回至操作1420。
图15是用于在编码客户端接收并解码视频流的处理1500的示例。在该示例中,所述视频流包括诸如低分辨率、中分辨率和高分辨率的多种分辨率的帧。然而,在视频流中能够提供任何数量的分辨率的帧。处理1500例如能够由图10的解码客户端1030、1032、1034处的解码器500来实施。处理1500例如能够被实施为由诸如传送站112或接收站130的计算设备所执行的软件程序。所述软件程序能够包括存储在诸如存储器226的存储器中的机器可读指令,所述机器可读指令在被诸如CPU 224的处理器执行时使得计算设备执行处理1500。处理1500还能够使用硬件来实施。如上文所解释的,一些计算设备可以具有多个存储器和多个处理器,并且处理1500的步骤在这样的情况下可以使用不同的处理器和存储器进行分配。
为了解释的简明性,处理1500被叙述或描述为一系列步骤。然而,依据本公开的步骤和操作能够以各种顺序和/或同时进行。此外,依据本公开的步骤可以随本文并未呈现并描述的其它步骤一起进行。此外,并非所有所图示的步骤都被要求实施依据所公开主题的方法。
操作1510包括接收并解码启动帧。如之前所描述的,在初始时段期间接收的启动帧包括作为参考帧的帧内帧,并且可以包括一个或多个附加帧。解码可以通过使用参考帧缩放来执行。例如,如果解码端点正在使用高分辨率视频,则其可以接收低分辨率参考帧,所述低分辨率参考帧被解码、缩放并接着被用于对来自相同时段的中分辨率帧进行解码,所述中分辨率帧同样被解码、缩放并被用于对来自相同时段的高分辨率帧进行解码。因此,操作1510可以包括在第一解码客户端从视频会议服务器接收编码视频流,该编码视频流包括参考帧以及相对于所述参考帧进行编码的多个第一分辨率帧。操作1510还可以包括在第一解码客户端使用所述参考帧对来自多个第一分辨率帧的至少一些帧进行解码。
操作1520表示在所述初始时段之后的时段中接收并解码帧。在操作1520,所接收到的帧能够参考来自先前时段的相同分辨率帧进行解码。
在操作1530,如果接收到非显示锚点帧,则所述处理行进至操作1540,其中所述非显示锚点帧被解码并存储在缓冲器中。在解码并存储所述非显示锚点帧之后或者如果并未接收到非显示锚点帧,所述处理前进至操作1550。
在操作1550,确定所接收的帧是否指示为了允许解码客户端之一处解码的分辨率的改变而作出的代码化改变。如果没有代码化改变,则处理1500返回操作1520。否则,处理1500行进至操作1560。
如果识别出代码化改变,则操作1560包括采用非显示锚点帧来解码当前时段内的帧,其中在解码客户端处所使用的分辨率与所述非显示锚点帧的分辨率不同(例如,更高)的情况下应用参考帧缩放。如果解码客户端正在改变分辨率,其将使用非显示锚点帧来解码与操作4852解码的帧相比为不同分辨率的帧。因此,操作1560可以包括在解码非显示锚点帧之后接收相对于所解码的非显示锚点帧进行编码的至少一个第二分辨率帧,以及使用所解码的非显示锚点帧对所述至少一个第二分辨率帧进行解码。
图16示出了具有允许帧丢弃以提供时间缩放性的代码化方案的视频流1600。视频流1600的代码化方案能够结合先前所描述的代码化方案一起使用以允许与从编码客户端所传送的视频帧的单一流相比的分辨率改变和时间缩放性。
在所图示的示例中,视频流1600包括四个时段。每个时段中的帧是低分辨率、中分辨率和高分辨率预测帧。在连续的时段中,所述代码化方案在参考紧接在前的时段中的相同分辨率帧对帧进行编码以及参考在紧接在前的时段之前出现的时段(诸如在两个时段前出现的时段)中的相同分辨率帧对帧进行编码之间交替。
在该示例中,时段t12中的帧参考来自时段t11的相同分辨率帧进行编码。来自时段t13中的帧参考来自时段t11的相同分辨率帧进行编码。来自时段t14中的帧参考来自时段t13的相同分辨率帧进行编码。该代码化方案能够以相同方式反复继续。
来自时段t12和t14的帧从未被后续的帧所参考,因此对于解码任何后续帧而言并不被需要。由于该原因,来自时段t12和t14的帧能够被丢弃。因此,视频会议服务器能够接收来自视频流1600的所有帧,并且随后通过将所有时段的帧传送至相应解码客户端而以高帧速率将那些帧传送至解码客户端,或者通过仅将来自时段t11和t13的帧传送至解码客户端并丢弃未被后续帧用作参考帧的一些或全部帧(诸如时段t12和t14中的那些)而以低帧速率将那些帧传送至解码客户端。
图17示出了其中编码客户端1710将视频流1600传送至视频会议服务器1720的视频会议系统1700。视频会议服务器1720将视频流1600的部分传送至第一解码客户端1730、第二解码客户端1732和第三解码客户端1734中的每一个。第一解码客户端1730具有高带宽并且正在以高分辨率和高帧速率接收视频。第二解码客户端1732具有中带宽并且正在以中分辨率和低帧速率接收视频。第三解码客户端1734具有低带宽并且正在以低分辨率和高帧速率接收视频。
如之前所解释的,视频流1600包括如下帧,该帧能够由于它们并未被任何后续帧用于解码而被丢弃。这允许视频会议服务器在将视频流1600中继至一些或全部解码客户端时丢弃来自所述视频流的一些帧。这关于第二解码客户端1732被示出,其仅以作为视频被发送至第一解码客户端1730和第三解码客户端1734的帧速率的一半的帧速率接收不可丢弃的帧,而第一解码客户端1730和第三解码客户端1734中的每一个除了不可丢弃的帧之外还接收可丢弃的帧。
以上示例采用客户端-服务器架构,其中信息由诸如图10的视频会议服务器1020、图12的视频会议服务器1220和图17的视频会议服务器1720的视频会议服务器进行中继。然而,应当理解的是,本文所讨论的方法能够使用端对端架构来实施,其中视频会议服务器被省略。例如,在系统1000中,视频会议服务器1020将被省略,这使得单一流900的传输并非是必要的。相反,被描述为由视频会议服务器1020进行的传输将由编码客户端1010来进行。
上文所描述的编码和解码的多个方面对编码和解码技术的一些示例进行了阐述。然而,所要理解的是,如在权利要求中使用的那些术语,编码和解码可以表示压缩、解压缩、变换或者数据的任何其它处理或改变。
此外,词语“示例”或“方面”在本文被用来表示用作示例、实例或说明。此外,这里被描述为“示例”或“方面”的任何方面或设计并非必然被理解为相对于其它方面或设计是优选或有利的。相反,词语“示例”或“方面”的使用是意在以具体方式给出概念。如本申请中所使用的,术语“或”意在表示包含性的“或”而非排他性的“或”。也就是说,除非另外指出或者从上下文所明确,否则“X包括A或B”意在表示任何的自然包含性置换。也就是说,如果X包括A;X包括B;或者X包括A和B二者,则“X包括A或B”就在任何上述实例下得到满足。此外,除非另外指出或者从上下文所明确为指示单数形式,否则本申请和所附权利要求中使用的冠词“一(个)”一般应当被理解为表示“一个或多个”。此外,术语“实施方式”或“一种实施方式”的使用始终都并非意在表示相同的实施例或实施方式,除非被描述如此。
传送站112和/或接收站130(以及被编码器470和解码器500所包括的存储于其上和/或由此被执行的算法、方法、指令等)的实施方式能够以硬件、软件或者它们的任何组合来实施。所述硬件例如可以包括计算机、知识产权(IP)内核、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其它适当电路。在权利要求中,术语“处理器”应当被理解为单独或组合地涵盖了任何上述硬件。术语“信号”和“数据”可互换地使用。另外,传送站112和接收站130的部分并不一定要以相同方式来实施。
进一步地,在一个方面,例如,传送站112或接收站130能够使用具有计算机程序的通用计算机或通用处理器来实施,所述计算机程序在被执行时实行本文所描述的任何的相应方法、算法和/或指令。除此之外或可替换地,例如,能够采用可包含用于实行本文所描述的任何方法、算法或指令的其它硬件的专用计算机/处理器。
传送站112和接收站130例如能够在视频会议系统中的计算机上实施。可替换地,传送站112能够在服务器上实施,并且接收站130能够在与所述服务器分离的设备上实施,诸如手持通信设备。在该实例中,传送站112能够使用编码器470将内容编码为编码视频信号并且将所述编码视频信号传送至通信设备。进而,所述通信设备随后能够使用解码器500对所述编码视频信号进行解码。可替换地,所述通信设备能够对所述通信设备上本地存储的内容进行解码,所述内容例如不由传送站传送。其它适当的传送站112和接收站130的实施方案是可用的。例如,接收站130可以是一般静态的个人计算机而不是便携式通信设备和/或包括编码器470的设备也可以包括解码器500。
另外,本发明的所有或部分实施方式能够采用可访问的计算机程序产品的形式,例如有形计算机可用或计算机可读介质。计算机可用或计算机可读介质可以是例如能够有形地包含、存储、通信或传输程序以便由任何处理器或结合所述处理器使用的任何设备。所述介质例如可以是电子、磁、光学、电磁或半导体设备。其它适当介质也是可用的。
上文所描述的实施例、实施方式和方面已经被描述以便允许容易地理解本发明而并不对本发明加以限制。与之相反,本发明意在覆盖包括在所附权利要求范围之内的各种修改和等同布置,所述范围要与最宽泛的解释相符从而如法律所允许地涵盖所有这样的修改和等同结构。
Claims (17)
1.一种单一流传输方法,包括:
从编码客户端向第一远程计算系统传送编码视频流,所述编码视频流包括多个第一分辨率帧和多个第二分辨率帧;
在所述编码视频流中从所述编码客户端向所述第一远程计算系统传送第一分辨率非显示锚点帧;
在所述编码客户端处从所述第一远程计算系统接收改变分辨率的请求;以及
响应于接收到所述改变分辨率的请求,在所述编码视频流中从所述编码客户端向所述第一远程计算系统传送帧的集合,所述帧的集合相对于所述第一分辨率非显示锚点帧被编码。
2.根据权利要求1所述的方法,进一步包括:
在初始时段期间从所述编码客户端向所述第一远程计算系统传送第一分辨率帧内帧,其中在所述初始时段期间所传送的来自所述多个第二分辨率帧的至少一个帧相对于所述第一分辨率帧内帧被编码。
3.根据权利要求1所述的方法,其中所述多个第一分辨率帧在时间上对应于所述多个第二分辨率帧。
4.根据权利要求1所述的方法,其中定期执行传送所述第一分辨率非显示锚点帧的一次或多次附加迭代。
5.根据权利要求1所述的方法,其中所述第一远程计算系统包括视频会议服务器,所述视频会议服务器能够进行操作以将部分的所述编码视频流转发至多个解码客户端中的每一个解码客户端。
6.根据权利要求5所述的方法,其中所述改变分辨率的请求源自于来自所述多个解码客户端的第一解码客户端并且被所述视频会议服务器中继至所述编码客户端。
7.根据权利要求5所述的方法,其中在所述改变分辨率的请求之前,所述视频会议服务器将所述多个第一分辨率帧中的至少一些转发至所述多个解码客户端中的第一解码客户端,并且所述视频会议服务器将所述多个第二分辨率帧中的至少一些转发至所述多个解码客户端中的第二解码客户端。
8.根据权利要求5所述的方法,其中所述第一分辨率非显示锚点帧不被任何解码客户端显示。
9.一种单一流传输方法,包括:
在第一解码客户端处从第一远程计算系统接收编码视频流,所述编码视频流包括多个第一分辨率的帧;
在所述第一解码客户端处对来自所述多个第一分辨率帧的至少一些帧进行解码;
在所述第一解码客户端处从所述第一远程计算系统接收第一分辨率非显示锚点帧;
在所述第一解码客户端处对所述第一分辨率非显示锚点帧进行解码;
在对所述第一分辨率非显示锚点帧进行解码之后,在所述第一解码客户端处接收相对于所解码的第一分辨率非显示锚点帧被编码的至少一个第二分辨率帧;以及
在所述第一解码客户端处,使用所解码的第一分辨率非显示锚点帧对所述至少一个第二分辨率帧进行解码。
10.根据权利要求9所述的方法,进一步包括:
输出来自所述多个第一分辨率帧以及所述至少一个第二分辨率帧中的至少一些以用于由所述解码客户端显示,其中所述第一分辨率非显示锚点帧不被所述解码客户端显示。
11.根据权利要求9所述的方法,进一步包括:
在接收相对于所述第一分辨率非显示锚点帧被编码的所述至少一个第二分辨率帧之前,向所述第一远程计算系统传送改变分辨率的请求。
12.根据权利要求9所述的方法,其中使用所解码的第一分辨率非显示锚点帧对所述至少一个第二分辨率帧进行解码包括:对所解码的第一分辨率非显示锚点帧进行缩放,以增大所解码的第一分辨率非显示锚点帧的分辨率。
13.根据权利要求9所述的方法,其中响应于在所述第一远程计算系统处从第二解码客户端所接收的改变分辨率的请求,在所述第一解码客户端处接收相对于所述第一分辨率非显示锚点帧被编码的所述至少一个第二分辨率帧。
14.根据权利要求9所述的方法,进一步包括:
将所解码的第一分辨率非显示锚点帧存储在所述第一解码客户端处的帧缓冲器中。
15.一种单一流传输方法,包括:
在视频会议服务器处从编码客户端接收编码视频流,所述编码视频流包括多个第一分辨率帧和多个第二分辨率帧;
将所述多个第一分辨率帧传送至来自多个解码客户端的至少一些解码客户端;
将所述多个第二分辨率帧传送至来自所述多个解码客户端的至少一些解码客户端;
在所述视频会议服务器处,在所述编码视频流中从所述编码客户端接收第一分辨率非显示锚点帧;
将所述第一分辨率非显示锚点帧传送至所有的所述多个解码客户端;
从所述视频会议服务器向所述编码客户端传送改变分辨率的请求;
在传送所述改变分辨率的请求之后,在所述视频会议服务器处,在所述编码视频流中从所述编码客户端接收帧的集合,所述帧的集合相对于所述第一分辨率非显示锚点帧被编码;以及
将来自所述帧的集合的一个或多个帧传送至所述多个解码客户端中的每一个。
16.根据权利要求15所述的方法,进一步包括:
在初始时段期间,在所述视频会议服务器处从所述编码客户端接收第一分辨率帧内帧,其中在所述初始时段期间所传送的来自所述多个第二分辨率帧的至少一个帧相对于所述第一分辨率帧内帧被编码。
17.根据权利要求15所述的方法,其中所述改变分辨率的请求源自于来自所述多个解码客户端的第一解码客户端并且被所述视频会议服务器中继至所述编码客户端。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/794,251 US9609275B2 (en) | 2015-07-08 | 2015-07-08 | Single-stream transmission method for multi-user video conferencing |
US14/794,251 | 2015-07-08 | ||
PCT/US2016/040165 WO2017007659A1 (en) | 2015-07-08 | 2016-06-29 | Single-stream transmission method for multi-user video conferencing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107534669A CN107534669A (zh) | 2018-01-02 |
CN107534669B true CN107534669B (zh) | 2021-01-15 |
Family
ID=56373196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680024163.0A Active CN107534669B (zh) | 2015-07-08 | 2016-06-29 | 用于多用户视频会议的单一流传输方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9609275B2 (zh) |
EP (1) | EP3320680B1 (zh) |
CN (1) | CN107534669B (zh) |
WO (1) | WO2017007659A1 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108390816B (zh) * | 2015-09-23 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 网络通话方法和装置 |
US10456672B2 (en) | 2016-05-19 | 2019-10-29 | Google Llc | Methods and systems for facilitating participation in a game session |
US11025933B2 (en) * | 2016-06-09 | 2021-06-01 | Apple Inc. | Dynamic video configurations |
GB2551199B (en) * | 2016-06-10 | 2019-12-18 | Advanced Risc Mach Ltd | Video data processing system |
US20180077437A1 (en) * | 2016-09-09 | 2018-03-15 | Barrie Hansen | Parallel Video Streaming |
GB2564081B (en) * | 2017-04-25 | 2022-11-23 | Adder Tech Ltd | Video transmission |
EP4336800A3 (en) | 2017-10-10 | 2024-05-29 | Google LLC | Distributed sample-based game profiling with game metadata and metrics and gaming api platform supporting third-party content |
EP3474548A1 (en) * | 2017-10-18 | 2019-04-24 | Axis AB | Method and encoder for encoding a video stream in a video coding format supporting auxiliary frames |
US10979744B2 (en) | 2017-11-03 | 2021-04-13 | Nvidia Corporation | Method and system for low latency high frame rate streaming |
US11140207B2 (en) | 2017-12-21 | 2021-10-05 | Google Llc | Network impairment simulation framework for verification of real time interactive media streaming systems |
EP3700640B1 (en) | 2018-03-22 | 2021-05-26 | Google LLC | Methods and systems for rendering and encoding content for online interactive gaming sessions |
KR102694451B1 (ko) | 2018-04-02 | 2024-08-13 | 구글 엘엘씨 | 대화형 클라우드 게임용 방법, 디바이스 및 시스템 |
US11077364B2 (en) | 2018-04-02 | 2021-08-03 | Google Llc | Resolution-based scaling of real-time interactive graphics |
CN111886057B (zh) | 2018-04-02 | 2024-09-20 | 谷歌有限责任公司 | 用于电子系统的输入装置 |
EP3701489B1 (en) | 2018-04-10 | 2022-10-26 | Google LLC | Memory management in gaming rendering |
US10841604B2 (en) * | 2018-09-04 | 2020-11-17 | Google Llc | Temporal prediction shifting for scalable video coding |
EP3807766B1 (en) | 2018-11-16 | 2021-10-27 | Google LLC | Shadow tracking of real-time interactive simulations for complex system analysis |
CN111479165B (zh) * | 2019-01-23 | 2021-08-06 | 上海哔哩哔哩科技有限公司 | 软硬件解码分辨率无缝切换方法、装置及存储介质 |
US20210392349A1 (en) * | 2019-03-01 | 2021-12-16 | Alibaba Group Holding Limited | Adaptive Resolution Video Coding |
US20200296316A1 (en) | 2019-03-11 | 2020-09-17 | Quibi Holdings, LLC | Media content presentation |
US20200296462A1 (en) | 2019-03-11 | 2020-09-17 | Wci One, Llc | Media content presentation |
US11336894B2 (en) * | 2019-09-20 | 2022-05-17 | Tencent America LLC | Signaling of reference picture resampling with resampling picture size indication in video bitstream |
KR20210055278A (ko) * | 2019-11-07 | 2021-05-17 | 라인플러스 주식회사 | 하이브리드 비디오 코딩 방법 및 시스템 |
US10999344B1 (en) * | 2020-06-15 | 2021-05-04 | Google Llc | Dynamic video resolution and quality for improved video conferencing |
US11044287B1 (en) * | 2020-11-13 | 2021-06-22 | Microsoft Technology Licensing, Llc | Caption assisted calling to maintain connection in challenging network conditions |
CN113038062B (zh) * | 2021-03-12 | 2022-09-09 | 随锐科技集团股份有限公司 | 视频通信方法及系统 |
CN113015021B (zh) * | 2021-03-12 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 云游戏的实现方法、装置、介质及电子设备 |
US11902343B1 (en) * | 2021-04-19 | 2024-02-13 | Damaka, Inc. | System and method for highly scalable browser-based audio/video conferencing |
CN113473185B (zh) * | 2021-04-28 | 2022-08-26 | 清华大学 | 基于视频流关键帧突发特性的可用带宽探测方法及装置 |
CN115834922A (zh) * | 2022-12-20 | 2023-03-21 | 南京大学 | 一种面向实时视频分析的画面增强型解码方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102246521A (zh) * | 2008-12-15 | 2011-11-16 | 微软公司 | 视频会议速率匹配 |
CN103731627A (zh) * | 2012-10-15 | 2014-04-16 | 株式会社理光 | 传送终端和传送方法 |
Family Cites Families (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US338127A (en) | 1886-03-16 | William g | ||
JPH06284148A (ja) * | 1993-03-30 | 1994-10-07 | Hitachi Ltd | 動画通信制御方法及び通信制御装置 |
JP2827932B2 (ja) | 1994-11-25 | 1998-11-25 | 日本電気株式会社 | 多地点テレビ会議における合成画面表示制御方式 |
JPH09149396A (ja) | 1995-11-27 | 1997-06-06 | Fujitsu Ltd | 多地点テレビ会議システム |
US5778082A (en) | 1996-06-14 | 1998-07-07 | Picturetel Corporation | Method and apparatus for localization of an acoustic source |
US5963547A (en) | 1996-09-18 | 1999-10-05 | Videoserver, Inc. | Method and apparatus for centralized multipoint conferencing in a packet network |
US6011868A (en) | 1997-04-04 | 2000-01-04 | Hewlett-Packard Company | Bitstream quality analyzer |
US6072522A (en) | 1997-06-04 | 2000-06-06 | Cgc Designs | Video conferencing apparatus for group video conferencing |
US6295379B1 (en) | 1997-09-29 | 2001-09-25 | Intel Corporation | DPCM image compression with plural quantization table levels |
US6028639A (en) | 1997-12-19 | 2000-02-22 | Thomson Consumer Electronics, Inc. | Process and apparatus for converting an MPEG-2 bitstream into SMPTE-259 compatible bitstream |
US6377995B2 (en) | 1998-02-19 | 2002-04-23 | At&T Corp. | Indexing multimedia communications |
US6163335A (en) | 1998-02-26 | 2000-12-19 | Netergy Networks | Multiple-mode videoconferencing arrangement |
US6621514B1 (en) | 1998-03-12 | 2003-09-16 | Intel Corporation | Video conferencing system |
US6453336B1 (en) | 1998-09-14 | 2002-09-17 | Siemens Information And Communication Networks, Inc. | Video conferencing with adaptive client-controlled resource utilization |
US6775247B1 (en) | 1999-03-22 | 2004-08-10 | Siemens Information And Communication Networks, Inc. | Reducing multipoint conferencing bandwidth |
US6795863B1 (en) | 1999-08-10 | 2004-09-21 | Intline.Com, Inc. | System, device and method for combining streaming video with e-mail |
US6757259B1 (en) | 1999-08-12 | 2004-06-29 | Intel Corporation | Control of internet based video conferencing |
US6658618B1 (en) | 1999-09-02 | 2003-12-02 | Polycom, Inc. | Error recovery method for video compression coding using multiple reference buffers and a message channel |
US7143432B1 (en) | 1999-10-01 | 2006-11-28 | Vidiator Enterprises Inc. | System for transforming streaming video data |
US7349944B2 (en) | 1999-11-18 | 2008-03-25 | Intercall, Inc. | System and method for record and playback of collaborative communications session |
US6614936B1 (en) | 1999-12-03 | 2003-09-02 | Microsoft Corporation | System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding |
AU4338800A (en) | 1999-12-22 | 2001-07-03 | General Instrument Corporation | Video compression for multicast environments using spatial scalability and simulcast coding |
WO2001067772A2 (en) | 2000-03-09 | 2001-09-13 | Videoshare, Inc. | Sharing a streaming video |
US6369847B1 (en) | 2000-03-17 | 2002-04-09 | Emtel, Inc. | Emergency facility video-conferencing system |
US6980526B2 (en) | 2000-03-24 | 2005-12-27 | Margalla Communications, Inc. | Multiple subscriber videoconferencing system |
US7206016B2 (en) | 2000-05-01 | 2007-04-17 | Polycom, Inc. | Filtering artifacts from multi-threaded video |
GB2381403B (en) | 2000-05-10 | 2004-12-01 | Picturetel Corp | Video coding using multiple buffers |
US6603501B1 (en) | 2000-07-12 | 2003-08-05 | Onscreen24 Corporation | Videoconferencing using distributed processing |
US7007098B1 (en) | 2000-08-17 | 2006-02-28 | Nortel Networks Limited | Methods of controlling video signals in a video conference |
KR100373323B1 (ko) | 2000-09-19 | 2003-02-25 | 한국전자통신연구원 | 영상회의 시스템에서의 다자간 영상회의 방법 |
IES20010170A2 (en) | 2001-02-23 | 2002-02-06 | Ivron Systems Ltd | A video conferencing system |
US7093277B2 (en) | 2001-05-30 | 2006-08-15 | Digeo, Inc. | System and method for improved multi-stream multimedia transmission and processing |
US20040022202A1 (en) | 2002-08-05 | 2004-02-05 | Chih-Lung Yang | Method and apparatus for continuously receiving images from a plurality of video channels and for alternately continuously transmitting to each of a plurality of participants in a video conference individual images containing information concerning each of said video channels |
US7133362B2 (en) | 2001-11-14 | 2006-11-07 | Microsoft Corporation | Intelligent buffering process for network conference video |
US20030160862A1 (en) | 2002-02-27 | 2003-08-28 | Charlier Michael L. | Apparatus having cooperating wide-angle digital camera system and microphone array |
US7627886B2 (en) | 2002-03-04 | 2009-12-01 | Microsoft Corporation | Systems and methods for displaying video streams |
US20040071212A1 (en) | 2002-05-31 | 2004-04-15 | Qunshan Gu | System and method for decreasing end-to-end-delay during video conferencing session |
US6992692B2 (en) | 2002-05-31 | 2006-01-31 | Polycom, Inc. | System and method for providing video quality improvement |
US7492387B2 (en) | 2002-08-05 | 2009-02-17 | Chih-Lung Yang | Implementation of MPCP MCU technology for the H.264 video standard |
NZ520986A (en) | 2002-08-23 | 2005-04-29 | Ectus Ltd | Audiovisual media encoding system |
US7123696B2 (en) | 2002-10-04 | 2006-10-17 | Frederick Lowe | Method and apparatus for generating and distributing personalized media clips |
WO2004044710A2 (en) | 2002-11-11 | 2004-05-27 | Supracomm, Inc. | Multicast videoconferencing |
US20040119814A1 (en) | 2002-12-20 | 2004-06-24 | Clisham Allister B. | Video conferencing system and method |
SG140441A1 (en) * | 2003-03-17 | 2008-03-28 | St Microelectronics Asia | Decoder and method of decoding using pseudo two pass decoding and one pass encoding |
US20050008240A1 (en) | 2003-05-02 | 2005-01-13 | Ashish Banerji | Stitching of video for continuous presence multipoint video conferencing |
US7698724B1 (en) | 2003-05-15 | 2010-04-13 | Cisco Technology, Inc. | Convergence processor for media streams |
US7034860B2 (en) | 2003-06-20 | 2006-04-25 | Tandberg Telecom As | Method and apparatus for video conferencing having dynamic picture layout |
US20050062843A1 (en) | 2003-09-22 | 2005-03-24 | Bowers Richard D. | Client-side audio mixing for conferencing |
US7084898B1 (en) | 2003-11-18 | 2006-08-01 | Cisco Technology, Inc. | System and method for providing video conferencing synchronization |
GB0330253D0 (en) | 2003-12-31 | 2004-02-04 | Mitel Networks Corp | Self-discovery method |
US7352808B2 (en) | 2004-01-29 | 2008-04-01 | International Business Machines Corporation | System and method for the dynamic resolution change for video encoding |
US7593031B2 (en) | 2004-04-16 | 2009-09-22 | Polycom, Inc. | Integrated desktop videoconferencing system |
US8010652B2 (en) | 2004-05-07 | 2011-08-30 | Nokia Corporation | Refined quality feedback in streaming services |
US7769756B2 (en) | 2004-06-07 | 2010-08-03 | Sling Media, Inc. | Selection and presentation of context-relevant supplemental content and advertising |
US7692683B2 (en) | 2004-10-15 | 2010-04-06 | Lifesize Communications, Inc. | Video conferencing system transcoder |
US7768544B2 (en) | 2005-01-21 | 2010-08-03 | Cutler Ross G | Embedding a panoramic image in a video stream |
US7716283B2 (en) | 2005-02-16 | 2010-05-11 | Microsoft Corporation | Television system video conferencing |
US20060221869A1 (en) | 2005-03-29 | 2006-10-05 | Teck-Kuen Chua | System and method for audio multicast |
US7949117B2 (en) | 2005-04-28 | 2011-05-24 | Apple Inc. | Heterogeneous video conferencing |
US7663750B2 (en) | 2005-06-30 | 2010-02-16 | Applied Biosystems, Llc | Two-dimensional spectral imaging system |
WO2007009239A1 (en) | 2005-07-19 | 2007-01-25 | March Networks Corporation | Hierarchical data storage |
US8289370B2 (en) | 2005-07-20 | 2012-10-16 | Vidyo, Inc. | System and method for scalable and low-delay videoconferencing using scalable video coding |
US7864210B2 (en) | 2005-11-18 | 2011-01-04 | International Business Machines Corporation | System and methods for video conferencing |
US8436889B2 (en) | 2005-12-22 | 2013-05-07 | Vidyo, Inc. | System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers |
US7907594B2 (en) | 2006-06-01 | 2011-03-15 | Cisco Technology, Inc. | Marking keyframes for a communication session |
US7822811B2 (en) | 2006-06-16 | 2010-10-26 | Microsoft Corporation | Performance enhancements for video conferencing |
US7693190B2 (en) | 2006-11-22 | 2010-04-06 | Cisco Technology, Inc. | Lip synchronization for audio/video transmissions over a network |
US8289363B2 (en) | 2006-12-28 | 2012-10-16 | Mark Buckler | Video conferencing |
CA2674710C (en) | 2007-01-09 | 2016-02-23 | Vidyo, Inc. | Improved systems and methods for error resilience in video communication systems |
US8300556B2 (en) | 2007-04-27 | 2012-10-30 | Cisco Technology, Inc. | Optimizing bandwidth in a multipoint video conference |
US8264521B2 (en) | 2007-04-30 | 2012-09-11 | Cisco Technology, Inc. | Media detection and packet distribution in a multipoint conference |
US8379677B2 (en) | 2007-04-30 | 2013-02-19 | Vixs Systems, Inc. | System for combining a plurality of video streams and method for use therewith |
US8237765B2 (en) | 2007-06-22 | 2012-08-07 | Lifesize Communications, Inc. | Video conferencing device which performs multi-way conferencing |
KR20090017030A (ko) | 2007-08-13 | 2009-02-18 | 삼성전자주식회사 | 메타데이터 인코딩/디코딩 방법 및 장치 |
US9661267B2 (en) | 2007-09-20 | 2017-05-23 | Lifesize, Inc. | Videoconferencing system discovery |
WO2009086078A1 (en) | 2007-12-19 | 2009-07-09 | Rambus Inc. | Receiver for multi-wire communication with reduced input capacitance |
US8276195B2 (en) | 2008-01-02 | 2012-09-25 | Microsoft Corporation | Management of split audio/video streams |
KR101431543B1 (ko) * | 2008-01-21 | 2014-08-21 | 삼성전자주식회사 | 영상 부호화/복호화 장치 및 방법 |
US8265168B1 (en) | 2008-02-01 | 2012-09-11 | Zenverge, Inc. | Providing trick mode for video stream transmitted over network |
US7759756B2 (en) | 2008-02-04 | 2010-07-20 | Sharp Laboratories Of America, Inc. | Dual-pixel full color CMOS imager |
CN101588252B (zh) | 2008-05-23 | 2011-07-20 | 华为技术有限公司 | 一种多点会议的控制方法及装置 |
CN101686383B (zh) | 2008-09-23 | 2013-05-01 | Utc消防和保安美国有限公司 | 通过网络传输媒体的方法及系统 |
US20100141655A1 (en) | 2008-12-08 | 2010-06-10 | Eran Belinsky | Method and System for Navigation of Audio and Video Files |
US20100271457A1 (en) | 2009-04-23 | 2010-10-28 | Optical Fusion Inc. | Advanced Video Conference |
US8964851B2 (en) | 2009-06-09 | 2015-02-24 | Sony Corporation | Dual-mode compression of images and videos for reliable real-time transmission |
TWI389569B (zh) | 2009-07-21 | 2013-03-11 | Acer Inc | 視訊會議訊號處理系統 |
US20110032986A1 (en) * | 2009-08-07 | 2011-02-10 | Sling Media Pvt Ltd | Systems and methods for automatically controlling the resolution of streaming video content |
US8958685B2 (en) | 2009-08-17 | 2015-02-17 | Avaya Inc. | Word cloud audio navigation |
WO2011034924A1 (en) | 2009-09-15 | 2011-03-24 | Envysion, Inc. | Video streaming method and system |
CA2714932A1 (en) | 2009-09-23 | 2011-03-23 | Her Majesty The Queen In The Right Of Canada As Represented By The Minister Of Industry | Image interpolation for motion/disparity compensation |
US8558862B2 (en) | 2009-09-28 | 2013-10-15 | Lifesize Communications, Inc. | Videoconferencing using a precoded bitstream |
US8754922B2 (en) | 2009-09-28 | 2014-06-17 | Lifesize Communications, Inc. | Supporting multiple videoconferencing streams in a videoconference |
US8204759B2 (en) | 2009-11-30 | 2012-06-19 | International Business Machines Corporation | Social analysis in multi-participant meetings |
US8411129B2 (en) | 2009-12-14 | 2013-04-02 | At&T Intellectual Property I, L.P. | Video conference system and method using multicast and unicast transmissions |
US8681873B2 (en) | 2010-02-19 | 2014-03-25 | Skype | Data compression for video |
US8527649B2 (en) | 2010-03-09 | 2013-09-03 | Mobixell Networks Ltd. | Multi-stream bit rate adaptation |
US20110292161A1 (en) | 2010-05-25 | 2011-12-01 | Vidyo, Inc. | Systems And Methods For Scalable Video Communication Using Multiple Cameras And Multiple Monitors |
US8731152B2 (en) | 2010-06-18 | 2014-05-20 | Microsoft Corporation | Reducing use of periodic key frames in video conferencing |
EP2448265A1 (en) | 2010-10-26 | 2012-05-02 | Google, Inc. | Lip synchronization in a video conference |
WO2012087419A2 (en) | 2010-12-22 | 2012-06-28 | Rambus Inc. | Session management for communication in a heterogeneous network |
US9153031B2 (en) | 2011-06-22 | 2015-10-06 | Microsoft Technology Licensing, Llc | Modifying video regions using mobile device input |
US9210302B1 (en) | 2011-08-10 | 2015-12-08 | Google Inc. | System, method and apparatus for multipoint video transmission |
US8953044B2 (en) | 2011-10-05 | 2015-02-10 | Xerox Corporation | Multi-resolution video analysis and key feature preserving video reduction strategy for (real-time) vehicle tracking and speed enforcement systems |
US9392303B2 (en) | 2011-10-26 | 2016-07-12 | Ronnie Yaron | Dynamic encoding of multiple video image streams to a single video stream based on user input |
US8749612B1 (en) | 2011-12-01 | 2014-06-10 | Google Inc. | Reduced bandwidth usage in video conferencing |
US8797378B1 (en) | 2012-01-17 | 2014-08-05 | Google Inc. | Distributed communications |
US8325821B1 (en) | 2012-02-08 | 2012-12-04 | Vyumix, Inc. | Video transcoder stream multiplexing systems and methods |
US8917309B1 (en) | 2012-03-08 | 2014-12-23 | Google, Inc. | Key frame distribution in video conferencing |
US9137281B2 (en) | 2012-06-22 | 2015-09-15 | Guest Tek Interactive Entertainment Ltd. | Dynamically enabling guest device supporting network-based media sharing protocol to share media content over local area computer network of lodging establishment with subset of in-room media devices connected thereto |
US8791982B1 (en) | 2012-06-27 | 2014-07-29 | Google Inc. | Video multicast engine |
US9154737B2 (en) | 2012-11-02 | 2015-10-06 | Cisco Technology, Inc. | User-defined content magnification and multi-point video conference system, method and logic |
US9118807B2 (en) | 2013-03-15 | 2015-08-25 | Cisco Technology, Inc. | Split frame multistream encode |
-
2015
- 2015-07-08 US US14/794,251 patent/US9609275B2/en active Active
-
2016
- 2016-06-29 EP EP16736738.2A patent/EP3320680B1/en active Active
- 2016-06-29 CN CN201680024163.0A patent/CN107534669B/zh active Active
- 2016-06-29 WO PCT/US2016/040165 patent/WO2017007659A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102246521A (zh) * | 2008-12-15 | 2011-11-16 | 微软公司 | 视频会议速率匹配 |
CN103731627A (zh) * | 2012-10-15 | 2014-04-16 | 株式会社理光 | 传送终端和传送方法 |
Non-Patent Citations (1)
Title |
---|
The SP- and SI-Frames Designs for H.264/AVC;Marta Karczewicz et al.;《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》;20030731;第13卷(第7期);637-644 * |
Also Published As
Publication number | Publication date |
---|---|
EP3320680B1 (en) | 2021-02-17 |
CN107534669A (zh) | 2018-01-02 |
US9609275B2 (en) | 2017-03-28 |
WO2017007659A1 (en) | 2017-01-12 |
US20170013233A1 (en) | 2017-01-12 |
EP3320680A1 (en) | 2018-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107534669B (zh) | 用于多用户视频会议的单一流传输方法 | |
AU2016388357B2 (en) | Real-time video encoder rate control using dynamic resolution switching | |
US10798408B2 (en) | Last frame motion vector partitioning | |
US9210432B2 (en) | Lossless inter-frame video coding | |
US12075081B2 (en) | Super-resolution loop restoration | |
US20190020888A1 (en) | Compound intra prediction for video coding | |
US20210021859A1 (en) | Same frame motion estimation and compensation | |
US9369732B2 (en) | Lossless intra-prediction video coding | |
CN107205156B (zh) | 通过缩放的运动矢量预测 | |
US8908767B1 (en) | Temporal motion vector prediction | |
US9350988B1 (en) | Prediction mode-based block ordering in video coding | |
US10567772B2 (en) | Sub8×8 block processing | |
US10412410B2 (en) | Compound motion-compensated prediction | |
US20190052912A1 (en) | Directional deblocking filter | |
CN110731082B (zh) | 使用反向排序来压缩视频帧组 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |