CN106233730B - 生成经编码输出视频帧及数据阵列的方法和系统 - Google Patents

生成经编码输出视频帧及数据阵列的方法和系统 Download PDF

Info

Publication number
CN106233730B
CN106233730B CN201580020261.2A CN201580020261A CN106233730B CN 106233730 B CN106233730 B CN 106233730B CN 201580020261 A CN201580020261 A CN 201580020261A CN 106233730 B CN106233730 B CN 106233730B
Authority
CN
China
Prior art keywords
video frame
region
frame
input video
encoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580020261.2A
Other languages
English (en)
Other versions
CN106233730A (zh
Inventor
D·克罗克斯福德
T·库克西
D·曼塞尔
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.)
ARM Ltd
Original Assignee
ARM Ltd
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 ARM Ltd filed Critical ARM Ltd
Publication of CN106233730A publication Critical patent/CN106233730A/zh
Application granted granted Critical
Publication of CN106233730B publication Critical patent/CN106233730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/427Display on the fly, e.g. simultaneous writing to and reading from decoding memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234345Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • H04N21/42623Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific decryption 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/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/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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Landscapes

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

Abstract

生成经编码输出视频帧及数据阵列的方法和系统。经编码源视频帧被解码以获得经解码源视频帧(200a),经解码源视频帧(200a)被处理以获得输入视频帧(200c),并且输入视频帧(200c)被编码以获得用于传输的经编码输出视频帧。方法包括以下步骤:将输入视频帧(200c)的区域与从其获得输入视频帧的经解码源视频帧的经解码源视频帧(200a)的区域进行比较,以确定经解码源视频帧(200a)的区域是否类似于输入视频帧(200c)的区域;以及当确定经解码源视频帧(200a)的区域类似于输入视频帧(200c)的区域时,使用经编码源视频帧的与经解码源视频帧的区域对应的区域作为要传输的经编码输出视频帧的与输入视频帧的区域对应的区域。

Description

