CN104539948A - 视频处理系统和视频处理方法 - Google Patents
视频处理系统和视频处理方法 Download PDFInfo
- Publication number
- CN104539948A CN104539948A CN201410340259.0A CN201410340259A CN104539948A CN 104539948 A CN104539948 A CN 104539948A CN 201410340259 A CN201410340259 A CN 201410340259A CN 104539948 A CN104539948 A CN 104539948A
- Authority
- CN
- China
- Prior art keywords
- frame
- merging
- code block
- data flow
- coding
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 28
- 238000003672 processing method Methods 0.000 title abstract 2
- 238000000034 method Methods 0.000 claims abstract description 104
- 230000006870 function Effects 0.000 claims description 51
- 238000006073 displacement reaction Methods 0.000 claims description 32
- 230000008569 process Effects 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 14
- 230000000875 corresponding effect Effects 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 13
- 230000008054 signal transmission Effects 0.000 claims description 12
- 230000002596 correlated effect Effects 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 8
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 238000013508 migration Methods 0.000 claims description 2
- 238000013139 quantization Methods 0.000 description 15
- 238000003860 storage Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000000712 assembly Effects 0.000 description 7
- 238000000429 assembly Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 239000011469 building brick Substances 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000013442 quality metrics Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/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
- 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- 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/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- 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/169—Methods 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/17—Methods 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/176—Methods 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
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了视频处理系统和视频处理方法。在内容传输系统中应用码流切换技术。以比特率、失真、以及分段常量算子的函数生成合并帧。通过选择分段常量算子的参数以优化该合并帧。基于带宽需求、切换请求、以及网络吞吐量对数据流进行切换。基于合并帧和预测帧以重建图像。基于合并帧为任意预测帧相同地重建出重建图像。
Description
相关申请的交叉引用
本申请要求于2013年7月16日提交的题为“RATE-DISTORTIONOPTIMIZED MERGE FRAME USING PIECEWISE CONSTANT FUNCTIONS”的美国临时专利申请No.67/957,541的优先权,其全部内容通过引用合并于此。
技术领域
本发明总体涉及内容分发和码流传输,尤其涉及在内容分发系统中的码流切换。
背景技术
随着通信技术的进步和扩张,内容共享变得越来越常见。举例而言,视频分享和视频点播服务的需求逐渐增加并且越来越流行。
内容传输网络或内容分发网络(CDN)包括由内容供应商提供的分散在整个互联网中用于共享内容的服务器。CDN供应商为内容供应商提供基础设施(例如服务器网络),以便其在网络上传输内容。代理或代理服务器通常会缓存内容,然后完成对于同一个内容的连续请求,从而消除了在网络上对于相同内容的重复传输。终端用户包括使用个人电脑或者通讯设备,例如智能手机等,通过CND访问内容的用户。
在CDN中,内容传输描述了响应终端用户的请求在网络上传输内容的一个操作。术语“内容”代表以任何形式存在的任何类型的数据,而不考虑其表示形式和其代表什么。内容通常同时包括编码媒体和元数据。编码的内容可以包括但不限于,静态的、动态的或者连续的媒体,包括音频流、视频流、网页、计算机程序、文档、文件等。一些内容可以被嵌入在其他的内容中,例如使用诸如HTML(超文本标记语言)和XML(可扩展标记语言)等标记语言。
上述的背景仅仅是为了提供一种网络中内容分发的相关概述,并且不旨在穷尽描述。通过对以下一个或多个不同的非限制性实施例的详细描述,额外的背景也会变得显而易见。
发明内容
为了解决传统的编码技术中可能会采用过多的比特数对码块进行编码,进而过多地增加了视频的传输和存储成本的问题,本发明提出了一种视频处理系统和视频处理方法。
所述视频处理系统,包括:处理器,其与存储器通信耦合,用于执行或有助于执行存储在存储器中的可执行组件,所述可执行组件包括:编码器组件,其被配置为基于第一数据流的第一预测帧和第二数据流的第二预测帧生成合并帧,其中所述第一预测帧和所述第二预测帧对应于相同的时间点;以及码流组件,其被配置为响应于切换数据流的指令来生成包括所述合并帧、和所述第一预测帧或所述第二预测帧中至少一个的传输信号,其中所述第一预测帧和所述合并帧被配置为构建为目标帧并且所述第二预测帧和所述合并帧被配置为构建为相同的所述目标帧。
所述视频处理方法包括:通过包含处理器的系统,基于对合并帧的编码的至少一种性能指标之间的关系进行定义的过程来确定合并函数的参数;通过所述系统,基于由第一数据流的第一传输信号切换至第二数据流的第二传输信号的合并函数来生成合并帧;以及响应于检测到码流切换事件,通过所述系统传输所述合并帧、以及所述第一数据流和所述第二数据流中至少一个的预测帧。
本发明公开的系统和方法涉及为宏块的码块的编码选择合并模式、跳过模式或者帧内模式。选择模式以及根据模式对码块进行编码以促进生成合并帧从而在不同内容流之间切换。例如,可以产生合并帧使得由不同码流所得的预测帧可以结合该合并帧重建出相同的画面。因此,可以降低达到所需输出质量所需的数据率和/或可以提高被解码的输出的质量。
附图说明
下面将对各种非限制性的实施例所需要使用的附图进行简要描述。
图1示出了根据各种实施例的传输内容和合并内容流的系统的示例功能性框图。
图2示出了根据一个实施例的映射侧信息的示例视图。
图3示出了根据各种实施例的码流切换和生成合并帧的系统的示例功能性框图。
图4示出了根据各种实施例的包括编码器和解码器的用于内容传输的系统的示例功能性框图。
图5示出了比较根据各种实施例的各种合并系统的示例视图。
图6示出了比较根据各种实施例的各种合并系统的示例视图。
图7示出了比较根据各种实施例的各种合并系统的示例视图。
图8示出了比较根据各种实施例的各种合并系统的示例视图。
图9示出了根据一个实施例在内容传输系统中用于编码和解码合并帧的方法的示例流程图。
图10示出了根据一个实施例在内容传输系统中用于生成合并帧的方法的示例流程图。
图11示出了根据一个实施例在内容传输网络中用于切换数据流的方法的示例流程图。
图12示出了根据一个实施例在内容传输系统中用于切换数据流的传输的方法的示例流程图。
图13示出了根据一个实施例的计算系统的示例框图。
图14示出了示例性的可以实施本文中描述的各种非限制性实施例的非限制性网络环境的示例框图。
具体实施方式
以下将参考附图中所示的示例性实施例对本发明公开的多个方面进行更加详细的描述。以下描述均以解释为目的,陈述了多个具体细节用以为本发明的不同实施例提供直观的理解。但是,本发明也可以实施为各种不同的形式而不应受限于在此陈述的示例性实施例。
本发明的不同方面均涉及在网络中分发内容以及对媒体内容进行编码/解码。编码器是能够对数字媒体数据进行编码的设备。解码器是能够对数字媒体数据进行解码的设备。编解码器是能够对数字媒体数据进行编码和/或解码的设备。术语“编解码器(codec)”由“编码器(coder)”和“解码器(decoder)”的组合、或者“压缩器(compressor)”和“解压缩器(decompressor)”的组合衍生而来。已有多种可商用的编解码器。例如,通常而言,编解码器的分类包括离散余弦变换编解码器、分形编解码器、小波编解码器。通过对数字媒体数据进行编码,编码器或编解码器可以减少用来传输信号的比特数,进而减少了相对应的传输成本。
在视频处理中,对视频帧序列的视频帧中的目标的预测有利于对视频帧序列进行编码。对于视频帧中目标的预测的准确性是高效压缩编码的重要因素之一。运动预测是预测类型中的一种,可以用于预测目标以有助于实现视频帧的内部宏块的编码。在对视频帧进行编码时还可以采用其他种类的预测。例如,帧内预测可以用于预测视频中像素之间的空间相关性。
但是,在对码块进行编码时,传统的编解码器可能不会通过有效的方法生成预测块和/或可能不会识别出最有效率的预测块。因此,传统的编码技术可能会采用过多的比特数(例如,可能采用超出需求的比特数)以对码块进行编码,进而过多地增加了视频的传输和存储成本。此外,还会对视频的质量带来较大的(例如,负面的)影响。
因此,出现了用于对视频内容进行有效编码和解码的技术。本发明公开的系统和方法涉及为宏块的码块的编码选择合并模式、跳过模式或者帧内模式。选择模式以及根据模式对码块进行编码以促进生成合并帧从而在不同内容流之间切换。例如,可以产生合并帧使得由不同码流所得的预测帧可以结合该合并帧重建出相同的画面。因此,可以降低达到所需输出质量所需的数据率和/或可以提高被解码的输出的质量。
现在开始参考附图,首先参考图1,其展示了可以实现传输内容以及合并内容流的系统100。在此描述的系统、装置、过程的多个方面可以组成在(多个)机器中实施的机器可执行组件,例如,以与一个或多个机器相关的一个或多个计算机可读介质(或媒体)方式实施。当这些组件通过一个或多个机器(例如,(多个)计算机、(多个)计算设备、(多个)虚拟机等)执行时可以使得(多个)机器执行在此描述的操作。
系统100主要包括计算机处理单元102,其可以执行在计算机可读存储器104中存储的各种组件,例如编码器组件112(其可以对原始数据进行编码)以及码流组件106(其可以管理内容流)。注意,系统100可以包含多个或不同的组件以实现本发明公开的各方面。此外,虽然图中各个组件被示出为单独的组件,但需要注意的是这些组件可以被包含在一个或多个设备中、单设备中、或在设备之间等。系统100可以包括诸如个人计算机、服务器、机架式服务器、便携式计算机、平板计算机、智能手机、个人数字助理等设备。系统100的组件可以将数据流和/或数据子流作为被编码数据进行通信。不同的数据流和/或数据子流可以同时或大致同时地与一个或多个不同设备进行通信。
在一个方面,系统100可以为其他设备或组件提供内容以作为编码数据。在一个方面,编码数据可以包括被压缩或编码的视频、音频、和/或其他将被传输给(例如)终端用户设备的媒体。基于质量指标(例如,比特率)或诸如此类,编码数据可以以不同格式进行编码。在一个示例中,编码数据可以包括用于交互式流传输应用的视频流。在一个方面,系统100可以在同一视频中通过切换不同的码率流来实现实时或近实时的带宽匹配。在另一个方面,系统100可以实现在不同视角下捕获的相同视频的码流之间的切换(“视角切换”)。
编码器组件112可以接收图像和/或视频帧(例如图1中所示的原始数据),以及相关的音频。在一个示例中,帧可以是表现为一系列图像帧的输入视频信号。参考帧可以被存储在一个或者多个参考缓存中。参考帧可以包括过去帧、现在帧、或者将来帧。编码器组件112可以在接收到媒体内容请求前、在媒体内容服务的同时、或者其他时间对媒体内容进行编码。
编码器组件112可以对每一个宏码块施加变换,例如离散余弦变换(DCT)等。在另一个方面,一帧可以被分割成其他图像处理单元(例如编码树单元)以用于视频编码。注意,描述或采用宏块或码块的实施例也可以采用其他图像处理单元以进行视频编码。编码器组件112可以基于诸如宏块、帧等选择独立的预测类型。例如,一帧可以被分割成多个被称为“片”的宏块序列中,并且编码器可以不为每帧选择相同的帧内编码帧类型(I帧)、双向预测帧类型(B帧)以及单向预测帧类型(P帧),而是为每个单独的片选择不同的预测类型。通常,I帧包含了能够描述整个指定图像的数据并且不需要依靠其他帧的帮助。P帧包含用于描述相对于前一帧的图像的变化的数据,因此被编码的P帧包含的数据少于I帧但是却需要其之前的帧被正确重建。类似的,B帧描述其相对于前一帧以及后一帧的差异。编码器组件112同样可以使用诸如多帧运动估计等技术,从而可以在相同的压缩比下提高视频的质量。
编码器组件112可以根据一个或者多个质量衡量标准在多种比特率下编码媒体内容。例如,编码器组件112可以在不同的质量水平或者不同的比特率(例如高、中、低等)下对视频进行编码。质量的水平可以通过码流组件116进行存储。在一个方面中,码流组件116可以将数据流存储在存储设备中(例如存储器104、缓存、或者其他存储装置中)。编码器组件112可以对与常见视频源相关联但具有不同视角的相关视频进行编码。
码流组件116可以指示编码器组件112根据不同的压缩技术或以任意数值的比特率对媒体内容进行编码。码流的大小或者相关的编码方法可以根据预设值、动态确定的值、或者用户输入来确定。在另一个方面,码流组件116可以管理编码的媒体内容(例如,媒体流)的流传输。例如,用户可以通过用户设备请求通过CDN访问视频。码流组件116可以为用户设备提供(例如,便于传输)编码视频。
在实施例中,码流组件116可以确定用户设备能够接收编码数据流的所需求的或者合适的比特率(或者其他质量衡量标准)。可以根据服务协议、可用网络资源(例如,网络负载)、描述用户设备的参数(例如,处理速度、图形处理能力、屏幕大小等)的数据、或者任何标准来确定比特率。作为对确定合适比特率的响应,码流组件116可以根据合适的比特率选择合适的数据流。码流组件116可以用于通过CDN将所选择的数据流传输给用户设备。
在本发明的各种实施例中,码流组件116可以接收切换或者改变内容流(图1中的“请求数据”)的请求。该请求可以基于用户输入、网络特性的改变(例如,网络负载级别的变化)、服务级别协议的变化、从接收设备接收到的信息、或诸如此类。例如,用户在观看交互式视频的时候希望由不同的角度观看场景。用户可以向用户设备输入信息,并且用户设备可以将请求发送至系统100中。在另一个示例中,码流组件116可以确定网络具有传输更大数据量的容量或者能力(例如,可以采用的更高比特率的数据流),并且可以切换码流。
在一些能够进行码流切换的系统中,I帧被插入至内容流的每个切换点上。当媒体流被切换时,I帧被插入至媒体流的每个切换点上。虽然I帧提供了一个低复杂度的码流切换的方法,然而与其他帧类型的尺寸相比,其尺寸相对较大,可能会对质量产生负面的影响。H.264中,被称作切换P帧/片以及切换I帧/片的切换片类型被用来引导解码器跳转到正在播放的视频流上,以达到视频流码率切换以及“特殊模式”操作的目的。当解码器通过使用切换P帧或者切换I帧的特性作为切换前的参考来跳到一个视频流中时,无论其是否用不同的图像作为参考,或者根本不用图像,都能得到一个在其位置相同的解码图片。可通过侧信息(SI)帧采用分布式源编码(DSC)以利用多组可能帧(客户端由此切换)和目标帧之间的相关性以用于获得编码增益。然而,SI帧和DSC帧相加的设计存在一些重要的问题。首先,采用位平面编码和通道编码意味着编码器和解码器的计算复杂度都很高。其次,由于采用了整个图像变换系数位平面的平均统计信息,非平稳的噪声统计信息可以导致很高的通道编码,从而降低编码效率。
编码器组件112可以在编码数据流之间实现码流切换。在一个方面,编码器组件112可以根据“信号合并”的概念执行码流切换。信号合并可以包含采用分段常量(pwc)函数作为合并算子将任意SI帧合并至相同的好的重建信号上。具体而言,编码器组件112可以对码块使用合并模式,对码块中的第k个变换系数,在编码器处对下限函数(floor function)的合适的步长和水平位移参数进行编码,使得解码器处的所得的下限函数可以将来自任意SI帧的对应系数映射至相同的重建值,而不用考虑采用了哪个数据流。编码器组件112可以根据码率失真优化程序来选择步长和水平位移以优化系统100的参数。例如,可以选择步长和水平位移以对信号的保真度和编码率产生积极影响。在另一方面,如本文所述,编码器组件112可以基于每个码块从帧内模式、跳过模式和合并模式之间选择编码模式。在其他实施例中,编码器组件112可以基于其他条件(例如,宏块(4x4码块)的大小,或诸如此类)来选择编码模式。在一个方面,当所有SI帧的相应的码块都彼此相同(就变换和量化后的量化索引而言)时可以采用跳过模式。在这种情形下,完全不需要对它们进行编码,因此可以跳过相同码块(即相同编码)。
现在参考图2和图1,图2中示出了根据本发明的一个或多个方面描述SI帧的映射的图200。图200描述了两个SI帧的码块b的第k个变换系数和其两者在pwc函数f(x)的同一个步长上。因此,两个值中每个值都可以通过f(x)映射至相同的(合并的)的信号上。由于在编码过程中和均已知,编码器组件112可以选择任何步长W以及位移c的组合以保证唯一的重建,包括正确覆盖目标帧的第k个原始系数Yb(k)的组合。不同于陪集编码的方法,编码器组件112可以通过此自由度以选择W和c的值,从而最优化地对编码率和失真率进行权衡。
在一个或多个实施例中,编码器组件112可以生成合并帧作为码流切换机制。合并帧可以具有采用合并模式、跳过模式或者帧内模式进行编码的码块。为了生成该合并帧,编码器组件112可以对SI帧进行编码以用于每个由第一帧(Fi)至第二帧(Fj)的可能切换。该SI帧可以包含P帧,此P帧采用以Fi作为预测并且以Fj作为目标的差异编码方式。因此,给定对应的预测帧,SI帧包含了对于目标帧的最佳逼近。
转到图3(同时继续参考图1),图3描述了根据本发明的实施例的码流切换系统300的高层框图。在一个方面,系统300描述了由第一数据流320到第二个数据流310的合并过程。如图所示,第二数据流310在时间点3的两个P帧P1,3314(代表SI帧)可以由时间点2(时间3之前)的预测帧(第二数据流310的P1,2312和第一数据流320的P2,2322)进行预测(例如,通过编码器组件112)。编码器组件112可以生成或者编码合并帧M1,3316以将任何可能的SI帧(P1,3314)合并至目标帧的相同的重建版本。在码流切换过程中,码流组件116可以传输任意一个SI帧(P1,3314)以及合并帧(M1,3316)以进行相同的重建,并且避免在由该合并帧预测的后续帧中的编码偏移。
如图所示,每个切换点可以生成多个SI帧。每个SI帧均可以代表对目标帧P1,3314的逼近。合并帧M1,3316可以作为需要额外解码的附加帧进行编码,因此无论哪个P1,3314被使用,P1,3314均可以解码至相同图像。
在一个或多个实施例中,编码器组件112可以对合并帧(图3中的M1,3316)进行编码,以此根据优化过程对目标帧对应的失真和合并帧的编码率进行权衡(即平衡)。注意,在编码时所有的SI帧均为已知的。定义S1,...,SN代表N个SI帧组成的集合,其中N为一个整数。由于在编码时不确定用于对合并帧进行解码的解码器缓冲器会采用N个SI帧中的哪一个。定义代表合并帧解码之后的重建图像,这个重建图像是目标图像T的一个逼近。在一方面,编码器组件112可以生成合并帧M,使得目标图像T相关的失真DT(M)和合并帧的编码率R(M)基于以下期望的平衡过程进行最佳权衡:
由此每个SI帧Sn和合并帧M的组合都能够相同地重建(例如,通过编码器或解码器)出。另一方面,编码器组件112根据通过率失真优化过程来生成合并帧M。
在一方面,编码器组件112可以为合并帧中的码块选择编码模式,例如合并模式、帧内模式或者跳过模式。对于特定的码块b,表示该码块通过合并模式进行编码,表示该码块通过帧内模式进行编码,表示该码块通过跳过模式进行编码。
在一个实施例中,编码器组件112可以将与媒体内容相关的像素转换和量化为编码块。为了达到具有相同重建能力的码流切换,属于相同对应位置的不同SI帧的系数必须映射至同一量化索引。pwc函数可以被用来当做一个合并算子。注意到多种函数可以作为pwc函数,例如上限(ceil)函数、取整(round)函数、下限(floor)函数等。虽然本实施例可能描述了特定的pwc函数,但任意其他pwc函数均可以用于实现本发明的各方面。例如,来自SI帧Sn的索引b的K个像素的编码块可以通过编码器组件112变换为其中是第n个SI帧的码块b的第K个变换系数。此外,给定量化步长QM=[QM(0),...,QM(K-1)],让代表对于不同DCT频率的量化系数。这意味着是整数,也就是 其中round(x)代表对x进行取整操作。
为了在重建帧中得到码块b的相同的重建信号每个第k个系数都必须映射至相同的量化索引上。可以通过pwc函数完成,如图2中所示的N=2的情况。在至少一个实施例中,编码器组件112可以采用下限函数f(x)作为pwc函数,其中该下限函数可以被定义为使得在实施水平位移c和步长W的向下取整操作后的原始x和重建f(x)之间的最大差异最小化。例如,下限函数可以为:
其中W为步长,c为水平位移。
注意到每个SI帧都与目标帧相关,因此每个SI帧相互之间均相互关联。所以,码块b中第k个系数的中任意一对之间的最大差异相对较小(平均而言)。定义Wb(k)为在任意两个SI帧中码
块b中两个第k个系数之间的最大的差异,例如:
给定Wb(k),码块的组中最大差异可以被定义为:
由于均为整数,因此也是整数。
对于组中的任意码块b,如果选择了合适的水平位移cb(k),对于任意的ε>0,步长足够让下限函数f(x)将中的任意系数映射至相同值上。在一个或多个方面,当通过保持以维持时可以选择较小的步长在另一方面,可以选择位移cb(k)(例如,通过编码器组件112)使得通过f(x)将(其中,n∈{1,...,N})中任意系数映射至相同值,即:
注意到的值的可行集合(表示为)为:
其中,m为整数,和被定义为:
注意到公式(4)示出了因此 还需要注意
编码器组件112可以部分基于重建信号的失真程度的要求或可接受程度来确定水平位移。例如,公式(5)中可行集合里不同的水平位移cb(k)会在重建信号中引起不同程度的失真。为了选择水平位移,编码器组件112可以定义码块b的第k个系数的失真db(k)为目标图像T的原始的第k个系数Yb(k)和重建的系数之间的差异:
选择一个有效的水平位移cb(k)可以使得所有N个第k个系数被映射到同一个值上。对应的,编码器组件112在公式(8)中可以仅考虑
给定公式(2)中f(x)和步长W,位移c(其中)可以将输入x在其周围W个整数的范围内移动。例如,假设x=x1W+x2,这里0≤x2≤W-1。类似的,假设c=c1W+c2。假设第一种情况中,对于公式(2),x2+c2<W,则:
因此,给定0≤c2<W-x2,c可以使f(x)降低c2。
再次参考公式(2),但考虑x2+c2≥W的情况。另假设W+b2=x2+c2,其中0≤b2≤W-2:
因此,给定W-x2≤c2≤W-1,c可以使f(x)增加W-c2。
在本发明的至少一些实施例中,编码器组件112可以从可能位移值的有限范围内选择位移值。例如,如本文所述,虽然公式(5)中描述cb(k)可行集合很大,但限制范围0≤cb(k)≤W-1已经足够引起f(x)中所有的变化。注意到选择了更大的步长W的编码器组件112可以在更大的cb(k)值的范围内选择位移值,尽管这样可能也会导致cb(k)的编码成本提高。例如,采用下限函数f(x)以合并转换系数,合并帧M的码块组中第k个系数的编码成本如下:
1.组中的一个步长
2.组中每个码块的水平位移cb(k)。
对较大的组中第k个系数编码一个(例如,)所需要的成本很小。然而,为第k个系数编码个水平位移cb(k)则会非常昂贵。因此,编码器组件112可以识别在一个帧中的码块作为合并组中合并码块,并且基于质量标准(例如码率失真优化)为组中块进行有效的水平位移cb(k)编码。
编码器组件112可以确定帧之间或者部分帧之间的差异的度量。这个差异的水平是基于一个特定的视觉通道(亮度、强度、色调等)、运动水平、或者基于多个视觉通道。例如,编码器组件112可以确定不同SI帧之间码块的差异水平。在一方面,编码器组件112可以根据已确定的差异的水平和/或对pwc函数的参数进行编码所需的比特数来确定使用合并模式。注意到如果该差异的水平达到了差异的水平的阈值,那么信号合并时对下限函数的参数进行编码所需的比特数可能会很高,则此时可以选择帧内编码模式。在另一方面,如果差异的水平是0,则可以采用跳过模式。
在另一方面,编码器组件112可以确定比特率是否达到阈值水平。如果已经达到了阈值水平,那么编码器组件112可以将高频系数设定为零以对cb(k)进行编码。可以为码块b生成码块结束(EOB)标记(记为Eb)使得所有高频系数(例如,达到确定的频率阈值的系数)被设定为零并且Eb取值范围为[0,...K-1]。注意到第k个系数的水平位移cb(k)的编码成本可能较高并且高频转换系数几乎都为零或接近零。
还需要注意的是不同模式的编码性能可以被不同的参数所影响。因此,可以定义如下矢量参数以直观地了解该模型:
其中,QM为跳过码块和合并码块的量化步长,QI为帧内码块的量化步长。
还注意到比特率和失真的优化可以由下式给出:
s.t. Mb∈{skip,intra,merge}
在至少一个实施例中,编码器组件112可以选择参数以对合并帧内所有码块进行优化。在一方面,编码器组件112逐个码块地选择模式。编码器组件112可以根据以下公式为帧内码块、合并码块、和跳过码块确定比特率和失真成本,其中和代表为对应编码模式中第k个系数进行编码所需的比特数:
一方面,如果选定了和c,则用于编码每个码块中的频率的失真和码率也已经确定。编码器组件112可以通过一个率失真优化的方法来确定EOB的位置。例如
在一方面,编码器组件112可以通过选择过程将码块编码为帧内块、跳过块或者合并块。例如,在某些实施例中,编码器组件112可以逐个码块地选择跳过模式、合并模式或者帧内模式为码块进行编码。编码器组件112可以确定每个块的平均失真,记为。编码器组件112随后可以为帧内编码块选择量化参数,使得其平均失真也是。对于在蛇形顺序(例如,从左上到右下等)或者其他限定顺序下的每个码块b,编码器组件112可以评估这些码块在编码时的率失真成本。例如,采用模式m:Db(m)+λRb(m),其中m∈{intra,merge,skip}。对于帧内,帧内编码块的失真Db和码率Rb由之前所述的量化参数来确定。以合并模式进行编码的码块的失真和码率是相应的码块中所有独立频率的失真和码率之和,以下将详细描述。在一方面,当相关SI帧的所有对应码块被确定为彼此相等时,编码器组件112可以选择跳过模式。例如,当所有SI帧的相应码块均彼此相等时(就变换和量化后的量化索引而言),可以采用跳过模式。在这种情况下,并没有必要对其进行编码,因此在编码过程中相同的码块被跳过。编码器组件112可以为码块b的编码选择具有最小率失真成本的模式(帧内、跳过或合并)。在一方面,如果模式的率失真成本都在彼此的阈值范围之内(例如,足够接近),编码器组件112可以根据需要的配置、实现模式所得到的帧的大小、或诸如此类条件来选择任意一种模式。
给定选择用合并模式进行编码的码块定义W*(k)=maxbWb(k)为这些码块中第k个系数里最大的Wb(k),编码器组件112可以根据W*(k)重新优化这些码块的位移选择。注意到由于那些在SI中具有大差异的码块均已经被定义成帧内码块了,剩下的码块应该更加相似,使得W*(k)更小。小的步长W*(k)+ε意味着用于编码的水平位移cb(k)的字母规模(cb(k)∈[0,W*(k)+ε))也更小,从而得到编码增益。
在另一方面,编码器组件112可以采用失真标准对每个码块b的第k个系数重新选择水平位移cb(k)。例如,率失真的标准可以如下所示:
其中,db(k)为失真项,码率项则是当前cb(k)与前一码块b-1的cb-1(k)的差异概率的负对数。换而言之,编码器组件112可以被配置为仅对当前码块与前一码块的位移的差异Δb(k)=cb(k)-cb-1(k)进行编码。注意到为给定步长W*(k)+ε时cb(k)的可行集合。
编码器组件112可以通过算术编码技术将给定码块b中不同频率的k的位移差异Δb(k)作为一个码字进行编码。例如由第一个码块的频率k的Δb(k)的初始的概率分布开始,根据收集的该频率的之前的编码合并码块的统计信息,每个随后的码块均可以得到更新的分布。
在一些实施例中,给定的目标帧的高频分量几乎为零或者接近零,编码器组件112可以在目标码块的剩余的频率分量都小于阈值ρ时编码EOB标志。这意味着编码器组件112可以为每个码块编码更少数量的位移差异Δb(k)。在其他实施例中,如本文所述,可以根据率失真优化过程选择EOB。
如上所述,通过采用公式(9)为大λ值选择位移cb(k),所得到的Δb(k)的统计信息会比陪集编码中的陪集索引或者其他编码技术更有利于压缩。注意到公式(9)为示例性公式并且其他公式也可以在本发明的不同实施例中使用。在一方面,给定为帧内所有合并码块的第k个系数选定的单个W*(k),对于许多码块bW*(k)可能远大于SI帧中的典型的最大系数差异Wb(k)。pwc函数中相对大的步长意味着同一个位移cb(k)可以被序列中较多的码块的信号重复采用,也就是说高概率出现Δb(k)=0,导致在采用算术编码时出现压缩增益。这与陪集编码中的陪集索引是相反的,陪集编码统计行为更类似于最低有效位过程(其可以为非常随机的过程)。在公式(9)中选择Δb(k)=0的成本经常带来失真的恶化。
转到图4,描述了根据本发明的不同实施例的可以实现编码内容的传输以及码流切换的系统400。在此描述的系统、设备或过程的(多个)方面可以组成在(多个)机器中实施的机器可执行组件,例如,实施为一个或多个与一个或多个机器相关的计算机可读媒介(媒体)。当这些组件被一个或多个机器(例如,(多个)计算机、(多个)计算机设备、(多个)虚拟机等)执行时,可以使得(多个)机器执行在此描述的操作。
系统400可以主要包括服务器组件410和客户端组件420。服务器组件410可以包括可以实现计算机可执行组件的操作和存储在存储器设备(例如存储器404)中指令的处理器402。注意,客户端组件420也可以包括处理器和/或存储器设备。服务器组件410还可以包括编码器组件412以及码流组件416。服务器组件410的组件可以包括系统100的全部组件的功能和/或在本文描述的其他功能。客户端组件420还可以包括解码器组件422(可以对数据流解码)以及选择器组件424(用于生成切换数据流的请求)。还注意到系统400可以包括一个或多个客户端、服务器和/或网络应用程序。此外,虽然图中各个组件被描述为单独的组件,但需要注意的是这些组件可以被包含在一个或多个设备中、单设备中、或在设备之间等。在另一方面,系统400可以被包括在诸如个人计算机、服务器、便携计算机、平板计算机、智能手机、个人数字助理等较大设备中。
选择器组件424可以接收与数据流的选择相关的用户输入。例如,用户可以由CDN选择视频。选择器组件424可以生成对数据流的请求并且将该请求传输给服务器组件410。在一个方面,选择器组件424可以生成的请求包含描述数据流的数据、描述用户资料的数据、描述客户端组件420操作参数的数据等。在另一个方面,选择器组件424可以生成描述用户希望切换数据流或与接收、显示、编码数据流等相关的性能指标的更新请求。
服务器组件410可以接收客户端组件420的请求,码流组件416可以选择合适的数据流。例如,用户可以由CDN请求赛马的视频。该请求可以通过服务器组件410接收,并且可以选择该赛马视频的数据流。在一个或多个示例中,该数据流可以为存储在存储器中的预编码数据流。在另一个示例中,可以响应于所接收的请求而对该数据流进行编码(例如,通过编码器组件412)。码流组件416可以监控进入的请求以及描述网络资源可用性的参数。例如,进入的请求可以包括描述用户希望改变视频视图的数据,码流组件416可以选择合适的数据流。在另一个示例中,进入的请求可以包括请求改变与数据流编码相关的比特率的数据(例如,更高或更低的比特率)。在另一个示例中,进入的请求可以包括期望的比特率和/或增加/减少比特率的指令。在又一个示例中,码流组件416可以监控网络性能指标,并且基于所监控的网络性能指标的改变来确定数据流的切换。例如,如果网络的负载正在增加,码流组件416可以选择低比特率的数据流传输。在另一个示例中,如果网络的负载正在降低,码流组件416可以选择高比特率的数据流传输。
编码器组件412可以根据本发明的多个方面实现数据流的合并。例如,编码器组件412可以指示码流组件416采用合并帧和/或帧内帧将第一数据流合并至第二流数据。在一个方面,数据流可以被切换,客户端组件420可以接收切换后的数据流。
解码器组件422可以采用本发明的多个实施例对进入的数据流进行解码。例如,解码器组件422可以接收的数据流中包含:描述了步长、位移参数、合并函数的数据;描述了帧类型和/或码块类型;以及描述了编码内容的其他数据。在一个方面,解码器组件422可以包括描述编码技术和/或相应解码技术的数据。需要注意的是解码技术可以根据存储的数据确定和/或根据接收到的数据流中的数据确定。
解码器组件422可以解码进入的数据流,使得数据流可以用pwc函数作为合并算子将任意SI帧合并至一个相同的良好的重建信号。在一个示例中,解码器组件422可以对编码块采用合并模式,使得pwc函数可以将任意SI帧的对应的系数映射至同一个重建值。如上文描述,解码端组件422可以采用码块中第k个变换系数、pwc函数的合适的步长和水平位移来重建图像。重建的图像可以呈现在接口设备(例如显示器)上,使得码流合并被有效的处理。
参照图5-8,图500、600、700和800示出了本发明的多个方面与DSC帧编码技术的对比。图500是赛马视频的编码技术对比,图600是聚会场景视频的编码技术对比,图700是商场场景视频的编码技术对比,图800是篮球训练视频的编码技术对比。对于每个序列,系统(例如系统100、系统300、系统400等)生产两个SI帧,这两个SI帧均通过不同量化参数进行压缩获得的前一帧的不同编码版本的预测帧来进行预测编码。随后,变化SI帧的量化参数以得到不同的码率失真权衡。给定一对由特定量化参数进行编码的SI帧,系统在采用公式(9)选择水平位移时采用λ的范围对合并帧进行编码。所有操作点的凸包代表了本发明的多个方面的率失真的性能。作为比较,这些图还包括一种不同的DSC编码方案的率失真性能(由虚线表示)。
在图5和图6中,本发明的编码技术在所有比特率区域均优于DSC帧编码技术。在图7和图8中,本发明的编码技术在低-中比特率区域优于DSC帧编码技术。虽然未显示,在所有的序列中低码率下Δb(k)的统计信息都更倾向于Δb(k)=0,意味着水平位移在低码率的编码下对算术编码更有利,从而解释了图中的现象。需要注意的是在图500-800中描述的编码技术的性能可以基于参数的选择而改变。
注意到本发明的编码方法具有比DSC编码技术更大的优势。例如,采用率失真过程选择的EOB和/或选择跳过模式的实施例可以提高系统的性能。在另一个方面,选择不同的参数和/或选择不同的函数作为pwc函数可以提供其他的结果。相比于其他编码技术,这些实施例的结果可以提供更好的结果。
基于上述的(多个)系统和装置,以下参考附图9-图12的进一步描述根据本发明的主题实施的(多个)示例性方法。为了描述方便起见,本发明公开的示例性方法将会以一系列的操作来描述和展示;但是,需要注意本发明要求保护的主题并不受限于这些操作的顺序,这些操作可能以不同的顺序发生和/或彼此同时发生。例如,本发明的一个或者多个示例方法可以替代为一系列相互关联的状态或者事件,例如状态图。此外,当不同的实体执行方法不同的部分时,(多个)交互图也可以用来表示本发明的方法。此外,不是所有描述的操作对于描述的方法来说是必须的。此外,两个或多个公开的示例方法可以相互结合实现,以完成一个或多个本文描述的特征或优势。
转到图9,示出了在内容分发系统中对合并帧进行编码和解码的示例性方法900。在一个方面,方法900可以生成本发明描述的合并帧(例如,通过系统100、300、400等)。注意到采用本发明的各种方面可以决定方法900的效率。
在902中,系统可以根据第一数据流的第一预测帧以及第二数据流的第二预测帧生成合并帧(例如,通过编码器组件112),其中第一预测帧和第二预测帧对应于同一个时间点。如图2中所示,可以根据一个或多个相关码流的之前的帧来产生一组SI帧。
在904中,系统可以响应于切换数据流的指令生成包含合并帧和第一预测帧或第二预测帧中至少一个的传输信号(例如,通过码流组件116),其中第一预测帧和合并帧被配置为构建成目标帧,第二预测帧和合并帧被配置为相同地构建成该目标帧。
在906中,系统可以根据合并帧和第一预测帧或第二预测帧中至少一个来构建图像(例如,通过解码器组件422)。注意,可以通过任意的预测帧来重建相同的图像。在另一个方面,构建图像可以包括解码数据流和/或使用pwc函数(和/或接收的pwc函数的参数)。
现在参照图10,示出了在内容传输系统中生成合并帧的示例性方法1000。在一个方面,方法1000可以使用本文中描述的率失真优化过程(例如,通过系统100、300、400等)。注意,采用本发明的各种方面可以决定方法1000的效率。
在1002中,系统可以根据定义了合并帧编码的性能指标之间关系的优化过程来确定合并函数的参数(例如,通过编码器组件112)。在1004中,系统可以基于每个块从一组编码模式中为合并帧选择编码模式(例如,通过编码器组件112),这一组编码模式包括利用分段常量合并算子的合并模式、识别对应码块的相同值的跳过模式、以及与完整描述图像相关的帧内模式。在1006中,系统可以响应于为一组码块选择合并模式来为分段常量合并算子确定一组更新的参数(例如,通过编码器组件112)。
图11示出了对内容传输网络中数据流进行切换的示例性方法1100。注意,采用本发明的各种方面可以决定方法1100的效率。在1102中,系统可以将一个或多个视频项目转换成一组压缩过的视频项目(例如,通过编码器组件412)。在一个方面,系统可以采用熵编码、离散变换等。在1104中,系统可以根据被配置为平衡合并帧特性的程序来确定分段常量合并操作的参数以生成合并帧(例如,通过编码器组件412)。在一个方面,该程序可以为对合并帧相关的尺寸和目标帧相关的失真之间进行平衡的优化过程。作为示例,系统可以为下限函数确定步长和位移参数。在另一个示例中,系统可以为合并帧中的每个合并码块确定EOB的位置。注意,该系统可以为各种其他pwc函数确定其他参数。
在1106中,系统可以在数据流传输过程中对分段常量合并算子的参数进行编码(例如通过编码器组件412)。例如,这些参数可以作为码块的系数进行编码。在1108中,系统可以从与该组压缩视频项目的一个压缩视频项目相关的第一数据流的传输切换至与该组压缩视频项目的另一个压缩视频项目相关的第二数据流的传输(例如,通过码流组件416)。
转到图12,参考图1-图4,示出了对内容传输网络中数据流的传输进行切换的示例性方法1200。注意,采用本发明的各种方面可以决定方法1200的效率。在1202中,系统可以监控网络资源的可用性(例如,通过码流组件416)。在一个方面,系统可以确定网络的负载或其他与网络相关的性能指标。
在1204中,系统可以根据确定为满足预定阈值的一组网络设备的可用资源或者根据描述数据流切换的请求来检测码流切换事件(例如,通过码流组件416)。例如,系统可以根据网络负载确定码流的切换。在1206中,响应于检测到码流切换事件,系统可以传输合并帧和第一数据流或第二数据流中的至少一个预测帧(例如,通过码流组件416)。
为了给本发明的主题的各方面提供背景,图13以及后续讨论旨在为本发明主题的各方面可以实施的合适环境提供简要和概括的描述。该主题在之前被描述成可以在计算机(或多个计算机)上运行的计算机程序的计算机可执行指令,但本领域的专业人员可以意识到能够结合其他程序化模块实施本发明的各方面。通常,程序模块包括可以执行特殊的任务和/或实现特殊的抽象数据类型的例程、程序、组件、数据结构等。例如,在存储器(例如,存储器104)中可以存在能够指示处理器(例如,处理器102)执行各种操作的软件。处理器可以被配置为采用基于本发明各方面的码流切换过程执行指令以实现数据流的编码/解码。
此外,本领域的专业人员应该理解本发明的各方面可以由其他计算机系统配置执行,包括单处理器或多处理器计算机系统、小型计算设备、大型计算机、以及个人计算机、基站、手持式计算设备或用户设备(如平板,手机,手表等)、基于处理器的计算机/系统、基于微处理器或可编程消费或工业电子设备等。描述的方面也可以在分布式计算环境下实施,在分布式计算环境中(多个)任务通过由通信网络连接的远程处理设备执行;但是本发明的一些(但不是所有)方面可以由独立计算机执行。在分布式计算的环境下,程序模块可以位于本地和/或远程存储器存储设备中。
现在参考图13,用于实施本发明各方面的合适的环境1300包括计算机1302。计算机1302包括处理单元1304、系统存储器1306和系统总线1308。系统总线1308将包括(但不限于)系统存储器1306的系统组件与处理单元1304连接。处理单元1304可以是任意可行的处理器。也可以采用双重微处理器和其他多重处理器架构作为处理单元1304。
系统总线1308可以为多种类型的总线结构中的任意一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或采用各种可行的总线架构(包括但不限于工业标准架构(ISA)、微通道架构(MSA)、扩展ISA(EISA),智能驱动电子(IDE)、VESA局部总线(VLB)、外围组件互连(PCI)、卡总线、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、火线(IEEE1394)和小型计算机系统接口(SCSI))的局部总线。
系统存储器1306包括易失性存储器1310和非易失性存储器1312。基本输入/输出系统(BIOS),包含例如在启动时在计算机1302中元件之间传输信息的基本例程,被存储在非易失性存储器1312中。以下以示例的方式进行说明而并非限制,非易失性存储器1312可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器,或非易失性随机存取存储器(RAM)(例如,铁电RAM(FeRAM))。易失性存储器1310包括随机存取存储器(RAM),起外部高速缓冲存储器的作用。以下以示例的方式进行说明而并非限制,RAM可有许多形式,如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、直接Rambus RAM(DRRAM)、直接Rambus动态RAM(DRDRAM)和Rambus动态RAM。
计算机1302还包括可移动/不可移动、易失性/非易失性计算机存储介质。例如,图13示出了磁盘存储器1314。磁盘存储器1314包括但不限于:磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡设备、或记忆棒等设备。磁盘存储器1314还可以包括单独的或与其他存储介质结合的存储介质,包括但不限于:诸如高密度光盘ROM设备(CD-ROM)、可记录CD驱动器(CD-R驱动器)、可擦写光盘驱动器(CD-RW驱动器)或数字通用光盘ROM驱动器(DVD-ROM)等光盘设备。为了便于将磁盘存储设备1314与系统总线1308连接,通常使用了可移动或不可移动接口,如接口1316。
图13还描绘了软件以用作用户和合适的操作环境1300中描述的基本计算机资源之间的媒介物。这种软件包括(例如)操作系统1318。操作系统1318可以被存储在磁盘存储器1314上,用来操作和分配计算机系统1302的资源。操作系统1318通过程序模块1322和程序数据1324(例如,存储在系统存储器1306或磁盘存储器1314上)来操作系统应用程序1320以利用资源管理。可以理解的是本发明可以实施为各种操作系统或操作系统的组合。
用户通过(多个)输入设备1326将命令或者信息输入至计算机1302。输入设备1326包括但不限于诸如鼠标、跟踪球、指示笔、触摸板、键盘、麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、TV调谐卡、数码相机、数码摄像机、网络摄像头等指示设备。这些以及其它输入设备经由(多个)接口端口1328通过系统总线1308连接至处理单元1304。接口端口1328包括(例如)串行端口、并行端口、游戏端口、以及通用串行总线(USB)。(多个)输出设备1330使用一些与(多个)输入设备1326相同类型的端口。例如,USB端口可以用于提供输入至计算机1302,并且由计算机1302输出信息至输出设备1330。提供输出适配器1332以示出存在一些诸如监视器、扬声器和打印机等需要特殊适配器的输出设备。以下以示例的方式进行说明而并非限制,输出适配器1332包括视频卡和声卡以提供用于连接输出设备1330和系统总线1308的工具。应当注意,其他设备和/或设备的系统可以同时提供输入和输出能力,例如(多个)远程计算机1334。
计算机1302可以在网络环境下用本地连接操作一个或多个远程计算机,例如(多个)远程计算机1334。(多个)远程计算机1334可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其它常见的网络节点等,并且通常包括许多或全部所描述的计算机1302相关的元件。为了简明起见,仅示出了一个具有存储器设备1336的远程计算机1334。(多个)远程计算机1334通过网络接口1338逻辑连接至计算机1302,然后通过通信连接1340物理连接。网络接口1338包括有线和/或无线通信网络,例如本地区域网络(LAN)、广域网(WAN)、蜂窝网络等。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网、令牌环等。WAN技术包括但不限于点对点链路、电路交换网(如综合业务数字网(ISDN)及其变型)、数据包交换网络、以及数字用户线(DSL)。
(多个)通信连接1340代表是将网络接口1338连接至总线1308的硬件/软件。为了清楚起见,通信连接1340被表示为处于计算机1302的内部,其同样也可以处于计算机1302外部。同样,连接至网络接口1338所需的硬件/软件包括(只作示例)诸如调制解调器(常规电话级调制解调器、电缆调制解调器和DSL调制解调器)、ISDN适配器和以太网卡等内部和外部的技术。
根据本发明的各个方面和实施方式,计算机1302可以用于对数据进行编码,该数据可以为视频帧(例如原始视频帧)序列的形式,例如数字媒体数据。作为更充分的公开,在一些实施中,计算机1302可包括多个可用于处理数据和执行计算任务(例如,编码相关的任务和/或解码相关的任务等)的处理器。计算机1302包括编解码器1305,该编解码器1305可以包含(例如)编码器组件和/或解码器组件(例如,系统100、系统400等),其中其各自的功能将在下文详细描述。在一些实施中,编解码器1305可以(例如,顺序地或并行地)对数据执行各种编码任务(例如:生成运动估计和运动矢量;对码块和相关的运动矢量进行编码;确定是否采用帧内模式、跳过模式或合并模式;率失真优化;识别当前码块的编码模式;为当前码块的编码分配比特数等)。在一些实现中,编解码器1305可以额外地或选择性地(例如,顺序地或并行地)对数据执行各种解码任务(例如,通过步长、pwc函数对码块进行解码等)。
根据一种实施,多输入多输出网络中的一个或多个设备包括电池、用户设备和天线的组合。在一些实施中,多输入多输出网络的一个或多个设备包括三个或更多的电池。
图14是可以和本发明的主题互相作用的示例计算环境1400的示意性框图。该系统1400包括一个或多个客户端1402。(多个)客户端1402可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1400包括一个或多个服务器1404。因此,除了其他模型,系统1400还可对应于两重客户端服务器模型或多重模型(例如,客户端、中间层服务器、数据服务器)。(多个)服务器1404也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,(多个)服务器1404可以利用多个线程以通过采用本发明执行变换。客户端1402和服务器1404之间的一种可能的通信可以是在两个或更多的计算机进程之间传输数据包的形式。
系统1400包括可以被用以促进(多个)客户端1402和(多个)服务器1404之间通信的通信框架1406。(多个)客户端1402可以被有效地连接到一个或多个客户端数据存储器1408上,该客户端数据存储器1408可以将本地信息存储至客户端1402上。类似地,(多个)服务器1404可以被有效地连接到一个或多个服务器数据存储器1410,该服务器数据存储器1410可以将本地信息存储至服务器1404上。
应当理解和了解,本文描述的与特定系统和方法相关的组件(例如,编码器组件、解码器组件、码流组件等)可以包含的功能可以与本文描述的其他系统相关的相应组件(例如,分别命名的组件或类似命名的组件)的功能相同或类似。
注意,本发明的各方面或特征可以应用在基本所有无线电通信或无线电技术中,例如:Wifi;蓝牙;全球微波互联接入(WiMAX);增强型通用分组无线业务(增强型GPRS);第三代合作伙伴计划(3GPP)长期演进(LTE);第三代合作伙伴计划2(3GPP2)超移动宽带(UMB);3GPP通用移动电信系统(UMTS);高速分组接入(HSPA);高速下行分组接入(HSDPA);高速上行分组接入(HSUPA);GSM(全球移动通信系统);EDGE(增强型数据速率GSM演进技术)无线电接入网络(GERAN);UMTS陆地无线电接入网络(UTRAN);高级LTE(LTE-A)等。另外,本文描述的一些或所有方面可以被利用在传统的电信技术中,例如GSM。此外,移动以及非移动网络(例如,因特网、诸如因特网协议电视(IPTV)等数据服务网络等)可以采用本文所述的各方面或特征。
虽然以上描述的主题通常位于在计算机和/或多个计算机上运行的计算机程序的计算机可执行指令中,本领域技术人员应当意识到本发明还可以或可能结合其他程序模块实施。通常,程序模块包括执行特定任务和/或实施特定的抽象数据类型的例程、程序、组件、数据结构等。此外,本领域技术人员可以理解本发明的方法可以通过其他计算系统配置执行,这些计算系统配置包括单处理器或多处理器计算机系统、小型计算设备、大型计算机,以及个人计算机、手持计算设备(例如,PDA、手机、平板)、基于微处理器或可编程消费或工业电子设备等。描述的方面也可以在分布式计算环境下实施,在分布式计算环境中(多个)任务通过由通信网络连接的远程处理设备执行;但是本发明的一些(但不是所有)方面可以由独立计算机执行。在分布式计算的环境下,程序模块可以位于本地和/或远程存储器存储设备中。
在本申请中,术语“组件”、“系统”、“平台”、“接口”等可以参考和/或包括与计算机相关的实体或与具有一个或多个特定的功能的操作机相关的实体。本发明公开的实体可以是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以(但不限于)为,在处理器上运行的处理、处理器、对象、可执行文件、执行的线程、程序、和/或计算机。通过举例说明的方式,在服务器上运行的应用程序和服务器都可以是组件。一个或多个组件可以停留在进程和/或执行的线程内,并且组件可以局限于一台计算机上和/或分布在两个或更多计算机之间。
在另一个示例中,各组件可从执行其上存储有各种数据结构的各种计算机可读介质。组件可以通过本地和/或远程进程进行通信,例如根据具有一个或多个数据分组的信号(例如,通过该信号,一个组件的数据与本地系统、分布式系统、和/或诸如具有其他系统的互联网等网络中的另一个组件进行交互)。作为另一个示例,组件可以是具有特殊的功能、并且由被电器或电子电路操作(通过处理器执行软件或固件应用程序以进行操作)的机械部分所提供的装置。在此情况下,处理器可以在设备的内部或者外部,并且执行软件或固件应用程序的至少一部分。在又一个示例中,组件可以为通过没有机械部分的电子组件提供特定功能的装置,其中电子组件可以包括处理器或其他方法以执行至少赋予了部分的电子组件的功能的软件或固件。在一个方面中,组件可以通过虚拟机模拟电子组件,例如在云计算系统内。
此外,术语“或”意指包括性的“或”而非排他性的“或”。即除非另外指定、或者从上下文可以清楚地了解,“X采用A或B”旨在说明是任何自然的包括性的排列。即如果X采用A;X采用B;或X同时采用A和B,那么即满足上述示例中的“X采用A或B”。此外,用在本说明书和附图的冠词“一个”和“一种”应通常被解释为表示“一个或多个”,除非另有说明或明确从上下文可以了解到其指向单数形式。
如本文所用,术语“示例”和/或“示例性”被用于表示用作示例、实例或示出。为避免疑问,本文公开的主题并不仅限于这些示例。此外,本文中作为“例子”和/或“示例性”描述的方面或设计不需要被构建为优选或有利于其他方面或设计,也不旨在排除本领域的普通技术人员已知的等效示例性结构和技术。
本文中所描述的各方面可以被实施为方法、装置、系统或采用标准编程或工程技术制作的物品。此外,本发明公开的各个方面或特征可以通过实施了至少一种或多种本文公开的方法的程序模块实现,该程序模块被存储在存储器中并通过至少一个处理器执行。硬件和软件、或硬件和固件的其他组合可以实现或实施本文描述的各个方面,包括公开的(多个)方法。上文中采用的术语“制作的物品”可以包含可以从任何计算机可读设备、载体、或存储介质访问的计算机程序。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条...)、光盘(例如,压缩光盘(CD)、数字多功能光盘(DVD),蓝光光盘(BD)...)、智能卡和闪存设备(例如,卡、棒、钥匙驱动器)等。
在本发明中术语“处理器”可以代表基本上任何计算处理单元或设备,其包括但不限于:单核处理器、具有多线程软件执行能力的单处理器、多核处理器、具有多线程软件执行能力的多核处理器;具有硬件多线程技术的多核处理器;并行平台;以及具有分布式共享存储器的并行平台。此外,处理器可以代表集成电路、特殊应用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑控制器(PLC)、复杂可编程逻辑器件(CPLD)、离散门或晶体管逻辑、离散硬件组件、或被设计以执行本文所述功能的任意组合。另外,处理器可使用纳米级架构,例如但不限于分子和量子点晶体管、开关和门,以便优化空间的使用或增强用户设备的性能。处理器还可以被实施为计算处理单元的组合。
在本发明中,诸如“存储”、“储存”、“数据存储”、“数据库”等术语以及被称为“存储器组件”的基本上任何与组件的操作和功能相关的其他信息存储组件实体体现为“存储器”或包含存储器的组件。但是应当理解的是,本文中所描述的存储器和/或存储器组件可以是易失性存储器或非易失性存储器,或可同时包括易失性和非易失性存储器。
以下通过举例的方式说明而并非限制,非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM),电可擦除ROM(EEPROM)、闪速存储器、或非易失性随机存取存储器(RAM)(例如,铁电RAM(FeRAM))。易失性存储器可以包括(例如)RAM以充当外部高速缓存存储器。以下通过举例的方式说明而并非限制,RAM可有许多形式,例如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、直接Rambus RAM(DRRAM)、直接Rambus动态RAM(DRDRAM)以及Rambus动态RAM(RDRAM)。另外,本发明系统和方法的存储器组件包括但不限于这些任何其它合适类型的存储器。
应当理解和了解,上述与特定系统和方法相关的组件(例如,编码器组件、编码器、编解码器、编解码器组件、解码器组件,解码器、识别组件、匹配组件、计算组件、管理组件、处理组件等),可以与本文中其他系统和方法相关的对应组件(例如,分别命名组件或类似命名组件)具有相同或类似的功能。
上文描述了提供了本发明有利效果的系统和方法的示例。当然,不可能为了描述本发明而描述所有预期的组件或方法的结合,但本领域的普通技术人员能够意识到本发明的进一步的组合和排列是可能的。此外,在详细说明书、权利要求书、附件和图表中使用的术语“包含(包括)”、“具有”、“拥有”旨在是包含性的,与其相似的是在权利要求书中被采用作为过渡词术语“包括”。
Claims (24)
1.一种视频处理系统,包括:
处理器,其与存储器通信耦合,用于执行或有助于执行存储在存储器中的可执行组件,所述可执行组件包括:
编码器组件,其被配置为基于第一数据流的第一预测帧和第二数据流的第二预测帧生成合并帧,其中所述第一预测帧和所述第二预测帧对应于相同的时间点;以及
码流组件,其被配置为响应于切换数据流的指令来生成包括所述合并帧、和所述第一预测帧或所述第二预测帧中至少一个的传输信号,其中所述第一预测帧和所述合并帧被配置为构建为目标帧并且所述第二预测帧和所述合并帧被配置为构建为相同的所述目标帧。
2.如权利要求1所述的系统,其中所述编码器组件还被配置为基于分段常量合并算子生成所述合并帧。
3.如权利要求2所述的系统,其中所述编码器组件还被配置为基于被配置为平衡所述合并帧特性的程序来选择所述分段常量合并算子的参数。
4.如权利要求3所述的系统,其中所述编码器组件还被配置为基于率失真程序选择步长和水平位移来平衡所述合并帧的比特率和所述合并帧的失真指标。
5.如权利要求2所述的系统,其中所述编码器组件还被配置为将所述分段常量合并算子的参数编码到传输信号中。
6.如权利要求2所述的系统,其中所述编码器组件还被配置为基于被配置为平衡所述合并帧特性的程序来确定码块结束标记的位置。
7.如权利要求2所述的系统,其中所述分段常量合并算子从包括上限算子、取整算子、下限算子的组中选择。
8.如权利要求1所述的系统,其中所述编码器组件还被配置为从一组编码模式中为所述合并帧选择编码模式,所述一组编码模式包括采用分段常量合并算子的合并编码模式、识别对应码块相同值的跳过模式、或充分描述图像的帧内编码模式。
9.如权利要求8所述的系统,其中所述编码器组件进一步被配置为在合并帧中基于每一个码块选择编码模式。
10.如权利要求9所述的系统,其中所述编码器组件还被配置为基于对以所述合并编码模式为所述合并帧的所述码块进行编码、以所述帧内编码模式为所述合并帧的所述码块进行编码、以及以所述跳过编码模式为所述合并帧的所述码块进行编码的比较,来选择所述合并帧中码块的编码模式。
11.如权利要求8所述的系统,其中所述编码器组件还被配置为响应于为一组码块选择了所述合并编码模式来为所述分段常量合并算子确定新的步长和新的水平位移。
12.如权利要求1所述的系统,还包括解码器组件,其被配置为基于所述合并帧、以及所述第一预测帧或第二预测帧中的至少一个来构建图像。
13.一种视频处理方法,包括:
通过包含处理器的系统,基于对合并帧的编码的至少一种性能指标之间的关系进行定义的过程来确定合并函数的参数;
通过所述系统,基于由第一数据流的第一传输信号切换至第二数据流的第二传输信号的合并函数来生成合并帧;以及
响应于检测到码流切换事件,通过所述系统传输所述合并帧、以及所述第一数据流和所述第二数据流中至少一个的预测帧。
14.如权利要求13所述的方法,还包括:
通过所述系统,基于一组网络设备的可用资源是否被确定为满足预设的阈值来检测所述码流切换事件。
15.如权利要求13所述的方法,还包括:
通过所述系统,基于描述请求切换数据流的数据来检测所述码流切换事件。
16.如权利要求13所述的方法,其中生成所述合并帧包括:
基于所述过程为所述合并帧的每个码块确定编码过程;以及
响应于确定为一组码块采用合并编码过程,为这组码块确定步长和水平位移。
17.一种视频处理系统,包括:
存储器,用于存储可执行指令;以及
处理器,耦合至所述存储器,用于执行或有助于执行所述可执行指令以进行操作,所述操作包括:
将一个或多个视频项目转化为一组压缩的视频项目;
为了生成合并帧,基于平衡所述合并帧相关的大小和目标帧相关的失真度的过程来确定分段常量合并操作的参数;以及
基于所述分段常量合并操作、所述一组压缩视频项目的第一压缩视频项目的第一预测帧、所述一组压缩视频项目的第二压缩视频项目的第二预测帧来生成所述合并帧。
18.如权利要求17所述的系统,其中所述操作还包括由所述一组压缩视频项目的一个压缩视频项目相关的第一数据流的第一传输信号切换到所述一组压缩视频项目的另一个压缩视频项目相关的第二数据流的第二传输信号。
19.如权利要求17所述的系统,其中生成所述合并帧包括为帧内编码过程选择所述合并帧的第一组码块、为跳过编码过程选择所述合并帧的第二组码块、以及为所述合并编码过程选择所述合并帧的第三组码块。
20.如权利要求17所述的系统,其中生成所述合并帧包括将所述分段常数合并操作的所述参数编码进数据流的传输信号中。
21.一种视频处理方法,包括:
生成代表媒体项目的被压缩部分的合并帧,所述合并帧被配置为有助于从第一数据流的传输切换至第二数据流的传输,其中目标帧基于所述第一数据流或基于所述第二数据流被相同地构建;以及
基于所述合并帧的大小以及目标帧相关的失真的优化来确定合并操作的参数,所述合并操作代表所述合并帧的编码过程采用的操作。
22.如权利要求21中所述的方法,其中生成所述合并帧包括:基于将所述合并帧中码块的与第一编码过程相关的第一组值与所述合并帧中码块的与第二编码过程相关的第二组值进行比较来为所述合并帧的码块选择编码模式。
23.如权利要求21中所述的方法,还包括响应于检测到切换数据流的请求,将第一数据流的传输改变为第二数据流的传输。
24.如权利要求21中所述的方法,其中所述将第一数据流的传输改变为第二数据流的传输包括将所述合并帧编码到第二数据流中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361957941P | 2013-07-16 | 2013-07-16 | |
US61/957,941 | 2013-07-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104539948A true CN104539948A (zh) | 2015-04-22 |
CN104539948B CN104539948B (zh) | 2018-12-21 |
Family
ID=52344714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410340259.0A Active CN104539948B (zh) | 2013-07-16 | 2014-07-16 | 视频处理系统和视频处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9462306B2 (zh) |
JP (1) | JP6367030B2 (zh) |
CN (1) | CN104539948B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072151A (zh) * | 2015-07-03 | 2015-11-18 | 中国联合网络通信集团有限公司 | 一种cdn的内容协同调度方法及系统 |
CN109104552A (zh) * | 2017-06-20 | 2018-12-28 | 佳能株式会社 | 摄像设备、摄像设备的处理方法和存储介质 |
CN112042205A (zh) * | 2018-10-15 | 2020-12-04 | 海信视像科技股份有限公司 | 信息处理系统及信息处理装置 |
CN113495683A (zh) * | 2020-03-19 | 2021-10-12 | 西部数据技术公司 | 归一化服务质量的熵驱动耐久性 |
CN115604194A (zh) * | 2021-06-28 | 2023-01-13 | 塞纳传媒有限公司(Gb) | 视频传输速率的段内调整 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2838268B1 (en) * | 2013-07-31 | 2019-02-20 | Axis AB | Method, device and system for producing a merged digital video sequence |
WO2019075428A1 (en) | 2017-10-12 | 2019-04-18 | Shouty, LLC | SYSTEMS AND METHODS FOR DIRECT CONTINUOUS DIFFUSION OF CLOUD STORAGE |
US10841356B2 (en) * | 2018-11-28 | 2020-11-17 | Netflix, Inc. | Techniques for encoding a media title while constraining bitrate variations |
US10880354B2 (en) | 2018-11-28 | 2020-12-29 | Netflix, Inc. | Techniques for encoding a media title while constraining quality variations |
US10645386B1 (en) * | 2019-01-03 | 2020-05-05 | Sony Corporation | Embedded codec circuitry for multiple reconstruction points based quantization |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6543053B1 (en) | 1996-11-27 | 2003-04-01 | University Of Hong Kong | Interactive video-on-demand system |
US6434196B1 (en) * | 1998-04-03 | 2002-08-13 | Sarnoff Corporation | Method and apparatus for encoding video information |
US20020122491A1 (en) * | 2001-01-03 | 2002-09-05 | Marta Karczewicz | Video decoder architecture and method for using same |
US6920175B2 (en) * | 2001-01-03 | 2005-07-19 | Nokia Corporation | Video coding architecture and methods for using same |
US20060227870A1 (en) | 2005-03-10 | 2006-10-12 | Tao Tian | Context-adaptive bandwidth adjustment in video rate control |
KR101086430B1 (ko) | 2007-02-28 | 2011-11-25 | 삼성전자주식회사 | 압축 부호화된 영상 데이터 스트림의 역양자화 방법 및 그장치 |
US20090106807A1 (en) | 2007-10-19 | 2009-04-23 | Hitachi, Ltd. | Video Distribution System for Switching Video Streams |
US9226022B2 (en) | 2008-08-26 | 2015-12-29 | Csir | Method of switching from a first encoded video stream to a second encoded video stream |
EP2426923A1 (en) | 2010-09-02 | 2012-03-07 | British Telecommunications Public Limited Company | Adaptive streaming of video at different quality levels |
CN102270348B (zh) | 2011-08-23 | 2013-08-07 | 中国科学院自动化研究所 | 基于视频流的对变形手势进行跟踪的方法 |
US20130055326A1 (en) * | 2011-08-30 | 2013-02-28 | Microsoft Corporation | Techniques for dynamic switching between coded bitstreams |
CN102497552B (zh) | 2011-12-07 | 2014-07-02 | 北京大学 | 一种包含构造图像的视频位流的解码缓冲区管理控制方法 |
US9288506B2 (en) * | 2012-01-05 | 2016-03-15 | Qualcomm Incorporated | Signaling view synthesis prediction support in 3D video coding |
-
2014
- 2014-07-11 US US14/329,786 patent/US9462306B2/en active Active
- 2014-07-15 JP JP2014144853A patent/JP6367030B2/ja not_active Expired - Fee Related
- 2014-07-16 CN CN201410340259.0A patent/CN104539948B/zh active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105072151A (zh) * | 2015-07-03 | 2015-11-18 | 中国联合网络通信集团有限公司 | 一种cdn的内容协同调度方法及系统 |
CN109104552A (zh) * | 2017-06-20 | 2018-12-28 | 佳能株式会社 | 摄像设备、摄像设备的处理方法和存储介质 |
US10951887B2 (en) | 2017-06-20 | 2021-03-16 | Canon Kabushiki Kaisha | Imaging apparatus, processing method for imaging apparatus, and storage medium |
CN109104552B (zh) * | 2017-06-20 | 2021-10-08 | 佳能株式会社 | 摄像设备、摄像设备的处理方法和存储介质 |
CN112042205A (zh) * | 2018-10-15 | 2020-12-04 | 海信视像科技股份有限公司 | 信息处理系统及信息处理装置 |
CN112042205B (zh) * | 2018-10-15 | 2022-02-08 | 海信视像科技股份有限公司 | 信息处理系统及信息处理装置 |
CN113495683A (zh) * | 2020-03-19 | 2021-10-12 | 西部数据技术公司 | 归一化服务质量的熵驱动耐久性 |
CN115604194A (zh) * | 2021-06-28 | 2023-01-13 | 塞纳传媒有限公司(Gb) | 视频传输速率的段内调整 |
Also Published As
Publication number | Publication date |
---|---|
US9462306B2 (en) | 2016-10-04 |
JP6367030B2 (ja) | 2018-08-01 |
US20150026747A1 (en) | 2015-01-22 |
JP2015023579A (ja) | 2015-02-02 |
CN104539948B (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539948A (zh) | 视频处理系统和视频处理方法 | |
KR101644208B1 (ko) | 이전에 계산된 모션 정보를 이용하는 비디오 인코딩 | |
KR100678911B1 (ko) | 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치 | |
CN107277532B (zh) | 帧间预测的方法及其装置和运动补偿的方法及其装置 | |
CN102057677B (zh) | 用于增强层视频编码的适应性量化 | |
US8670488B2 (en) | Adaptive intra mode selection | |
US9071841B2 (en) | Video transcoding with dynamically modifiable spatial resolution | |
CN108989823B (zh) | 用于视频解码的方法 | |
CN102273080A (zh) | 在dct系数编码模式之间切换 | |
US20140036993A1 (en) | Adaptive video transcoding method and system | |
CN101677405A (zh) | 针对压缩视频的基于转码的鲁棒性流媒体技术和系统 | |
CN103999471A (zh) | 由视频描述长度引导的视频编码的速率-失真-复杂性优化 | |
CN103975601A (zh) | 视频编码的速率-失真-复杂性优化 | |
CN107005710B (zh) | 多视点图像编码/解码方法和装置 | |
CN103609115A (zh) | 具有基于知觉的帧内切换的模式决策 | |
KR20130107861A (ko) | 인터 레이어 인트라 예측 방법 및 장치 | |
KR101032243B1 (ko) | 스케일링가능한 비트스트림 추출을 위한 방법 및 시스템 | |
CN103609122A (zh) | 用于视频编码的率失真优化 | |
US10154263B2 (en) | Rate-distortion optimization-based quantization method and apparatus | |
US20110211637A1 (en) | Method and system for compressing digital video streams | |
CN111263149B (zh) | 视频编码方法和设备以及视频解码方法和设备 | |
CN106717005B (zh) | 根据参考频率控制参考图像数据的视频编码/解码方法和设备 | |
CN105828085A (zh) | 视频解码方法 | |
CN109922340A (zh) | 图像编解码方法、装置、系统及存储介质 | |
TW201803345A (zh) | 視訊解碼方法、視訊編碼方法、裝置及非暫態電腦可讀儲存媒體 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |