CN105191312B - 用于对视频信号编码的资源 - Google Patents

用于对视频信号编码的资源 Download PDF

Info

Publication number
CN105191312B
CN105191312B CN201480020390.7A CN201480020390A CN105191312B CN 105191312 B CN105191312 B CN 105191312B CN 201480020390 A CN201480020390 A CN 201480020390A CN 105191312 B CN105191312 B CN 105191312B
Authority
CN
China
Prior art keywords
frame
video data
encoded
resource
data
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.)
Expired - Fee Related
Application number
CN201480020390.7A
Other languages
English (en)
Other versions
CN105191312A (zh
Inventor
M.亨门多夫
D.赵
S.萨布林
P.卡尔森
K.霍夫鲍尔
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105191312A publication Critical patent/CN105191312A/zh
Application granted granted Critical
Publication of CN105191312B publication Critical patent/CN105191312B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04N19/176Methods 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 the region being a block, e.g. a macroblock
    • 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/103Selection of coding mode or of prediction mode
    • 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/127Prioritisation of hardware or computational resources
    • 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/146Data rate or code amount at the encoder output
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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
    • 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
    • H04N19/172Methods 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 the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种用于对视频数据编码的装置,该装置包括遵循模块,其被配置为将与使用标准编码模式对视频数据编码以便形成已编码帧的至少一部分相关联的资源要求与可接受资源水平相比较;以及编码器,其被配置为,响应于确定资源要求将超过所述可接受资源水平,通过使用标准编码模式对视频数据中的一些编码来形成已编码帧的所述至少一部分,并且利用一种数据来填充已编码帧的所述至少一部分的剩余部分,其中与使用标准编码模式生成的数据相比,所述一种数据与更低的资源使用相关联。

Description

用于对视频信号编码的资源
背景技术
在现代通信系统中,可以经由比如有线和/或无线网络之类的介质(常常是比如因特网之类的基于分组的网络)将视频信号从一个终端发送到另一个终端。典型地,视频的帧由传送终端处的编码器编码以便将其压缩来经由网络传送。对于给定帧的编码可以包括帧内编码,其中块相对于相同帧中的其他块而被编码。在这种情况下,按照目标块与相邻块之间的差(残差(the residual))来对该块编码。替换地,对于一些帧的编码可以包括帧间编码,其中目标帧中的块相对于在前帧中的对应部分典型地基于运动预测而被编码。在这种情况下,按照运动矢量以及目标块与它将从其预测出的对应部分之间的差(残差)来对该目标块编码,其中所述运动矢量标识出目标块与它将从其预测出的对应部分之间的偏移量。在接收器处的对应解码器基于适当类型的预测来对所接收的视频信号的帧解码,以便将其解压缩而输出到屏幕。
一些视频信号可以包括特别大的帧,即,在编码之后包括非常多的字节的帧。一个示例是用于屏幕共享流的视频,其常常具有高分辨率以及必须在压缩后可读的小文字。大帧可能导致问题。例如,在大帧可见于接收器处的屏幕上之前,可能存在长的延迟。该延迟可能导致用户怀疑视频链接实际上是否是工作的。长帧还可以与长鲁棒性(lengthyrobustness)和错误恢复处理相关联。这是因为单一的一阵分组丢失可以导致整个帧将被丢失。丢失概率随着帧长度而增大。恢复时间也随着帧长度而增加。传送过多的分组也是不期望的。如果分组数目太大,则这可能导致针对发送器和接收器缓存器(例如,针对硬件解码器)的问题。非常多的分组还可能花费长时间来解码。
发明内容
根据一个方面,这里的公开涉及一种用于对视频数据编码的装置。视频数据可以是任何适当编解码器的分片、块或宏块或者帧的任何所期望的分割。该装置具有遵循模块,其将与使用标准编码模式来对视频数据编码以形成已编码帧的至少一部分相关联的资源要求与可接受资源水平相比较。可接受资源水平可以例如与可接受帧长度、编码时间或CPU使用相关联。
该装置还可以包括编码器。如果遵循模块确定使用标准编码模式对视频数据的全部编码将超过可接受资源水平,则作为响应,编码器使用标准编码模式来对该数据中的仅仅一些编码。编码器然后可以利用一种数据来填充所述已编码帧的所述至少一部分的剩余部分,其中与使用标准编码模式生成的数据相比,所述一种数据与更低的资源使用相关联。
本概要被提供来以简要形式介绍概念的选择,以下将在具体实施方式中对这些概念进行进一步的描述。本概要既不是旨在标识所要求保护主题的关键特征或必要特征,也不是旨在被用来限制所要求保护主题的范围。所要求保护的主题不限于解决了背景技术部分中所提到的任一或所有缺点的实现方式。
附图说明
为了更好地理解所描述的实施例并且示出可以如何实施所描述的实施例,作为示例,将参照附图,其中:
图1是视频流的示意性表示,
图2是通信系统的示意性框图,
图3是已编码视频流的示意性表示,
图4是编码器的示意性框图,
图5是解码器的示意性框图,
图6是编码方法的示意性表示,
图7是编码方法的示意性表示,以及
图8是帧的示意性表示。
具体实施方式
监视由对视频数据编码而消费的资源可能是有益的。视频数据可以表示视频序列中的帧或帧的一部分。可以在帧被编码之前或在编码过程期间实施所述监视。对特定视频数据编码所要求的资源可以被标识为有问题的。这可以使得编码器在对该数据的全部编码之前停止使用标准编码模式对视频数据编码。编码器可以填充该帧的剩余部分,对于已编码的视频数据,该剩余部分被意图利用资源不那么密集地生成的数据来填充。可以使用与更低资源使用相关联的受限定的编码模式来生成该数据。可以利用廉价的数据来填充已编码帧的该剩余部分。得到的已编码帧将遵循可接受资源水平。
可以与视频数据无关地生成廉价数据。例如,廉价数据可以是不依赖于视频数据的针对接收设备的指令。该指令可以例如是,复制在前帧的一部分或者利用均匀的颜色填充像素块。结果,视频数据中的一些可以根本不被编码。因此,如果视频数据表示图像,则该图像的仅仅一部分实际上可能被编码在已编码帧中。后续帧可以校正该缺陷,使得在接收器处看到逐渐更新的图像。
图1给出了输入视频信号的示意性图示,该输入视频信号从摄像机捕获并且被分为准备好被视频编码器编码以便生成已编码比特流的各部分。该信号包括在时间上被分为多个帧(F)的移动视频图像,每个帧表示在时间上不同的相应时刻(... t- 1 ,t,t+ 1...)的图像。在每个帧内,帧在空间上被分为多个部分,每个部分表示多个像素。所述部分可以例如被称作块。在某些方案中,帧被分为并且细分为不同水平的部分或块。例如,每个帧可以被分为宏块(MB)并且每个宏块可以被分为块(b),例如每个块表示帧内的8x8像素的区域,每个宏块表示2x2块(16x16像素)的区域。在某些方案中,每个帧还可以被分为分片(S),每个分片包括多个宏块。
输入信号中的块在起初可以被表示在空间域中,其中,每个通道被表示为块内的空间位置的函数,例如,亮度(Y)和色度(U,V)通道中的每一个是笛卡尔坐标x和y的函数,Y(x,y)、 U(x,y) 和V(x,y)。在该表示中,每个块或部分由不同空间坐标(例如,x和y坐标)处的像素值集合来表示,使得颜色空间的每个通道以块内的特定位置处的特定值、块内的另一位置处的另一值等等来表示。
然而,作为编码过程的一部分,该块可以被变换到变换域表示,典型地空间频率域表示(有时仅仅称作频域)。在频域中,该块以表示每个颜色空间通道在该块上的变化(例如,亮度Y和所述两个色度U和V中的每一个在该块上的变化)的频率分量系统来表示。从数学上来说,在频域中,每个通道(亮度和两个色度通道或者类似物中的每一个)被表示为空间频率的函数,其在给定方向上具有1/长度的维度(dimension)。例如,这可以通过分别在水平方向和垂直方向上的波数Kx和Ky来表示,使得通道可以被分别表达为Y(kx, ky)、 U(kx,ky) 和V(kx, ky)。因此,块被变换为系数集合,其可以被认为表示构成该块的不同空间频率项的幅值。用于这样的变换的可能事项包括离散余弦变换(DCT)、Karhunen-Loeve变换(KLT)或其他。
在图2的框图中示意性地图示出其中可以采用本实施例的示例通信系统。通信系统包括第一传送终端12和第二接收终端22。例如,每个终端12、22可以包括以下项中的一个:移动电话或智能电话、平板设备、膝上型计算机、桌面型计算机或比如电视机、机顶盒、立体音响系统等其他家用电器。第一和第二终端12、22各自在操作上都耦合至通信网络32,因此第一传送终端12被布置为传送将由第二接收终端22接收的信号。当然,传送终端12也可能能够从接收终端22接收信号并且反之亦然,但是出于讨论的目的,在这里从第一终端12的角度描述传送,并且从第二终端22的角度描述接收。通信网络32可以例如包括基于分组的网络,比如广域因特网和/或局域网和/或移动蜂窝网络。
第一终端12包括计算机可读存储介质14,比如闪存或其他电子存储器、磁存储设备和/或光学存储设备。第一终端12还包括按照具有一个或多个执行单元的处理器或CPU形式的处理装置16;收发器,比如至少具有传送器18的有线或无线调制解调器;以及视频摄像机15,其可以或可以不容纳于与终端12的其余部分相同的外壳内。存储介质14、视频摄像机15和传送器18各自在操作上都耦合至处理装置16,并且传送器18在操作上经由有线或无线链路耦合至网络32。类似地,第二终端22包括计算机可读存储介质24,比如电子、磁和/或光学存储设备;以及按照具有一个或多个执行单元的CPU的形式的处理装置26。第二终端包括收发器,比如至少具有接收器28的有线或无线调制解调器;以及屏幕25,其可以或可以不容纳于与终端22的其余部分相同的外壳内。第二终端的存储介质24、屏幕25和接收器28各自在操作上都耦合至相应的处理装置26,并且接收器28在操作上经由有线或无线链路耦合至网络32。
第一终端12上的存储装置14至少存储被布置来在处理装置16上执行的视频编码器。当被执行时,编码器从视频摄像机15接收“未加工”(未编码)的输入视频流,对视频流编码以便将其压缩成更低比特率的流,并且输出已编码视频流以便经由传送器18和通信网络32传送到第二终端22的接收器28。第二终端22上的存储装置24至少存储被布置来在其自己的处理装置26上执行的视频解码器。当被执行时,解码器从接收器28接收已编码视频流并且对其解码以便输出至屏幕25。可以用于指代编码器和/或解码器的一般术语是编解码器。
图3给出了已编码比特流33的示意性表示,该已编码比特流33将从运行在传送终端12上的编码器传送到运行在接收终端22上的解码器。比特流33包括针对每个帧的多个已编码样本34,包括任何运动矢量。在一个应用中,比特流可以作为实况(实时)视频电话呼叫的一部分而被传送,所述实况视频电话呼叫比如是在传送终端12与接收终端22之间的VoIP(因特网上的语音协议)呼叫(VoIP呼叫也可以包括视频)。
图4是示意性地图示了比如可以在传送终端12上实施的编码器的高级框图。该编码器包括:离散余弦变换(DCT)模块51、量化器53、逆变换模块61、反量化器63、帧内预测模块41、帧间预测模块43、切换器47和减法级(-)49。编码器还包括生成模块41、遵循模块42和包括空间选择子模块57的适配模块50。这些模块或级中的每一个可以被实施为存储在传送终端的存储介质14上并且被布置为在其处理装置16上执行的代码的一部分,但是并不排除这些中的一些或全部整体或部分地实施在专用硬件电路中的可能性。
减法级49被布置来经由多个帧(F)接收包括多个块(b)的输入视频信号的实例。从耦合至减法级49的输入的摄像机15接收该输入视频流。帧内或帧间预测41、43基于根据另一个已经编码的块或其他这样的部分的预测来生成要编码的当前(目标)块的预测版本。所述预测版本被供应给减法级49的输入,在减法级49中,从输入信号(即,实际信号)减去所述预测版本以生成表示该块的预测版本与该实际输入信号中的对应块之间的差的残差信号。
在帧内预测模式中,帧内预测41模块基于根据在相同帧中的另一个已经编码的块(典型地,相邻块)的预测来生成要编码的当前(目标)块的预测版本。当实施帧内编码时,该构思在于,仅仅编码并且传送一个帧内的图像数据的一部分与该相同帧内的另一部分如何不同的度量。该部分于是可以在解码器处被预测(给定作为开始的某个绝对数据),所以唯一必要的是,传送该预测与实际数据之间的差,而不是该实际数据本身。差信号典型地在量级上更小,所以将花费更少的比特来编码。
在帧间预测模式中,帧间预测模块43基于根据在与当前块不同的帧中的另一个已经编码的区域的预测、由帧间预测模块43预测的运动矢量所指示的偏移量,来生成要编码的当前(目标)块的预测版本(帧间预测还可以被称作运动预测)。在这种情况下,切换器47将帧间预测模块43切换到反馈路径,以代替帧内预测级41,所以从而在一个帧与另一个帧的块之间创建反馈环路,以便相对于在前帧的那些而对帧间编码。典型地,这比帧内编码花费甚至更少的比特来编码。
残差信号的样本(包括在从输入信号减去预测之后的残差块)从减法级49输出,通过变换(DCT)模块51(或其他适当变换)(其中,它们的残差值被转换到频域),然后到达量化器53,在量化器53中,经变换的值被转换为离散量化索引。由变换和量化模块51、53生成的残差的经量化和经变换的索引以及在预测模块41、43中使用的预测的指示和由帧间预测模块43生成的任何运动矢量全都被输出以包括在已编码的视频流33中(参见图3中的元素34);这典型地经由另外的无损编码级(比如,熵编码器(未示出)),其中,可以使用本领域已知的无损编码技术来进一步压缩预测值和经变换和经量化的索引。
经量化、经变换的信号的实例还通过反量化器63和逆变换模块61反馈,以便生成(将在解码器处看到的)块的预测版本,以供所选预测模块41或43在预测要编码的后续块时使用。类似地,基于先前已编码块的经反量化和经逆变换的版本来预测正被编码的当前目标块。切换器47被布置为,针对用于当前正被编码的帧或块的编码,视情况将反量化器63的输出传递到帧内预测模块41或帧间预测模块43的输入。
因此,在实施例中,编码器至少具有两种可能的编码模式:帧内预测和帧间预测。不同的编码模式还可以与不同的频率基础函数(frequency basis function)相关联。另外的可能的编码模式可以包括基于不同程度的宏块分割的不同模式,例如在较高复杂度模式或较低复杂度模式之间选择,其中在所述较高复杂度模式中,针对宏块内的每个4x4块实施单独预测,在所述较低复杂度模式中,基于仅仅8x8 或 8x16的块或者甚至整个宏块实施预测。可用模式还可以包括用于实施预测的不同选项。例如,在一种帧内模式中,可以通过从来自正上方的块的相邻像素向下推测(extrapolate down),或者通过从紧靠左边的块向侧面推测(extrapolate sideway),来确定4x4的块(b)的像素。称作“跳过模式”的另一种预测模式也可以在一些编解码器中提供,其可以被认为是一种替换类型的帧间模式。在跳过模式中,基于相对于上方和左边的运动矢量来推断目标的运动矢量,并且不存在对于残差系数的编码。推断运动矢量的方式与运动矢量预测一致,因而运动矢量差是零,所以仅仅要求用信号通知MB是跳过块。此外,残差像素被跳过,使得当前被编码的帧中的宏块是预测帧中的宏块的拷贝。对于要经由被量化器53应用的量子化步长的尺寸、以不同质量水平编码的图像而言,其他编码模式可以提供。在定义比如H264和HEVC之类的标准的文档中描述了若干预测模式。
以上描述的任何编码模式可以用作用于对视频数据编码的标准编码模式。更一般地,编码器可以选择来对视频数据编码的任何编码模式可以被认为是标准编码模式。
遵循模块42监视与对视频数据编码相关联的资源使用。视频数据可以是帧或帧的一部分。视频数据可以表示特定的像素块。例如,视频数据可以是一个分片。每一帧或帧的一部分可以与(以下描述的)所定义的特定预算相关联。将帧的部分与所定义的预算相关联在编码器并行地对帧的分段编码时可能是合适的。编码器可以将帧分为要并行编码的多个分段。每个分段可以与其自己的所定义的预算相关联。编码器和遵循模块可以操作来通过针对每个分段的相关联的预算监视对其的编码,来将这里所描述的节约资源的编码方法与并行编码进行组合(如以下所描述的那样)。
以下的描述引用对“帧”编码。然而,这仅仅是为了引用的容易,应该理解的是,要编码的视频数据也可以形成帧的仅仅一部分。类似地,以下的描述引用利用资源不那么密集的数据来填充已编码帧的剩余部分。应该理解的是,所述资源不那么密集的数据还可以用于填充已编码帧的仅仅一部分。所述已编码帧的一部分可以是已经利用被包括在帧分段中的视频数据的已编码版本来填充的部分。
由遵循模块监视的资源可以包括例如:帧长度、比特率、CPU使用和自从编码开始以来过去的时间。遵循模块还可以评定将来要进入到编码器的帧所要求的可能资源,使得潜在的资源密集帧可以提前被标识。遵循模块可以将所测量的资源使用或预测的资源使用与所定义的预算相比较。例如,预算可以定义在字节方面的最大帧长度或者CPU循环的最大数目或者在时间上的用于对帧编码的绝限。如果遵循模块感测到当前帧将要达到该限制或者接近该限制,则其可以调用应急模式,其导致编码器停止对该帧编码。这可以通过将当前的资源使用与可接受资源水平相比较来判断,该可接受资源水平可以与所定义的预算相同或小于所定义的预算。可以利用资源不那么密集的内容来填充帧的其余部分,使得不超过资源预算。编码器可以通过切换到用于帧的剩余部分的不同编码模式来生成廉价内容。在一些实例中,资源不那么密集的内容可以由生成模块41生成,在其他实例中,其可以由以上所描述的编码器模块来生成。适宜地,与在应急模式被调用之前编码器正使用来对帧编码的编码模式相比,该受限定的编码模式与更低的资源使用相关联。如果遵循模块提前标识出资源密集帧,则其可以相应地指示编码器,使得适当的编码模式被选择用于帧的不同部分,从而满足资源预算。
遵循模块和编码器可以与适配模块50交互。适配模块50可以被配置为应用损失自适应率-失真优化(LARDO)过程来选择最优编码模式,以便根据最优准则对每个宏块编码。最优准则可以旨在在失真与比特率之间折衷地平衡鲁棒/质量更好的编码模式与资源约束。适配模块根据其可以在选择编码模式时考虑的预期资源要求来从遵循模块接收输入。适配模块50还可以具有隐藏模块75的实例,该隐藏模块75基本上类似于在解码器处的隐藏模块(参见图5),因此其可以看到可以在解码器处看见的潜在丢失的效果和该丢失的隐藏。
转到在编码器侧提供的空间选择子模块57,根据这里所公开的实施例,其被配置为将空间选择应用于由适配模块50实施的LARDO过程或者其他这样的率-失真折衷。
空间选择子模块57可以被配置来标识正被编码以便传送的视频中的感兴趣区域(ROI)。例如,这可以通过应用脸部识别算法(其示例本身是本领域已知的)来完成。脸部识别算法识别要编码的视频图像中的脸部,并且基于此来标识该图像中包括该脸部或该脸部的至少一些(例如,像嘴、眼睛和眉毛之类的脸部特征)的区域,作为感兴趣区域。脸部识别算法可以被专门配置为识别人脸,或者可以识别一种或多种其他生物的脸部。在其他实施例中,可以基于另外的事项而非脸部识别来标识感兴趣区域。其他的替换方案包括其他类型的图像识别算法,比如用于将移动物体标识为感兴趣区域的运动识别算法,或者由传送终端12的用户规定的用户定义的感兴趣区域。
在另外的实施例中,空间选择子模块57可以被配置为不仅仅标识单一水平的感兴趣区域,还确定感知敏感度图,由此将若干不同水平的感知重要性(perceptualsignificance)分配给若干不同区域。例如,这可以逐个宏块地进行,由此每个宏块被映射到选自一个范围的相应水平的感知重要性。该图可以由脸部识别算法来确定,例如该脸部识别算法被配置为将最高水平的感知重要性指派给主要脸部特征(例如,眼、眉毛、嘴);将次高水平的感知重要性指派给外围脸部特征(例如,脸颊、鼻子、耳朵);将次低水平的感知重要性指派给头部的剩余区段和肩部或其他身体特征,以及将最低水平的感知重要性指派给背景区段(例如,静止的景色)。其他替换方案包括其他类型的图像识别算法,比如用于根据运动或改变的量分配感知重要性水平的运动识别算法,或者由传送终端12的用户规定的用户定义图(例如,用户规定感兴趣中心,并且所述水平在图案中在空间上从该中心向外降低)。
在实施例中,空间选择子模块57可以被配置为输出感兴趣区域的指示或感知重要度图,其例如在嵌入在已编码比特流33中的边信息36中或在单独的流或信号中被传送到接收终端22处的解码器。再次参见图3。这不是解码器对视频解码所需要的,因为无论如何,针对每个宏块的编码模式都将被编码成具有已编码样本34的已编码比特流。然而,在某些实施例中,其可以被包括,以便帮助解码器确定是否应用隐藏。
图5是示意性地图示了比如可以在接收终端22上实施的解码器的高级框图。解码器包括反量化级83、逆DCT变换级81、切换器70和帧内预测级71和运动补偿级73。解码器还包括隐藏模块75,在一些实施例中,隐藏模块75可以包括空间选择子模块77。这些模块或级中的每一个可以被实施为存储在接收终端的存储介质24上并且被布置为在其处理装置26上执行的代码的一部分,但是并不排除这些中的一些或全部整体或部分地实施在专用硬件电路中的可能性。
反量化器81被布置为经由接收器28从编码器接收已编码信号33。反量化器81将在已编码信号中的量化索引转换为残差信号(包括残差块)的去量化样本并且将去量化样本传递到逆DCT模块81,在逆DCT模块81中,它们被从频域变换回空间域。
然后,针对用于正被解码的当前帧或块的预测模式,切换器70视情况将去量化的空间域残差样本传递到帧内或帧间预测模块71或73,并且帧内或帧间预测模块71、73相应地使用帧内或帧间预测来对每个宏块中的块解码。使用在已编码比特流33中的与已编码样本34一起接收的预测和/或任何运动矢量的指示来确定要使用哪个模式。如果在比特流中存在多个不同类型的帧内或帧间编解码模式并且如果这些要求不同的解码,例如基于不同的宏块分割的不同模式或者跳过模式,则这连同已编码比特流33中的样本34一起也被指示给帧内或帧间解码模块71、73中的相关解码模块,并且相关模块71、73将根据每个相应的模式来对宏块解码。
DCT模块51(或其他适当变换)的输出是经变换的残差信号,其包括针对每个帧的多个经变换的块。已解码的块被输出到接收终端22处的屏幕25。
此外,耦合隐藏模块75,以便看见来自接收器28的流入比特流33。如果帧或帧的一部分丢失(例如由于分组丢失或数据的破坏),则隐藏模块75对此进行检测并且选择是否应用隐藏算法。如果应用了隐藏算法,则这通过以下操作而起作用:用先前接收的帧替代帧的丢失的碎片(或甚至整个丢失的帧);或者用帧的所接收的一个或多个其他部分替代该相同帧的丢失的碎片。也就是说,或者通过从先前接收的帧推测对于丢失帧或帧的丢失部分的替代物;或者通过从帧的所接收的一个部分推测对于该相同帧的丢失的另一部分的替代物;或者通过在帧的所接收各部分之间内推来估计对于该相同帧的丢失的部分的替代物。隐藏算法细节本身是本领域已知的。
空间选择子模块77可以被配置为适配关于是否应用隐藏的决定。为了这样做,其标识出在流入视频图像中的感兴趣区域。在实施例中,这可以通过使用在从传送终端12接收的边信息36中用信号通知的感兴趣区域或感知敏感度图(例如,从流入比特流33提取感兴趣区域或感知敏感度图)来实现。在感知敏感度图具有若干不同水平的重要性的情况下,可以在解码器侧通过将具有大于特定水平的水平的那些宏块当作感兴趣区域,来确定感兴趣区域。替换地,可以明确地用信号通知感兴趣区域。在其他替换实施例中,可以在接收终端22处的解码器侧单独地应用以上所描述的用于标识感兴趣区域的任何技术。例如,可以在接收终端22处的解码器的空间选择子模块77中应用脸部识别算法或其他图像识别算法,或者可以由接收终端22的用户规定用户定义的感兴趣区域。在解码器侧应用了比如脸部识别算法之类的图像识别算法的情况下,假设在大多数情况下感兴趣区域不可能从一个帧到下一个帧显著地移动,如果丢失,则这可以基于先前接收的已成功解码的帧。
无论在解码器侧用什么方法标识出感兴趣区域,子模块77被配置为确定选择性地针对帧内的感兴趣区域的隐藏质量的估计。也就是说,该估计针对小于帧的特定区域——原因在于该估计仅仅基于感兴趣区域,或者在于估计至少偏向该区域。基于这样的估计,隐藏模块确定是否应用隐藏算法。如果质量估计足够好,则应用隐藏。否则,接收终端仅仅冻结(freeze)最后一个已成功接收并解码的帧。
在通信场景中,相对于背景或其他对象,脸部常常是最重要的。在确定是否显示隐藏帧时,如果隐藏质量估计仅仅估计了完整帧的质量而没有考虑内容,则这可能导致,甚至在脸部区段含有较多的伪像时,还显示隐藏帧。相反,甚至在脸部具有良好质量而仅仅背景含有伪像时,还可能丢弃潜在的隐藏帧。因此,存在一个潜在的问题,即显示可能有益的隐藏帧有时不被显示,而显示无益的隐藏帧有时最终确实被显示。
在实施例中,感兴趣区域被用于通知关于针对整个帧所应用的隐藏的肯定/否定的决定。质量估计按存有偏见的方式针对感兴趣区域来决定是否应用隐藏,但是一旦做出决定,其就应用于整个帧,潜在地包括比如背景之类的其他区域。也就是说,尽管可以总是局部地应用隐藏来修复丢失碎片,但是在实施例中,在应该丢弃整个帧之前应确定可以局部地修补多少。即,尽管其中数据被丢失的那些单独的碎片被隐藏,但是逐帧地对于每帧应用一次关于隐藏的决定。在一个这样的实施例中,如果脸部区域足够好,则显示图像的已隐藏的版本。如果使用隐藏使脸部区域劣化太多,则可能更好的是,代替地,丢弃整个帧。
如果使用隐藏算法进行了隐藏,则隐藏质量提供对于(多个)丢失部分的已隐藏版本的质量的估计。
图6中示出了一个编码方法的示意性框图。根据该方法,接收视频信号(步骤601)并且确定对该信号中的特定帧编码是否将超出可接受资源水平(步骤602)。然后,使用标准编码模式对帧的部分编码(步骤603)并且利用与更低水平的资源使用相关联的数据填充该帧的剩余部分(步骤604)。这导致,形成完整帧以便传送到解码器(步骤605)。
图7中示出了另一个编码方法的示意性框图。根据该方法,接收视频信号(步骤701)并且使用标准编码模式来对该视频信号编码(步骤702)。只要该编码的资源要求停留在可接受限度内,就允许该编码继续下去。如果其表现得就好像对该帧编码将超出资源限制,则调用应急模式(步骤702)。对于应急模式的可能触发可以是发送缓存器满了或者编码器用完所分配的CPU时间。调用应急模式导致使用标准编码模式的编码停止(步骤704),并且利用与更低水平的资源使用相关联的数据来填充帧的剩余部分(步骤705)。
图8中示出了用于编码的帧的简单示例。在该示例中,编码器从上到下对帧的块编码,直到调用应急模式为止。一个或多个实施例的目的可以是,利用资源不那么密集的内容来填充帧的剩余部分。一般而言,该内容可以由受限定的编码模式生成,该受限定的编码模式适当地使用比标准编码模式更少的资源。受限定的编码模式典型地将是,比标准编码模式生成更少的比特或者要求更少的CPU循环的编码模式。与标准编码模式相比,受限定的编码模式还可以与更低频率基础函数相关联。更低频率基础函数典型地通过更低的空间频率来表征,即,与更高频率基础函数相比,其以更低分辨率来对帧编码。
受限定的编码模式可以直接对帧中的剩余数据进行操作。即,受限定的编码模式可以以与标准编码模式相类似的方式但是不过是以使用更少的资源的方式,来对剩余数据编码。另一种选项可以是,完全地终止编码,仅仅发送编码器已经生成的内容。但是这对于期望利用一些东西来填充已编码帧的大多数视频编码标准来说是不可接受的。另一个选项是,对于受限定的编码模式而言,与帧的剩余部分无关地生成数据。例如,并非对帧数据进行操作,受限定编码模式而是可以利用针对标准提供的“廉价数据”填满帧。这样的数据可以由生成模块41提供。廉价数据可以例如指示帧的剩余部分是先前帧的复制品或者当前帧的早前部分的复制品。廉价数据可以指示帧的剩余部分应该仅仅利用颜色均匀的块来填充。可以被重复以便在残差之后保持比特的来自H264标准的示例包括:
·SKIP(跳过):使宏块避开先前帧
·SKIP_RESIDUAL(跳过_残差):从先前帧中的宏块但是利用运动矢量进行预测,所以有效地“利用运动矢量进行复制”
·UNICOLOR
·复制上行
任何运动矢量可以基于由标准编码算法导出的运动矢量,即来自在应急模式之前。
利用廉价数据填充帧的剩余部分在资源上可以特别高效,因为其结束了对当前帧中的数据的编码操作。虽然如此,利用廉价数据填充帧的其余部分将消耗一些比特,其在资源预算要被保持的情况下需要被考虑。遵循模块适当地具有定义的预算,该定义的预算限制了可以在特定帧上花费的资源。遵循模块可以具有设置成比该总预算低的可接受资源水平,使得在那里,应急模式被触发得足够早,从而在预算上有足够余地来填充帧的剩余部分。遵循模式可以根据可用资源、应用、被传送的图像的类型等等来调整可接受资源水平和总预算。
如果帧已经被提前标识为潜在的资源密集帧,则更高质量的资源密集的编码模式可以智能地瞄准帧的具有更高感知重要性的部分。这可以包括帧中的表示人或动物的脸部的部分。可以使用更低质量的编码模式来对比如背景之类的帧的剩余部分编码。如果在帧被实际编码的同时突破可接受资源限制的潜在情形被标识出,则用于智能地瞄准资源的选项可能更受限。在图8中所示出的示例中,其将始终倾向于是利用更低质量的数据填充的帧的更低部分。这可以通过择优地对帧的某些部分编码来解决,从而最大化在调用应急模式之前那些部分被编码的机会。例如,脸部检测或接收器凝视控制可以用于首先对帧的那些感知重要的部分编码。一个更简单的选项可以是仅仅首先对帧的中部编码。然而目前,这种布置的实际适用性有些受限,因为当前的视频标准典型地不支持以特别的顺序对帧编码。
在对触发了应急模式的帧之后的帧编码时,存在可以采用的不同策略。一个选项是,像正常情况一样编码并且希望帧将在预算内被编码。通常这将是成功的,因为帧的大部分将已经像目标图像了。一种例外可以是当目标是移动的并且在源图像中生成频繁的更新时发生。一种可能更适合于移动目标的替换策略在下文中略述。下一帧可以被成功编码的另一个原因是,用于管理比特率/质量折衷的控制器常常将从最后一帧做出调整,例如通过改变量化步长QP的尺寸。该步长尺寸通常在一个帧期间不能被调整,但是可以在一个帧与下一个帧之间被调整。接收器端处的用户将感知到逐渐更新的图像。
大多数当前的视频标准从上到下对帧编码。存在以下风险:如果在连续的帧中调用了应急模式,则接收器处的图像的较低部分可能很少被更新。为了对此进行解决,遵循模块可以记住其在先前帧的什么地方调用了应急模式。当对下一帧编码时,遵循模块可以指示编码器应用应急模式,直到其到达在先前帧中应急模式被调用所处的行为止,于是,编码器回到标准编码。换言之,仍然从上到下对帧编码,但是利用廉价或更低质量的数据填充帧的上部分而使用标准编码模式来对帧的后面部分编码。另一选项是,仅仅在遵循模块在先前帧上调用应急模式所处的点处才开始对下一帧编码(假设在相关视频编解码标准下可允许让帧的一部分为空)。从遵循模块在上一帧中应急时所处的点开始编码或标准编码实现了在接收器处生成滚动的逐渐更新。从屏幕的上方到下方重复地进行更新扫视(相反情况也是可能的,其中从下到上地进行更新扫视)。该布置可以特别适合于在源图像中生成频繁的更新的移动目标。
在一些场景中,遵循模块可能能够提前预测“在应急模式”帧之后的下一帧也很可能触发应急模式。这可能是因为目标是移动的并且在图像中生成频繁的更新(如以上所描述的),或者可能是因为编码器被期望针对下一帧使用与针对“应急模式”帧相同的编码质量。在一个示例中,编码器可以被配置为将其编码质量适配由在视频信号中的帧所表示的图像类型。适配模块可能能够实施一种算法来识别由帧所表示的图像类型并且相应地选择适当的编码模式。作为一个示例,在屏幕共享应用中,适配模块可以识别出视频信号中的帧表示一页文字。耦合至适配模块的遵循模块可以由于其表示的图像的本质而确定下一帧将很可能遇到与在前帧相同的资源限制。返回到屏幕共享示例,适配模块将希望从一个帧到下一个帧维持相同的量化步长QP,使得文字被定义得足够清晰以便在接收端处阅读。因此,遵循模块可以指示编码器使用标准编码模式对帧的仅仅一部分(如以上所描述的,这可以根据与帧的该部分相关联的感知重要性来选择)编码。
这里所描述的编码方法可以由编码器开启或关闭。该决定可以根据生成视频数据的应用和/或其所生成的数据类型来做出。可能地除了关于量化步长QP和帧率的决定(其也可以逐帧地做出)之外,该决定也可以逐帧地做出。关于编码模式的决定可以根据视频数据是否可充分地适配其编码要求以便保持在资源预算内而做出。例如,由一些应用生成的视频数据可以容易地以较低的分辨率编码。在本上下文中,“分辨率(resolution)”可以至少指代量化步长QP和像素数目。其他数据可以以较低的帧率编码。这种类型的视频数据可以使用逐帧地适配QP的正常编码模式容易地编码。其他类型的数据可能不是如此可适配的。例如,尽管屏幕共享应用可能可适配来牺牲某个帧率,但是这对于动画或普通视频而言很少是可接受的。屏幕共享应用确实倾向于生成应该以高分辨率(其可以是很多像素和/或小的量化步长)编码的数据。这是资源密集的,但是大多数屏幕共享数据的基于文字的本质意味着,其可能不适合于降低分辨率。屏幕共享应用还倾向于具有与相对少的移动相关联的目标,即文字页可能移动得相对不频繁。节约资源的编码方法可以特别适合于屏幕共享应用,因为可以至少针对每个帧的一部分保持分辨率并且图像更新的渐变本质应该不是太有问题的。
其他应用或者由应用生成的其他视频数据可能不那么适合于这里所描述的节约资源的编码方法。例如,对于比如PowerPoint之类的多媒体应用,在幻灯片之间的复杂转变使得它们的“淡入”或“淡出”可能与节约资源的编码方法不相符。一种解决方案仅仅是,对于不相符的视频数据,使用正常编码。另一个选项是,对于生成视频数据的应用,适配该数据,所以其是相符的。应用还可以请求编码器对于许多帧切换到正常编码,使得编码器针对不相符的帧“跳过”节约资源的模式。
作为一个示例,PowerPoint应用可以知道编码器正在实施节约资源的编码模式。该应用还可以认识到,作为特定幻灯片的一部分而包括的动画将很可能使得编码器“出差错(trip)”并且利用廉价数据部分地填充表示该幻灯片的帧。该应用可以请求编码器(或者控制编码器的应用:屏幕共享应用的示例包括Skype和Lync)对表示该幻灯片的帧应用正常编码模式。该应用可以从幻灯片完全地移除该动画。对于该应用,另一个选项是适配其传递到编码器的帧,使得它们不必与在传送设备处的屏幕上看到的那些帧相同。例如,该应用可以仅仅在与特定幻灯片相关的随后的帧中包括动画。按照这种方式,到动画被包括在传递给编码器的帧中的时候,那些帧中的大部分将已经与接收设备所示出的图像相同。类似地,应用可以移除与一个幻灯片和另一个幻灯片之间的转变相关联的任何复杂的效果。因此,当在传送设备处,可以看见所述幻灯片“淡入”或“淡出”时,这些效果可能不被应用传递给编码器的帧所表示出。
生成视频数据的应用可以与编码器或者控制编码器的应用通信,以便确定如何最好地形成其传递给编码器的帧。该应用可以由负责生成传递给编码器的视频数据的生成模块来实施。应用(和相关联的生成模块)可以被配置为根据由编码器实施的编码模式来适配其传递给编码器的视频数据。具体地,如果编码器实施了这里所描述的节约资源的编码方法中的一个方法,则该应用可以相应地适配其视频数据。
用于对表示一个或多个图像的视频数据编码的装置可以包括接口模块,该接口模块被配置为在生成视频数据的应用与对该视频数据编码以便传送的编码器之间交互。该装置可以包括编码器。接口模块可以被配置为根据与该视频数据相关联的质量适配由编码器用于对由应用生成的该视频数据编码的编码模式。
该装置还可以包括遵循模块,该遵循模块被配置为将与使用标准编码模式来对视频数据编码相关联的资源要求与可接受资源水平相比较,并且如果确定资源要求超过可接受资源水平,则使得编码器切换到资源没有标准编码模式那么密集的编码模式。接口模块可以被配置为,确定由应用生成的视频数据的质量,并且根据该质量,将遵循模块从一个操作状态切换到另一个操作状态。这可以涉及到开启或关闭遵循模块。接口模块可以根据与视频数据相关联的所期望的分辨率来改变遵循模块的操作状态。如果与视频数据相关联的所期望的分辨率相对高,则接口模块可以开启遵循模块,如果期望的分辨率相对低,则接口模块可以关闭遵循模块。接口模块可以根据与由视频数据所表示的目标相关联的移动来改变遵循模块的操作状态。如果与由视频数据所表示的目标相关联的移动相对高,则接口模块可以关闭遵循模块,如果相关联的移动相对低,则接口模块可以开启遵循模块。开启接口模块的效果可以是,在接收设备的屏幕上生成逐渐更新的图像。
生成视频数据的应用可以被配置为根据由编码器使用的编码模式来适配其传递给编码器以便编码的视频数据。这样做的结果可以是,应用传递给编码器的视频数据不同于它输出给屏幕的视频数据。
生成模块和接口模块中的每一个可以被实施为存储在接收终端的存储介质24上并且被布置为在其处理装置26上执行的代码的一部分,但是并不排除这些中的一些或全部被整体或部分地实施在专用硬件电路中的可能性。
许多视频编码标准提供用于提供图像的独立表示的帧。换言之,接收器不需要参考任何先前接收的帧来对其解码。在H264标准中,该周期性帧被称作瞬时解码器刷新(IDR)。典型地,周期性地发送IDR帧以便简化从解码器中的错误中恢复 。不幸的是,IDR很可能触发应急模式。因此,周期性地发送IDR可以导致对应的周期性闪烁。一些接收器在没有IDR的情况下非常难以从错误中恢复,而其他接收器可以在没有它们的情况下进行管理。对于编码器而言,从节约资源的角度,可能有利的是不必生成将典型地生成长的已编码帧的IDR。传送器可以因此与接收器协商以便跳过IDR。该协商典型地在发起呼叫的时候发生。例如,发送器和接收器可以协定跳过IDR,直到接收器明确请求一个IDR(即,接收器反馈触发了IDR)为止。
编码器可以被配置为将实况视频传输与错误恢复组合。错误恢复可以涉及,接收设备向传送设备发送最后一个成功接收的帧的指示。该指示可以例如采取签名的形式。在一个示例中,该签名可以采取在所接收的帧上计算的散列签名(例如,MD5摘要)的形式。传送设备可以检查该散列签名,以便确认接收设备已经接收到正确数据。可能针对含有资源不那么密集的数据或廉价内容的帧计算散列签名。因此,该帧(其可以被认为是部分成熟的帧)可以用作一个后退,因为接收设备可以在散列签名是不正确(这指示,该部分成熟的帧未被成功接收)的情况下重新发送它。
以上描述的实施例可以使得编码器能够高效地管理其资源,尤其是当对资源密集的视频信号(比如在屏幕共享应用中生成的那些视频信号)编码的时候。通过提供在端用户终端处的屏幕图像经由其被逐渐更新的一种机制,它们还减轻了对于用户体验的任何影响。它们还可以具有更一般的优势:限制帧长度。不仅从发送缓存器和接收缓存器的尺寸限制的角度,还是从应对分组丢失的角度,这都是好的。单一的一阵分组丢失可能导致整个帧被丢失。丢失概率随着帧长度而增大,恢复时间也是这样。一个丢失帧还导致取决于该丢失帧的所有后继帧丢失。现代视频标准在帧被丢失时供给一个简单的后退:接收器参照最后一个成功传送的帧。因此,如果帧通常较短的话,接收器很可能更直截了当地从丢失帧恢复。
解码器既不必非得被实施在端用户终端处,也不必输出用于在接收终端处立即消费的视频。在替换的实现方式中,接收终端可以是运行解码器软件的服务器,以便向另一个终端输出按照已解码和/或已隐藏形式的视频,或者存储已解码视频以便后来消费。类似地,编码器并非必须被实施在端用户终端处,也并非必须对源自传送终端的视频编码。
这里所公开的技术可以被实施为编码器或解码器的固有部分,例如,作为更新被合并到比如H.264或HEVC之类的现有标准中,或者可以被实施在现有标准之上,比如用于H.264或HEVC的附加组件。此外,本公开的范围并非被特别限定于视频样本的任何特定表示,不论是按照RGB、YUV,还是其他。该范围也不受限于任何特定的量化、以及DCT变换。例如,可以使用比如Karhunen-LoeveTransform (Karhunen-Loeve变换,KLT)之类的替换的变换,或者可以不使用变换。此外,本公开不受限于VoIP通信或通过任何特定种类的网络的通信,而是可以被用在能够传输数字数据的任何网络中,或者被用在用于在存储介质上存储已编码数据的系统中。
一般地,可以使用软件、固件、硬件(例如,固定逻辑电路)、或这些实现方式的组合来实施这里所描述的任何功能。如这里所使用的术语“模块”、“功能”、“组件”和“逻辑”一般表示软件、固件、硬件或其组合。在软件实现方式的情况下,模块、功能或逻辑表示在处理器(例如,一个或多个CPU)上被执行时实施规定任务的程序代码。该程序代码可以被存储在一个或多个计算机可读存储器设备中。以下所描述的技术的特征是平台独立的,这意味着可以在具有多种处理器的多种商用计算平台上实施所述技术。
例如,用户终端还可以包括使得用户终端的硬件实施操作(例如处理器功能块等等)的实体(例如,软件)。例如,用户终端可以包括计算机可读介质,该计算机可读介质可以被配置来维持使得用户终端更具体地用户终端的操作系统和相关联的硬件实施操作的指令。因此,所述指令用于配置操作系统和相关联的硬件实施操作,并且按照这种方式导致所述操作系统和相关联硬件变换来实施功能。可以由计算机可读介质通过多种不同配置向用户终端提供指令。
一种这样的计算机可读介质的配置是信号承载介质,因此其被配置为比如经由网络向计算设备传送指令(例如,像载波一样)。计算机可读介质还可以被配置为计算机可读存储介质,因此其不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器和可以使用磁、光学和其他技术来存储指令和其他数据的其他存储器设备。
尽管用特定于结构特征和/或方法动作的语言对本主题进行了描述,但应理解,定义在所附权利要求中的主题不必限于以上描述的特定特征或动作。相反,以上描述的特定特征和动作是作为实施权利要求的示例形式来公开的。

Claims (12)

1.一种用于对视频数据编码的装置,该装置包括:
一个或多个处理器;
一个或多个计算机可读存储介质,存储有指令,指令能够由所述一个或多个处理器执行以进行以下操作:
将与使用标准编码模式对视频数据编码相关联的资源要求与可接受资源水平进行比较;以及
在编码帧之前,确定所述帧的资源要求将超过所述可接受资源水平;
确定用于映射与所述视频数据的部分相关联的感知重要性的感知重要度图,以通知在接收设备处丢弃所述帧的决定;以及
输出所述感知重要度图以嵌入在编码的比特流中传输;以及
编码器,其被配置为:
在编码所述帧之前,接收所述帧的资源要求将超过所述可接受资源水平的指示;
根据与所述视频数据相关联的所述感知重要性选择所述视频数据的、使用所述标准编码模式编码的所述部分;以及
通过使用所述标准编码模式对所述视频数据的所述部分进行编码来形成已编码帧的至少一部分,并且利用一种数据来填充已编码帧的所述至少一部分的剩余部分,其中与使用标准编码模式生成的数据相比,所述一种数据与更低的资源使用相关联。
2.如权利要求1中所述的装置,其中所述指令进一步能够由所述一个或多个处理器执行以进行以下操作:
当编码器正使用标准编码模式对所述视频数据的所述部分编码时,将资源要求与可接受资源水平相比较;以及
响应于确定资源要求超过可接受资源水平,调用应急模式,该应急模式使得编码器停止使用标准编码模式对所述视频数据的所述部分编码。
3.如权利要求1或2中所述的装置,其中视频数据表示图像,编码器被配置为形成已编码帧的所述至少一部分,使得由视频数据表示的图像中的至少一些不被编码在其中。
4.如权利要求1中所述的装置,其中编码器被配置为利用廉价数据来填充已编码帧的所述至少一部分的剩余部分。
5.如权利要求1中所述的装置,其中编码器被配置为利用表示更早帧的复制品的数据来填充已编码帧的所述至少一部分的剩余部分。
6.如权利要求1中所述的装置,其中编码器被配置为利用表示已编码帧的更早部分的复制品的数据来填充该已编码帧的所述至少一部分的剩余部分。
7.如权利要求1中所述的装置,其中,编码器被配置为,当对后续帧编码时,从该后续帧中的一点开始编码,其中该点对应于编码器在形成已编码帧的所述至少一部分时停止使用标准编码模式所处的点。
8.如权利要求1中所述的装置,其中,编码器被配置为,当形成后续已编码帧时,利用使用受限定编码模式生成的数据来填充该后续帧的开始,直到编码器到达在该帧中的一点为止,其中该点对应于编码器在形成已编码帧的所述至少一部分时停止使用标准编码模式所处的点。
9.如权利要求1中所述的装置,其中,编码器被配置为,形成已编码帧的所述至少一部分和至少一个后续的已编码帧,以便在对那些已编码帧解码的解码器的屏幕输出上生成逐渐更新的图像。
10.一种其上存储有指令的计算机可读存储介质,所述指令用于对表示一个或多个图像的视频数据编码,当所述指令被执行时实施以下操作,包括:
将与使用标准编码模式对视频数据编码相关联的资源要求与可接受资源水平进行比较;
在编码帧之前,确定所述帧的资源要求将超过所述可接受资源水平;
响应于确定所述帧的资源要求将超过所述可接受资源水平,根据与所述视频数据相关联的感知重要性选择所述视频数据的、使用所述标准编码模式编码的部分;
通过使用所述标准编码模式对所述视频数据的所述部分进行编码来形成已编码帧的至少一部分,并且利用一种数据来填充已编码帧的所述至少一部分的剩余部分,其中与使用标准编码模式生成的数据相比,所述一种数据与更低的资源使用相关联;以及
确定用于映射所述视频数据的所述部分的所述感知重要性的感知重要度图,以通知在接收设备处丢弃所述已编码帧的决定,所述感知重要度图被配置为利用所述已编码帧来传输。
11.一种计算机实现的方法,该方法包括:
接收包括视频数据的视频信号;
将与使用标准编码模式对视频数据编码相关联的资源要求与可接受资源水平进行比较;
在编码帧之前,确定所述帧的资源要求将超过所述可接受资源水平;
响应于确定所述帧的资源要求将超过所述可接受资源水平,根据与所述视频数据相关联的感知重要性选择所述视频数据的、使用所述标准编码模式编码的部分;
通过使用所述标准编码模式对所述视频数据的所述部分进行编码来形成已编码帧的至少一部分,并且利用廉价数据来填充已编码帧的所述至少一部分的剩余部分,其中与使用标准编码模式生成的数据相比,所述廉价数据与更低的资源使用相关联;以及
确定用于映射所述视频数据的所述部分的所述感知重要性的感知重要度图,以通知在接收设备处丢弃所述已编码帧的决定,所述感知重要度图被配置为利用所述已编码帧来传输。
12.一种用于对视频数据编码的装置,该装置包括:
用于将与使用标准编码模式对视频数据编码相关联的资源要求与可接受资源水平进行比较的单元;
用于在编码帧之前确定所述帧的资源要求将超过所述可接受资源水平的单元;
用于响应于确定所述帧的资源要求将超过所述可接受资源水平根据与所述视频数据相关联的感知重要性选择所述视频数据的、使用所述标准编码模式编码的部分的单元;
用于通过使用所述标准编码模式对所述视频数据的所述部分进行编码来形成已编码帧的至少一部分并且利用一种数据来填充已编码帧的所述至少一部分的剩余部分的单元,其中与使用标准编码模式生成的数据相比,所述一种数据与更低的资源使用相关联;以及
用于确定用于映射所述视频数据的所述部分的所述感知重要性的感知重要度图以通知在接收设备处丢弃所述已编码帧的决定的单元,所述感知重要度图被配置为利用所述已编码帧来传输。
CN201480020390.7A 2013-04-10 2014-04-08 用于对视频信号编码的资源 Expired - Fee Related CN105191312B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1306480.3 2013-04-10
GB1306480.3A GB2514540B (en) 2013-04-10 2013-04-10 Resource for encoding a video signal
US13/922948 2013-06-20
US13/922,948 US20140307771A1 (en) 2013-04-10 2013-06-20 Resource for encoding a video signal
PCT/US2014/033240 WO2014168897A1 (en) 2013-04-10 2014-04-08 Resource for encoding a video signal

Publications (2)

Publication Number Publication Date
CN105191312A CN105191312A (zh) 2015-12-23
CN105191312B true CN105191312B (zh) 2018-09-21

Family

ID=48483662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480020390.7A Expired - Fee Related CN105191312B (zh) 2013-04-10 2014-04-08 用于对视频信号编码的资源

Country Status (5)

Country Link
US (1) US20140307771A1 (zh)
EP (1) EP2965518B1 (zh)
CN (1) CN105191312B (zh)
GB (1) GB2514540B (zh)
WO (1) WO2014168897A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8107010B2 (en) 2005-01-05 2012-01-31 Rovi Solutions Corporation Windows management in a television environment
WO2015042976A1 (zh) * 2013-09-30 2015-04-02 酷派软件技术(深圳)有限公司 图像编码、解码方法和系统以及终端
US10306239B2 (en) * 2014-05-13 2019-05-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods, source device, target device and analyser for managing video coding
TWI511530B (zh) * 2014-12-09 2015-12-01 Univ Nat Kaohsiung 1St Univ Sc Distributed video coding system and decoder for distributed video coding system
KR101673879B1 (ko) * 2015-06-30 2016-11-08 주식회사 아이디스 영상 분석 기반의 인코딩 장치 및 방법
US10595025B2 (en) 2015-09-08 2020-03-17 Microsoft Technology Licensing, Llc Video coding
US10313685B2 (en) 2015-09-08 2019-06-04 Microsoft Technology Licensing, Llc Video coding
CN110417715A (zh) * 2018-04-28 2019-11-05 北京视联动力国际信息技术有限公司 一种基于视联网的组帧方法和装置
US10970881B2 (en) 2018-12-21 2021-04-06 Samsung Display Co., Ltd. Fallback modes for display compression
US20220182643A1 (en) * 2020-12-04 2022-06-09 Ofinno, Llc No Reference Image Quality Assessment Based Decoder Side Inter Prediction
CA3142044A1 (en) * 2020-12-14 2022-06-14 Comcast Cable Communications, Llc Methods and systems for improved content encoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5986712A (en) * 1998-01-08 1999-11-16 Thomson Consumer Electronics, Inc. Hybrid global/local bit rate control
WO2002058401A1 (en) * 2001-01-22 2002-07-25 Stmicroelectronics Asia Pacific Pte Ltd Method and apparatus for video buffer verifier underflow and overflow control

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160846A (en) * 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
US5801779A (en) * 1995-12-26 1998-09-01 C-Cube Microsystems, Inc. Rate control with panic mode
US5686963A (en) * 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US6661927B1 (en) * 2000-07-27 2003-12-09 Motorola, Inc. System and method for efficiently encoding an image by prioritizing groups of spatially correlated coefficients based on an activity measure
JP2002101417A (ja) * 2000-09-22 2002-04-05 Oki Electric Ind Co Ltd 動画像符号化方法および装置
FI114527B (fi) * 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
JP4390112B2 (ja) * 2002-09-05 2009-12-24 エージェンシー フォー サイエンス,テクノロジー アンド リサーチ ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
KR100539923B1 (ko) * 2003-02-10 2005-12-28 삼성전자주식회사 화상통화시 화자의 영상을 구분하여 차등적 부호화할 수있는 비디오 엔코더 및 이를 이용한 비디오신호의 압축방법
US7936938B2 (en) * 2004-09-07 2011-05-03 Canon Kabushiki Kaisha Methods and devices for encoding a digital image signal and associated decoding methods and devices
US8693537B2 (en) * 2005-03-01 2014-04-08 Qualcomm Incorporated Region-of-interest coding with background skipping for video telephony
US8019175B2 (en) * 2005-03-09 2011-09-13 Qualcomm Incorporated Region-of-interest processing for video telephony
CN101371312B (zh) * 2005-12-08 2015-12-02 维德约股份有限公司 用于视频通信系统中的差错弹性和随机接入的系统和方法
US7652993B2 (en) * 2006-11-03 2010-01-26 Sharp Laboratories Of America, Inc. Multi-stream pro-active rate adaptation for robust video transmission
US8780988B2 (en) * 2008-02-28 2014-07-15 Vixs Systems, Inc. Hierarchical video analysis-based real-time perceptual video coding
WO2010043811A1 (fr) * 2008-10-15 2010-04-22 France Telecom Procede et dispositif de codage d'une sequence d'image mettant en oeuvre des blocs de taille differente, signal, support de donnees, procede et dispositif de decodage, et programmes d'ordinateur correspondants
US9271003B2 (en) * 2011-04-15 2016-02-23 Opera Software Ireland Limited Real-time audio or video transcoding
CN106791842A (zh) * 2011-09-06 2017-05-31 英特尔公司 分析辅助编码
GB2494411B (en) * 2011-09-06 2017-12-06 Skype Signal processing
US8976857B2 (en) * 2011-09-23 2015-03-10 Microsoft Technology Licensing, Llc Quality-based video compression
CN103988512A (zh) * 2011-11-28 2014-08-13 汤姆逊许可公司 失真/质量测量
US20130208795A1 (en) * 2012-02-09 2013-08-15 Google Inc. Encoding motion vectors for video compression
US9317751B2 (en) * 2012-04-18 2016-04-19 Vixs Systems, Inc. Video processing system with video to text description generation, search system and methods for use therewith
US20140092204A1 (en) * 2012-10-01 2014-04-03 The University Of Ottawa Dynamic rate control algorithm for high definition video conferencing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5986712A (en) * 1998-01-08 1999-11-16 Thomson Consumer Electronics, Inc. Hybrid global/local bit rate control
WO2002058401A1 (en) * 2001-01-22 2002-07-25 Stmicroelectronics Asia Pacific Pte Ltd Method and apparatus for video buffer verifier underflow and overflow control

Also Published As

Publication number Publication date
CN105191312A (zh) 2015-12-23
GB201306480D0 (en) 2013-05-22
US20140307771A1 (en) 2014-10-16
WO2014168897A1 (en) 2014-10-16
EP2965518A1 (en) 2016-01-13
GB2514540A (en) 2014-12-03
GB2514540B (en) 2020-01-08
EP2965518B1 (en) 2019-03-27

Similar Documents

Publication Publication Date Title
CN105191312B (zh) 用于对视频信号编码的资源
CN107347159B (zh) 一种对视频位流进行编解码的方法、设备
US9445114B2 (en) Method and device for determining slice boundaries based on multiple video encoding processes
AU2014275405B2 (en) Tuning video compression for high frame rate and variable frame rate capture
US9414086B2 (en) Partial frame utilization in video codecs
CN109068137A (zh) 兴趣区域感知的视频编码
GB2487261A (en) Motion compensated image coding using diverse set of motion predictors
EP2936813A1 (en) Adapting robustness in video coding
CN107431805B (zh) 编码方法和装置以及解码方法和装置
GB2492778A (en) Motion compensated image coding by combining motion information predictors
US11212536B2 (en) Negative region-of-interest video coding
CN109819260B (zh) 基于多嵌入域融合的视频隐写方法和装置
US20160353107A1 (en) Adaptive quantization parameter modulation for eye sensitive areas
EP2883356A1 (en) Two-step quantization and coding method and apparatus
EP3186750A1 (en) Adapting encoding properties based on user presence in scene
US9565404B2 (en) Encoding techniques for banding reduction
CN107018416B (zh) 用于视频和图像压缩的自适应贴片数据大小编码
KR20230156789A (ko) 신경망 기반 교차 성분 예측을 위한 방법 및 장치, 그리고 저장 매체
US11956453B2 (en) Content-adaptive online training for DNN-based cross component prediction with scaling factors
EP4142289A1 (en) A method, an apparatus and a computer program product for video encoding and video decoding
JP2014514808A (ja) 画像ブロックを再構成および符号化する方法
US20160360230A1 (en) Video coding techniques for high quality coding of low motion content
WO2016054306A1 (en) Adapting encoding properties based on user presence in scene
KR101668133B1 (ko) 화상 데이터의 블록을 예측하는 방법, 이 방법을 실행하는 복호 장치 및 부호화 장치
CN113973202A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180921

Termination date: 20200408