CN104096362A - 基于游戏者关注区域改进视频流的码率控制比特分配 - Google Patents

基于游戏者关注区域改进视频流的码率控制比特分配 Download PDF

Info

Publication number
CN104096362A
CN104096362A CN201310687175.XA CN201310687175A CN104096362A CN 104096362 A CN104096362 A CN 104096362A CN 201310687175 A CN201310687175 A CN 201310687175A CN 104096362 A CN104096362 A CN 104096362A
Authority
CN
China
Prior art keywords
frame
interest
player
region
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.)
Granted
Application number
CN201310687175.XA
Other languages
English (en)
Other versions
CN104096362B (zh
Inventor
哈桑·S·阿扎尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN104096362A publication Critical patent/CN104096362A/zh
Application granted granted Critical
Publication of CN104096362B publication Critical patent/CN104096362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)

Abstract

本文公开了视频编码器、编码视频数据帧的方法和产生经编码的视频流的三维建模系统。在一个实施例中,所述方法包括:(1)从应用程序接收待编码的视频数据帧,(2)确定游戏者对所述视频数据帧的关注区域;和(3)通过基于所述游戏者的关注区域分配用于所述帧的比特来改变所述视频数据帧的编码。

Description

基于游戏者关注区域改进视频流的码率控制比特分配
技术领域
本申请概括地说涉及云游戏,更具体地,涉及云游戏环境中的视频流。
背景技术
台式计算机依然是可利用的最高性能的个人计算机,且适合于传统企业、个人和游戏者。然而,由于个人计算的功用从纯生产力转移到信封(envelope)媒体传播和游戏,且更重要地,由于媒体流和游戏形成个人计算技术的前沿,因此分歧(dichotomy)在“每天的”计算的处理需求和高端游戏的或更广泛地说,高端图形渲染的处理需求之间发展。
高端图形渲染的处理需求推动了诸如图形处理单元(GPUs)和图形处理系统(显卡)等专用硬件的发展。对于许多用户来说,高端图形硬件构成了总体利用不足的处理能力。高端图形硬件的渲染带宽对传统的生产力应用程序和媒体流上简直是不起作用的。云图形处理是图形渲染资源的集中化,旨在克服发展的不合理分配。
在云架构,与常规的媒体流类似,在服务器上存储、检索和渲染图形内容,然后再在该服务器上所述图形内容进行编码、分封化(packetized)并作为视频流(经常包括音频)通过网络传送到客户端。所述客户端仅仅是对所述视频流进行解码并显示所述内容。因此可以在所述要求播放视频能力的客户端上取消高端图形硬件。
发明内容
一方面,本公开提供了用于编码视频数据帧的方法。在一个实施例中,所述方法包括:(1)从应用程序接收待编码的视频数据帧,(2)确定游戏者的对所述视频数据帧的关注区域和(3)通过基于所述游戏者的关注区域分配用于所述帧的比特来改变所述视频数据帧的编码。
另一方面,本公开提供了视频编码器。在一个实施例中,所述视频编码器包括:编码引擎,所述编码引擎配置为接收表示视频数据帧的信号并产生与视频数据帧相关的经编码的信息和(2)比特率调节器(modifier),所述比特率调节器耦连到所述编码引擎且配置为通过根据游戏者对所述帧的关注区域分配用于所述帧的比特来改变所述经编码的信息。
而在另一个方面,本公开提供了产生经编码的视频流的三维建模系统。在一个实施例中,所述系统包括:(1)内容引擎,(2)渲染器,所述渲染器耦连到所述内容引擎并配置为从所述内容引擎接收与三维模型相关的信息并产生相应的二维图像和(3)视频编码器,所述视频编码器耦连到所述渲染器并配置为从所述渲染器接收所述二维图像并产生相应的经编码的视频流。所述视频编码器进一步配置为基于游戏者对所述帧的关注区域,改变用于产生相应的经编码的视频流的帧的比特的分配。
附图说明
现在通过结合附图引用以下说明,其中:
图1示出了云游戏系统的实施例的框图;
图2示出了根据本公开的原理所构造的视频编码器的实施例的框图;
图3示出了根据本公开的原理所实施的编码视频流的帧的方法的实施例的流程图;和
图4示出了用于帧的QP偏移图的实例。
具体实施方式
通过云架构中的网络传送作为视频流的内容可能是具有挑战性的。实时视频压缩是用于帮助传送所述内容的一个特点。概括地来说,视频压缩或视频编码将一个帧与先前的帧进行比较并仅发送帧之间的区别。如果所述视频具有很少的动作,那么这样的编码会很有效。例如静止的文本帧可以用非常少的传送数据来重复。然而,如果所述视频具有较多的动作,那么较多的像素会从一个帧更换到下一个帧,因此,所述视频压缩方案必须发送更多的数据以跟上正在变换的更大数目的像素。
通常,最引人注目的视频内容可以具有帧间的广泛的区别(例如,大量的动作、爆炸等)。典型地需要非常强大的视频处理架构来处理这样的激烈的视频。这样的视频经常具有大量的高频细节,且为了维持帧率,所述视频处理器要么降低所述视频的质量要么增加所述视频的比特率,以用与先前的帧的相同的细节水平来渲染该增加的信息。
然而通过网络的流比特要花费操作者(operators)的钱,且差错网络中的有限的带宽会造成较大的延迟。当运行游戏或其它三维应用程序时,这将负面地影响用户的体验(被感知到输入动作和在屏幕上显示的渲染结果之间的延迟)。
因此,本文实现了当传送内容到客户端时,可以在视频压缩过程中利用用户的关注区域以智能的分配比特,用户在本文称为游戏者。因此,本公开提供了各种实施例和方案以通过编码器例如减小比特率来改进比特分配。在一个实施例中,提供了改进的编码器,所述改进的编码器通过依靠所述游戏者的关注区域以精确地指导码率控制的比特分配,来更有效地分配每帧的比特。这样,所公开的编码器可以配置为至少维持游戏者所感知的帧的视觉质量。在一些实施例中,所公开的编码器灵活地:(1)通过增加游戏者关注区域(或区域)中的比特数目并降低帧的其它地方的比特数目,在维持所述帧中总的比特数目的同时,提高所感知的所述帧的视觉质量,和/或(2)通过保持所述游戏者关注区域(或区域)中的比特数目不变并降低帧中的其它地方的比特数目,在降低所述帧中总的比特数目的同时,维持所感知的所述帧的视觉质量。因此,基于游戏者关注区域的游戏者的感知,所感知的帧的视觉质量可以是主观的。例如可以将比特分配到对游戏者重要的地方,以改进关注区域的视觉质量。此外,在对游戏者不那么重要的地方,可以减少或有力地减少比特的数目;从而降低延迟和花费。在一些实施例中,可以从游戏提示、游戏者的关注模型、智能眼镜、头部追踪(head-tracking)设备或其组合,来确定所述游戏者的关注区域。
游戏者的关注模型确认,至少对于某些游戏类别,通常称为第一人称射击(FPS),实证数据指示了游戏者的关注区域。例如,在玩游戏时的80%-90%的时间中,游戏者的眼睛趋向于停留在屏幕的中心。此外,游戏者的眼睛受运动的吸引并偶尔检查平视显示器(Heads-Up-Display)(HUD)或显示的用户交互(UI)元素。
如本文所论述的,提供了比特率调节器,所述比特率调节器基于游戏者的关注区域调节编码器的比特分配权重。在一个实施例中,通过全局运动确定或至少部分地确定游戏者的关注区域。全局运动与由游戏者所控制的摄像机的运动相关联。由于具有不同类型的游戏信息或数据,因此可以从游戏引擎获得全局运动作为提示,诸如在例如2012年10月1日提交的申请号为13/632,210的美国专利申请、和2012年12月11日提交的申请号为13/711,358的美国专利申请所描述的。所述全局运动可以由全局运动矢量表示。
在一个实施例中,如果全局运动为0,所公开的编码器以规律的码率控制比特分配操作。在这样的情形下,在进行行动之前,假设游戏者最可能扫描整个场景以获得任意有用信息。因此,默认码率控制用来确保在整个帧内均匀地分配比特,而不是改变比特的分配。
随着总局运动或更大的总局运动,游戏者的眼睛最可能集中追逐所述关注区域的目标。在这种情况下,激活所公开的方案,然后对游戏者的关注区域分配更多的比特。此外,随着离心率和对数比特分配的下降,可以在其它地方分配更少的比特。可以用二维高斯模型或其它类型的属性模型来表示游戏者的关注区域并控制比特分配。例如,可以使用表示眼睛的图像信息的平移不变模型。最终结果是改进了主观质量和节省了比特。在视线跟踪难以去预测/关联的一些实例中,所述编码器可以自动地退回到速率控制比特分配的常规方法。
在一些实施例中,可以使用可以包含游戏者的多个关注中心的帧。例如,游戏引擎可以为游戏者在目标上设置追逐的“标记”。HUD或UI元素也可以被认定为游戏者关注的中心。游戏提示可以被传递到指示这些多个关注中心的编码器。
在描述本文所引进的编码器或方法的实施例之前,将描述所述编码器或方法在其内体现或实施的云游戏环境。
图1是根据本公开的原理所构造的云游戏系统100的实施方案的框图。云游戏系统100包括网络110、服务器120和客户端140通过网络110进行通信。服务器120表示游戏内容、处理和渲染资源的中央存储库。客户端140为该内容和那些资源的消费者。服务器120是自由可扩展的,且能够通过杠杆平行和分摊处理和渲染资源而向多个客户端同时地提供该内容和那些服务。服务器120的可扩展性受限于网络110的能力,因为超过客户端数目的某一阈值,不足的网络带宽需要对所有客户端的服务平均地降级。
服务器120包括网络接口卡(NIC)132,中央处理单元(CPU)124和GPU130。一旦客户端140请求,图形内容经由在诸如CPU124的游戏引擎125等内容引擎上执行的应用程序从存储器召回。如在图形应用程序中,以视频游戏为例,CPU124,更具体地说是游戏引擎125,保留自身用于执行诸如确定在给定的场景中的对象的位置、动作和碰撞等高级操作。从这些高级操作中,游戏引擎125生成渲染命令,当所述渲染命令与所述场景数据结合时,可以由GPU130执行。例如,渲染命令和数据可以限定场景的几何、灯光、着色、纹理、运动和用于场景的摄像机参数。
游戏引擎125典型地产生用于图形渲染器132的参数,图形渲染器132包括摄像机位置,从所述摄像机位置,图形渲染器132即将生成它的2D图像和表示将3D模型映射为2D图像的投影矩阵。在一些实施例中,摄像机位置和/或投影矩阵包含在向编码器136的比特速率调节器所提供的关注区域数据中。从摄像机位置和/或投影矩阵的先前值到当前值的变化,结合所述3D模型的元素的Z缓存信息(图像深度坐标信息),可以指示在所述图像上的全局运动。
GPU130包含图形渲染器132、帧捕捉器134和编码器136。图形渲染器132根据由CPU124所生成的渲染命令而执行渲染程序132,产生所述场景的视频帧流。那些未加工的视频帧由帧捕捉器134所捕捉,并由编码器136进行编码。可能利用诸如由国际电信联盟电信标准分会(ITU-T)所达成的H.264标准或来自国际标准化组织/国际电工委员会(ISO/IEC)的MPEG-4高级视频编码(AVC)标准,编码器136格式化用于传输的未加工的视频流。或者,所述视频流可以被编码成Windows Media (WMV)格式、VP8格式、或任何其它视频编码格式。
CPU124准备所述编码的用于传输的视频流,所述编码的用于传输的视频流被传递到NIC122。NIC122包括对经由诸如Ethernet、Wi-Fi或互联网协议等网络协议通过网络110进行通信所必需的电路。NIC122为服务器120的网络接口的软件层提供物理层和基底。
客户端140接收所传输的视频流用于显示。客户端140可以是各种个人计算设备,包括:台式或膝上型个人计算机、平板电脑、智能手机或电视。客户端140包含NIC142、解码器144、视频渲染器146、显示器148和输入设备150。NIC142与NIC122类似,包括通过网络110进行通信所必需的电路,并为客户端140的网络接口的软件层提供物理层和基底。所传送的视频流由客户端140通过NIC142接收。客户端140可以使用NIC142基于所接收到的视频流来收集服务质量统计数据,包括丢包率和单向延时(one-way-delay)。
视频流然后由解码器144解码,解码器144应该与编码器136匹配,因为各自应该采用相同的格式化或压缩方案。例如,如果编码器136采用ITU-T H.264标准,那么解码器144也应该采用该标准。解码可以由客户端CPU或客户端GPU来实施,这取决于所述物理客户端设备。一旦被解码,保留在视频流中的所有的帧都是未加工的渲染的帧。与任何其它流媒体一样,所述渲染帧由基本视频渲染器146处理。所述渲染视频然后可以显示在显示器148上。
云游戏不同于基本媒体流的方面是,游戏需要实时的交互流。不仅图像要在服务器120上被渲染、捕捉和编码,并通过网络110路由到客户端140用于解码和显示,而且客户端140的用户输入也必须通过网络110转发回服务器120,并在CPU124上执行的图形应用程序内处理。这个云游戏的实时交互组件限制云游戏系统的能力以“隐藏”延迟。
客户端140定期地发送QoS统计数据到服务器120。当准备好发送所述QoS统计数据时,客户端140包括由视频渲染器146所正在渲染的视频帧的帧数目。所述帧数目对服务器120确定网络110和客户端140正在处理的从服务器120所传送的视频流的程度如何是有用的。服务器120然后可以使用QoS统计数据以确定可以在GPU130中采取什么行动来改进QoS。GPU130可利用的行动包括:调节图像渲染器132渲染的分辨率,调节帧捕捉器134操作的捕捉帧的速率和调节编码器136编码的比特率。
在一个实施例中,编码器136配置为除起常规编码器136的作用外,还通过根据游戏者的关注区域智能地分配比特来调节所述比特率。这样,编码器136可以与QoS模块协作,以降低用于传送所述视频流的比特率,从而降低延迟、误差和花费。有利地是,不需要改变编码器136的视频压缩标准来如本文所公开地智能地分配比特。所述视频压缩标准允许编码器端的QP每宏模块的变化,且诸如客户端上的解码器144等解码器像往常一样对所述流进行解码。图2提供了根据游戏者的关注区域分配比特率的编码器的实施例的更多的细节。
图2示出根据本公开的原理所构造的编码器200的实施例的框图。可以用处理器包括专用处理器来实现编码器200。编码器200可以用作编码器136。这样,编码器200可以是服务器的一部分。
编码器200包含编码引擎210和比特率控制器220。在示出的实施例中,编码引擎210配置为接收视频帧203,并进一步配置为从帧203产生经编码的视频流205。在示出的实施例中,比特率调节器220配置为接收与视频流203的二维图像相关的关注区域数据207,并基于关注区域数据207确定视频帧203各自的游戏者关注区域。关注区域数据207可以作为游戏提示从诸如图1的游戏引擎125等游戏引擎获得。关注区域数据207或其一部分,可以从相关联的追踪游戏者的注视中心的设备生成。所述设备包括例如智能眼镜、头部追踪系统和它们的组合。关注区域数据207可以包括图像深度坐标信息(或z向深度信息)、当前帧的投映矩阵、先前帧的投映矩阵和摄像机位置。在一些实施例中,诸如全局运动等运动矢量包含在所述关注区域数据中。所述关注区域数据也可以包含诸如显示器148等显示器关注区域的中心。
编码引擎210可以通过从所接收自诸如图1的图形渲染器132等渲染器的2D图像生成区别帧而开始。所述区别帧典型地通过将所述2D图像与先前的帧进行比较而生成。所述区别帧典型地通过将所述2D图像分解为宏模块而生成,所述宏模块为固定大小的正方形或长方形的相邻像素集(collection)。
所述区别帧然后被转换成适合于压缩的形式;例如,通过将离散余弦变换(DCT)或整数变换(IT)应用于所述区别帧以产生变换系数或简单系数(simply coefficients)。然后基于典型地称为“量化参数”或“QP”的参数,将所述系数量化。量化将所述转换系数值的原始范围限定到更小的离散程度集。典型地,通过将每个系数除以所述QP值,来将QP应用于整个图像。
然后将所述量化的转换系数转换成符号或码字(codewords)。该转换典型地基于量化的系数的帧序列中的符号的出现频率。这些符号的帧(连同诸如QP、帧时间戳、其中帧中的宏模块被选择的序列、和用于解码所需的任何其它信息等其它信息一起)形成经编码的视频流205。
典型地,编码引擎210内的码率控制功能确定所述QP值,以将经编码的视频流205的平均比特率限制到目标值的同时,试图确保用于从所述编码的数据所复制的(reproduced)的视频帧的充分的质量(或规定的质量)。
编码视频帧可以包括诸如比较所生成的宏模块的同时,产生先前的一个或多个帧的区别帧等预处理,以检测宏模块是否已经保持基本不变,而只是移动了帧中的一些数目的像素。做这样的确定经常通过通过少量的像素在各个方向(例如N、NE、E、SE、S、SW、W、NW)上移动宏模块并将所移动的宏模块与所述先前的帧进行比较而进行。如果不匹配,可以将所述宏模块在各个方向上移动更大的距离,然后再与所述先前的帧进行比较。
当/如果发现匹配时,通过使用先前的帧中所述宏模块的ID和所述移动的量和方向,可以产生所述帧的部分编码。所述值的量和方向可以称为“运动矢量”。针对相应的多个宏模块的多个运动矢量可以称为“运动场(motion field)”。运动矢量和运动场也可用于预测随后的帧的运动。所述运动矢量和/或运动场可以用于生成全局运动矢量。
以上所描述的速率控制功能也可以为这样的运动矢量检索设定时间或迭代限制,且如果在所述限制内发现不匹配,则放弃所述检索。为了以所需的比特率产生高质量的视频流或以所需的视频质量产生低比特率的视频流,所述速率控制功能平衡被用于运动估计和区别计算的处理能力。
一些视频编码标准允许仅参照紧接着的前面或后面的帧进行帧间的比较。其它标准允许图像参照多个前面或后面的帧进行编码。这样的“多个参照帧”的编码标准典型地需要更多的处理能力或时间来编码。
比特率调节器220耦连到编码引擎并配置为通过根据游戏者对帧的关注区域分配用于所述帧的比特率来改变所述经编码的信息。比特率调节器220配置为确定游戏者对即将通过编码引擎210编码的视频数据帧203的关注区域并基于所述游戏者的关注区域改变视频数据帧203的编码。比特率调节器220从所确定的游戏者的关注区域生成编码器控制信息209,编码器控制信息209调节编码器引擎210的码率控制功能。这样,编码引擎210配置为根据所述编码器控制信息209执行编码,编码器控制信息209根据所述游戏者的关注区域重新分配用于帧203的比特。因此,编码引擎210可以配置为执行所述常规的编码引擎的功能和如本文所述的比特再分配的附加功能。编码器控制信息209可以以用于通过编码引擎210处理的可接受的格式被生成。
比特率调节器220配置为改变编码引擎210的码率控制功能以维持或改进所述帧的被感知的视觉质量。对于改进,比特率调节器220可以指导编码引擎210增加用于在所述游戏者的关注区域内产生经编码的视频流205的比特数目。此外,比特率调节器220配置为在视频帧203的游戏者的关注区域之外,减少用于产生用于经编码的视频流205的经编码的信息的比特数目。因此,提高了被感知的视觉质量且可以维持所述比特率。在其它实施例中,可以通过维持游戏者的关注区域中的比特数目和降低用于编码游戏者的关注区域之外的比特数目来维持被感知的视觉质量。在一些实施例中,比特使用的减少可以随着与所述游戏者的关注区域的距离的增加而增大。比特率调节器220可以配置为同时维持和提高所感知的视觉质量。可以基于系统质量、游戏的特定部分、游戏者的输入等在要么维持或要么增加之间选择。
在一个实施例中,比特率调节器220配置为基于诸如二维高斯模型等数学模型来确定所述游戏者的关注区域。在一个实施例中,比特率调节器220进一步配置为根据与所述帧相关联的全局运动改变所述二维高斯模型的参数。全局运动矢量可以用于表示所述全局运动。所述参数可以包括所述二维高斯模型的振幅(amplitude)、宽度和旋转。
在一个实施例中,比特率调节器220配置为基于游戏者的关注区域和与视频帧203相关联的全局运动来调节视频帧203的QP。比特率调节器220可以计算视频帧203的每宏模块QP偏移(offset)。图4示出了QP偏移图。
图4的椭圆表示游戏者的关注区域并具有最低的QP偏移。如果为零,那么不改变用于编码该区域的比特数目。如果设定QP偏移小于零,那么增加用于编码游戏者的关注区域的比特数目。图4的同心椭圆表示基于2D高斯模型从所述游戏者的关注区域离开至外围(periphery)的帧的降级。在帧的外围,所述QP偏移是较高的且质量是较低的。在一些实施例中,所述QP偏移为从零到五十。图4中,所述全局运动矢量(GMV)的x,y的坐标为39,-8。所述图像中心由坐标为W/2、H/2和Z的x,y,z表示。
所述全局运动矢量可以由比特率调节器220基于关注区域数据207计算。在另一个实施例中,所述全局运动矢量可以经由通过例如编码引擎210对帧视频203的预处理来确定。这样,用于所述全局运动矢量的预处理可以通过GPU本身执行而不需要依靠游戏提示。在一个实施例中,编码引擎210或编码器124可以通过估算帧运动、过滤局部运动和然后获得全局运动来获得所述全局运动矢量。
图3示出了根据本公开的原理所执行的编码视频流帧的方法300的实施例。诸如图1的编码器136或图2的编码器200等编码器可以配置为具有必要的硬件、软件或它们的组合以执行方法300。方法300开始于步骤305。
在步骤310,接收到待解码的视频数据帧。在一个实施例中,所述帧从诸如电子游戏等应用程序接收到。
在步骤320接收到关注区域数据。所述关注区域的数据可以从游戏引擎接收到。在一个实施例中,所述关注区域的数据作为游戏提示接收。在另一个实施例中,所述关注区域数据由与所述视频帧相关联的处理程序生成。所述预处理程序可以由编码器或GPU的另一个处理器执行。
在其它实施例中,可以使用设备追踪游戏者的眼睛运动,以提供所述关注区域数据。诸如智能玻璃或其它安装在头上的设备等智能眼镜可以用于精确地追踪眼睛运动和产生关注区域数据。所述眼睛或设备可以与诸如红外头部追踪器等追踪系统一起使用,以精确地追踪眼睛运动。
在步骤330,确定游戏者对所述视频数据帧的游戏关注区域。可以基于所述关注区域确定所述游戏者的关注区域。在一个实施例中根据围绕注视中心的人的视角确定所述游戏者关注区域。这典型地可以为2到5度之间。全局运动矢量可以由所生成的关于先前的注视中心的数据来计算。在一些实施例中,所述游戏者的关注区域可以直接从由智能眼镜、设备、头部追踪器或它们的组合所生成的数据推导出。
可以使用数学模型来确定游戏者的关注区域。在一个实施例中,二维高斯模型可以用来表示每一个游戏者的关注区域。随着人的视觉,二维高斯模型也提供了与所述游戏者的关注区域周围的离心率一起下降的对数分辨率,所对数分辨率对应于人的视角。图4示出了与所述游戏者的关注区域周围的离心率一起下降的对数分辨率的实例。
在一个实施例中,单个帧可以具有多个游戏者关注区域。至少一个游戏者关注区域可以基于全局运动修改。全局运动矢量可以用于修改所述游戏者的关注区域。
在步骤340,通过基于所述游戏者关注区域分配用于所述帧的比特来改变视频数据帧的编码。在一个实施例中,增加用于编码所述游戏者关注区域或区域的比特数目。此外,减少用于编码所述帧的其余部分的比特数目。在其它实施例中,维持用于编码所述游戏者关注区域的比特数目,并减少用于编码所述帧的其余部分的比特数目。这样,可以减少用于编码帧的比特的总数目。方法300在步骤350结束。
上述装置、系统或方法的一部分可以由诸如常规的各种数字数据处理器或计算机所体现或实施,其中计算机可以经编程或存储软件指令序列的可执行程序以实施方法步骤中的一个或多个。这类程序的软件指令可以代表算法并且以机器可执行的形式在非暂时性数字数据存储介质上被编码,非暂时性数字数据存储介质例如磁盘或光盘、随机存取存储器(RAM)、磁性硬盘、闪存、和/或只读存储器(ROM),以使得各种类型的数字数据处理器或计算机能够实施上述方法的一个或多个中的一个、多个或所有步骤或者能够实施本文所述的装置的功能。如关于所公开的实施例所论述的,配置为执行所述功能的比特率控制器可以包括必要的硬件、软件或它们的组合。
所公开的实施例的一部分可以与具有非暂时性计算机可读介质的计算机存储产品相关,非暂时性计算机可读介质其上具有程序代码用于实施体现装置、系统的一部分或执行本文所阐述的方法步骤的各种计算机实现的操作。本文所使用的非暂时性是指除暂时的、传播的信号之外的所有计算机可读介质。非暂时性计算机可读介质的示例包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如CD-ROM盘的光学介质;诸如软光盘的磁光介质;以及特别配置为存储并执行程序代码的硬件设备,诸如ROM和RAM设备。程序代码的示例既包括机器代码又包括文件,该机器代码诸如由编译器所产生,该文件包含可以由计算机使用解译器所执行的较高级代码。
与本申请相关的本领域技术人员应该理解可以对所描述的实施例做出其它和进一步的增加、删除、替代和修改。

