CN101341754A - 媒体编码器与解码器之间的反馈和帧同步 - Google Patents

媒体编码器与解码器之间的反馈和帧同步 Download PDF

Info

Publication number
CN101341754A
CN101341754A CNA2006800463242A CN200680046324A CN101341754A CN 101341754 A CN101341754 A CN 101341754A CN A2006800463242 A CNA2006800463242 A CN A2006800463242A CN 200680046324 A CN200680046324 A CN 200680046324A CN 101341754 A CN101341754 A CN 101341754A
Authority
CN
China
Prior art keywords
frame
speed cache
decoder
encoder
control bit
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
CNA2006800463242A
Other languages
English (en)
Other versions
CN101341754B (zh
Inventor
W·V·巴克利
R·J·克林恩
C-L(B)·林
T·M·穆尔
W·钟
M(J)·夏
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101341754A publication Critical patent/CN101341754A/zh
Application granted granted Critical
Publication of CN101341754B publication Critical patent/CN101341754B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • 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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/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
    • 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/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25825Management of client data involving client display capabilities, e.g. screen resolution of a mobile phone
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0026Transmission of channel quality indication

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Quality & Reliability (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

描述了媒体编码器与解码器之间的反馈和帧同步。更具体而言,编码器可编码基于将被发送到解码器的源内容的帧。编码器可确定是否应该由编码器和解码器对帧进行高速缓存。如果将对帧进行高速缓存,则编码器可通过用一个或多个高速缓存控制位对帧进行编码来如此指示。解码器可接收来自编码器的帧,并可检查该高速缓存控制位以确定是否对该帧进行高速缓存。解码器还可解码该帧。

Description

媒体编码器与解码器之间的反馈和帧同步
背景
各种形式的媒体编码器和解码器允许媒体在网络中从一点发送到另一点。编码器与解码器的协作装置在本文中被称为“编解码器”。此外,本文同义地使用术语“译码器”和“编码器”。
一般地,编码器可与多个解码器交互或协作。所有这些解码器可被配置为相同或不相同,或具有相同的处理能力。此外,一般不将解码器配置为向编码器提供解码器中的特定一个的诸如特性、特征、能力等信息。在该环境下,编码器可向解码器发送数据,就好像所有解码器都是同类的实体一样,虽然这些解码器可能不是。
网络一般代表有损信道,从而经由这种网络发送的一些量的数据将被损坏、破坏、或全部丢失。已提出了各种用于从这种数据丢失或损坏中恢复的方案。这些恢复方案中的某一些可涉及重发丢失或破坏的数据的整个副本。因此,这些恢复方案可能不必要地消耗网络带宽。
概述
描述了允许媒体编码器与解码器之间的反馈和帧同步的系统和/或方法(“工具”)。更具体而言,编码器可对基于将被发送到解码器的源内容的帧进行编码。编码器可确定是否应该由编码器和解码器对帧进行高速缓存。如果将对帧进行高速缓存,则编码器可通过用一个或多个高速缓存控制位对帧进行编码来如此指示。解码器可接收来自编码器的帧,并可检查高速缓存控制位以确定是否对该帧进行高速缓存。解码器还可解码该帧。
提供本概述以便用简化的形式介绍在以下详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键或必要特征,它亦非旨在用于帮助确定所要求保护的主题的范围。
附图简述
图1是示出适用于执行媒体编码器与解码器之间的反馈和帧同步的操作环境的框图。
图2是示出一数据结构的框图,该数据结构的至少部分可适用于实现如图1中所示的帧的各实例。
图3是示出一数据结构的框图,该数据结构的至少部分可适用于实现如图1中所示的反馈信道的各实例。
图4是示出用于接收帧、将新帧与之前的显示进行合并以产生经更新的显示、对帧进行高速缓存、将新帧与高速缓存中的内容进行合并以产生经更新的显示的操作环境的框图。
图5是示出可被执行以对帧进行编码以及响应帧损失报告的处理流程的流程图。
图6是示出用于处理例如由解码器接收到的帧的处理流程的流程图。
贯穿本公开内容以及附图使用相同的附图标记来表示相同的组件和特征。
详细描述
概述
下文描述了许多技术和过程可用的系统和/或方法(“工具”)。以下讨论描述了其中该工具允许媒体编码器与解码器之间的反馈和帧同步的示例性方法。该讨论还描述了其中该工具也执行其它技术的方法。
本文件为方便起见被组织成多节,且为方便起见而非限制,使用所选择的标题来介绍各节。首先描述用于执行媒体编码器与解码器之间的反馈和帧同步的说明性操作环境。其次描述说明性数据结构,接着是说明性数据流。最后描述说明性处理流程。
为便于说明和讨论,本文使用术语“分组”和“帧”。为进一步方便起见,可假定所有帧都适合于一个分组的净荷,且因此在讨论给定帧与下一帧的划分时,分组的数量等于帧的数量。
操作环境
在详细描述该工具之前,提供一示例性操作环境的以下讨论以帮助读者了解其中可使用该工具的各方面的一种方法。下述的环境仅组成一个示例,而非旨在将该工具的应用限于任一特定操作环境。可使用其它环境而不背离所要求保护的主题的精神和范围。
图1一般地在100处示出一个这样的操作环境。操作环境100可包括具有一个或多个处理器104a以及计算机可读媒体106a的工作站102a。工作站102a可包括诸如蜂窝电话、台式计算机、个人数字助理、服务器等计算设备。处理器104a可被配置成访问和/或执行计算机可读媒体106a。计算机可读媒体106a可包括编码器108或具有对其的访问,编码器108可被实现为能够与启用网络的实体交互的模块、程序、或其它实体。
编码器108可用于将源内容110编码成多个相应帧112。源内容110可采用诸如以演说者或其它表演者为特征的现场陈述等任意数量的不同形式。源内容110可以是视频和/或音频会议。最后,源内容110可以是诸如音频或视频媒体等预先存在的或预先录制的媒体。
操作环境100还可包括网络114以及相关的服务器116。网络114允许工作站102与服务器116之间的通信,并且可包括诸如因特网或企业内联网等全球的或局域的有线或无线网络。应了解,编码器108可用于使用适合于网络114上的传输的协议来将源内容110编码为帧112。
服务器116可包括单个服务器或诸如服务器农场(server farm)等多个服务器,然而服务器116还可包括附加服务器或能与其它实体进行通信或管控单独的服务器(例如,用于负载平衡)的非服务器实体。示出服务器116具有串行或并行地操作以服务例如来自工作站102的请求的三个分离的服务器116a、116b、以及116c。
网络114可用于将帧112从工作站102a发送到至少一个附加工作站102b。应了解,网络114不可能完美地将所有帧112从工作站102a发送到工作站102b。因此,图1中的附图标记112表示离开工作站102a时的帧,而附图标记118表示从网络114出来并提供给工作站102b时的帧。与帧118相比,一些帧112可能在通过网络114的传输期间丢失、失真、或者是损坏了。因此,如果一些帧112丢失了,则接收到的帧118可被视为发送的帧112的子集。此外,如果一些帧112被损坏,则接收到的帧118可被视为损坏状态的发送的帧112。
更详细地转到工作站102b,其也可类似于上述的工作站102a来实现。因此,工作站102b可包括处理器104b以及计算机可读媒体106b。计算机可读媒体106b可包括解码器120或具有对其的访问。
解码器120可用于对从工作站102a经由网络114接收到的帧118进行接收并解码。解码器120可使用与编码器108之前用来编码帧112相同的协议来解码帧118。如果解码器120确定帧118相对于帧112并未损坏、破坏、或丢失,则解码器可将这些帧118解码成已解码内容122。
已解码内容122表示在工作站102b上再现的源内容110。例如,如果源内容110是现场陈述,则已解码内容122可表示经由工作站102b所显示的陈述。如果源内容110是口头会议相关的音频或视频流,则已解码内容122可以是另一位会议参与者所听到或看到的音频或视频流。作为另一示例,如果源内容110是预先存在或预先录制的媒体,则已解码内容122可表示经由工作站102b所显示的媒体。
通过提供以上描述,应了解,操作环境100并不限于单向特性。相反,工作站102a可在某些时间发送特定源内容110,而工作站102b可在其它时间发送其它源内容110。因此,本文图1以及其它附图中所示的数据流仅是说明性的而非限制。
回到解码器120的处理,如果解码器120确定帧118中的某一些在通过网络114传输期间被损坏或破坏,或者帧112中的某一些丢失且从未到达工作站102b,则解码器120可相应地向编码器108报告。更具体而言,解码器120可使用反馈信道124向编码器108报告。反馈信道124可至少部分地使用网络114来实现,然而用于编码数据和/或经由反馈信道124发送数据的协议与用于编码和/或发送帧112以及118的协议可能相同或不同。经由网络114移动通过反馈信道124的数据用附图标记124a以及124b来表示。由于网络中的错误或其它问题,出于帧112可能异于帧118的相同原因,数据124a与124b可能稍微不同。
在接收到丢失、破坏或损坏的帧112或118的报告后,编码器108可向解码器120发送纠正的或替换帧112。应了解,可重复该报告破坏的帧以及发送纠正的或替换帧112的过程,直到解码器120具有适于解码帧118的信息,以便在工作站102b上产生已解码内容122。
以下详细描述反馈信道124的用于报告帧损失的附加方面。然而,反馈信道124也可允许解码器120将关于其自身、其配置或其它相关参数的信息传送回编码器108。有了这一关于解码器120的信息,编码器108可相应地调整或优化其编码过程。反馈信道124的用于报告关于解码器120的信息的这些方面还在以下进行进一步的描述。根据前面的描述,反馈信道124可向解码器120提供带外信道以与编码器108进行通信。
应了解,在图1中仅示出一个工作站104b以及相关的解码器120仅是为了清晰和易读起见,而并不限制操作环境100的可能实现。特别地,应注意,可包含任意数量的不同工作站104b以及相应的解码器120,且不同的工作站104b和解码器120具有不同的配置、特征、容量、能力、或其它特性。例如,不同的工作站104b可支持不同的色深度、像素分辨率、显示尺寸、或处理源内容110和/或已解码内容122的其它方面。还应了解,每个工作站104b和/或解码器120可具有相应的反馈信道124。使用该反馈信道124,工作站104b和/或解码器120可提供与其本地环境密切相关的具体本地信息返回给编码器108。
数据结构
本文所描述和示出的工具可使用数据结构作为其实现和/或操作的一部分以执行媒体编码器与解码器之间的反馈和帧同步。现在描述这样的数据结构的示例。
图2示出数据结构200,其至少部分可适用于实现如图1中所示的帧112和/或118的各实例。仅作为示例,假定编码器108和解码器120实现实时传输协议(RTP),则对于给定的帧112和/或118,数据结构200可包含用于RTP标准头的字段205,以及包含被认为是帧112和/或118的净荷的数据的字段210。此外,数据结构200可包含用于附加头数据的字段215。包含在字段215中的数据可认为是对编码器108和解码器120所使用的基本协议的扩展。在图2中所示的示例中,该协议可以是RTP,但应了解,其它协议也是同样可适用的。
更详细地转到字段215,图2示出对于特定帧112和/或118可包含在字段215中的数据的几个示例。子字段220可包含一个或多个高速缓存控制位。这些高速缓存控制位220允许编码器108控制和/或管理解码器120对特定帧112和/或118进行的高速缓存。这些位220可支持编码器108与各解码器120之间的帧恢复和同步操作。以下详细描述这一帧高速缓存操作。
对给定的帧112和/或118,子字段222可指示该帧是什么类型。图2示出三种类型的帧,但应了解,也可实现其它类型的帧,且所实现的帧可不同于本文所述地来命名或标记。
如子字段222中所示,I帧表示整个的、自包含(self-contained)的内容帧,例如音频或视频。I帧是“独立的”,且可由解码器120不参考任意其它先前或将来的帧而进行解码和再现。
P帧表示音频或视频的当前状态与前一I帧之间的差值。因此,P帧可被称为是参考前一I帧。由于P帧包含仅表示相对于该前一I帧的差值的数据,因此P帧一般比I帧小得多。为节省网络114上的带宽,尽可能多地使用P帧可能是适当的。当源内容110展示出随着时间相对较小的运动时,编码器108可使用一系列P帧,因为在这种情况下,连续帧之间的差值一般相对较小且可容易用P帧来表示。但是当源内容110展示出随着时间相对显著的运动或展示出场景或上下文的大量变化时,编码器108可使用一个或多个I帧来设置新的场景或上下文。此外,可将工作站102b和/或解码器120所经历的损失率报告给工作站102a和/或编码器108。编码器108进而在确定是向解码器120发送I帧还是P帧时可考虑由解码器120报告的损失率。此外,所报告的损失率可以是在控制帧速率、比特率、质量、以及是否发送超P帧时的一个因素。
子字段222还可支持附加类型的帧112和/或118,为方便而非限制,本文将之称为超P帧。超P帧类似于P帧,因为它定义了内容相对于该内容前一状态的变化。但是,超P帧参考在解码器120中本地维护的高速缓存的内容而非参考前一帧。以下进一步详细描述该高速缓存操作。
子字段224可包含对于给定帧112和/或118的索引或其它类型的唯一标识符。例如,子字段224的内容可采用帧或分组的序列号、唯一时间戳、给定帧112和/或118在源内容110的上下文中的偏移量或位置、给定帧112和/或118相对于源内容110的开始的位移等形式。
无论什么形式的子字段224的内容都可由编码器108在工作站104a处将源内容110编码成帧112时填充。在工作站104b处,当对多个帧118进行解码并组装成已解码内容122时,解码器120可参考给定帧118的子字段224的内容。更具体而言,当呈现已解码内容122时,子字段224的内容可允许解码器120将帧118组装成合适的顺序。此外,解码器120可至少部分地使用子字段224的内容以确定由编码器108发送的一个或多个帧112是否在通过网络114传输到工作站104b的期间丢失。
作为上述内容的一个示例,解码器120可接收到具有诸如A、B和D等标识符224的帧118的给定序列。然而,解码器120可能期望这三个帧118的标识符224为A、B和C。如果解码器120在一段时间内未接收到帧C,则解码器120可断定对应于预期的帧C的帧112永远不会到达,且在网络114中丢失。因此,解码器120可通过例如反馈信道124向解码器120报告分组C丢失。
子字段226可包含涉及由编码器108基于特定解码器120的特性或配置执行的色空间转换的数据。从图1的以上讨论可回忆起,解码器120的特定实例可将涉及其本地色彩显示能力或特征的信息例如经由反馈信道124传送回编码器108。响应于来自特定解码器120的该反馈,编码器108可特别地修改发送到特定解码器120中的每一个的帧112。涉及由编码器108代表给定解码器120执行的特定色彩转换的任意数据都可存储在子字段226中。例如,源内容110可在256色的说明性范围内被捕获并呈现给编码器108。但如果给定的解码器120仅能支持和显示16色,则向该给定解码器120发送支持256色的帧112是无用的。因此,通过包含在子字段226中的数据,编码器108可指示解码器120如何将帧112中所表示的色彩转换为解码器120支持的色彩。此外,或代替前述内容,为了解码器120的利益,编码器108可通过子字段226中的数据来指示编码器108在帧112中是如何转换色彩的。
子字段228可包含涉及由编码器108代表特定解码器120执行的任意像素分辨率转换的数据。从图1的以上讨论可回忆起,解码器120的特定实例可将诸如其像素分辨率等数据经由例如反馈信道124传送回编码器108。参考以上关于色深度的子字段226的讨论,子字段228可允许关于像素分辨率的类似处理。例如,源内容110可用相对较高的像素密度被捕获并呈现给编码器108。但解码器120中的一个或多个可能不支持这么高的像素密度,且不同的解码器120可能支持不同的像素密度。因此,编码器108可根据不同解码器120的能力来优化发送到不同解码器120的不同帧112的像素密度。因此,子字段228可包含涉及由编码器108执行的任意像素分辨率转换,或涉及在处理帧118时应由解码器120执行的任意转换的任意信息。
已经描述了字段205-215以及子字段220-228的前述示例,应了解,数据结构200的各种实现可包含这些示例字段205-215或子字段220-228中的一个或多个,或可包含与图2所示的不同的其它数据、字段、或子字段。此外,数据结构200的字段或子字段的布局、名称以及配置仅是说明性的,并且仅是为了便于说明和描述而选用的,而并不限制数据结构200的可能实现。还应了解,数据结构200的给定实例可与特定帧112相关联,但数据结构200的每一实例并不需要填充如图2中所示的每个字段和/或子字段。
图3示出数据结构300,其至少部分可适用于实现如图1中所示的反馈信道124的各实例。更具体而言,使用数据结构300至少可部分地方便从解码器120的各实例到编码器108的数据传输。
更详细地转到数据结构300,字段305可包含报告各解码器120所经历的本地帧或分组损失率的数据。该损失率可表示为例如特定解码器120所经历的每时间单位所丢失的帧的数量。有了该信息,编码器108可选择向解码器120发送I帧或P帧的频率。此外,该信息可允许编码器108确定指引或指示解码器120对特定帧112/118进行高速缓存的时间和频率。以下将结合图4-6对这些高速缓存操作进行讨论。
字段310可包含报告特定帧112/118的损失的数据。报告帧损失时,解码器120可参考诸如之前关于图2中所示的子字段224所讨论的数据。可以回忆,子字段224可包含对于特定帧112/118的标识信息。例如,如果解码器120觉察到缺少了一个或多个帧112,则解码器120可报告实际接收到的帧118的序列,从而编码器108可确定丢失了哪些帧112。在另一示例中,解码器120可估计或确定对于觉察到的缺少的帧112的标识信息。
字段315可包含表示特定解码器120所支持的本地像素分辨率的数据。响应于解码器120所报告的数据315,编码器108可转换发送到解码器120的帧112/118的像素分辨率,可指示解码器120如何转换帧112/118的像素分辨率,或可执行其它相关处理。任意前述内容都可结合图2中所示的子字段228来执行。
字段320可包含表示特定解码器120所支持的本地色深度的数据。响应于解码器120所报告的数据315,编码器108可转换发送到解码器120的帧112/118的色深度,可指示解码器120如何转换帧112/118的色深度,或可执行其它相关处理。任意前述内容都可以结如图2中所示的子字段226来执行。
已经描述了字段305-320的前述示例,应了解,数据结构300的各种实现可包含这些示例字段305-320中的一个或多个,或可包含与图3所示的不同的其它数据、字段、或子字段。此外,数据结构300的字段的布局、名称以及配置仅是说明例性的,并且仅是为了便于说明和描述而选用的,而并不限制数据结构300的可能实现。还应了解,数据结构300的给定实例可与从解码器120发送到编码器108的数据的特定实例相关联。但数据结构300的每一实例并不需要填充如图3中所示的每个字段。
数据流
本文所描述的工具可实现适用于执行媒体编码器与解码器之间的反馈和帧同步的数据流。现结合另一操作环境来描述一说明性数据流。
图4示出用于接收帧118、将新帧118与先前的显示进行合并以产生经更新的显示、对帧118进行高速缓存、将新帧118与高速缓存中的内容进行合并以产生经更新的显示的操作环境400。操作环境400可至少部分地由工作站104b和/或解码器120来实现,但操作环境400的各方面同样也可由其它组件或工具来实现。
假定在时刻(T1)处接收到帧118a。可以回忆,帧118可如以上结合图2所述地与数据结构200的各实例相关联。还假定帧118a的数据结构200的字段222指示帧118a是I帧。由于帧118a是I帧,因此帧118a可直接呈现在例如与工作站104b相关联的显示402上。为方便起见,由于其在呈现I帧118a时可保持不变,因此显示402在图4中被表示为显示402a。
从图2的讨论中回忆起,对于帧112/118的数据结构200可包含高速缓存控制位220。出于描述操作环境400的目的,假定数据结构200包含两个高速缓存控制位220。可将第一高速缓存控制位标记为“高速缓存”,而可将至少一个第二高速缓存控制位标记为“使用高速缓存”。对于给定帧118,可设置或激活这些位中的一个或两者。
首先转到“高速缓存”位,当对于给定帧112/118设置该位时,该位指引解码器120将帧112/118或由于帧112/118而产生的显示存储到由工作站104b和/或解码器120本地维护的高速缓存404中。因此,在图4中所示的示例中,如框406中所示,假定I帧118a的“高速缓存”位被设置或激活。因此,I帧118a可被呈现为显示402a,并被存储到高速缓存404中。
操作环境400的一些实现可默认地对I帧112/118的所有实例进行高速缓存。操作环境400的其它实现可仅对其“高速缓存”位被设置或激活的那些I帧112/118进行高速缓存。
假定在时刻(T2)处帧118b到达,且其帧类型222指示其为P帧。可以回忆,P帧表示源内容110的当前状态与某一先前的参考帧之间的差值。因此,如结合框408a所表示的,将帧118b的内容与先前的显示402a合并。该合并408a得到经更新的显示402b。
已经描述了P帧118b的处理,一般应注意,P帧118的“高速缓存”位可被设置或激活。在这种情况下,在操作环境400的某些实现中,可将P帧118自己的内容存储在高速缓存404中。在其它实现中,可对因P帧(如帧118b)的合并所得到的显示(如显示402b)进行高速缓存。
假定在时刻(T3)处帧118c到达,且其帧类型222指示其为P帧。在这种情况下,如由合并框408c所表示的,将帧118c的内容与先前的显示402b进行合并。合并408c得到经更新的显示402c。然而,前述内容假定帧118c实际到达了操作环境400。如果帧118c未到达操作环境400,则将没有经更新的显示402c。此外,在操作环境400检测到帧损失时,先前的显示402b可能已经过期或者变得过时。在这种情况下,可向编码器108通知帧损失。参见例如框310以及图3的相关讨论。
响应于帧损失报告310,编码器108可发送替换P帧118d。假定操作环境400在时刻(T4)处接收到该替换P帧118d。如框410所示,对于替换P帧118d的高速缓存控制位220的“使用高速缓存”位可被设置或激活。这指引操作环境400将当前P帧118d与高速缓存404的内容而非先前的显示进行合并。该从高速缓存的合并一般地由合并框408c来表示。
由于该替换P帧118d是相对于高速缓存的参考帧而非前一I帧进行编码的,因此此处如上所讨论地将该P帧118d称为超P帧。编码器108基于高速缓存的参考来编码超P帧118d,且因此超P帧118d比替换I帧118可能的大小要小很多。因此,发送超P帧118d来补偿帧损失比发送替换I帧118消耗了更少的带宽。
在某些实现中,如果损坏的帧足够接近将到达解码器120的下一I帧118e,则编码器108可以不发送超P帧118d。在这样的实现中,解码器120可等待该下一I帧118e。可使用指定该损坏的帧相对于下一I帧118e应该多接近时才发生该处理的一个或多个设置来配置解码器120。
在将超P帧118d与高速缓存404的内容进行合并后,得到显示402d。图4还描绘了在时刻(T5)处新I帧118e的到达,从而得到新的显示402e。
应注意,图4示出一个高速缓存404仅是为了便于说明和描述。可由编码器108和/或解码器120提供附加的高速缓存404,使得可由编码器108和/或解码器120存储并保留多个参考帧112/118。这多个参考帧112/118在其中一个或多个高速缓存的帧112/118被损坏或丢失的情况下是有用的。如果实现多个高速缓存404,则可实现附加的高速缓存控制位(如图2中的高速缓存控制位220)以适当地规定或指示使用哪个高速缓存404来编码给定的替换帧112/118。
此外,应注意,高速缓存控制位220提供一种用于允许编码器108指示解码器120如何处理替换帧112/118的高速缓存以及相关同步的手段。最后,编码器108以及解码器120处高速缓存的参考帧以及从其编码的替换帧112/118提供一种用于同步编码器108与解码器120的处理的手段。
处理流程
本文所述的工具可实现各种处理流程来执行媒体编码器与解码器之间的反馈和帧同步。现描述这样的处理流程的示例。
图5示出可被执行以对帧进行编码并响应分组损失报告的处理流程500。在此结合编码器108来描述处理流程500。但应了解,流程500可在除编码器108之外的设备或组件上实现而不背离本文的描述的精神和范围。
框502对来自源内容110的一个或多个帧进行编码。框504评价是否要对当前帧112进行高速缓存以供以后可能的参考。如果将对帧112进行高速缓存,则框506对当前帧112设置“高速缓存”位。可以回忆起,“高速缓存”位可被实现为如图2中所示的高速缓存控制位220的一部分。框508对当前帧112进行高速缓存用于以后参考。例如,可由编码器108来对当前帧112进行高速缓存。框510向解码器120发送当前帧112。以下将结合图6描述在例如解码器120处的帧112的说明性处理。
回到框504,如果将不对当前帧112进行高速缓存,则框512对于该帧112清除“高速缓存”位。在一些情况下,当帧112被实例化时,可将“高速缓存”位初始化为设置或清除状态。在这种情况下,如果不需要将“高速缓存”位的状态从其初始化状态进行改变,则可不执行框512或506。
在框512后,处理流程500如上所述地前进到框510。在执行框510后,处理流程500可回到框502以处理其中编码了源内容110的下一帧112。应了解,处理流程500可适当地循环通过框502-512以将源内容110编码到合适的帧112中。
在框502-512的处理期间的任意时刻,框514可接收帧损失报告310。框514可在处理流程500内的任意点处发生。处理流程500还可在相对于框502-512的任意点处测试并响应帧损失报告310的接收。此外,处理流程500可将框514实现为中断,从框502-512内的某点分支以服务该中断,将框516-522(如下所述)作为中断服务例程来执行,以及回到框520-512中接收到中断的点。为便于说明,图5示出当接收到帧损失报告310时,不管处理流程500在框502-512内何处,处理流程500都分支到框514。
框516参考之前在框508中高速缓存的帧。框518相对于或参考该高速缓存的帧来编码新的P帧。框520设置该新的P帧的“使用高速缓存”位,如果该位还未设置。可以回忆起,图2中所示和讨论的高速缓存控制位220可包含“使用高速缓存”位,其指示例如解码器120在更新当前显示402时参考高速缓存404中的内容而非当前显示402。仅为了方便起见,本文将该新的P帧称为超P帧。框522向解码器120发送该超P帧以允许以后补偿框514中所报告的帧的损失。
图6示出用于处理例如由解码器120所接收到的帧的处理流程600。虽然本文结合诸如解码器120以及编码器108等工具来描述处理流程600,但处理流程600的其它实现也可使用其它工具来实现而不背离本文的描述的精神和范围。
框602接收例如由图5中所示的框510所发送的帧118。框604测试接收到的帧118是否损坏,或是否期望接收不同的帧118。对于帧损坏,框604可通过例如评估由解码器120和/或编码器108实现的校验和或其它检错和纠错方案来测试损坏。对于帧损失,可以回忆起帧118可如上图2中所述地与数据结构200的各实例相关联。数据结构200可包含用于排序或唯一地标识帧118的字段224。使用例如该字段224,框604可测试当前帧118是否是对于前一帧118的期望的后续帧。如果不是,则期望的后续帧118可能已经丢失。
如果当前帧118被损坏或不是希望的帧,则框606报告丢失或损坏的帧。从框606发出的报告可对应于图5中所示的框514中接收到的报告以及对应于图3中所示的帧损失报告310。
如果当前帧118未被损坏且是期望的后续帧,则框608、610、以及612可测试帧118的帧类型。可以回忆起,数据结构200可包含指示帧类型的子字段222。框608测试帧118是否是I帧,框610测试帧118是否是P帧,而框612测试帧118是否是超P帧
转到框608,如果帧118是I帧,则框614可直接显示帧118而不参考当前显示或任意其它帧118。在框610中,如果帧118是P帧,则框616通过将当前显示与帧118合并来更新当前显示。框614随后呈现经更新的显示。在框612中,如果帧118是超P帧,则框618通过将显示与诸如图4中所示的高速缓存404等高速缓存的内容合并来更新显示。可以回忆起,可通过使“使用高速缓存”位被设置或激活来指示或检测超P帧。框614随后呈现经更新的显示。
从框612处,如果帧118既非I帧、P帧,亦非超P帧,则框620可处理该其它类型的帧。然后,处理流程600可回到框602以等待下一帧118。
从框614处,框622测试对于帧118的“高速缓存”位是否被设置。如果是,则框614将帧118存储在诸如例如图4中所示的高速缓存404等高速缓存中。框602随后等待下一帧118的到达。回到框614处,如果对于帧118的“高速缓存”位未被设置,则可绕过框624,且框602随后等待下一帧118的到达。
结论
虽然已经使用结构特征和/或方法动作专用的语言对该系统和方法进行了描述,但应了解,所附权利要求书所限定的系统和方法不一定限于所描述的具体特征或动作。相反,这些具体特征和动作是作为实现所要求保护的系统和方法的示例性形式而公开的。
此外,对于本文所描述和示出的特定流程图,应注意,其中所描绘的过程和子过程可用除所示出的那些顺序之外的顺序来执行,而不背离本文的描述的精神和范围。

Claims (20)

1.一种方法,包括至少:
编码(502)基于源内容(110)的至少一个帧(112);
确定(504)是否在编码器以及至少一个解码器处对所述帧进行高速缓存;以及
响应于所述确定,编码(506)与所述帧相关联的至少一个高速缓存控制位。
2.如权利要求1所述的方法,其特征在于,还包括在所述编码器处对所述帧进行高速缓存(504)。
3.如权利要求1所述的方法,其特征在于,所述编码至少一个高速缓存控制位包括设置所述高速缓存控制位(506)以指示将在所述编码器以及所述解码器处对所述帧进行高速缓存。
4.如权利要求1所述的方法,其特征在于,还包括向所述至少一个解码器发送(510)所述帧。
5.如权利要求1所述的方法,其特征在于,还包括接收指示在从所述编码器发送后至少一个附加帧丢失或损坏的损失报告(514)。
6.如权利要求5所述的方法,其特征在于,还包括响应于接收所述损失报告,参考至少一个高速缓存的帧(516)。
7.如权利要求5所述的方法,其特征在于,还包括基于至少一个高速缓存的参考帧来编码替换帧(518)或所述附加帧。
8.如权利要求5所述的方法,其特征在于,还包括发送用于所述附加帧的替换帧(522),所述替换帧是基于至少一个高速缓存的参考帧来编码的。
9.如权利要求5所述的方法,其特征在于,还包括设置与所述替换帧相关联的至少一个附加高速缓存控制位(520),其中所述附加高速缓存控制位指示所述替换帧是基于高速缓存的参考帧来编码的。
10.如权利要求1所述的方法,其特征在于,还包括接收表示所述解码器所支持的像素分辨率(228)的数据。
11.如权利要求10所述的方法,其特征在于,编码至少一个帧是基于表示所述解码器的像素分辨率的所述数据来执行的。
12.如权利要求1所述的方法,其特征在于,还包括接收表示所述解码器所支持的色深度(226)的数据。
13.如权利要求12所述的方法,其特征在于,编码至少一个帧是基于表示所述解码器的色深度的所述数据来执行的。
14.一种方法,包括至少:
接收(602)从源内容编码的至少一个帧;
确定(622)是否对所述帧进行高速缓存;以及
解码所述帧(122)。
15.如权利要求14所述的方法,其特征在于,还包括执行以下动作的至少一个:确定所述帧是否损坏(604),以及确定是否缺少了至少一个附加帧(604)。
16.如权利要求15所述的方法,其特征在于,还包括报告至少一个丢失或破坏的帧(606)。
17.如权利要求14所述的方法,其特征在于,确定是否对所述帧进行高速缓存(622)包括测试与所述帧相关联的至少一个高速缓存控制位(220)。
18.如权利要求14所述的方法,其特征在于,还包括对所述帧进行高速缓存(624)。
19.如权利要求14所述的方法,其特征在于,还包括通过测试与所述帧相关联的至少一个控制位(220)来确定(612)所述帧是否是基于高速缓存的参考帧来编码的。
20.如权利要求14所述的方法,其特征在于,还包括将所述帧与至少一个高速缓存的参考进行合并(618)。
CN2006800463242A 2005-12-07 2006-12-07 用于媒体编码器与解码器之间的反馈和帧同步的方法 Active CN101341754B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/275,071 US7716551B2 (en) 2005-12-07 2005-12-07 Feedback and frame synchronization between media encoders and decoders
US11/275,071 2005-12-07
PCT/US2006/046221 WO2007067479A1 (en) 2005-12-07 2006-12-07 Feedback and frame synchronization between media encoders and decoders

Publications (2)

Publication Number Publication Date
CN101341754A true CN101341754A (zh) 2009-01-07
CN101341754B CN101341754B (zh) 2010-10-27

Family

ID=38120188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800463242A Active CN101341754B (zh) 2005-12-07 2006-12-07 用于媒体编码器与解码器之间的反馈和帧同步的方法

Country Status (9)

Country Link
US (1) US7716551B2 (zh)
EP (1) EP1961232B1 (zh)
JP (1) JP5389449B2 (zh)
KR (1) KR101343234B1 (zh)
CN (1) CN101341754B (zh)
BR (1) BRPI0618719A2 (zh)
RU (1) RU2470481C2 (zh)
TW (1) TWI408967B (zh)
WO (1) WO2007067479A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103493479A (zh) * 2010-10-04 2014-01-01 布鲁珍视网络有限公司 低延迟h.264视频编码的抗误码的系统和方法
CN104243989A (zh) * 2013-06-17 2014-12-24 广达电脑股份有限公司 视频编解码系统及视频流传输方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9061207B2 (en) * 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US9043818B2 (en) 2012-05-23 2015-05-26 Fur Entertainment, Inc. Adaptive feedback loop based on a sensor for streaming static and interactive media content to animals
US10516891B2 (en) 2015-11-20 2019-12-24 Intel Corporation Method and system of reference frame caching for video coding
CN110945494B (zh) 2017-07-28 2024-06-21 杜比实验室特许公司 向客户端提供媒体内容的方法和系统

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999173A (en) * 1992-04-03 1999-12-07 Adobe Systems Incorporated Method and apparatus for video editing with video clip representations displayed along a time line
US5444489A (en) 1993-02-11 1995-08-22 Georgia Tech Research Corporation Vector quantization video encoder using hierarchical cache memory scheme
CA2156889C (en) * 1994-09-30 1999-11-02 Edward L. Schwartz Method and apparatus for encoding and decoding data
JP3068002B2 (ja) * 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
JPH09121358A (ja) * 1995-10-25 1997-05-06 Matsushita Electric Ind Co Ltd 画像符号化及び復号化装置と方法
JP3427149B2 (ja) * 1996-01-26 2003-07-14 三菱電機株式会社 符号化信号の復号回路及びその同期制御方法, 同期検出回路及び同期検出方法
JPH1079949A (ja) * 1996-09-04 1998-03-24 Oki Electric Ind Co Ltd 画像符号化装置、画像復号化装置及び画像伝送システム
JPH10191356A (ja) * 1996-12-27 1998-07-21 Oki Electric Ind Co Ltd 画像符号化装置
JP3373130B2 (ja) * 1997-03-24 2003-02-04 沖電気工業株式会社 画像復号化装置
US6061399A (en) * 1997-05-28 2000-05-09 Sarnoff Corporation Method and apparatus for information stream frame synchronization
EP0902593B1 (en) 1997-09-12 2006-11-08 Oki Electric Industry Co., Ltd. Video coder, decoder and transmission system
JP4558195B2 (ja) * 1997-10-23 2010-10-06 ソニー エレクトロニクス インク 符号化方法及び装置、復号方法及び装置、デジタル信号処理装置並びに記録媒体
EP0940989A3 (en) * 1998-03-02 2003-10-29 Nippon Telegraph and Telephone Corporation Video communication system and method
US6289054B1 (en) 1998-05-15 2001-09-11 North Carolina University Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network
US6115080A (en) * 1998-06-05 2000-09-05 Sarnoff Corporation Channel selection methodology in an ATSC/NTSC television receiver
US6269130B1 (en) * 1998-08-04 2001-07-31 Qualcomm Incorporated Cached chainback RAM for serial viterbi decoder
JP3660513B2 (ja) * 1998-12-25 2005-06-15 沖電気工業株式会社 画像通信装置およびローカルデコード処理方法
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US6658618B1 (en) * 1999-09-02 2003-12-02 Polycom, Inc. Error recovery method for video compression coding using multiple reference buffers and a message channel
US6580767B1 (en) 1999-10-22 2003-06-17 Motorola, Inc. Cache and caching method for conventional decoders
EP1130921B1 (en) * 2000-03-02 2005-01-12 Matsushita Electric Industrial Co., Ltd. Data transmission in non-reliable networks
US6760749B1 (en) 2000-05-10 2004-07-06 Polycom, Inc. Interactive conference content distribution device and methods of use thereof
JP2002010265A (ja) * 2000-06-20 2002-01-11 Sony Corp 送信装置およびその方法と受信装置およびその方法
US7191242B1 (en) * 2000-06-22 2007-03-13 Apple, Inc. Methods and apparatuses for transferring data
KR100354768B1 (ko) * 2000-07-06 2002-10-05 삼성전자 주식회사 영상 코덱 시스템, 그 시스템과 외부 호스트 시스템과의데이터 처리방법 및 그 시스템에서의 인코딩/디코딩제어방법
US7174561B2 (en) * 2001-04-13 2007-02-06 Emc Corporation MPEG dual-channel decoder data and control protocols for real-time video streaming
US6823489B2 (en) * 2001-04-23 2004-11-23 Koninklijke Philips Electronics N.V. Generation of decision feedback equalizer data using trellis decoder traceback output in an ATSC HDTV receiver
US8923688B2 (en) * 2001-09-12 2014-12-30 Broadcom Corporation Performing personal video recording (PVR) functions on digital video streams
US20040016000A1 (en) * 2002-04-23 2004-01-22 Zhi-Li Zhang Video streaming having controlled quality assurance over best-effort networks
US7684483B2 (en) * 2002-08-29 2010-03-23 Raritan Americas, Inc. Method and apparatus for digitizing and compressing remote video signals
US7606314B2 (en) * 2002-08-29 2009-10-20 Raritan America, Inc. Method and apparatus for caching, compressing and transmitting video signals
US20040125816A1 (en) * 2002-12-13 2004-07-01 Haifeng Xu Method and apparatus for providing a buffer architecture to improve presentation quality of images
JP4329358B2 (ja) * 2003-02-24 2009-09-09 富士通株式会社 ストリーム配信方法、及びストリーム配信システム
US7237061B1 (en) * 2003-04-17 2007-06-26 Realnetworks, Inc. Systems and methods for the efficient reading of data in a server system
JP2005101677A (ja) * 2003-09-22 2005-04-14 Ricoh Co Ltd 画像送信装置、画像処理システム、プログラム、及び、情報記録媒体
GB0323284D0 (en) * 2003-10-04 2003-11-05 Koninkl Philips Electronics Nv Method and apparatus for processing image data
US7143207B2 (en) * 2003-11-14 2006-11-28 Intel Corporation Data accumulation between data path having redrive circuit and memory device
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US7627227B2 (en) * 2004-05-17 2009-12-01 Microsoft Corporation Reverse presentation of digital media streams
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
US8204131B2 (en) * 2005-01-13 2012-06-19 Qualcomm Incorporated Method and system for rapid and smooth selection of digitally compressed video programs
US20070008323A1 (en) * 2005-07-08 2007-01-11 Yaxiong Zhou Reference picture loading cache for motion prediction
US8300701B2 (en) * 2005-12-09 2012-10-30 Avid Technology, Inc. Offspeed playback in a video editing system of video data compressed using long groups of pictures

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103493479A (zh) * 2010-10-04 2014-01-01 布鲁珍视网络有限公司 低延迟h.264视频编码的抗误码的系统和方法
CN103493479B (zh) * 2010-10-04 2017-08-22 布鲁珍视网络有限公司 低延迟h.264视频编码的抗误码的系统和方法
CN104243989A (zh) * 2013-06-17 2014-12-24 广达电脑股份有限公司 视频编解码系统及视频流传输方法

Also Published As

Publication number Publication date
TW200731811A (en) 2007-08-16
EP1961232A4 (en) 2011-11-30
BRPI0618719A2 (pt) 2011-09-06
KR101343234B1 (ko) 2013-12-18
CN101341754B (zh) 2010-10-27
EP1961232B1 (en) 2014-06-04
KR20080080521A (ko) 2008-09-04
EP1961232A1 (en) 2008-08-27
RU2470481C2 (ru) 2012-12-20
RU2008122940A (ru) 2009-12-20
JP2009518956A (ja) 2009-05-07
US20070130493A1 (en) 2007-06-07
JP5389449B2 (ja) 2014-01-15
US7716551B2 (en) 2010-05-11
WO2007067479A1 (en) 2007-06-14
TWI408967B (zh) 2013-09-11

Similar Documents

Publication Publication Date Title
CN101341754B (zh) 用于媒体编码器与解码器之间的反馈和帧同步的方法
CN101622879B (zh) 以rtp净荷格式传输sei消息
CN1910926B (zh) 用于处理视频通信差错的方法和装置
US8432937B2 (en) System and method for recovering the decoding order of layered media in packet-based communication
CN101371312A (zh) 用于视频通信系统中的差错弹性和随机接入的系统和方法
CN1112811C (zh) 对被通道噪声破坏的视频数据进行译码的方法
JP4302823B2 (ja) 多重信号受信方法、装置及びマルチメディア端末
CN101072344B (zh) 一种视频编码方法、解码方法及装置
CN1781314A (zh) 图像编码方法
US7583693B2 (en) Signal coding
CN102316360A (zh) 视频刷新方法、装置及系统
CN101640640B (zh) 包括rtp分组的数据流、及编/解码该数据流的方法和设备
CN103916714B (zh) 一种无线网络视频流抗丢包预处理及恢复方法
SE9702544D0 (sv) Videoöverföring
CN101296166B (zh) 基于索引的多媒体数据的测量方法
JP4903967B2 (ja) データストリームのチャネル復号化方法、チャネル復号化装置、コンピュータで読み取り可能な記憶媒体、および、コンピュータプログラム
CN103024374A (zh) 视频数据的传输
JP2007208418A (ja) 検査情報生成装置、送信装置及び中継装置
CN101583026B (zh) 一种视频编解码方法、客户端、视频服务器及监控系统
KR20060124359A (ko) 멀티미디어 서비스를 위한 다중 실시간 인코딩 방법 및 그서버 장치
Doyle et al. Error-resilience in multimedia applications over ad-hoc networks
Artigas et al. Mapas de profundidad trinocualres por region matching

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150423

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150423

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.