CN106131580A - 使用环形缓冲区的视频数据处理 - Google Patents

使用环形缓冲区的视频数据处理 Download PDF

Info

Publication number
CN106131580A
CN106131580A CN201610514724.7A CN201610514724A CN106131580A CN 106131580 A CN106131580 A CN 106131580A CN 201610514724 A CN201610514724 A CN 201610514724A CN 106131580 A CN106131580 A CN 106131580A
Authority
CN
China
Prior art keywords
frame
packet
buffer circle
judged
error correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610514724.7A
Other languages
English (en)
Other versions
CN106131580B (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Suzhou Trace Information Technology Co 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 Suzhou Trace Information Technology Co Ltd filed Critical Suzhou Trace Information Technology Co Ltd
Publication of CN106131580A publication Critical patent/CN106131580A/zh
Application granted granted Critical
Publication of CN106131580B publication Critical patent/CN106131580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • 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
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • 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/188Methods 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 a video data packet, e.g. a network abstraction layer [NAL] unit

Landscapes

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

Abstract

本发明公开了使用环形缓冲区的用于解码及编码一个多帧视频流的系统、方法和设备。解码时,解码器可以从编码器接收数据包,并将它们存储至环形缓冲区。所述环形缓冲区可以将数据包储存至收到包含完整的帧的数据包。在重传数据包的情况下,在环形缓冲区存储多个部分或完整的帧,可以通过有效聚合完整的帧来允许前向纠错继续进行,并尽量减少等待时间。

Description

使用环形缓冲区的视频数据处理
技术领域
本发明涉及视频编码及解码,更具体地,涉及使用环形缓冲区的视频编码和解码。
背景技术
数字视频位流可被编码后有效地把视频压缩成数字位流,所述数字位流可存储于非瞬时数字媒介或通过有限带宽的通信信道进行流传输。然而,在视频位流的传输或存储过程中,可能会发生丢包或其他错误,从而导致所述位流解码的错误。可用的信道带宽不时改变的情况也属常见,导致实时视频传输的问题。
发明内容
有鉴于此,本发明公开了用计算设备解码视频位流的系统、方法和设备的各个方面,包括:
在一个环形缓冲区中,接收所述视频位流所包含的数个帧所关联的一个或多个数据包;
判断所述数个帧中是否有一个或多个帧与所述一个或多个数据包有关联;
如果所述一个或多个帧与所述一个或多个数据包有关联,基于所述一个或多个数据包,判断是否从所述环形缓冲区将所述一个或多个帧输出至一个前向纠错解码器;
决定将所述一个或多个帧输出至所述前向纠错解码器之后,
对所述一个或多个帧执行前向纠错,
将所述一个或多个帧从所述前向纠错解码器输出至一个解码器,
解码所述一个或多个帧,
将所述一个或多个帧从所述解码器输出到一个渲染器,并
渲染所述一个或多个帧用于显示。
另一方面,本发明实施例提出一种用于解码视频位流的装置,包括:
一个存储器;
一个处理器,用于执行所述存储器所存储的指令以:
在一个环形缓冲区中,接收所述视频位流所包含的数个帧所关联的一个或多个数据包;
判断所述数个帧中是否有一个或多个帧与所述一个或多个数据包有关联;
如果所述一个或多个帧与所述一个或多个数据包有关联,基于所述一个或多个数据包,判断是否从所述环形缓冲区将所述一个或多个帧输出至一个前向纠错解码器;
决定将所述一个或多个帧输出至所述前向纠错解码器之后,
对所述一个或多个帧执行前向纠错,
将所述一个或多个帧从所述前向纠错解码器输出至一个解码器,
解码所述一个或多个帧,
将所述一个或多个帧从所述解码器输出到一个渲染器,并
渲染所述一个或多个帧用于显示。
另一方面,本发明实施例提出一种用计算设备解码视频位流的系统,包括:
一个环形缓冲区,用于接收所述视频位流所包含的数个帧所关联的一个或多个数据包、将所述一个或多个数据包关联至所述数个帧中的一个或多个帧、并基于所述一个或多个数据包判断是否输出所述一个或多个帧;
一个前向纠错解码器,用于接收所述环形缓冲区输出的一个或多个帧、对所述一个或多个帧执行前向纠错、并输出所述一个或多个帧;
一个解码器,用于接收所述前向纠错解码器输出的一个或多个帧、解码所述一个或多个帧、并输出所述一个或多个帧;
一个渲染器,用于接收所述解码器输出的一个或多个帧、并渲染所述一个或多个帧用于显示。
本发明的上述及其他方面,将通过对以下实施例、所附权利要求书和附图的详细描述。
附图说明
本发明在结合附图阅读时,可以从以下的详细描述中得到最好的理解。需要强调的是,根据通常的做法,附图的各种特征不是按比例的。相反,为解释清楚,所述各种特征的尺寸被任意地放大或缩小。本发明的公开材料提到所附附图时,类似的参照数字在所有视图中指代类似的部分。在附图中:
图1是依本发明公开的实施例提供的一个视频编码及解码系统的示意图;
图2是依本发明公开的实施例提供的一个视频位流的结构示意图;
图3是依本发明公开的实施例提供的一个视频压缩系统的结构示意图;
图4是依本发明公开的实施例提供的一个视频解压系统的结构示意图;
图5是依本发明公开的实施例提供的展示视频解码流程的流程图;
图6是依本发明公开的实施例提供的展示使用环形缓冲区的视频解码流程的流程图;
图7是依本发明公开的实施例提供的展示使用环形缓冲区的视频解码流程的流程图;
图8是依本发明公开的实施例提供的一个使用环形缓冲区的用于视频解码处理的系统的结构示意图;
图9是依本发明公开的实施例提供的一个环形缓冲区的结构示意图。
具体实施方式
数字视频可以被用于娱乐、视频会议、广告和通常的信息共享。用户对数字视频质量的期望会很高,因为用户希望在带宽有限的共享互联网传播的视频与在专用有线频道传播的视频具有同样高的空间和时间质量。例如,数字视频编码可以压缩数字视频的位流,以允许高质量的数字视频在具有有限带宽的网络进行传输。例如,数字视频质量可以定义为输出的解压及解码的数字视频在何种程度上与输入的数字视频匹配。
视频编码和解码统合各种技术用以压缩和解压数字视频流,得以在有限带宽能力的网络中传输高质量的数字视频流。这些技术可以将数字视频流处理为一系列的数字数据块,并处理这些数据块以压缩用于传输或存储,并且在收到数据块后,解压缩所述数据块以重建原始数字视频流。本发明公开的实施例的各方面,可以通过对视频位流的数据包执行前向纠错(Forward Error Correction,FEC),以允许经压缩的视频位流在“嘈杂”或易发潜在错误的网络中传输。所述各方面可以将FEC包添加到视频位流,以允许检测和校正丢失或损坏的数据包。通过用环形缓冲区接收经FEC保护的视频位流的数据包,所述各方面可以有效地聚合属于该视频位流的某个帧的所有数据包,并将待FEC解码的帧发出。
在某些情况下,FEC可以用一个帧的其他数据包重建该帧丢失或损坏的数据包而无需重传数据包,从而减少往返延迟。在其他情况下,丢失或损坏的数据包不能被FEC重建。在这些情况下,丢失或乱序的数据包可以由环形缓冲区检测到——环形缓冲区在其中具有最先帧编号的帧尚未完整时,收到了一个数据包,其来自的帧所具的帧编号却先于所述最先帧的帧编号。这意味着,要么数据包在传输中丢失了,要么数据包被乱序发出。当这种情况发生时,所公开实施例的各方面可以暂停所述帧从环形缓冲区到FEC解码器的传输。帧传输可以暂停至所述最先帧编号所关联的丢失数据包接收到或者后续帧完成为止。如果在后续帧完成前接收到所述最先帧编号所关联的丢失数据包,则可将所述最先帧发送到FEC解码器。如果在后续帧所关联的所有数据包都收到后,环形缓冲区仍未收到丢失的数据包,则其帧编号先于所述完整后续帧的不完整的帧可被删除,而完整的后续帧可被发送到FEC解码器。
丢弃具有不完全或损坏的数据包的帧,可以通过消除视频数据重传的需求来提高视频编码和解码的性能。在需要重传时,可从解码器通过网络传递一条消息给编码器,然后编码器可以重发所丢失的帧。这种消息传讯和数据重传可能导致解码视频流中的——例如——中断和延迟。所公开实施例的各方面丢弃不完整的帧而无需重发数据,从而避免了往返延迟。
有个问题是,解码器在后来执行帧间预测时可能需要被丢弃的帧。所公开实施例的各方面可以避免这种情况,例如,通过在编码器端仅使用解码器缓冲区内的良参考帧,使得所丢弃的帧不会被帧间预测使用。解码器缓冲区内的帧是否被成功重建可由——例如——环形缓冲区和解码器来确定,并可由反向信道消息通告编码器。
图1是视频编码和解码系统10的示意图,图中本发明的一些方面可以实施。在一个示例中,计算设备12可以包括硬件的内部配置,包括一个处理器如中央处理单元(CPU)18和一个数字数据存储器如存储器20。例如,CPU 18可以是用于控制计算设备12的控制器,也可以是微处理器、数字信号处理器、场效可编程逻辑门阵列(FPGA)、布置于定制的专用集成电路(ASIC)上的离散电路元件或者任意其他数字数据处理器。例如,CPU 18可以通过存储器总线、电线、电缆、无线连接或任意其他连接连接到存储器20。存储器20可以作为或包含只读存储器(ROM)、随机存取存储器(RAM)、光存储器、磁存储器诸如磁盘或磁带、非易失性存储卡、云存储,或者任意其他合适的数字数据存储设备或设备的方式或组合。存储器20可存储CPU 18使用的数据和程序指令。计算设备12也有其他合适的可能的实现方式。例如,计算设备12的处理可以分布在以多个网络16通信的多个设备上进行。
在一个实例中,网络16可以连接计算设备12和计算设备14,用于编码和解码视频流。例如,所述视频流可以在计算设备12上进行编码,经编码的视频流可以在计算设备14上解码。网络16可以包括任意一个或多个适于即时应用的网络,诸如有线或无线的局域或广域网、虚拟专用网、蜂窝电话数据网络,或任意其他有线或无线的,对硬件、软件、通信协议的配置,以适用于图例中的从计算设备12向计算设备14传送视频位流,并从计算设备14传送关于所述网络的参数至计算设备12。
计算设备14可以包括CPU 22和存储器24,类似于以上讨论的系统10的组件。例如,计算设备14可配置用于显示视频流。连接到计算设备14的显示器可以有各种实现方式,包括液晶显示器(LCD)、阴极射线管(CRT)、有机或非有机发光二极管显示器(LED)、等离子体显示器、或任意其他用以向用户显示机器可读的视频信号的机制。例如,计算设备14可配置用于显示由计算设备14的解码器解码的所述视频位流的渲染。
编码器和解码器系统10有其他可能的实施方式。除了计算设备12和计算设备14,图1还展示了额外的计算设备26、28,其分别具有一个或多个CPU30、34及存储器32、36。这些计算设备可包括服务器,以及移动电话,移动电话也可以诸如创建、编码、解码、存储、转发或显示数字视频流。这些计算设备在处理能力和存储器可用性方面可具有不同的能力,包括用于创建视频的设备,如视频摄像机,和用于显示视频的设备。
图2是待编码及随后解码的视频流200的示意图。视频流200可以包括视频序列202。视频序列202是视频流在时间上连续的子集,也称为图像组(GOP)。视频序列202可以包括多个相邻的视频帧204。尽管图中数帧204只描绘了四个帧,视频序列202可包括任意数目的数个帧。数帧204的单个实例表示为单帧206。进一步划分单帧206可以产生一系列的区块208。在本例中,区块208可以包含对应于单帧206内的一个N×M像素域的数据,比如对应像素的亮度和色度数据。区块208可以是任意合适的尺寸,例如128×128像素组或所述像素组中的任意矩形子集。
图3是依照公开的实施方式展示的编码器300的框图。编码器300可在计算设备中实现,诸如计算设备12。编码器300可以编码输入视频流200。编码器300包括数个级来执行前向路径的各个功能,以产生经编码和/或压缩的位流322:帧内预测级302、模式决定级304、帧间预测级306、变换及量化级308、滤波级314和熵编码级310。编码器300还可以包括一个重建路径,以重建用于预测和编码未来区块的帧。在图3中,编码器300包括逆量化及逆变换级312和用以存储视频数据多个帧的多帧存储器316,以重建用于预测的区块。编码器300的其他变体结构也可用于编码视频流200。
视频流200用于编码时,其中每个帧(例如图2中的单帧206)以区块为单位进行处理。每个区块可以从左上方的区块开始,以光栅扫描的顺序单独进行处理。在帧内预测级302,针对视频流200的区块,帧内预测的残差区块可被确定。通过检查先前处理的相邻区块以确定所述相邻区块的像素值是否类似于当前区块,帧内预测可以预测区块的内容。因为视频流200以光栅扫描顺序进行处理,光栅扫描顺序中领先于当前区块出现的区块可用于处理所述当前区块。光栅扫描顺序中出现于给定区块之前的区块之所以可用于帧内预测,是因为它们也可在解码器中使用,鉴于它们也将首先被重建。如果相邻区块与当前区块足够相似,所述相邻区块可被用作预测区块,并在步骤318中从当前区块中减去,以形成残差区块,并且表示当前区块是帧内预测的信息可以包含在所述视频位流里。
视频流200也可以在帧间预测级306进行帧间预测。帧间预测包含形成残差区块,其通过从时间数个帧转换像素以形成可从当前区块中减去(步骤318)的预测区块。时间数个帧可存储于帧存储器316并在帧间预测级306被访问,以形成可以传递给模式决定级304的残差区块——在级304中,帧内预测产生的残差区块可以和帧间预测产生的残差区块进行比较。模式决定级304可确定用何种预测模式——帧间或帧内——来预测当前区块。例如,在某些实施方式中,可以使用率失真值(rate distortionvalue)来确定使用何种预测模式。
率失真值的确定,可以通过计算用特定编码参数(例如预测模式)编码的视频位流中每单位时间的位元的数目,即位率,并结合计算输入视频流的区块和解码视频流的时间上和空间上相同的区块之间的差异。因为编码器300是“有损”的,所述解码视频流区块的像素值可以不同于所述输入视频流区块的像素值。例如,为了确定最佳的参数值,可以变化编码参数以比较相应的率失真值。
在相减步骤318中,由模式决定级304确定的残差区块可从当前区块中减去,并传递到变换及量化级308。由于残差区块的值可以小于当前区块的值,变换及量化后的残差区块具有的值可以比变换及量化后的当前区块少,因而可以在视频位流中通过较少的变换系数来表示。基于区块的变换的实例包括Karhunen-Loève变换(“KLT”),离散余弦变换(“DCT”)和奇异值分解变换(“SVD”),仅举几例。在一个实施例中,DCT将区块变换到频域。在DCT变换的例子中,变换系数的值是基于空间频率,直流系数(DC系数)或其他最低频率的系数在矩阵的左上角,最高频率的系数在矩阵的右下角。
变换和量化级308转换所述变换系数为离散量子值,它可被称为量化变换系数。量化可以减少以变换系数代表的离散状态的数目,同时少量降低图像质量,如果量化是在空间域而不是变换域中进行的话。量化后的变换系数可以通过熵编码级310进行熵编码。熵编码是一种可逆的、无损的算术编码方案,它可以减少视频位流中位元的数目,并在解码时不会在所述位流中引起变化。熵编码后的系数与其他用于解码所述区块的信息一起,诸如使用的预测类型、运动矢量、量化器的值和滤波强度等,被输出为压缩的位流322。
图3虚线所示的重建路径,可用于帮助确保编码器300和解码器400(参照下文图4)都使用相同的基准帧来形成帧内预测区块。重建路径执行的功能类似于下文详述的解码过程所执行的功能,包括:在逆量化及逆变换级312进行去量化和逆变换所述量化的变换系数,并在加法步骤320中与模式决定级304产生的残差区块一起,创建重建区块。环路滤波级314可应用于重建的区块以减少失真,例如区块效应,因为解码器400可以在过滤所述重建的视频流之前对其采样以形成基准帧。例如,图3展示,环路滤波级314发送环路滤波参数至熵编码器310,与输出的视频位流322进行组合,以允许解码器400使用和编码器300相同的环路滤波参数。
编码器300的其他变体可用于编码压缩的位流322。编码器300的各级可以以不同的顺序进行处理,或者可以无需改变其目的而组合成更少的级或分拆为更多的级。例如,不基于变换的编码器300可以无需变换级而直接量化残差区块信号。在另一实施例中,编码器300可以将变换和量化级308拆分为单一的步骤。
图4是依公开实施方式的各方面描述的解码器400的框图。在一个实施例中,解码器400可以在计算设备14上实现。解码器400包括以下级来执行各种功能,以从压缩位流322产生输出视频流418:熵解码级402,逆量化及逆变换级404,帧内预测级408,帧间预测级412,加法器410,模式决定级406和一个帧存储器414。解码器400的其他结构变体也可以用于解码压缩位流322。例如,逆量化及逆变换级404可以被表示为两个独立的级。
接收的视频位流322可以通过熵解码器402进行熵解码。熵解码器402执行编码器300在级310执行的熵编码的逆过程,以还原所述视频位流到熵编码前的原始状态。所述还原的视频位流可以进行逆量化和逆变换,类似于逆量化及逆变换级312的方式。逆量化及逆变换级404可以还原视频位流的残差区块322。注意,由于编码器300和解码器400能表示有损编码,所述还原的残差区块的像素值可不同于输入视频流200中相同的时间和空间位置的残差区块。
在逆量化及逆变换级404还原残差区块之后,通过在加法器410中加入所述残差区块的预测区块,所述视频位流的残差区块可被大致还原到其预测前的状态。加法器410从模式决定级406处接收用于加到残差区块的所述预测区块。模式决定级406可经由编码器300解释所述输入视频位流322包含的参数,例如,确定是使用帧内还是帧间预测以还原视频位流322的区块。模式决定级406对输入视频位流322也可以执行计算来确定对特定的区块使用何种预测。作为解码器,通过对相同的数据执行相同的计算,模式决定级406可以针对预测模式做出与编码器300相同的决定,从而减少了为指示要用的预测模式而在视频位流中传输位元的需要。
模式决定级406可以同时从帧内预测级408和帧间预测级412接收预测区块。因为帧内预测区块以光栅扫描顺序处理,帧内预测级408可以从加法器410输出的所述还原视频流接收区块以用作预测区块;并且由于帧内预测使用的区块是编码器300在还原残差区块之前以光栅扫描顺序选择的,帧内预测级408可以按需提供预测区块。如上面关于编码器300的讨论,帧间预测级412从储存在帧存储器414的帧中创建预测区块。帧存储器414从环路滤波器416接收经其滤波的还原区块。环路滤波可以去除基于区块的预测技术所引入的区块效应,如本文所述的编码器300和解码器400所用。
帧间预测级412可以使用帧存储器414里经环路滤波器416滤波的帧,以使用编码器300用过的相同数据形成预测区块。尽管使用有损压缩,对预测使用相同的数据可使解码器400重建的区块具有接近对应输入区块的像素值。模式决定级406从帧间预测级412接收的预测区块可以传递到加法器410,以还原视频位流322的区块。经环路滤波器416滤波后,还原的视频流418可以从解码器400输出。解码器400的其他变体可用于解码压缩位流322。例如,解码器400可以不经环路滤波级416产生输出视频流418。
根据所公开实施方式,图5所示的是用于解码一个视频位流的流程500的流程图。例如,流程500可以由一个解码计算设备14执行。图5中的流程图展示了包括在流程500里的若干步骤。实现流程500的步骤,可以包括在本文,或者多于或少于本文所述。例如,步骤可以组合或划分而改变执行的步骤的数目。流程500的所述步骤可以按本文包括的顺序或不同的顺序来执行,且仍然实现流程500的意图。
流程500可以由图8所示的处理级来执行。图8是解码器800的示意图,其包括环形缓冲区802,FEC解码器804,视频解码器806和渲染器808。环形缓冲区802可以接收并暂存编码视频位流322的数帧204的数据包。环形缓冲区802可将编码视频位流数据的数帧204发送到FEC解码器804。所述FEC解码器可以检测并更正编码视频位流322丢失或损坏的数据包,并将编码视频位流数据的数帧204发送到视频解码器806。例如,视频解码器806可以是如图4所示的视频解码器。视频解码器806将解码的视频数据的帧发送到视频渲染器808,用以渲染并显示在一个——例如——操作时连接到计算设备14的显示器上。
回到图5,在步骤502中,环形缓冲区802在——例如——计算设备14中接收经编码的视频位流322中的数帧204所关联的一个或多个数据包。所谓“接收”,我们可指输入、获取、读取、访问或以任何方式接收一个编码视频位流的行为。例如,所述已编码的视频位流可以由计算设备12用编码器300进行编码,并经由网络16发送。在步骤504中,流程500可以判断一个或多个帧204是否关联于所述一个或多个数据包。图6是一个用于将一个或多个帧204关联到所述一个或多个数据包的流程600的流程图。
图6开始于步骤602,通过检查所述收到的一个或多个数据包并将一个帧编号与所述收到的一个或多个数据包相关联。在数据包被编码器300构造时,它们被标记用以识别与之关联的帧。收到所述一个或多个数据包后,可以检查所述数据包,并确定与之关联的的帧的帧编号。在步骤602中,所述相关联的帧编号被检查并与当前存储在环形缓冲区802的帧的帧编号互相核对。如果所述相关联的帧编号小于或等于环形缓冲区所输出的末帧的帧编号,所述一个或多个数据包将在步骤604被丢弃,而流程600返回到流程500的步骤504。
如果所述相关联的帧编号大于环形缓冲区802所输出的末帧的帧编号,在步骤606中,环形缓冲区802可以检查网络并确定是否发生了网络错误。网络错误可包括丢包,而丢包可通过——例如——每一个包相关的包序列号被乱序接收来确定。网络错误也可以由网络16或计算设备12或14检测到并传递错误信息至环形缓冲区802。在任一情况下,在步骤608中,环形缓冲区802都可以设置一个帧内请求标记,通过向编码器300发送带外消息的方式来请求重发丢失或损坏的数据。在此之后,流程600可以返回到流程500的步骤504。
在步骤610中,流程600可以检查相关的帧编号,以确定与所述一个或多个数据包相关联的帧当前是否存储于环形缓冲区802。图9是环形缓冲区900的图。环形缓冲区900包括多个帧,存储于数个环或帧缓冲区902中。环形缓冲区900包括从1到N的环或帧缓冲区902,其中每个环或帧缓冲区用于存储一个以帧编号标记的帧。每个环902包括多个数据包904,标记为P1到PM。环形缓冲区900可在数个环或帧缓冲区902中存储多个帧,并将收到的数据包904添加到相应的帧缓冲区902中。
回到图6,在步骤612中,由环形缓冲区802接收的、与当前存储在环形缓冲区802的帧编号相关联的所述一个或多个数据包,被存储于相应的环或帧缓冲区902。在步骤614中,所述环形缓冲区的相关标记被更新,以反映相关帧的状态。更新标记可包括“all_data_packets”标记和“this_frame_is_ready”标记,其表明每个帧在环形缓冲区802中的状态。环形缓冲区802可判断是否输出帧,至少部分地取决于所述标记的状态。更新标记后,流程600可以跳到步骤620来输出帧。
在步骤610中,如果确定相关的帧编号不在环形缓冲区802内,相关的帧编号将在步骤616被进一步检查,看它是否比环形缓冲区802内最先的帧编号还要先。这种情况可以是是因为——例如——数据包被乱序接收,或正在被重传。如果以上属实,说明与所述数据包相关联的帧已输出到FEC解码器,则在所述一个或多个数据包在步骤618中被丢弃。然后流程600可以返回到流程500的步骤504。
在步骤616中,如果确定所述数据包并非比环形缓冲区802内最先的帧编号还要先,则在步骤620中,环形缓冲区802内最先的帧缓冲区902被替换为新的、标有所述一个或多个数据包的相关帧编号的帧缓冲区902。在步骤622中,所述一个或多个数据包904被存储于新的帧缓冲区902,并且在步骤624中,“all_data_packets”和“this_frame_is_ready”标记被更新。然后流程600可以返回到流程500的步骤504。
回到图5,在步骤506中,流程500可以将帧从环形缓冲区802向FEC解码器804输出。图7是流程700的流程图,其用于根据所述一个或多个数据包的帧来判断是否将所述一个或多个帧从环形缓冲区802向FEC解码器输出。在步骤702中,在步骤614和/或624中更新的标记被检查,以确定当前帧是否已准备好输出。如果当前帧已准备就绪,且如果之前或之后的更先的帧已被输出,则在步骤704中,所述帧被输出到FEC解码器804。输出该帧之后,流程700返回到流程500的步骤506。
在步骤706中,流程700检查标记,以确定帧编号+1的或后一个新的帧是否已准备好输出。如果后一个新帧准备就绪,则输出该帧,且流程700返回到流程500的步骤506。如果后一个新帧没有输出就绪,在步骤710中,流程进行检查,以判断预设的时间期限是否已到期。如果预设的时间期限已到,则计时器复位、流程700结束等待,且在步骤712中,对帧缓冲区内的帧按从先到后的顺序进行检查,以确定它们是否输出就绪。如果步骤714找到了准备就绪的帧,则其中最先的帧被输出到FEC解码器804,而流程700返回到流程500的步骤506。如果预设的时间期限未到,则流程700返回到流程500的步骤506。
回到图5,在步骤508中,对从环缓冲区802输出的视频位流数据的帧,FEC解码器804可以执行FEC解码。在步骤510中,视频解码器806可以解码经FEC解码的视频位流,以形成一个解码的视频流。解码的视频流可以在步骤512中由视频渲染器808渲染,用以显示。在步骤514中,流程500可以检查所述视频位流是否还有更多数据包可用;如果是,则返回到步骤512以接收更多的数据包。如果没有更多的数据包可用,则流程500可以退出。
上述编码和解码的实施例说明了一些示例性的编码和解码技术。然而,对用于权利要求中的这些术语,编码和解码可以意指压缩、解压、变换,或者任意其他对数据的处理或改变。
在本文中,用语“示例”或“示例性”用于表示充当实例、例子或说明。本文中描述为“示范性”的任何方面或设计,并不必然意味着优选或优于其他方面或设计。相反,用语“示例”或“示例性”的目的在于用具体的方式呈现一个概念。在本申请中使用的术语“或”,旨在表示包含性的“或”而不是排他性的“或”。即,除非另有指定,或从上下文清楚推断,“X包括A或B”旨在表示任何自然的包含性排列。也就是说,如果“X包含A;X包含B;或X包含A和B”,则“X包含A或B”在任何上述实例中都得以满足。此外,在本申请和所附的权利要求中使用的“一”和“一个”应被一般性地解释为表示“一个或多个”,除非另有所指,或从上下文中明确得知其针对于单一数目。此外,全文用语“一个实施例”或“一实施例”并非意指相同的实施例,除非如是描述。
计算设备12、14、26和/或28的实现方式,以及存储其上和/或由其执行的算法、方法、指令等,可以实现为硬件、软件或两者的任意组合。例如,所述硬件可以包括计算机、知识产权(IP)核心、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任意其他适合的电路。在权利要求中,术语“处理器”或单独或组合地包括任意上述硬件。术语“信号”和“数据”可互换使用。此外,计算设备12、14、26和/或28的各部分无须以相同的方式实现。
此外,例如,在一个实施例中,计算设备12、14、26和/或28可用通用计算机/处理器及计算机程序实现;且在执行时,所述计算机程序执行任意上述相应的方法、算法和/或指令。此外,例如,也可以另外使用专用计算机/处理器,而其可以包含专用硬件用于执行本文所述的任意所述方法、算法、或指令。
计算设备12、14、26和/或28可以,例如,在一个屏幕录制(screencasting)系统的计算机上实现。另外,计算设备12可以在服务器上实现,而计算设备14、26和/或28可以在独立于服务器的设备上实现,诸如手机或其他手持式通信装置。在这个例子中,计算设备12可以使用编码器300将内容编码为一个编码的视频信号,并发送所述编码的视频信号到通信设备。反过来,所述通信设备可以使用解码器400解码所述编码的视频信号。另外,通信设备也可以解码本地存储在所述通信设备上的内容,例如非由计算设备12传送的内容。计算设备12、14、26和/或28也可以有其他合适的实施方案。例如,计算设备14可以是大致固定的个人计算机而非便携通信设备,和/或包括编码器300的设备还可以包括解码器400。
此外,本发明的实施方式全部或部分可以以——例如,可从计算机可用或计算机可读介质访问的——计算机程序产品的形式存在。计算机可用或计算机可读介质可以是任意设备,例如,其有形地包含、存储、通信或传输所述程序以供任意处理器使用或与任意处理器连接。例如,所述介质可以是电子、磁性、光学、电磁、或半导体器件,也可以是其他合适的介质。
上述实施方式已经依序描述,以便容易理解、且不限制本发明。相反,本发明旨在覆盖包含在所附权利要求书的范围内的各种修改和等同布置,所附权利要求书的范围在法律范围内应被赋予最宽泛的解释,以包含所有上述修改和等同结构。

Claims (20)

1.一种用计算设备解码视频位流的方法,包括:
在一个环形缓冲区中,接收所述视频位流所包含的数个帧所关联的一个或多个数据包;
判断所述数个帧中是否有一个或多个帧与所述一个或多个数据包有关联;
如果所述一个或多个帧与所述一个或多个数据包有关联,基于所述一个或多个数据包,判断是否从所述环形缓冲区将所述一个或多个帧输出至一个前向纠错解码器;
对将所述一个或多个帧输出至所述前向纠错解码器进行判断之后,
对所述一个或多个帧执行前向纠错,
将所述一个或多个帧从所述前向纠错解码器输出至一个解码器。
2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
对所述一个或多个数据包所关联的所述一个或多个帧判定为没有存储于所述环形缓冲区之后,丢弃所述一个或多个数据包。
3.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
对所述一个或多个数据包所关联的所述一个或多个帧判定为先于所述环形缓冲区中的最先帧之后,丢弃所述一个或多个数据包。
4.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
对所述环形缓冲区中存储的所述一个或多个帧判定为完整之后,将所述一个或多个帧输出至所述前向纠错解码器。
5.根据权利要求4所述的方法,其特征在于,对所述环形缓冲区中存储的所述一个或多个帧是否完整的判断,于在所述环形缓冲区中接收到所述一个或多个帧所关联的数据包之后进行。
6.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
对所述一个或多个帧所包含的一个帧编号判定为等于上一个输出的帧编号加一、且对所述一个或多个帧从所述环形缓冲区的输出判定为准备就绪之后,将所述一个或多个帧输出至所述前向纠错解码器。
7.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:
对所述一个或多个帧判定为已在所述环形缓冲区中存储了预设的一段时间之后,将所述一个或多个帧输出至所述前向纠错解码器。
8.一种用计算设备解码视频位流的系统,包括:
一个环形缓冲区,用于接收所述视频位流所包含的数个帧所关联的一个或多个数据包、将所述一个或多个数据包关联至所述数个帧中的一个或多个帧、并基于所述一个或多个数据包判断是否输出所述一个或多个帧;
一个前向纠错解码器,用于接收所述环形缓冲区输出的所述一个或多个帧、对所述一个或多个帧执行前向纠错、并输出所述一个或多个帧;
一个解码器,用于接收所述前向纠错解码器输出的所述一个或多个帧、解码所述一个或多个帧、并输出所述一个或多个帧;
一个渲染器,用于接收所述解码器输出的所述一个或多个帧、并渲染所述一个或多个帧用于显示。
9.根据权利要求8所述的系统,其特征在于,所述系统进一步包括:
对所述一个或多个数据包所关联的所述一个或多个帧判定为没有存储于所述环形缓冲区之后,丢弃所述一个或多个数据包。
10.根据权利要求8所述的系统,其特征在于,所述系统进一步包括:
对所述一个或多个数据包所关联的所述一个或多个帧判定为先于所述环形缓冲区中的最先帧之后,丢弃所述一个或多个数据包。
11.根据权利要求8所述的系统,其特征在于,所述系统进一步包括:
对所述环形缓冲区中存储的所述一个或多个帧判定为完整之后,将所述一个或多个帧输出至所述前向纠错解码器。
12.根据权利要求11所述的系统,其特征在于,所述系统进一步包括:
判断所述环形缓冲区中存储的所述一个或多个帧是否完整,包括在所述环形缓冲区中接收到所述一个或多个帧所关联的所有数据包。
13.根据权利要求8所述的系统,其特征在于,所述系统进一步包括:
对所述一个或多个帧所包含的一个帧编号判定为等于上一个输出的帧编号加一、且对所述一个或多个帧从所述环形缓冲区的输出判定为准备就绪之后,将所述一个或多个帧输出至所述前向纠错解码器。
14.根据权利要求8所述的系统,其特征在于,所述系统进一步包括:
对所述一个或多个帧判定为已在所述环形缓冲区中存储了预设的一段时间之后,将所述一个或多个帧输出至所述前向纠错解码器。
15.一种用于解码视频位流的装置,包括:
一个存储器;
一个处理器,用于执行所述存储器所存储的指令以:
在一个环形缓冲区中,接收所述视频位流所包含的数个帧所关联的一个或多个数据包;
判断所述数个帧中是否有一个或多个帧与所述一个或多个数据包有关联;
如果所述一个或多个帧与所述一个或多个数据包有关联,基于所述一个或多个数据包,判断是否从所述环形缓冲区将所述一个或多个帧输出至一个前向纠错解码器;
决定将所述一个或多个帧输出至所述前向纠错解码器之后,
对所述一个或多个帧执行前向纠错,
将所述一个或多个帧从所述前向纠错解码器输出至一个解码器。
16.根据权利要求15所述的装置,其特征在于,所述装置进一步包括:
对所述一个或多个数据包所关联的所述一个或多个帧判定为没有存储于所述环形缓冲区之后,丢弃所述一个或多个数据包。
17.根据权利要求15所述的装置,其特征在于,所述装置进一步包括:
对所述一个或多个数据包所关联的所述一个或多个帧判定为先于所述环形缓冲区中的最先帧之后,丢弃所述一个或多个数据包。
18.根据权利要求15所述的装置,其特征在于,所述装置进一步包括:
对所述环形缓冲区中存储的所述一个或多个帧判定为完整之后,将所述帧输出至所述前向纠错解码器。
19.根据权利要求18所述的装置,其特征在于,所述装置进一步包括:
判断所述环形缓冲区中存储的所述一个或多个帧是否完整,包括在所述环形缓冲区中接收到所述一个或多个帧所关联的所有数据包。
20.根据权利要求15所述的装置,其特征在于,所述装置进一步包括:
对所述一个或多个帧所包含的一个帧编号判定为等于上一个输出的帧编号加一、且对所述一个或多个帧从所述环形缓冲区的输出判定为准备就绪之后,将所述一个或多个帧输出至所述前向纠错解码器。
CN201610514724.7A 2015-11-18 2016-06-30 使用环形缓冲区的视频数据处理 Active CN106131580B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/944,380 US10506245B2 (en) 2015-11-18 2015-11-18 Video data processing using a ring buffer
US14/944,380 2015-11-18

Publications (2)

Publication Number Publication Date
CN106131580A true CN106131580A (zh) 2016-11-16
CN106131580B CN106131580B (zh) 2019-04-05

Family

ID=57468975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610514724.7A Active CN106131580B (zh) 2015-11-18 2016-06-30 使用环形缓冲区的视频数据处理

Country Status (2)

Country Link
US (1) US10506245B2 (zh)
CN (1) CN106131580B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114245127A (zh) * 2021-12-13 2022-03-25 北京百度网讯科技有限公司 一种云桌面编码器的参数调整方法、装置、设备及介质
CN114531936A (zh) * 2019-09-25 2022-05-24 米沙洛公司 用于数据的鲁棒传输的包有效载荷映射

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107592540B (zh) * 2016-07-07 2020-02-11 腾讯科技(深圳)有限公司 一种视频数据处理方法及装置
WO2018205051A1 (en) * 2017-05-06 2018-11-15 Qualcomm Incorporated Rate-matching scheme for polar codes
CN114095130A (zh) * 2017-06-26 2022-02-25 深圳市道通智能航空技术股份有限公司 无人机及其地面站、数据传输方法
US11012690B2 (en) * 2019-08-21 2021-05-18 Tencent America LLC Method and apparatus for video coding
CN111131075A (zh) * 2019-11-21 2020-05-08 武汉兴图新科电子股份有限公司 一种高并发数据包缓冲方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594736A (en) * 1993-12-24 1997-01-14 Sharp Kabushiki Kaisha Image-information storage regenerating device
US7042948B2 (en) * 2001-03-05 2006-05-09 Intervideo, Inc. Systems and methods for management of data in a ring buffer for error resilient decoding of a video bitstream
US20120030769A1 (en) * 2008-10-24 2012-02-02 Manufacturing Resources International, Inc. System and Method for Securely Transmitting Video Data
CN104375952A (zh) * 2013-08-14 2015-02-25 南宁市跃龙科技有限公司 一种从环形缓冲区读取数据的方法
CN104703051A (zh) * 2014-01-06 2015-06-10 杭州海康威视数字技术股份有限公司 码流发送方法和装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5724091A (en) * 1991-11-25 1998-03-03 Actv, Inc. Compressed digital data interactive program system
US5398072A (en) * 1993-10-25 1995-03-14 Lsi Logic Corporation Management of channel buffer in video decoders
EP0924023B1 (de) 1997-12-22 2003-05-21 ALSTOM (Switzerland) Ltd Verfahren zur Einbringung eines Ausnehmungsabschlusses in ein Bauteil
US6570579B1 (en) 1998-11-09 2003-05-27 Broadcom Corporation Graphics display system
DE60104353T2 (de) 2000-04-07 2005-07-21 Ntt Docomo Inc. Verfahren und Einrichtung zur Reduktion des Verzögerungsjitters in der Datenübertragung
US7272299B2 (en) * 2000-12-08 2007-09-18 Matsushita Electric Industrial Co., Ltd. Data conversion apparatus, data coding apparatus, and data recording apparatus
TWI265697B (en) 2002-06-06 2006-11-01 Ibm Digital contents distribution system, digital contents distribution method, computer readable recording medium storing the program therein, and server and client therefor
US8161388B2 (en) * 2004-01-21 2012-04-17 Rodriguez Arturo A Interactive discovery of display device characteristics
CN1960315B (zh) 2005-10-31 2010-08-25 康佳集团股份有限公司 流媒体去抖动方法
CN101516038B (zh) 2005-12-13 2012-11-28 松下电器产业株式会社 数据处理装置
TW200835303A (en) * 2006-09-07 2008-08-16 Avocent Huntsville Corp Point-to-multipoint high definition multimedia transmitter and receiver
CN101438541B (zh) * 2006-09-20 2011-12-07 松下电器产业株式会社 中继传输设备以及中继传输方法
EP1936854B1 (en) 2006-12-20 2013-11-06 Alcatel Lucent Retransmission-based DSLAM and xDSL modem for lossy media
US8081635B2 (en) 2008-10-08 2011-12-20 Motorola Solutions, Inc. Reconstruction of errored media streams in a communication system
US20110289544A1 (en) 2010-05-19 2011-11-24 Goosen Hendrik A Video streaming system including a fast channel change mechanism
US9998890B2 (en) 2010-07-29 2018-06-12 Paul Marko Method and apparatus for content navigation in digital broadcast radio
EP2619982A2 (en) 2011-01-21 2013-07-31 Siemens Aktiengesellschaft Method for processing a compressed video stream
JP2013013003A (ja) * 2011-06-30 2013-01-17 Brother Ind Ltd データ処理装置、データ処理方法、およびデータ処理プログラム
US9210419B2 (en) * 2011-09-30 2015-12-08 Netscout Systems, Inc. System and method for diagnostic modeling of audio and video quality of service
US9756356B2 (en) * 2013-06-24 2017-09-05 Dialogic Corporation Application-assisted spatio-temporal error concealment for RTP video
US9942119B2 (en) 2013-09-19 2018-04-10 Binauric SE Adaptive jitter buffer
US9537779B2 (en) * 2013-10-11 2017-01-03 Huawei Technologies Co., Ltd. System and method for real-time traffic delivery
US20170007074A1 (en) * 2015-07-09 2017-01-12 Giuseppe DiFiore Single Use Insulated Expandable Food Delivery Bag
US10547860B2 (en) * 2015-09-09 2020-01-28 Avago Technologies International Sales Pte. Limited Video coding with trade-off between frame rate and chroma fidelity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594736A (en) * 1993-12-24 1997-01-14 Sharp Kabushiki Kaisha Image-information storage regenerating device
US7042948B2 (en) * 2001-03-05 2006-05-09 Intervideo, Inc. Systems and methods for management of data in a ring buffer for error resilient decoding of a video bitstream
US20120030769A1 (en) * 2008-10-24 2012-02-02 Manufacturing Resources International, Inc. System and Method for Securely Transmitting Video Data
CN104375952A (zh) * 2013-08-14 2015-02-25 南宁市跃龙科技有限公司 一种从环形缓冲区读取数据的方法
CN104703051A (zh) * 2014-01-06 2015-06-10 杭州海康威视数字技术股份有限公司 码流发送方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114531936A (zh) * 2019-09-25 2022-05-24 米沙洛公司 用于数据的鲁棒传输的包有效载荷映射
CN114245127A (zh) * 2021-12-13 2022-03-25 北京百度网讯科技有限公司 一种云桌面编码器的参数调整方法、装置、设备及介质
CN114245127B (zh) * 2021-12-13 2024-03-19 北京百度网讯科技有限公司 一种云桌面编码器的参数调整方法、装置、设备及介质

Also Published As

Publication number Publication date
US20170142433A1 (en) 2017-05-18
US10506245B2 (en) 2019-12-10
CN106131580B (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
CN106131580A (zh) 使用环形缓冲区的视频数据处理
US20220353534A1 (en) Transform Kernel Selection and Entropy Coding
US9210432B2 (en) Lossless inter-frame video coding
CN107534669A (zh) 用于多用户视频会议的单一流传输方法
US11558631B2 (en) Super-resolution loop restoration
CN107027032B (zh) 最后帧运动向量分区方法和装置
JP6767488B2 (ja) 参照フレームのバッファ追跡を通じた動きベクトル参照の選択
CN106162199A (zh) 带反向信道消息管理的视频处理的方法和系统
CN103313051A (zh) 视频解码方法及其系统
CN107231557A (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排
US9369732B2 (en) Lossless intra-prediction video coding
CN104704826A (zh) 两步量化和编码方法和装置
CN113132728B (zh) 编码方法及编码器
CN108076342A (zh) 用于编码视频的方法和编码器系统
US11277608B2 (en) Method and apparatus for intra prediction
CN106131565A (zh) 使用联合抖动‑帧缓冲区的视频解码及渲染
CN106358042A (zh) 使用视频图像的帧间预测的并行解码器
WO2022100173A1 (zh) 一种视频帧的压缩和视频帧的解压缩方法及装置
US11445181B2 (en) Method and apparatus for predicting most probable intra-modes
CN110731082B (zh) 使用反向排序来压缩视频帧组
CN106101702B (zh) 带反向信道消息管理的视频编码及解码
CN110692247A (zh) 复合运动补偿的预测
CN117793355A (zh) 多媒体数据处理方法、装置、设备及存储介质
CN115699745A (zh) 图像编解码方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231207

Address after: 310012 801-11, Section B, floor 8, No. 556, Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee after: Alipay (Hangzhou) Information Technology Co.,Ltd.

Address before: Unit B702, Building 1, Creative Industry Park, No. 328 Xinghu Street, Suzhou Industrial Park, Suzhou City, Jiangsu Province, 215000

Patentee before: Cybrook Inc.