Claims (10)

1.用于编码视频数据帧的方法,所述方法包括:
从应用程序接收待编码的视频数据帧
确定游戏者对所述视频数据帧的关注区域;和
通过基于所述游戏者的关注区域分配用于所述帧的比特来改变所述视频数据帧的编码。
2.一种视频编码器,包括:
编码引擎,所述编码引擎配置为接收表示视频数据帧的信号并产生与所述视频数据帧相关的经编码的信息;和
比特率调节器,所述比特率调节器耦连到所述编码引擎且配置为通过根据游戏者对所述帧的关注区域分配用于所述帧的比特来改变所述经编码的信息。
3.如权利要求2所述的视频编码器,其中,所述比特率调节器配置为基于二维高斯模型来确定所述游戏者的关注区域。
4.如权利要求2所述的视频编码器,其中,所述比特率调节器配置为基于所述帧的投影矩阵、先前帧的投影矩阵和所述帧中间的关注中心,计算与所述帧相关联的全局运动矢量。
5.如权利要求2所述的视频编码器,其中,所述比特率调节器配置为增加用于在所述游戏者的关注区域内产生所述经编码的信息的比特的数目。
6.如权利要求5所述的视频编码器,其中,所述比特率调节器配置为减少用于在所述游戏者的关注区域之外产生所述经编码的信息的比特的数目。
7.如权利要求2所述的视频编码器,其中,所述帧包括多个游戏者的关注区域,且所述比特率调节器配置为通过基于所述多个游戏者的关注区域分配用于所述帧的比特来改变所述经编码的信息。
8.产生经编码的视频流的三维建模系统,所述系统包括:
内容引擎;
渲染器,所述渲染器耦连到所述内容引擎并配置为从所述内容引擎接收与三维模型相关的信息并产生相应的二维图像;和
视频编码器,所述视频编码器耦连到所述渲染器并配置为从所述渲染器接收所述二维图像并产生相应的经编码的视频流,
其中,所述视频编码器进一步配置为基于游戏者对所述帧的关注区域,改变用于产生相应的经编码的视频流的帧的比特的分配。
9.如权利要求8所述的三维建模系统,其中,所述游戏者的关注区域是基于人的围绕注视中心的视角。
10.如权利要求8所述的三维建模系统,其中,所述视频编码器配置为基于所述游戏者关注区域的模型和与所述帧相关联的全局运动矢量,调节所述帧的每宏模块量化参数。
CN201310687175.XA 2013-04-02 2013-12-13 基于游戏者关注区域改进视频流的码率控制比特分配 Active CN104096362B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/855,348 2013-04-02
US13/855,348 US10242462B2 (en) 2013-04-02 2013-04-02 Rate control bit allocation for video streaming based on an attention area of a gamer