生成经编码输出视频帧及数据阵列的方法和系统
技术领域
这里所描述的技术涉及用于生成经编码输出帧的方法和装置。具体地,这里所描述的技术涉及从源视频帧生成要传输到电子显示器以进行显示的经编码输出帧的方法和装置。
背景技术
随着便携式电子装置的处理功率和速度提高,这些装置处理多媒体的能力相应地提高。已经变得可以从便携式电子装置向电子显示器无线“串流输送”多媒体内容,并且对于这一点的需求在增长。这里,便携式电子装置例如可以包括移动电话(例如,智能电话)、平板电脑以及膝上型计算机。“串流输送”指的是一种传送媒体内容的方法,在该方法中,内容在从源(诸如便携式电子装置)发送的同时由电子显示器连续接收并同时在电子显示器上显示。
在这种结构中,源材料(诸如源视频内容和/或源图形内容)将通常在无线传输到显示器(例如,屏幕)之前在便携式电子装置内处理。例如,可以由视频解码器对源视频帧进行解码以获得经解码源视频帧。然后可以处理经解码源视频帧,此外,经解码源视频帧可以与其他内容(诸如图形帧)合成以获得输入视频帧,该输入视频帧将由视频编码器来编码以获得用于传输到电子显示器的输出视频帧。
传统上,无线显示协议规定了在根据适当压缩标准(例如,MPEG H 264)编码之前,将源材料转换成可兼容色空间格式和所支持分辨率范围(例如,从640x480直到1920x1200)内的预定分辨率。经编码数据被封包,然后经编码数据例如通过Wi-Fi自组织网络无线传输。常见色度格式包括用于视频源的抽取YUV格式(例如,YUV4:2:0格式)和用于图形和合成源的RGB格式。
源内容到用于无线传输到显示器的编码数据的这种处理会需要大量计算资源和带宽。
发明内容
本发明提供一种生成用于传输到电子显示器的经编码输出视频帧的方法,其中,经编码源视频帧被解码以获得经解码源视频帧,所述经解码源视频帧被处理以获得输入视频帧,并且所述输入视频帧被编码以获得用于传输到电子显示器的所述经编码输出视频帧,所述方法包括以下步骤:将从经解码源视频帧获得的输入视频帧的区域与所述经解码源视频帧的区域进行比较,以确定所述经解码源视频帧的所述区域是否类似于所述输入视频帧的所述区域;以及当确定所述经解码源视频帧的所述区域类似于所述输入视频帧的所述区域时,使用经编码源视频帧的与所述经解码源视频帧的所述区域对应的区域作为用于传输的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
本发明提供一种生成用于传输到电子显示器的经编码输出视频帧的方法,其中,经编码源视频帧被解码以获得经解码源视频帧,所述经解码源视频帧被处理以获得输入视频帧,并且所述输入视频帧被编码以获得用于传输到电子显示器的所述经编码输出视频帧,其中,至少所述输入视频帧和所述经编码输出视频帧被划分为多个帧区域,所述方法包括以下步骤:将所述输入视频帧的第一帧区域与在该帧中具有不同于所述第一帧区域的位置的所述输入视频帧的第二帧区域进行比较;以及当确定所述第一帧区域类似于所述第二帧区域时,使用所述第二帧区域的经编码版本作为所述经编码输出视频帧中与所述输入视频帧的所述第一帧区域对应的帧区域。
本发明提供一种生成用于传输到电子显示器的经编码输出视频帧的方法,其中,经编码源视频帧被解码以获得经解码源视频帧,所述经解码源视频帧被处理以获得输入视频帧,并且所述输入视频帧被编码以获得用于传输到电子显示器的所述经编码输出视频帧,其中,至少所述输入视频帧和所述经编码输出视频帧被划分为多个帧区域,所述方法包括以下步骤:将所述输入视频帧的帧区域与先前输入视频帧的一个或更多个帧区域进行比较;以及当确定所述输入视频帧的所述帧区域类似于所述先前输入视频帧的所述一个或更多个帧区域中的任一个帧区域时,使用所述先前输入视频帧的该帧区域的经编码版本作为所述经编码输出视频帧中与所述输入视频帧的所述帧区域对应的帧区域。
本发明提供一种用于生成用于传输到电子显示器的经编码输出视频帧的系统,该系统包括:视频解码器,该视频解码器能够对经编码源视频帧进行解码以获得经解码源视频帧;处理引擎,该处理引擎能够处理所述经解码源视频帧以获得输入视频帧;以及视频编码器,该视频编码器能够对所述输入视频帧进行编码以获得用于传输到电子显示器的所述经编码输出视频帧;并且该系统还包括处理电路,该处理电路能够在所述系统从经编码源视频帧生成用于传输到电子显示器的所述经编码输出视频帧时:将从经解码源视频帧获得的输入视频帧的区域与所述经解码源视频帧的区域进行比较,以确定所述经解码源视频帧的所述区域是否类似于所述输入视频帧的所述区域;并且当确定所述经解码源视频帧的所述区域类似于所述输入视频帧的所述区域时,使用经编码源视频帧的与所述经解码源视频帧的所述区域对应的区域作为用于传输的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
本发明提供一种用于生成用于传输到电子显示器的经编码输出视频帧的系统,该系统包括:视频解码器,该视频解码器能够解码经编码源视频帧以获得经解码源视频帧;处理引擎,该处理引擎能够处理所述经解码源视频帧以获得输入视频帧;以及视频编码器,该视频编码器能够对所述输入视频帧进行编码以获得用于传输到电子显示器的所述经编码输出视频帧,该系统还包括处理电路,该处理电路能够在所述系统从经编码源视频帧生成用于传输到电子显示器的所述经编码输出视频帧时:将所述输入视频帧的第一帧区域与在该帧中具有不同于所述第一帧区域的位置的所述输入视频帧的第二帧区域进行比较;并且当确定所述第一帧区域类似于所述第二帧区域时,使用所述第二帧区域的所述经编码版本作为所述经编码输出视频帧中与所述输入视频帧的所述第一帧区域对应的帧区域。
本发明提供一种用于生成用于传输到电子显示器的经编码输出视频帧的系统,该系统包括:视频解码器,该视频解码器能够解码经编码源视频帧以获得经解码源视频帧;处理引擎,该处理引擎能够处理所述经解码源视频帧以获得输入视频帧;以及视频编码器,该视频编码器能够对所述输入视频帧进行编码以获得用于传输到电子显示器的所述经编码输出视频帧,该系统还包括处理电路,该处理电路能够在所述系统从经编码源视频帧生成用于传输到电子显示器的所述经编码输出视频帧时:将所述输入视频帧的帧区域与先前输入视频帧的一个或更多个帧区域进行比较;并且当确定所述输入视频帧的所述帧区域类似于所述先前输入视频帧的所述一个或更多个帧区域中的任一个帧区域时,使用所述先前输入视频帧的该帧区域的所述经编码版本作为所述经编码输出视频帧中与所述输入视频帧的所述帧区域对应的帧区域。
本发明提供一种生成经编码输出数据阵列的方法,其中,经编码源数据阵列被解码以获得经解码源数据阵列,所述经解码源数据阵列被处理以获得输入数据阵列,并且所述输入数据阵列被编码以获得所述经编码输出数据阵列,所述方法包括以下步骤:将已从经解码源数据阵列获得的输入数据阵列的数据的子集与所述经解码源数据阵列的数据的子集进行比较,以确定所述经解码源数据阵列的所述数据的子集是否类似于所述输入数据阵列的所述数据的子集;以及当确定所述经解码源数据阵列的所述数据的子集类似于所述输入数据阵列的所述数据的子集时,使用所述经编码源数据阵列的与所述经解码源数据阵列的所述数据的子集对应的数据的子集作为所述经编码输出数据阵列的与所述输入数据阵列的所述数据的子集对应的数据的子集。
本发明提供一种用于生成经编码输出数据阵列的系统,该系统包括:解码器,该解码器能够对经编码源数据阵列进行解码以获得经解码源数据阵列;处理引擎,该处理引擎能够处理所述经解码源数据阵列以获得输入数据阵列;以及编码器,该编码器能够对所述输入数据阵列进行编码以获得所述经编码输出数据阵列,该系统还包括处理电路,该处理电路能够在所述系统从经编码源数据阵列生成所述经编码输出数据阵列时:将已从经解码源数据阵列获得的输入数据阵列的数据的子集与所述经解码源数据阵列的数据的子集进行比较,以确定所述经解码源数据阵列的所述数据的子集是否类似于所述输入数据阵列的所述数据的子集;并且当确定所述经解码源数据阵列的所述数据的子集类似于所述输入数据阵列的所述数据的子集时,使用所述经编码源数据阵列的与所述经解码源数据阵列的所述数据的子集对应的数据的子集作为所述经编码输出数据阵列的与所述输入数据阵列的所述数据的子集对应的数据的子集。
一种计算机可读存储介质,该计算机可读存储介质存储计算机程序,当该计算机程序在数据处理器上运行时执行上述方法。
附图说明
现在将参照附图仅用示例的方式描述实施方式,附图中:
图1是用于实现根据实施方式的方法的示例性数据处理系统的示意图;
图2是示出了生成经编码视频帧的示例性处理的示意图;
图3是示出了示例性视频帧分组的示意图;
图4是例示了不同视频压缩帧类型的示例的示意图;
图5是示出了分割帧的方法的示例的示意图;
图6是例示了基于帧区域的比较处理的示例的示意图;
图7是例示了基于帧区域的比较处理的另一个示例的示意图;以及
图8A和图8B是例示了实施方式中生成经编码视频帧的示例性方法的流程图。
类似的附图标记贯穿附图在适当的情况下用于类似的特征。
具体实施方式
实施方式包括一种用于生成用于传输到电子显示器的经编码输出视频帧的方法,其中,经编码源视频帧被解码以获得经解码源视频帧,经解码源视频帧被处理以获得输入视频帧,并且输入视频帧被编码以获得用于传输的经编码输出视频帧。方法包括以下步骤:将从经解码源视频帧获得的输入视频帧的区域与经解码源视频帧的区域进行比较,以确定经解码源视频帧的区域是否类似于输入视频帧的区域;以及如果确定经解码源视频帧的区域类似于输入视频帧的区域,则使用经编码源视频帧的与经解码源视频帧的区域对应的区域作为经编码输出视频帧的与用于传输的输入视频帧的区域的对应的区域。
另一个实施方式包括一种用于生成用于传输到电子显示器的经编码输出视频帧的系统。系统包括:视频解码器,该视频解码器被构造为对经编码源视频帧进行解码以获得经解码源视频帧;处理引擎,该处理引擎被构造为处理经解码源视频帧以获得输入视频帧;以及视频编码器,该视频编码器被构造为对输入视频帧进行编码以获得用于传输的经编码输出视频帧。系统还包括处理电路,该处理电路被构造为将从经解码源视频帧获得的输入视频帧的区域与经解码源视频帧的区域进行比较,以确定经解码源视频帧的区域是否类似于输入视频帧的区域,并且如果确定经解码源视频帧的区域类似于输入视频帧的区域,则使用经编码源视频帧的与经解码源视频帧的区域对应的区域作为用于传输的经编码输出视频帧的与输入视频帧的区域对应的区域。
这里所描述的技术涉及一种系统,在系统中,例如,便携式电子装置可以从外部源(例如,片外存储器)获得源视频内容,然后处理源视频内容,以例如无线传输到电子显示器(该电子显示器例如可以为远程和/或无线显示器)。源视频内容可以为由使用预定编码方案编码(压缩)的多个视频帧形成的视频内容。首先例如由视频引擎(视频解码器)解码(解压)各源经编码视频帧。然后可以例如由合成引擎处理经解码源视频帧以(可选地)修改经解码源视频帧,例如通过将经解码视频帧与另外数据(诸如从图形处理单元(GPU)接收的图形帧)合并,以提供用于例如由视频编码器编码以提供(传输)给显示器的输入视频帧。
在这里所描述的技术中,将要被编码以传输到显示器的输入视频帧的帧区域与从其生成输入视频帧的(例如,由视频解码器输出的)经解码源视频帧的帧区域进行比较。如果确定经解码源视频帧的帧区域类似于输入视频帧的帧区域,则针对要传输到电子显示器的经编码输出视频帧的与输入视频帧的帧区域对应的帧区域,使用经编码源视频帧(该经编码源视频帧在被解码之前为初始源视频内容)的与经解码源视频帧的帧区域对应的帧区域。这然后可以避免例如且如下面将进一步讨论的对用于传输到电子显示器的输入视频帧的对应区域进行编码的需要(因为相反地可以使用原始经编码源视频帧区域)。
在这点上,申请人已经认识到,在源视频内容被解码、处理然后重新编码以传输来显示的系统中,情况可以是这样的:给定视频帧中的一些或全部可能未被它的处理改变。例如,在一些情况下,可以的是经解码源视频帧中的仅一部分或一些部分(但不是全部)将由合成处理(合成引擎)修改。例如,如果经解码源视频帧与图形帧合成以将一行字幕添加到图像中,那么将修改经解码源视频帧仅底部的一小部分,而将不修改经解码源视频帧的剩余部分。
申请人还已经认识到,对于经解码源视频帧未被例如合成处理修改的那些部分,则将可以重新使用来自原始经编码源视频帧的视频帧的那些部分的经编码版本,从而避免“重新编码”经解码且处理源视频帧的那些部分的需要。这然后减少了对于生成用于传输到显示器的经编码输出视频帧所需的处理,并且例如还允许针对关注中的输出视频帧区域,使用初始源视频帧编码(该初始编码会更有效,从而提供例如带宽和资源的进一步节省)。
实施方式通过确定要被编码以传输的输入视频帧区域是否类似于经编码源帧区域的经解码版本来促进这一点。该类似性测试有效地确定源帧区域是否已经被处理修改为形成要被编码以传输的输入视频帧区域。如果确定要被编码的输入视频帧区域类似于经解码源帧区域,那么可以推断出源帧区域尚未被对源视频帧进行的处理修改,因此源视频帧区域的经编码版本可以直接用作用于传输到显示器以显示的该视频帧区域的经编码版本。
实施方式中所考虑的视频帧的区域可以为视频帧的任意适当且期望的区域。在实施方式中,各帧区域代表关注中的帧的不同部分(区)。各区域应理想地代表帧的适当部分(区域)(诸如帧内的多个数据位置)。适当区域尺寸可以为例如视频帧中的8x8、16x16、32x32个数据位置。帧区域可以为规则的尺寸和形状(例如,为矩形(包括正方形)的形式)。然而,这不是必须的,并且可以使用其他结构(如果期望)。
在各视频帧已经为了视频编码和处理的目的而被细分为区域(例如,被划分为“宏块”)的情况下,那么在实施方式中,以这里所描述的技术的方式考虑的视频帧的各区域对应于视频帧为了编码和处理目的而被划分为的区域。
由此,在实施方式中,以这里所描述的技术的方式考虑的视频帧的各区域对应于帧的一个或更多个宏块。在实施方式中,所考虑的各区域对应于给定宏块(即,区域为视频帧为了处理目的而被划分为的宏块),但其他结构(诸如各区域包括多个宏块或宏块的一部分)是可以的(如果期望)。
在实施方式中,各帧被处理作为多个帧区域进行处理,并且输入视频帧与经解码源视频帧逐区域地进行比较。在这种情况下,比较可以对于输入视频帧被划分为的各区域来执行,或者比较可以对于输入视频帧被划分为的区域中的一些(但不是全部)区域来执行。
比较可以对于一个视频帧的一个或更多个区域关于另一个视频帧的一个或更多个区域来执行。由此,在实施方式中,视频帧被处理为多个帧区域,并且比较步骤包括将输入视频帧的帧区域与经解码源视频帧的多个帧区域中的一个或多于一个进行比较。
在实施方式中,被比较的各区域与它在另一个视频帧中的对应区域(即,具有相同的位置)进行比较。在其他实施方式中,比较关于一个或更多个其他区域以及(或代替)另一个视频帧的对应区域而执行。因此,在这种情况下,输入视频帧的区域可以与在帧内具有与关注中的输入视频帧的区域不同的位置的、经解码源视频帧的区域进行比较。
在这点上,申请人已经认识到,在一些视频帧中,可以存在这样的帧的区:两个或更多个帧区域大致相同或非常类似(比如,描绘天空的区)。在这种情况下,然后可以重新使用用于帧的不同部分但描绘同一图像的经编码源视频帧区域作为针对传输到显示器的关注中的输入视频帧区域的经编码版本而被考虑的输入视频帧区域。将输入视频帧区域与在该帧内具有与关注中的输入视频帧的区域不同的位置的经解码源视频帧区域进行比较允许进行这一点。
由此,在实施方式中,输入视频帧的帧区域与在帧内具有与输入视频帧区域不同的位置的、经解码源视频帧的帧区域进行比较,并且如果确定输入视频帧区域类似于经解码源视频帧区域,则将源视频帧区域的经解码版本用于经编码输出视频帧中的输入视频帧区域。
还将可以把完整的视频帧作为一个单帧区域(即,对于作为整体的帧执行这里所描述的技术的操作)(如果期望)。
帧区域之间(例如,输入视频帧的帧区域与经解码源视频帧的帧区域之间)的比较可以以任何适当且期望的方式来进行。例如,可以将经解码源视频帧中的帧区域的内容中的一些或全部与输入视频帧的帧区域的内容中的一些或全部进行比较。
在一些实施方式中,比较通过将代表帧区域的内容的信息和/或帧区域的内容的特性进行比较(由此通过将代表经解码源视频帧的帧区域的内容的信息和/或经解码源视频帧的帧区域的内容的特性与代表输入视频帧的帧区域的内容的信息和/或输入视频帧的帧区域的内容的特性进行比较)来执行,以评定视频帧的各帧区域之间的类似性或其他方面。
代表帧的区域的内容的信息可以采取任意适当的形式,而且可以基于或源于各帧区域的内容。在一些实施方式中,信息为由或基于关注中的帧区域的内容生成的区域的签名(例如,代表帧的区域的数据块)的形式。这种区域内容“签名”可以包括例如导出信息的任意适当的集合,该导出信息可以被认为代表区域的内容,源于关注中的帧区域的数据(对于关注中的帧区域的数据而生成),诸如校验和、CRC或哈希值等。适当的签名将包括标准CRC(诸如CRC64)或其他形式的签名(诸如MD5、SHA 1等)。
由此,在一些实施方式中,对于要检查的各帧区域生成指示或代表和/或源于各帧区域的内容的签名,并且比较处理包括将用于一个视频帧(例如,经解码源视频帧)的帧区域的签名与用于例如另一个视频帧(例如,输入视频帧)的对应帧区域的签名进行比较(例如,以确定代表关注中的帧区域的签名是否(例如,因为解码源视频帧而)变化)。
在使用代表帧区域的内容的签名的情况下,那么例如将可以对于各帧区域生成单内容代表签名。然而,还将可以为了签名生成处理的目的而将要比较的各帧区域细分为更小的子区域,并且在实施方式中,就是这样做的。因此,在这种情况下,要比较的各视频帧区域将关联有多个内容指示签名,一个这种签名用于视频帧区域已经对于签名生成处理被划分为的各子区域。在这种情况下,用于各视频帧区域的签名的比较然后应包括以适当方式比较用于关注中的视频帧区域的各子区域的各签名。在这种情况下,如果作为比较处理的结果认为各对“签名”子区域类似,则仅确定帧区域彼此类似。
该结构在例如视频处理系统运行在不确切对应于用于编码视频帧的目的的宏块的帧的特定子区域上的情况下可以是特别适当的。例如视频处理等例如使用基于块的视频处理器和/或图形处理单元以基于块的样式来进行就可以是这种情况。在这种情况下,各视频帧宏块将包括上面运行视频和/或图形处理器的多个块就可以是这种情况。
由此,在实施方式中,生成内容指示签名的帧子区域各对应于块,生成关注中的帧的图形处理器、视频引擎、显示控制器、合成引擎等在该块上运行并且产生块作为其输出。因为例如图形处理器将直接生成渲染块并因此将不需要“产生”生成签名的帧子区域的另外处理,所以这可以是生成内容指示签名的特别简单的方式。
在这里所描述的技术的这些结构中,帧被划分为的块可以为任意期望且适当的尺寸或形状,而且可以为上面讨论的形式(由此可以为例如矩形(包括正方形),并且例如在尺寸上为8x8、16x16或32x32个采样位置)。
在这种情况下,以这里所描述的技术的方式考虑的帧区域可以(并且在实施方式中是)由多个“处理”块的集合来构成,但它们还可以例如仅包括处理块的子部分。在后者的情况下,用于块的签名仍然可以用于例如比较块包含的帧区域的目的。等同地,生成签名的块与要比较的帧区域之间不必存在确切的对应关系。在没有确切对应关系的情况下,那么可以比较帧区域至少部分覆盖的全部块的签名,以确定帧区域是否已经变化。
签名生成在使用的情况下可以根据期望来实现。例如,签名生成可以在生成帧的、GPU、视频引擎(例如,解码器)和/或合成引擎不可分割的部分中实现,或者例如可以存在专用于该功能的单独“硬件元件”。
用于帧区域的签名可以被适当地存储并与它们有关的帧的区域关联。在一些实施方式中,签名可以用帧存储在适当的缓冲器中(例如用帧缓冲器)。然后,当要比较签名时,可以适当检索所存储的区域签名。
在一些示例中,比较处理对于两个帧区域被认为相同或足够类似可以需要两个帧区域之间的确切匹配,但在其他示例中,对于两个区域被认为足够类似可以仅需要例如不超过给定阈值的足够类似的(但不是确切的)匹配。
由此,在一些示例中,比较处理对于两个帧区域被认为相同或足够类似可以需要两个签名之间(或各对签名之间,在比较多个签名的情况下)的确切匹配,但在其他示例中,对于两个区域被认为足够类似可以仅需要例如不超过给定阈值的足够类似的(但不是确切的)匹配。
在比较指示帧区域的内容的签名的情况下,根据所涉及签名的性质,阈值可以用于签名比较处理,以确保忽略帧区域(帧区域的签名)的任意小变化(不触发确定帧区域不类似(已经变化))(根据期望)。另外或另选地,签名生成处理可以被配置为生成(例如通过使签名基于关注中的帧区域的数据值(例如,的最高有效位的选择)中的一些(但不是全部)来)仅有效忽略帧区域的小变化的签名。
如领域中已知的,可以使用不同算法将视频帧编码(压缩)为不同的帧类型(三个主要帧类型为I(红外编码的)、P(预测的)以及B(双向预测的))。I帧为完全自含式帧(即,不需要来自视频序列中的另一个帧的信息来解码)。P帧保持来自先前帧的图像的变化,因此需要先前帧的信息来解码。B帧基于关于先前帧和随后帧的不同来编码,因此需要先前帧和随后帧这两者的信息来解码。视频压缩流通常包括设置在预定顺序的组中的全部三种类型。例如,典型组结构可以为“IBBP”。
在这点上,申请人已经认识到,在处理完全自含式帧(例如,I帧)的情况下,那么简单地比较关注中的视频帧的两个版本中的区域将足够。然而,在依赖视频帧序列中的其他帧的帧(诸如B帧和P帧)的情况下,那么必须还比较视频帧序列中的那些其他视频帧中的各区域,以确定视频帧是否可以被认为类似。
由此,在实施方式中,在所考虑视频帧依赖视频帧序列中的另一个视频帧的情况下,那么除了将关注中的输入视频帧的区域与对应经解码源视频帧的区域进行比较之外,还比较用于视频帧序列中当前视频帧所依赖的其他视频帧的、输入视频帧和经解码源视频帧的对应区域,以确定它们是否也类似,并且只有在关注中的输入视频帧和对应经解码源视频帧中的区域被认为彼此类似且确定用于视频帧序列中当前视频帧所依赖的其他视频帧的、输入视频帧和经解码源视频帧的对应区域彼此类似时,才确定关注中的输入视频帧的区域类似于对应经解码源视频帧的区域,使得经编码源视频帧的区域然后用作经编码输出视频帧的区域(即,关注中的经编码源视频帧的区域只有在确定所比较的区域在经解码源视频帧和输入视频帧中(足够)类似以被编码以传输且用于当前视频帧所依赖的视频帧序列中的各帧时用作用于传输到显示器的经编码输出视频帧的区域)。
在这种情况下,虽然将可以保持并比较视频帧序列中的实际其他视频帧(并且因为用于帧序列的数据通常在任何时候可用,所以这是可以的),但在比较使用例如适当内容指示签名来进行的情况下,那么仅可以需要为了比较目的而保持用于序列中的其他视频帧的区域的相关内容指示签名(如果期望)(并且在实施方式,就是这样进行的)。
由此,在实施方式中,当第一经解码源视频帧基于一个或更多个第二经解码源视频帧解码时,在将第一源视频帧的区域用作第一输出视频帧的区域之前,对于一个或更多个第二经解码源视频帧中的每一个,将第二输入视频帧(该第二输入视频帧从第二经解码视频帧获得)对应于第一输入视频帧的区域的区域与第二经解码源视频帧对应于所考虑第一经解码源视频帧的区域的区域进行比较,以确认第二输入视频帧的区域和第二经解码源视频帧的区域也类似。
在实施方式中,可以基于在时间上(在视频帧流(序列中))在第一经解码源视频帧之前的先前经解码源视频帧来解码该第一经解码源视频帧。例如,当前经解码源视频帧可以为基于来自先前经解码I帧的信息解码的P帧。在该示例中,当确定当前输入视频P帧的帧区域类似于当前经解码P帧的帧区域时,执行另外的确定步骤,在该确定步骤中,将先前输入视频I帧对应于当前输入视频帧的帧区域的帧区域与先前经解码I帧对应于当前经解码P帧的帧区域的帧区域进行比较,以确认先前输入视频I帧的帧区域也类似于先前经解码I帧的帧区域。在确认先前输入视频I帧的帧区域也类似于先前经解码I帧的帧区域时,确定解码之前的初始源P帧对应于当前经解码P帧的帧区域的帧区域可以重新用作当前输出视频P帧对应于当前输入视频P帧的帧区域的经编码P帧区域。
在另一个实施方式中,可以基于在时间上(在视频帧序列中)在第一经解码源视频帧之后的随后经解码源视频帧来解码该第一经解码源视频帧。例如,当前经解码源视频帧可以为基于来自先前经解码P帧和随后经解码I帧的信息解码的B帧。在该示例中,当确定当前输入视频B帧的帧区域类似于当前经解码B帧的帧区域时,执行另外的确定步骤,在该确定步骤中,将随后输入视频I帧对应于当前输入视频B帧的帧区域的帧区域与随后经解码I帧对应于当前经解码B帧的帧区域的帧区域进行比较,以确认随后输入视频I帧的帧区域也类似于随后经解码I帧的帧区域。在该示例中,可以执行另外的确定步骤,在该步骤中,将先前输入视频P帧对应于当前输入视频B帧的帧区域的帧区域与先前经解码P帧对应于当前经解码B帧的帧区域的帧区域进行比较,以确认先前输入视频P帧的帧区域也类似于先前经解码P帧的帧区域。在确认随后输入视频I帧的帧区域也类似于随后经解码I帧的帧区域且确认先前输入视频P帧的帧区域也类似于先前经解码P帧的帧区域时,确定解码之前的初始源B帧对应于当前经解码B帧的帧区域的帧区域可以重新用作当前输出视频B帧对应于当前输入视频B帧的帧区域的经编码B帧区域。
在其他实施方式中,当确定当前输入视频帧不是I帧时,可以允许处理进行到确定先前输入视频帧和先前经解码源视频帧的对应区域是否也类似,当确认它们类似时,然后可以允许处理进行到进一步确定当前输入视频帧是否为P帧,并且如果确定当前输入视频帧不是P帧,则处理可以在不进行到关于随后帧执行另外的确定步骤的情况下可选地进行到编码整个当前输入视频帧(如果期望)。另选地,当确定当前输入视频帧不是I帧时,处理在此时可以在不关于先前帧或随后帧二者之一执行另外的确定步骤的情况下可选地进行到编码整个当前输入视频帧。如果期望简化的方法,则可以在一些实施方式中实施这些另选方案。
经编码源视频帧可以以任意适当且期望的方式(例如,根据如何编码源视频)来解码,以获得经解码源视频帧。该处理可以由整个数据处理系统的任意适当部件来执行,诸如适当的视频引擎或视频解码器。例如可以存在为该目的而提供的单独视频处理器,或者另一个处理器(诸如系统的CPU或GPU)可以执行该操作。
处理源视频帧以获得输入视频帧可以以任意期望且适当的方式类似地进行,并且该处理可以包括任意适当且期望形式的处理。
在实施方式中,该处理包括将另外的数据与经解码源视频帧的视频内容组合。例如,字幕和/或视频回放控制可以添加到视频内容,在这种情况下,可以需要文本和/或图形帧在被编码以传输到电子显示器之前与对应的源视频帧合成。由此,经解码源视频帧可以通过将其与一个或更多个其他源帧合成来处理(并且输入视频帧可以为合成的帧)。在这种情况下,系统可以包括适当的合成引擎。再次,该引擎可以被提供为“独立的”合成引擎,或者系统的CPU或GPU例如可以执行合成处理。
与经解码源视频帧合成的数据(例如,源帧)可以根据期望来提供并生成。在实施方式中,系统包括生成用于与经解码源视频帧合成的适当帧的图形处理器(图形处理单元)。
如上面所讨论的,在确定经解码源视频帧的区域类似于要被编码的输入视频帧的区域的情况下,那么源视频帧的区域的经编码(原始经编码)版本用于传输到显示器。这然后避免了必须重新编码用于传输到显示器的视频帧的该区域(因此,在这种情况下,不需要对输入视频帧的区域重新编码)。
原始经编码源视频帧的区域可以根据期望被提供为用于传输的输出视频帧区域。例如,输出视频帧区域可以从存储它的存储器读取,然后可以适当地提供给显示器。
上面讨论了以下情形:确定经解码源视频帧的区域类似于要被编码的输入视频帧的区域,使得经编码源视频帧的区域可以重新用于传输到显示器。
然而,申请人还已经认识到,将存在经解码源视频帧的区域不类似于要被编码的输入视频帧的区域的情形。例如,源视频帧已经与用于传输到显示器的另一个帧合成从而改变源视频帧区域的内容就可以是这种情况。
在这种情况下,然后不期望将经编码源视频帧区域用于传输到显示器,相反期望编码新的经修改源视频帧区域(输入视频帧区域)以传输到显示器。
由此,在实施方式中,如果确定输入视频帧的区域不类似于经解码源视频帧的区域和/或当前输入视频帧依赖的另一个输入视频帧的区域不类似于另一个经解码源视频帧的区域,则编码输入视频帧的区域以传输到电子显示器。
在这种情况下,编码输入视频帧区域以传输到电子显示器可以包括任意期望且适当形式的编码。在实施方式中,编码是为了将输入视频帧区域数据置于适于传输(例如,无线传输)到电子显示器的格式。编码还可以例如涉及输入视频帧区域的适当色空间转换和/或压缩。
虽然上面主要参照处理单个视频帧区域描述了这里所描述的技术,但如本领域技术人员将理解的,可以对于给定视频帧内的多个区域且对于视频帧已经被划分为的各个区域重复这里所描述的技术。
对应的,这里所描述的技术可以对于多个视频帧的序列的各帧重复并用于各帧(例如,在视频要被串流到显示器以显示的情况下)。
在这一点上,虽然将可以将这里所描述的技术的处理用于要被处理的每一个视频帧,但申请人已经认识到,可以存在可以不期望或不必将这里所描述的技术的处理用于视频帧的环境。由此,在实施方式中,这里所描述的技术用于仅在例如要被处理的视频帧满足特定所选所确定准则的情况下选择视频帧。
例如,在视频编码器使用与源视频帧相同或可兼容编码格式编码输入视频帧且源视频帧的编码格式由电子显示器支持或与电子显示器兼容的情况下,那么经编码源视频帧的与经解码源视频帧的帧区域对应的帧区域可以重新用作用于传输到电子显示器的输出视频帧的与输入视频帧的帧区域对应的经编码帧区域。
而且,在一些实施方式中,源视频帧的帧排序可以与视频编码器所用的帧排序相同。
然而,可以以不同于源视频帧的编码格式的编码格式来编码输入视频帧以传输,和/或源视频帧的帧排序可以不同于视频编码器所用的帧排序。例如,源视频帧可以具有例如“IBBP”的组结构,而经编码输入视频帧可以用例如“IBBPBBP”的组结构来编码并输出,和/或源视频帧可以使用与视频编码器所用的编码方案相比完全不同的编码方案(例如允许更高压缩的编码方案)来编码。同样,源视频帧的编码格式可以不被电子显示器支持或不与电子显示器兼容。在这些环境下,可能不可以或不期望将经编码源视频帧的帧区域用作用于传输到电子显示器的输出视频帧的帧区域。
由此,在实施方式中,这里所描述的技术还包括例如在确定是否已经修改经解码源视频帧(确定经解码源视频帧是否类似)之前,确定源视频帧的编码格式是否被电子显示器和/或所用视频编码处理支持或至少与电子显示器和/或所用视频编码处理兼容。如果确定编码格式不被电子显示器和/或所用的视频编码处理支持或至少不与电子显示器和/或所用的视频编码处理兼容,则输入视频帧(各输入视频帧区域)可以由视频编码器来编码以传输到电子显示器,而不管输入视频帧区域是否类似于经解码源视频帧的帧区域,并且不将经解码源视频帧的帧区域与输入视频帧的帧区域进行比较。
类似地,在一些实施方式中,源视频和要被传输到电子显示器的经编码输出视频具有相同的分辨率。在大多数情况下,因为经编码输出视频的分辨率受源视频的分辨率限制(以比源视频更高的分辨率编码经编码输出视频由于没有另外的信息存在而不将提高产生的分辨率),所以与源视频相比将不同的分辨率用于经编码输出视频可能没有优点。再次在这种情况下,将可以使用经编码源视频帧区域来传输到显示器。
然而,可以存在以下情况:例如如果电子显示器仅接受不同于源视频的分辨率的特定分辨率范围,则分辨率不同。还可以存在期望减小经编码输出视频的分辨率时(例如,如果电子显示器不支持更高分辨率)或期望缩短处理时间等时的情况。在源视频和输出视频的分辨率不同的示例中,可能不可以将经编码源视频帧用于被传输到显示器的输出视频帧。
由此,在实施方式中,这里所描述的技术还包括确定源视频帧的区域和经编码输出视频帧的区域是否将具有相同的分辨率,并且如果确定分辨率不同,则编码输入视频帧的区域以传输到电子显示器,而不管输入视频帧的区域是否类似于经解码源视频帧的帧区域,并且不将经解码源视频帧的帧区域与输入视频帧的帧区域进行比较。
上面讨论了确定经编码源视频帧是否可以重新用于要被传输以显示的经编码输出视频帧区域的结构。申请人还已经认识到,例如如果确定要编码的输入视频帧的一个区域类似于输入视频帧的之前编码的区域,则对应结构可以用于促进要被编码的输入视频帧的先前编码版本的重新使用。这可以应用于要被编码的同一当前输入视频帧内的帧区域以及已经被编码的先前输入视频帧内的帧区域这两者(例如,在保持这些帧区域的经编码版本以供以后使用的情况下)。
由此,在另一个实施方式中,输入视频帧的多个帧区域中的第一帧区域与同一和/或一个或更多个先前输入视频帧的多个帧区域中的一个或更多个进行比较,并且如果确定第一帧区域类似于同一输入视频帧的帧区域或先前输入视频帧的帧区域,则被确定为类似于第一帧区域的、同一输入视频帧的帧区域或先前输入视频帧的帧区域的经编码版本用于经编码输出视频帧中的第一帧区域。
对应地,在实施方式中,输入视频帧的第一帧区域与在帧中具有不同于第一帧区域的位置的输入视频帧的第二帧区域进行比较,并且如果确定第一帧区域类似于第二帧区域,则第二帧区域的经编码版本用于经编码输出视频帧中对应于输入视频帧的第一帧区域的帧区域。
在实施方式中,如果(并且只有在)确定经解码源视频帧已经被修改(时),则进行该另外比较。
相信,促进先前经编码输入视频帧区域的潜在重新使用的这种结构本身是新且有利的,并且不仅仅在还在输入视频帧区域与经解码源视频帧区域之间进行比较的情形下。
由此,另一个实施方式包括一种生成用于传输到电子显示器的经编码输出视频帧的方法,其中,对输入视频帧进行编码以获得用于传输到电子显示器的输出视频帧,方法包括以下步骤:
将要被编码以用于输出视频帧中的输入视频帧的区域与先前已编码以用于输出视频帧中的输入视频帧的区域的未编码版本进行比较,以确定输入视频帧的区域是否类似于先前已编码的输入视频帧的区域;以及
如果确定要被编码的输入视频帧的区域类似于先前已编码的输入视频帧的区域,则使用先前已编码的输入视频帧的与要被编码的输入视频帧的区域对应的区域的经编码版本作为用于传输的经编码输出视频帧的与要被编码的输入视频帧的区域对应的区域。
类似地,另一个实施方式包括一种用于生成用于传输到电子显示器的经编码输入视频帧的系统,该系统包括:
视频编码器,该视频编码器编码输入视频帧,以获得用于传输到电子显示器的输出视频帧;并且
系统还包括处理电路,该处理电路被构造为在系统从输入视频帧生成用于传输到电子显示器的经编码输出视频帧时:
将要被编码的输入视频帧的区域与先前已编码以用于输出帧中的输入视频帧的区域的未编码版本进行比较,以确定输入视频帧的区域是否类似于先前已编码的输入视频帧的区域;以及
如果确定要被编码的输入视频帧的区域类似于先前已编码的输入视频帧的区域,则将先前已编码的输入视频帧的与要被编码的输入视频帧的区域对应的区域的经编码版本用作用于传输的经编码输出视频帧的与要被编码的输入视频帧的区域对应的区域。
如本领域技术人员将理解的,这里所描述的技术的这些实施方式能够且可以酌情确实包括这里所描述的技术的可选特征中的任一个或更多个或全部。由此,例如,确定帧区域是否相同可以以上面讨论的方式中的一个来执行。
在这里所描述的技术的这些实施方式中的一个实施方式中,被比较的视频帧的区域为上面运行相关处理元件的块(例如,该块作为元件的输出而产生),但其他结构当然会是可以的。同样,在实施方式中,要被编码的输入视频帧区域的比较是与之前(紧接之前)已经被编码的输入视频帧的未经编码版本(例如,先前块)进行,但再次,如上面所讨论的,在其他实施方式中,比较可以是与输入视频帧的其他区域(以及帧序列中其他输入视频帧中的区域)进行,不仅仅是与先前的输入视频帧区域进行。
如果期望,编码器还可以如上面所讨论的检查要如何编码各视频帧区域,以看看先前编码的视频帧区域实际上是否可以重新用于要被编码的当前视频帧区域。
这里所描述的技术可以以任意期望且适当的数据处理系统来实施,该数据处理系统可操作为生成要被传输到电子显示器以显示的帧。
内部实施这里所描述的技术的数据处理系统可以含有任意期望、适当且合适的元件和部件。由此,数据处理系统可以含有以下元件和部件中的一个或更多个或全部:CPU、GPU、视频处理器(视频引擎/编码器-解码器)、显示控制器、无线收发器以及用于存储各种帧和所需的其他数据的适当存储器。
经解码源视频帧的帧区域与同一(或另一个)视频帧的帧区域之间的比较可以由整个数据处理系统的任意适当且期望的部件来执行。例如,这可以由系统中(片上系统中)所提供的CPU、GPU或单独处理器(例如,ASIC)或由用于关注中的显示器的显示控制器来执行。同一元件可以执行全部处理,或者处理可以跨系统的不同元件分配(根据期望)。
经编码源视频帧、经解码视频帧、图形帧、合成帧、要被编码的输入视频帧、经编码输出视频帧以及任意其他源或输出帧等可以以任意适当且期望的方式存储在存储器中(例如,存储在适当的缓冲器中)。例如,输出帧可以存储在输出帧缓冲器中。输出帧缓冲器可以为片上缓冲器,或者它可以为外部缓冲器。类似地,输出帧缓冲器可以为用于该目的的专用存储器,或者它也可以为用于其他数据的存储器的一部分。
类似地,输入帧被生成(渲染)时被首先写到的缓冲器可以包括任何适当的这种缓冲器,并且可以以任何适当且期望的方式构造在存储器中。例如,它们可以为片上缓冲器,或者可以为外部缓冲器。类似地,它们可以为用于该目的的专用存储器或也可以为用于其他数据的存储器的一部分。输入帧缓冲器例如可以以应用需要的任意格式,并且例如可以存储在系统存储器中(例如,存储在统一存储架构中)或图形存储器中(例如,存储在非统一存储器架构中)。
这里所描述的技术可以被扩展为其它类型的源内容(例如,图形内容和音频内容)和其他形式的经编码数据(不仅仅是传输到显示器的数据等)。
由此,另一个实施方式包括一种生成经编码输出数据集(例如,数据阵列)的方法,其中,解码经编码源数据集(例如,数据阵列),以获得经解码源数据集(例如,数据阵列),处理经解码源数据集(例如,数据阵列),以获得输入数据集(例如,数据阵列),并且编码输入数据集(例如,数据阵列),以获得经编码输出数据集(例如,数据阵列),方法包括以下步骤:
将从经解码源数据集获得的输入数据集的数据的子集与经解码源数据集的数据的子集进行比较,以确定经解码源数据集的数据的子集是否类似于输入数据集的数据的子集;以及
如果确定经解码源数据集的数据的子集类似于输入数据集的数据的子集,则将经编码源数据集对应于经解码源数据集的数据的子集的数据的子集用作经编码输出数据集对应于输入数据集的数据的子集的数据的子集。
另一个实施方式包括一种用于生成经编码输出数据集的系统,该系统包括:
解码器,该解码器解码经编码源数据集,以获得经解码源数据集;
处理引擎,该处理引擎处理经解码源数据集,以获得输入数据集;以及
编码器,该编码器编码输入数据集,以获得经编码输出数据集,并且
该系统还包括处理电路,该处理电路被构造为在系统从经编码源数据集生成经编码输出数据集时:
将从经解码源数据集获得的输入数据集的数据的子集与经解码源数据集的数据的子集进行比较,以确定经解码源数据集的数据的子集是否类似于输入数据集的数据的子集;并且
如果确定经解码源数据集的数据的子集类似于输入数据集的数据的子集,则将经编码源数据集对应于经解码源数据集的数据的子集的数据的子集用作经编码输出数据集对应于输入数据集的数据的子集的数据的子集。
如本领域技术人员将理解的,这里所描述的技术的这些实施方式能够且可以酌情确实包括这里所描述的技术的可选特征中的任一个或更多个或全部。例如,确定数据的子集是否相同可以以上面讨论的方式中的一个来执行。
这里所描述的技术可以在任意适当的系统中实现,诸如基于适当构造的微处理器的系统。在一些实施方式中,这里所描述的技术实现在计算机和/或基于微处理器的系统中。
这里所描述的技术的各种功能可以以任意期望且适当的方式执行。例如,这里所描述的技术的功能可以实现在硬件或软件中(根据期望)。由此,例如,这里所描述的技术的各种功能元件、阶段和“装置”可以包括适当的处理器、控制器、功能单元、电路、处理逻辑、微处理器结构等,它们可操作以进行各种功能等,诸如适当专用硬件元件(处理电路)和/或可以被编程以以期望方式操作的可编程硬件元件(处理电路)。
这里还应当注意的是,如本领域技术人员将理解的,这里所描述的技术的各种功能等可以在给定处理器上重复和/或并行执行。等同地,各种处理阶段可以共享处理电路等(如果期望)。
这里所描述的技术适用于任意适当形式或构造的图形/视频处理器和渲染器(诸如具有“流水线式”渲染结构的处理器(在这种情况下,渲染器将为渲染流水线的形式))。这里所描述的技术特别适用于基于块的图形处理器、图形处理系统、视频处理器、视频处理系统、合成引擎以及合成显示控制器。
本领域技术人员还将理解,这里所描述的技术的所有描述实施方式可以酌情包括这里描述的所有可选特征中的任一个或更多个或全部。
根据这里所描述的技术的方法至少部分地可以使用软件(例如,计算机程序)实现。由此将看到当从另外实施方式看时,这里所描述的技术提供计算机软件,该计算机软件当安装在数据处理器上时专门适用于执行这里描述的方法;计算机程序元件,该计算机程序元件包括计算机软件代码部,用于在程序元件在数据处理器上运行时执行这里描述的方法;和计算机程序,该计算机程序包括代码,该代码当程序在数据处理系统上运行时适用于执行这里描述的方法的所有步骤。数据处理系统可以是微处理器、可编程FPGA(场可编程门阵列)等。
这里所描述的技术还扩展到计算机软件载体,该计算机软件载体包括这种软件,这种软件当用于操作图形处理器、渲染器货包括数据处理器的其他系统时与所述数据处理器结合使所述处理器、渲染器或系统执行这里所描述的技术的方法的步骤。这种计算机软件载体可以是物理存储介质,诸如ROM芯片、CD ROM、RAM、闪存或盘,或可以是信号,诸如电线上的电信号、光信号或无线电信号,诸如卫星等。
还将进一步理解的是,不是这里所描述的技术的方法的所有步骤都需要由计算机软件执行,并且由此根据更宽实施方式,这里所描述的技术提供了计算机软件并且这种软件安装在计算机软件载体上,用于执行这里阐述的方法的步骤中的至少一个。
这里所描述的技术可以因此适当地具体实施为用于与计算机系统一起使用的计算机程序产品。这种实现可以包括一系列计算机可读指令,该一系列计算机可读指令固定在有形、永久介质上,诸如计算机可读介质,例如,磁盘、CD-ROM、ROM、RAM、闪存或硬盘。还应当包括一系列计算机可读指令,在有形介质(包括但不限于,光学或模拟通信线)上,或无形地使用无线技术(包括但不限于,微波、红外或其他传输技术),这些指令经由调制解调器或其他接口装置可发送到计算机系统。该系列计算机可读指令具体实施这里之前描述的功能的所有或一部分。
本领域技术人员将理解,这种计算机可读指令可以以多种编程语言来写,用于与许多计算机架构或操作系统一起使用。进一步地,这种指令可以使用任意存储技术来存储(存储技术现在或将来包括但不限于半导体、磁或光),或使用任意通信技术来发送(通信技术现在或将来包括但不限于光学、红外或微波)。预期的是,这种计算机程序产品可以作为可去除介质来分发,附有已打印的文档或电子文档,例如,现成软件;例如在系统ROM或固定盘上预加载有计算机系统;或在网络(例如,因特网或万维网)上从服务器或电子公告栏分发。
图1中示出了示例性数据处理系统100,该示例性数据处理系统100被构造为实现实施方式的、用于生成用于传输到电子显示器的经编码输出视频帧的方法。
数据处理系统100包括经由互连107通信的中央处理单元(CPU)101、图形处理单元(GPU)102、视频引擎103、合成引擎104、无线收发器(例如,WiFi)105以及显示控制器106。CPU、GPU、视频引擎、合成引擎、无线发送器以及显示控制器经由存储器控制器108访问用于存储包括视频帧的数据的片外存储器110。数据处理系统100经由显示控制器106与电子显示器(例如无线或远程电子显示器)120通信。应注意,显示器120不形成数据处理系统100包的一部分。
数据处理系统100包将接收要传输到电子显示器显示的源视频帧。首先在CPU 101的控制下由视频引擎103解码/解压各源视频帧。然后可以由CPU处理经解码源视频帧,此外,经解码源视频帧可以与其他数据组合。例如,合成引擎104可以通过合成经解码源视频帧与一个或更多个其他源帧或数据(诸如GPU102所生成的图形帧)来生成用于显示的合成帧。合成的帧然后经由存储器控制器108存储在片外存储器110中的帧缓冲器中。
然后从片外存储器110中的帧缓冲器检索合成帧,以用作要由视频编码器编码(压缩)的输入视频帧,以获得用于传输到电子显示器的输出视频帧。在本实施方式中,视频编码器将(到视频编码器的输入视频帧的)合成帧的一个或更多个区域与由视频引擎103生成的经解码源视频帧的一个或更多个区域进行比较,以确定合成帧的区域是否类似于经解码源视频帧的区域。在本实施方式中,在两个帧的对应区域之间执行类似性确定,并且使得类似性确定将确定如果经解码源视频帧的区域已经被合成处理修改,则经解码源视频帧的区域不类似于合成帧的对应区域。
视频编码器然后基于类似性确定的结果向存储器中的输出视频帧输出经编码输出视频帧区域。
如果类似性确定确定两个帧区域彼此类似(由此经解码源视频帧尚未被修改),则视频编码器将源视频帧区域的经编码版本(在由视频引擎解码之前的源视频帧区域)用作经编码输出视频帧区域,由此避免对合成帧区域本身进行编码。在这种情况下,视频编码器因此将经编码源视频帧区域存储在输出视频帧缓冲器中以用于输出视频帧。
另一方面,如果类似性确定确定两个帧区域彼此不类似(由此经解码源视频帧在关注中的区域中已经被修改),则视频编码器适当编码输入视频帧区域(合成帧区域),然后将经编码输入视频帧(合成帧)区域存储在输出视频帧缓冲器中以用于输出视频帧。
显示控制器106然后从输出视频帧缓冲器读取经编码输出视频帧并将其发送到电子显示器120以显示。
视频编码器可以根据期望例如实现在视频引擎103中,实现在显示控制器106中,或作为单独的硬件部件。输出视频帧缓冲器可以根据期望被类似地提供为例如本地缓冲器和/或提供在片外存储器110中。
图2中示意性示出了实施方式的基本操作的示例,在图2中,仅为了例示的目的而在流水线构造中示出了GPU 102、视频引擎103、合成引擎104、无线发送器105以及显示控制器106。
在示例中,例如YUV色空间中的经编码源视频内容输入到视频引擎103中以由视频解码器103-1解码。经解码源视频帧200a例如由视频引擎103经受色空间转换103-2,并且被转换成与图形帧兼容或相同的格式(例如,RGB格式)。RGB的经解码源视频帧然后输入到合成引擎104中。另一方面,在RGB色空间中由GPU 102生成图形帧200b,该图形帧200b也输入到合成引擎104中。图形帧200b例如可以包括用于视频内容和字幕的回放控制。合成引擎104合成经解码源视频帧200a和图形帧200b,并且输出合成帧200c。
为了无线传输到电子显示器,合成帧200c首先例如在视频引擎103中经受色空间转换103-3,并且被转换成例如YUV格式。视频编码器103-4例如可以实现在视频引擎103中。视频编码器103-4将YUV色空间200c’(未示出)中的合成视频帧当作输入视频帧,并且向无线发送器105输出经编码输出视频帧以传输到电子显示器。
本实施方式与传统操作的不同在于,用于编码的输入视频帧200c’(合成帧)与经解码源视频帧200a进行比较,以确定是否已经修改经解码源视频帧200a的区域来获得输入视频帧200c’。如图2中可以看到的,倘若视频编码器103-4使用与经编码源视频帧相同的编码对输入视频帧进行编码,如果确定输入视频帧200c’的区域类似于经解码源视频帧200a的区域,则经编码源视频内容的与经解码源视频帧200a的区域对应于的区域可以用作用于传输到电子显示器的经编码输出视频帧区域。
由此,当确定输入视频帧200c’的区域类似于经解码源视频帧200a的区域时,重新使用经编码源视频内容,使得视频编码器103-4可以避免执行用于关注中的输入视频帧200c’的区域的编码。
(如果视频编码器103-4所用的编码方案不与应用于源视频内容的编码方案相同,那么即使当确定输入视频帧200c’的区域类似于经解码源视频帧200a的区域,可能也不可以或期望使用经编码输出视频帧中的经编码源视频内容来传输到电子显示器。由此,如果期望,则可以首先确定视频编码器103-4所用的编码方案是否为应用于源视频内容的同一编码方案。)
另一方面,如果确定输入视频帧200c’的区域不类似于经解码源视频帧200a的区域(即,确定已经修改经解码源视频帧200a,以获得关注中的输入视频帧区域),那么视频编码器103-4编码关注中的输入视频帧200c’的区域以用作该视频帧区域的输出经编码版本。
如图2所示,帧被划分为多个区域。输入视频帧200c’与经解码源视频帧200a之间的比较逐区域进行。
通过逐帧区域执行确定是否已经修改经解码源视频帧以获得到视频编码器的对应输入视频帧(合成帧),即使在经解码源视频帧的一些区域已经通过与另一个源帧(例如,含有回放控制和字幕的图形帧)合成而被修改时,也可以识别与经解码源视频帧的帧区域类似的输入视频帧的帧区域(即,尚未被修改的帧区域)。
在本实施方式中,被比较的帧区域对应于用于视频帧编码的宏块。其他结构当然会是可以的。
在本实施方式中,经解码源视频帧的帧区域是否类似于输入视频帧区域(即,是否已经被修改)的确定通过比较代表各帧区域的内容的签名来执行。在实施方式中,对于经解码源视频帧的各处理块生成代表经解码源视频帧的块的内容的签名,并且对于输入视频帧的各处理块生成代表输入视频帧的块的内容的签名。然后将对应于所考虑的输入视频帧区域的块的签名与对应于经解码源视频帧区域的块的签名进行比较。
因为在本实施方式中,所考虑的帧区域包括视频宏块,所以情况可以是(并且将通常是)这样,各宏块将包括多个处理块。在这种情况下,帧区域将关联有多于一个内容指示签名。
在这种情况下,当比较帧区域时,用于与关注中的帧区域关联的各块的内容指示签名可以分别彼此比较,并且只有在各对块签名相同时,才确定帧区域类似(即,帧区域尚未被修改)。
图5例示了这一点,并且示出了被分割为多个等尺寸处理块51-1、51-2、51-3等的帧51和被分割成多个变尺寸宏块52-1、52-2、52-3等的相同帧52。如图5所示,在这种情况下,标记为“a”的四个块例如对应于标记为“a”的宏块。
其他结构当然会是可以的。例如,情况可以是这样,所考虑的视频帧区域对应于生成签名的块(或其他区域),或者例如,可以例如通过适当组合区域覆盖的独立块的签名来整体上对于各视频帧区域生成单个签名。
为了促进该操作,对于各帧块生成一个或更多个内容指示签名,并且存储这些内容指示签名以及代表帧区域本身的任意其他数据以在稍后阶段使用。该数据例如可以存储在片外存储器110中。其他结构当然会是可以的(如果期望)。
在示例中,生成帧块内容指示签名的处理可以由签名生成硬件单元来执行。签名生成单元可以被提供为CPU 101、视频引擎103或合成引擎104不可分割的部分,提供为单独的硬件单元,或为任意其他适当的形式,并且操作为对于各帧块生成代表帧块内容的签名。
在示例中,帧块数据例如从生成图形或视频帧的GPU 102、视频引擎103、合成引擎104或其他处理器由签名生成单元来接收,并且数据被传递到缓冲器并传递到签名生成器,该缓冲器在签名生成处理发生的同时临时存储帧块数据。签名生成器操作为对于帧块生成必要签名。在示例中,签名对于帧块可以为64位CRC的形式。还可以或相反使用其他签名生成函数和其他形式的签名(诸如哈希函数等)。
写控制器可以与签名生成单元关联,一旦已经生成用于帧区域的签名,则该签名生成单元在写控制器的控制下操作为将签名存储在与片外存储器110中的帧关联的每帧块签名缓冲器中。对应的帧块数据也存储在片外存储器110中的适当缓冲器中。
在实施方式中,用于帧块的内容指示签名仅使用各帧块中的颜色(例如,RGB[7:2])的最高有效位(MSB)的所选集合来生成。这些MSB签名然后用于确定一个帧块是否与另一个帧块相同或类似。使用于确定两个帧块之间是否存在不同的内容指示签名基于帧块数据(颜色)值的MSB的效果仅为即使在帧块之间存在较小不同(例如,仅最低有效位(LSB)的不同)时也仍然认为两个帧块足够类似,使得在帧区域之间存在更显著不同时,将仅需要由视频编码器单独编码输入视频帧区域。这具有减小视频编码器输出用于传输的经编码视频帧所需的编码量。
可以使用用于减小视频编码器输出经编码视频帧所需的编码量的其他结构(如果期望)。例如,即使帧区域内已经存在一些不同,比较处理也可以允许仍然考虑等于或小于阈值的匹配,以指示一个帧区域足够类似于另一个帧区域。
图6示意性示出了将签名用于识别已经和尚未通过与图形帧合成以形成要被编码的合成输入帧的经解码视频帧的区域。为了例示的目的,在图6中假定为关注中的帧的各相关区域提供单个内容指示签名,但如上面所注释的,不需要是且实际上可以不是这种情况。
如图6所示,对于经解码源视频帧61的各区域生成一个或更多个签名,以获得代表经解码源视频帧61的内容的视频签名62的阵列。类似地,对于源图形帧63的各区域生成一个或更多个签名,以获得代表源图形帧63的内容的图形签名64的阵列。一旦合成引擎104已经将经解码源视频帧61与源图形帧63合成,以获得合成帧65-1,则对于合成帧65-1的各区域生成一个或更多个签名,以获得代表合成帧65-1的内容的合成签名66-1的阵列。
在图6的示例中,如由合成帧65-2(该帧的内容与合成帧65-1相同,但为了例示的目的而被示出有阴影)的阴影所示的,合成帧65-2的遮挡部分尚未被合成引擎104修改,这可以通过将合成签名66-2与视频签名62进行比较来识别。在该示例中,签名比较将示出仅合成帧65-2未被遮挡的部分已经被修改并因此不类似于经解码源视频帧61的对应部分。在这种情况下,可以使编码量最小化,因此使由视频编码器通过重新使用对应于所遮挡区域的经编码源帧区域执行的处理最小化。
如领域中已知的,源视频内容可以由设置在任意顺序的组中的多个经编码(压缩)视频帧形成。图3中示出了这种分组的示例,在图3中,经编码视频帧设置在各包括且顺序为I帧、P帧、B帧以及I帧的组中。
在本实施方式中,视频编码器输出与源视频内容相同顺序的经编码视频帧。由此,当确定输入视频帧200c’的区域类似于经解码源视频帧的区域时,源视频内容的区域可以用作用于传输到电子显示器的经编码输出视频帧的与输入视频帧的区域对应的区域。
(如果视频编码器可以输出不与源视频内容相同顺序的经编码输出视频帧中的一些或全部,那么对于以不与源视频内容相同的顺序排列的输出视频帧中的一些或全部,即使当确定输入视频帧200c’的区域类似于经解码源视频帧的区域,也可能不可以或期望将初始源视频内容用于视频编码器的经编码输出视频帧。由此,如果期望,可以首先确定视频编码器是否输出与源视频内容相同顺序的经编码视频帧中的一些或全部。)
图4中示意性例示了解码序列的示例,在图4中,在包括帧401、402、403以及404的第一行中,帧中的失效区域代表在经解码源视频帧与各输入视频帧之间类似的区域,并且在第二行中,帧411、412、413以及414中的失效区域分别代表帧401、402、403以及404中可以重新使用原始经编码源视频帧的区域。
因为I帧401和I帧404可以在不依赖其他帧的情况下独立解码,所以可以如由I帧411和I帧414所示的重新使用用于在经解码源视频帧与各输入视频帧之间类似的全部区域的源视频内容的初始编码。
P帧402基于先前解码的I帧(该I帧对应于I帧401)来解码。因为P帧402基于它与先前I帧之间的不同来编码,所以解码P帧402需要来自经解码I帧的信息。在这种情况下,可能不期望将经编码源视频内容用于在当前P帧中类似但在先前I帧中不同的区域。因此,在对于当前P帧确定输入视频帧中的区域类似于经解码源视频P帧的区域时,还确定先前输入视频I帧中对应于当前输入视频P帧的区域的区域是否也类似于先前经解码源视频I帧对应于当前经解码源视频P帧的区域的区域。
P帧412中失效的区域代表被确定为在当前经解码源视频P帧与各当前输入视频P帧之间类似且还被确定为在先前经解码源视频I帧与各先前输入视频I帧之间也类似的区域。在一些实施方式中,仅可以重新使用对应于P帧412中的失效区域的经编码源视频帧区域。
B帧403基于它关于先前经解码源视频P帧和随后经解码源视频I帧这两者之间的不同来解码,因此需要来自经解码源视频帧两者的信息。类似于P帧的情况,可能不期望将源视频内容的编码用于在当前B帧中类似但在先前和/或随后帧中不同的区域。因此,在对于当前B帧确定输入视频B帧中的区域类似于经解码源视频B帧的区域时,还确定先前输入视频P帧中对应于当前输入视频B帧的区域的区域是否也类似于先前经解码源视频P帧中对应于当前经解码源视频B帧的区域的区域,并且确定随后输入视频I帧中对应于当前输入视频B帧的区域的区域是否也类似于随后经解码源视频I帧对应于当前经解码源视频B帧的区域的区域。
B帧413中的失效区域代表在当前经解码源视频B帧与各当前输入视频B帧之间类似的、在先前经解码源P帧与各先前输入视频P帧之间类似的以及在随后经解码源I帧与各随后输入视频I帧之间类似的区域。在一些实施方式中,仅重新使用对应于B帧413中的失效区域的经编码源视频帧区域。
图8A和图8B的流程图中例示了生成用于传输到电子显示器的经编码输出视频帧的方法上述实施方式。操作在块801处开始,在801时,由视频编码器接收当前输入视频帧,以编码。
在步骤802处,确定所用的无线显示协议是否支持源视频内容的视频压缩格式(例如,H.264、H.263、MPEG-4、MPEG-2等)。如果确定不支持源视频内容的视频压缩格式,则在步骤813处使用适当的编码方案由视频编码器对当前输入视频帧进行完全编码,并且处理在步骤814处结束。
如果确定支持源视频内容的视频压缩格式,则在步骤803处,进一步确定视频解码器和视频编码器是否都支持相同的分辨率和色彩深度。如果确定视频解码器和视频编码器不支持相同的分辨率和色彩深度,则在步骤813处,以正常方式由视频编码器对当前输入视频帧进行完全编码,并且处理在步骤814处结束。
在一些实施方式中,源视频帧以与经编码输出视频帧相同的顺序来分组。然而,在一些实施方式中,可以另外确定源视频帧是否以与经编码输出视频帧相同的顺序分组。在这些实施方式中,如果顺序不相同,则方法进行到A,并且如果顺序相同,则方法进行到B。
如果确定视频解码器和视频编码器支持相同分辨率和相同编码格式,那么在步骤804处确定用于当前输入视频帧的当前帧区域的签名是否与用于当前经编码源视频帧的对应帧区域的签名相同或足够类似。如果确定用于当前帧区域的签名不与用于当前经编码源视频帧的对应帧区域的签名相同或足够类似,则由视频编码器对当前帧区域进行编码。
如果确定用于当前帧区域的签名与用于当前经编码源视频帧的对应帧区域的签名相同或足够类似,则在步骤805处确定当前输入视频帧是否为I帧。如果确定当前输入视频帧为I帧,则由视频编码器将经编码(预解码)源视频帧的对应帧区域用作经编码输出帧区域(步骤809)。
如果确定当前输入视频帧不是I帧,则在步骤806处,对于先前视频帧确定先前输入视频帧的对应帧区域是否与先前经解码源视频帧的对应帧区域相同或足够类似。如果确定不相同或足够类似,则在步骤810处,视频编码器对当前帧区域进行编码。
如果在步骤806处确定先前视频帧的对应帧区域相同或足够类似,则在步骤807处确定当前输入视频帧是否为P帧。如果确定当前输入视频帧为P帧,则在步骤809处,由视频编码器将与预解码源视频帧中的当前帧区域对应的帧区域用作经编码帧区域。
如果确定当前输入视频帧不是P帧,则确定当前输入视频帧为B帧。然后,在步骤808处对于随后视频帧进一步确定随后输入视频帧的对应帧区域是否与随后经解码源视频帧的对应帧区域相同或足够类似。如果确定不相同或足够类似,则在步骤810处,视频编码器对当前帧区域进行编码。
如果在步骤808处确定随后视频帧的对应帧区域相同或足够类似,则在步骤809处,由视频编码器将与预解码源视频帧中的当前帧区域对应的帧区域用作经编码帧区域。
这然后完成当前帧区域的处理。
在步骤811处,确定是否已经处理当前输入视频帧的全部帧区域。如果已经处理当前输入视频帧的全部帧区域,则操作在步骤814处结束(并且可以移到要处理的下一帧)。如果尚未处理帧区域中的全部,则在步骤812处,选择来自当前输入视频帧的新帧区域以通过返回到步骤804处理。
对上述实施方式的各种另选、修改以及添加将是可以的(如果期望)。
例如,参照图8B,在步骤805处,当确定当前输入视频帧不是I帧时,处理可以可选地进行到步骤813,使得由视频编码器编码整个当前输入视频帧(如果期望)。另选地,当在步骤805处确定当前输入视频帧不是I帧时,可以允许处理进行到步骤806,并且在步骤807处,在确认先前输入视频帧和先前经解码源视频帧的对应区域也类似之后,如果确定当前输入视频帧不是P帧,则处理在此时可以可选地进行到步骤813,以编码整个当前输入视频帧(如果期望)。
例如,即使确定输入视频帧的特定帧区域不类似于经解码源视频帧的对应帧区域,也仍然可以避免编码该输入视频帧区域。例如,输入视频帧的帧区域可以与经解码源视频帧的另一个帧区域相同或足够类似,或者与同一或先前输入视频帧中的另一个帧区域相同或类似,在这种情况下,可以使用源视频帧的另一个经编码帧区域或同一或先前输入视频帧中的经编码帧区域,而不是编码关注中的帧区域。
由此,在另外的实施方式中,如图7例示,输入视频帧的当前帧区域与同一输入视频帧的一个或更多个其他帧区域进行比较。作为类似性确定的对象的当前帧区域70-2可以与先前已经处理(完成类似性确定且被编码或重新使用源编码)的同一帧的一个或更多个其他帧区域进行比较。在示例中,确定当前帧区域70-2与帧区域70-1相同或足够类似,在这种情况下,视频编码器可以将帧区域70-1的编码重新用于当前帧区域70-2。
由此,这里所描述的技术不限于仅将当前输入视频帧的当前帧区域与当前经解码源视频帧的对应帧区域(当前输入视频帧从该对应帧区域获得)进行比较,而是可以被扩展为将当前帧区域与当前经解码源视频帧的一个或更多个其他帧区域、先前输入视频帧的一个或更多个帧区域和/或当前输入视频帧的一个或更多个已经处理的帧区域进行比较以尝试找到与当前帧区域相同或足够类似的帧区域。通过将当前帧区域与其他可用帧区域(可用帧区域的编码可以重新用于当前输入视频帧中)进行比较,可以提高匹配可能性,由此避免不必要的编码,从而减少处理和功耗。
由此,这里所描述的技术可以扩展为在当前帧区域与任意其他已经处理的可用帧区域(诸如先前经解码源视频帧和先前输入视频帧的帧区域)之间执行类似性确定(根据期望)。
同样不需要输入视频帧的帧区域与视频编码器的经解码源视频帧、经编码输出视频帧等的帧区域之间的一一映射。例如,可以存在至少部分有助于给定输出帧区域的多个输入帧区域。
如将从上述理解的,这里所描述的技术至少在其实施方式中可以提供与已知传统视频编码技术相比减小视频编码器输出用于(无线)传输到电子显示器的经编码视频帧所需的编码量的机制。因此,可以降低用于串流视频内容的带宽和功率要求。

