CN1162007C - 从mpeg-2比特流中去除填充比特的可编程滤波器 - Google Patents
从mpeg-2比特流中去除填充比特的可编程滤波器 Download PDFInfo
- Publication number
- CN1162007C CN1162007C CNB99123930XA CN99123930A CN1162007C CN 1162007 C CN1162007 C CN 1162007C CN B99123930X A CNB99123930X A CN B99123930XA CN 99123930 A CN99123930 A CN 99123930A CN 1162007 C CN1162007 C CN 1162007C
- Authority
- CN
- China
- Prior art keywords
- initial code
- data
- value
- video signal
- byte
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Picture Signal Circuits (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
一个MPEG-2视频解码器,在把比特流存储到VBV缓冲器之前识别填充数据并从比特流将其去除。解码器监视该比特流的零值字节的连续的组。当零值字节的连续序列出现时,即大于一个编程最大长度,解码器把该序列识别为填充数据并且抑制从在传递中的进一步零值字节直到下一个非零值字节被遇见为止。解码器规定两个最大长度值,一个用于可在数据片起始码前的填充字节,而另一个用于可在一个非数据片码前的填充字节的计数。
Description
技术领域
本发明涉及用于处理已经根据由运动图象专家组(MPEG)规定的MPEG-2压缩的图象数据的解码器,尤其涉及一个预处理步骤,它在解码之前有选择地从该MPEG-2数据流删除填充比特。
背景技术
在MPEG-2标准下执行的视频信号压缩是可变速率性质的视频信号压缩。根据空间频率中的内容压缩视频数据,或者根据图象的序列、或者根据在该序列中的图象之间中的区别。如果图象序列具有低的空间频率成分,或如果连续的图象仅稍有差别,则被发送用于再生该图象序列的压缩数据量可能被极大地减小。
用于MPEG-2标准的***规则(syntax)在标题是″运动图象和相关的伴音信息图象的通用编码″的国际标准13818-2号建议ITU-TH.262中被阐明,可从ISO/IEC(日内瓦,瑞士)得到,并且该建议被结合在此用作MPEG-2图象编码标准的指教。该标准规定了被用于既传送音频又传送视频数据的若干层的数据记录。为了简单起见,在此处不描述伴音数据的解码。描述一特定图象序列的编码数据被表示成若干嵌套层,序列层、图象组层、图象层、数据片层和宏数据块层。除了该宏数据块层之外,每层都以标识该层的起始码开始。该层包含标题数据和有用负荷数据。为了帮助发送信息,代表多个图象序列的一个数字数据流被分成若干较小单元,并且这些单元的每个都被封装成一个分别打包的基本的数据流(PES)数据包。为了传输,在多个固定长度传送数据包中分割每个PES数据包。每个传送数据包仅包含与一种PES数据包有关的数据。该传送数据包也包含一个标题,保存控制信息,有时包括一个适应字段,用于解码该传送数据包。
当收到一个MPEG-2编码图象序列时,一传送解码器解码该传送的数据包以便重新组合该数据包。如上所述,该PES数据包被解码,以便重新组合以分层记录的形式表示该图象的MPEG-2比特数据流。一个给定的传送数据流可以同时地传送多个图象序列,例如同时地传送多个作为隔行传送的数据包。这种灵活性还使得发射机同时地发送多个比特数据流,每一个都对应分别的伴音、图象或数据节目。
使用MPEG-2标准传送HDTV到用户的***实施方案通常如图1的框图示出。在传输方,视频和音频信号被输入到分别的编码器110和112、在缓存器114和116中缓存、传递到***编码器/多路复用器118、并且存储在存储器120中或由发射机单元120发送。在接收方,信号由***解码器/分路器122接收、在缓存器124和126中缓存、随后由解码器128和130解码并且输出作为一个该原始视频和音频信号的再生。
图1实例的一个重要方面是:虽然信号的中间级缓存包含一个可变延迟,但是从信号的输入到信号的输出的总时延是基本上是所希望的常量。这是通过监视的信息流控制和缓存器实现的。
如图1中表明,在此模式中,从编码器输入到从解码器的输出即出现的延迟是常量,而通过编码器和解码器缓存器的每一个的延迟是可变的。不仅在一个基本数据流的路径中的通过这些缓存器的每一个的延迟是可变的,而且在视频和伴音路径中的延迟也不同。因此,表示在该组合的数据流中的伴音或图象的编码的相关位置不表示同步信息。编码的音频与视频的相关位置仅由一个***解码器(STD)模式限制,使得该解码器缓存器必须正确地操作;因此,同时出现的代表伴音和图象的编码的音频与视频在该编码比特***中在时间上可能被分开多达一秒钟,这是在该STD模式中允许的最大解码器缓存器延迟。为了适应该STD模式固有的数据延迟,规定一种视频缓冲器核对(VBV)。
该VBV是一种假设的解码器,它被理论上接到一个编码器的输出。一个编码的比特数据流被存储到该假设的解码器的一个VBV缓冲存储器中,直到已经存储足够的数据量为止,以便确保当以一确定的速率接收数据时,解码比特数据流的一个解码器将不用尽数据(下溢)或处理数据太慢(上溢)。按照下面定义从该缓存器去除编码数据。为了符合该MPEG-2标准,一种典型的MPEG-2视频解码器包含一个存储缓存器,VBV缓存器,它保存由vbv缓存器量值规定的一个值的比特数据流的量值,该量值是作为该序列层的标题的一部分发送的。
结合一个编码器的示范STD模式工作的高水平实例在图2中示出。
为了保持接收图象的质量,重要的是要求该VBV缓存器或STD模式解码器不下溢。为了保持恒定的比特率图象,在该***的各种方面执行″填充″。″填充″是以不关心的信息填充数据流的行为,只是为了保持该需要的比特速率。
填充是在两个层次执行。在该MPEG-2图象标准中,许多零值的填充比特可能被***到紧邻用于该多层之一的一个起始码之前或一个扩展起始码之前。当1值的填充比特***到在传送数据包中的适应字段时,也在该传送数据包中执行填充。当出现PES数据包数据不充足的场合,则在传送数据包中使用填充,以便把该传送数据包的有用负荷字节填充到一个将支持该传输数据速率的电平。
一段时间以来已经认识到,填充比特相当于浪费在该MPEG-2信号中的能被用于其它目标的频带宽度。例如,在标题是“在MPEG比特数据流中用于发送专用数据而不是填充比特的方法和装置”的美国专利5,650,825中,在传送数据包的适应字段中的填充数据被替换为专用的填充数据,由用户接收和专门地处理。
发明内容
本发明在于一种视频信号解码器装置,用于解码已经根据由运动图象专家组规定的一个标准编码的编码视频信号。该编码视频信号包括多种起始码和填充数据,加到该编码视频信号的零值比特的短脉冲串,以便提供该编码的视频信号作为一个固定速率比特数据流。该视频信号解码器装置包括:用于接收该编码视频信号的接收端;零字节检测器,监视接收的编码视频信号,以便识别单个的零值字节;计数器,计数由该零值字节检测器识别的该单个的零值字节,以便产生一计数值;阻塞装置,用于当该计数器将一些单个的零值字节标识为填充数据时,阻塞在零值字节序列中这些单个的零值字节的通过;起始码识别器,监视该接收的编码视频信号,以便识别起始码。该视频信号解码器装置的特征在于:编程装置响应该起始码识别器所识别的一种起始码来设定一阈值;其中所述计数器比较上述计数值和阈值,以便识别填充数据。
本发明还公开了一种相应地在一视频信号解码器装置中用于减小存储器存取量的一种方法。该视频信号解码器装置解码已经根据由运动图象专家组规定的一个标准编码的编码视频信号,该编码视频信号包括多种起始码和填充数据,加到该编码视频信号的零值比特的短脉冲串,以便提供该编码的视频信号作为一个固定速率比特数据流,该方法包括以下步骤:接收该编码视频信号;在该接收的编码视频信号中标识起始码;计数单个的零值字节,以便产生一计数值;确定是否一个零值字节的序列对应于填充数据;以及当单个的零值字节的计数对应于填充数据时,阻塞在该零值字节的序列中的一些单个的零值字节的通过;其特征在于,响应于一标识类型的起始码,设置一阈值;比较上述计数值和阈值,以便识别填充数据。
附图说明
图1(已有技术)是示范性的数字多节目传送和接收***的一个详细框图。
图2(已有技术)是图1中示出的***中的一个STD模式的示范性实施方案的详细框图。
图3是包含本发明的一个实施例的MPEG-2视频解码器的一个框图。
图4是适于使用在图3示出的解码器中的分析器的一个框图。
图5A至5F(已有技术)是MPEG-2比特数据流的语法分析图,该语法分析图可用于描述本发明的操作。
具体实施方式
图3是实现本发明的一个示范性解码器***的框图。该***包含三个部件,一个解码处理器310、一个高频带宽度存储器320和一个控制微处理器330。使用在本发明的该示范性实施例中的该高频带宽度存储器320可以是例如一个可从NEC和Toshiba公司得到的RAMBUS存储***。
简要地说,图3中示出的解码器的操作如下所述。作为第一步,解码器处理器或称解码器集成电路(IC)310由微处理器330初始化成一个特定构形。例如,如果该解码器被用于解码525P信号,则通过微处理器接口312把正确的控制值加到该解码处理器310的内部电路。为了清楚起见,在微处理器330和IC310中的每一个元件之间的控制总线已经被省略。该总线可以是例如一个普通的I2C总线。
一旦该IC310已经初始化,则该输入比特数据流就被加到一个分析器316。下面参照图4描述的该分析器在存储器320中存储该比特数据流。此外,该分析器识别用于PES数据包、序列、图象组、图象和数据片层的起始码,并且通知微处理器330这些起始码存储的存储位置。在图3中示出的示范性解码器中,该微处理器至少解码用于这些层的某些标题信息。
DRAM控制和地址发生器326控制RAC接口370以便把比特数据流存储到存储器320。在本发明的该示范性实施例中,存储器320的一部分被预留作为一个缓存器区,以便保存该输入的比特数据流。该缓存区对应于VBV缓存器,在MPEG-2标准中规定该VBV缓存器在被解码之前保存比特数据流。
根据该MPEG-2标准,在可以开始解码之前,该VBV缓存器必须保存在比特数据流的序列标题的vbv缓存量值中规定的数据量。该限制条件确保存在对于解码器的稳定的数据供给。
在比特数据流被写入到存储器320的该VBV缓存区之后,同样在该DRAM控制和地址产生电路326的控制之下,该比特数据流被从高频带宽度存储器320中读出并且存储在该缓冲存储器321中。该存储器321是一个FIFO存储器,按照比特数据流***规则的指令填充来自存储器320的信号序列并且由可变长度解码器(VLD)318倒空。
该VLD318解析该比特数据流的数据片和宏数据块层以便产生量化的离散余弦变换系数值的数据块。这些值的数据块被加到一个FIFO存储器328。该FIFO存储器在VLD318的一方和宏数据块解码电路332另一方之间缓存数据。该存储器也可以执行在MPEG-2标准中定义的反相扫描功能。电路332包含把量化系数值转换成一个均匀格式的一个反相量化器334和把频域系数转换成空间域象素值或差分象素量值的反相的离散余弦变换(IDCT)处理器。该反相量化器334和IDCT342包含分别的存储器336和344,以便协助该处理操作。由电路332提供的输出数据是象素值或差分象素值的数据块。
其中在该数据块中的值是差分象素值,通过包括相加和箝位电路358和360,把它们与来自先前解码的图象帧的值结合。这些电路从由半象素和内插电路366提供的先前解码帧获得图象数据。该半象素和内插电路366使用缓冲存储器368从先前解码帧获得该图象象素。用于这些存储器的数据值是由DRAM控制和地址产生电路326从存储器320提供的。
由运动补偿处理器361产生的解码图象数据被存储到缓冲存储器362和364中。来自缓冲存储器362和364的解码图象数据被存储到用于显示的存储器320,或在对来自稍后接收的图象场或帧的运动补偿编码数据进行解码中用作基准帧数据。将要被显示的数据以数据块格式存储到该存储器320中,并且传送到一个存储器374,以便在一个显示控制器375控制之下以光栅扫描格式提供到一个显示装置(没示出)。
一个屏幕显示(OSD)处理器371也被耦合,通过DRAM控制和地址发生器326以及RAC接口370,用于把数据提供到存储器320并且从该存储器接收数据。在本发明的该示范性实施例中,该OSD处理器371被用于产生覆盖该显示图象的用户菜单和封闭标题文本。
如图3所示,存储器320从分析器316、微处理器330、运动补偿处理器361和OSD处理器371接收数据,并且把数据提供到VLD318、运动补偿处理器361、OSD处理器371和显示控制器375。而且,存储器320是动态随机存储器(DRAM),并且因此需要周期性地被刷新,需要进一步的存储访问。这些存储器存取的每一个是以显示处理器375具有最高优先级以及OSD处理器371具有最低优先级做优先级划分的。
根据正在被处理的图象序列,排定在任意给定时间悬而未决的所有的的存储器存取要求可能是困难的。在这些实例中,较低优先级的存储器存取请求被推迟。以相对小的比特数编码的图象序列可能有不期望的存储器存取请求的高等级。这些请求由VLD处理器318产生,因为该存储器320接收的大量比特数据流是被VLD忽略的填充比特。由VLD318作出的用于比特数据流的这些额外请求剥夺了较低优先级装置对在该存储器320中的数据存取的机会。
通过大大地减小存储在存储器320中的填充比特的数目,本发明减小了当解码这种类型的图象序列时由该VLD处理器318存取的存储器的数目。在存储在存储器中的该比特数据流的这种降低并不妨碍VBV缓存限制条件,因为在该STD模式之下对于一个填充比特序列的解码被认为是不占用时间的。
图4是适于用作为在图3中示出的分析器316的一个示范性比特数据流解析电路的框图。通常,该电路操作如下。当在输入比特数据流中探测到一个起始码或一个非零字节时,则在计数器416中加载一个值。该值表示将被该分析器传送到在该存储器320中的VBV缓存器的零的数目。如上所述,零值的填充比特是在用于PES、序列、图象组、图象以及数据片层的起始码之前***到该比特数据流中的。此外,填充比特也可以***该任意序列、图象组、或图象层的扩展数据前。在图4中示出的分析器的计数器416被设置为在这些层之一结束时传送的填充字节的适当数目。在一个记录的结束码和下一记录的起始码之间,该字节数目被递减计数。在该计数器值已经递减计数到零之后,直到在该比特数据流中遇见另外的起始码或非零字节,将没有进一步的零值的字节被传送到该VBV缓存器。一旦探测到一个起始码值,该计数器416即被复位为一个非零值,确保该起始码数据和在以该起始码开始的该记录中的数据被传送到该VBV缓存器。由于存储的填充字节的数目被减小,所以该VLD处理器318和微处理器330(在图3中示出)需要的存储器存取的数目也被减小。这将减小对该存储器320存取的总数,允许以更及时的方式出现较低优先级的存储器存取。在一个数据片记录之后存储的填充字节的数目可能不同于在其它记录类型之后存储的填充字节的数目,并且这些数目可以被编程到该微处理器中。
在图4中,在与该信号CLK的脉冲吻合的时间接收该已压缩MPEG-2比特数据流一字节。比特数据流的连续字节被加到一个零检测器410、一个寄存器424和起始码检测工具430。该零检测器410检测一个给定字节的所有的8比特是零的时候,以便提供一个逻辑高电平信号。该信号被加到“或”门412和422的反相输入端,并且被加到“与”门414和418的非反相输入端。该“或”门412的另一输入端被耦合从该起始码检测工具430接收一个输出信号LOAD。该“或”门412的输出信号被加到该计数器416的LOAD输入端。当该信号被认定时,计数器416装入由一个多路复用器436提供的一个计数值。该多路复用器436从寄存器432接收在一个数据片起始码之前的可以出现的可允许的填充字节数以及从寄存器434接收在其他起始码之前的可以出现的可允许的填充字节数。这些值由微处理器330存储到该寄存器432和434中。
响应该“与”门414提供的一个信号,计数器416从存储值递减计数到零。由计数器416提供的16比特计数值被加到一个零检测器420,当计数值达到零时,该检测器420认定一个逻辑高电平信号。“与”门414被耦合成以“1”输入端接收该零检测器410的输出信号并且以其另一输入端接收零检测器420的反相输出信号。所以,只要接收一个零值字节并且该计数值不是零,则计数器416就递减其计数值。
零检测器420的输出信号也被加到与门418的一个反向输入端,其另一输入端被耦合接收该零检测器410的输出信号。不论何时接收一个零值的字节并且该计数器416还没有递减计数到零,则“与”门418的输出信号是逻辑高电平。该输出信号被加到该“或”门422的非反相输入端。不论何时该“与”门418的输出信号是逻辑高电平或当该零检测器410的输出信号是逻辑低电平时,该“或”门422产生一个逻辑高电平输出信号。“或”门422的输出信号被加到一个D型寄存器424的启动输入端。响应该信号CLK,但是只有当一个逻辑高电平值被加到该启动输入端时,寄存器424由信号CLK控制以便把一个来自它的输入端口的8比特输入值传送到它的输出端口并且到达存储器320。因此,加到启动输入端的一个逻辑低电平信号禁止来自该接收的比特数据流的数据通过到存储器320。
具体地说,起始码检测工具430处理该MPEG-2比特数据流的连续字节,以便识别用于该数据片层的起始码。一个起始码包括起始码前缀和跟随的一个起始码值。起始码前缀是一个23个零值比特和后面跟着的单个1值比特的序列。该起始码值是单个字节的。在MPEG-2标准之下,一个数据片起始码可以具有从0x01至0xAF的任何值。所以,当该示范起始码检测工具探测到一个起始码前缀和一个数据片起始码值时,其认定该信号是LOAD和SLICE。当其探测到任何其它起始码值时,则其仅认定信号LOAD。由该起始码检测工具430提供的信号SLICE被加到多路复用器436并且使得该多路复用器把适合用于一种数据片起始码的填充字节传到计数器416。当该信号SLICE不被认定时,存储在该寄存器434中的填充字节被装载到该计数器416。
耦合来接收寄存器424的输出信号的还有一个地址发生器426和一个起始码检测工具428。该起始码检测工具428检测用于PES数据包、序列、图象组、图象、和数据片层的起始码。地址发生器426提供用于该存储器320的一个地址值,由寄存器424提供的数据被存储到该存储器320中。该起始码检测工具428把该地址值与表明该起始码是用于PES数据包、序列、图象组、图象、或数据片的起始码的一个指示一起传递到微处理器330。如上所述,微处理器330使用该信息从存储器320读取用于这些记录的标题并且解码该取来的标题数据。
如上所述,MPEG-2标准定义了用于一个图象序列信息的5层。它们是序列层、图象的组层、图象层、数据片层、和宏数据块层。图5A至5F是说明这些层的结构的语法分析图。
这些层以上面引用的描述该MPEG-2标准的文件定义。简要地说,该序列层包含另外的四层。这些层称之为数据记录层。所以,一个序列记录至少包含一组的图象记录,该一组图象记录至少包含一个图象记录等等,直到该宏数据块层。该序列层定义一组图象的起始点,该组图象能够仅基于该序列的起始后面的信息而被解码。随后的较低层,图象组层,定义了包含在该序列中的一个图象子集。在图象组层中的图象通常包含至少一个仅使用在图象之内的数据而已被编码的图象(帧内编码图象)和使用运动预测编码技术而已被编码的几个图象(预测或双向编码图象)。在图象组层下面紧邻的层是图象层。在该层的数据记录规定单帧图象。图象层下面是数据片层。在该层的每一记录代表由图象层记录表示的图象的单一水平数据段。图象层下面是宏数据块层。该层之内的每一记录规定其中出现的数据片记录的一个16×16象素组分。
图5A定义了序列层的***识别规则。在该MPEG-2描述之内,一个序列是由后面跟着用于该序列的一组参数的一个序列起始码、用于一个或更多图象组的数据和一个序列结束码定义的。在那些可以被提供的参数之中,量化矩阵定义了在分别数据块中的那些系数在编码处理的过程中被如何量化。
如上所述,在图5A中所示的序列***识别规则中的填充输入510描述一个填零操作,可被执行用于使得比特数据流与视频图象的显示的定时一致。例如,如果在前的序列包含能够被有效率地编码的几个帧的话,则该比特数据流可能需要被填补以满足如上参照图1所述的在发射机和接收机之间的固定延迟的需求。在该MPEG-2标准中,一种类型的填充可以是在前面的序列的序列结束码之后和在随后序列的序列起始码之前,把全零值比特填充到该比特数据流中。如由该箭头搭接步骤510表示,该填充操作在该序列***识别规则中是可选择的。
序列***识别规则中的下一项是序列起始码512。在MPEG-2标准之下定义的该起始码是0x000001B3(十六进制计数)。所有的起始码都以至少23个零值比特和单个1值比特开始的。起始码值跟随该23个零和该单个1并且确定起始码的类型。表1列出与本发明主题相关的起始码值。
表1
起始码 十六进制值
图象 0x00
数据片(包括 00x1
垂直 到
位置) 0xAF
序列 0xB3
图象组 0xB8
PES数据包 0xE0至0xEF
除了这些起始码之外,该序列、记录结束与结束码具有和起始码一样的通用格式。
序列起始码后面将被定义的第一个参数是水平尺寸514。该值定义在解码视频图象的各个行中的图象元素(象素)数目。该水平尺寸参数后面的是垂直尺寸参数516。该参数定义在该解码视频图象中的有效扫描行数。象素宽高比518规定该解码的高清晰度电视图象的宽高比。
***识别规则下一项是图象速率520,定义将被显示的每秒的图象数。范围约从大致每秒24图象到每秒60图象。比特速率参数522是一个整数,规定在单元中度量的每秒400比特的比特数据流的比特率。序列***识别规则中的下一项是标志器比特524。该比特总是具有1值。vbv-缓存器规模参数526是一个10比特整数,如上所述该比特整数定义解码该序列需要的视频缓冲校验器的缓冲器的规模。
当下一个参数,受限的参数标志528被设置时,某些缺省最大参数规模在MPEG-2标准之下假定。针对主要HDTV图象该标志被复位,因为当该标志被设置时定义的该限制总体上对应NTSC或PAL图象的清晰度。
随着受限参数标志528是被装入帧内量化矩阵标志530。如果该标志被设置,则随后在该序列参数数据流中的八比特值定义用于解码帧间编码图象的一个量化矩阵。这些64值是代表由该项目532在该序列***识别规则如图5A所示。这64值在图5A中所示的该序列***识别规则中由项532代表。如果复位帧内量化矩阵标志530,则一个缺省量化矩阵被用于解码帧内编码图象。该缺省矩阵以MPEG-2标准的形式定义。
在序列***识别规则中的下一项是装入非帧内量化矩阵标志534。该标志以如该装入帧内量化矩阵标志同一个方式操作,只是在设置该标志时该标志后面的64个八比特值536被用于进行解量化已经双向或预测编码的图象。
在该序列***识别规则中非帧内量化矩阵后面的项是扩展和用户数据538。扩展数据由0xB5的起始码值定义。该扩展数据跟随该码并且继续直到另外的起始码出现。可能出现的一个起始码是用户数据起始码。在该MPEG-2标准中,该用户数据起始码的值是0xB2。该码表明用户数据的开始。和扩展数据一样,该数据继续直到收到另一起始码。该扩展和用户数据被提供,以便允许扩展和MPEG-2标准的定制。如由该箭头连接框538表示,该数据是可选择的。
在该扩展和用户数据538之后是一个或多个图象记录540的组。如由在该语法分析图中的向后箭头搭接项540示出,在序列***识别规则的该部分中可以定义图象的多个图象组。但是,最终的图象组后面是一个序列结束码542。该码是由结束码值0xB7定义。
除非数据传输的格式是公知的,否则只能在一个序列起始码之后并且在该数据流中已经出现其伴随的参数才开始进行解码。为了防止在序列标题之间的长延迟,在该MPEG-2标准中考虑,起始码和其相关的标题数据块可以在一个给定序列中***多次。例如,标题数据块可以***在连续的图象记录组之间。如在该MPEG-2***识别规则中定义的。每一序列标题可由填充比特开头。
图5B-5F示出该***识别规则的其它层。图5B表示图5A的图象项组540的***识别规则。图5B包括填充比特550和一个或更多的图象记录552,进一步由图5C的语法分析图规定。图5C包括填充比特560和一或多个数据片记录562。该数据片记录由图5D语法分析进一步定义。该图包括填充比特570以及一个或多个宏数据块记录572。该宏数据块记录进一步由图5E的语法分析图规定,并且包括宏数据块填充数据580。因为该***识别规则可从上面引用的MPEG-2说明文件得到,所以这些图没有详细描述。
图4所示的装置实现零的一预置数被传递以便调节在该比特数据流中的数据,其中一串零值字节形成该标题数据或编码图象数据的一部分。这包括至少23个零值比特的16个,形成一个在该扩展和用户数据字段中的起始码前缀和数值。所以,为了解码器的正确的操作,被传递的零值字节的最小数必须至少是用于数据片记录的两个字节,例如用于非数据片记录的128个字节。
虽然上述寄存器432和434保持的零值字节计数值分别地对应于一个数据片记录和一个非数据片记录的最大的填充字节数,但是由寄存器434保持的字节计数值可以被认为是跟随一个图象记录的字节计数。这是因为存在比图象记录或序列记录组更多的图象记录。考虑到可以提供其它寄存器保存用于其它记录类型的零值字节计数值。另外考虑该起始码检测工具除了起始码之外还可以检测停止码或代替起始码,并且适当地调整计数值。
虽然已经依据一个示范实施例描述了本发明,但是上面简述的实践是在所附的发明保护范围内考虑的。
Claims (7)
1.视频信号解码器装置,解码已经根据由运动图象专家组规定的一个标准编码的编码视频信号,该编码视频信号包括多种起始码和填充数据,加到该编码视频信号的零值比特的短脉冲串,以便提供该编码的视频信号作为一个固定速率比特数据流,该装置包括:
用于接收该编码视频信号的接收端;
零字节检测器,监视接收的编码视频信号,以便识别单个的零值字节;
计数器(416),计数由该零值字节检测器识别的该单个的零值字节,以便产生一计数值;
阻塞装置,用于当该计数器将一些单个的零值字节标识为填充数据时,阻塞在零值字节序列中这些单个的零值字节的通过;
起始码识别器(430),监视该接收的编码视频信号,以便识别起始码;其特征在于:
编程装置,用于响应该起始码识别器所识别的一种起始码来设定一阈值;其中所述计数器(416)比较上述计数值和阈值,以便识别填充数据。
2.根据权利要求1的视频信号解码器装置,其特征在于,上述编程装置在上述起始码识别器(430)识别对应于数据片类型起始码的起始码时,设定一第一阈值;而在上述起始码识别器(430)识别与并非数据片类型起始码的一种类型起始码相对应的起始码时,设定一不同上述第一阈值的第二阈值。
3.根据权利要求2的视频信号解码器装置,其特征在于,所述编程装置,当检测数据片类型起始码时设置该计数器(416)以便计数一个预定数目,当零值字节的序列具有若干大于该预定数目的单个的零值字节时,将该零值字节的序列标识为填充数据,并且当检测到一个不同于数据片类型起始码的起始码时设置所述计数器(423)以便计数不同于所述预定数目的另一个预定数目,当另一零值字节的序列具有若干大于该另一预定数目的单个的零值字节时将该另一零值字节的序列标识为填充数据。
4.根据权利要求3的视频信号解码器装置,其特征在于,该编程装置包括第一和第二寄存器(432,434),耦合到一微处理器(330),接收该预定的数目和该另一个预定数目,其中该微处理器可以被控制以便改变该预定的数目或该另一个预定的数目。
5.在一视频信号解码器装置中用于减小存储器存取量的一种方法,该视频信号解码器装置解码已经根据由运动图象专家组规定的一个标准编码的编码视频信号,该编码视频信号包括多种起始码和填充数据,加到该编码视频信号的零值比特的短脉冲串,以便提供该编码的视频信号作为一个固定速率比特数据流,该方法包括以下步骤:
接收该编码视频信号;
在该接收的编码视频信号中标识起始码;
计数单个的零值字节,以便产生一计数值;
确定是否一个零值字节的序列对应于填充数据;以及
当单个的零值字节的计数对应于填充数据时,阻塞在该零值字节的序列中的一些单个的零值字节的通过;
其特征在于,响应于一标识类型的起始码,设置一阈值;比较上述计数值和阈值,以便识别填充数据。
6.根据权利要求5的方法,其中,上述响应于标识类型的起始码设置阈值的步骤,当标识类型的起始码对应于数据片类型的起始码时,将阈值设定为第一值;而当标识类型的起始码对应于并非数据片类型起始码的一种类型起始码时,设定一不同上述第一值的第二值。
7.根据权利要求6的方法,其中,还包括如下步骤:在探测数据片类型起始码时,将计数器值设定为一预定数目,以便当该零值字节的序列具有若干大于该预定数目的单个的零值字节时,将该零值字节的序列标识为填充数据,以及当检测到一个不同于数据片类型起始码的起始码时,将计数器值设定为不同于所述预定数目的另一个预定数目,以便只有当另一零值字节的序列具有若干大于该另一预定数目的单个的零值字节时将该另一零值字节的序列标识为填充数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/169,791 US6522694B1 (en) | 1998-10-09 | 1998-10-09 | Programmable filter for removing stuffing bits from an MPEG-2 bit-stream |
US09/169,791 | 1998-10-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1255014A CN1255014A (zh) | 2000-05-31 |
CN1162007C true CN1162007C (zh) | 2004-08-11 |
Family
ID=22617194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB99123930XA Expired - Fee Related CN1162007C (zh) | 1998-10-09 | 1999-10-09 | 从mpeg-2比特流中去除填充比特的可编程滤波器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6522694B1 (zh) |
EP (1) | EP0993201A3 (zh) |
JP (1) | JP2000125306A (zh) |
KR (1) | KR100672219B1 (zh) |
CN (1) | CN1162007C (zh) |
TW (1) | TW499817B (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6681285B1 (en) * | 1999-07-22 | 2004-01-20 | Index Systems, Inc. | Memory controller and interface |
US20030118102A1 (en) * | 2000-11-10 | 2003-06-26 | Weiping Li | Encoding and decoding of truncated scalable bitstreams |
US6883047B2 (en) * | 2001-05-25 | 2005-04-19 | Intel Corporation | Concurrent asynchronous USB data stream destuffer with variable width bit-wise memory controller |
US6901354B2 (en) * | 2001-09-27 | 2005-05-31 | Intel Corporation | Method and apparatus for command perception by data value sequencing, allowing finite amount of unrelated interim data |
US6918037B2 (en) * | 2001-09-27 | 2005-07-12 | Intel Corporation | Method and apparatus for command perception by data value sequencing, allowing a bounded total amount of spurious data |
US7519728B1 (en) * | 2002-07-18 | 2009-04-14 | Juniper Networks, Inc. | Merge systems and methods for transmit systems interfaces |
WO2004047062A2 (en) * | 2002-11-14 | 2004-06-03 | Opentv, Inc. | Positioning of images in a data stream |
US8170096B1 (en) * | 2003-11-18 | 2012-05-01 | Visible World, Inc. | System and method for optimized encoding and transmission of a plurality of substantially similar video fragments |
CN1306822C (zh) * | 2004-07-30 | 2007-03-21 | 联合信源数字音视频技术(北京)有限公司 | 一种基于软硬件协同控制的视频解码器 |
KR100871206B1 (ko) * | 2004-12-22 | 2008-12-01 | 삼성전자주식회사 | 리드-솔로몬 부호의 복호 장치 및 방법 |
KR100767669B1 (ko) * | 2005-04-04 | 2007-10-18 | 엘지전자 주식회사 | 디지털 멀티미디어 방송 수신장치의 오디오 스트림 저장장치 및 방법 |
US8514894B2 (en) * | 2005-08-02 | 2013-08-20 | Elliptic Technologies Inc. | Method for inserting/removal padding from packets |
KR100641010B1 (ko) * | 2005-10-06 | 2006-11-02 | 삼성전자주식회사 | 다중 프로세서 이동통신 단말기에서 이중포트메모리 풀방지 장치 및 방법 |
KR20070101097A (ko) * | 2006-04-10 | 2007-10-16 | 삼성전자주식회사 | 전송 프레임을 생성하는 방법 및 장치 및 전송 프레임을처리하는 방법 및 장치 |
KR100826511B1 (ko) * | 2006-06-27 | 2008-05-02 | 삼성전자주식회사 | 스터핑 바이트를 이용하여 에러정정 능력을 높일 수 있는장치와 방법 |
US8121189B2 (en) * | 2007-09-20 | 2012-02-21 | Microsoft Corporation | Video decoding using created reference pictures |
US9848209B2 (en) * | 2008-04-02 | 2017-12-19 | Microsoft Technology Licensing, Llc | Adaptive error detection for MPEG-2 error concealment |
KR20090129926A (ko) | 2008-06-13 | 2009-12-17 | 삼성전자주식회사 | 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치 |
US9788018B2 (en) * | 2008-06-30 | 2017-10-10 | Microsoft Technology Licensing, Llc | Error concealment techniques in video decoding |
US9924184B2 (en) * | 2008-06-30 | 2018-03-20 | Microsoft Technology Licensing, Llc | Error detection, protection and recovery for video decoding |
US20100065343A1 (en) * | 2008-09-18 | 2010-03-18 | Chien-Liang Liu | Fingertip Touch Pen |
US9131241B2 (en) * | 2008-11-25 | 2015-09-08 | Microsoft Technology Licensing, Llc | Adjusting hardware acceleration for video playback based on error detection |
US8340510B2 (en) * | 2009-07-17 | 2012-12-25 | Microsoft Corporation | Implementing channel start and file seek for decoder |
CN101917474B (zh) * | 2010-08-12 | 2015-08-12 | 中兴通讯股份有限公司 | 文件的下载方法、***及装置 |
US9258590B2 (en) | 2011-07-20 | 2016-02-09 | Lg Electronics Inc. | Method for receiving media and device thereof |
US9800688B2 (en) | 2011-09-12 | 2017-10-24 | Microsoft Technology Licensing, Llc | Platform-enabled proximity service |
US20130279597A1 (en) * | 2012-04-24 | 2013-10-24 | Magnum Semiconductor, Inc. | Apparatuses and methods for bitstream bitstuffing |
TWI686085B (zh) * | 2012-11-29 | 2020-02-21 | 日商索尼半導體解決方案公司 | 攝像裝置及圖像感測器之資料傳送方法、資訊處理裝置及資訊處理方法以及程式 |
US10356204B2 (en) | 2012-12-13 | 2019-07-16 | Microsoft Technology Licensing, Llc | Application based hardware identifiers |
US9858247B2 (en) * | 2013-05-20 | 2018-01-02 | Microsoft Technology Licensing, Llc | Runtime resolution of content references |
CN106201352B (zh) * | 2016-07-07 | 2019-11-29 | 广东高云半导体科技股份有限公司 | 非易失性fpga片上数据流文件的保密***及解密方法 |
TWI620437B (zh) * | 2016-12-02 | 2018-04-01 | 英業達股份有限公司 | 重覆播放系統與方法 |
CN110943997B (zh) * | 2019-12-03 | 2022-05-31 | 北京奇艺世纪科技有限公司 | 视频推送方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3341781B2 (ja) * | 1992-12-15 | 2002-11-05 | ソニー株式会社 | 画像復号化装置および画像符号化装置 |
JPH08140042A (ja) * | 1994-11-07 | 1996-05-31 | Sony Corp | 画像データの再生装置及び記録再生装置 |
JPH08181988A (ja) | 1994-12-26 | 1996-07-12 | Canon Inc | 動画像処理装置 |
KR0160668B1 (ko) * | 1994-12-30 | 1999-01-15 | 김광호 | 영상압축 비트스트림의 스타트코드 검출장치 |
EP0735776B1 (en) | 1995-03-29 | 2004-01-28 | Hitachi, Ltd. | Decoder for compressed and multiplexed video and audio data |
US5650825A (en) * | 1995-03-31 | 1997-07-22 | Matsushita Electric Corporation Of America | Method and apparatus for sending private data instead of stuffing bits in an MPEG bit stream |
KR0180164B1 (ko) * | 1995-07-27 | 1999-05-01 | 배순훈 | 가변길이 부호기 |
US5727036A (en) * | 1995-11-22 | 1998-03-10 | Mitsubishi Semiconductor America, Inc. | High bit rate start code searching and detecting circuit and method |
US5812760A (en) * | 1996-06-25 | 1998-09-22 | Lsi Logic Corporation | Programmable byte wise MPEG systems layer parser |
US5828426A (en) * | 1996-08-20 | 1998-10-27 | Samsung Electronics Co., Ltd. | Apparatus for decoding variable length coded data of both MPEG-1 and MPEG-2 standards |
US5821886A (en) * | 1996-10-18 | 1998-10-13 | Samsung Electronics Company, Ltd. | Variable length code detection in a signal processing system |
US5898897A (en) * | 1996-10-18 | 1999-04-27 | Samsung Electronics Company, Ltd. | Bit stream signal feature detection in a signal processing system |
JPH1198020A (ja) * | 1997-09-24 | 1999-04-09 | Sony Corp | ビットストリーム解析方法及び装置 |
US6219067B1 (en) * | 1998-04-03 | 2001-04-17 | Sarnoff Corporation | Measures for characterizing compressed bitstreams |
-
1998
- 1998-10-09 US US09/169,791 patent/US6522694B1/en not_active Expired - Fee Related
-
1999
- 1999-10-06 EP EP99119155A patent/EP0993201A3/en not_active Ceased
- 1999-10-08 KR KR1019990043402A patent/KR100672219B1/ko not_active IP Right Cessation
- 1999-10-08 TW TW088117415A patent/TW499817B/zh not_active IP Right Cessation
- 1999-10-09 CN CNB99123930XA patent/CN1162007C/zh not_active Expired - Fee Related
- 1999-10-12 JP JP11290352A patent/JP2000125306A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2000125306A (ja) | 2000-04-28 |
US6522694B1 (en) | 2003-02-18 |
KR100672219B1 (ko) | 2007-01-23 |
EP0993201A2 (en) | 2000-04-12 |
CN1255014A (zh) | 2000-05-31 |
KR20000028930A (ko) | 2000-05-25 |
EP0993201A3 (en) | 2000-12-06 |
TW499817B (en) | 2002-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1162007C (zh) | 从mpeg-2比特流中去除填充比特的可编程滤波器 | |
JP3708974B2 (ja) | コード化ビデオ信号の処理装置 | |
JP4067579B2 (ja) | ビデオ信号符号化システム | |
US6263019B1 (en) | Variable rate MPEG-2 video syntax processor | |
US8873634B2 (en) | Method and device for modification of an encoded data stream | |
US5410355A (en) | Video signal processor including input codeword buffer for providing stored codewords to codeword priority analysis circuit | |
CN1155254C (zh) | 用于从mpeg-2位流中去除选择的用户数据的可编程滤波器 | |
US8009741B2 (en) | Command packet system and method supporting improved trick mode performance in video decoding systems | |
US7215706B2 (en) | Video signal encoding and buffer management | |
US7940799B2 (en) | Code conversion method and device thereof | |
US6600787B2 (en) | MPEG decoding device | |
US5986714A (en) | Method, apparatus and computer program product for selectively reducing bandwidth of real-time video data | |
JP4491918B2 (ja) | データ配信装置及び方法、データ配信システム | |
US20070035644A1 (en) | Method of video sync protection and video sync protector thereof | |
US6008853A (en) | Sub-frame decoder with area dependent update rate for digital camcorder transmission standard | |
US20070147496A1 (en) | Hardware implementation of programmable controls for inverse quantizing with a plurality of standards | |
JPH10207500A (ja) | 信号受信装置 |
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |