CN101945265B - 一种基于带宽占用率的多节目恒码率ts流复用方法 - Google Patents
一种基于带宽占用率的多节目恒码率ts流复用方法 Download PDFInfo
- Publication number
- CN101945265B CN101945265B CN 201010258164 CN201010258164A CN101945265B CN 101945265 B CN101945265 B CN 101945265B CN 201010258164 CN201010258164 CN 201010258164 CN 201010258164 A CN201010258164 A CN 201010258164A CN 101945265 B CN101945265 B CN 101945265B
- Authority
- CN
- China
- Prior art keywords
- pid
- multiplexing
- video
- pcr
- frame
- 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.)
- Active
Links
Images
Landscapes
- Television Systems (AREA)
- Time-Division Multiplex Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种基于带宽占用率的多节目恒码率TS流复用方法,严格按照输出带宽计算节目当前时间参考PCR,保证输出带宽的稳定性;根据所需要复用数据在总带宽中的比率进行音、视频复用,保证了各路节目均匀插入;使多个编码后的单节目TS流复用为多节目TS流的方法,并且在复用过程中避免使用编码器。
Description
技术领域
本发明属于数字电视节目传输技术领域,特别涉及数字电视节目的单节目流复用为多节目流的方法。
背景技术
目前的TS流复用算法一般采用统计复用的方法。
对统计复用算法,统计复用算法是根据编码器压缩所需要的码率与图像内容之间的关系,固定复用器输出总码率的情况下,对多个视、音频流进行联合控制,达到多视、音频流尽量合理的共享总码率。它必须是编码器与复用器联合工作,且编码器必须具有动态码率控制的功能。
在目前的统计复用技术中,因为复用需要编码器的配合,对于一些输入的单节目已经是编码后数据的情况来讲,并不适合;在这种情况下,如果采用统计复用的方法,加入解码器和编码器对输入节目进行二次编码,必然会降低节目的质量。
发明内容
在本发明中,提供了一种直接把多个单节目TS流复用为多节目TS流的方法,避免使用编码器,保持了图像质量。
一种基于带宽占用率的多节目恒码率TS流复用方法,其特征为,按照输出带宽计算节目当前时间参考PCR,保证输出带宽的稳定性;根据所需要复用数据在总带宽中的比率进行音、视频复用,保证了各路节目均匀插入;使多个单节目TS流复用为多节目TS流的方法,并且在复用过程中避免使用编码器。
进一步,所述算法包括下列步骤:
1)计算节目当前时间参考PCR;
2)从SPTS文件中读取数据,并判断该数据是否是文件的结尾;如果判断结果为“否”则进入步骤3);如果判断结果为“是”则完成整个算法;
3)对是否要复用PAT表进行判断,如果判断结果为“否”则进入步骤4);如判断结果为“是”则复用PAT表并返回步骤1);
4)对是否要复用PMT表进行判断;如果判断结果为“否”则进入步骤5);如判断结果为“是”则复用PMT表并返回步骤1);
5)判断在音频列表中是否有需要复用的PID的音频数据,如果判断结果为“否”则进入步骤6);如判断结果为“是”则复用具有该PID的音频数据返回步骤1);
6)判断在视频列表中是否有需要复用的PID的视频数据,如果判断结果为“否”则复用空包;如判断结果为“是”则复用具有该PID的视频数据返回步骤1);
直到步骤2)中的判断结果为“是”则完成整个算法。
进一步,所述的PCR的计算方法为:
PCR(i)=PCR(0)+((total_bytes_sent+10)*8)/total_bit_rate。
其中:
PCR(i)是要是插入的PCR的值;
PCR(0)是开始复用时27M时钟的计数,一般设置为0;
total_bytes_sent是从开始复用到当前MPTS中已经复用的TS的字节总数;
10是PCR最后一位在调整字段中的位置;
total_bit_rate是我们设置的MPTS输出的总码率,即要输出的多节目TS的码率;
8是把字节转换成位。
进一步,通过使用的PSI/SI表格插入模块来判断步骤3)和4),并得出是否需要复用PAT或PMT表的结论。
进一步,步骤5)和6)中所述的音频或视频的复用总的原则是根据该每帧音频或视频本身的码率在MPTS的总码率中所占的比率进行复用:
某一PID音频或视频的该帧码率占总码率的比率的计算公式为:
Ratio_rate(pid)=bit_rate(pid)/total_bit_rate。
其中bit_rate(pid)为指定PID当前参与复用帧的码率;
total_bit_rate是我们设置的MPTS输出的总码率,即要输出的多节目TS的码率;
该PID已经复用的数据占已MPTS已经复用的总数据的比率的计算公式为:
Ratio_sent(pid)=Bytes_send(pid)/total_bytes_sent。
其中所述Bytes_send(pid)为该PID已经复用的字节数,total_bytes_sent为MPTS已经复用的总字节数;如果Ratio_sent(pid)大于等于Ratio_rate(pid),就停止复用该PID的数据。
进一步,在将所述视频进行复用时,需判断各个PID视频之间的优先级关系,并首先复用最渴望被复用的视频。
进一步,如果所述视频中的一部分为变码率,即VBR,同时多个PID的视频满足:
Ratio_sent(pid)<Ratio_rate(pid)。
也就是多个PID的视频需要被复用,则需要找出最渴望被复用PID视频;需要被复用的PID视频的渴望度算法如下:
Desiration(pid)=Ratio_sent(pid)/Ratio_rate(pid)。
Desiration(pid)值越小,表明越渴望被复用;每次取出该值最小的PID做为本次复用的PID。
进一步,需要对所述变码率视频的每帧或几帧数据重新计算一次瞬时的码率。
进一步,所述一帧变码率视频数据瞬时码率的计算公式为:
Temp_bitrate(pid)=ts_bytes_current_frame(pid)*8/duration_current_frame(pid)。
其中:
ts_bytes_current_frame(pid)为该PID当前帧所有TS包的字节数;
duration_current_frame(pid)为该帧数据在MPTS中的时间长度。
进一步,在变码率的情况下,所述duration_current_frame(pid)的计算公式为:
duration_current_frame(pid)=DTS_next(pid)-current_pcr-Video_Distance(DTS-PCR)。
其中:
DTS_next(pid)为当前要发送帧的下一帧的DTS;
current_pcr为复用时刻的PCR;
Video_Distance(DTS-PCR)为最初设置的DTS和PCR之间的间隔。
附图说明
图1为本发明所公开的复用方法的流程图。
具体实施方式
如图1所示,本发明中所公开的算法包括以下步骤:计算节目当前时间参考PCR,然后从SPTS文件中读取数据,读取数据后,首先判断该数据是否是文件的结尾,如果不是,则需要对其是否要复用PAT表进行判断,如果判断结果为“是”,则复用PAT表并返回到计算当前PCR步骤;如果判断结果为“否”,则继续判断其是否需要复用PMT表格,如果判断结果为“是”,则复用PMT表并返回到计算当前PCR步骤;如果判断结果为“否”,则继续判断在音频列表中是否有需要复用的PID,如果判断结果为“是”,则复用该PID的音频数据并返回到计算当前PCR步骤,如果判断结果为“否”,则继续判断在视频列表中是否有需要复用的PID,如果判断结果为“是”,则复用该PID的视频数据并返回到计算当前PCR步骤,如果判断结果为“否”,则复用空包,并返回到程序初始的计算当前PCR步骤,在随后的判断是否“已经读到文件结尾了吗”的步骤中,得到的结果为“是”,完成整个算法。
在上述的算法中的相关参数的计算方法如下:
首先,通过下面的PCR计算模块,计算每一时间的PCR的值:
在多节目复用时,一般把输出的MPTS的带宽设置为固定带宽。这样每一时间的PCR的值可以通过如下公式计算:
PCR(i)=PCR(0)+((total_bytes_sent+10)*8)/total_bit_rate。
其中:
PCR(i)是要是插入的PCR的值。
PCR(0)是开始复用时27M时钟的计数,一般可以设置0。
total_bytes_sent是从开始复用到当前MPTS中已经复用的TS的字节总数。
10是PCR最后一位在调整字段中的位置。
total_bit_rate是我们设置的MPTS输出的总码率,即要输出的多节目TS的码率。
8是用于把字节转换成位(下同)。
下一步,使用下面的PSI/SI表格插入模块来判断是否需要复用PAT或PMT表:
在DVB标准中,不同的表格规定了不同的发送间隔。我们可以根据当前TS包的时间进行发送间隔的控制。用当前包的时间减去上次发送表格时TS包的时间,如果这个时间间隔大于我们指定的间隔(这个间隔一般取小于表格要求的发送间隔),就发送一次表格。如DVB规定PAT表每500ms发送一次,我们可以设置发送间隔为400ms。
然后,使用DTS/PTS计算模块作为时间判断的基准:
DTS/PTS描述了ES流的解码时间和显示时间,对于视频而言,根据IBP帧类型不同而不同,I帧的DTS(解码时间戳)和PTS(显示时间戳)一般和PTS相同或早于PTS,P帧的DTS一般早于PTS,而B帧中一般只有PTS,它的DTS和PTS相同。对于音频而言,只有PTS,表示DTS和PTS相同。
对DTS而言,如果它的值相对于PCR太早,就会造成缓冲区的上溢,如果太晚,等于或小于了系统时钟,就会造成下溢,所以在DTS和PCR之间选择一个合适的差值是一个非常关键的问题。对于视频而言,在每个ES的图像头中有一个vbv_delay,它用来设置解码器的缓冲区,以避免解码器缓冲区上溢或下溢。一般我们取这个差值为:
0<Video_Distance(DTS-PCR)<=vbv_delay。
每帧视频数据vbv_delay值一般为700ms左右,也可能是一个不断变化的值。
对于音频,根据实验情况,一般取
0<Audio_Distance(DTS-PCR)<=90ms。
注意,在上面的公式中,DTS需要除以90K转换成时间值。下面使用到DTS的地方做相同的处理。
最后,根据DTS/PTS计算模块中的描述,结合使用下面的视音频交织模块来判断音频和视频列表中是否有需要复用的PID。
对于各个节目流,需要先对音视频进行分离。
节目流交织复用总的原则是根据该每帧音频或视频本身的码率在MPTS的总码率中所占的比率进行复用,某一PID音频或视频的该帧码率占总码率的比率的计算公式为:
Ratio_rate(pid)=bit_rate(pid)/total_bit_rate。
其中bit_rate(pid)为指定PID当前参与复用帧的码率。
该PID已经复用的数据占已MPTS已经复用的总数据的比率的计算公式为:
Ratio_sent(pid)=Bytes_send(pid)/total_bytes_sent。
其中Bytes_send(pid)为该PID已经复用的字节数,total_bytes_sent为MPTS已经复用的总字节数。如果Ratio_sent(pid)大于等于Ratio_rate(pid),就停止复用该PID的数据。
音频
在复用过程中,要优先对所有SPTS的音频进行复用,这是因为音频是恒码率。它的DTS值需要和PCR基本保持平行。
音频的缓冲区较小,对数据波动要求较视频更严格。
另外,因为相对于视频而言,音频占的比例太小,所以各SPTS的音频进行复用时不用考虑之间的优先级。
视频
如果所有SPTS的视频都是恒码率,可以和音频一样不考虑相互之间的优先级问题。如果有视频为变码率(VBR),并且,同时多个PID的视频满足:
Ratio_sent(pid)<Ratio_rate(pid)。
也是就多个PID的视频需要被复用,这时就需要对这些需要被复用的视频进行优先级的排队,找出最渴望被复用的那个PID的视频来,最先复用。需要被复用的PID视频的渴望度算法如下:
Desiration(pid)=Ratio_sent(pid)/Ratio_rate(pid)。
Desiration(pid)值越小,表明越渴望被复用。我们每次取出该值最小的PID做为本次复用的PID。
对于变码率的视频而言,需要每帧或几帧(如一个GOP)数据重新计算一次瞬时的码率,以一帧数据为例,瞬时码率的计算公式为:
Temp_bitrate(pid)=ts_bytes_current_frame(pid)*8/duration_current_frame(pid)
其中ts_bytes_current_frame(pid)为该PID当前帧所有TS包的字节数,duration_current_frame(pid)为该帧数据在MPTS中的时间长度,考虑到变码率的情况下,上一帧数据有可能占用下一帧数据的空间,duration_current_frame(pid)不应该直接取两帧数据的DTS之间的间隔,计算公式为:
duration_current_frame(pid)=DTS_next(pid)-current_pcr-Video_Distance(DTS-PCR)。
DTS_next(pid)为当前要发送帧的下一帧的DTS,current_pcr为复用时刻的PCR。Video_Distance(DTS-PCR)为我们最初设置的DTS和PCR之间的间隔。
本发明基于对已经编码的视频音频数据进行复用,保证了原视频音频的质量没有损失,同时也降低了系统的实现复杂度。
和现有的复用算法相比,本发明在计算PCR时,不是根据复用设备的系统时钟,而是严格按照输出带宽进行计算,保证了输出带宽的稳定性;在进行音视频复用时,根据每帧或几帧数据在总带宽中的比率进行复用,保证了各路节目均匀插入,并且在复用过程中不必使用编码器。
对于PCR的使用,在复用时可以每个节目使用单独的PCR,也可以多个节目共用PCR。
通过下表可以明显的看出本发明与现有技术之间的区别:
Claims (9)
1.一种基于带宽占用率的多节目恒码率TS流复用方法,其特征为:按照输出带宽计算节目当前时间参考PCR,保证输出带宽的稳定性;根据所需要复用数据在总带宽中的比率进行音、视频复用,保证了各路节目均匀插入;该方法使多个单节目TS流复用为多节目TS流,并且在复用过程中避免使用编码器,具体包括下列步骤:
1)计算节目当前时间参考PCR;
2)从单节目TS流SPTS文件中读取数据,并判断该数据是否是文件的结尾;如果判断结果为“否”则进入步骤3);如果判断结果为“是”则完成整个算法;
3)对是否要复用PAT表进行判断,如果判断结果为“否”则进入步骤4);如判断结果为“是”则复用PAT表并返回步骤1);
4)对是否要复用PMT表进行判断;如果判断结果为“否”则进入步骤5);如判断结果为“是”则复用PMT表并返回步骤1);
5)判断在音频列表中是否有需要复用的PID的音频数据,如果判断结果为“否”则进入步骤6);如判断结果为“是”则复用具有该PID的音频数据并返回步骤1);
6)判断在视频列表中是否有需要复用的PID的视频数据,如果判断结果为“否”则复用空包;如判断结果为“是”则复用具有该PID的视频数据并返回步骤1);
直到步骤2)中的判断结果为“是”则完成整个算法。
2.如权利要求1中所述方法,其特征为:所述的PCR的计算方法为:
PCR(i)=PCR(0)+((total_bytes_sent+10)*8)/total_bit_rate;
其中:
PCR(i)是要插入的PCR的值;
PCR(0)是开始复用时27M时钟的计数,一般可以设置0;
total_bytes_sent是从开始复用到当前,多节目TS流MPTS中已经复用的TS的字节总数;
10是PCR最后一位在调整字段中的位置;
total_bit_rate为设置的多节目TS流MPTS输出的总码率,即要输出的多节目TS的码率;
8是用来把字节转换成位。
3.如权利要求1中所述方法,其特征为:通过使用PSI/SI表格插入模块来判断步骤3)和4),并得出是否需要复用PAT或PMT表的结论。
4.如权利要求1中所述方法,其特征为:步骤5)和6)中所述的音频或视频的复用的总的原则是根据每帧音频或视频本身的码率在多节目TS流MPTS的总码率中所占的比率进行复用;
某一PID音频或视频的该帧码率占总码率的比率的计算公式为:
Ratio_rate(pid)=bit_rate(pid)/total_bit_rate;
其中bit_rate(pid)为指定PID当前参与复用帧的码率;
total_bit_rate为设置的MPTS多节目TS流输出的总码率,即要输出的多节目TS的码率;
该PID已经复用的数据占MPTS已经复用的总数据的比率的计算公式为:
Ratio_sent(pid)=Bytes_send(pid)/total_bytes_sent;
其中所述Bytes_send(pid)为该PID已经复用的字节数,total_bytes_sent为MPTS已经复用的总字节数;如果Ratio_sent(pid)大于等于Ratio_rate(pid),就停止复用该PID的数据。
5.根据权利要求1中所述方法,其特征为:在将所述视频进行复用时,需判断各个PID视频之间的优先级关系,并首先复用最渴望被复用的视频。
6.根据权利要求5中所述方法,其特征为:如果所述视频中的一部分为变码率,即VBR,同时多个PID的视频满足:
Ratio_sent(pid)<Ratio_rate(pid);
也就是多个PID的视频需要被复用,则需要找出最渴望被复用PID视频;需要被复用的PID视频的渴望度算法如下:
Desiration(pid)=Ratio_sent(pid)/Ratio_rate(pid);
Desiration(pid)值越小,表明越渴望被复用;每次取出该值最小的PID作为本次复用的PID。
7.根据权利要求6中所述方法,其特征为:需要对所述变码率视频的每帧或几帧数据重新计算一次瞬时的码率。
8.根据权利要求7中所述方法,其特征为:所述一帧变码率视频数据瞬时码率的计算公式为:
Temp_bitrate(pid)=ts_bytes_current_frame(pid)*8/duration_current_frame(pid);
其中:
ts_bytes_current_frame(pid)为该PID当前帧所有TS包的字节数;
duration_current_frame(pid)为该帧数据在多节目TS流MPTS中的时间长度。
9.根据权利要求8中所述方法,其特征为:在变码率的情况下,所述duration_current_frame(pid)的计算公式为:
duration_current_frame(pid)=DTS_next(pid)-current_pcr-Video_Distance(DTS-PCR);
其中:
DTS_next(pid)为当前要发送帧的下一帧的解码时间戳DTS;
current_pcr为复用时刻的PCR;
Video_Distance(DTS-PCR)为最初设置的DTS和PCR之间的间隔。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010258164 CN101945265B (zh) | 2010-08-19 | 2010-08-19 | 一种基于带宽占用率的多节目恒码率ts流复用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010258164 CN101945265B (zh) | 2010-08-19 | 2010-08-19 | 一种基于带宽占用率的多节目恒码率ts流复用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101945265A CN101945265A (zh) | 2011-01-12 |
CN101945265B true CN101945265B (zh) | 2013-05-08 |
Family
ID=43436995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010258164 Active CN101945265B (zh) | 2010-08-19 | 2010-08-19 | 一种基于带宽占用率的多节目恒码率ts流复用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101945265B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131858B (zh) * | 2019-12-30 | 2022-03-08 | 杭州当虹科技股份有限公司 | 一种基于ts视频pid的固定码率的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1411280A (zh) * | 2002-11-21 | 2003-04-16 | 北京中科大洋科技发展股份有限公司 | 一种制作和发送及接收广播式准视频点播节目的装置 |
CN1681325A (zh) * | 2000-06-09 | 2005-10-12 | 通用仪器公司 | 视频尺度转换及从mpeg-2到mpeg-4的编码转换 |
CN1794812A (zh) * | 2005-12-05 | 2006-06-28 | 上海广电(集团)有限公司中央研究院 | 一种传输流复用的方法 |
CN101068366A (zh) * | 2007-06-05 | 2007-11-07 | 南京大学 | 基于h.264多路视频转码复用的方法和复用器 |
CN101287127A (zh) * | 2008-02-26 | 2008-10-15 | 四川金网通电子科技有限公司 | 地面数字电视系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3526225B2 (ja) * | 1998-11-04 | 2004-05-10 | シャープ株式会社 | デジタル放送受信装置 |
GB0007870D0 (en) * | 2000-03-31 | 2000-05-17 | Koninkl Philips Electronics Nv | Methods and apparatus for making and replauing digital video recordings, and recordings made by such methods |
CN101193290A (zh) * | 2006-11-22 | 2008-06-04 | 中兴通讯股份有限公司 | 一种mpeg-4的传输码流到互联网流媒体联盟流的实时转换系统 |
JP5041844B2 (ja) * | 2007-03-28 | 2012-10-03 | 株式会社日立国際電気 | Pcr補正回路 |
CN101212671A (zh) * | 2007-12-21 | 2008-07-02 | 上海广电(集团)有限公司中央研究院 | 一种低延迟的实时复用传输流的方法 |
-
2010
- 2010-08-19 CN CN 201010258164 patent/CN101945265B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1681325A (zh) * | 2000-06-09 | 2005-10-12 | 通用仪器公司 | 视频尺度转换及从mpeg-2到mpeg-4的编码转换 |
CN1411280A (zh) * | 2002-11-21 | 2003-04-16 | 北京中科大洋科技发展股份有限公司 | 一种制作和发送及接收广播式准视频点播节目的装置 |
CN1794812A (zh) * | 2005-12-05 | 2006-06-28 | 上海广电(集团)有限公司中央研究院 | 一种传输流复用的方法 |
CN101068366A (zh) * | 2007-06-05 | 2007-11-07 | 南京大学 | 基于h.264多路视频转码复用的方法和复用器 |
CN101287127A (zh) * | 2008-02-26 | 2008-10-15 | 四川金网通电子科技有限公司 | 地面数字电视系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101945265A (zh) | 2011-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11722702B2 (en) | Method and apparatus for decoding an enhanced video stream | |
US9967616B2 (en) | Method and system for priority-based digital multi-stream decoding | |
TW477128B (en) | Using a receiver model to multiplex variable-rate bit streams having timing constraints | |
US10827208B2 (en) | Transmitting method, receiving method, transmitting device and receiving device | |
EP2253070B1 (en) | Method and apparatus for demultiplexing a scalable video stream | |
US8135020B1 (en) | Packet schedule timestamp for a compressed bitstream | |
US7924834B2 (en) | Multiplexing apparatus, multiplexing method, program, and recording medium | |
CN101212671A (zh) | 一种低延迟的实时复用传输流的方法 | |
US11722714B2 (en) | Transmitting method, receiving method, transmitting device and receiving device | |
US20100232453A1 (en) | Information processing apparatus and multiplexing method | |
CN101820540B (zh) | 一种mpeg-2编码复用的方法 | |
CN100499821C (zh) | 一种统计复用传输流的方法 | |
CN101945265B (zh) | 一种基于带宽占用率的多节目恒码率ts流复用方法 | |
EP2609743B1 (en) | Improved program clock reference insertion | |
CN111131858B (zh) | 一种基于ts视频pid的固定码率的方法 | |
CN111988641B (zh) | 传输流复用音视频时间同步方法 | |
KR100732323B1 (ko) | 지상파 디엠비 방송 시스템에서의 부가데이터 송출을 위한대역제어방법 및 장치 | |
US8046623B2 (en) | Timing recovery apparatus and method thereof | |
Chen | Examples of Video Transport Multiplexer | |
CN102685558A (zh) | Ts流字幕插入方法 |
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 | ||
C56 | Change in the name or address of the patentee |
Owner name: BEIJING BOHUI TECHNOLOGY CO., LTD. Free format text: FORMER NAME: BEIJING BOHUI SCIENCE AND TECHNOLOGY CO., LTD. |
|
CP03 | Change of name, title or address |
Address after: 100094, No. 501, No. 7, incubator building, Feng Yin Middle Road, Yongfeng industry base, Beijing, Haidian District, B Patentee after: Bo Hui Science and Technology Co., Ltd. of Beijing Address before: 100085, Beijing, Haidian District on the East Road, No. 1, building 4, 6 floor Patentee before: Beijing Bohui Technology Co., Ltd. |