CN115134602A - 低时延两次视频代码化 - Google Patents

低时延两次视频代码化 Download PDF

Info

Publication number
CN115134602A
CN115134602A CN202210545285.1A CN202210545285A CN115134602A CN 115134602 A CN115134602 A CN 115134602A CN 202210545285 A CN202210545285 A CN 202210545285A CN 115134602 A CN115134602 A CN 115134602A
Authority
CN
China
Prior art keywords
frame
encoding
input
block
reduced
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210545285.1A
Other languages
English (en)
Inventor
阿基·库塞拉
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.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN115134602A publication Critical patent/CN115134602A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods 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/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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/189Methods 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Landscapes

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

Abstract

公开了低时延两次视频代码化。低时延两次视频代码化可以包括:从输入视频流中识别输入帧;根据所述输入帧确定缩减帧,与所述输入帧的大小相比,所述缩减帧具有更小的大小;使用第一编码器来对所述缩减帧进行编码;基于对所述缩减帧进行编码而生成多个编码参数;通过使用所述第一编码器和所述多个编码参数对所述输入帧进行编码来生成编码帧;将所述第一编码帧包括在输出比特流中;以及存储或者发送所述输出比特流。

Description

低时延两次视频代码化
分案说明
本申请是分案申请,原案的申请号是201680024324.6,申请日是2016年06月29日,发明名称是“低时延两次视频代码化”。
技术领域
本申请涉及低时延两次视频代码化。
背景技术
数字视频能够被例如用于经由视频会议的远程业务会议、高清晰度视频娱乐、视频广告、或者共享用户生成的视频。由于视频数据中涉及的大量数据,对传输和存储需要高性能压缩。因此,提供了通过具有有限带宽的通信信道发送的高分辨率视频将会是有利的。
发明内容
本申请涉及为了传输或存储而对视频流数据进行编码和解码。本文中所公开的是用于使用低时延两次视频代码化进行编码和解码的系统、方法和设备的方面。
一个方面是一种针对使用低时延两次视频代码化的视频代码化的方法。使用低时延两次视频代码化的视频代码化可以包括:从输入视频流中识别输入帧;根据所述输入帧确定缩减帧,与所述输入帧的大小相比,所述缩减帧具有更小的大小;使用第一编码器来对所述缩减帧进行编码;基于对所述缩减帧进行编码而生成多个编码参数;通过使用所述第一编码器和所述多个编码参数对所述输入帧进行编码来生成编码帧;将所述第一编码帧包括在输出比特流中;以及存储或者发送所述输出比特流。
另一方面是一种针对使用低时延两次视频代码化的视频代码化的方法。在一些实施方式中,使用低时延两次视频代码化的视频代码化可以包括:从输入视频流中识别输入帧,其中所述输入帧包括输入块;根据所述输入帧确定缩减帧,与所述输入帧的大小相比,所述缩减帧具有更小的大小,其中所述缩减帧包括在空间上与所述输入块的至少一部分相对应的缩减块;由第一编码器对所述缩减帧进行编码,其中对所述缩减帧进行编码包括识别用于对所述缩减块进行编码的运动矢量;由所述第一编码器通过对所述输入帧进行编码来生成编码帧,其中对所述输入帧进行编码包括在所述运动矢量超过运动阈值的条件下,使用所述输入块的运动搜索区域用于运动估计,其中所述运动搜索区域是基于所述运动矢量来识别的;将所述编码帧包括在输出比特流中;以及存储或者发送所述输出比特流。
另一方面是一种针对使用低时延两次视频代码化的视频代码化的方法。在一些实施方式中,使用低时延两次视频代码化的视频代码化可以包括:从输入视频流中识别输入帧;根据所述输入帧确定缩减帧,与所述输入帧的大小相比,所述缩减帧具有更小的大小,其中根据所述输入帧确定所述缩减帧包括对所述输入帧进行裁切、对所述输入帧进行缩放、或者对所述输入帧进行裁切并缩放;使用第一编码器来对所述缩减帧进行编码,其中对所述缩减帧进行编码包括生成多个编码度量;基于所述多个编码度量生成至少一个编码参数;使用所述第一编码器通过使用所述至少一个编码参数对所述输入帧进行编码来生成编码帧;将所述第一编码帧包括在输出比特流中;以及存储或者发送所述输出比特流。
此后将附加详细地描述这些和其它方面中的变化。
附图说明
本文中描述参考附图,其中相同的附图标记在若干视图中自始至终指代相同的部分。
图1是根据本公开的实施方式的计算装置的图。
图2是根据本公开的实施方式的计算和通信系统的图。
图3是根据本公开的实施方式的用于在编码和解码中使用的视频流的图。
图4是根据本公开的实施方式的编码器的框图。
图5是根据本公开的实施方式的解码器的框图。
图6是表示根据本公开的实施方式的帧的一部分的框图。
图7是根据本公开的实施方式的低时延两次视频代码化单元的框图。
图8是根据本公开的实施方式的低时延两次视频代码化的方法的流程图。
图9是根据本公开的实施方式的用于低时延两次视频代码化的缓冲的示例的图。
图10是根据本公开的实施方式的生成针对低时延两次视频代码化的缩减帧的示例的图。
具体实施方式
对视频帧的序列进行编码可以包括作出各种代码化判定,诸如是将帧独立地编码为帧内代码化帧还是区别地编码为帧间代码化帧、平衡准确度,或者解码帧与相对应的输入帧匹配的程度、压缩、速度和资源利用匹配。一些代码化判定可以是基于在编码过程之前或期间提供给编码器的代码化参数。在一些实施方式中,诸如在单遍编码器中,可以独立于被编码的帧而确定一些代码化参数,这可以降低视频代码化的效率、质量或两者。
在一些实施方式中,视频代码化可以包括两次视频代码化,其中可以使用第一次来对输入帧进行编码以识别用于对输入帧进行编码的信息,诸如代码化参数,并且第二次使用通过第一次识别的信息来改进代码化质量和效率。在一些实施方式(诸如在实时视频代码化中使用的实现方式)中,两次视频代码化可能不可用,因为两次视频代码化可以不止使单遍视频代码化的资源利用加倍。例如,两次视频代码化可以利用更多的时间或时延,以对每个帧进行编码作为单遍视频代码化。在另一示例中,两次视频代码化器可以利用两倍数目的硬件编码器作为单遍视频代码化器。
在一些实施方式中,低时延两次视频代码化相对于单遍视频代码化可以改进编码质量并且可以使时延和硬件利用最小化。低时延两次视频代码化可以包括使用单个硬件编码器来执行两次视频代码化并且通过使用缩减大小帧来执行第一次代码化而减少时延。在一些实施方式中,低时延两次视频代码化可以包括使用通过第一次代码化生成的运动信息来在第二次代码化期间改进运动估计的准确度。
图1是根据本公开的实施方式的计算装置100的图。计算装置100能够包括通信接口110、通信单元120、用户接口(UI)130、处理器140、存储器150、指令160、电源170、或其任何组合。如本文所使用的是,术语“计算装置”包括能够执行本文所公开的任何方法或其任何一个或多个部分的任何单元或单元的组合。
计算装置100可以是诸如个人计算机(PC)的固定计算装置、服务器、工作站、小型计算机、或大型机计算机;或诸如移动电话、个人数字助理(PDA)、膝上型电脑或平板PC的移动计算装置。尽管作为单个单元被示出,然而能够将通信装置100的任何一个或多个元件集成到任何数目的单独的物理单元中。例如,能够将UI 130和处理器140集成在第一物理单元中并且能够将存储器150集成在第二物理单元中。
通信接口110能够是能够与有线或无线电子通信介质180接口连接(interfacing)的无线天线(如图所示)、有线通信端口(诸如以太网端口、红外端口、串行端口)、或者任何其它有线或无线单元。
通信单元120能够被配置成经由有线或无线介质180发送或者接收信号。例如,如图所示,通信单元120在操作上被连接到配置成经由无线信号进行通信的天线。尽管在图1中未显式地示出,然而通信单元120能够被配置成经由任何有线或无线通信介质(诸如射频(RF)、紫外线(UV)、可见光、光纤、有线线路或其组合)来发送、接收或两者。尽管图1示出了单个通信单元120和单个通信接口110,然而能够使用任何数目的通信单元和任何数目的通信接口。
UI 130能够包括能够与用户接口连接的任何单元,诸如虚拟或物理键盘、触摸板、显示器、触摸显示器、扬声器、麦克风、摄像机、传感器或其任何组合。UI 130能够如图所示与通信装置100的处理器在操作上耦合,或者与通信装置100的任何其它元件(诸如电源170)在操作上耦合。尽管作为单个单元被示出,然而UI 130可以包括一个或多个物理单元。例如,UI 130可以包括用于与用户执行音频通信的音频接口以及用于与用户执行基于视觉和触觉的通信的触摸显示器。尽管作为单独的单元被示出,然而可以将通信接口110、通信单元120、和UI 130或其部分配置为组合式单元。例如,可以将通信接口110、通信单元120、和UI 130实现为能够与外部触摸屏装置接口连接的通信端口。
处理器140能够包括能够操纵或者处理现有或以后开发的信号或其它信息的任何装置或系统,包括光学处理器、量子处理器、分子处理器或其组合。例如,处理器140能够包括专用处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑阵列、可编程逻辑控制器、微码、固件、任何类型的集成电路(IC)、状态机、或其任何组合。如本文所使用的是,术语“处理器”包括单个处理器或多个处理器。处理器能够与通信接口110、通信单元120、UI 130、存储器150、指令160、电源170、或其任何组合在操作上耦合。
存储器150能够包括任何非暂时性计算机可用或计算机可读介质,诸如能够例如包含、存储、通信、或者输送指令160或与此相关联的任何信息,以供由处理器140使用或者与处理器140连接的任何有形装置。非暂时性计算机可用或计算机可读介质能够是例如适合于存储电子信息的固态驱动器、存储卡、可移动介质、只读存储器(ROM)、随机存取存储器(RAM)、包括硬盘、软盘、光盘的任何类型的盘、磁或光学卡、专用集成电路(ASIC),或者任何类型的非暂时性介质或其任何组合。存储器150能够通过例如存储器总线(未显式地示出)连接到例如处理器140。
指令160能够包括用于执行本文中所公开的任何方法或其任何一个或多个部分的指导说明(direction)。指令160能够用硬件、软件或其任何组合加以实现。例如,指令160可以作为在存储器150中存储的信息(诸如计算机程序)被实现,所述计算机程序可以由处理器140执行以施行如本文所描述的相应方法、算法、方面、或其组合中的任一个。指令160或其一部分可以作为专用处理器或电路被实现,所述专用处理器或电路能够包括用于执行如本文所描述的方法、算法、方面或其组合的中的任一个的专用硬件。指令160的各部分能够跨相同机器或不同机器上的多个处理器或者跨诸如局域网、广域网、因特网或其组合的网络分布。
电源170能够是用于给通信装置110供电的任何适合的装置。例如,电源170能够包括有线电源;诸如镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li-ion)的一个或多个干电池;太阳能电池;燃料电池;或者能够给通信装置110供电的任何其它装置。通信接口110、通信单元120、UI 130、处理器140、指令160、存储器150、或其任何组合能够与电源170在操作上耦合。
尽管作为单独的元件被示出,然而能够将通信接口110、通信单元120、UI 130、处理器140、指令160、电源170、存储器150或其任何组合集成在一个或多个电子单元、电路或芯片中。
图2是根据本公开的实施方式的计算和通信系统200的图。计算和通信系统200可以包括一个或多个计算和通信装置100A/100B/100C、一个或多个接入点210A/210B、一个或多个网络220或其组合。例如,计算和通信系统200能够是向一个或多个有线或无线通信装置(诸如计算和通信装置100A/100B/100C)提供通信(诸如语音、数据、视频、消息传送、广播、或其组合)的多址系统。尽管为了简单,图2示出三个计算和通信装置100A/100B/100C、两个接入点210A/210B、以及一个网络220,然而能够使用任何数目的计算和通信装置、接入点及网络。
计算和通信装置100A/100B/100C能够是例如计算装置,诸如图1中所示的计算装置100。例如,如图所示计算和通信装置100A/100B可以是用户装置,诸如移动计算装置、膝上型计算机、瘦客户端、或智能手机,以及计算和通信装置100C可以是服务器,诸如大型机或集群。尽管计算和通信装置100A/100B被描述为用户装置,并且计算和通信装置100C被描述为服务器,然而任何计算和通信装置可以执行服务器的功能中的一些或全部、用户装置的功能中的一些或全部或者服务器和用户装置的功能中的一些或全部。
每个计算和通信装置100A/100B/100C能够被配置成执行有线或无线通信。例如,计算和通信装置100A/100B/100C能够被配置成发送或者接收有线或无线通信信号并且能够包括用户设备(UE)、移动站、固定或移动订户单元、蜂窝电话、个人计算机、平板计算机、服务器、消费者电子装置、或任何类似的装置。尽管每个计算和通信装置100A/100B/100C作为单个单元被示出,然而计算和通信装置能够包括任何数目的互连元件。
每个接入点210A/210B能够是被配置成经由有线或无线通信链路180A/180B/180C与计算和通信装置100A/100B/100C、网络220或两者进行通信的任何类型的装置。例如,接入点210A/210B能够包括基站、基站收发机站(BTS)、节点-B、增强型节点-B(eNode-B)、家庭节点-B(HNode-B)、无线路由器、有线路由器、集线器、中继器、交换机、或任何类似的有线或无线装置。尽管每个接入点210A/210B作为单个单元被示出,然而接入点能够包括任何数目的互连元件。
网络220能够是被配置成通过有线或无线通信链路来提供服务(诸如语音、数据、应用、因特网协议上的语音(VoIP)、或任何其它通信协议或这些通信协议的组合)的任何类型的网络。例如,网络220能够是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、移动或蜂窝电话网、因特网、或任何其它电子通信手段。网络能够使用通信协议,诸如传输控制协议(TCP)、用户数据报协议(UDP)、网际协议(IP)、实时传输协议(RTP)、超文本传输协议(HTTP)或其组合。
计算和通信装置100A/100B/100C能够使用一个或多个有线或无线通信链路或者经由有线和无线通信链路的组合彼此进行通信。例如,如图所示计算和通信装置100A/100B能够经由无线通信链路180A/180B进行通信,并且计算和通信装置100C能够经由有线通信链路180C进行通信。计算和通信装置100A/100B/100C中的任一个可以使用任何一个或多个有线或无线通信链路进行通信。例如,第一计算和通信装置100A能够使用第一类型的通信链路经由第一接入点210A进行通信,第二计算和通信装置100B能够使用第二类型的通信链路经由第二接入点210B进行通信,以及第三计算和通信装置100C能够使用第三类型的通信链路经由第三接入点(未示出)进行通信。类似地,接入点210A/210B能够经由一个或多个类型的有线或无线通信链路230A/230B与网络220进行通信。尽管图2示出计算和通信装置100A/100B/100C经由网络220进行通信,然而计算和通信装置100A/100B/100C能够经由任何数目的通信链路(诸如直接有线或无线通讯链路)彼此进行通信。
计算和通信系统200的其它实施方式也是可能的。例如,在实施方式中网络220能够是自组织网络并且能够省略接入点210A/210B中的一个或多个。计算和通信系统200可以包括图2中未示出的装置、单元或元件。例如,计算和通信系统200可以包括更多的通信装置、网络和接入点。
图3是根据本公开的实施方式的用于在编码和解码中使用的视频流300的图。视频流300(诸如由摄像机捕获的视频流或由计算装置生成的视频流)可以包括视频序列310。视频序列310可以包括相邻帧320的序列。尽管示出了三个相邻帧320,然而视频序列310能够包括任何数目的相邻帧320。来自相邻帧320的每个帧330可以表示来自视频流的单个图像。帧330可以包括块340。尽管在图3中未示出,然而块能够包括像素。例如,块能够包括16×16像素组、8×8像素组、8×16像素组、或任何其它像素组。除非本文中另外指示,否则术语“块”能够包括超块、宏块、段、分片或帧的任何其它部分。帧、块、像素或其组合能够包括显示信息,诸如能够用于存储、修改、通信或者显示视频流或其一部分的亮度信息、色度信息、或任何其它信息。
图4是根据本公开的实施方式的编码器400的框图。编码器400能够作为例如在数据存储单元(诸如图1中所示的存储器150)中存储的计算机软件程序被实现在诸如图1中所示的计算装置100或图2中所示的计算和通信装置100A/100B/100C的装置中。计算机软件程序能够包括可以由处理器(诸如图1中所示的处理器160)执行的机器指令,并且可以使装置对如本文中所描述的视频数据进行编码。编码器400能够作为例如在计算装置100中包括的专用硬件被实现。
编码器400能够对输入视频流402(诸如图3中所示的视频流300)进行编码以生成编码(压缩)比特流404。在一些实施方式中,编码器400可以包括用于生成压缩比特流404的前向路径。该前向路径可以包括帧内/帧间预测单元410、变换单元420、量化单元430、熵编码单元440、或其任何组合。在一些实施方式中,编码器400可以包括重建路径(通过断开连接线来指示)以重建用于对另外的块进行编码的帧。重建路径可以包括去量化单元450、逆变换单元460、重建单元470、环路滤波单元480、或其任何组合。能够使用编码器400的其它结构变化来对视频流402进行编码。
为了对视频流402进行编码,能够以块为单位对视频流402内的每个帧进行处理。因此,可以从帧中的块中识别当前块,并且可以对当前块进行编码。
在帧内/帧间预测单元410处,能够使用可以在单个帧内的帧内预测或者可以从帧到帧的帧间预测来对当前块进行编码。帧内预测可以包括从当前帧中的先前已被编码和重建的样本生成预测块。帧间预测可以包括从一个或多个先前构造的参考帧中的样本生成预测块。为当前帧中的当前块生成预测块可以包括执行运动估计以生成指示参考帧中的适当的参考块的运动矢量。
帧内/帧间预测单元410可以将预测块从当前块(原始块)减去以产生残差块。变换单元420可以执行基于块的变换,所述基于块的变换可以包括将残差块变换成例如频域中的变换系数。基于块的变换的示例包括卡洛(Karhunen-Loève)变换(KLT)、离散余弦变换(DCT)、和奇异值分解变换(SVD)。在示例中,DCT可以包括将块变换成频域。DCT可以包括使用基于空间频率的变换系数值,其中最低频率(即,DC)系数在矩阵的左上部处并且最高频率系数在矩阵的右下部。
量化单元430可以将变换系数转换成离散量子值,所述离散量子值可以被称为量化变换系数或量化级。量化变换系数能够由熵编码单元440进行熵编码以产生熵编码系数。熵编码能够包括使用概率分布度量。能够将用于对块进行解码的熵编码系数和信息(其可以包括所使用的预测的类型、运动矢量和量化器值)输出到压缩比特流404。能够使用各种技术(诸如游程长度编码(RLE)和零游程代码化)来对压缩比特流404进行格式化。
重建路径能够用于维持编码器400与相对应的解码器(诸如图5中所示的解码器500)之间的参考帧同步。重建路径可以与在下面讨论的解码过程类似,并且可以包括在去量化单元450处对量化变换系数进行去量化并且在逆变换单元460处对去量化变换系数进行逆变换,以产生导数残差块。重建单元470可以将由帧内/帧间预测单元410生成的预测块添加到导数残差块以创建重建块。能够对重建块应用环路滤波单元480以减少失真,诸如块化伪影。
能够使用编码器400的其它变化来对压缩比特流404进行编码。例如,基于非变换的编码器400能够在没有变换单元420的情况下直接量化残差块。在一些实施方式中,可以将量化单元430和去量化单元450组合成单个单元。
图5是根据本公开的实施方式的解码器500的框图。解码器500能够作为例如在数据存储单元存储(诸如图1中所示的存储器150)中的计算机软件程序被实现在诸如图1中所示的计算装置100或图2中所示的计算和通信装置100A/100B/100C的装置中。计算机软件程序能够包括可以由处理器(诸如图1中所示的处理器160)执行的机器指令,并且可以使装置对如本文中所描述的视频数据进行解码。解码器400能够作为例如在计算装置100中包括的专用硬件而被实现。
解码器500可以接收压缩比特流502,诸如图4中所示的压缩比特流404,并且可以对该压缩比特流502进行解码以生成输出视频流504。解码器500可以包括熵解码单元510、去量化单元520、逆变换单元530、帧内/帧间预测单元540、重建单元550、环路滤波单元560、去块滤波单元570或其任何组合。能够使用解码器500的其它结构变化来对压缩比特流502进行解码。
熵解码单元510可以使用例如上下文自适应二进制算术解码来对压缩比特流502内的数据元素进行解码,以产生一组量化变换系数。去量化单元520能够对量化变换系数进行去量化,并且逆变换单元530能够对去量化变换系数进行逆变换以产生导数残差块,该导数残差块可以与由图4中所示的逆变换单元460生成的导数残差块相对应。使用从压缩比特流502解码的报头信息,帧内/帧间预测单元540可以生成与在编码器400中创建的预测块相对应的预测块。在重建单元550处,能够将预测块添加到导数残差块以创建重建块。能够对重建块应用环路滤波单元560以减少块化伪影。能够对重建块应用去块滤波单元570以减少块失真,并且可以将结果作为输出视频流504来输出。
能够使用解码器500的其它变化来对压缩比特流502进行解码。例如,解码器500能够在没有去块滤波单元570的情况下产生输出视频流504。
图6是表示根据本公开的实施方式的帧(诸如图3中所示的帧330)的一部分600的框图。如图所示,帧的部分600包括在矩阵或笛卡尔平面中的两行和两列中的四个64×64块610。在一些实施方式中,64×64块可以是最大代码化单元,N=64。每个64×64块可以包括四个32×32块620。每个32×32块可以包括四个16×16块630。每个16×16块可以包括四个8×8块640。每个8×8块640可以包括四个4×4块650。每个4×4块650可以包括16个像素,所述像素可以以笛卡尔平面或矩阵中的每个相应块中的四行和四列来表示。像素可以包括表示在帧中捕获的图像的信息,诸如亮度信息、颜色信息、和位置信息。在一些实施方式中,块(诸如如图所示的16×16像素块)可以包括亮度块660,该亮度块660可以包括亮度像素662;以及两个色度块670/680,诸如U或Cb色度块670和V或Cr色度块680。色度块670/680可以包括色度像素690。例如,亮度块660可以包括16×16亮度像素662并且每个色度块670/680可以包括如图所示的8×8色度像素690。尽管示出了块的一种布置,然而可以使用任何布置。尽管图6示出N×N块,然而在一些实施方式中,可以使用N×M块。例如,可以使用32×64块、64×32块、16×32块、32×16块或、任何其它大小块。在一些实施方式中,可以使用N×2N块、2N×N块、或其组合。
视频代码化可以包括有序块级代码化。有序块级代码化可以包括按顺序(诸如光栅扫描顺序)对帧的块进行代码化,其中块以帧的左上部角中的块或帧的一部分开始被识别和处理,并且沿着行从左向右并从顶行向底行继续进行,从而依次识别每个块以供处理。例如,帧的顶行和左列中的64×64块可以是被代码化的第一块并且紧接在第一块右侧的64×64块可以是被代码化的第二块。从顶部开始的第二行可以是被代码化的第二行,使得在第二行的左列中的64×64块可以在第一行的最右列中的64×64块之后被代码化。
在一些实施方式中,对块进行代码化可以包括使用四叉树代码化,所述四叉树代码化可以包括按照光栅扫描顺序对块内的较小块单元进行代码化。例如,可以使用四叉树代码化来对图6中所示的帧的部分的左下部角所示的64×64块进行代码化,其中左上部32×32块被代码化,然后右上部32×32块被代码化,然后左下部32×32块被代码化,并且然后右下部32×32块被代码化。可以使用四叉树代码化来对每个32×32块进行代码化,其中左上部16×16块被代码化,然后右上部16×16块被代码化,然后左下部16×16块被代码化,并且然后右下部16×16块被代码化。可以使用四叉树代码化来对每个16×16块进行代码化,其中左上部8×8块被代码化,然后右上部8×8块被代码化,然后左下部8×8块被代码化,并且然后右下部8×8块被代码化。可以使用四叉树代码化来对每个8×8块进行代码化,其中左上部4×4块被代码化,然后右上部4×4块被代码化,然后左下部4×4块被代码化,并且然后右下部4×4块被代码化。在一些实施方式中,对于16×16块省略8×8块,并且使用四叉树代码化来对16×16块进行代码化,其中左上部4×4块被代码化,然后按照光栅扫描顺序对16×16块中的其它4×4块进行代码化。
视频代码化可以包括通过例如从对应的编码帧中省略原始帧中的一些信息来对包括在原始或输入帧中的信息进行压缩。例如,代码化可以包括减少频谱冗余、减少空间冗余、减少时间冗余或其组合。
减少频谱冗余可以包括使用基于亮度分量(Y)和两个色度分量(U和V或Cb和Cr)的颜色模型,其可以被称为YUV或YCbCr颜色模型或颜色空间。使用YUV颜色模型包括使用相对大量的信息来表示帧的一部分的亮度分量,并且使用相对较少量的信息来表示帧的该部分的每个相对应的色度分量。例如,帧的一部分可以通过高分辨率亮度分量并且通过两个较低分辨率色度分量来表示,所述高分辨率亮度分量可以包括像素的16×16块,所述两个较低分辨率色度分量中的每一个将帧的该部分表示为像素的8×8块。像素指示值,例如,范围从0到255的值,并且像素可以使用例如8个比特来存储或者发送。尽管参考YUV颜色模型对本公开进行描述,然而可以使用任何颜色模型。
减少空间冗余还可以包括使用例如离散余弦变换(DCT)来将块变换成频域。例如,编码器的单元(诸如图4中所示的变换单元420)可以使用基于空间频率的变换系数值来执行DCT。
在一些实施方式中,减少时间冗余包括使用帧之间的相似性来基于可以为视频流的先前编码、解码、和重建帧的一个或多个参考帧使用相对较少量的数据对帧进行编码。例如,当前帧的块或像素可以与参考帧的在空间上相对应的块或像素类似。在一些实施方式中,当前帧的块或像素可以与不同空间位置处的参考帧的块或像素类似,并且减少时间冗余包括生成指示当前帧中的块或像素的位置与参考帧中的块或像素的相对应位置之间的空间差异或平移的运动信息。
减少时间冗余可以包括识别与当前帧的当前块或像素相对应的参考帧或参考帧的一部分中的块或像素。例如,可以搜索可以被存储在存储器中的参考帧或参考帧的一部分以得到最佳块或像素,以用于对当前帧的当前块或像素进行编码。搜索可以识别针对其参考块与当前块之间的像素值的差被最小化的参考帧的块,并且可以被称为运动搜索。在一些实施方式中,可以限制被搜索参考帧的部分。例如,被搜索参考帧的可以被称为搜索区域的部分包括参考帧的有限数目的行。识别参考块可以包括计算搜索区域中的块的像素与当前块的像素之间的成本函数,诸如绝对差之和(SAD)。
在一些实施方式中,参考帧中的参考块和当前帧中的当前块的位置之间的空间差被表示为运动矢量。参考块与当前块之间的像素值的差可以被称为差分数据、残差数据、或残差块。在一些实施方式中,生成运动矢量被称为运动估计,并且基于使用作为fx,y的笛卡尔坐标的位置来指示当前块的像素。类似地,可以基于使用作为rx,y的笛卡尔坐标的位置来指示参考帧的搜索区域的像素。可以基于例如当前帧的像素与参考帧的相对应像素之间的SAD来确定针对当前块的运动矢量(MV)。
尽管为了清楚在本文中参考帧的矩阵或笛卡尔表示进行描述,然而可以在任何数据结构中存储、发送、处理帧或其任何组合,使得像素值可以针对帧或图片高效地被表示。例如,可以在二维数据结构(诸如如图所示的矩阵)中或者在一维数据结构(诸如矢量阵列)中存储、发送、处理帧或其任何组合。帧的表示(诸如如图所示的二维表示)可以与作为图像的帧的渲染中的物理位置相对应。例如,在帧的左上部角中的块的左上部角中的位置可以与作为图像的帧的渲染的左上部角中的物理位置相对应。
在一些实施方式中,基于块的代码化效率是通过将块分割成可以为矩形(包括正方形)分区的一个或多个分区来改进。使用分割的视频代码化可以包括从多个候选分割方案当中选择分割方案。例如,在一些实施方式中,针对64×64代码化单元的候选分割方案包括在大小上范围从4×4到64×64的矩形大小分区,诸如4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32或64×64。在一些实施方式中,使用分割的视频代码化可以包括全分区搜索,所述全分区搜索包括通过使用每个可用的候选分割方案对代码化单元进行编码来选择分割方案并且选择最佳方案,诸如产生最小速率失真误差的方案。
对视频帧进行编码可以包括识别用于对当前块(诸如块610)进行编码的分割方案。在一些实施方式中,识别分割方案包括确定是否将块编码为最大代码化单元大小的单个分区,所述单个分区可以是如图所示的64×64,或者是否将块分割成多个分区,所述多个分区可以与如图所示的子块(诸如32×32块620、16×16块630或8×8块640)相对应,并且所述识别分割方案包括确定是否分割成一个或多个较小分区。例如,可以将64×64块分割成四个32×32分区。可以将四个32×32分区中的三个编码为32×32分区并且可以将第四个32×32分区进一步分割成四个16×16分区。可以将四个16×16分区中的三个编码为16×16分区并且可以将第四个16×16分区进一步分割成四个8×8分区,其中的每一个可以被编码为8×8分区。在一些实施方式中,识别分割方案包括使用分割判定树。
在一些实施方式中,针对当前块的视频代码化包括从多个候选代码化模式中识别最佳代码化模式,这在处理具有各种统计特性的视频信号时提供灵活性,并且改进压缩效率。例如,视频代码化器可以评估每个候选代码化模式以识别最佳代码化模式,所述最佳代码化模式可以是例如对于当前块使误差度量(诸如速率失真成本)最小化的代码化模式。在一些实施方式中,通过基于当前块与对应的预测块之间的相似性限制能够用候选代码化模式的集合来降低搜索候选代码化模式的复杂度。在一些实施方式中,通过执行定向细化模式搜索来降低搜索每个候选代码化模式的复杂度。例如,为有限的一组候选块大小(诸如16×16、8×8和4×4)生成度量,与每个块大小相关联的误差度量是降序的,并且评估附加候选块大小(诸如4×8和8×4块大小)。
图7是根据本公开的实施方式的低时延两次视频代码化单元700的框图。低时延两次视频代码化单元700能够被实现在诸如图1中所示的计算装置100或图2中所示的计算和通信装置100A/100B/100C的装置中。例如,图4中所示的编码器400可以包括图7中所示的低时延两次视频代码化单元700。
在一些实施方式中,低时延两次视频代码化单元700包括帧缓冲器710、第一次调整大小单元720、代码化单元730、分析单元740、或其组合,并且可以使用单个代码化单元730来执行低时延两次视频代码化。低时延两次视频代码化单元700可以实时地对视频进行低时延两次编码。
帧缓冲器710可以从输入视频序列(诸如图4中所示的输入视频序列402)接收并存储一个或多个帧。在一些实施方式中,基于定义的缓冲值来确定在帧缓冲器710处接收并存储的输入帧的数目或基数。该定义的缓冲值可以是基于时延阈值。
第一次调整大小单元720可以从帧缓冲器710接收输入帧并且可以基于输入帧生成缩减帧。在一些实施方式中,调整大小单元720包括裁切单元722。裁切单元722通过对输入帧进行裁切来生成缩减帧。例如,输入帧可以是N×M帧,并且裁切单元722将输入帧的
Figure BDA0003652172710000171
部分(诸如在输入帧的中心处的一部分)识别为缩减帧。裁切的缩减帧可以包括在空间上比输入帧小的输入帧的全分辨率部分。
在一些实施方式中,调整大小单元720包括缩放单元724。缩放单元724通过对输入帧进行缩放或子采样来生成缩减帧。缩放的缩减帧可以包括与输入帧在空间上同时发生的输入帧的较低分辨率表示。在一些实施方式中,子采样或缩放可以包括接收全输入帧。例如,输入帧可以是2160p帧,并且子采样生成1080p缩减帧,所述1080p缩减帧可以包括每帧使用270兆字节((3840×2160×1.5–1920×1080×1.5)*30)的存储器带宽。
在一些实施方式中,调整大小单元720包括裁切单元722和缩放单元724。在这种情况下,低时延两次视频代码化包括确定是否使用裁切单元722、缩放单元724、或两者来生成缩减帧。例如,低时延两次视频代码化可以包括通过对输入帧进行裁切以识别输入帧的
Figure BDA0003652172710000181
裁切部分并且使用缩放单元724来对该
Figure BDA0003652172710000182
裁切部分进行子采样而生成缩减帧,以生成在空间上比输入帧小并具有较低分辨率的缩减帧。
尽管单独地示出,然而在一些实施方式中可以将裁切单元722和缩放单元724实现为组合式裁切和缩放单元。调整大小单元720可以包括裁切单元722并省略缩放单元724,或者调整大小单元720可以省略裁切单元722并包括缩放单元724。
代码化器730可以对由调整大小单元720生成的缩减帧进行第一次编码。对由调整大小单元720生成的缩减帧进行编码可以包括基于对由调整大小单元720生成的缩减帧进行编码来识别诸如一个或多个代码化统计的编码度量。例如,识别编码度量包括识别用于对由调整大小单元720生成的缩减帧进行编码的全局运动矢量、识别用于对由调整大小单元720生成的缩减帧进行编码的多个帧内代码化块的基数、识别用于对由调整大小单元720生成的缩减帧进行编码的运动矢量场均匀性度量、识别用于对由调整大小单元720生成的缩减帧进行编码的多个跳过块的基数、识别用于对由缩放单元720生成的缩减帧进行编码的多个零运动块的基数、识别用于对由调整大小单元720生成的缩减帧进行编码的参考帧的分布或任何其它代码化度量,或者基于对由调整大小单元720生成的缩减帧进行编码可识别的代码化度量的组合。例如,运动矢量场均匀性度量指示帧间运动是否与均匀运动(诸如揺摄运动)相对应。在一些实施方式中,基于对由调整大小单元720生成的缩减帧进行编码来识别代码化度量包括识别与由调整大小单元720生成的缩减帧的一个或多个块相对应的一个或多个运动矢量。
在一些实施方式中,分析单元740评估通过代码化器730对缩减帧进行第一次编码所识别的第一次代码化度量。在一些实施方式中,评估第一次代码化度量包括确定用于由代码化单元730对输入帧进行第二次编码的一个或多个编码参数。
代码化单元730从帧缓冲器710接收输入帧,从分析单元740接收第二次代码化参数,并且使用第二次代码化参数对输入帧进行第二次编码。使用基于在第一次中对缩减帧进行编码而确定的代码化参数而在第二次中对输入帧进行编码可以改进用于对输入帧进行编码的代码化质量。
在一些实施方式中,第一次编码包括生成运动矢量场,生成第一次代码化度量包括识别与该运动矢量场相对应的运动矢量长度统计,并且分析单元740、代码化器730、或其组合基于缩减大小帧相对于输入帧的大小来调整运动矢量长度统计。可以与由调整大小单元720执行的大小缩减成反比地缩放运动矢量长度统计。例如,调整大小单元可以以输入帧的大小的50%生成缩减大小帧,并且可以将运动矢量长度4按比例放大为8。
在一些实施方式中,视频代码化(诸如第一次编码、第二次编码或两者)包括运动估计,所述运动估计可以包括运动搜索。运动搜索可以包括识别用于编码的当前帧的当前块、对最接近匹配当前块的参考块的参考帧的一部分搜索、并且基于当前帧中的当前块的位置与参考帧中的参考块的位置之间的空间差来识别针对当前块的运动矢量。所搜索的参考帧的部分可以包括来自参考帧的具有与输入帧中的当前块在空间上相对应的位置的候选参考块,并且可以包括与参考帧中的候选参考块邻近的块。在一些实施方式中,参考帧和当前帧之间的运动超过搜索区域的大小,并且运动估计可能无法高效地识别针对当前块的精确参考块。
在一些实施方式中,低时延两次视频代码化改进用于表示超过运动搜索区域大小的运动的帧的代码化效率。在一些实施方式中,对输入帧进行第二次编码包括:识别输入帧的当前块;根据第一次编码度量来识别相对应的运动矢量,其可以是为根据具有与输入帧中的当前块的空间位置相对应的缩减帧中的空间位置的块识别的运动矢量;并且通过识别由该运动矢量指示的参考帧中的候选参考块,使用该运动矢量执行运动搜索;以及搜索候选参考块和邻近块以得到最佳匹配块。
代码化单元730可以输出第二次编码块作为针对输入帧的编码块。例如,代码化单元730可以在输出比特流中包括第二次编码块。
图8是根据本公开的实施方式的低时延两次视频代码化的方法的流程图。可以将低时延两次视频代码化实现在低时延两次视频代码化单元(诸如图7中所示的低时延两次视频代码化单元700)中。在一些实施方式中,低时延两次视频代码化包括在800处识别输入帧、在810处确定缩减帧、在820处对缩减帧进行第一次编码、在830处对输入帧进行第二次编码、在840输出编码帧、或其组合。
在一些实施方式中,在800处识别输入帧。识别输入帧可以包括在帧缓冲器(诸如图7中所示的帧缓冲器710)处接收一个或多个输入帧,并且缓冲输入帧。
可以在810处生成缩减帧。在一些实施方式中,在810处生成缩减帧可以包括在调整大小单元(诸如图7中所示的调整大小单元720)处从帧缓冲器(诸如图7中所示的帧缓冲器710)接收输入帧。在一些实施方式中,在810处生成缩减帧包括对输入帧进行裁切、对输入帧进行缩放、或者对输入帧进行裁切并缩放。
可以在820处对缩减帧进行第一次编码。在一些实施方式中,代码化单元(诸如图7中所示的代码化单元730)在820处对缩减帧进行第一次编码。在820处对缩减帧进行第一次编码可以包括基于对缩减帧进行第一次编码来生成第一次代码化度量。尽管在图8中未单独地示出,然而第一次代码化度量可以由分析单元(诸如图7中所示的分析单元740)来分析,以识别用于在830处对输入帧进行第二次编码的第二次代码化参数。
在一些实施方式中,在830处对输入帧进行第二次编码。代码化单元可以从帧缓冲器接收输入帧并且可以基于在820处从对缩减帧进行第一次编码例如从分析单元接收第二次代码化参数,并且可以使用第二次代码化参数对输入帧进行第二次编码。第二次编码可以包括生成编码帧,并且在840处输出编码帧。
图9是根据本公开的实施方式的对低时延两次视频代码化的缓冲的示例的图。在一些实施方式中,低时延两次视频代码化可以包括缓冲输入帧的定义数目或基数。例如,帧缓冲器(诸如图7中所示的帧缓冲器710)缓冲输入帧。
在一些实施方案中,缓冲帧可以包括在对第一帧进行第二次编码之前对定义数目N或基数的帧进行第一次编码。在示例中,如图所示,低时延两次视频代码化单元对帧1至帧N进行第一次编码。继对帧N进行第一次编码之后低时延两次视频代码化单元对帧1进行第二次编码。随后,低时延两次视频代码化单元对帧N+1进行第一次编码。随后,低时延两次视频代码化单元对帧2进行第二次编码。随后低时延两次视频代码化单元对帧N+2进行第一次编码。
图10是根据本公开的实施方式的生成针对低时延两次视频代码化缩减帧的示例的图。在一些实施方式中,低时延两次视频代码化包括生成缩减帧,诸如在图8中的810处所示。例如,帧调整大小单元(诸如图7中所示的调整大小单元720)从输入帧生成缩减帧。
在一些实施方式中,生成缩减帧包括对输入帧进行裁切。对输入帧进行裁切可以包括识别在空间上比如由1010处所示的粗黑边界所指示的输入帧小的输入帧的一部分,并且使用来自所识别的部分中的输入帧的信息作为裁切帧1012。尽管裁切帧1012的大小在图10中被示出为输入帧的大小的一半,然而可以使用比输入帧更小的任何大小的裁切帧。尽管在1010处剪切部分被示出在输入帧的中心处,然而剪裁部分可以被识别在帧内的任何地方。
在一些实施方式中,生成缩减帧包括对输入帧进行缩放或子采样。对输入帧进行缩放可以包括如1020处所示的识别输入帧的分辨率、识别小于输入分辨率的降低分辨率以及基于输入帧生成具有降低分辨率的缩减帧1022。缩减帧1022在图10中被示出为在空间上比输入帧1020更小以指示缩减帧1022包括较少的信息;然而,缩减帧1022可以在空间上与输入帧1020同时发生。
生成缩减帧可以包括对输入帧进行裁切并缩放。例如,在空间上比输入帧更小的输入帧的一部分被识别为通过1030处所示的粗黑边界来指示,并且来自所识别的部分中的输入帧的信息被缩放以生成裁切帧1032。
单词“示例”或“方面”在本文中用于意旨用作示例、实例或图示。在本文中被描述为“示例”或“方面”的任何方面或设计不一定被解释为优于其它方面或设计为优选的或有利的。相反,单词“示例”或“方面”的使用旨在以具体方式呈现概念。如本申请中所使用的是,术语“或”旨在意旨包括性“或”而不是排他性“或”。也就是说,除非另外规定或者从上下文清楚,否则“X包括A或B”旨在意旨自然包括性置换中的任一个。也就是说,如果X包括A;X包括B;或者X包括A和B两者,则在任何上述情况下满足“X包括A或B”。此外,除非另外规定或者从上下文清楚为针对单数形式,否则如本申请和所附权利要求书中使用的冠词“一”和“一个”通常应当被解释成意旨“一个或多个”。此外,除非被如此描述,否则自始至终使用术语“实施例”或“一个实施例”或“实施方式”或“一个实施方式”不旨在意旨相同实施例或实施方式。如本文所使用的是,术语“确定”和“识别”或其任何变化包括不管使用图1中所示的装置中的一个或多个都以任何方式选择、确定、计算、查找、接收、确定、建立、获得或者以其它方式识别或确定。
另外,为了说明的简单,尽管本文中的图和描述可以包括步骤或阶段的序列或系列,然而本文所公开的方法的要素能够以各种顺序和/或同时发生。附加地,本文中所公开的方法的要素可以与本文中未显式地呈现和描述的其它要素一起发生。此外,可能并不需要本文所描述的方法的所有要素来实现根据所公开的主题的方法。
发送站100A和/或接收站100B(以及存储在其上和/或由此执行的算法、方法、指令等)的实施方式能够以硬件、软件或其任何组合加以实现。硬件能够包括例如计算机、知识产权(IP)核心、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、能够编程逻辑控制器、微码、微控制器、服务器、微处理器、数字信号处理器或任何其它适合的电路。在权利要求书中,术语“处理器”应当被理解为单独地或相结合地包含上述硬件中的任一个。术语“信号”和“数据”被可互换地使用。另外,不一定必须以相同的方式实现发送站100A和接收站100B的各部分。
另外,在一个实施方式中,例如,能够使用计算机程序来实现发送站100A或接收站100B,所述计算机程序当被执行时,执行本文中所描述的相应方法、算法和/或指令中的任一个。此外或可替选地,例如,能够利用能够包含用于执行本文中所描述的方法、算法或指令中的任一个的专用硬件的专用计算机/处理器。
例如,能够将发送站100A和接收站100B实现在实时视频系统中的计算机上。可替选地,能够将发送站100A实现在服务器上并且能够将接收站100B实现在与服务器分离开的装置(诸如手持通信装置)上。在这种情况下,发送站100A能够使用编码器400将内容编码成编码的视频信号并且将经编码的视频信号发送到通信装置。进而,通信装置然后能够使用解码器500对经编码的视频信号进行解码。可替选地,通信装置能够对在本地存储在通信装置上的内容(例如,不由发送站100A发送的内容)进行解码。其它适合的发送站100A和接收站100B实施方案是可用的。例如,接收站100B能够是通常固定的个人计算机而不是便携式通信装置,并且/或包者括编码器400的装置也可以包括解码器500。
另外,实施方式中的全部或一部分能够采取能够从例如有形计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质能够是能够例如有形地包含、存储、通信或者输送程序以供由任何处理器使用或者连同任何处理器一起使用的任何装置。介质能够是例如电、磁、光、电磁或半导体器件。其它适合的介质也是可用的。
已经对上述实施方式进行了描述以便允许容易地理解应用不是限制性的。相反,本申请涵盖包括在所附权利要求书的范围内的各种修改和等效布置,其范围将被赋予最广泛解释,以便包含如在法律下许可的所有此类修改和等效结构。