Publications (2)

Publication Number Publication Date
CN104096362A true CN104096362A (zh) 2014-10-15
CN104096362B CN104096362B (zh) 2017-10-24

Family

ID=51519604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310687175.XA Active CN104096362B (zh) 2013-04-02 2013-12-13 基于游戏者关注区域改进视频流的码率控制比特分配

Country Status (4)

Country Link
US (1) US10242462B2 (zh)
CN (1) CN104096362B (zh)
DE (1) DE102013022256A1 (zh)
TW (1) TW201501761A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028968A (zh) * 2015-06-10 2018-05-11 雷蛇(亚太)私人有限公司 视频编辑器服务器、视频编辑方法、客户端装置及控制客户端装置的方法
CN108270997A (zh) * 2016-12-30 2018-07-10 安讯士有限公司 注视控制的比特率
CN109792546A (zh) * 2016-09-30 2019-05-21 英国电讯有限公司 观看者重视度自适应比特率传送
CN110493600A (zh) * 2019-08-23 2019-11-22 腾讯科技(深圳)有限公司 图像编码方法、装置、计算机设备及存储介质
CN112007357A (zh) * 2019-05-30 2020-12-01 联发科技股份有限公司 客户侧延迟改善方法、主处理器、处理电路与云游戏服务器
CN113794887A (zh) * 2021-08-17 2021-12-14 镕铭微电子(济南)有限公司 一种游戏引擎中视频编码的方法及相关设备
US11317171B2 (en) 2016-09-30 2022-04-26 British Telecommunications Public Limited Company Viewer importance adaptive bit rate delivery

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9984504B2 (en) 2012-10-01 2018-05-29 Nvidia Corporation System and method for improving video encoding using content information
US10237563B2 (en) 2012-12-11 2019-03-19 Nvidia Corporation System and method for controlling video encoding using content information
US10905943B2 (en) * 2013-06-07 2021-02-02 Sony Interactive Entertainment LLC Systems and methods for reducing hops associated with a head mounted system
WO2016140439A1 (ko) * 2015-03-02 2016-09-09 엘지전자(주) 향상된 예측 필터를 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
US11284109B2 (en) * 2016-01-29 2022-03-22 Cable Television Laboratories, Inc. Visual coding for sensitivities to light, color and spatial resolution in human visual system
US9992502B2 (en) 2016-01-29 2018-06-05 Gopro, Inc. Apparatus and methods for video compression using multi-resolution scalable coding
US10291910B2 (en) * 2016-02-12 2019-05-14 Gopro, Inc. Systems and methods for spatially adaptive video encoding
GB2551526A (en) 2016-06-21 2017-12-27 Nokia Technologies Oy Image encoding method and technical equipment for the same
GB2556017A (en) * 2016-06-21 2018-05-23 Nokia Technologies Oy Image compression method and technical equipment for the same
CN110199489B (zh) * 2016-12-20 2022-03-18 伟视达电子工贸有限公司 数据传输方法和数据传输设备
GB2583825B (en) 2017-04-21 2021-05-12 Zenimax Media Inc Systems and methods for rendering & pre-encoded load estimation based encoder hinting
US10511842B2 (en) 2017-10-06 2019-12-17 Qualcomm Incorporated System and method for foveated compression of image frames in a system on a chip
US11033813B2 (en) * 2019-06-07 2021-06-15 Microsoft Technology Licensing, Llc Latency erasure
CN110996125B (zh) * 2019-11-18 2021-08-17 腾讯科技(深圳)有限公司 一种视频流的生成方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204436A (ja) * 2001-10-29 2003-07-18 Victor Co Of Japan Ltd 画像符号化装置及び画像符号化プログラム
CN1781311A (zh) * 2003-11-03 2006-05-31 三星电子株式会社 使用注视检测来处理视频数据的设备和方法
CN101345870A (zh) * 2008-09-04 2009-01-14 上海交通大学 低码率视频超分辨率重构的编码装置和解码装置
US20090097543A1 (en) * 2007-07-02 2009-04-16 Vixs Systems, Inc. Pattern detection module with region detection, video encoding system and method for use therewith
CN102129698A (zh) * 2011-03-08 2011-07-20 华中科技大学 一种基于感兴趣区域的图像编码方法
CN102238374A (zh) * 2010-04-21 2011-11-09 腾讯科技(深圳)有限公司 对图像数据进行压缩编码的方法和装置
CN102637302A (zh) * 2011-10-24 2012-08-15 北京航空航天大学 一种图像编码方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI109633B (fi) 2001-01-24 2002-09-13 Gamecluster Ltd Oy Menetelmä videokuvan pakkauksen nopeuttamiseksi ja/tai sen laadun parantamiseksi
US7136935B2 (en) 2001-06-22 2006-11-14 Inktomi Corporation Efficient data transmissions based on a policy
US7106366B2 (en) * 2001-12-19 2006-09-12 Eastman Kodak Company Image capture system incorporating metadata to facilitate transcoding
US7426304B2 (en) 2004-09-15 2008-09-16 Hewlett-Packard Development Company, L.P. Method and device for three-dimensional graphics to two-dimensional video encoding
US20070036227A1 (en) 2005-08-15 2007-02-15 Faisal Ishtiaq Video encoding system and method for providing content adaptive rate control
JP4506738B2 (ja) 2005-10-06 2010-07-21 ソニー株式会社 ホログラムシート
US20070268964A1 (en) 2006-05-22 2007-11-22 Microsoft Corporation Unit co-location-based motion estimation
JP4563982B2 (ja) 2006-10-31 2010-10-20 日本電信電話株式会社 動き推定方法,装置,そのプログラムおよびその記録媒体
US20100295847A1 (en) 2009-05-21 2010-11-25 Microsoft Corporation Differential model analysis within a virtual world
US9501582B2 (en) 2010-05-10 2016-11-22 Amazon Technologies, Inc. Providing text content embedded with protected multimedia content
US9344528B2 (en) 2011-08-31 2016-05-17 Microsoft Technology Licensing, Llc Data compressor using hints
US9984504B2 (en) 2012-10-01 2018-05-29 Nvidia Corporation System and method for improving video encoding using content information
US10237563B2 (en) 2012-12-11 2019-03-19 Nvidia Corporation System and method for controlling video encoding using content information

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003204436A (ja) * 2001-10-29 2003-07-18 Victor Co Of Japan Ltd 画像符号化装置及び画像符号化プログラム
CN1781311A (zh) * 2003-11-03 2006-05-31 三星电子株式会社 使用注视检测来处理视频数据的设备和方法
US20090097543A1 (en) * 2007-07-02 2009-04-16 Vixs Systems, Inc. Pattern detection module with region detection, video encoding system and method for use therewith
CN101345870A (zh) * 2008-09-04 2009-01-14 上海交通大学 低码率视频超分辨率重构的编码装置和解码装置
CN102238374A (zh) * 2010-04-21 2011-11-09 腾讯科技(深圳)有限公司 对图像数据进行压缩编码的方法和装置
CN102129698A (zh) * 2011-03-08 2011-07-20 华中科技大学 一种基于感兴趣区域的图像编码方法
CN102637302A (zh) * 2011-10-24 2012-08-15 北京航空航天大学 一种图像编码方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LI-QUN CHEN等: "A visual attention model for adapting images on small displays", 《MULTIMEDIA SYSTEMS》 *
YI WANG等: "An Attention Based Spatial Adaptation Scheme for H.264 Videos on Mobiles", 《MULTI-MEDIA MODELING CONFERENCE PROCEEDINGS, 2006 12TH INTERNATIONAL》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028968A (zh) * 2015-06-10 2018-05-11 雷蛇(亚太)私人有限公司 视频编辑器服务器、视频编辑方法、客户端装置及控制客户端装置的方法
CN109792546A (zh) * 2016-09-30 2019-05-21 英国电讯有限公司 观看者重视度自适应比特率传送
US11044507B2 (en) 2016-09-30 2021-06-22 British Telecommunications Public Limited Company Viewer importance adaptive bit rate delivery
CN109792546B (zh) * 2016-09-30 2022-01-04 英国电讯有限公司 从服务器向客户端设备传送视频内容的方法
US11317171B2 (en) 2016-09-30 2022-04-26 British Telecommunications Public Limited Company Viewer importance adaptive bit rate delivery
CN108270997A (zh) * 2016-12-30 2018-07-10 安讯士有限公司 注视控制的比特率
CN112007357A (zh) * 2019-05-30 2020-12-01 联发科技股份有限公司 客户侧延迟改善方法、主处理器、处理电路与云游戏服务器
CN110493600A (zh) * 2019-08-23 2019-11-22 腾讯科技(深圳)有限公司 图像编码方法、装置、计算机设备及存储介质
CN110493600B (zh) * 2019-08-23 2023-07-04 腾讯科技(深圳)有限公司 图像编码方法、装置、计算机设备及存储介质
CN113794887A (zh) * 2021-08-17 2021-12-14 镕铭微电子(济南)有限公司 一种游戏引擎中视频编码的方法及相关设备

