CN114616830A - 超高分辨率视频内容的异构实时流送和解码 - Google Patents
超高分辨率视频内容的异构实时流送和解码 Download PDFInfo
- Publication number
- CN114616830A CN114616830A CN201980101146.6A CN201980101146A CN114616830A CN 114616830 A CN114616830 A CN 114616830A CN 201980101146 A CN201980101146 A CN 201980101146A CN 114616830 A CN114616830 A CN 114616830A
- Authority
- CN
- China
- Prior art keywords
- decoder
- video stream
- video
- decoder device
- slice
- 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 claims abstract description 55
- 230000015654 memory Effects 0.000 claims description 27
- 239000004065 semiconductor Substances 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 23
- 239000000758 substrate Substances 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 abstract description 21
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 14
- 230000003044 adaptive effect Effects 0.000 description 7
- 230000006855 networking Effects 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/21805—Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
-
- 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/23439—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 for generating different versions
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- 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/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6336—Control signals issued by server directed to the network components or client directed to client directed to decoder
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
系统、装置和方法可提供响应于来自客户端设备的请求而从专用于视频内容中的第一片的第一多个视频流选择第一视频流、并响应于该请求而从专用于视频内容中的第二片的第二多个视频流选择第二视频流的编码器技术。编码器技术还可将所选择的第一和第二视频流发送至客户端设备。另外,解码器技术可向第一视频流分配第一解码器设备并向第二视频流分配第二解码器设备。在一个示例中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
Description
技术领域
实施例总体上涉及视频流送。更具体地,实施例涉及超高分辨率视频内容的异构实时流送和解码。
背景技术
可使用超高分辨率(例如,8k像素或更多具有16:9高宽比的数字视频格式)编码将虚拟现实(VR)、360°视频和/或云游戏内容流送至诸如头戴式显示器(HMD)这样的客户端设备。然而,在通信和计算方面,对此类内容进行流送可能呈现出挑战。例如,对联网带宽的需求可能显著增加,并且在客户端设备处对内容进行解码可能涉及实质上更多的计算能力。
附图说明
通过阅读以下说明书和所附权利要求书并通过参考以下附图,实施例的各种优势对本领域技术人员将变得显而易见,在附图中:
图1是根据实施例的流送架构的示例的框图;
图2是根据实施例的服务器与流管理器之间的通信的示例的消息收发示图;
图3是根据实施例的解码器设备能力确定的示例的框图;
图4A和4B是根据实施例的视频流分配的示例的框图;
图5是根据实施例的经解码的视频流的合并器的框图;
图6A是根据实施例的操作流编码器的方法的示例的流程图;
图6B是根据实施例的操作流解码器的方法的示例的流程图;
图7是根据实施例的实时传输协议(RTP)流送架构的示例的框图;
图8是根据实施例的性能增强的计算系统的示例的框图;
图9是根据实施例的半导体装置的示例的图示;
图10是根据实施例的处理器的示例的框图;以及
图11是根据实施例的基于多处理器的计算系统的示例的框图。
具体实施方式
现在转向图1,示出流送架构20,其中,自适应编码器22(例如,在服务器中操作,该服务器未示出)接收原始视频内容24。在所图示的示例中,视频内容24采用超高分辨率(UHD,例如,4k像素或更高)数字视频格式。在实施例中,视频内容24包括要经由流管理器42被流送至驻留在客户端设备(诸如例如,由终端用户穿戴的HMD)中的异构流解码器26的VR、360°视频和/或云游戏内容。自适应编码器22可将视频内容24的每个帧分区为多个片28,其中每个片28被编码并被封装为独立的流。另外,每个片28可被编码有不同的编解码器(编码器-解码器)参数选项/值(例如,编解码器类型、分辨率、位率)。例如,视场30(FOV,例如,与终端用户看向的方向相对应)内的片28可被给予相对高质量(HQ)的编解码器参数值,而FOV30外的片28可被给予相对低质量(LQ)的编解码器参数值。
在所图示的示例中,“流1”专用于片“6”(未示出)并且其编解码器参数值为编解码器c1、分辨率(“res”)为r1和位率为b1,而“流2”专用于片“2”并且其编解码器参数值为编解码器c2、分辨率为r2和位率为b2(即,c1可不同于c2,r1可不同于r2,b1可不同于b2,依此类推)。异构编码器34可包括流调度器36,该流调度器36经由抽象的解码器1-n和对应的垫片(例如,小型API转换库)将流提交至统一编程模型第0级管理器38以供在解码器设备32上执行。在实施例中,统一编程模型是ONEAPI模型,其用于对异构解码器设备集合32(32a-32n)进行编程,该异构解码器设备集合包括例如,第一CPU(中央处理单元,例如,具有相对较小的处理器核的主机处理器)32a、第二CPU 32b(例如,具有相对较大的处理器核的主机处理器)、图形处理单元(GPU)32c、通用加速器32n(例如,现场可编程门阵列/FPGA、人工智能/IA加速器)等等。所图示的第0级管理器38包括工作负荷监视器44,该工作负荷监视器44实时地跟踪解码器设备32的工作负荷、功率效率、能力等。合并器组件40可将来自解码器32的结果同步化并合成为要被呈现在显示器(例如,HMD的显示器,未示出)上的视觉输出46。
如所图示逐片地将视频流发送至流解码器26在通信和计算方面增强了性能。更具体地,LQ编解码器参数值(例如,较低的分辨率、较低的位率等)降低了编码器22与流管理器42之间的通信信道中对联网带宽的需求,并降低了服务器和客户端设备两者中的计算开销。另外,流解码器26可更高效地跨异构解码器的集合32分配视频流。
在实施例中,自适应编码器22在运行时期间响应于来自流解码器26的请求而动态地改变编解码器参数选项和/或在片视频流之间切换。例如,流解码器26可确定当前FOV 30已改变并请求编码器22为先前处于FOV 30外的片28(例如,片“0”)选择HQ视频流而不是LQ视频流。流解码器26还可响应于解码器设备32的其他状况(诸如例如,工作负荷的改变、功率效率、能力等)而请求进行切换。此外,第0级管理器38可响应于过载、工作负荷平衡决策、可插拔硬件解码器可用性、错误等或其任何组合而跨解码器设备32对流进行动态迁移(例如,在关键帧处进行切换)。
图2示出针对流管理器42与服务器52之间的通信的消息收发示图50,该服务器52包括自适应编码器(诸如例如,自适应编码器22(图1))。服务器可单独地对每个片进行编码并潜在地编码多次(例如,用不同的编解码器参数值来编码,以针对每个片获得多个流)。多个经编码的文件可提前准备或在流送会话被建立之后实时地编码。在所图示的示例中,通知/提供通信54(例如,消息或消息集合)指示视频流的原始视频描述(例如,分辨率、宽度上的片数、高度上的片数等)和编解码器参数值(例如,片视频流描述1-n,包括编解码器、分辨率、位率片标识符/ID等)。如已经提及的,每个视频流专用于视频内容中的片。流管理器42可经由统一接口(例如,ONEAPI)发起查询操作56,以确定当前FOV和异构解码器能力。在实施例中,统一接口还进行分配操作58,从而为视频流分配异构解码器资源。
请求通信60可针对处于当前FOV内的片请求相对高质量的视频流(例如,片视频流描述a-b)并针对并未处于当前FOV内的片请求相对低质量的视频流(例如,片视频流描述x-y)。在所图示的示例中,流通信62对所选择的视频流进行编码和传送。
响应于FOV的改变64(例如,经由运动传感器、相机等检测到的),统一接口进行用于确定异构解码器能力的另一查询操作66和用于为视频流分配异构解码器资源的重新分配操作68。流管理器62随后可根据新的FOV向服务器52发出请求通信70(例如,重新协商消息),其中,流通信72对所选择的视频流进行编码和传送。
图3示出由第0级管理器38就解码器设备32生成和/或获得的能力确定80。基于能力确定80,流管理器可动态地选择流。例如,流管理器可在FOV内选择相对高质量的片流,并在非FOV区域中选择相对低质量的片流。根据解码器设备32(例如,底层硬件)的工作负荷,分配操作可使具有较低工作负荷的解码器设备优先,以得到更好的系统范围的负荷平衡。在另一示例中,分配操作可通过使受功率效率最高的解码器设备32支持的片流优先来优化平台功耗。一种此类功率高效的分配方式以下文的伪代码来描述。
现在转向图4A,流管理器随后将流发送至异构解码器34(图1),并且流调度器36将每个流分派至抽象的解码器(例如,解码器1-n)。第0级管理器38可动态地设置抽象的解码器与解码器设备32(例如,底层硬件解码器)之间的映射。
图4B展示了所图示的第0级管理器38规律地监视所有解码器设备32的状态和工作负荷,并在以下情况下在抽象的解码器与解码器设备32之间建立新的映射:1)过载(例如,来自其他应用的新的任务占用当前硬件解码器计算资源),2)容错性(例如,硬件解码错误),和/或3)工作负荷平衡(例如,新的可插拔硬件解码设备被发现可用)。由此,重新映射完全由第0级管理器38控制,而应用堆叠中的较上层不知晓。
图5展示了解码器设备的输出为被推送到多个队列90(90a-90n)中的帧片,其中每个队列90映射到片的流。例如,第一队列90a可映射到第一片的视频流,第二队列90b可映射到第二片的视频流,以此类推。合并器组件40使所有的流同步化并将具有同一时间戳的经解码的片合成为视觉输出46,该视觉输出46是完整的帧图片(例如,360度全景图片)。
图6A示出了操作流编码器的方法100。方法100通常可以在流编码器中实现,该流编码器诸如例如已讨论的自适应编码器22(图1)。更具体地,方法100可采用一组逻辑指令而被实现为一个或多个模块,这些逻辑指令被存储在诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪存等之类的机器或计算机可读存储介质中,存储在诸如例如可编程逻辑阵列(PLA)、FPGA、复杂可编程逻辑器件(CPLD)之类的可配置逻辑中,存储在使用诸如例如专用集成电路(ASIC)、互补式金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术之类的电路技术的固定功能硬件逻辑中,或存储在上述各项的任何组合中。
例如,可以用一种或多种编程语言的任何组合来编写用于实施在方法100中所示的操作的计算机程序代码,这些编程语言包括诸如JAVA、SMALLTALK、C++等之类的面向对象的编程语言以及诸如“C”编程语言或类似编程语言的之类的常规的过程编程语言。另外,逻辑指令可包括汇编程序指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、状态设置数据、用于集成电路的配置数据、使对于硬件(例如,主机处理器、中央处理单元/CPU、微控制器等)而言是原生的电子电路系统和/或其他结构组件个性化的状态信息。
所图示的处理框102将视频内容分区为多个片,该多个片包括第一片和第二片。虽然出于讨论目的描述了两个片,但片的数量可以有所不同并且典型地是大于二的。在实施例中,视频内容是视频内容的360度(360°)帧。在框104处,可以向客户端设备发送通知,其中,通知指示专用于第一片的第一多个视频流和专用于第二片的第二多个视频流的编解码器参数值。例如,第一多个视频流可包括相对高质量的视频流和相对低质量的视频流,这两者均专用于第一片。类似地,第二多个视频流可包括相对高质量的视频流和相对低质量的视频流,这两者均专用于第二片。中间质量水平也可被编码为视频流。
框106:响应于来自客户端设备的请求而从第一多个视频流选择第一视频流。由此,如果第一片处于当前FOV中,则第一视频流可以是相对高质量的视频流。框108:响应于来自客户端设备的请求而从第二多个视频流选择第二视频流。由此,如果第二片并非处于当前FOV中,则第二视频流可以是相对低质量的视频流。相应地,第一视频流和第二视频流可包括一个或多个不同的编解码器参数值(例如,不同的编解码器类型、不同的分辨率、不同的位率等)。框110可提供:将所选择的第一视频流和所选择的第二视频流发送至客户端设备。当在客户端设备处检测到FOV的改变时,方法100可动态地且实时地被重复。
所图示的逐片地将视频内容流送至客户端设备在通信和计算方面增强了性能。更具体地,LQ编解码器参数值(例如,较低分辨率、较低位率等)降低了服务器与客户端设备之间的通信信道中对联网带宽的需求,并降低了服务器和客户端设备两者中的计算开销。另外,客户端设备可跨异构解码器设备集合更高效地分配视频流。
图6B示出了操作流解码器的方法120。方法120通常可以在流解码器中实现,该流解码器诸如例如已讨论的异构流解码器26(图1)。更具体地,方法120可以采用一组逻辑指令而被实现为一个或多个模块,这些逻辑指令被存储在诸如RAM、ROM、PROM、固件、闪存等之类的机器或计算机可读存储介质中,被存储在诸如例如PLA、FPGA、CPLD之类的可配置逻辑中,被存储在使用诸如例如ASIC、CMOS或TTL技术之类的电路技术的固定功能逻辑硬件中,或被存储在以上各项的任何组合中。
所图示的处理框122:将第一解码器设备分配和/或映射到第一视频流,其中,第一视频流专用于视频内容(例如,360度视频内容)中的第一片。另外,框124:将第二解码器设备分配和/或映射到第二视频流,其中,第二视频流专用于视频内容中的第二片,并且其中,第一视频流和第二视频流包括不同的编码器参数值。例如,相较于第二视频流的编解码器类型、分辨率和/或位率,第一视频流可具有高质量编解码器类型、高分辨率和/或高位率。
而且,框122和124可基于当前FOV、客户端设备中的异构解码器设备的工作负荷状态、客户端设备中的异构解码器设备的功率效率和/或来自服务器的通知来操作。在实施例中,来自服务器的通知指示包括第一视频流的第一多个视频流和包括第二视频流的第二多个视频流的编解码器参数值。在此类情况下,方法120可进一步基于通知、当前FOV并基于客户端设备中的异构解码器设备的工作负荷状态或功率效率中的一者或多者来向服务器发送请求。
因此,所图示的方法120在通信和计算方面增强了性能。更具体地,LQ编解码器参数值(例如,较低分辨率、较低位率等)降低了服务器与客户端设备之间的通信信道中对联网带宽的需求,并降低了服务器和客户端设备两者中的计算开销。另外,跨异构解码器设备集合更高效地映射视频流进一步增强了性能。
图7示出RTP流送架构130,其中高质量片流集合132和低质量片流集合134被编码并被发送至具有区域信息头的打包器136。所图示的打包器136针对处于当前FOV中的片生成HQ RTP流,并针对当前FOV外的片生成LQ RTP流。网络138(例如,有线/无线的)将RTP流传输至异构解码器集合,该异构解码器集合将解码器结果输出至全景合成器142。在实施例中,全景合成器142生成视觉输出140,该视觉输出140用于确定视口取向146。全景合成器1142可基于视口取向146生成RTP控制协议(RTCP)反馈148。由此,所图示的打包器136基于RTCP反馈148来选择要输出到网络138的新的RTP流。也可使用其他协议,诸如例如DASH(基于超文本传输协议的动态自适应流送)。
现在转向图8,示出了性能增强的计算系统150。系统150一般可以是具有计算功能的电子设备/系统(例如,个人数字助理/PDA、笔记本计算机、平板计算机、可转换平板、服务器)、具有通信功能的电子设备/系统(例如,智能电话)、具有成像功能的电子设备/系统(例如,相机、便携式摄像机)、具有媒体播放功能的电子设备/系统(例如,智能电视/TV)、具有可穿戴功能的电子设备/系统(例如,HMD、手表、眼部穿戴物、头戴物、脚部穿戴物、首饰)、具有车载功能的电子设备/系统(例如,汽车、卡车、摩托车)、具有机器人功能的电子设备/系统(例如,自主机器人)等或其任何组合的部分。在所图示的示例中,系统150包括具有耦合到系统存储器156的集成存储器控制器(IMC)154的主机处理器152(例如,CPU)。
所图示的系统150还包括输入输出(IO)模块158,该IO模块158与主机处理器152和图形处理器160(例如,GPU)一起在半导体管芯162上被实现为芯片上系统(SoC)。所图示的IO模块158与例如显示器164(例如,触摸屏、液晶显示器/LCD、发光二极管/LED显示器,其可包括左眼显示器和右眼显示器)、网络控制器166(例如,有线和/或无线的)、以及大容量存储168(例如,硬盘驱动程序/HDD、光盘、固态驱动器/SSD、闪存)进行通信。
主机处理器152、图形处理器160和/或IO模块158可执行检取自系统存储器156和/或大容量存储168的指令170。在实施例中,计算系统150作为服务器来进行操作,并且指令170包括用于执行已讨论的方法100(图6A)的一个或多个方面的可执行编码器指令。由此,所图示的指令170的执行可使得计算系统150响应于来自客户端设备的请求而从专用于视频内容中的第一片的第一多个视频流选择第一视频流。指令170的执行还可使得计算系统150响应于请求而从专用于视频内容中的第二片的第二多个视频流选择第二视频流。在实施例中,指令170的执行还使得计算系统150将所选择的第一视频流和所选择的第二视频流发送至客户端设备。在一个示例中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
在实施例中,计算系统150作为客户端设备来进行操作,并且指令170包括用于执行已讨论的方法120(图6B)的一个或多个方面的可执行解码器指令。由此,所图示的指令170的执行可使得计算系统150向第一视频流分配第一解码器设备,其中第一视频流专用于视频内容中的第一片,并且使得计算系统150向第二视频流分配第二解码器设备,其中第二视频流专用于视频内容中的第二片。在一个示例中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
相应地,至少在通信和计算被改善的意义上,计算系统150被认为是性能增强的。更具体地,LQ编解码器参数值(例如,较低的分辨率、较低的位率等)降低了服务器与客户端设备之间的通信信道中对联网带宽的需求,并降低了服务器和客户端设备两者中的计算开销。另外,更高效地跨异构解码器设备的集合调度视频流进一步增强了性能。
图9示出了半导体装置172(例如,芯片、管芯、封装)。所图示的装置172包括一个或多个衬底174(例如,硅、蓝宝石、砷化镓)和耦合至(多个)衬底174的逻辑176(例如,晶体管阵列和其他集成电路/IC组件)。在实施例中,装置172是编码器半导体装置,并且逻辑176实现已讨论的方法100(图6A)的一个或多个方面。由此,逻辑176可响应于来自客户端设备的请求而从专用于视频内容中的第一片的第一多个视频流选择第一视频流。逻辑176还可响应于请求而从专用于视频内容中的第二片的第二多个视频流选择第二视频流。在实施例中,逻辑176还将所选择的第一视频流和所选择的第二视频流发送至客户端设备。在一个示例中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
在另一实施例中,装置172是解码器半导体装置,并且逻辑176实现已讨论的方法120(图6B)的一个或多个方面。由此,逻辑176可向第一视频流分配第一解码器设备,其中第一视频流专用于视频内容中的第一片,并且可向第二视频流分配第二解码器设备,其中第二视频流专用于视频内容中的第二片。在一个示例中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
相应地,至少在半导体装置172改善了通信和计算的意义上,该装置172被认为是性能增强的。例如,LQ编解码器参数值(例如,较低的分辨率、较低的位率等)降低了服务器与客户端设备之间的通信信道中对联网带宽的需求,并降低了服务器和客户端设备两者中的计算开销。另外,更高效地跨异构解码器设备的集合映射视频流进一步增强了性能。
逻辑176可至少部分地实现在可配置逻辑或固定功能硬件逻辑中。在一个示例中,逻辑176包括定位(例如,嵌入)在(多个)衬底174内的晶体管沟道区。因此,逻辑176与(多个)衬底174之间的界面可以不是突变结。逻辑176还可被认为包括在(多个)衬底174的初始晶圆上生长的外延层。
图10图示出根据一个实施例的处理器核200。处理器核200可以是用于任何类型的处理器的核,该处理器诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、或用于执行代码的其他设备。虽然图10中仅图示了一个处理器核200,但处理元件可替代地包括多于一个的图10中所图示的处理器核200。处理器核200可以是单线程核,或对于至少一个实施例,处理器核200可以是多线程的,因为其每个核可包括多于一个的硬件线程上下文(或“逻辑处理器”)。
图10还图示出耦合至处理器核200的存储器270。存储器270可以是本领域技术人员已知的或以其他方式对本领域技术人员可用的各种各样的存储器(包括存储器层级结构的各个层)中的任何一种。存储器270可包括要由处理器核200执行的一条或多条代码213指令,其中代码213可实现已讨论的方法100(图6A)和/或方法120(图6B)。处理器核200遵循由代码213指示的指令的程序序列。每条指令可进入前端部分210并由一个或多个解码器220处理。解码器220可生成微操作(诸如采用预定义格式的固定宽度的微操作)作为其输出,或者可生成反映原始代码指令的其他指令、微指令或控制信号。所图示的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,该调度逻辑230一般分配资源并将与转换指令相对应的操作进行排队以供执行。
处理器核200被示出为包括具有一组执行单元255-1至255-N的执行逻辑250。一些实施例可包括专用于特定功能或功能集合的数个执行单元。其他实施例可包括仅一个执行单元或可以执行特定功能的一个执行单元。所图示的执行逻辑250执行由代码指令指定的操作。
在完成对由代码指令指定的操作的执行之后,后端逻辑260对代码213的指令进行引退。在一个实施例中,处理器核200允许乱序执行但是要求指令的有序引退。引退逻辑265可采取如本领域技术人员已知的各种形式(例如,重排序缓冲器等等)。以此方式,至少在由解码器生成的输出、由寄存器重命名逻辑225利用的硬件寄存器和表、以及由执行逻辑250修改的任何寄存器(未示出)方面,处理器核200在代码213的执行期间被变换。
虽然未在图10中图示,但处理元件可包括与处理器核200一起处于芯片上的其他元件。例如,处理元件可包括连同处理器核200一起的存储器控制逻辑。处理元件可包括I/O控制逻辑和/或可包括与存储器控制逻辑一起被集成的I/O控制逻辑。处理元件还可包括一个或多个高速缓存。
现在参考图11,所示出的是根据实施例的计算系统1000实施例的框图。图11中所示出的是多处理器系统1000,其包括第一处理元件1070和第二处理元件1080。尽管示出了两个处理元件1070和1080,但是要理解,系统1000的实施例还可包括仅一个此类处理元件。
系统1000被图示为点对点互连系统,其中第一处理元件1070和第二处理元件1080经由点对点互连1050耦合。应当理解,图11中所图示的互连中的任何或全部互连可被实现为多分支总线而不是点对点互连。
如图11中所示,处理元件1070和1080中的每一者可以是包括第一处理器核和第二处理器核(即,处理器核1074a和1074b、以及处理器核1084a和1084b)的多核处理器。此类核1074a、1074b、1084a、1084b可被配置成用于以与上文结合图10所讨论的方式类似的方式来执行指令代码。
每个处理元件1070、1080可包括至少一个共享高速缓存1896a、1896b。共享高速缓存1896a、1896b可存储分别由处理器的一个或多个组件(诸如核1074a、1074b,以及1084a、1084b)利用的数据(例如,指令)。例如,共享高速缓存1896a、1896b可本地地对存储器1032、1034中所存储的数据进行高速缓存以供处理器的组件进行更快速的访问。在一个或多个实施例中,共享高速缓存1896a、1896b可包括一个或多个中间级别高速缓存(诸如第2级(L2)、第3级(L3)、第4级(L4)、或其他级别的高速缓存)、末级高速缓存(LLC)和/或其组合。
虽然被示出为具有仅两个处理元件1070、1080,但要理解,实施例的范围不限于此。在其他实施例中,在给定的处理器中可存在一个或多个附加处理元件。替代地,处理元件1070、1080中的一者或多者可以是除处理器之外的元件,诸如加速器或现场可编程门阵列。例如,(多个)附加处理元件可包括与第一处理器1070相同的(多个)附加处理器、与第一处理器1070异构或不对称的(多个)附加处理器、加速器(诸如例如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列、或任何其他处理元件。在包括架构、微架构、热、功耗特性等等一系列品质度量方面,处理元件1070、1080之间可以存在各种差异。这些差异自身可有效地表现为处理元件1070、1080之中的不对称性和异构性。对于至少一个实施例,各处理元件1070、1080可驻留在同一管芯封装中。
第一处理元件1070可进一步包括存储器控制器逻辑(MC)1072以及点对点(P-P)接口1076和1078。类似地,第二处理元件1080可包括MC 1082以及P-P接口1086和1088。如图11中所示,MC 1072和1082将处理器耦合至相应的存储器,即存储器1032和存储器1034,这些存储器可以是本地附连到相应处理器的主存储器的部分。尽管MC 1072和MC 1082被图示为被集成到处理元件1070、1080中,但对于替代实施例,MC逻辑可以是处理元件1070、1080外部的分立逻辑,而不是被集成于其中。
第一处理元件1070和第二处理元件1080可分别经由P-P互连1076、1086耦合至I/O子系统1090。如图11中所示,I/O子系统1090包括P-P接口1094和1098。此外,I/O子系统1090包括将I/O子系统1090与高性能图形引擎1038耦合的接口1092。在一个实施例中,可使用总线1049将图形引擎1038耦合至I/O子系统1090。替代地,点对点互连可耦合这些组件。
进而,I/O子系统1090可经由接口1096耦合至第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(PCI)总线,或者可以是诸如PCI快捷(PCI Express)总线或另一第三代I/O互连总线之类的总线,但是实施例的范围不限于此。
如图11中所示,各种I/O设备1014(例如,生物计量扫描仪、扬声器、相机、传感器)可连同总线桥1018一起耦合至第一总线1016,该总线桥1018可将第一总线1016耦合至第二总线1020。在一个实施例中,第二总线1020可以是低引脚数(LPC)总线。在一个实施例中,各种设备可耦合至第二总线1020,这些设备包括例如键盘/鼠标1012、(多个)通信设备1026、以及诸如盘驱动器或其他大容量存储设备之类的可包括代码1030的数据存储单元1019。所图示的代码1030可实现已讨论的方法100(图6A)和/或方法120(图6B),并且可类似于已讨论的代码213(图10)。此外,音频I/O 1024可耦合至第二总线1020,并且电池1010可向计算系统1000提供功率。
注意,构想了其他实施例。例如,代替于图11的点对点架构,系统可实现多分支总线或者另一此类通信拓扑。而且,可替代地使用比图11中所示的更多或更少的集成芯片来对图11的元件进行分区。
附加注解与示例:
示例1包括一种解码器半导体装置,该解码器半导体装置包括:一个或多个衬底;以及逻辑,耦合至一个或多个衬底,其中,该逻辑至少部分地被实现在可配置逻辑或固定功能硬件逻辑中的一者或多者中,耦合至一个或多个衬底的逻辑用于:向第一视频流分配第一解码器设备,其中,第一视频流专用于视频内容中的第一片;以及向第二视频流分配第二解码器设备,其中,第二视频流专用于视频内容中的第二片,并且其中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
示例2包括如示例1所述的解码器半导体装置,其中,一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
示例3包括如示例1所述的解码器半导体装置,其中,第一解码器设备和第二解码器设备至少部分地基于当前视场来分配。
示例4包括如示例1所述的解码器半导体装置,其中,第一解码器设备和第二解码器设备至少部分地基于该第一解码器设备和第二解码器设备的工作负荷状态或功率效率中的一者或多者来分配。
示例5包括如示例1所述的解码器半导体装置,其中,第一解码器设备和第二解码器设备至少部分地基于来自服务器的通知来分配,其中,通知指示包括第一视频流的第一多个视频流和包括第二视频流的第二多个视频流的编解码器参数值,并且其中,耦合至一个或多个衬底的逻辑用于基于通知、当前视场、以及第一解码器设备和第二解码器设备的工作负荷状态来向服务器发送请求。
示例6包括如示例1至5中任一项所述的解码器半导体装置,其中,视频内容是360度视频内容。
示例7包括至少一种计算机可读存储介质,包括一组可执行解码器指令,这些指令在由计算系统执行时使得该计算系统用于:向第一视频流分配第一解码器设备,其中,第一视频流专用于视频内容中的第一片;以及向第二视频流分配第二解码器设备,其中,第二视频流专用于所述视频内容中的第二片,并且其中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
示例8包括如示例7所述的至少一种计算机可读存储介质,其中,一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
示例9包括如示例7所述的至少一种计算机可读存储介质,其中,第一解码器设备和第二解码器设备至少部分地基于当前视场来分配。
示例10包括如示例7所述的至少一种计算机可读存储介质,其中,第一解码器设备和第二解码器设备至少部分地基于该第一解码器设备和第二解码器设备的工作负荷状态或功率效率中的一者或多者来分配。
示例11包括如示例7所述的至少一种计算机可读存储介质,其中,第一解码器设备和第二解码器设备至少部分地基于来自服务器的通知来分配,其中,该通知指示包括第一视频流的第一多个视频流和包括第二视频流的第二多个视频流的编解码器参数值,并且其中,指令在被执行时使得计算系统用于基于通知、当前视场并基于第一解码器设备和第二解码器设备的工作负荷状态或功率效率中的一者或多者来向服务器发送请求。
示例12包括如示例7至11中任一项所述的至少一种计算机可读存储介质,其中,视频内容是360度视频内容。
示例13包括一种性能增强的计算系统,该计算系统包括:网络控制器;处理器,耦合至网络控制器;以及存储器,耦合至处理器,该存储器包括一组可执行解码器指令,这些指令在由计算系统执行时使得该计算系统用于:向第一视频流分配第一解码器设备,其中,第一视频流专用于视频内容中的第一片;以及向第二视频流分配第二解码器设备,其中,第二视频流专用于视频内容中的第二片,并且其中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
示例14包括如示例13所述的计算系统,其中,一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
示例15包括如示例13所述的计算系统,其中,第一解码器设备和第二解码器设备至少部分地基于当前视场来分配。
示例16包括如示例13所述的计算系统,其中,第一解码器设备和第二解码器设备至少部分地基于该第一解码器设备和第二解码器设备的工作负荷状态或功率效率中的一者或多者来分配。
示例17包括如示例13所述的计算系统,其中,第一解码器设备和第二解码器设备至少部分地基于来自服务器的通知来分配,其中,该通知指示包括第一视频流的第一多个视频流和包括第二视频流的第二多个视频流的编解码器参数值,并且其中,指令在被执行时使得计算系统用于基于通知、当前视场并基于第一解码器设备和第二解码器设备的工作负荷状态或功率效率中的一者或多者来向服务器发送请求。
示例18包括如示例13至17中任一项所述的计算系统,其中,视频内容是360度视频内容。
示例19包括一种操作解码器的方法,该方法包括:向第一视频流分配第一解码器设备,其中,第一视频流专用于视频内容中的第一片;以及向第二视频流分配第二解码器设备,其中,第二视频流专用于视频内容中的第二片,并且其中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
示例20包括如示例19所述的方法,其中,一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
示例21包括如示例19所述的方法,其中,第一解码器设备和第二解码器设备至少部分地基于当前视场来分配。
示例22包括如示例19所述的方法,其中,第一解码器设备和第二解码器设备至少部分地基于该第一解码器设备和第二解码器设备的工作负荷状态或功率效率中的一者或多者来分配。
示例23包括如示例19所述的方法,其中,第一解码器设备和第二解码器设备至少部分地基于来自服务器的通知来分配,其中,该通知指示包括第一视频流的第一多个视频流和包括第二视频流的第二多个视频流的编解码器参数值,并且其中,方法进一步包括基于通知、当前视场并基于第一解码器设备和第二解码器设备的工作负荷状态或功率效率中的一者或多者来向服务器发送请求。
示例24包括如示例19至23中任一项所述的方法,其中,视频内容是360度视频内容。
示例25包括一种编码器半导体装置,该编码器半导体装置包括:一个或多个衬底;以及逻辑,耦合至该一个或多个衬底,其中,该逻辑至少部分地被实现在可配置逻辑或固定功能硬件逻辑中的一者或多者中,耦合至一个或多个衬底的逻辑用于:响应于来自客户端设备的请求,从专用于视频内容中的第一片的第一多个视频流选择第一视频流;响应于该请求,从专用于视频内容中的第二片的第二多个视频流选择第二视频流;以及将所选择的第一视频流和所选择的第二视频流发送至客户端设备。
示例26包括如示例25所述的编码器半导体装置,其中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
示例27包括如示例26所述的编码器半导体装置,其中,一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
示例28包括如示例25所述的编码器半导体装置,其中,耦合至一个或多个衬底的逻辑用于向客户端设备发送通知,其中,该通知指示第一多个视频流和第二多个视频流的编解码器参数值。
示例29包括如示例25所述的编码器半导体装置,其中,耦合至一个或多个衬底的逻辑用于将视频内容分区为多个片,该多个片包括第一片和第二片。
示例30包括如示例25至29中任一项所述的编码器半导体装置,其中,视频内容是360度视频内容。
示例31包括至少一种计算机可读存储介质,包括一组可执行编码器指令,这些指令在由计算系统执行时使得该计算系统用于:响应于来自客户端设备的请求,从专用于视频内容中的第一片的第一多个视频流选择第一视频流;响应于该请求,从专用于视频内容中的第二片的第二多个视频流选择第二视频流;以及将所选择的第一视频流和所选择的第二视频流发送至客户端设备。
示例32包括如示例31所述的至少一种计算机可读存储介质,其中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
示例33包括如示例32所述的至少一种计算机可读存储介质,其中,一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
示例34包括如示例31所述的至少一种计算机可读存储介质,其中,指令在被执行时使得计算系统用于向客户端设备发送通知,其中,该通知指示第一多个视频流和第二多个视频流的编解码器参数值。
示例35包括如示例31所述的至少一种计算机可读存储介质,其中,指令在被执行时使得计算系统用于将视频内容分区为多个片,该多个片包括第一片和第二片。
示例36包括如示例31至35中任一项所述的至少一种计算机可读存储介质,其中,视频内容是360度视频内容。
示例37包括一种操作编码器的方法,该方法包括:响应于来自客户端设备的请求,从专用于视频内容中的第一片的第一多个视频流选择第一视频流;响应于该请求,从专用于视频内容中的第二片的第二多个视频流选择第二视频流;以及将所选择的第一视频流和所选择的第二视频流发送至客户端设备。
示例38包括如示例37所述的方法,其中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
示例39包括如示例38所述的方法,其中,一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
示例40包括如示例37所述的方法,进一步包括:向客户端设备发送通知,其中,该通知指示第一多个视频流和第二多个视频流的编解码器参数值。
示例41包括如示例37所述的方法,进一步包括:将视频内容分区为多个片,该多个片包括第一片和第二片。
示例42包括如示例37至41中任一项所述的方法,其中,视频内容是360度视频内容。
示例43包括一种性能增强的计算系统,该系统包括:网络控制器;处理器,该处理器耦合至网络控制器;以及存储器,该存储器耦合至处理器,该存储器包括一组可执行编码器指令,这些指令在由计算系统执行时使得该计算系统用于:响应于来自客户端设备的请求,从专用于视频内容中的第一片的第一多个视频流选择第一视频流;响应于该请求,从专用于视频内容中的第二片的第二多个视频流选择第二视频流;以及将所选择的第一视频流和所选择的第二视频流发送至客户端设备。
示例44包括如示例43所述的计算系统,其中,第一视频流和第二视频流包括一个或多个不同的编解码器参数值。
示例45包括如示例44所述的计算系统,其中,一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
示例46包括如示例43所述的计算系统,其中,指令在被执行时使得计算系统用于向客户端设备发送通知,其中,该通知指示第一多个视频流和第二多个视频流的编解码器参数值。
示例47包括如示例43所述的计算系统,其中,指令在被执行时使得计算系统用于将视频内容分区为多个片,该多个片包括第一片和第二片。
示例48包括如示例43至47中任一项所述的计算系统,其中,视频内容是360度视频内容。
示例49包括用于执行如示例19至24中的任一项所述的方法的装置。
示例50包括用于执行如示例37至42中的任一项所述的方法的装置。
由此,本文中所描述的技术可更好地利用异构架构的能力。与限于特定种类的计算单元的传统编解码器不同,本文中所描述的技术将片提升至流,以使得每个片可被指派至不同的计算单元。
另外,对异构解码器的动态调度促进了工作负荷平衡和容错性。通过ONEAPI第0级管理器,多个流可动态地被分派至异构解码器。ONEAPI第0级管理器监视所有硬件解码器的工作负荷,并响应于解码器过载而在解码器之间无缝地对流进行迁移(例如,在关键帧处切换),以在上层不知晓的情况下改善工作负荷平衡和/或容错性。
而且,由于此种技术不依赖于新的基于片的编解码器(如HEVC(高效视频编码)编解码器),因此实现了更高的向后兼容性。解决方案可使用现有的编解码器并利用客户端侧已就位的不同种类的优化和加速。另外,该技术提供实现各种种类的流送协议(诸如RTP、DASH等等)的更高的灵活性。
ONEAPI的统一编程模型提供了一条可行的路径和开发人员友好的接口,以充分利用各种类型的计算资源,例如CPU、GPU、VPU(视频处理单元)、FPGA等等。
本文中所描述的技术实现的异构模型将ONEAPI模型扩展至流送,具有更易使用且更易调整的解决方案,其有益于开发人员交付更好的用户体验。该技术使用ONEAPI来1)检测所有可用的计算资源,以智能地分配解码任务;2)使用统一接口来调用解码器,即使它们被分配在不同的硬件组件上;以及3)动态调度到不同的硬件计算组件,以实现工作负荷平衡和容错性。
实施例适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于处理器、控制器、芯片组组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、芯片上系统(SoC)、SSD/NAND控制器ASIC等等。另外,在一些附图中,信号导线用线表示。一些线可以是不同的以指示更具构成性的信号路径,可具有数字标号以指示构成性信号路径的数目,和/或可在一端或多端具有箭头以指示主要信息流向。然而,这不应以限制性方式来解释。相反,此类添加的细节可与一个或多个示例性实施例结合使用以促进更容易地理解电路。任何所表示的信号线,不管是否具有附加信息,实际上都可包括一个或多个信号,该一个或多个信号可在多个方向上行进,并且可用任何适合类型的信号方案来实现,例如利用差分对来实现的数字或模拟线路、光纤线路、和/或单端线路。
示例尺寸/模型/值/范围可能已经被给出,但是实施例不限于此。随着制造技术(例如,光刻法)随时间变得成熟,预计能制造出更小尺寸的设备。另外,为了说明和讨论的简单起见并且为了避免使实施例的某些方面模糊,到IC芯片和其他组件的公知的功率/接地连接可在附图内示出也可不示出。此外,为了避免使各实施例变得模糊,并且还鉴于相对于此类框图布置的实现方式的细节高度依赖于实施例要在其内实现的平台(即此类具体细节应当落在本领域内技术人员的见识范围内)这一事实,布置可以以狂徒形式示出。在阐述具体细节(例如电路)以便描述示例实施例的情情况下,应当对本领域技术人员显而易见的是,实施例可以在不具有这些具体细节或对这些具体细节作出变化的情况下实现。描述因此被视为是说明性的而不是限制性的。
术语“耦合的”在本文中可被用于表示所讨论的组件之间的任何类型的直接或间接关系,且可应用于电气的、机械的、流体的、光学的、电磁的、机电的或其他连接。另外,术语“第一”、“第二”等在本文中可仅用于便于讨论,并且不带有特定时间的或按时间顺序的意义,除非另有陈述。
如在本申请和权利要求书中所使用的,由术语“……中的一个或多个”联接的项列表可意指所列项的任何组合。如在本申请和权利要求书中所使用的,由术语“A、B或C中的一个或多个”可意指A;B;C;A和B;A和C;B和C;或者A、B和C。
本领域技术人员从前面的描述将领会,实施例的广泛技术能以各种形式来实现。因此,尽管已结合其特定示例描述了实施例,但实施例的真实范围不应当限于此,因为在研究附图、说明书和所附权利要求书之后,其他修改对于本领域技术人员将变得显而易见。
Claims (24)
1.一种解码器半导体装置,包括:
一个或多个衬底;以及
逻辑,耦合至所述一个或多个衬底,其中,所述逻辑至少部分地被实现在可配置逻辑或固定功能硬件逻辑中的一者或多者中,耦合至所述一个或多个衬底的所述逻辑用于:
向第一视频流分配第一解码器设备,其中,所述第一视频流专用于视频内容中的第一片;以及
向第二视频流分配第二解码器设备,其中,所述第二视频流专用于所述视频内容中的第二片,并且其中,所述第一视频流和所述第二视频流包括一个或多个不同的编解码器参数值。
2.如权利要求1所述的解码器半导体装置,其中,所述一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
3.如权利要求1所述的解码器半导体装置,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于当前视场来分配。
4.如权利要求1所述的解码器半导体装置,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于所述第一解码器设备和所述第二解码器设备的工作负荷状态或功率效率中的一者或多者来分配。
5.如权利要求1所述的解码器半导体装置,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于来自服务器的通知来分配,其中,所述通知指示包括所述第一视频流的第一多个视频流和包括所述第二视频流的第二多个视频流的编解码器参数值,并且其中,耦合至所述一个或多个衬底的所述逻辑用于基于所述通知、当前视场、以及所述第一解码器设备和所述第二解码器设备的工作负荷状态来向所述服务器发送请求。
6.如权利要求1至5中任一项所述的解码器半导体装置,其中,所述视频内容是360度视频内容。
7.至少一种计算机可读存储介质,包括一组可执行解码器指令,所述指令在由计算系统执行时使得所述计算系统用于:
向第一视频流分配第一解码器设备,其中,所述第一视频流专用于视频内容中的第一片;以及
向第二视频流分配第二解码器设备,其中,所述第二视频流专用于所述视频内容中的第二片,并且其中,所述第一视频流和所述第二视频流包括一个或多个不同的编解码器参数值。
8.如权利要求7所述的至少一种计算机可读存储介质,其中,所述一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
9.如权利要求7所述的至少一种计算机可读存储介质,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于当前视场来分配。
10.如权利要求7所述的至少一种计算机可读存储介质,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于所述第一解码器设备和所述第二解码器设备的工作负荷状态或功率效率中的一者或多者来分配。
11.如权利要求7所述的至少一种计算机可读存储介质,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于来自服务器的通知来分配,其中,所述通知指示包括所述第一视频流的第一多个视频流和包括所述第二视频流的第二多个视频流的编解码器参数值,并且其中,所述指令在被执行时使得所述计算系统用于基于所述通知、当前视场并基于所述第一解码器设备和所述第二解码器设备的工作负荷状态或功率效率中的一者或多者来向所述服务器发送请求。
12.如权利要求7至11中任一项所述的至少一种计算机可读存储介质,其中,所述视频内容是360度视频内容。
13.一种性能增强的计算系统,包括:
网络控制器;
处理器,耦合至所述网络控制器;以及
存储器,耦合至所述处理器,所述存储器包括一组可执行解码器指令,所述指令在由计算系统执行时使得所述计算系统用于:
向第一视频流分配第一解码器设备,其中,所述第一视频流专用于视频内容中的第一片;以及
向第二视频流分配第二解码器设备,其中,所述第二视频流专用于所述视频内容中的第二片,并且其中,所述第一视频流和所述第二视频流包括一个或多个不同的编解码器参数值。
14.如权利要求13所述的计算系统,其中,所述一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
15.如权利要求13所述的计算系统,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于当前视场来分配。
16.如权利要求13所述的计算系统,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于所述第一解码器设备和所述第二解码器设备的工作负荷状态或功率效率中一者或多者来分配。
17.如权利要求13所述的计算系统,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于来自服务器的通知来分配,其中,所述通知指示包括所述第一视频流的第一多个视频流和包括所述第二视频流的第二多个视频流的编解码器参数值,并且其中,所述指令在被执行时使得所述计算系统用于基于所述通知、当前视场并基于所述第一解码器设备和所述第二解码器设备的工作负荷状态或功率效率中的一者或多者来向所述服务器发送请求。
18.如权利要求13至17中任一项所述的计算系统,其中,所述视频内容是360度视频内容。
19.一种操作解码器的方法,所述方法包括:
向第一视频流分配第一解码器设备,其中,所述第一视频流专用于视频内容中的第一片;以及
向第二视频流分配第二解码器设备,其中,所述第二视频流专用于所述视频内容中的第二片,并且其中,所述第一视频流和所述第二视频流包括一个或多个不同的编解码器参数值。
20.如权利要求19所述的方法,其中,所述一个或多个不同的编解码器参数值包括不同的编解码器类型、不同的分辨率或不同的位率中的一者或多者。
21.如权利要求19所述的方法,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于当前视场来分配。
22.如权利要求19所述的方法,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于所述第一解码器设备和所述第二解码器设备的工作负荷状态或功率效率中的一者或多者来分配。
23.如权利要求19所述的方法,其中,所述第一解码器设备和所述第二解码器设备至少部分地基于来自服务器的通知来分配,其中,所述通知指示包括所述第一视频流的第一多个视频流和包括所述第二视频流的第二多个视频流的编解码器参数值,并且其中,所述方法进一步包括基于所述通知、当前视场并基于所述第一解码器设备和所述第二解码器设备的工作负荷状态或功率效率中的一者或多者来向所述服务器发送请求。
24.如权利要求19至23中任一项所述的方法,其中,所述视频内容是360度视频内容。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/116176 WO2021087843A1 (en) | 2019-11-07 | 2019-11-07 | Heterogeneous real-time streaming and decoding of ultra-high resolution video content |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114616830A true CN114616830A (zh) | 2022-06-10 |
Family
ID=75848232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980101146.6A Pending CN114616830A (zh) | 2019-11-07 | 2019-11-07 | 超高分辨率视频内容的异构实时流送和解码 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220368946A1 (zh) |
CN (1) | CN114616830A (zh) |
WO (1) | WO2021087843A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676769B (zh) * | 2021-08-23 | 2023-03-31 | 北京字跳网络技术有限公司 | 视频解码方法、设备及存储介质 |
US11575727B1 (en) * | 2021-12-02 | 2023-02-07 | Amazon Technologies, Inc. | Network failover for migrating live encoders |
CN115834921A (zh) * | 2022-11-17 | 2023-03-21 | 北京奇艺世纪科技有限公司 | 视频处理方法、装置、服务器、存储介质及程序产品 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8279935B2 (en) * | 2007-09-27 | 2012-10-02 | Intel Corporation | Method and apparatus for image quality control in video data |
US9398307B2 (en) * | 2011-07-11 | 2016-07-19 | Sharp Kabushiki Kaisha | Video decoder for tiles |
US8767824B2 (en) * | 2011-07-11 | 2014-07-01 | Sharp Kabushiki Kaisha | Video decoder parallelization for tiles |
KR101912485B1 (ko) * | 2011-08-25 | 2018-10-26 | 선 페이턴트 트러스트 | 타일 부호화 스킴을 이용한 영상 부호화, 추출 및 복호화 방법 및 장치 |
SG10201505821WA (en) * | 2012-01-30 | 2015-08-28 | Samsung Electronics Co Ltd | Method and apparatus for video encoding for each spatial sub-area, and method and apparatus for video decoding for each spatial sub-area |
CN103297767B (zh) * | 2012-02-28 | 2016-03-16 | 三星电子(中国)研发中心 | 一种适用于多核嵌入式平台的jpeg图像解码方法及解码器 |
SG11201501400QA (en) * | 2012-09-26 | 2015-04-29 | Panasonic Ip Corp America | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
US10986155B2 (en) * | 2014-09-29 | 2021-04-20 | Avaya Inc. | Segmented video codec for high resolution and high frame rate video |
CN106412597A (zh) * | 2015-07-29 | 2017-02-15 | 飞思卡尔半导体公司 | 多核视频解码器中的工作负载均衡 |
US20170272758A1 (en) * | 2016-03-16 | 2017-09-21 | Mediatek Inc. | Video encoding method and apparatus using independent partition coding and associated video decoding method and apparatus |
US10587934B2 (en) * | 2016-05-24 | 2020-03-10 | Qualcomm Incorporated | Virtual reality video signaling in dynamic adaptive streaming over HTTP |
CN113301439B (zh) * | 2016-09-26 | 2023-06-30 | 杜比实验室特许公司 | 用于处理视频图像的装置 |
CN110036640B (zh) * | 2016-12-14 | 2023-06-20 | 深圳市大疆创新科技有限公司 | 用于支持视频比特流切换的系统和方法 |
KR102424829B1 (ko) * | 2017-02-22 | 2022-07-25 | 에스케이텔레콤 주식회사 | 비디오 데이터가 부호화된 비트스트림을 처리하는 방법 |
US10798455B2 (en) * | 2017-12-22 | 2020-10-06 | Comcast Cable Communications, Llc | Video delivery |
CN110149542B (zh) * | 2018-02-13 | 2021-12-03 | 华为技术有限公司 | 传输控制方法 |
US10841602B2 (en) * | 2018-07-16 | 2020-11-17 | Tencent America LLC | Hierarchical tiles |
US10757389B2 (en) * | 2018-10-01 | 2020-08-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Client optimization for providing quality control in 360° immersive video during pause |
WO2020188237A1 (en) * | 2019-03-20 | 2020-09-24 | V-Nova International Ltd | Residual filtering in signal enhancement coding |
US20230403404A1 (en) * | 2022-06-10 | 2023-12-14 | Qualcomm Incorporated | Storing misaligned reference pixel tiles |
-
2019
- 2019-11-07 CN CN201980101146.6A patent/CN114616830A/zh active Pending
- 2019-11-07 US US17/762,404 patent/US20220368946A1/en active Pending
- 2019-11-07 WO PCT/CN2019/116176 patent/WO2021087843A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20220368946A1 (en) | 2022-11-17 |
WO2021087843A1 (en) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110035328B (zh) | 用于动态抖动和延迟容忍渲染的系统和方法 | |
US20230421738A1 (en) | Adaptive resolution of point cloud and viewpoint prediction for video streaming in computing environments | |
CN114616830A (zh) | 超高分辨率视频内容的异构实时流送和解码 | |
US10555010B2 (en) | Network-enabled graphics processing module | |
US20180295282A1 (en) | Technology to encode 360 degree video content | |
US9832247B2 (en) | Processing video data in a cloud | |
US11496758B2 (en) | Priority-based video encoding and transmission | |
US11924391B2 (en) | Immersive video streaming using view-adaptive prefetching and buffer control | |
TW202134890A (zh) | 用於應用計算的分佈的方法和裝置 | |
KR20150112771A (ko) | 우선순위 기반의 컨텍스트 선점 | |
US20150103880A1 (en) | Adaptive video compression for latency control | |
US10791373B2 (en) | Generating 2D video from 360 video | |
US11798118B2 (en) | Asset caching in cloud rendering computing architectures | |
Trinelli et al. | Transparent AR processing acceleration at the edge | |
Bundulis et al. | Concept of virtual machine based high resolution display wall | |
US20230269375A1 (en) | Method and apparatus for multi-adapter execution of look ahead video encoding | |
US11595650B2 (en) | Optimization of multi-sink Wi-Fi display with intelligent multi-session encoding | |
US11818192B2 (en) | Encoding output for streaming applications based on client upscaling capabilities | |
US20230171420A1 (en) | Technology to use video source context information in post-processing operations | |
US20240098303A1 (en) | Encoding output for streaming applications based on client upscaling capabilities | |
US20230034884A1 (en) | Video compression techniques for reliable transmission | |
WO2023184467A1 (en) | Method and system of video processing with low latency bitstream distribution | |
US20170186409A1 (en) | Computer System and Method thereof for scalable data processing |
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 |