Claims (19)

1.一种方法,包括:
从输入视频流中识别输入帧;
根据所述输入帧确定缩减帧,所述缩减帧具有比所述输入帧的大小更小的大小;
使用第一编码器对所述缩减帧进行编码,其中对所述缩减帧进行编码包括生成多个编码度量;
基于所述多个编码度量生成多个编码参数;
通过使用所述第一编码器和来自所述多个编码参数中的至少一个编码参数对所述输入帧进行编码来生成编码帧;
将所述第一编码帧包括在输出比特流中;和
存储或发送所述输出比特流。
2.根据权利要求1所述的方法,其中,根据所述输入帧确定所述缩减帧包括:裁切所述输入帧。
3.根据权利要求1所述的方法,其中,根据所述输入帧确定所述缩减帧包括:缩放所述输入帧。
4.根据权利要求1所述的方法,其中,根据所述输入帧确定所述缩减帧包括:裁切和缩放所述输入帧。
5.根据权利要求1所述的方法,其中,所述多个编码度量包括以下中的一个或多个:用于对所述缩减帧进行编码的全局运动矢量、用于对所述缩减帧进行编码的多个帧内代码化块的基数、用于对所述缩减帧进行编码的多个跳过块的基数、用于对所述缩减帧进行编码的多个零运动块的基数、或用于对所述缩减帧进行编码的参考帧的分布。
6.根据权利要求1所述的方法,其中,对所述缩减帧进行编码包括:
从所述缩减帧中识别第一块;和
识别用于对所述第一块进行编码的运动矢量。
7.根据权利要求6所述的方法,其中对所述输入帧进行编码包括:
从所述输入帧中识别第二块,所述第二块在空间上对应于所述第一块;和
在所述运动矢量超过运动阈值的情况下,使用运动搜索区域对所述基于运动矢量所识别的所述第二块进行运动估计。
8.根据权利要求1所述的方法,其中,从所述输入视频流中识别所述输入帧包括:缓冲来自所述输入视频流的多个输入帧,所述多个输入帧包括所述输入帧。
9.一种方法,包括:
从输入视频流中识别输入帧,其中所述输入帧包括输入块;
根据所述输入帧确定缩减帧,所述缩减帧具有比所述输入帧的大小更小的大小,其中所述缩减帧包括与所述输入块的至少一部分在空间上相对应的缩减块;
由第一编码器对所述缩减帧进行编码,其中对所述缩减帧进行编码包括生成多个编码度量,其中生成所述多个编码度量包括:识别用于对所述缩减块进行编码的运动矢量;
基于所述多个编码度量生成多个编码参数;
由所述第一编码器通过基于来自所述多个编码参数中的至少一个编码参数对所述输入帧进行编码来生成编码帧,其中对所述输入帧进行编码包括:在所述运动矢量超过运动阈值的情况下,使用运动搜索区域对所述输入块进行运动估计,其中所述运动搜索区域是基于所述运动矢量来识别的;
将所述编码帧包括在输出比特流中;和
存储或发送所述输出比特流。
10.根据权利要求9所述的方法,其中,根据所述输入帧确定所述缩减帧包括:裁切所述输入帧。
11.根据权利要求9所述的方法,其中,根据所述输入帧确定所述缩减帧包括:缩放所述输入帧。
12.根据权利要求9所述的方法,其中,根据所述输入帧确定所述缩减帧包括:裁切和缩放所述输入帧。
13.根据权利要求9所述的方法,其中,所述多个编码度量包括以下中的一个或多个:用于对所述缩减帧进行编码的全局运动矢量、用于对所述缩减帧进行编码的多个帧内代码化块的基数、用于对所述缩减帧进行编码的多个跳过块的基数、或者用于编码的多个零运动块的基数。
14.根据权利要求9所述的方法,其中,从所述输入视频流中识别所述输入帧包括:缓冲来自所述输入视频流的多个输入帧,所述多个输入帧包括所述输入帧。
15.一种方法,包括:
从输入视频流中识别输入帧;
根据所述输入帧确定缩减帧,所述缩减帧具有比所述输入帧的大小更小的大小,其中,根据所述输入帧确定所述缩减帧包括:裁切所述输入帧、缩放所述输入帧、或者裁切并缩放所述输入帧;
使用第一编码器对所述缩减帧进行编码,其中对所述缩减帧进行编码包括生成多个编码度量;
基于所述多个编码度量生成至少一个编码参数;
使用所述第一编码器,通过使用所述至少一个编码参数对所述输入帧进行编码来生成编码帧;
将所述第一编码帧包括在输出比特流中;和
存储或发送所述输出比特流。
16.根据权利要求15所述的方法,其中,所述至少一个编码参数包括以下中的一个或多个:用于对所述缩减帧进行编码的全局运动矢量、用于对所述缩减帧进行编码的多个帧内代码化块的基数、运动矢量场均匀性度量、用于对所述缩减帧进行编码的多个跳过块的基数、用于对所述缩减帧进行编码的多个零运动块的基数、或用于对所述缩减帧进行编码的参考帧的分布。
17.根据权利要求15所述的方法,其中对所述缩减帧进行编码包括:
从所述缩减帧中识别第一块;和
识别用于对所述第一块进行编码的运动矢量。
18.根据权利要求17所述的方法,其中对所述输入帧进行编码包括:
从所述输入帧中识别第二块,所述第二块在空间上对应于所述第一块;和
在所述运动矢量超过运动阈值的情况下,使用运动搜索区域对所述基于运动矢量所识别的所述第二块进行运动估计。
19.根据权利要求15所述的方法,其中,从所述输入视频流中识别所述输入帧包括:缓冲来自所述输入视频流的多个输入帧,所述多个输入帧包括所述输入帧。
CN202210545285.1A 2015-09-21 2016-06-29 低时延两次视频代码化 Pending CN115134602A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/859,785 2015-09-21
US14/859,785 US9807416B2 (en) 2015-09-21 2015-09-21 Low-latency two-pass video coding
CN201680024324.6A CN107852495A (zh) 2015-09-21 2016-06-29 低时延两次视频代码化
PCT/US2016/040171 WO2017052710A1 (en) 2015-09-21 2016-06-29 Low-latency two-pass video coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680024324.6A Division CN107852495A (zh) 2015-09-21 2016-06-29 低时延两次视频代码化

