用于视频编码的高效变换技术的制作方法

文档序号:7939773阅读:283来源:国知局
专利名称:用于视频编码的高效变换技术的制作方法
技术领域
本发明涉及数字视频处理,且更明确地说,涉及对视频数据的基于块的编码。
背景技术
可将视频能力并入各式各样的装置中,包括数字电视、数字直播系统、无线通信装 置、个人数字助理(PDA)、膝上型计算机、桌上型计算机、数码相机、数字记录装置、蜂窝式或 卫星无线电电话、视频游戏顾问(counsel)、手持式游戏装置等。数字视频编码可在创建、修 改、传输、存储、记录和播放全运动多媒体序列方面提供优于常规模拟系统的显著改进。广 播网络可使用视频编码来促进向无线订户装置广播多媒体(音频-视频)序列的一个或一 个以上信道。还使用视频编码来支持视频电话(VT)应用,例如通过蜂窝式无线电电话召开 视频会议。已针对编码数字视频序列建立了许多不同的编码标准。举例来说,运动图 片专家组(MPEG)已开发出包括MPEG-I、MPEG-2和MPEG-4在内的许多标准。其它标 准包括国际电信联盟(ITU) H. 263标准和H. 264标准、加利福尼亚州库珀蒂诺市的苹 果公司(Apple Computer)开发的QuickTime 技术、华盛顿州雷蒙德市的微软公司 (MicrosoftCorporation)开发的 Windows 的视频、英特尔公司 Qntel Corporation)开 发的hdeo 、来自华盛顿州西雅图市的真实网络公司(RealNetworks,he.)的RealVideo 以及SuperMac公司开发的Cin印ak 。此外,新的标准不断涌现和演化。MPEG-4的第10部 分“高级视频编码(AVC),,中也陈述ITU H. 264标准。多数视频编码技术利用基于块的编码,其将视频帧划分为像素块,且使所述块与 视频序列中的其它帧的块相关。通过对当前块与另一帧的预测块之间的差异进行编码,可 实现数据压缩。通常使用术语“宏块”来定义视频帧的与搜索空间(其通常为视频序列的 前一或后一帧的子组)进行比较的离散块。还可将宏块进一步再分为多个分区或子分区。 ITU H. 264标准支持16乘16宏块、16乘8分区、8乘16分区、8乘8分区、8乘4子分区、4 乘8子分区以及4乘4子分区。其它标准可支持不同大小的块、宏块、分区和/或子分区。对于视频帧中的每一块(宏块、分区或子分区),编码器将一个或一个以上紧接在 前的视频帧(和/或后续帧)的大小类似的块进行比较,以识别类似块,其被称作“预测块” 或“最佳匹配”。将当前视频块与其它帧的视频块进行比较的过程通常被称作运动估计。一 旦针对待编码的给定块识别出“最佳匹配”,编码器就可对当前块与最佳匹配之间的差异进 行编码。此对当前块与最佳匹配之间的差异进行编码的过程包括被称作运动补偿的过程。 运动补偿包含创建差异块(称作残差),其包括指示待编码的当前块与最佳匹配之间的差 异的信息。明确地说,运动补偿通常涉及使用运动向量取得最佳匹配且接着从输入块中减去 最佳匹配以产生残差的动作。可对残差执行例如熵编码等额外编码步骤以进一步压缩位流。

发明内容
本发明描述可在视频编码中使用的高效变换技术。明确地说,在计算与第二视频数据块的变换相关联的计算的中间结果时,再次使用与第一视频数据块的变换相关联的计 算的中间结果。可在运动估计过程期间使用高效变换技术,其中搜索空间的视频块被变换, 但本发明不必在此方面受限。根据本发明,搜索空间可拆分为多个不同的4乘4像素块,且 所述不同的4乘4像素块可彼此重叠。可对4乘4像素块的多个行执行一维变换以产生中间结果,且接着可对所述中间 结果的一列执行一维变换。或者,可首先对多个列执行一维变换,且接着对中间结果的一行 执行一维变换。在任意情况下,在已知搜索空间中的不同4乘4像素块之间的重叠的情况 下,可再次使用(例如,与后面的变换共享)所述中间结果中的至少一些结果,而无需执行 相同计算。还揭示一种用于实施本文中所描述的技术的高效架构。在一个实例中,本发明提供一种包含对视频数据块执行变换的方法,其中执行变 换包括在第二视频数据块的第二变换中再次使用与第一视频数据块的第一变换相关联的 一个或一个以上计算。在另一实例中,本发明提供一种装置,其包含对视频数据块执行变换的视频编码 器。在执行变换时,视频编码器在第二视频数据块的第二变换中再次使用与第一视频数据 块的第一变换相关联的一个或一个以上计算。在另一实例中,本发明提供一种装置,其包含用于对视频数据块执行变换的装 置;以及用于在第二视频数据块的第二变换中再次使用与第一视频数据块的第一变换相关 联的一个或一个以上计算的装置。本文中所描述的技术可以硬件、软件、固件或其任意组合实施。如果以软件实施, 那么所述软件可在数字信号处理器(DSP)或其它类型的处理器或装置中执行。执行所述技 术的软件最初可存储在计算机可读媒体中,且加载在处理器或其它装置中并在其中执行, 以允许使用本文中所描述的技术来进行视频编码。因此,本发明还预期一种计算机可读媒体,其包含当在视频编码装置中执行时致 使所述装置对视频数据块执行变换的指令,其中在执行变换时,所述指令致使所述装置在 第二视频数据块的第二变换中再次使用与第一视频数据块的第一变换相关联的一个或一 个以上计算。此外,本发明预期一种经配置以对视频数据块执行变换的电路,其中在执行变换 时,所述电路在第二视频数据块的第二变换中再次使用与第一视频数据块的第一变换相关 联的一个或一个以上计算。另外,如下文中更详细地描述,可使用管线输送技术来加速高效变换技术,且可实 施换位存储器以促进高效管线输送。附图和以下描述内容中陈述各种实施例的额外细节。 根据所述描述内容、附图及所附权利要求书,本发明的其它特征、目标和优势将变得显而易 见。


图1是说明可实施本发明的技术的视频编码装置的示范性视频编码器的框图。图2和图3是说明可实施包括变换的运动估计过程的一部分的组件的框图。图4是说明用于执行一维变换的蝶形实施方案的图。图5是说明可将计算共享技术用于如本文所述的变换的架构的框图。
图6是说明可根据本发明而实现的计算节省的曲线图。图7是说明作为可并行搜索的搜索点数目的函数的变换引擎数目的曲线图。图8是说明示范性垂直引擎的框图。图9是说明可用以变换搜索空间的第一 4乘4像素块的示范性水平引擎的框图。图10是说明可用以在由图8所示的水平引擎所执行的变换之后变换搜索空间的 其余4乘4像素块的示范性水平引擎的框图。图11是搜索空间内的块的概念图,其说明到达垂直引擎中的输入块。图12是说明水平引擎与垂直引擎之间的数据流的图。图13是说明可位于水平引擎与垂直引擎之间的换位寄存器中的时序和数据流的 框图。
具体实施例方式本发明描述可在视频编码中有用的高效变换技术。如下文中更详细地描述,在第 二视频数据块的变换中再次使用与第一视频数据块的变换相关联的计算的中间结果。所述 技术可能尤其对在变换搜索空间的视频块的运动估计过程期间执行的整数变换或正向离 散余弦变换有用。然而,可在与视频编码相关联的其它变换情况中使用所述技术。实际上, 所述技术可对任意类型的线性变换、整数变换以及可能其它变换情况有用。根据本发明,可将(任意大小的)搜索空间拆分为例如4乘4像素块等多个不同 视频块。搜索空间内所界定的不同4乘4像素块可彼此重叠。举例来说,5乘5像素搜索 空间可界定四个不同的4乘4像素块,但可使用对部分分辨率的内插来在5乘5像素搜索 空间内界定更多的4乘4像素块。当将4乘4像素块从像素域变换到空间频域时,可使用 搜索空间。在从一个域向另一域进行此变换期间,通常对4乘4像素块执行两遍一维变换。 对多个列执行第一遍一维变换以产生水平空间频率分量(称作中间结果),且对一个或一 个以上行执行第二遍一维变换以产生垂直空间频率分量。所属领域的技术人员将认识到, 可轻易地对多个行执行第一遍一维变换,且可对一列执行第二遍一维变换。可对4乘4像素块的多个列执行一维变换以产生中间结果,且接着可对所述中间 结果中的一行执行一维变换。在已知搜索空间中的不同4乘4像素块之间的重叠的情况下, 可再次使用中间结果中的至少一些结果,而无需执行相同计算。以此方式,可避免计算以促 进效率。还揭示示范性硬件架构,其可实现本文中所描述的技术的高效实施。在此情况下, 可使用管线输送技术来加速一组视频数据块的高效变换技术,且可实施换位存储器以促进 高效管线输送。图1是说明可实施本发明的技术的视频编码装置的示范性视频编码器10的框图。 实际上,多种装置可实施可受益于本发明的教示的视频编码器。举例来说,视频编码器10 可用于数字电视、数字直播系统、无线通信装置(例如,手持机)、个人数字助理(PDA)、膝上 型计算机、桌上型计算机、数码相机、数字记录装置、蜂窝式或卫星无线电电话、视频游戏顾 问、手持式游戏装置等。广播网络可使用视频编码来促进向无线订户装置广播多媒体(音 频-视频)序列的一个或一个以上信道。还使用视频编码来支持视频电话(VT)应用,例如 通过蜂窝式无线电电话召开视频会议,以及多种其它应用。如图1所示,视频编码器10接收输入宏块(MB)。通常使用术语“宏块”来定义视频帧的与搜索空间进行比较并被编码的离散块。还可将宏块进一步再分为分区或子分区。 ITU H. 264标准支持16乘16宏块、16乘8分区、8乘16分区、8乘8分区、8乘4子分区、4 乘8子分区以及4乘4子分区。其它标准可支持不同大小的块、宏块、分区和/或子分区。 在任意情况下,虽然可使用术语“宏块”来描述本发明的方面,但本文中所描述的技术可在 对包括宏块、分区、子分区或其它视频块大小的任意大小的视频数据块进行编码的过程中 有用。如图1所示,对于每一输入MB,产生一预测块(在图1中标记为“Pred”)。预测块 有时被称作最佳匹配。经由单元12从输入MB中减去预测块以产生残差(在图1中标记为 “Res”)。残差包含数据块,其指示输入MB与用以对输入MB进行编码的预测块之间的差异。 预测块可由运动向量(或用于帧帧内编码的帧内向量)识别。对于帧内编码,预测块与输 入MB位于相同的帧内。对于帧间编码,预测块与输入MB位于不同的帧内。运动向量(或 帧内编码的帧内向量)识别编码时所使用的预测块。帧间编码可为预测性的(P),此表示预 测块是基于前一帧的;或双向的(B),此表示预测块是基于视频序列的前一或后一帧的。在创建残差(Res)后,对残差执行变换和量化。变换单元14和量化单元16分别 执行变换和量化。还可执行熵编码以产生输出位流。熵编码单元18执行熵编码,此可实现 进一步压缩。熵编码可包括将代码指派给位组,以及使码长与概率匹配。视频编码中众所 周知且常见各种类型的熵编码。在视频编码器10的预测回路中,逆量化单元22和逆变换单元对对残差执行逆量 化和逆变换,以本质上使单元12和14所执行的变换和量化反向。通过加法器单元沈将预 测块加回到经重构的残差。这本质上在预测回路中重新创建输入MB。可通过去块单元观 来对经重构的MB的边缘进行滤波,且将其存储在存储器30中。量化原则上涉及减小经变换信号的动态范围。动态范围的减小影响通过熵编码产 生的位的数目(速率)。此还在残差中引入损失,其可导致原始MB与经重构的MB略有不 同。这些差异通常被称作量化误差或失真。量化的强度由量化参数决定。较大的量化参数 导致较高的失真,但可降低编码率。预测回路可为帧内预测回路或帧间预测回路。MPEG-4和ITU H. 263通常仅支持帧 间预测。ITU H. 264支持帧内预测和帧间预测两者。在图1的视频编码器10中,控制信号 32可选择回路为帧内预测还是帧间预测。然而,本发明的技术还可在仅支持帧内编码或帧 间编码的系统中起作用。在帧内预测中,单元34执行空间估计和空间补偿。在此情况下,单元34将经重构 的MB与同一视频帧内的相邻宏块进行比较,以产生帧内预测器块。帧内预测器块本质上是 经重构的MB的最佳匹配,其将导致残差中的良好压缩。帧内预测可有助于减少空间冗余。在帧间预测中,单元36执行运动估计和运动补偿。运动估计将经重构的MB与先 前或未来帧的块进行比较,以产生帧间预测器。帧间预测器是经重构的MB的最佳匹配,但 不同于帧内预测器,帧间预测器来自不同的视频帧。帧间预测可有助于减少时间冗余。通 常,与利用空间冗余相比,利用时间冗余可对视频序列的压缩产生较大的影响。换句话说, MB的帧间编码通常实现优于帧内编码的压缩。本发明的技术大体与例如正向离散余弦变换等变换有关。可在运动估计过程期间 实施所述技术,但本发明在此方面不受限制。为描述起见,本发明将所述技术描述为在运动估计期间执行,但还可在执行变换的其它情况下使用这些技术或类似技术。运动估计是可由视频编码器执行的计算密集型过程。大量计算可能归因于运动 估计中可能考虑的大量潜在预测器。实际上,运动估计通常涉及在包含一个或一个以上先 前帧(或后续帧)的子组的搜索空间中搜索帧间预测器。可基于成本函数或量度来检查 来自搜索空间的候选者,其通常通过执行差异计算来界定,例如绝对差和(SAD)、平方差和 (SSD)、绝对经变换差和(SATD)或平方经变换差和(SSTD)。一旦计算出用于搜索空间中的 所有候选者的量度,就可选择使所述量度减到最小的候选者作为帧间预测器。因此,影响运 动估计的主要因素可为搜索空间的大小、搜索方法以及各种成本函数。成本函数本质上量 化了当前帧的原始块与搜索区域的候选块之间的冗余。可在准确率和失真方面量化冗余。图2展示基于变换的量度框架。图2中所示的块可包含由运动估计器(例如图1 所示的单元36)执行的功能。图2中说明示范性位长度,但本发明的技术不限于任意特定 位长度。此外,运动估计涉及将待编码的块与搜索空间内的多个候选者进行比较,以找出所 述搜索空间内与待编码的块最匹配的一个块。根据本发明,可在速率和失真意义上界定最 佳匹配。为了完成运动估计,分析待编码的块与给定搜索空间块之间的残余能量。通过从 相应搜索空间块的像素中减去待编码的块的对应像素的过程来获得每一残余候选者。这是 差异(Diff)模块42在图2中(例如)经由SAD、SSD、SATD或SSTD技术完成的过程。接 着,使用可执行正向离散余弦变换的正向变换引擎(FTE)44将残余块变换到频域中。可接 着分析经变换的残余块的速率和失真特性。明确地说,速率失真估计(RDE)模块46本质上 估计在给定量化参数QP下针对此给定搜索空间块将导致的速率(R)和失真(D)。RDE模块 46接着基于拉格朗日原理将R和D组合成单个成本量度(=D+ λ R),鉴于量度至少部分地 依据R和D,所述成本量度可被称作速率-失真量度。可将所有候选者搜索空间块的成本进 行比较,且选择导致最小成本的任一候选者来进行编码。应注意,上文所计算的成本量度对应于正被编码的块以及具有4乘4个像素的大 小的搜索空间块。对于大于4乘4个像素的块大小,可使用多个4乘4像素块来跨越较大 的块。在此情况下,通过累加跨越较大块的所有4乘4个单元块的成本量度来计算所述较 大块的成本。以下描述集中于4乘4个像素的块大小,但所述技术可应用于其它大小的块。正向变换引擎(FTE)44通常为基于变换的量度计算的任意基础模块。由于变 换的线性本质,可切换差异模块42与FTE 44的级。根据本发明,切换差异模块42与 FTE 44的次序可允许变换期间的计算节省。对所描绘的块的输入和输出的记法为输入的 (列)X (行)X (用以表示值的位的数目)。图3展示图2的替代方案,其中图2的差异模块42与FTE 44的次序被切换。图3 的组件形成运动估计器单元的一部分。出于示范性目的而说明位长度,但可使用其它位长 度。在图3中,两个不同的FTE 52A和52B(例如)经由整数变换或正向离散余弦变换来变 换待编码的块(“编码块”)以及正被考虑的搜索空间块。在此情况下,在变换之后由差异 单元M来执行差异计算。RDE模块56接着估计在给定量化参数QP下针对此给定搜索空间 块将导致的速率(R)和失真(D)。RDE模块56可基于拉格朗日原理,将R和D组合成单个 成本( = D+XR)。接着可在运动估计单元(例如,图1的单元36)中,比较所有候选者搜索 空间块的成本,且可选择导致最小成本的任一候选者来进行编码。
运动估计的基本问题是从搜索空间(S)中找出待编码的块(编码块,e)的“最佳 匹配”。可将编码块(e)和搜索空间(S)定义为
「sOOS0l S02S03 ^04eooeOI^02己03sIOl5Il ^12^13 ^14^lOeIIe =S =S2J0^21 S22^23 ^24eZQe22忍23S30S3l S32^33 ^34Ao^3I衫3240S41 S42^43 S44
如可 昏到,可相对于S中的四个搜索点来匹配
) 1
C
S =
4)υ
(Oα
5 5
,0)⑴ € α
5 其中
sOO^Ol^02S035(0,0)=iIO-yI2S13^20^21S22S23.^30^31S32S33 _
"‘sO1^02S03S04难1)=^ll^12snSU^21S22S23S24.5MS32S33S34.
(2)
(3)
(4)
iIO^ll^12Sn
^(1,0)=^20^21J22(5)^30532J33.^40^41^42^43.^12^13^l4"
5(1,1)= 521S22S23^24(6)^31S12Si3$34A!^42SA3■V 注意,(搜索)点(例如,8(0,0)、8(0,1)、8(1,0)或8(1,1))被描绘为具有相等的 水平与垂直维度的块。s(0,0)可被称作块00,s(0,l)可称作块01,s(l,0)可称作块10,且 s(l,l)可称作块11。搜索点还可描绘具有不相等的水平与垂直维度的块。图11展示具有出于说明性目的而展示的与此实例一致的一些所界定的搜索点和块的8X8搜索区域。为 在s中找出e的最佳匹配,可将残余块r(x,y)计算为
[005权利要求
1.一种装置,其包含对视频数据块执行变换的视频编码器,其中在执行所述变换时,所 述视频编码器在第二视频数据块的第二变换中再次使用与第一视频数据块的第一变换相 关联的一个或一个以上计算。
2.根据权利要求1所述的装置,其中所述视频编码器执行来自由整数和离散余弦变换 (DCT)组成的群组的变换。
3.根据权利要求1所述的装置,其中所述视频编码器包括运动估计器,且所述运动估 计器包括执行所述变换的变换引擎。
4.根据权利要求3所述的装置,其中所述第一视频数据块和所述第二视频数据块包含 与搜索空间相关联的视频数据,其中所述变换引擎还对待编码的视频数据块执行变换。
5.根据权利要求1所述的装置,其中所述视频编码器对搜索空间内所定义的四个或四 个以上视频数据块执行变换,其中所述视频编码器再次使用所述搜索空间内所定义的所述 视频数据块中的至少三个视频数据块的所述变换中的计算。
6.根据权利要求1所述的装置,其中所述视频数据块包含4乘4像素块,其中所述变换包含对所述4乘4像素块的多个行进行的1维变换以产生中间结果,以 及对所述中间结果的一列进行的1维变换;且其中所述被再次使用的计算包含所述中间结果中的至少一些中间结果。
7.根据权利要求6所述的装置,其中所述视频编码器包括执行所述变换的一个或一个 以上水平引擎以及一个或一个以上垂直引擎。
8.根据权利要求7所述的装置,所述视频编码器进一步包含位于所述一个或一个以上 水平引擎与所述一个或一个以上垂直引擎之间的一个或一个以上换位存储器,以缓冲并解 决来自所述引擎中的一者的输出数据相对于到达所述引擎中的一者的输入数据的时序。
9.根据权利要求8所述的装置,其中所述变换相对于一组视频数据块以管线方式执 行,且其中所述水平引擎与所述垂直引擎针对所述变换的至少一部分同时操作。
10.根据权利要求8所述的装置,其中所述视频编码器相对于所述输出数据,跟踪与所述输入数据相关联的索引值;且经由所述索引值,相对于所述输出数据重新排序所述输入数据。
11.根据权利要求7所述的装置,所述视频编码器进一步包含位于所述一个或一个以 上水平引擎与所述一个或一个以上垂直引擎之间的一组换位寄存器,以缓冲并解决来自所 述引擎中的一者的输出数据相对于到达所述引擎中的一者的输入数据的时序。
12.根据权利要求11所述的装置,其中所述变换相对于一组视频数据块以管线方式执 行,且其中所述水平引擎与所述垂直引擎针对所述变换的至少一部分同时操作。
13.根据权利要求11所述的装置,其中所述视频编码器相对于所述输出数据,跟踪与所述输入数据相关联的索引值;且经由所述索引值,相对于所述输出数据重新排序所述输入数据。
14.根据权利要求1所述的装置,其中所述装置包含无线通信装置。
15.根据权利要求1所述的装置,其中所述装置包含高分辨率电视(HDTV)。
16.根据权利要求1所述的装置,其中所述视频数据块包含4乘4像素块,其中所述变换包含对所述4乘4像素块的多个列进行的1维变换以产生中间结果,以 及对所述中间结果的一行进行的1维变换,且其中所述被再次使用的计算包含所述中间结果中的至少一些中间结果。
17.一种方法,其包含对视频数据块执行变换,其中执行所述变换包括在第二视频数据 块的第二变换中再次使用与第一视频数据块的第一变换相关联的一个或一个以上计算。
18.根据权利要求17所述的方法, 其中所述视频数据块包含4乘4像素块,其中所述变换包含对所述4乘4像素块的多个行进行的1维变换以产生中间结果,以 及对所述中间结果的一列进行的1维变换,且其中所述被再次使用的计算包含所述中间结果中的至少一些中间结果。
19.根据权利要求17所述的方法, 其中所述视频数据块包含4乘4像素块,其中所述变换包含对所述4乘4像素块的多个列进行的1维变换以产生中间结果,以 及对所述中间结果的一行进行的1维变换,且其中所述被再次使用的计算包含所述中间结果中的至少一些中间结果。
20.一种装置,其包含用于对视频数据块执行变换的装置;以及用于在第二视频数据块的第二变换中再次使用与第一视频数据块的第一变换相关联 的一个或一个以上计算的装置。
21.根据权利要求20所述的装置, 其中所述视频数据块包含4乘4像素块,其中所述变换包含对所述4乘4像素块的多个行进行的1维变换以产生中间结果,以 及对所述中间结果的一列进行的1维变换,且其中所述被再次使用的计算包含所述中间结果中的至少一些中间结果。
22.—种计算机可读媒体,其包含当在视频编码装置中执行时致使所述装置对视频数 据块执行变换的指令,其中在执行所述变换时,所述指令致使所述装置在第二视频数据块 的第二变换中再次使用与第一视频数据块的第一变换相关联的一个或一个以上计算。
23.根据权利要求22所述的计算机可读媒体, 其中所述视频数据块包含4乘4像素块,其中所述变换包含对所述4乘4像素块的多个行进行的1维变换以产生中间结果,以 及对所述中间结果的一列进行的1维变换,且其中所述被再次使用的计算包含所述中间结果中的至少一些中间结果。
24.一种电路,其经配置以对视频数据块执行变换,其中在执行所述变换时,所述电路 在第二视频数据块的第二变换中再次使用与第一视频数据块的第一变换相关联的一个或 一个以上计算。
25.根据权利要求M所述的电路, 其中所述视频数据块包含4乘4像素块,其中所述变换包含对所述4乘4像素块的多个行进行的1维变换以产生中间结果,以 及对所述中间结果的一列进行的1维变换,且其中所述被再次使用的计算包含所述中间结果中的至少一些中间结果。
全文摘要
本发明描述可在视频编码中使用的高效变换技术。明确地说,在第二视频数据块的变换中,再次使用与第一视频数据块的变换相关联的计算的中间结果。可在运动估计过程期间使用所述技术,其中,在该运动估计过程中,变换搜索空间的视频块,但本发明并不限于此方面。可使用管线输送技术来加速高效变换技术,且可实施换位存储器以促进高效的管线输送。
文档编号H04N7/30GK102067606SQ200880104691
公开日2011年5月18日 申请日期2008年9月26日 优先权日2007年9月26日
发明者徐迪藻, 拉戈哈文德拉·C·纳加拉杰, 斯蒂芬·莫洛伊 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1