CN104956671B - 视频帧重建 - Google Patents

视频帧重建 Download PDF

Info

Publication number
CN104956671B
CN104956671B CN201280077132.3A CN201280077132A CN104956671B CN 104956671 B CN104956671 B CN 104956671B CN 201280077132 A CN201280077132 A CN 201280077132A CN 104956671 B CN104956671 B CN 104956671B
Authority
CN
China
Prior art keywords
frame
macro
block
line
present frame
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
CN201280077132.3A
Other languages
English (en)
Other versions
CN104956671A (zh
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104956671A publication Critical patent/CN104956671A/zh
Application granted granted Critical
Publication of CN104956671B publication Critical patent/CN104956671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • H04N9/877Regeneration of colour television signals by assembling picture element blocks in an intermediate memory
    • 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
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Abstract

系统和方法可以提供重建视频帧的视频编码器。可以通过从保持当前帧的第一缓冲区编码初始重建宏块行来生成数个初始重建宏块行。初始重建宏块行可以放置在大小设计成保持初始重建宏块行的FIFO缓冲区中。可以通过使用FIFO缓冲区中的至少一个重建宏块行编码当前帧中的下一行来生成附加的重建宏块行。从FIFO缓冲区的尾部拉出的重建宏块行可以序列地放置在参考缓冲区中。在当前帧中的所有数个行已经被处理之后,可以将附加的重建宏块行推到FIFO缓冲区的头部上。

Description

视频帧重建
背景技术
数字视频广泛用于各种目的,包括例如视频娱乐、视频广告、视频会议以及用户生成的视频的共享。更多的设备在使用视频编码和解码技术以遵守各种约束,包括例如带宽或存储要求。视频压缩方案包括诸如VPx(由纽约州克利夫顿帕克的On2 Technologies有限公司发布)、由ITU-T视频编码专家组(VCEG)和ISO/IEC运动图像专家组(MPEG)发布的H.264标准之类的格式,包括其当前和将来的版本。H.264还称为MPEG-4部分10或MPEG-4 AVC(正式地,ISO/IEC 14496-10)。这些和其它示例视频编码和解码技术可能不得不在具有诸如内部存储器的有限资源的设备上操作,诸如智能电话、平板计算机、计算机等。
许多视频编码技术使用基于块的预测和量化块变换。利用基于块的预测,重建帧缓冲区可以被用来预测随后的帧。然而,常规重建帧缓冲区可能要求相对大量的存储器以操作。
附图说明
通过阅读以下说明书和随附权利要求并且通过参考以下附图,本发明的实施例的各种优点将对于本领域技术人员变得显而易见,其中:
图1图示了使用本发明的实施例的一方面的示例视频系统;
图2是依照本发明的实施例的一方面的视频编码器的示例的框图;
图3是依照本发明的实施例的一方面的被配置为施行关键帧编码的视频编码器的示例的框图;
图4A是依照本发明的实施例的一方面的被配置为施行非关键帧编码的视频编码器的示例的框图;
图4B是依照本发明的实施例的一方面的被配置为施行可替换的非关键帧编码的视频编码器的示例的框图;
图5是依照本发明的实施例的一方面的被配置为施行非关键帧编码的VP8视频编码器的示例的框图;
图6是依照本发明的实施例的一方面的被配置为施行可替换的非关键帧编码的VP8视频编码器的示例的框图;
图7A和7B是依照本发明的实施例的一方面的在非关键帧编码期间所采用的FIFO缓冲区的示例的图示;
图8是依照本发明的实施例的一方面的视频帧编码的示例的流程图;
图9是依照本发明的实施例的一方面的非关键帧编码的示例的流程图;以及
图10和11是本发明的实施例的图示。
具体实施方式
本发明的实施例使用FIFO(先进先出)缓冲区重建非关键视频帧。具体地,本发明的实施例可以被用来通过分配一个相当小的缓冲区以存储重建宏块(MB)行而不是分配整个帧缓冲区来节省存储器。
视频是对表示运动中的场景的静止图像的序列电子地捕获、记录、处理、存储、传输和重建的技术。图1图示了使用本发明的实施例的一方面的示例视频系统。典型地,在视频系统中,视频源110可以向视频处理设备120提供以一系列视频帧115的形式的视频信号。除其它组件之外,视频处理设备120可以包括编码器130、存储器190和控制器126。
控制器126可以是芯片、扩展卡、独立设备、其组合等,其与诸如外围设备之类的其它设备交接并且可以控制诸如外围设备之类的其它设备。控制器126可以在计算机的部件(例如管理对存储器190的访问的存储器控制器或视频编码器130)之间链接。在计算设备中,控制器可以是插入板、主板上的单个集成电路或外部设备。
编码器的输出可以是被输运到后处理设备140的经编码的比特流135。后处理设备的示例可以包括存储设备、输运设备(以通过网络或其它输运路径将经编码的比特流135输运到其它解码器设备)、计算机、服务器、其组合等。
可以以帧速率提供视频帧。帧速率可以是视频的每单位时间的帧(或图片)的数目,典型地范围从用于较老的系统的每秒六个或八个帧(帧/s)到用于较新的系统的每秒的更多帧。实现移动图像的幻觉的最小帧速率可以大概为每秒十五个帧。
视频可以采用各种技术来传输或输运,包括作为无线广播的数字信号、通过同轴线缆系统、光纤系统、有线系统(例如电话、双绞线缆、差分双绞线缆)、数字网络(例如内联网、因特网)、其组合等。
视频传输机制可以具有带宽和其它限制,其约束可以在一段时间内输运的信息量。为了克服这些限制,可以使用各种各样的方法来压缩视频流。视频数据包含空间和时间冗余,从而使未经压缩的视频流极其低效。广泛地说,空间冗余可以通过配准(register)单个帧的部分之间的差异来减小。该任务可以称为帧内压缩并且与图像压缩紧密相关。同样地,时间冗余可以通过配准帧之间的差异来减小;该任务称为帧间压缩并且可以包括运动压缩和其它技术。许多视频压缩算法和编解码器组合空间图像压缩和时间运动压缩。用于压缩的常见现代标准包括但不限于:MPEG-x(例如MPEG-2和MPEG-4)、H.264和VPx(例如VP8)。
许多视频压缩算法使用具有在直觉上相对难以区分的结果的有损压缩,其中数据可能被消除。在使用有损压缩时,可能存在视频质量、处理压缩和解压缩的成本以及系统要求之间的权衡。
其中完整图像可以存储在数据流中的帧是关键帧,同样称为内帧。从一个帧到下一帧发生的仅有改变可以存储在数据流中以大幅减小所存储的信息的量。该技术以以下事实为资本:大多数视频源(诸如典型的电影)仅具有从一个帧到下一帧的图像中的小改变。每当图像的剧烈改变发生时,诸如当从一个相机镜头切换到另一个时,或在场景改变时,可以创建关键帧。在两个帧之间的视觉差异如此大以致于从之前帧以增量方式表示新图像将更复杂并且将要求甚至比再现整个图像更多的比特时,可以输出用于帧的整个图像。
非关键帧可以存储帧之间的增量改变。换言之,用于给定非关键帧的数据可以仅表示该帧与之前帧如何不同。出于该原因,关键帧可以在编码视频时间隔地插入。为了表示该帧与之前帧如何不同,视频压缩可以在相邻像素的方形组(通常称为宏块)上操作。这些像素组或像素块可以从一个帧到下一帧进行比较并且视频压缩编解码器可以仅发送那些块内的差异。在具有更多运动的视频的领域中,压缩可以编码更多数据以跟上改变中的较大数目的像素。基于视频改变的量的质量改变可以降低或增加可变比特速率。例如,利用宏块操作的压缩格式是VP8,其由On2 Technologies创建并且由Google有限公司在2010年购买。
类似H.264/AVC,VP8采用用于运动估计和压缩的多个参考帧以提供编码效率和误差隐蔽。一般地,存在被分配用于参考的三个帧缓冲区(即黄金帧缓冲区、可替换帧缓冲区以及最后(之前)的帧缓冲区)以及用于当前重建帧的一个缓冲区。当前要求保护的发明的实施例可以减小所要求的帧缓冲区的数目,从而减小硬件成本,尤其是在一些存储器受约束的设备中。
在研究中可能已经提出通过经由下采样或重压缩帧减小参考帧的大小来减小用于存储帧的存储器要求。然而,这些方案可能引入“漂移”误差,其源自由于编码器和解码器利用不同参考数据进行运动压缩所导致的失配数据。附加地,这些方案可能由于采用附加编码器和解码器对每一个重建图片进行编码而具有极大量的计算复杂性。当前要求保护的发明的实施例可以减小重建缓冲区而不是参考帧上的存储器大小。
图2是依照本发明的实施例的一方面的被配置为重建非关键视频帧215的编码器230的框图。所图示的编码器包括第一缓冲区250、行编码器260、先进先出(FIFO)缓冲区270和参考帧缓冲区280。
第一缓冲区250可以是保持当前帧的当前帧缓冲区,其中当前帧可以是描述数个行255的改变信息的非关键帧215。改变信息可以描述宏块从之前帧的移动。
行编码器260可以生成重建宏块行264以用于数个行255中的每一个。行编码器260可以使用当前行256从当前帧215(在当前帧缓冲区250中)和先进先出缓冲区270中的至少一个重建参考行272来生成(多个)经编码的行265直到所有数个行已经被处理为止。行编码器260可以是诸如例如VP8编码器之类的编码器的一部分。
先进先出缓冲区(FIFO)270可以大小设计成保持数个重建宏块行264。先进先出缓冲区(FIFO)270大小设计成保持的数个重建宏块行264可以取决于重建算法。例如,在一些情形中,重建宏块行264的数目可以为三。在又一些情形中,重建宏块行264的数目可以大于三,例如为十六或十七。重建宏块行264越多,FIFO缓冲区保持的将可用于当前行255的重建的宏块就越多。
根据各个实施例中的一些,先进先出缓冲区270可以是参考缓冲区280的一部分。在其它实施例中,先进先出缓冲区270可以是专用缓冲区。参考缓冲区280可以包括之前帧缓冲区和/或可替换帧缓冲区,如将更详细讨论的。参考缓冲区280可以保持从先进先出缓冲区270输出的重建宏块行275。
编码器230可以是包括诸如视频输入和经编码的视频输出的附加组件的系统的一部分。视频输入可以接受视频帧115并且可以包括并入硬件和/或与硬件组合的软件的接收模块。接收模块可以被配置为接受来自存储设备或被流送的分组化数字视频。
经编码的视频输出可以将经编码的比特流135输运到系统内的其它设备或模块。经编码的视频输出可以将(多个)经编码的行265输运到经编码的帧缓冲区233或直接作为经编码的比特流135(图1)或经编码的帧。
四个帧缓冲区可以被分配用于编码器,诸如VP8编码器。三个帧缓冲区用于参考帧(黄金帧缓冲区、可替换帧缓冲区和最后帧缓冲区)。第四个缓冲区用于当前重建帧398。可以限定共同规则以管理要在一个帧被编码和重建之后刷新或替换的参考帧491。一方面,可能需要减小用于一些存储器受约束的情景的存储器大小。另一方面,给定帧缓冲区的完全使用在许多情形中可能不被利用。在下文,利用根据各个实施例的新存储器方案的本发明的实施例将在不同情形下引入。首先,如图3中所图示的,如果当前帧是关键帧,则可能不需要参考帧并且可能仅要求一个帧缓冲区以用于当前帧重建。因此,被分配用于参考帧的任何帧缓冲区可以重用于重建帧。回忆起关键帧是完整帧,编码器230可以在存储器190中利用重建帧缓冲区398。在其中当前帧215是关键帧的该情形中,完整帧可以被重建到重建帧缓冲区398中。
图4A图示了其中当前帧215是非关键帧的情形。在该情形中,在当前帧215被编码之后,如果参考缓冲区491中的帧不需要刷新或替换,则黄金帧缓冲区492、可替换帧缓冲区493和最后帧缓冲区494可以保持用于下一帧。这意味着可以不需要存储当前重建帧,从而使得不必分配帧缓冲区以在编码时存储整个图片。在第二个中,参考缓冲区491中的至少一个可能需要用重建帧来替换,但是需要被替换的至少一个缓冲区可能不在用于当前帧215的参考列表中。在该情形中,需要被替换的缓冲区可以被直接用作重建缓冲区。附加地,在该情形中,可以不必分配一个帧缓冲区以用于重建。
图4B图示了依照本发明的实施例的一方面的另一非关键帧编码情形。在该情形中,没有现有参考缓冲区491可以可用于直接重用于当前重建帧。相比小的FIFO缓冲区498可以被分配以存储重建宏块行而不是分配一个整个的帧缓冲区。
图5是依照本发明的实施例的一方面的被配置为施行非关键帧编码的示例VP8视频编码器530的框图。该图图示了关于编码器530的参考缓冲区491和FIFO缓冲区498之间的示例关系。帧215可以进入编码器530并且被转换成经编码的帧535。在编码过程中,编码器530可以使用间预测模块540。
帧间预测模块540可以运用邻近帧之间的时间相干。在如此做时,帧间预测模块540可以访问缓冲区491中的参考帧和运动矢量。帧间类型可以包括关键帧和非关键帧(例如所预测的帧)。关键帧可以在不参考其它帧的情况下被解码并且有时被用作寻求视频中的点。非关键帧解码可以取决于先前帧直至最后关键帧。预测帧类型包括:之前帧494、可替换参考帧493和黄金参考帧492。这三种类型中的每一个可以被用于预测。最后帧494可以包含最后完全解码的帧并且可以用每一个所示出的帧来更新。可替换参考帧493可以是完全解码的帧缓冲区,其可以被用于噪声减小的预测并且常常与黄金帧492组合地使用。黄金参考帧492可以被用作完全解码的图像缓冲区,其可以被部分更新、从误差恢复来使用和/或被用来编码场景之间的剪辑(cut)。
关键帧可以更新所有三个缓冲区491(之前帧494、可替换参考帧493和黄金参考帧492)。非关键帧(所预测的帧)可以使用旗标来更新可替换帧缓冲区493或黄金帧缓冲区494。
间预测模块540的一部分可以包括运动估计模块544、运动补偿模块542、回路滤波器546等。运动估计模块544可以确定将一个帧变换成另一个的运动矢量。运动矢量可以用于宏块的组,诸如16x16的组、16x8的组、8x16的组、8x8的组、4x4的组等。运动补偿模块542可以将运动矢量应用到之前帧以生成所预测的帧。
回路滤波器546可以被用于减小宏块之间以及宏块的子块之间的边界处的视觉上令人讨厌的阻挡伪影。回路滤波器546可以具有从正常到简单并且具有多个锐度、强度、敏感性等的多个滤波模式。这些模式可以通过旗标和/或诸如外部控制、由内容的动态确定等其它方法来选择。回路滤波器546可以影响被用来预测随后的帧的重建帧缓冲区。回路滤波可以是帧重建的最后阶段和解码过程的倒数第二阶段。因此,根据一些实施例,重建宏块行可以从回路滤波器546输出到FIFO缓冲区498,如图5和6中所图示的。然而,本领域技术人员将领会到,编码器530中的其它位置可以是重建宏块行的源,诸如来自运动补偿模块442的输出。
图6是依照本发明的实施例的一方面的被配置为施行可替换的非关键帧编码的示例VP8视频编码器的框图。该情景覆盖其中可能不存在可直接重用于当前重建帧的任何现有缓冲区的情形。在该情形中,一个相比小的FIFO缓冲区498可以被用于存储重建宏块行而不是整个帧缓冲区。重建宏块行可以在它们被处理时移动到一个参考缓冲区491中以保持完整的重建帧。
图7A和7B图示了依照本发明的实施例的一方面的可以在非关键帧编码期间采用的具有两个不同示例大小的示例FIFO缓冲区498。具体参考图7B,考虑范围内的运动估计和运动补偿,当最大运动矢量为255时,FIFO缓冲区498在该示例实施例中可以在高度方面包含17 MB。对于1080p的内容,这可以是帧缓冲区的1/4的大小。
在编码时,第17个宏块行可以首先被编码并且重建宏块行存储在FIFO缓冲区498中。第一宏块行中的像素可以存储回到参考帧缓冲区491而不影响运动估计和运动补偿。在这之后,宏块行(曾经为第一个)可以被用来存储下一宏块行的像素,以此类推,直到最后宏块行被重建。该示例可能要求从可替换缓冲区到参考缓冲区491的附加存储器复制。然而,诸如VP8编码器之类的编码器典型地被用于低运动视频(例如视频会议),其中许多宏块从参考直接导出并且是所谓的“未编码的”宏块。各个实施例中的若干实施例可以绕过前向复制(从参考到当前重建缓冲区),其中替代地仅那些重建宏块将从FIFO缓冲区498存储回。低运动视频的统计显示出前向和后向宏块级复制可以相对等同,因此额外的复制相对于存储器受约束的环境中的存储器节省的益处可能是不受关注的。因此,各个实施例中的一些可以节省一个或3/4帧缓冲区以用于1080p内容,而不引入视频质量上的附加影响。本领域技术人员还将领会到,各个实施例可适用于低运动视频使用中的其它视频编解码器,其中相应地调节FIFO缓冲区498的大小。
图8是依照本发明的实施例的一方面的视频帧编码的流程图。在处理框810处,可以就当前帧是关键帧还是非关键帧做出确定。如果当前帧确定为关键帧,则帧可以在框850处被编码为关键帧。因为关键帧包括完整图像,所以帧可以在不参考其它帧的情况下解码。如果帧在框810处确定为非关键帧,则可以在框820处就任何参考缓冲区是否可用于用作FIFO缓冲区做出确定。如果确定是肯定的,则可以在框830处使用可用参考缓冲区施行非关键帧编码。可用参考缓冲区的示例包括之前帧缓冲区494、可替换参考帧493和黄金参考帧492(图4A,4B和5)。如果确定为否定的,则可以在框840处使用可替换FIFO缓冲区498(图4A,4B和6)施行非关键帧编码。
图9是依照本发明的实施例的一方面的可以用于重建非关键视频帧的示例编码器的流程图。根据各个实施例中的一个,具有数个视频信息行(例如i个)的当前帧可以被输入到第一缓冲区中。在框910处,可以通过从第一缓冲区编码数目为n的初始重建宏块行来生成初始数目的重建宏块(MB)行(例如n个)。编码可以利用所有或部分编码器,诸如VP8编码器。在框920处,数目为n的初始重建宏块行可以放置在先进先出缓冲区中,先进先出缓冲区大小设计成至少保持数目为n的初始重建宏块行。以增量方式,可以采取一系列动作(框930-960)直到当前帧中的所有数目的行已经被处理为止。在框930处,可以通过编码当前帧中的下一行来生成附加的重建宏块行。在框940处,从先进先出缓冲区的尾部拉出的重建宏块行可以序列地放置到参考缓冲区中。在框950处,附加的重建宏块行可以被推到先进先出缓冲区的头部上。一旦在框960处确定当前帧缓冲区中的所有数目的行已经被重建,先进先出缓冲区中的(多个)其余重建宏块行就可以在框970处移动到参考缓冲区中。
在整个图示的过程中,可以使用当前帧中的下一行以及先进先出缓冲区中的每一个重建宏块行来生成(多个)附加重建宏块行。该方案在先进先出缓冲区中的所有重建宏块行将帮助产生(多个)更准确的重建宏块行的情形中可以是有用的。
在各个实施例中的一些中,初始重建宏块行的数目可以为三。然而,在又一实施例中,初始重建宏块行的数目n可以更大。该数目n可以取决于视频帧的大小以及重建宏块行的期望质量。
如果存在可用参考缓冲区,则先进先出缓冲区可以是可用参考缓冲区的一部分。参考缓冲区在该情形中可以是之前帧和可替换帧缓冲区中的一个。以其它方式,先出缓冲区可以位于存储器的附加分配的块中或专用存储器部段中。
图10图示了系统1000的实施例。在实施例中,系统1000可以是媒体系统,尽管系统1000不限于该上下文。例如,系统1000可以并入到个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板计算机或智能电视)、移动互联网设备(MID)、消息传送设备、数据通信设备等中。
在实施例中,系统1000包括耦合到显示器1020的平台1002。平台1002可以从诸如(多个)内容服务设备1030或(多个)内容递送设备1040或其它类似内容源之类的内容设备接收内容。包括一个或多个导航特征的导航控制器1050可以用来与例如平台1002和/或显示器1020交互。这些组件中的每一个在下文更详细地描述。
在实施例中,平台1002可以包括芯片组1005、处理器1010、存储器1012、存储设备1014、图形子系统1015、应用1016和/或无线电1018的任何组合。芯片组1005可以提供处理器1010、存储器1012、存储设备1014、图形子系统1015、应用1016和/或无线电1018之中的相互通信。例如,芯片组1005可以包括能够提供与存储设备1014的相互通信的存储适配器(未描绘)。
处理器1010可以实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集相容的处理器、多核、或任何其它微处理器或中央处理单元(CPU)。在实施例中,处理器1010可以包括(多个)双核处理器、(多个)双核移动处理器等。
存储器1012可以实现为易失性存储器设备,诸如但不限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态RAM(SRAM)。
存储设备1014可以实现为非易失性存储设备,诸如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪速存储器、电池备用SDRAM(同步DRAM)和/或网络可访问存储设备。在实施例中,存储设备1014可以包括例如在包含多个硬盘驱动器时增加针对有价值的数字媒体的存储性能增强的保护的技术。
图形子系统1015可以施行诸如静止的图像或视频的处理以用于显示。图形子系统1015可以例如是图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以被用来通信耦合图形子系统1015和显示器1020。例如,接口可以是高清多媒体接口、显示端口、无线HDMI和/或无线HD相容的技术中的任何一种。图形子系统1015可以集成到处理器1010或芯片组1005中。图形子系统1015可以是通信耦合到芯片组1005的独立卡。
本文所描述的图形和/或视频处理技术可以在各种硬件架构中实现。例如,图形和/或视频功能性可以集成到芯片组中。可替换地,可以使用分立的图形和/或视频处理器。作为仍另一实施例,图形和/或视频功能可以由包括多核处理器的通用处理器来实现。在进一步实施例中,功能可以在消费者电子设备中实现。
无线电1018可以包括能够使用各种适当的无线通信技术发射和接收信号的一个或多个无线电。这样的技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不限于)无线局域网(WLAN)、无线个域网(WPAN)、无线城域网(WMAN)、蜂窝网络和卫星网络。在跨这样的网络的通信中,无线电1018可以根据任何版本的一个或多个适用的标准来操作。
在实施例中,显示器1020可以包括任何电视类型的监视器或显示器。显示器1020可以包括例如计算机显示屏、触摸屏显示器、视频监控器、类似电视的设备和/或电视。显示器1020可以是数字和/或模拟的。在实施例中,显示器1020可以是全息显示器。另外,显示器1020可以是可接收视觉投影的透明表面。这样的投影可以传达各种形式的信息、图像和/或对象。例如,这样的投影可以是用于移动增强现实(MAR)应用的视觉覆层。在一个或多个软件应用1016的控制之下,平台1002可以在显示器1020上显示用户接口1022。
在实施例中,例如,(多个)内容服务设备1030可以由任何全国、全球和/或独立的服务托管并且因而是平台1002经由因特网可访问的。(多个)内容服务设备1030可以耦合到平台1002和/或显示器1020。平台1002和/或(多个)内容服务设备1030可以耦合到网络1060以将媒体信息传送到网络1060和从网络1060传送(例如发送和/或接收)。(多个)内容递送设备1040也可以耦合到平台1002和/或显示器1020。
在实施例中,(多个)内容服务设备1030可以包括有线电视机顶盒、个人计算机、网络、电话、能够递送数字信息和/或内容的因特网启用的设备或应用、以及能够在内容提供商和平台1002和/或显示器1020之间经由网络1060或直接地单向或双向传送内容的任何其它类似的设备。将领会的是,内容可以经由网络1060单向和/或双向传送到系统1000中的任何一个组件和内容提供商以及从系统1000中的任何一个组件和内容提供商单向和/或双向传送。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
(多个)内容服务设备1030接收内容,诸如有线电视节目,包括媒体信息、数字信息和/或其它内容。内容提供商的示例可以包括任何有线或卫星电视或无线电或因特网内容提供商。所提供的示例并不意图限制本发明的实施例。
在实施例中,平台1002可以从具有一个或多个导航特征的导航控制器1050接收控制信号。例如,控制器1050的导航特征可以被用来与用户接口1022交互。在实施例中,导航控制器1050可以是定点设备,其可以为允许用户将空间(例如连续和多维度的)数据输入到计算机中的计算机硬件组件(特别地人类接口设备)。诸如图形用户接口(GUI)和电视和监控器之类的许多系统允许用户使用物理手势控制和提供数据给计算机或电视。
控制器1050的导航特征的移动可以通过显示器上所显示的指针、光标、聚焦环或其它视觉指示符的移动而回波在显示器(例如显示器1020)上。例如,在软件应用1016的控制之下,位于导航控制器1050上的导航特征可以例如被映射到用户接口1022上所显示的虚拟导航特征。在实施例中,控制器1050可以不是分离的组件而是集成到平台1002和/或显示器1020中。然而,实施例并不限于所述元件或在本文所描述或示出的上下文中。
在实施例中,驱动器(未示出)可以包括使得用户能够在初始启动之后(例如在启用时)利用按钮的触摸来立即接通和关断平台1002(比如电视)的技术。程序逻辑可以允许平台1002在平台被“关断”时将内容流送到媒体适配器或(多个)其它内容服务设备1030或(多个)内容递送设备1040。附加地,芯片组1005可以例如包括用于5.1环绕声音频和/或高清7.1环绕声音频的硬件和/或软件支持。驱动器可以包括用于集成图形平台的图形驱动器。在实施例中,图形驱动器可以包括快速外围组件互连(PCI)图形卡。
在各个实施例中,在系统1000中示出的组件中的任一个或多个可以集成。例如,平台1002和(多个)内容服务设备1030可以集成,或者平台1002和(多个)内容递送设备1004可以集成,或者例如平台1002、(多个)内容服务设备1030和(多个)内容递送设备1040可以集成。在各个实施例中,平台1002和显示器1020可以是集成单元。例如,显示器1020和(多个)内容服务设备1030可以集成,或显示器1020和(多个)内容递送设备1040可以集成。这些示例并不意味着限制本发明。
在各个实施例中,系统1000可以实现为无线系统、有线系统或二者的组合。当实现为无线系统时,系统1000可以包括适用于通过诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等的无线共享媒体进行通信的组件和接口。无线共享媒体的示例可以包括无线频谱的部分,诸如RF频谱等。当实现为有线系统时,系统1000可以包括适用于通过诸如输入/输出(I/O)适配器、连接I/O适配器与对应有线通信介质的物理连接器、网络接口卡(NIC)、盘控制器、视频控制器、音频控制器等的有线通信媒体进行通信的组件和接口。有线通信媒体的示例可以包括电线、线缆、金属插头、印刷电路板(PCB)、背板、交换结构、半导体材料、双绞线、同轴线缆、光纤等。
平台1002可以建立一个或多个逻辑或物理信道以传送信息。信息可以包括媒体信息和控制信息。媒体信息可以是指表示对用户有意义的内容的任何数据。内容的示例可以包括例如来自语音会话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音会话的数据可以例如是话语信息、沉默时段、背景噪声、舒适的噪声、语调等。控制信息可以是指表示对自动化系统有意义的命令、指令或控制字的任何数据。例如,控制信息可以被用于通过系统路由媒体信息,或者指令节点以预定方式处理媒体信息。然而,实施例不限于所述元件或在图10中所示出或描述的上下文中。
如上文所描述的,系统1000可以在变化的物理样式或形状因子中体现。图11图示了其中可以体现系统1000的小形状因子设备1100的实施例。在实施例中,例如,设备1100可以实现为具有无线能力的移动计算设备。移动计算设备可以是指例如具有处理系统和移动电源或电力供应(诸如一个或多个电池)的任何设备。
如上文所描述的,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超级膝上型计算机、平板计算机、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(PDA)、蜂窝电话、组合蜂窝电话/PDA、电视、智能设备(例如智能电话、智能平板计算机或智能电视)、移动因特网设备(MID)、消息传送设备、数据通信设备等。
移动计算设备的示例还可以包括被布置为由人穿戴的计算机,诸如手腕计算机、手指计算机、手环计算机、眼镜计算机、带夹式计算机、腕带计算机、鞋子计算机、衣物计算机、和其它可穿戴计算机。在实施例中,例如,移动计算设备可以实现为能够执行计算机应用,以及语音通信和/或数据通信的智能电话。尽管可以利用被实现为智能电话的移动计算设备通过示例的方式描述了一些实施例,但是可以领会的是,其它实施例也可以使用其它无线移动计算设备来实现。实施例并不限于该上下文中。
如图11中所示,设备1100可以包括外壳1102、显示器1104、输入/输出(I/O)设备1106和天线1108。设备1100还可以包括导航特征1112。显示器1104可以包括用于显示适用于移动计算设备的信息的任何适当的显示单元。I/O设备1106可以包括用于将信息录入到移动计算设备的任何适当的I/O设备。用于I/O设备1106的示例可以包括字母数字键盘、数字小键盘、触摸板、输入按键、按钮、开关、摇臂式开关、麦克风、扬声器、语音识别设备和软件等。信息还可以通过麦克风的方式录入到设备1100中。这样的信息可以由语音识别设备数字化。实施例并不限于该上下文中。
各个实施例可以使用硬件元件、软件元件或二者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码部段、计算机代码部段、字、值、符号或其任何组合。确定实施例是否使用硬件元件和/或软件元件实现可以根据任何数目的因素而变化,诸如期望的计算速率、电力水平、热容差、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
至少一个实施例的一个或多个方面可以通过存储在机器可读介质上的代表性指令来实现,该机器可读介质表示处理器内的各种逻辑,其在由机器读取时使机器构造逻辑以施行本文所描述的技术。称为“IP核”的这样的表示可以存储在有形、机器可读介质上并且供应给各种消费者或制造工厂以加载到实际做出逻辑或处理器的构造机器中。
在该说明书中,“一(a和an)”以及类似短语要解释为“至少一个”和“一个或多个”。对“一”实施例的参考在该公开中未必是指相同的实施例。
在所公开的实施例中描述的许多元件可以实现为模块。此处将模块限定为可隔离的元件,其施行限定的功能并且可以具有到其它元件的限定接口。在该公开中描述的模块可以在硬件、硬件和软件的组合、固件或其组合中实现,所有这些在行为上是等同的。例如,模块可以使用计算机硬件结合以计算机语言(诸如C、C++、Fortran、Java、Basic、Matlab等)编写的(多个)软件例程或诸如Simulink、Stateflow、GNU Octave或LabVIEW MathScript的建模/模拟程序来实现。附加地,可以可能的是使用并入分立或可编程的逻辑、数字和/或量子硬件的物理硬件来实现模块。可编程硬件的示例包括:计算机、微控制器、微处理器、专用集成电路(ASIC);现场可编程门阵列(FPGA);以及复杂可编程逻辑器件(CPLD)。计算机、微控制器和微处理器使用诸如汇编、C、C++等的语言来编程。FPGA、ASIC和CPLD通常使用诸如VHSIC硬件描述语言(VHDL)之类的硬件描述语言(HDL)或者利用可编程设备上的较少功能性配置内部硬件模块之间的连接的Verilog来编程。最终,需要强调的是,上述技术可以组合地使用以实现功能模块的结果。
一些实施例可以采用处理硬件。处理硬件可以包括一个或多个处理器、计算机仪器、嵌入式系统、机器等。处理硬件可以被配置为执行指令。指令可以存储在机器可读介质上。根据一些实施例,机器可读介质(例如自动化数据介质)可以是被配置为以自动化感测设备可访问的机器可读格式存储数据的介质。机器可读介质的示例包括:磁盘、卡、磁带、和鼓、穿孔卡和纸带、光盘、条形码、磁墨水字符等。
此外,应当理解的是,高亮任何功能性和/或优点的任何图仅出于示例目的而给出。所公开的架构足够灵活和可配置,使得其可以以除所示出的其它方式来利用。例如,在任何流程图中列出的步骤可以重新排序或者仅可选地在一些实施例中使用。
另外,本公开的摘要的目的是使得美国专利和商标局以及一般地公众,并且尤其是本领域中的不熟悉专利或法律术语或措词的科学家、工程师和从业者能够通过粗略调查来快速确定本申请的技术公开的性质和本质。本公开的摘要并不意图以任何方式限制范围。
各个实施例可以使用硬件元件、软件元件或二者的组合来实现。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码部段、计算机代码部段、字、值、符号或其任何组合。确定实施例是否使用硬件元件和/或软件元件实现可以根据任何数目的因素而变化,诸如期望的计算速率、电力水平、热容差、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其它设计或性能约束。
至少一个实施例的一个或多个方面可以通过存储在机器可读介质上的代表性指令来实现,该机器可读介质表示处理器内的各种逻辑,其在由机器读取时使机器构造逻辑以施行本文所描述的技术。称为“IP核”的这样的表示可以存储在有形、机器可读介质上并且供应给各种消费者或制造工厂以加载到实际做出逻辑或处理器的构造机器中。
本发明的实施例适用于与所有类型的半导体集成电路(“IC”)芯片一起使用。这些IC芯片的示例包括但不限于:处理器、控制器、芯片组组件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片等。此外,在一些图中,信号导线利用线来表示。一些可以不同以指示更多的组成信号路径,具有序号标签以指示组成信号路径的序号,和/或具有一端或多端处的箭头以指示主要信息流方向。然而,这不应当以限制的方式来解释。而是,这样添加的细节可以与一个或多个示例性实施例结合使用以便于更容易地理解电路。任何所表示的信号线,不管是否具有附加信息,可以实际上包括一个或多个信号,其可以在多个方向上行进并且可以利用任何适当类型的信号方案来实现,例如利用差分对、光纤线和/或单端线实现的数字或逻辑线。
可能已经给出示例大小/模型/值/范围,但是本发明的实施例不限于此。随着制造技术(例如光刻)随时间的成熟,预期可以制造更小大小的设备。此外,到IC芯片和其它组件的众所周知的电力/接地连接可以或可以不在图中示出,以用于图示和讨论的简便,并且以便不混淆本发明的实施例的某些方面。另外,可以以框图形式示出布置以免混淆本发明的实施例,并且同样地鉴于以下事实:关于这样的框图布置的实现的细节高度取决于要在其中实现实施例的平台,即这样的细节应当很好地处于本领域技术人员的知识范围内。在阐述具体细节(例如电路)以便描述本发明的示例实施例的情况下,本领域技术人员应当显而易见的是,本发明的实施例可以在没有这些具体细节或具有这些具体细节的变形的情况下实践。描述由此被视为说明性的而非限制性的。
可以例如使用可存储指令或指令集的机器或有形计算机可读介质或制品来实现一些实施例,该指令或指令集在由机器执行时可以使机器施行依照实施例的方法和/或操作。这样的机器可以包括例如任何适当的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理器等,并且可以使用硬件和/或软件的任何适当组合来实现。机器可读介质或制品可以包括例如任何适当类型的存储器单元、存储器设备、存储器制品、存储器介质、存储设备、存储制品、存储介质和/或存储单元,例如存储器、可移动或不可移动的介质、可擦除或不可擦除的介质、可写入或可重写入的介质、数字或模拟介质、硬盘、软盘、致密盘只读存储器(CD-ROM)、可刻录致密盘(CD-R)、可重写致密盘(CD-RW)、光盘、磁性介质、磁光介质、可移动的存储器卡或盘、各种类型的数字通用盘(DVD)、磁带、磁盒等。指令可以包括任何适当类型的代码,诸如源代码、编译代码、解译代码、可执行代码、静态代码、动态代码、加密代码等,其可以使用任何适当的高级、低级、面向对象的、可视、编译和/或解译的编程语言来实现。
除非以其它方式明确表述,否则可以领会的是,诸如“处理”、“计算”、“运算”、“确定”等的术语是指计算机或计算系统、或类似电子计算设备的动作和/或处理,其将表示为计算系统的寄存器和/或存储器内的物理量(例如电子)的数据操纵和/或变换为类似地表示为计算系统的存储器、寄存器或其它这样的信息存储、传输或显示设备内的物理量的其它数据。实施例并不限于该上下文中。
术语“耦合”可以在本文中被用来指所讨论的组件之间的任何类型的关系,直接或间接的,并且可以适用于电气、机械、流体、光学、电磁、机电或其它连接。此外,术语“第一”、“第二”等可以在本文中仅用于便于讨论,并且不承载特定的时间或顺序性意义,除非以其它方式指示。
本领域技术人员将从前述说明领会到,本发明的实施例的广泛技术可以以各种形式来实现。因此,尽管该发明的实施例已经结合其特定示例描述,但是本发明的实施例的真实范围不应当如此限制,因为其它修改将在学习附图、说明书和所附权利要求时后对于本领技术人员变得明显。