Also Published As

Publication number Publication date
TW201501761A (zh) 2015-01-16
US10242462B2 (en) 2019-03-26
DE102013022256A1 (de) 2014-10-02
CN104096362B (zh) 2017-10-24
US20140292751A1 (en) 2014-10-02

Similar Documents

Publication Publication Date Title
CN104096362A (zh) 基于游戏者关注区域改进视频流的码率控制比特分配
Guan et al. Pano: Optimizing 360 video streaming with a better understanding of quality perception
Park et al. Rate-utility optimized streaming of volumetric media for augmented reality
US8872895B2 (en) Real-time video coding using graphics rendering contexts
US20170103577A1 (en) Method and apparatus for optimizing video streaming for virtual reality
US10499082B2 (en) Optimized coding method for omnidirectional video, computer readable storage medium and computer device
JP2020512772A (ja) Vrビデオ用に画像解像度を最適化してビデオストリーミングの帯域幅を最適化する画像処理のための方法及び装置
Hamza et al. Adaptive streaming of interactive free viewpoint videos to heterogeneous clients
Park et al. Volumetric media streaming for augmented reality
US10354394B2 (en) Dynamic adjustment of frame rate conversion settings
WO2009138878A2 (en) Centralized streaming game server
CN104012086A (zh) 用于视频会议环境中景深导向图像滤波的系统和方法
CN112584119B (zh) 一种基于强化学习的自适应全景视频传输方法及系统
CN108810427B (zh) 基于视点的全景视频内容表示的方法及装置
CN110602506B (zh) 视频处理方法、网络设备及计算机可读存储介质
Aksu et al. Viewport-driven rate-distortion optimized scalable live 360° video network multicast
US20030026336A1 (en) MPEG video drift reduction
CN109698957A (zh) 图像编码方法、装置、计算设备及存储介质
CN110099294A (zh) 一种针对360度视频的保持时空一致性的动态自适应流媒体码率分配方法
Le et al. An efficient viewport-dependent 360 VR system based on adaptive tiled streaming
JP5941000B2 (ja) 映像配信装置及び映像配信方法
US11290735B1 (en) Visual element encoding parameter tuning
CN115633179A (zh) 一种用于实时体积视频流传输的压缩方法
Ji et al. Head movement-aware mpeg-dash SRD-based 360 video VR streaming system over wireless network
CN116456166A (zh) 媒体数据的数据处理方法及相关设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant