**对比文件名称**:2007-07-26_US2007171975A_发明申请_US20070171975A1 Parallel decoding of intra-encoded video
**目标专利名称**:285多线程纹理解码CN104041050B
**本次调用的模型名称**:DeepSeek-R1
**特征比对表格**
| 技术特征描述及公开性判断结果 | 对比文件原文引用 | 公开性论述 |
| **技术特征A:将VP8帧的第一宏块指派给第一硬件线程并将所述VP8帧的第二宏块指派给第二硬件线程**《隐含公开》 | [0051]段:“In one example, DSP 16 includes six parallel DSP processors... Each DSP processor executes a separate thread of instructions and is considered to be a different work entity. All threads receive work to do from a separate queue... the EMIP for MB0 is placed on the shared queue. The first thread (denoted T1 in FIG. 1) picks it up for decoding on the first virtual DSP processor...”(在一个示例中,DSP 16包括六个并行的DSP处理器...每个DSP处理器执行一个单独的指令线程,被认为是一个不同的工作实体。所有线程从单独的队列接收要执行的工作... MB0的EMIP被放置到共享队列中。第一个线程(在图1中表示为T1)在第一虚拟DSP处理器上拾取它进行解码...)<br>[0052]段:“...the EMIP for MB1 is placed onto the shared queue. Because thread T1 is now idle, thread T1 can retrieve the EMIP for MB1 from the queue and start decoding it.”(...MB1的EMIP被放置到共享队列中。因为线程T1现在空闲,线程T1可以从队列中检索MB1的EMIP并开始解码它。)<br>[0055]段:“DSP thread T1 pops the EMP for MB2 from the queue, and thread T2 pops the EMIP for MB5 from the queue.”(DSP线程T1从队列中弹出MB2的EMIP,线程T2从队列中弹出MB5的EMIP。) | 对比文件公开了使用多个工作实体(即并行DSP处理器执行的线程)来并行解码视频帧的不同部分(EMIP,即编码宏块信息部分)。通过一个共享队列,不同的EMIP(每个对应一个宏块)被分配给不同的线程(如T1、T2)进行处理。虽然对比文件针对的是H.264/MPEG4视频流而非VP8,但其核心构思是利用多线程并行解码帧内的宏块。本领域技术人员能够毫无困难地理解,为了在多线程处理器中实现并行解码,必然需要一种将待解码的宏块(或类似单元)分配给不同硬件线程的机制,对比文件公开的基于队列的分配方式是实现这一目的的常规技术手段。因此,对比文件隐含公开了将不同宏块指派给不同硬件线程的技术特征。 |
| **技术特征B:以及经由以下步骤来通过所述第一硬件线程解码所述第一宏块并同时通过所述第二硬件线程解码所述第二宏块:重构所述第一宏块及所述第二宏块**《直接公开》 | [0054]段:“Due to their predecessor count values being zeros, the EMIPs for MB3 and MB are identified (step 101) as being EMPS that have no predecessor EMIPs that have not been decoded. Decoding of the identified EMIPs (step 102) is initiated. As illustrated in FIG. 16, EMIPs for MB3 and MB6 are pushed onto the shared queue. Thread T1 pops the EMIP for MB3 from the queue and thread T pops the EMIP for MB6 from the queue. The EMIPs for MB3 and MB6 are thereafter decoded simultaneously by different work entities (in this case, different threads).”(由于它们的前驱计数值为零,MB3和MB6的EMIP被识别(步骤101)为没有尚未解码的前驱EMIP的EMIP。启动对已识别EMIP的解码(步骤102)。如图16所示,MB3和MB6的EMIP被推送到共享队列。线程T1从队列中弹出MB3的EMIP,线程T从队列中弹出MB6的EMIP。此后,MB3和MB6的EMIP由不同的工作实体(在本例中是不同的线程)同时解码。)<br>[0033]-[0037]段描述了包括逆变换(块18)和与预测值(P)相加(块21)以生成未滤波的重构宏块(UF)的解码过程,这构成了“重构”步骤。 | 对比文件明确公开了多个线程(如T1和T)同时解码不同的宏块(如MB3和MB6)。解码过程明确包括“重构”宏块的步骤,即通过逆变换并与预测值相加生成未滤波的重构宏块(UF)。因此,对比文件直接公开了通过第一和第二硬件线程同时解码第一和第二宏块,且该解码包括重构宏块的步骤。 |
| **技术特征C:将所述第一宏块和所述第二宏块的经重构像素存储于行缓冲器及列缓冲器中的至少一者内以执行帧内预测**《直接公开》 | [0058]段:“To provide access to these prefiltered values for the subsequent decoding of EMIPs for other macroblocks, the bottom edge strip of prefiltered values of the EMIP being decoded is stored into a buffer prior to deblocking filtering. Similarly, ... the right edge strip of prefiltered values of the EMIP being decoded is stored into the buffer.”(为了在后续解码其他宏块的EMIP时能够访问这些预滤波值,正在解码的EMIP的底部边缘条带的预滤波值在去块滤波之前被存储到缓冲器中。类似地,...正在解码的EMIP的右侧边缘条带的预滤波值被存储到缓冲器中。)<br>[0059]段:“FIG. 25 illustrates a buffer 28 that is used to store prefiltered reconstructed values for use in decoding subsequent EMIPs in the same frame. Buffer includes several vertically extending column sections 29-32 and several horizontally extending row sections 33-37.”(图25示出了缓冲器28,用于存储预滤波的重构值,以便在同一帧中解码后续EMIP时使用。缓冲器包括几个垂直延伸的列部分29-32和几个水平延伸的行部分33-37。)<br>[0060]段:“When the EMIP for macroblock MB12 is decoded, the values in portion 35 of buffer may be used in intra-decoding.”(当解码宏块MB12的EMIP时,缓冲器部分35中的值可以用于帧内解码。) | 对比文件明确公开了使用一个缓冲器(buffer 28)来存储“预滤波的重构值”(prefiltered reconstructed values),这些值正是经过逆变换和预测相加后、但在去块滤波之前的“经重构像素”。该缓冲器被明确划分为行部分(row sections)和列部分(column sections),即行缓冲器和列缓冲器。存储这些值的明确目的就是为了在后续宏块(如MB12)的“帧内解码”(intra-decoding)中使用,即用于执行帧内预测。因此,对比文件直接公开了将经重构像素存储于行缓冲器及列缓冲器中以执行帧内预测的技术特征。 |
| **技术特征D:以及在所述第一硬件线程或所述第二硬件线程重构另外的宏块之前,紧随所述第一宏块及所述第二宏块的重构来执行对所述第一宏块及所述第二宏块的回路滤波。**《隐含公开》 | [0051]段:“When it is determined that the decoding of an EMIP has been substantially completed (step 103), then process flow returns to step 101... From step 103, decoding also continues such that the reconstructed macroblock (UF) is deblock filtered to generate a reconstructed and filtered macroblock.”(当确定一个EMIP的解码已基本完成时(步骤103),则流程返回到步骤101...从步骤103开始,解码也继续进行,使得重构的宏块(UF)被去块滤波以生成重构并滤波的宏块。)<br>[0058]段:“...the bottom edge strip of prefiltered values of the EMIP being decoded is stored into a buffer prior to deblocking filtering.”(...正在解码的EMIP的底部边缘条带的预滤波值在去块滤波之前被存储到缓冲器中。) | 对比文件描述了在EMIP解码“基本完成”(substantially completed)后,流程会继续对重构的宏块(UF)进行“去块滤波”(deblock filtered)。这里的“基本完成”指的是重构完成(但未滤波)的状态(见[0051]段“reconstructed macroblock (UF)”)。虽然对比文件没有使用“紧随”(immediately)一词,但其描述的流程顺序是:一个宏块重构完成 -> 存储其预滤波值到缓冲器 -> 对该宏块进行去块滤波(见[0058]段“prior to deblocking filtering”)。同时,为了支持并行解码,去块滤波操作很可能在重构后尽快执行,以避免阻塞依赖它的后续宏块的解码。本领域技术人员可以合理推断,在并行解码的框架下,为了最大化流水线效率和满足依赖关系,对一个宏块的重构和滤波操作在时间上是紧密衔接的,即“紧随”重构之后进行滤波。因此,对比文件隐含公开了该技术特征。 |
| **技术特征E:其中所述第一宏块和所述第二宏块来自不同行。**《直接公开》 | 图11及对应文字描述的前驱表显示了宏块间的依赖关系。<br>[0054]-[0055]段描述了同时解码MB2和MB5的EMIP。根据图7、11所示的宏块编号(MB0-MB19按行排列),MB2位于第一行,MB5位于第二行。因此,MB2和MB5来自不同行。 | 对比文件在描述并行解码时,明确以MB2和MB5为例(见[0054]-[0055]段)。根据对比文件图7的宏块排列(4行5列,MB0-4为第一行,MB5-9为第二行等),MB2是第一行的第三个宏块,MB5是第二行的第一个宏块。因此,对比文件直接公开了被同时解码的两个宏块(第一宏块和第二宏块)来自不同行。 |
| **技术特征F:其进一步包含将未经滤波像素存储于所述行缓冲器及所述列缓冲器中的至少一者中。**《直接公开》 | [0058]段:“To provide access to these prefiltered values for the subsequent decoding of EMIPs for other macroblocks, the bottom edge strip of prefiltered values of the EMIP being decoded is stored into a buffer prior to deblocking filtering.”(为了在后续解码其他宏块的EMIP时能够访问这些预滤波值,正在解码的EMIP的底部边缘条带的预滤波值在去块滤波之前被存储到缓冲器中。)<br>[0059]段:“FIG. 25 illustrates a buffer 28 that is used to store prefiltered reconstructed values for use in decoding subsequent EMIPs in the same frame.”(图25示出了缓冲器28,用于存储预滤波的重构值,以便在同一帧中解码后续EMIP时使用。) | 对比文件明确且反复使用了“预滤波值”(prefiltered values)或“预滤波的重构值”(prefiltered reconstructed values)这一术语。这些值是在去块滤波(deblocking filtering)之前存储的,因此就是“未经滤波的像素”。这些值被存储在缓冲器28的行部分和列部分中。因此,对比文件直接公开了将未经滤波像素存储于行缓冲器及列缓冲器中的技术特征。 |
| **技术特征G:所述解码进一步包含:在每一硬件线程中重构一个宏块**《直接公开》 | [0051]段:“...the EMIP for MB0 is placed on the shared queue. The first thread (denoted T1 in FIG. 1) picks it up for decoding on the first virtual DSP processor and decodes the EMIP for MB0 in accordance with the methodology of FIG. 4.”(...MB0的EMIP被放置到共享队列中。第一个线程(在图1中表示为T1)在第一虚拟DSP处理器上拾取它,并根据图4的方法解码MB0的EMIP。)<br>图4的方法流程包括逆变换(18)和与预测相加(21)以生成重构的宏块(UF),即“重构”步骤。<br>[0055]段:“DSP thread T1 pops the EMP for MB2 from the queue, and thread T2 pops the EMIP for MB5 from the queue.”(DSP线程T1从队列中弹出MB2的EMIP,线程T2从队列中弹出MB5的EMIP。) | 对比文件明确描述了每个工作实体(线程)处理一个EMIP(对应一个宏块),并且每个EMIP的解码过程(图4)包括重构该宏块的步骤(生成UF)。例如,线程T1解码MB0(即重构MB0),线程T1后来解码MB1,线程T1和T2分别解码MB2和MB5。这直接对应于“在每一硬件线程中重构一个宏块”。 |
| **技术特征H:且接着对所述经重构宏块进行滤波。**《直接公开》 | [0051]段:“From step 103, decoding also continues such that the reconstructed macroblock (UF) is deblock filtered to generate a reconstructed and filtered macroblock.”(从步骤103开始,解码也继续进行,使得重构的宏块(UF)被去块滤波以生成重构并滤波的宏块。)<br>[0024]段:“Deblocking filter 25 outputs the reconstructed and filtered current macroblock (F) .”(去块滤波器25输出重构并滤波的当前宏块(F)。) | 对比文件明确描述了在重构宏块(得到UF)之后,对其进行“去块滤波”(deblock filtered)以生成滤波后的宏块(F)。这直接公开了“对所述经重构宏块进行滤波”的步骤。 |
| **技术特征I:其中所述解码进一步包含:将从先前宏块到所述第一宏块和所述第二宏块的经重构像素存储于所述行缓冲器和所述列缓冲器中**《直接公开》 | [0058]-[0060]段及图25-26详细描述了当解码一个宏块(如MB7)基本完成后,将其右边缘和底边缘的预滤波(即经重构但未滤波)像素条带存储到缓冲器28的相应行部分(30)和列部分(35)中。这些存储的值用于后续宏块(如MB8使用行部分30,MB12使用列部分35)的帧内解码。 | 对比文件明确公开了存储从已解码(即先前)宏块(如MB7)的经重构像素(预滤波值)到缓冲器(包括行部分和列部分)中,以供后续宏块(第一宏块和第二宏块可以类比为MB8和MB12)解码时使用。这完全对应于技术特征I的描述。 |
| **技术特征J:以及使用所述先前宏块的经重构邻近者信息执行帧内预测。**《直接公开》 | [0036]段:“In this intra-decoding, note that the portion of the prediction macroblock (P) is not a portion of a filtered macroblock taken from the output of a deblocking filter block 25, but rather is a portion of a prefiltered macroblock taken from the output of summer 21.”(在这种帧内解码中,请注意预测宏块(P)的部分不是来自去块滤波器块25输出的滤波宏块的一部分,而是来自加法器21输出的预滤波宏块的一部分。)<br>[0060]段:“When the EMIP for macroblock MB12 is decoded, the values in portion 35 of buffer may be used in intra-decoding.”(当解码宏块MB12的EMIP时,缓冲器部分35中的值可以用于帧内解码。) | 对比文件明确说明了在帧内解码(intra-decoding)中,用于预测的像素信息来自“预滤波宏块”(prefiltered macroblock),即经重构但未滤波的宏块(UF),这即是“先前宏块的经重构邻近者信息”。并且,存储在缓冲器中的这些值被明确说明用于“帧内解码”(intra-decoding)。因此,对比文件直接公开了使用先前宏块的经重构邻近者信息执行帧内预测。 |
| **技术特征K:其中解码包含对所述VP8帧的所述第一宏块和所述第二宏块中的每一者进行纹理解码。**《隐含公开》 | [0032]-[0038]段及图4描述了完整的解码流程,包括:熵解包、系数重缩放、逆变换(对应于DCT/WHT反转)、预测(帧内/帧间)、重构(预测值与差值相加)和去块滤波。<br>[0001]段指出本公开涉及视频解码。<br>[0063]段指出所述方法也适用于H.264和MPEG4以外的编码算法。 | 目标专利中的“纹理解码”(texture decoding)在说明书中被解释为包括预测、逆变换、重构及回路滤波的完整解码过程(参见[0020]段)。对比文件公开的视频解码流程(图4及相应描述)完全涵盖了这些步骤:逆变换(18)、预测(19, 22, 24)、重构(相加,21)和去块滤波(25)。虽然对比文件主要针对H.264/MPEG4,而目标专利针对VP8,但两者都属于视频编解码标准,其核心解码步骤(变换、预测、滤波)是相似且通用的。本领域技术人员能够理解,对比文件公开的解码流程实质上就是对视频帧中各个部分(宏块)进行完整的解码处理,这等同于目标专利所述的“纹理解码”。因此,对比文件隐含公开了对宏块进行纹理解码这一特征。 |
| **技术特征L:其进一步包含将所述多线程处理器集成到移动电话、机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、计算机、手持式个人通信系统PCS单元、便携式数据单元及固定位置数据单元中的至少一者中。**《直接公开》 | [0004]-[0005]段描述了将视频解码功能集成到蜂窝电话(cellular telephone)中。<br>[0064]段:“The decoding method need not be embodied on a mobile communication device, but rather may be embodied on another device. In one embodiment, the decoding method is performed by a video reader (for example, Windows Media Player) application that executes on a personal computer. The decoding method can be performed by video decoding hardware and/or software embodied in televisions, video disc players, and other video decoding and viewing devices.”(解码方法不必体现在移动通信设备上,而是可以体现在另一设备上。在一个实施例中,解码方法由在个人计算机上执行的视频阅读器(例如,Windows Media Player)应用程序执行。解码方法可以由体现在电视、视频光盘播放器和其他视频解码及观看设备中的视频解码硬件和/或软件来执行。) | 对比文件明确将所述并行解码方法应用于移动通信设备(如蜂窝电话,即移动电话),并进一步指出该方法可以体现在个人计算机(计算机)、电视、视频光盘播放器(可视为视频播放器或娱乐单元)等设备中。这直接公开了将实现该解码方法的多线程处理器集成到移动电话、计算机、视频播放器、娱乐单元等设备中。 |
<<<B>>><<<C>>><<<E>>><<<F>>><<<G>>><<<H>>><<<I>>><<<J>>><<<L>>><<<a>>><<<d>>><<<k>>>