Claims (31)

1.一种重建视频帧的方法,包括:
通过从保持具有数个行的当前帧的第一缓冲区编码数个初始重建宏块行来生成所述数个初始重建宏块行;
将所述数个初始重建宏块行放置在大小设计成保持所述数个初始重建宏块行的先进先出缓冲区中;以及
以增量的方式进行以下步骤,直到当前帧中的所有数个行已经被处理为止:
通过使用先进先出缓冲区中的至少一个重建宏块行编码当前帧中的下一行来生成附加的重建宏块行;
在参考缓冲区中序列地放置从先进先出缓冲区的尾部拉出的重建宏块行;以及
将所述附加的重建宏块行推到先进先出缓冲区的头部上。
2.根据权利要求1的方法,还包括使用当前帧中的下一行和先进先出缓冲区中的每一个重建宏块行来生成附加的重建宏块行。
3.根据权利要求1的方法,其中初始重建宏块行的数目为三。
4.根据权利要求1的方法,其中先进先出缓冲区是参考缓冲区的一部分。
5.根据权利要求1的方法,其中参考缓冲区是之前帧缓冲区和可替换帧缓冲区中的一个或多个。
6.根据权利要求1-5中任一项的方法,其中当前帧是非关键帧。
7.一种重建视频帧的装置,包括:
保持当前帧的第一缓冲区,当前帧具有数个行;
生成用于所述数个行中的每一个的重建宏块行的行编码器;
大小设计成保持数个重建宏块行的先进先出缓冲区;以及
保持从先进先出缓冲区输出的重建宏块行的参考缓冲区,
其中行编码器以增量的方式使用当前行从当前帧和先进先出缓冲区中的至少一个重建参考行来生成经编码的行直到所有数个行已经被处理为止。
8.根据权利要求7的装置,其中当前帧是非关键帧。
9.根据权利要求7的装置,其中行编码器使用来自当前帧的当前行和先进先出缓冲区中的至少一个经编码的行来生成每一个经编码的行。
10.根据权利要求7的装置,其中行编码器使用来自当前帧的当前行和先进先出缓冲区中的一个或多个重建宏块行来生成每一个重建宏块行。
11.根据权利要求7的装置,其中重建宏块行的数目为三。
12.根据权利要求7的装置,其中行编码器是VP8编码器的一部分。
13.根据权利要求7-12中任一项的装置,其中先进先出缓冲区是参考缓冲区的一部分。
14.根据权利要求13的装置,其中参考缓冲区是之前帧和可替换帧中的一个或多个。
15.一种重建视频帧的系统,包括:
视频输入部;
编码器,包括:
保持当前帧的第一缓冲区,当前帧具有数个行;
生成用于所述数个行中的每一个的重建宏块行的行编码器;
大小设计成保持数个重建宏块行的先进先出缓冲区;以及
保持从先进先出缓冲区输出的重建宏块行的参考缓冲区,
其中行编码器以增量的方式使用当前行从当前帧和先进先出缓冲区中的至少一个重建参考行来生成经编码的行直到所有数个行已经被处理为止;以及
输出经编码的视频流的经编码的视频输出部。
16.根据权利要求15的系统,其中当前帧是非关键帧。
17.根据权利要求15的系统,其中行编码器使用来自当前帧的当前行和先进先出缓冲区中的至少一个经编码的行来生成每一个经编码的行。
18.根据权利要求15的系统,其中行编码器使用来自当前帧的当前行和先进先出缓冲区中的一个或多个重建宏块行来生成每一个重建宏块行。
19.根据权利要求15的系统,其中重建宏块行的数目为三。
20.根据权利要求15的系统,其中行编码器是VP8编码器的一部分。
21.根据权利要求15-20中任一项的系统,其中先进先出缓冲区是参考缓冲区的一部分。
22.一种重建视频帧的装置,包括:
用于通过从保持具有数个行的当前帧的第一缓冲区编码数个初始重建宏块行来生成所述数个初始重建宏块行的单元;
用于将所述数个初始重建宏块行放置在大小设计成保持所述数个初始重建宏块行的先进先出缓冲区中的单元;以及
用于以增量方式进行以下步骤,直到当前帧中的所有数个行已经被处理为止的单元:
通过使用先进先出缓冲区中的至少一个重建宏块行编码当前帧中的下一行来生成附加的重建宏块行;
在参考缓冲区中序列地放置从先进先出缓冲区的尾部拉出的重建宏块行;以及
将所述附加的重建宏块行推到先进先出缓冲区的头部上。
23.根据权利要求22的装置,还包括用于使用当前帧中的下一行和先进先出缓冲区中的每一个重建宏块行来生成附加的重建宏块行的单元。
24.根据权利要求22的装置,其中初始重建宏块行的数目为三。
25.根据权利要求22的装置,其中初始重建宏块行的数目为十六。
26.根据权利要求22的装置,其中当前帧为视频帧。
27.根据权利要求22的装置,其中行编码器为VP8编码器的一部分。
28.根据权利要求22的装置,其中先进先出缓冲区是参考缓冲区的一部分。
29.根据权利要求28的装置,其中参考缓冲区是之前帧缓冲区和可替换帧缓冲区中的一个或多个。
30.根据权利要求22-27中任一项的装置,其中当前帧是非关键帧。
31.一种其上存储有指令的计算机可读介质,当执行所述指令时使得计算设备执行根据权利要求1-6中任一项所述的方法。
CN201280077132.3A 2012-12-18 2012-12-18 视频帧重建 Active CN104956671B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/086811 WO2014094219A1 (en) 2012-12-18 2012-12-18 Video frame reconstruction

Publications (2)

Publication Number Publication Date
CN104956671A CN104956671A (zh) 2015-09-30
CN104956671B true CN104956671B (zh) 2018-06-01

Family

ID=50977517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280077132.3A Active CN104956671B (zh) 2012-12-18 2012-12-18 视频帧重建

Country Status (3)

Country Link
US (1) US20150288979A1 (zh)
CN (1) CN104956671B (zh)
WO (1) WO2014094219A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019031858A1 (en) * 2017-08-08 2019-02-14 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR DETERMINING MEMORY NEEDS IN A NETWORK
KR102476204B1 (ko) 2017-10-19 2022-12-08 삼성전자주식회사 멀티 코덱 인코더 및 이를 포함하는 멀티 코덱 인코딩 시스템
EP3796644A1 (en) * 2019-09-20 2021-03-24 Eyeware Tech SA A method for capturing and rendering a video stream
US11388412B2 (en) * 2019-11-26 2022-07-12 Board Of Regents, The University Of Texas System Video compression technique using a machine learning system
CN112637599B (zh) * 2020-12-02 2022-09-06 哈尔滨工业大学(深圳) 一种基于分布式压缩视频感知系统的新型重构方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101390401A (zh) * 2006-03-01 2009-03-18 高通股份有限公司 借助伪影评价的提高的图像/视频质量
CN102547296A (zh) * 2012-02-27 2012-07-04 美商威睿电通公司 移动估计加速电路、移动估计方法及环路滤波加速电路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480539B1 (en) * 1999-09-10 2002-11-12 Thomson Licensing S.A. Video encoding method and apparatus
US8971413B2 (en) * 2010-05-24 2015-03-03 Intel Corporation Techniques for storing and retrieving pixel data
EP2679012B1 (en) * 2011-02-21 2015-08-26 Dolby Laboratories Licensing Corporation Floating point video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101390401A (zh) * 2006-03-01 2009-03-18 高通股份有限公司 借助伪影评价的提高的图像/视频质量
CN102547296A (zh) * 2012-02-27 2012-07-04 美商威睿电通公司 移动估计加速电路、移动估计方法及环路滤波加速电路

Also Published As

Publication number Publication date
CN104956671A (zh) 2015-09-30
US20150288979A1 (en) 2015-10-08
WO2014094219A1 (en) 2014-06-26

Similar Documents

Publication Publication Date Title
CN104782124B (zh) 利用编码器硬件对视频内容进行预处理
CN104335587B (zh) 对于三维视频译码的视图间滤波器参数重复使用
CN105325009B (zh) 用于流式传输视频质量分析的改进技术
CN104956671B (zh) 视频帧重建
CN103581665B (zh) 转码视频数据
CN103797805B (zh) 使用变更区域的媒体编码
CN106170979A (zh) 恒定质量视频编码
CN106664407A (zh) 用于无线显示器的并行编码
CN104584552B (zh) Svc中重复使用层间sao参数的方法、设备、系统及机器可读存储介质
CN103765902B (zh) 多视角视频编码方案
CN108432253A (zh) 长期参考图片译码
CN103179393B (zh) 降低运动补偿和显示刷新中的功耗的dram压缩方案
CN104782130B (zh) 从丢失的空间可扩展层恢复运动向量
CN103501439B (zh) 使用运动估计失真的帧级率控制
CN107079192A (zh) 使用压缩视频流的动态屏幕上显示
CN107005697A (zh) 用于视频译码的使用基于查找表的概率更新的熵译码的方法与系统
CN104935926A (zh) 用于估计压缩的动态视频质量的技术
CN104094603B (zh) 用于在视频编码系统中进行集成元数据插入的系统和方法
CN104113757B (zh) 颜色缓冲压缩
CN104012104A (zh) 基于帧级分级对视频内容的回放
CN104754348B (zh) 用于自适应深度偏移压缩的方法和设备
CN103975594A (zh) 用于残差预测的运动估计方法
CN105745930B (zh) 用于图像比特流处理的技术
CN104025037B (zh) 在不将数据复制到单独的储存的情况下交换指针来处理被数据源存储在缓冲器中的数据
CN104541502B (zh) 用于视频编码和解码的基于直方图分段的局部自适应滤波器

Legal Events

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