Claims (57)

1.一种生成用于传输到电子显示器的经编码输出视频帧的方法,其中,经编码源视频帧被解码以获得经解码源视频帧,所述经解码源视频帧被处理以获得输入视频帧,并且所述输入视频帧被编码以获得用于传输到电子显示器的所述经编码输出视频帧,所述方法包括以下步骤:
将从经解码源视频帧获得的输入视频帧的区域与所述经解码源视频帧的区域进行比较,以确定所述经解码源视频帧的所述区域是否类似于所述输入视频帧的所述区域;以及
当确定所述经解码源视频帧的所述区域类似于所述输入视频帧的所述区域时,使用经编码源视频帧的与所述经解码源视频帧的所述区域对应的区域作为用于传输的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
2.根据权利要求1所述的方法,其中,
所述经解码源视频帧要基于另一个经解码源视频帧来解码;并且
所述方法还包括以下步骤:
在使用所述经编码源视频帧的所述区域作为第一输出视频帧的所述区域之前,将与所述输入视频帧的所述区域对应的另一个输入视频帧的区域和与所述经解码源视频帧的所述区域对应的所述另一个经解码源视频帧的区域进行比较,以确定所述另一个输入视频帧的所述区域和所述另一个经解码源视频帧的所述区域是否彼此类似,所述另一个输入视频帧从所述另一个经解码源视频帧获得;以及
当确定所述另一个输入视频帧的所述区域和所述另一个经解码源视频帧的所述区域彼此类似时,仅使用所述经编码源视频帧的所述区域作为所述第一输出视频帧的所述区域。
3.根据权利要求1或2所述的方法,所述方法还包括以下步骤:当确定所述输入视频帧的所述区域不类似于所述经解码源视频帧的区域,和/或另一个输入视频帧的所述区域不类似于对应的另一个经解码源视频帧的所述区域时,对所述输入视频帧的所述区域进行编码以用作要传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
4.根据权利要求1或2所述的方法,其中,所述区域包括视频帧宏块。
5.根据权利要求1或2所述的方法,其中,所述源视频帧、所述经解码源视频帧、所述输入视频帧以及所述经编码输出视频帧中的每个被划分为多个帧区域,并且所述比较的步骤包括将输入视频帧的多个帧区域中的每一个帧区域与经解码源视频帧的一个或更多个帧区域进行比较。
6.根据权利要求1或2所述的方法,其中,所述源视频帧、所述经解码源视频帧、所述输入视频帧以及所述经编码输出视频帧中的每个被划分为多个帧区域;并且所述方法还包括以下步骤:
将所述输入视频帧的第一帧区域与在该帧中具有不同于所述第一帧区域的位置的所述输入视频帧的第二帧区域进行比较,以及当确定所述第一帧区域类似于所述第二帧区域时,针对所述经编码输出视频帧中与所述输入视频帧的所述第一帧区域对应的帧区域,使用所述第二帧区域的经编码版本。
7.根据权利要求1或2所述的方法,其中,所述源视频帧、所述经解码源视频帧、所述输入视频帧以及所述经编码输出视频帧中的每个被划分为多个帧区域;并且所述方法还包括以下步骤:
将所述输入视频帧的帧区域与先前输入视频帧的一个或更多个帧区域进行比较,以及当确定所述输入视频帧的所述帧区域类似于所述先前输入视频帧的所述一个或更多个帧区域中的任一个帧区域时,针对所述经编码输出视频帧中与所述输入视频帧的所述帧区域对应的帧区域,使用所述先前输入视频帧的该帧区域的经编码版本。
8.根据权利要求1所述的方法,其中,所述比较的步骤包括将代表所关注的帧区域的内容的一个或更多个签名与代表要与所关注的帧区域比较的所述帧区域的内容的一个或更多个签名进行比较。
9.根据权利要求8所述的方法,其中,各签名代表所关注的帧区域的子区域的内容。
10.根据权利要求1所述的方法,其中,通过将所述经解码源视频帧与一个或更多个其他源帧合成来处理所述经解码源视频帧。
11.根据权利要求1所述的方法,所述方法还包括以下步骤:
确定电子显示器是否支持所述源视频帧的编码格式,以及当确定所述电子显示器不支持所述编码格式时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
12.根据权利要求1所述的方法,所述方法还包括以下步骤:
确定所述源视频帧的所述区域和所述经编码输出视频帧的所述区域是否具有相同的分辨率和色彩深度,以及当确定所述分辨率和色彩深度不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
13.根据权利要求1所述的方法,所述方法还包括以下步骤:
确定关于先前和随后经编码输出视频帧是否要以与所述源视频帧相同的顺序对所述经编码输出视频帧进行排序;以及当确定所述顺序不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
14.一种生成用于传输到电子显示器的经编码输出视频帧的方法,其中,经编码源视频帧被解码以获得经解码源视频帧,所述经解码源视频帧被处理以获得输入视频帧,并且所述输入视频帧被编码以获得用于传输到电子显示器的所述经编码输出视频帧,其中,至少所述输入视频帧和所述经编码输出视频帧被划分为多个帧区域,所述方法包括以下步骤:
将所述输入视频帧的第一帧区域与在该帧中具有不同于所述第一帧区域的位置的所述输入视频帧的第二帧区域进行比较;以及
当确定所述第一帧区域类似于所述第二帧区域时,使用所述第二帧区域的经编码版本作为所述经编码输出视频帧中与所述输入视频帧的所述第一帧区域对应的帧区域。
15.根据权利要求14所述的方法,其中,所述比较的步骤包括将代表所关注的帧区域的内容的一个或更多个签名与代表要与所关注的帧区域比较的所述帧区域的内容的一个或更多个签名进行比较。
16.根据权利要求15所述的方法,其中,各签名代表所关注的帧区域的子区域的内容。
17.根据权利要求14所述的方法,其中,通过将所述经解码源视频帧与一个或更多个其他源帧合成来处理所述经解码源视频帧。
18.根据权利要求14所述的方法,所述方法还包括以下步骤:
确定电子显示器是否支持所述源视频帧的编码格式,以及当确定所述电子显示器不支持所述编码格式时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
19.根据权利要求14所述的方法,所述方法还包括以下步骤:
确定所述源视频帧的所述区域和所述经编码输出视频帧的所述区域是否具有相同的分辨率和色彩深度,以及当确定所述分辨率和色彩深度不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
20.根据权利要求14所述的方法,所述方法还包括以下步骤:
确定关于先前和随后经编码输出视频帧是否要以与所述源视频帧相同的顺序对所述经编码输出视频帧进行排序;以及当确定所述顺序不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
21.一种生成用于传输到电子显示器的经编码输出视频帧的方法,其中,经编码源视频帧被解码以获得经解码源视频帧,所述经解码源视频帧被处理以获得输入视频帧,并且所述输入视频帧被编码以获得用于传输到电子显示器的所述经编码输出视频帧,其中,至少所述输入视频帧和所述经编码输出视频帧被划分为多个帧区域,所述方法包括以下步骤:
将所述输入视频帧的帧区域与先前输入视频帧的一个或更多个帧区域进行比较;以及
当确定所述输入视频帧的所述帧区域类似于所述先前输入视频帧的所述一个或更多个帧区域中的任一个帧区域时,使用所述先前输入视频帧的该帧区域的经编码版本作为所述经编码输出视频帧中与所述输入视频帧的所述帧区域对应的帧区域。
22.根据权利要求21所述的方法,其中,所述比较的步骤包括将代表所关注的帧区域的内容的一个或更多个签名与代表要与所关注的帧区域比较的所述帧区域的内容的一个或更多个签名进行比较。
23.根据权利要求22所述的方法,其中,各签名代表所关注的帧区域的子区域的内容。
24.根据权利要求21所述的方法,其中,通过将所述经解码源视频帧与一个或更多个其他源帧合成来处理所述经解码源视频帧。
25.根据权利要求21所述的方法,所述方法还包括以下步骤:
确定电子显示器是否支持所述源视频帧的编码格式,以及当确定所述电子显示器不支持所述编码格式时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
26.根据权利要求21所述的方法,所述方法还包括以下步骤:
确定所述源视频帧的所述区域和所述经编码输出视频帧的所述区域是否具有相同的分辨率和色彩深度,以及当确定所述分辨率和色彩深度不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
27.根据权利要求21所述的方法,所述方法还包括以下步骤:
确定关于先前和随后经编码输出视频帧是否要以与所述源视频帧相同的顺序对所述经编码输出视频帧进行排序;以及当确定所述顺序不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
28.一种用于生成用于传输到电子显示器的经编码输出视频帧的系统,该系统包括:
视频解码器,该视频解码器能够对经编码源视频帧进行解码以获得经解码源视频帧;
处理引擎,该处理引擎能够处理所述经解码源视频帧以获得输入视频帧;以及
视频编码器,该视频编码器能够对所述输入视频帧进行编码以获得用于传输到电子显示器的所述经编码输出视频帧;并且
该系统还包括处理电路,该处理电路能够在所述系统从经编码源视频帧生成用于传输到电子显示器的所述经编码输出视频帧时:
将从经解码源视频帧获得的输入视频帧的区域与所述经解码源视频帧的区域进行比较,以确定所述经解码源视频帧的所述区域是否类似于所述输入视频帧的所述区域;并且
当确定所述经解码源视频帧的所述区域类似于所述输入视频帧的所述区域时,使用经编码源视频帧的与所述经解码源视频帧的所述区域对应的区域作为用于传输的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
29.根据权利要求28所述的系统,其中,
所述经解码源视频帧要基于另一个经解码源视频帧来解码;并且
所述处理电路还能够:
在使用所述经编码源视频帧的所述区域作为第一输出视频帧的所述区域之前,将另一个输入视频帧的与所述输入视频帧的所述区域对应的区域和所述另一个经解码源视频帧的与所述经解码源视频帧的所述区域对应的区域进行比较,以确定所述另一个输入视频帧的所述区域和所述另一个经解码源视频帧的所述区域是否彼此类似,所述另一个输入视频帧从所述另一个经解码源视频帧获得;并且
当确定所述另一个输入视频帧的所述区域和所述另一个经解码源视频帧的所述区域彼此类似时,仅使用所述经编码源视频帧的所述区域作为所述第一输出视频帧的所述区域。
30.根据权利要求28或29所述的系统,其中,所述处理电路能够:当确定所述输入视频帧的所述区域不类似于所述经解码源视频帧的区域和/或另一个输入视频帧的所述区域不类似于对应的另一个经解码源视频帧的所述区域时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
31.根据权利要求28或29所述的系统,其中,所述视频帧区域包括视频帧宏块。
32.根据权利要求28或29所述的系统,其中,所述源视频帧、所述经解码源视频帧、所述输入视频帧以及所述经编码输出视频帧中的每个被划分为多个帧区域,并且所述处理电路将输入视频帧的多个帧区域中的每一个帧区域与经解码源视频帧的一个或更多个帧区域进行比较。
33.根据权利要求28或29所述的系统,其中,所述源视频帧、所述经解码源视频帧、所述输入视频帧以及所述经编码输出视频帧中的每个被划分为多个帧区域;并且所述处理电路还能够:
将所述输入视频帧的第一帧区域与在该帧中具有不同于所述第一帧区域的位置的所述输入视频帧的第二帧区域进行比较,以及当确定所述第一帧区域类似于所述第二帧区域时,针对所述经编码输出视频帧中与所述输入视频帧的所述第一帧区域对应的帧区域,使用所述第二帧区域的所述经编码版本。
34.根据权利要求28或29所述的系统,其中,所述源视频帧、所述经解码源视频帧、所述输入视频帧以及所述经编码输出视频帧中的每个被划分为多个帧区域;并且所述处理电路还能够:
将所述输入视频帧的帧区域与先前输入视频帧的一个或更多个帧区域进行比较;并且当确定所述输入视频帧的所述帧区域类似于所述先前输入视频帧的所述一个或更多个帧区域中的任一个帧区域时,针对所述经编码输出视频帧中与所述输入视频帧的所述帧区域对应的帧区域,使用所述先前输入视频帧的该帧区域的经编码版本。
35.根据权利要求28所述的系统,其中,所述处理电路还能够将代表所关注的帧区域的内容的一个或更多个签名与代表要与所关注的帧区域比较的所述帧区域的内容的一个或更多个签名进行比较。
36.根据权利要求35所述的系统,其中,各签名代表所关注的帧区域的子区域的内容。
37.根据权利要求28所述的系统,其中,通过将所述经解码源视频帧与一个或更多个其他源帧合成来处理所述经解码源视频帧。
38.根据权利要求28所述的系统,其中,所述处理电路还能够:
确定电子显示器是否支持所述源视频帧的编码格式,并且当确定所述电子显示器不支持所述编码格式时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
39.根据权利要求28所述的系统,其中,所述处理电路还能够:
确定所述源视频帧的所述区域和所述经编码输出视频帧的所述区域是否具有相同的分辨率和色彩深度;并且当确定所述分辨率和色彩深度不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
40.根据权利要求28所述的系统,其中,所述处理电路还能够:
确定关于先前和随后经编码输出视频帧是否要以与所述源视频帧相同的顺序对所述经编码输出视频帧进行排序;并且当确定所述顺序不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
41.一种用于生成用于传输到电子显示器的经编码输出视频帧的系统,该系统包括:
视频解码器,该视频解码器能够解码经编码源视频帧以获得经解码源视频帧;
处理引擎,该处理引擎能够处理所述经解码源视频帧以获得输入视频帧;以及
视频编码器,该视频编码器能够对所述输入视频帧进行编码以获得用于传输到电子显示器的所述经编码输出视频帧,
该系统还包括处理电路,该处理电路能够在所述系统从经编码源视频帧生成用于传输到电子显示器的所述经编码输出视频帧时:
将所述输入视频帧的第一帧区域与在该帧中具有不同于所述第一帧区域的位置的所述输入视频帧的第二帧区域进行比较;并且
当确定所述第一帧区域类似于所述第二帧区域时,使用所述第二帧区域的所述经编码版本作为所述经编码输出视频帧中与所述输入视频帧的所述第一帧区域对应的帧区域。
42.根据权利要求41所述的系统,其中,所述处理电路还能够将代表所关注的帧区域的内容的一个或更多个签名与代表要与所关注的帧区域比较的所述帧区域的内容的一个或更多个签名进行比较。
43.根据权利要求42所述的系统,其中,各签名代表所关注的帧区域的子区域的内容。
44.根据权利要求41所述的系统,其中,通过将所述经解码源视频帧与一个或更多个其他源帧合成来处理所述经解码源视频帧。
45.根据权利要求41所述的系统,其中,所述处理电路还能够:
确定电子显示器是否支持所述源视频帧的编码格式,并且当确定所述电子显示器不支持所述编码格式时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
46.根据权利要求41所述的系统,其中,所述处理电路还能够:
确定所述源视频帧的所述区域和所述经编码输出视频帧的所述区域是否具有相同的分辨率和色彩深度;并且当确定所述分辨率和色彩深度不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
47.根据权利要求41所述的系统,其中,所述处理电路还能够:
确定关于先前和随后经编码输出视频帧是否要以与所述源视频帧相同的顺序对所述经编码输出视频帧进行排序;并且当确定所述顺序不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
48.一种用于生成用于传输到电子显示器的经编码输出视频帧的系统,该系统包括:
视频解码器,该视频解码器能够解码经编码源视频帧以获得经解码源视频帧;
处理引擎,该处理引擎能够处理所述经解码源视频帧以获得输入视频帧;以及
视频编码器,该视频编码器能够对所述输入视频帧进行编码以获得用于传输到电子显示器的所述经编码输出视频帧,
该系统还包括处理电路,该处理电路能够在所述系统从经编码源视频帧生成用于传输到电子显示器的所述经编码输出视频帧时:
将所述输入视频帧的帧区域与先前输入视频帧的一个或更多个帧区域进行比较;并且
当确定所述输入视频帧的所述帧区域类似于所述先前输入视频帧的所述一个或更多个帧区域中的任一个帧区域时,使用所述先前输入视频帧的该帧区域的所述经编码版本作为所述经编码输出视频帧中与所述输入视频帧的所述帧区域对应的帧区域。
49.根据权利要求48所述的系统,其中,所述处理电路还能够将代表所关注的帧区域的内容的一个或更多个签名与代表要与所关注的帧区域比较的所述帧区域的内容的一个或更多个签名进行比较。
50.根据权利要求49所述的系统,其中,各签名代表所关注的帧区域的子区域的内容。
51.根据权利要求48所述的系统,其中,通过将所述经解码源视频帧与一个或更多个其他源帧合成来处理所述经解码源视频帧。
52.根据权利要求48所述的系统,其中,所述处理电路还能够:
确定电子显示器是否支持所述源视频帧的编码格式,并且当确定所述电子显示器不支持所述编码格式时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
53.根据权利要求48所述的系统,其中,所述处理电路还能够:
确定所述源视频帧的所述区域和所述经编码输出视频帧的所述区域是否具有相同的分辨率和色彩深度;并且当确定所述分辨率和色彩深度不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
54.根据权利要求48所述的系统,其中,所述处理电路还能够:
确定关于先前和随后经编码输出视频帧是否要以与所述源视频帧相同的顺序对所述经编码输出视频帧进行排序;并且当确定所述顺序不同时,对所述输入视频帧的所述区域进行编码,以用作用于传输到所述电子显示器的所述经编码输出视频帧的与所述输入视频帧的所述区域对应的区域。
55.一种生成经编码输出数据阵列的方法,其中,经编码源数据阵列被解码以获得经解码源数据阵列,所述经解码源数据阵列被处理以获得输入数据阵列,并且所述输入数据阵列被编码以获得所述经编码输出数据阵列,所述方法包括以下步骤:
将已从经解码源数据阵列获得的输入数据阵列的数据的子集与所述经解码源数据阵列的数据的子集进行比较,以确定所述经解码源数据阵列的所述数据的子集是否类似于所述输入数据阵列的所述数据的子集;以及
当确定所述经解码源数据阵列的所述数据的子集类似于所述输入数据阵列的所述数据的子集时,使用所述经编码源数据阵列的与所述经解码源数据阵列的所述数据的子集对应的数据的子集作为所述经编码输出数据阵列的与所述输入数据阵列的所述数据的子集对应的数据的子集。
56.一种用于生成经编码输出数据阵列的系统,该系统包括:
解码器,该解码器能够对经编码源数据阵列进行解码以获得经解码源数据阵列;
处理引擎,该处理引擎能够处理所述经解码源数据阵列以获得输入数据阵列;以及
编码器,该编码器能够对所述输入数据阵列进行编码以获得所述经编码输出数据阵列,
该系统还包括处理电路,该处理电路能够在所述系统从经编码源数据阵列生成所述经编码输出数据阵列时:
将已从经解码源数据阵列获得的输入数据阵列的数据的子集与所述经解码源数据阵列的数据的子集进行比较,以确定所述经解码源数据阵列的所述数据的子集是否类似于所述输入数据阵列的所述数据的子集;并且
当确定所述经解码源数据阵列的所述数据的子集类似于所述输入数据阵列的所述数据的子集时,使用所述经编码源数据阵列的与所述经解码源数据阵列的所述数据的子集对应的数据的子集作为所述经编码输出数据阵列的与所述输入数据阵列的所述数据的子集对应的数据的子集。
57.一种计算机可读存储介质,该计算机可读存储介质存储计算机程序,当该计算机程序在数据处理器上运行时执行根据权利要求1、14、21或55所述的方法。
CN201580020261.2A 2014-04-15 2015-04-10 生成经编码输出视频帧及数据阵列的方法和系统 Active CN106233730B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1406795.3A GB2525208B (en) 2014-04-15 2014-04-15 Method of and apparatus for generating an encoded frame
GB1406795.3 2014-04-15
PCT/GB2015/051105 WO2015159053A1 (en) 2014-04-15 2015-04-10 Method of and apparatus for generating an encoded frame

Publications (2)

Publication Number Publication Date
CN106233730A CN106233730A (zh) 2016-12-14
CN106233730B true CN106233730B (zh) 2020-04-24

Family

ID=50845058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580020261.2A Active CN106233730B (zh) 2014-04-15 2015-04-10 生成经编码输出视频帧及数据阵列的方法和系统

Country Status (4)

Country Link
US (1) US10063870B2 (zh)
CN (1) CN106233730B (zh)
GB (1) GB2525208B (zh)
WO (1) WO2015159053A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11051026B2 (en) * 2015-08-31 2021-06-29 Intel Corporation Method and system of frame re-ordering for video coding
US10499072B2 (en) * 2016-02-17 2019-12-03 Mimax, Inc. Macro cell display compression multi-head raster GPU
CN106790257A (zh) * 2017-01-24 2017-05-31 深圳市朗强科技有限公司 基于ip的多媒体传输方法及系统
US10453221B2 (en) * 2017-04-10 2019-10-22 Intel Corporation Region based processing
CN107087184B (zh) * 2017-04-28 2020-05-22 华南理工大学 一种多媒体数据再压缩方法
US11449545B2 (en) 2019-05-13 2022-09-20 Snap Inc. Deduplication of media file search results
WO2021217623A1 (zh) * 2020-04-30 2021-11-04 深圳市大疆创新科技有限公司 一种多媒体数据处理方法、设备及存储介质
FR3129802B1 (fr) * 2021-11-30 2023-12-15 Orange Procédé d’encodage de partitions d’images, et dispositif associé

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102484715A (zh) * 2009-08-21 2012-05-30 日本电气株式会社 运动图像编码设备
CN103098468A (zh) * 2010-09-10 2013-05-08 汤姆逊许可公司 使用基于块的混合分辨率数据修剪的视频编码

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194032B1 (en) * 1999-09-03 2007-03-20 Equator Technologies, Inc. Circuit and method for modifying a region of an encoded image
US6657564B2 (en) * 2001-12-13 2003-12-02 International Business Machines Corporation Method and apparatus for compressing data in which dictionary sizes are reduced
US7822277B2 (en) * 2005-08-31 2010-10-26 Ati Technologies Ulc Method and apparatus for communicating compressed video information
JP4833923B2 (ja) * 2007-06-15 2011-12-07 富士通セミコンダクター株式会社 トランスコード装置、トランスコーダ、デコーダおよびトランスコード方法
EP2286595A1 (en) * 2008-06-16 2011-02-23 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
US20100027663A1 (en) * 2008-07-29 2010-02-04 Qualcomm Incorporated Intellegent frame skipping in video coding based on similarity metric in compressed domain
US8379728B2 (en) * 2009-04-17 2013-02-19 Texas Instruments Incorporated Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof
US9942573B2 (en) * 2011-06-22 2018-04-10 Texas Instruments Incorporated Systems and methods for reducing blocking artifacts
US9819965B2 (en) * 2012-11-13 2017-11-14 Intel Corporation Content adaptive transform coding for next generation video
US9473778B2 (en) * 2013-09-27 2016-10-18 Apple Inc. Skip thresholding in pipelined video encoders
GB2551199B (en) * 2016-06-10 2019-12-18 Advanced Risc Mach Ltd Video data processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102484715A (zh) * 2009-08-21 2012-05-30 日本电气株式会社 运动图像编码设备
CN103098468A (zh) * 2010-09-10 2013-05-08 汤姆逊许可公司 使用基于块的混合分辨率数据修剪的视频编码

Also Published As

Publication number Publication date
CN106233730A (zh) 2016-12-14
GB2525208B (en) 2020-04-08
US20170048534A1 (en) 2017-02-16
GB2525208A (en) 2015-10-21
WO2015159053A1 (en) 2015-10-22
US10063870B2 (en) 2018-08-28
GB201406795D0 (en) 2014-05-28

Similar Documents

Publication Publication Date Title
CN106233730B (zh) 生成经编码输出视频帧及数据阵列的方法和系统
CN106973298B (zh) 以gpu加速的软件视频转码器
CN101889447B (zh) 扩展avc标准以与视频串行地对高分辨率数字静止画面编码
US9736488B2 (en) Decoding for high efficiency video transcoding
US11197010B2 (en) Browser-based video decoder using multiple CPU threads
US9948941B2 (en) Circuit, method and video decoder for video decoding
US10896536B2 (en) Providing output surface data to a display in data processing systems
US20160301945A1 (en) Image compression/decompression device
JP2022523441A (ja) デジタルビデオにおけるパラメータセットシグナリング
KR102637604B1 (ko) 신택스 디자인 방법 및 신택스를 이용하여 코딩을 수행하는 장치
KR20170059718A (ko) 디코딩 장치 및 그 방법
KR20210046784A (ko) 팔레트 코딩을 사용하는 인코딩 장치, 디코딩 장치 및 대응 방법
KR20210107889A (ko) 인코더, 디코더 및 디블로킹 필터 적응 방법
JP4997243B2 (ja) 画像符号化装置、その方法およびその集積回路
US20100111166A1 (en) Device for decoding a video stream and method thereof
US10609408B2 (en) Video data processing system using encoding information derived from a previous frame in a sequence of video frames
KR20140129624A (ko) 동영상 처리 방법 및 장치
JP6912158B2 (ja) ビデオデータ処理システム
US20140301719A1 (en) Processing cache for multiple bit precisions
US20140140391A1 (en) Image processing device, image processing method, and program
US10218978B2 (en) Data processing systems
TWI565303B (zh) 影像處理系統及影像處理方法
US11509940B1 (en) Video apparatus with reduced artifact and memory storage for improved motion estimation
US20130287100A1 (en) Mechanism for facilitating cost-efficient and low-latency encoding of video streams
US20140079124A1 (en) Video encoding method and video encoding device

Legal Events

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