首页> 中国专利> 帧率下采样转码方法和装置以及矢量重建方法和装置

帧率下采样转码方法和装置以及矢量重建方法和装置

摘要

公开了一种帧率下采样转码方法和装置以及矢量重建方法和装置。在该帧率下采样转码方法中,当视频帧N为前向预测帧且需要保留时,根据视频帧N中的帧间编码块在视频帧N-1中的预测块覆盖的一个或多个编码块的原始运动矢量信息及所述一个或多个编码块中的每一个编码块被预测块覆盖的面积与预测块的面积之比,获取预测块的近似运动矢量信息,根据预测块的近似运动矢量信息及视频帧N中的帧间编码块的原始运动矢量信息,获取视频帧N中的帧间编码块的当前运动矢量信息。

著录项

  • 公开/公告号CN102026002A

    专利类型发明专利

  • 公开/公告日2011-04-20

    原文格式PDF

  • 申请/专利权人 富士通株式会社;

    申请/专利号CN200910173846.4

  • 发明设计人 郑艳;白向晖;

    申请日2009-09-14

  • 分类号H04N7/46(20060101);H04N7/26(20060101);

  • 代理机构11258 北京东方亿思知识产权代理有限责任公司;

  • 代理人宋鹤;南霆

  • 地址 日本神奈川县

  • 入库时间 2023-12-18 02:09:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-09-03

    未缴年费专利权终止 IPC(主分类):H04N7/46 授权公告日:20140219 终止日期:20180914 申请日:20090914

    专利权的终止

  • 2014-02-19

    授权

    授权

  • 2011-06-08

    实质审查的生效 IPC(主分类):H04N7/46 申请日:20090914

    实质审查的生效

  • 2011-04-20

    公开

    公开

说明书

技术领域

本发明涉及视频处理领域,更具体地涉及一种帧率下采样转码方法和装置以及一种矢量重建方法和装置。

背景技术

随着互联网和移动通信技术的高速发展,出现了各种具有不同性能的客户机,如手机、掌上电脑、手提电脑等等,这些客户机迫切要求能够无线接入互联网,共享互联网上的资源。由于互联网和无线网络具有不同的带宽,因而也就对应着不同的传输码率。如果将已压缩的视频流从互联网直接通过无线网络传送给客户机,将会出现视频流与传输信道失配的情况。此时,就需要在互联网和客户机之间设置代理转换器,对已压缩的视频流进行码率转换,将已压缩的高速视频流转换成低码率的视频流,以保证视频流在移动无线网络中的正确传输,为移动用户提供不同服务质量的视频服务。

为了降低视频流的码率,通常考虑直接丢弃视频流中的非参考帧以避免对随后帧的影响。这是最简单的情况,并且这种帧率下采样转码处理不会涉及改变视频帧之间的参考关系。然而,当必须要丢弃参考帧时,运动矢量(Motion Vector,MV)重建将成为一个主要问题。对于其中的每帧都将其最近的前一帧作为参考帧的视频流,由于作为当前帧的参考帧的前一帧被跳过了,所以当前帧中的编码块的MV不再有效。

通常情况下,为了不影响视频显示效果,一般采用帧频采样比为1∶2的帧率下采样转码解决方案来将已压缩的高速视频流转换成低码率的视频流。下面以图6所示的画面组中的视频帧之间的参考关系为例进行说明。如图6中所示,画面组(GOP)包括内部编码帧(即,I帧)和前向预测帧(即,P帧),跳帧处理在两个I帧之间执行,并且两个I帧之间的编码帧组成了一个GOP。在一个GOP中,每个P帧都将其最近的前一个I帧或P帧作为它的参考帧。在H.264视频流中,I帧被独立编码,每个P帧都充当预测下一个P帧的参考帧,并且其自身可以利用与其最近的前一个I帧或P帧预测。在图6中,从I帧开始,以一帧为间隔对P帧进行丢弃。

为了得出当前帧(例如,当前帧N)中的某一编码块相对于前一个未被跳过的帧(例如,视频帧N-2)中的相关块的参考关系,通常需要对当前帧N中的编码块进行MV重建。传统的MV重建方法是找出当前帧N中的编码块在视频帧N-1中的预测块(预测块是与该编码块具有相同数目像素的区域)的MV,并将视频帧N-1中的该预测块的MV添加至当前帧N中的该编码块的原始MV,将得出的和矢量作为当前帧N中的该编码块的新MV。这个和矢量指示当前帧N中的该编码块和视频帧N-2中的相关块之间的参考关系。由于视频流所包含的各帧中的各编码块的原始MV信息可以从视频流中获取,所以该解决方案的主要问题在于找出如何找出视频帧N-1中的该预测块的MV。

实际上,视频帧N-1中的该预测块并不总是该帧中的编码单元。当该预测块不是视频帧N-1中的编码单元时,它的MV不能直接从视频流中获取。现有的获取该预测块的MV的方法主要是:从被该预测块覆盖的多个编码块的原始MV中取平均值,或者通过分析被该预测块覆盖的编码块的特性来选择某个被覆盖的编码块的MV作为该预测块的MV。然而在现有的最新视频标准背景下,被覆盖的编码块的尺寸大小是各不相同的,且既然被覆盖的编码块的尺寸大小各不相同,说明此区域内的像素活动性情况不完全一致,所以不能简单地用某一部分的运动矢量来替代被该预测块覆盖的整个区域内的所有像素的运动矢量。

图7示出了一种传统的帧率下采样转码装置的逻辑框图。如图7所示,前端解码器702对输入的帧率为R1的H.264视频流执行包括环路滤波在内的完整解码处理,以得到解码后的YUV文件;然后,重编码器704将解码后的YUV文件重新编码为帧率为R2的H.264视频流。在图7所示的装置中,前端解码器通过解码、反量化和反变换过程,才能得到原始YUV。重编码器704再通过变换、量化和编码,将YUV文件编成帧率符合接收端需求的码流。尽管此装置能够得到最好的转换效果,但涉及到两次视频编码过程中复杂度最高的变换和反变换。

图8示出了另一种传统的帧率下采样转码装置的逻辑框图。其中,部分解码器802进行解码和反量化,运动矢量重用和重建单元804进行运动矢量重建和残差数据提取,帧率下采样转码单元806重新进行量化和编码。虽然通过图8所示的装置可以有效地避开变换和反变换,但是如果该装置中使用了如上所述的获取预测块的MV的方法导致不能准确地得出当前帧中的某一编码块相对于前一个未被跳过的帧中的相关块的参考关系,会影响图8所示装置的整体性能。

发明内容

鉴于以上所述的一个或多个问题,本发明提供了一种帧率下采样转码方法和装置以及一种矢量重建方法和装置。

根据本发明实施例的帧率下采样转码方法包括:对所接收的压缩视频流进行部分解码,并获取部分解码后的视频流中包含的每个前向预测帧中的每个帧间编码块的原始运动矢量信息和残差信息、所述部分解码后的视频流中包含的每个前向预测帧中的每个帧内编码块的原始编码信息、以及所述部分解码后的视频流中包含的每个帧内编码帧的原始编码信息;当所述部分解码后的视频流中的视频帧N为前向预测帧且需要保留时,对于所述视频帧N中的任意一个帧间编码块,根据所述视频帧N中的所述帧间编码块在所述部分解码后的视频流中的视频帧N-1中的预测块所覆盖的一个或多个编码块的原始运动矢量信息以及所述视频帧N-1中的所述一个或多个编码块中的每一个编码块被所述预测块所覆盖的面积与所述预测块的面积之比,获取所述预测块的近似运动矢量信息,根据所述预测块的近似运动矢量信息以及所述视频帧N中的所述帧间编码块的原始运动矢量信息,获取所述视频帧N中的所述帧间编码块的当前运动矢量信息;以及利用所述部分解码后的视频流中的每个前向预测帧中的每个帧间编码块的当前运动矢量信息和残差信息、所述部分解码后的视频流中的每个前向预测帧中的每个帧内编码块的原始编码信息以及所述部分解码后的视频流中的每个内部编码帧的原始编码信息,对所述部分解码后的视频流进行帧率下采样转码。

根据本发明实施例的帧率下采样转码装置包括:部分解码单元,被配置为对所接收的压缩视频流进行部分解码,并获取部分解码后的视频流中包含的每个前向预测帧中的每个帧间编码块的原始运动矢量信息和残差信息、所述部分解码后的视频流中包含的每个前向预测帧中的每个帧内编码块的原始编码信息、以及所述部分解码后的视频流中包含的每个帧内编码帧的原始编码信息;矢量重建单元,被配置为当所述部分解码后的视频流中的视频帧N为前向预测帧且需要保留时,对于所述视频帧N中的任意一个帧间编码块,根据所述视频帧N中的所述帧间编码块在所述部分解码后的视频流中的视频帧N-1中的预测块所覆盖的一个或多个编码块的原始运动矢量信息以及所述视频帧N-1中的所述一个或多个编码块中的每一个编码块被所述预测块所覆盖的面积与所述预测块的面积之比,获取所述预测块的近似运动矢量信息,根据所述预测块的近似运动矢量信息以及所述视频帧N中的所述帧间编码块的原始运动矢量信息,获取所述视频帧N中的所述帧间编码块的当前运动矢量信息;以及转换编码单元,被配置为利用所述部分解码后的视频流中的每个前向预测帧中的每个帧间编码块的当前运动矢量信息和残差信息、所述部分解码后的视频流中的每个前向预测帧中的每个帧内编码块的原始编码信息以及所述部分解码后的视频流中的每个内部编码帧的原始编码信息,对所述部分解码后的视频流进行帧率下采样转码。

根据本发明实施例的矢量重建方法包括:根据视频帧N中的帧间编码块在视频帧N-1中的预测块所覆盖的一个或多个编码块的原始运动矢量信息以及所述视频帧N-1中的所述一个或多个编码块中的每一个编码块被所述预测块所覆盖的面积与所述预测块的面积之比,获取所述预测块的近似运动矢量信息;以及根据所述预测块的近似运动矢量信息以及所述视频帧N中的所述帧间编码块的原始运动矢量信息,获取所述视频帧N中的所述帧间编码块的当前运动矢量信息。

根据本发明实施例的矢量重建装置包括:近似矢量获取单元,被配置为根据视频帧N中的帧间编码块在视频帧N-1中的预测块所覆盖的一个或多个编码块的原始运动矢量信息以及所述视频帧N-1中的所述一个或多个编码块中的每一个编码块被所述预测块所覆盖的面积与所述预测块的面积之比,获取所述预测块的近似运动矢量信息;以及当前矢量获取单元,被配置为根据所述预测块的近似运动矢量信息以及所述视频帧N中的所述帧间编码块的原始运动矢量信息,获取所述视频帧N中的所述帧间编码块的当前运动矢量信息。

根据本发明实施例的帧率下采样转码方法和装置相比于背景技术中的帧率下采样转码方法/装置的总体性能和处理速度大大提高了。

附图说明

从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明,其中:

图1示出了根据本发明实施例的帧率下采样转码装置的逻辑框图;

图2示出了根据本发明实施例的帧率下采样转码方法的流程图;

图3示出了根据本发明实施例的一种运动矢量重建处理的示意图;

图4示出了根据本发明实施例的另一种运动矢量重建处理的示意图;

图5示出了根据本发明实施例的转换编码单元的逻辑框图;

图6示出了GOP中的视频帧之间的示例性参考关系;

图7示出了一种传统的帧率下采样转码装置的逻辑框图;以及

图8示出了另一种传统的帧率下采样转码装置的逻辑框图。

具体实施方式

下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算法的任何修改、替换和改进。

本发明提出的技术方案主要是对图8中所示的帧率下采样转码装置的进一步改进。图1示出了根据本发明实施例的帧率下采样转码装置的逻辑框图。其中,该帧率下采样转码装置通常工作在图3所示的场景中。如图1所示,根据本发明实施例的帧率下采样转码装置与图8所示的帧率下采样转码装置具有基本类似的逻辑结构(但内部工作过程不同),包括部分解码单元102、矢量重建单元104、转换编码单元106以及判断执行单元108。

其中,部分解码单元102为对压缩视频流进行部分解码,并获取部分解码后的视频流中包含的每个前向预测帧中的每个帧间编码块的原始运动矢量信息和残差信息、部分解码后的视频流中包含的每个前向预测帧中的每个帧内编码块的原始编码信息、以及部分解码后的视频流中包含的每个内部编码帧的原始编码信息。在部分解码后的视频流中的视频帧N为前向预测帧且需要保留时,对于视频帧N中的任意一个帧间编码块,矢量重建单元104根据视频帧N中的所述帧间编码块在部分解码后的视频流中的视频帧N-1中的预测块所覆盖的一个或多个编码块的原始运动矢量信息以及视频帧N-1中的所述一个或多个编码块中的每一个编码块被预测块所覆盖的面积与预测块的面积之比,获取预测块的近似运动矢量信息,根据预测块的近似运动矢量信息以及视频帧N中的所述帧间编码块的原始运动矢量信息,获取视频帧N中的所述帧间编码块的当前运动矢量信息。转换编码单元106利用部分解码后的视频流中的每个前向预测帧中的每个帧间编码块的当前运动矢量信息和残差信息、部分解码后的视频流中的每个前向预测帧中的每个帧内编码块的原始编码信息以及部分解码后的视频流中的每个内部编码帧的原始编码信息,对部分解码后的视频流进行帧率下采样转码。

为了判断部分解码后的视频流中的当前帧N是需要保留的视频帧还是需要跳过的视频帧,以及在确定当前帧N是需要保留的视频帧时判断当前帧N中的任意一个编码块是帧间编码块还是帧内编码块,根据本发明实施例的帧率下采样转码装置还可以包括判断执行单元108。在判断执行单元108中,首先判断部分解码后的视频流中的当前帧N是需要保留的视频帧还是需要跳过的视频帧,并且在当前帧N是需要保留的视频帧的情况下对当前帧N中的任意一个编码块进行以下处理:判断编码块是帧间编码块还是帧内编码块。具体地,判断执行单元例如可以根据部分解码后的视频流的帧频来判断部分解码后的视频流中的当前帧N是需要保留的视频帧还是需要跳过的视频帧。

图2示出了图1所示的帧率下采样转码装置执行的帧率下采样转码方法的流程图。如图2所示,该帧率下采样转码方法包括:S202,对压缩视频流进行部分解码,并获取部分解码后的视频流中包含的每个前向预测帧中的每个帧间编码块的原始运动矢量信息和残差信息、部分解码后的视频流中包含的每个前向预测帧中的每个帧内编码块的原始编码信息、以及部分解码后的视频流中包含的每个内部编码帧的原始编码信息(例如,可以由部分解码单元102完成)S204,当部分解码后的视频流中的视频帧N为前向预测帧且需要保留时,对于视频帧N中的任意一个帧间编码块,根据视频帧N中的所述帧间编码块在部分解码后的视频流中的视频帧N-1中的预测块所覆盖的一个或多个编码块的原始运动矢量信息以及视频帧N-1中的所述一个或多个编码块中的每一个编码块被预测块所覆盖的面积与预测块的面积之比,获取预测块的近似运动矢量信息,根据预测块的近似运动矢量信息以及视频帧N中的所述帧间编码块的原始运动矢量信息,获取视频帧N中的所述帧间编码块的当前运动矢量信息(例如,可以由矢量重建单元104完成);以及S206,利用部分解码后的视频流中的每个前向预测帧中的每个帧间编码块的当前运动矢量信息和残差信息、部分解码后的视频流中的每个前向预测帧中的每个帧内编码块的原始编码信息以及部分解码后的视频流中的每个内部编码帧的原始编码信息,对部分解码后的视频流进行帧率下采样转码(例如,可以由转换编码单元106完成)。

同样,为了判断部分解码后的视频流中的当前帧N是需要保留的视频帧还是需要跳过的视频帧,以及在确定当前帧N是需要保留的视频帧时判断当前帧N中的任意一个编码块是帧间编码块还是帧内编码块,根据本发明实施例的帧率下采样转码方法还可以包括在步骤S204之前执行的步骤S208:判断部分解码后的视频流中的当前帧N是需要保留的视频帧还是需要跳过的视频帧,并且在当前帧N是需要保留的视频帧的情况下对当前帧N中的任意一个编码块进行以下处理:判断编码块是帧间编码块还是帧内编码块(例如,可以由判断执行单元108完成)。例如,可以根据部分解码后的视频流的帧频来判断部分解码后的视频流中的当前帧N是需要保留的视频帧还是需要跳过的视频帧。

下面结合图3至图5,说明例如可以由矢量重建单元104完成的获取视频帧N中的任意一个帧间编码块A的当前运动矢量信息的处理以及例如可以由转换编码单元106完成的对视频帧N中的帧间编码块A进行转换编码的处理。

图3示出了根据本发明实施例的一种运动矢量重建处理的示意图。如图3所示,当前帧N中的帧间编码块A的尺寸为:

S=h×v    (1)

在等式(1)中,h和v的取值可以是4、8或16。帧间编码块A在被跳过的视频帧N-1中的预测块A’(其包括与帧间编码块A相等的像素数目)覆盖了视频帧N-1中的位于不同宏块(Macro Block,MB)中的多个编码块(在这里以8个作为示例进行说明,当然,这些编码块也可能位于同一宏块中)。在这里假设被覆盖的多个编码块均为帧间编码块,则这些编码块分别具有从视频帧N-2中的相关块指向其的运动矢量。由于视频帧N-1被跳过了,所以视频帧N-1到视频帧N的参考关系和视频帧N-2到视频帧N-1的参考关系不再有效。然而,为了对视频流进行进行重新编码,需要重建视频帧N-2中每一个编码块到视频帧N的参考关系。在图3中,预测块A’覆盖了视频帧N-1中的8个编码块。每个编码块i(i=1,2,3,…,8)都具有相对于视频帧N-2中的相关块的运动矢量MVi,该运动矢量MVi的水平分量为MV(xi)、垂直分量为MV(yi)。编码块i被预测块A’覆盖的区域的面积为A(i)。图3中的编码块1~8被预测块A’覆盖的区域的面积分别为:

A(1)=a×b    (2)

A(2)=b×c    (3)

A(3)=g×(a+c)    (4)

A(4)=g×(d+e)    (5)

A(5)=b×d        (6)

A(6)=b×e        (7)

A(7)=b×f        (8)

A(8)=g×f        (9)

其中,

b+g=h            (10)

a+c+d+e+f=v      (11)

可以根据以下等式,近似计算预测块A’相对于视频帧N-2中的相关块的运动矢量MV′:

>MV1SΣi=18MVi×A(i)---(12)>

然后,可以根据以下等式,利用帧间编码块A相对于预测块A’的运动矢量MV和预测块A’相对于视频帧N-2中的相关块的运动矢量MV′计算帧间编码块A相对于视频帧N-2中的相关块的运动矢量MVnew:

MVnew=MV+MV′   (13)

为了使得帧间编码块A的运动矢量MVnew尽可能精确,在计算预测块A’相对于视频帧N-2中的相关块的运动矢量MV′之前,可以首先计算编码块1~8的运动矢量的方差。如果编码块1~8的运动矢量的方差很大,则意味着这些编码块的活动性差别也非常大,所以这些块之间的相关性很小。在这种情况下,在随后的转换编码过程中应该对帧间编码块A进行帧内编码而不是帧间编码,所以不再需要计算帧间编码块A的运动矢量MVnew。例如,可以将对帧间编码块A进行帧内编码的条件表示如下:

InterToIntraFlag=

(var(MV(x0),MV(x1),…,MV(xi))>T)&&(var(MV(y0),MV(y1),…,MV(yi))>T)

(14)

在这里,可以将阈值T设置为N(N为被预测块覆盖的编码块的个数)个整数像素。如果InterToIntraFlag的值为1,则随后应该对帧间编码块A进行帧内编码,否则对帧间编码块A进行帧间编码。

图4示出了根据本发明实施例的另一种运动矢量重建处理的示意图。由于在当前视频编码背景下前向预测帧中允许存在帧内编码的宏块,所以预测块A’所覆盖的编码块中可能存在帧内编码块。在这种情况下,如果预测块A’所覆盖的一个或多个帧内编码块被预测块A’所覆盖的面积之和与预测块A’所覆盖的8个编码块被预测块A’所覆盖的面积之和(即,预测块A’的面积)的比值大于某个阈值(例如,3/4),则在随后的转换编码过程中帧间编码块A进行帧内编码,否则对帧间编码块A进行帧间编码。

图5示出了根据本发明实施例的转换编码单元的逻辑框图。在图5中,可变长度解码模块(VLD)502对输入的视频流进行解析,以提取视频流中的每个编码块的头信息、编码类型信息、块尺寸信息和/或运动矢量信息以及残差信息。当第一和第二量化器参数相同时,对于帧内编码块而言,可以跳过反量化器(IQ1)504和重量化器(Q2)508。在其他情况下,反量化器504从每个编码块中提取反向量化后的希尔伯特变换(Hilbert Transformation,HT)系数,并且在运动补偿单元(MC)512中实现对每个编码块的HT域运动补偿。同时,在矢量和尺寸信息存储模块514中存储每个编码块的运动矢量信息和块尺寸信息。对于被跳过的视频帧,其中包括的所有编码块的运动矢量信息都被存储在矢量和尺寸信息存储模块514中,以随后用于形成未被跳过的视频帧中的编码块的新的运动矢量。对于未被跳过的视频帧,未跳过帧存储模块518从解码帧存储器(DFS)复制解码后的数据,以用于计算新的残差。下面描述图5中的各个开关的功能:

(1)如果当前编码块属于内部编码帧则关闭S1,原始残差存储模块506中的残差数据通过可变长编码单元(VLC)510被直接输出。

(2)如果当前编码块属于被跳过的视频帧则打开S1并关闭S2,以将运动补偿后的数据存储在未跳过帧存储模块518中随后使用。另外,保留打开S3和S4,并且不输出数据。

(3)如果当前编码块属于未被跳过的视频帧并且根据编码类型确定模块516的确定结果得知当前编码块应该被帧内编码,则打开S1和S4同时关闭S3,以将未跳过帧存储模块518中的运动运动补偿后的数据输出到重量化器508用于重新量化。

(4)如果当前编码块属于未被跳过的视频帧并且根据编码类型确定模块516中的确定结果得知当前编码块应该被帧内编码,则打开S1并关闭其他三个开关。根据编码类型确定模块516中的确定结果在未跳过帧存储模块518中找出当前编码块的预测块,并且通过关闭S3和S4获取新的预测残差。然后,将解码帧存储模块520中的当前编码块与未跳过帧存储模块518中的预测块之间的差输出到重量化器508用于进一步量化。

在以上的描述中,数据不是像素域的而是变换域的。由于HT变换是线性变换,所以变换域的线性计算相当于像素域的线性计算。

以上已经参考本发明的具体实施例来描述了本发明,但是本领域技术人员均了解,可以对这些具体实施例进行各种修改、组合和变更,而不会脱离由所附权利要求或其等同物限定的本发明的精神和范围。

根据需要可以用硬件或软件来执行步骤。注意,在不脱离本发明范围的前提下,可向本说明书中给出的流程图添加步骤、从中去除步骤或修改其中的步骤。一般来说,流程图只是用来指示用于实现功能的基本操作的一种可能的序列。

本发明的实施例可利用编程的通用数字计算机、利用专用集成电路、可编程逻辑器件、现场可编程门阵列、光的、化学的、生物的、量子的或纳米工程的系统、组件和机构来实现。一般来说,本发明的功能可由本领域已知的任何手段来实现。可以使用分布式或联网系统、组件和电路。数据的通信或传送可以是有线的、无线的或者通过任何其他手段。

还将意识到,根据特定应用的需要,附图中示出的要素中的一个或多个可以按更分离或更集成的方式来实现,或者甚至在某些情况下被去除或被停用。实现可存储在机器可读介质中的程序或代码以允许计算机执行上述任何方法,也在本发明的精神和范围之内。

此外,附图中的任何信号箭头应当被认为仅是示例性的,而不是限制性的,除非另有具体指示。当术语被预见为使分离或组合的能力不清楚时,组件或者步骤的组合也将被认为是已经记载了。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号