Publications (1)

Publication Number Publication Date
CN115134602A true CN115134602A (zh) 2022-09-30

Family

ID=56373198

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202210544531.1A Pending CN115134601A (zh) 2015-09-21 2016-06-29 低时延两次视频代码化
CN201680024324.6A Pending CN107852495A (zh) 2015-09-21 2016-06-29 低时延两次视频代码化
CN202210545285.1A Pending CN115134602A (zh) 2015-09-21 2016-06-29 低时延两次视频代码化

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202210544531.1A Pending CN115134601A (zh) 2015-09-21 2016-06-29 低时延两次视频代码化
CN201680024324.6A Pending CN107852495A (zh) 2015-09-21 2016-06-29 低时延两次视频代码化

Country Status (4)

Country Link
US (2) US9807416B2 (zh)
EP (1) EP3354020B1 (zh)
CN (3) CN115134601A (zh)
WO (1) WO2017052710A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10506237B1 (en) * 2016-05-27 2019-12-10 Google Llc Methods and devices for dynamic adaptation of encoding bitrate for video streaming
US11222397B2 (en) 2016-12-23 2022-01-11 Qualcomm Incorporated Foveated rendering in tiled architectures
EP3612978A4 (en) 2017-04-21 2020-06-03 Zenimax Media Inc. SYSTEMS AND METHODS FOR ENABLING ENCODER-GUIDED QUALITY RENDERING
CN112153029A (zh) 2017-04-21 2020-12-29 泽尼马克斯媒体公司 基于编码器提示的渲染和预编码负载估计的系统和方法
US10885607B2 (en) 2017-06-01 2021-01-05 Qualcomm Incorporated Storage for foveated rendering
EP3547684B1 (en) * 2018-03-28 2020-02-26 Axis AB Method, device and system for encoding a sequence of frames in a video stream
DE102018115233B3 (de) * 2018-06-25 2019-07-18 Sick Ag Verfahren zum sicheren Übertragen von Bilddaten und sicherer optoelektronischer Sensor
WO2020000444A1 (zh) * 2018-06-29 2020-01-02 深圳市大疆创新科技有限公司 运动矢量确定方法、设备及机器可读存储介质
US10869036B2 (en) 2018-09-18 2020-12-15 Google Llc Receptive-field-conforming convolutional models for video coding
US11025907B2 (en) * 2019-02-28 2021-06-01 Google Llc Receptive-field-conforming convolution models for video coding
US10674152B2 (en) 2018-09-18 2020-06-02 Google Llc Efficient use of quantization parameters in machine-learning models for video coding
CN109640114A (zh) * 2018-12-12 2019-04-16 深圳市网心科技有限公司 视频编转码压缩方法、装置、设备及计算机可读存储介质
CN115842919B (zh) * 2023-02-21 2023-05-09 四川九强通信科技有限公司 一种基于硬件加速的视频低延迟传输方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009125475A1 (ja) * 2008-04-08 2009-10-15 日本電信電話株式会社 映像符号化方法、映像符号化装置、映像符号化プログラムおよびその記録媒体
CN102883648A (zh) * 2010-05-10 2013-01-16 卡普索影像股份有限公司 用于活体内摄像机的影像捕获控制
US20140376618A1 (en) * 2013-06-25 2014-12-25 Samsung Electronics Co., Ltd Dynamic voltage/frequency scaling for video processing using embedded complexity metrics

Family Cites Families (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3869475D1 (de) 1987-06-02 1992-04-30 Siemens Ag Verfahren zur ermittlung von bewegungsvektorfeldern aus digitalen bildsequenzen.
EP0466981B1 (en) 1990-07-20 1997-02-26 Koninklijke Philips Electronics N.V. Motion vector processing device
WO1992021210A1 (en) 1991-05-23 1992-11-26 Nippon Hoso Kyokai Method for detecting moving vector and apparatus therefor, and system for processing image signal using the apparatus
EP0533195A2 (en) 1991-09-20 1993-03-24 Sony Corporation Picture signal encoding and/or decoding apparatus
JP3263960B2 (ja) 1991-10-22 2002-03-11 ソニー株式会社 動きベクトル符号器および復号器
US6236682B1 (en) 1993-03-08 2001-05-22 Sony Corporation Video motion vector detection including rotation and/or zoom vector generation
FI94306C (fi) 1993-07-15 1995-08-10 Nokia Technology Gmbh Menetelmä televisiokuvan pienten kuvasegmenttien liikevektoreiden määrittämiseksi
US5537155A (en) 1994-04-29 1996-07-16 Motorola, Inc. Method for estimating motion in a video sequence
US5550847A (en) 1994-10-11 1996-08-27 Motorola, Inc. Device and method of signal loss recovery for realtime and/or interactive communications
US5731840A (en) 1995-03-10 1998-03-24 Kabushiki Kaisha Toshiba Video coding/decoding apparatus which transmits different accuracy prediction levels
EP0765087B1 (en) 1995-08-29 2003-11-12 Sharp Kabushiki Kaisha Video coding device
US5675384A (en) 1995-10-03 1997-10-07 Nec Usa, Inc. VBR MPEG video encoding for ATM networks with dynamic bandwidth renegotiation
US6075768A (en) 1995-11-09 2000-06-13 At&T Corporation Fair bandwidth sharing for video traffic sources using distributed feedback control
US5719642A (en) 1996-05-07 1998-02-17 National Science Council Of R.O.C. Full-search block matching motion estimation processor
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US6330344B1 (en) 1997-02-14 2001-12-11 Sony Corporation Image processing device and method employing motion detection to generate improved quality image from low resolution image
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6240103B1 (en) 1997-03-21 2001-05-29 Scientific-Atlanta, Inc. Method and apparatus for detecting and preventing bandwidth overflow in a statistical multiplexer
US6633611B2 (en) 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
US6359929B1 (en) 1997-07-04 2002-03-19 Matsushita Electric Industrial Co., Ltd. Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium
KR100244291B1 (ko) 1997-07-30 2000-02-01 구본준 동영상 움직임 벡터 코딩 방법
WO1999016251A1 (en) 1997-09-23 1999-04-01 Koninklijke Philips Electronics N.V. Motion estimation and motion-compensated interpolation
EP0953254B1 (en) 1997-11-17 2006-06-14 Koninklijke Philips Electronics N.V. Motion-compensated predictive image encoding and decoding
KR100523908B1 (ko) 1997-12-12 2006-01-27 주식회사 팬택앤큐리텔 격행주사 영상에 대한 영상신호 부호화 장치 및 그 방법
US6404738B1 (en) 1998-01-21 2002-06-11 Nec Usa, Inc. Dynamic network bandwidth allocation for multimedia applications with soft quality-of-service requirements
US6324540B1 (en) 1998-02-23 2001-11-27 Lucent Technologies Inc. Apparatus and method for efficiently partitioning a weighted array
EP0940774A3 (en) 1998-03-05 2000-07-05 Matsushita Electric Industrial Co., Ltd. Motion vector coding and decoding apparatus and method
SE513520C2 (sv) 1998-05-14 2000-09-25 Ericsson Telefon Ab L M Förfarande och anordning för maskering av fördröjda paket
US6483874B1 (en) 1999-01-27 2002-11-19 General Instrument Corporation Efficient motion estimation for an arbitrarily-shaped object
BR0015959A (pt) 1999-12-14 2002-08-06 Scientific Atlanta Sistema e método para o processamento de vìdeo adaptativo com alocação de recursos coordenados
US6711211B1 (en) 2000-05-08 2004-03-23 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US6449312B1 (en) 2000-06-08 2002-09-10 Motorola, Inc. Method of estimating motion in interlaced video
US6771703B1 (en) 2000-06-30 2004-08-03 Emc Corporation Efficient scaling of nonscalable MPEG-2 Video
US7079579B2 (en) 2000-07-13 2006-07-18 Samsung Electronics Co., Ltd. Block matching processor and method for block matching motion estimation in video compression
US7058130B2 (en) 2000-12-11 2006-06-06 Sony Corporation Scene change detection
US6937770B1 (en) 2000-12-28 2005-08-30 Emc Corporation Adaptive bit rate control for rate reduction of MPEG coded video
FI109635B (fi) 2001-02-01 2002-09-13 Hantro Products Oy Menetelmä ja laite videokuvan jälkikäsittelemiseksi
FI109634B (fi) 2001-02-16 2002-09-13 Hantro Products Oy Menetelmä ja laite videokuvan koodaamiseksi
US6700934B2 (en) 2001-03-14 2004-03-02 Redrock Semiconductor, Ltd. Error detection using a maximum distance among four block-motion-vectors in a macroblock in a corrupted MPEG-4 bitstream
KR100425676B1 (ko) 2001-03-15 2004-04-03 엘지전자 주식회사 비디오 전송 시스템의 에러 복구 방법
FI109395B (fi) 2001-03-27 2002-07-15 Hantro Products Oy Menetelmä ja järjestelmä videokuvan stabilisoimiseksi
US7072393B2 (en) 2001-06-25 2006-07-04 International Business Machines Corporation Multiple parallel encoders and statistical analysis thereof for encoding a video sequence
US6704362B2 (en) 2001-07-06 2004-03-09 Koninklijke Philips Electronics N.V. Resource scalable decoding
US6535238B1 (en) 2001-10-23 2003-03-18 International Business Machines Corporation Method and apparatus for automatically scaling processor resource usage during video conferencing
FI110745B (fi) 2001-11-13 2003-03-14 Hantro Products Oy Menetelmä ja laite peräkkäisten kuvien koodaamiseksi
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US7277486B2 (en) 2002-05-03 2007-10-02 Microsoft Corporation Parameterization for fading compensation
US7010037B2 (en) 2002-08-06 2006-03-07 Koninklijke Philips Electronics N.V. System and method for rate-distortion optimized data partitioning for video coding using backward adaptation
DE60234649D1 (de) 2002-12-26 2010-01-14 Mitsubishi Electric Corp Bildprozessor
US20070036215A1 (en) 2003-03-03 2007-02-15 Feng Pan Fast mode decision algorithm for intra prediction for advanced video coding
KR100750110B1 (ko) 2003-04-22 2007-08-17 삼성전자주식회사 4×4인트라 휘도 예측 모드 결정방법 및 장치
FI115945B (fi) 2003-05-13 2005-08-15 Hantro Products Oy Peräkkäisten kuvien koodaaminen
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7584475B1 (en) 2003-11-20 2009-09-01 Nvidia Corporation Managing a video encoder to facilitate loading and executing another program
JP2005293731A (ja) 2004-03-31 2005-10-20 Toshiba Corp コンテンツ記録方法、コンテンツ記録システム、及び記録再生装置
US7065004B2 (en) 2004-04-22 2006-06-20 Pgs Americas, Inc. Horizon-based residual depth migration velocity analysis
US7359565B2 (en) 2004-05-03 2008-04-15 International Business Machines Corporation Method of filtering pixels in a video encoding process
US8442108B2 (en) 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US8374238B2 (en) 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
CA2572818C (en) 2004-07-14 2013-08-27 Slipstream Data Inc. Method, system and computer program product for optimization of data compression
US20060062481A1 (en) 2004-09-21 2006-03-23 Markus Suvanto Apparatuses, computer program product and method for bit rate control of digital image encoder
UA96121C2 (ru) 2004-10-05 2011-10-10 Вектормакс Корпорейшн Система и способ сжатия и формирования потока видеоданных
KR20060043115A (ko) 2004-10-26 2006-05-15 엘지전자 주식회사 베이스 레이어를 이용하는 영상신호의 엔코딩/디코딩 방법및 장치
JP4804107B2 (ja) 2004-12-14 2011-11-02 キヤノン株式会社 画像符号化装置、画像符号化方法及びそのプログラム
US7779326B2 (en) 2005-03-01 2010-08-17 The Texas A&M University System Multi-source data encoding, transmission and decoding using Slepian-Wolf codes based on channel code partitioning
TW200704200A (en) 2005-03-10 2007-01-16 Qualcomm Inc Content classification for multimedia processing
AR052604A1 (es) 2005-03-10 2007-03-21 Qualcomm Inc Control de velocidad de calidad cuasi-constante con prevision
JP4852868B2 (ja) 2005-04-04 2012-01-11 トヨタ自動車株式会社 精密加工方法
US20060285598A1 (en) 2005-06-17 2006-12-21 Jarno Tulkki Apparatuses, computer program product and method for digital image quality improvement
US20070009034A1 (en) 2005-07-05 2007-01-11 Jarno Tulkki Apparatuses, computer program product, and method for digital image processing
US7606423B2 (en) 2005-09-29 2009-10-20 Intel Corporation Method and apparatus for blocking artifact detection and measurement in block-coded video
KR100750145B1 (ko) 2005-12-12 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
US7843995B2 (en) 2005-12-19 2010-11-30 Seiko Epson Corporation Temporal and spatial analysis of a video macroblock
KR101041895B1 (ko) 2006-08-15 2011-06-16 브로드콤 코포레이션 패킷 손실 후 디코딩된 오디오 신호의 시간 워핑
US8542726B2 (en) 2006-10-17 2013-09-24 Microsoft Corporation Directional and motion-compensated discrete cosine transformation
CN101529912B (zh) 2006-10-25 2012-05-30 汤姆森许可贸易公司 用于在多通路编码器中高效地进行第一通路编码的方法和设备
US7809212B2 (en) 2006-12-20 2010-10-05 Hantro Products Oy Digital mosaic image construction
US7957307B2 (en) 2007-03-14 2011-06-07 Microsoft Corporation Reducing effects of packet loss in video transmissions
US20080228699A1 (en) 2007-03-16 2008-09-18 Expanse Networks, Inc. Creation of Attribute Combination Databases
KR101366093B1 (ko) 2007-03-28 2014-02-21 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8416857B2 (en) 2007-03-29 2013-04-09 James Au Parallel or pipelined macroblock processing
US8208558B2 (en) 2007-06-11 2012-06-26 Texas Instruments Incorporated Transform domain fast mode search for spatial prediction in advanced video coding
EP3410706B1 (en) 2007-06-29 2021-12-01 Velos Media International Limited Image encoding device and image decoding device
US8896712B2 (en) 2007-07-20 2014-11-25 Omnivision Technologies, Inc. Determining and correcting for imaging device motion during an exposure
TW200910971A (en) 2007-08-22 2009-03-01 Univ Nat Cheng Kung Direction detection algorithms for H.264 intra prediction
US20090067495A1 (en) 2007-09-11 2009-03-12 The Hong Kong University Of Science And Technology Rate distortion optimization for inter mode generation for error resilient video coding
KR20090095316A (ko) 2008-03-05 2009-09-09 삼성전자주식회사 영상 인트라 예측 방법 및 장치
EP2112828B1 (en) 2008-04-25 2012-01-04 Irdeto B.V. Method and system for activating a decoder device
US8175161B1 (en) 2008-09-12 2012-05-08 Arecont Vision, Llc. System and method for motion estimation
US8634456B2 (en) 2008-10-03 2014-01-21 Qualcomm Incorporated Video coding with large macroblocks
US8855191B2 (en) 2008-11-24 2014-10-07 Broadcast International, Inc. Parallelization of high-performance video encoding on a single-chip multiprocessor
FI20095273A0 (fi) 2009-03-17 2009-03-17 On2 Technologies Finland Oy Digitaalinen videokoodaus
US9788010B2 (en) 2009-05-07 2017-10-10 Texas Instruments Incorporated Reducing computational complexity when video encoding uses bi-predictively encoded frames
IL199486A0 (en) 2009-06-22 2011-08-01 Nds Ltd Partial encryption using variable block-size parameters
WO2011002914A1 (en) 2009-06-30 2011-01-06 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
JP2011041037A (ja) 2009-08-12 2011-02-24 Sony Corp 画像処理装置および方法
US20110292997A1 (en) 2009-11-06 2011-12-01 Qualcomm Incorporated Control of video encoding based on image capture parameters
SI2924995T1 (sl) 2010-07-09 2018-10-30 Samsung Electronics Co., Ltd. Postopek za dekodiranje videa z uporabo združevanja blokov
WO2012035730A1 (ja) 2010-09-16 2012-03-22 パナソニック株式会社 画像復号装置、画像符号化装置、それらの方法、プログラム、集積回路およびトランスコード装置
US8331703B2 (en) 2011-02-18 2012-12-11 Arm Limited Parallel image encoding
US9699456B2 (en) 2011-07-20 2017-07-04 Qualcomm Incorporated Buffering prediction data in video coding
US9094684B2 (en) * 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
US9014265B1 (en) 2011-12-29 2015-04-21 Google Inc. Video coding using edge detection and block partitioning for intra prediction
US20130195188A1 (en) 2012-01-26 2013-08-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US8948529B1 (en) 2012-10-30 2015-02-03 Google Inc. Multi-pass encoding
US9210424B1 (en) 2013-02-28 2015-12-08 Google Inc. Adaptive prediction block size in video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009125475A1 (ja) * 2008-04-08 2009-10-15 日本電信電話株式会社 映像符号化方法、映像符号化装置、映像符号化プログラムおよびその記録媒体
CN102017635A (zh) * 2008-04-08 2011-04-13 日本电信电话株式会社 视频编码方法、视频编码装置、视频编码程序及其记录介质
CN102883648A (zh) * 2010-05-10 2013-01-16 卡普索影像股份有限公司 用于活体内摄像机的影像捕获控制
US20140376618A1 (en) * 2013-06-25 2014-12-25 Samsung Electronics Co., Ltd Dynamic voltage/frequency scaling for video processing using embedded complexity metrics

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DONGDONG ZHU, QIONGHAI DAI AND ET AL.: "Fast inter prediction mode decision for H.264" *

Also Published As

Publication number Publication date
CN115134601A (zh) 2022-09-30
US10009625B2 (en) 2018-06-26
US20180035129A1 (en) 2018-02-01
CN107852495A (zh) 2018-03-27
WO2017052710A1 (en) 2017-03-30
EP3354020B1 (en) 2024-04-03
US9807416B2 (en) 2017-10-31
EP3354020A1 (en) 2018-08-01
US20170085915A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
US10009625B2 (en) Low-latency two-pass video coding
US10694180B2 (en) Entropy coding transform partitioning information
US10104398B2 (en) Super-transform video coding
GB2546888B (en) Tile copying for video compression
US20170237939A1 (en) Loop filtering for multiform transform partitioning
WO2019094080A1 (en) Block artefact reduction
CN107302701B (zh) 译码插值滤波器类型
US11528498B2 (en) Alpha channel prediction
US20230308679A1 (en) Motion prediction coding with coframe motion vectors
US11153588B2 (en) Dual deblocking filter thresholds
US9998753B1 (en) Prediction dependent transform coding
US11166022B2 (en) Quantization constrained neural image coding
WO2016048448A1 (en) Frequency-domain denoising
CN107079156B (zh) 用于交替块约束决策模式代码化的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination