版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 1缩写(缩写(ABBREVIATION).1 2基本概念基本概念.3 2.1传输流(TRANSPORT STREAM / TS).3 2.2网络(NETWORK).3 2.3业务(SERVICE).3 2.4业务群(BOUQUET).3 2.5事件(EVENT).4 2.6组件(COMPONENT).4 2.7PSI / SI.4 3PSI/SI 表的结构表的结构.5 3.1TABLE、SUB_TABLE和SECTION.5 3.2SECTION.5 3.2.1section_header .6 3.2.2descriptor .6 3.2.3table_loop .7 4PSI / SI
2、 表表.8 4.1PMT(PROGRAM MAP TABLE).8 4.2PAT( PROGRAM ASSOCIATION TABLE ).9 4.3CAT( CONDITIONAL ACCESS TABLE ).9 4.4NIT( NETWORK INFORMATION TABLE ) .10 4.5SDT( SERVICE DESCRIPTION TABLE ).11 4.6EIT ( EVENT INFORMATION TABLE ).11 4.7BAT( BOUQUET ASSOCIATION TABLE ).12 2 1 1缩写(缩写(Abbreviation) 缩写词全称中文意思
3、MPEGMotion Picture Experts Group运动图象专家组 DVBDigital Video Broadcasting数字视频广播 IRDIntegrated Receiver Decoder综合接收解码器 PSIProgram Specific Information节目说明信息 SIService Information业务信息 CATConditional Access Table条件接收表 PATProgram Association Table节目关联表 PMTProgram Map Table节目映射表 EITEvent Information Table事件信
4、息表 NITNetwork Information Table网络信息表 SDTService Description Table业务描述表 TDTTime and Date Table时间/日期表 BATBouquet Association Table业务群关联表 RSTRunning Status Table运行状态表 TOTTime Offset Table时间偏移表 uimsbfunsigned integer most significant bit first bslbfbit string, left bit first 2 2基本概念基本概念 2.1传输流(传输流(Trans
5、port Stream / TS) 传输流是 MPEG II 规范的系统层提出的、对多路节目进行复用的两种方案之一,它主要针对非可靠 信道的传输(另一种方案节目流是针对可靠信道的传输而提出的) ,比如卫星信道、微波信道和 CATV 信道。传输流这种机制可将多路节目复用成一个流,并且,同一节目还可以包含多个视频和音频流。 组成传输流的是一系列连续的数据包,简称 TS 包。TS 包的长度固定,一般是 188 字节。如果在这 种 TS 包的尾部加入 16 字节的 RS 纠错码,则包长为 204 字节。 传输流的形成过程可以用图 2.1 来说明。组成节目的视频流和音频流经过基础流编码器之后,形成基 本
6、流,每一路视频流或音频流对应一路基本流。基本流经过打包,形成 PES 包流。每一个 PES 包都有流 标识、用于视、音频解码和播放同步的时戳。PES 包和其它的数据、控制信息经过复用器,形成 TS 包。 每一个 TS 包都有一个包标识 PID,同一基础流对应的 TS 包,PID 的值相同。TS 流就是通过对各个 基础流分配不同的 PID 号来唯一的标识各个不同的基础流、信息表和其它数据。每一个 TS 包最多只能传 输一路基础流的内容。 MPEG II 基础流编码器 MPEG II 基础流编码器 视频流数据 音频流数据 MPEG II 基本流(ES) MPEG II 基本流(ES) ES包形成器
7、 ES包形成器 ES包流 (PES) ES包流 (PES) MUX 数据和控制信息 MPEG II 传输流(TS) 图 2.1 传输流系统框图 为了实现众多编码器与解码器直接的时钟同步,防止解码器的缓冲发生上溢或下溢,在系统流中加入 了一个精确的系统级时间参考值,在 TS 流中,这个值被称为节目参考时钟 PCR。在解码器端,当检测到 本地系统时钟和 PCR 所表征的时钟不一致时,解码器将调整本地系统时钟。 2.2网络(网络(network) 一个传输系统,可以传输一组 MPEG II 码流。网络使用 network_id 来进行标识,不同运营商所运 营的网络,对应的 network_id 不同
8、。 2.3业务(业务(service) 在广播者的控制下,可以按照时间表分步广播的一系列节目。一个业务可以理解为一个逻辑意义上的 频道。使用 service_id 来标识一个业务。同一个传输流中,service_id 必须唯一。 2.4业务群(业务群(bouquet) 一个业务群是一系列业务的集合。这些业务可以来自不同的 TS 流甚至不同的网络。业务群的概念可 以这样来理解:假设有两个业务提供商 PA 和 PB,PA 提供了 10 套节目,PB 提供了 20 套节目。但是, 3 对于某一个地域的用户,只希望他们收到 PA 提供的 3 套节目和 PB 提供的 5 套节目。此时,可以将这些 节目组
9、成一个业务群。 2.5事件(事件(event) 一组属于普通业务的广播数据流,它定义了起始时间和结束时间,一个事件就是一个节目,更确切的 说,是一个节目段。例如:一场足球比赛的半场,新闻快报,娱乐表演的第一部分。 2.6组件(组件(Component) 组件是组成节目段的一个或多个实体,对应“传输流”概念中的基础流。 以上概念之间的关系如图 2.2 所示。 卫星 转发器 1 有线地面 转发器 2转发器 T通道 1通道 2通道 T通道 1通道 2通道 T 业务 1业务 2业务 T业务 1业务 2业务 T业务 1业务 2业务 T 事件 1事件 2事件 T t 视频音频 1音频 2数据 业务群 网络
10、 复用 业务 事件 组件 图 2.2 2.7PSI / SI 在 MPEG II 标准的系统部分重点描述了 MPEG II 系统级传输流中包含的 PSI 信息。PSI 描述了传输 流所携带的内容,包含了对构建各节目的基本流的描述和对节目本身的描述。为了给 IRD 提供更多的接 收和解码所需信息,支持更复杂的应用,DVB 又准备了一个开放的服务信息系统(DVB-SI)来辅助 DVB 信号。SI 可以描述由某一播放者提供的每一个服务的技术特征及其他的信息,通过 SI 的帮助,用户可以 在传输流中选择服务或事件,机顶盒使用 SI 信息能完成自动配置和自动接收。 所有的 PSI/SI 信息都以表的形式
11、从中心系统广播下来,表中包含了整个广播网络的物理特征和节目 信息,所有这些表在传输时,都将被封装在大小固定的被称为段(section)的数据块中。 4 3PSI/SI 表的结构表的结构 3.1table、sub_table 和和 section PSI 表包括 CAT、PAT、PMT,SI 表包括 NIT、SDT、EIT、BAT、TDT、TOT、RST 等。从结构上 来说,这些表都由一个或多个子表组成,而子表又进一步由一个或多个 section 组成。section 最初是在 MPEG II 中定义的语法结构,在从 PSI 表到 TS 包的转换过程中,section 起到了中介的作用。DVB
12、在扩 展 PSI 为 SI 的时候,沿用了这种语法结构。 PSISI 表的框架如图 3.1 所示: Section Section SubTable SubTable Table 图 3.1 Table、SubTable 和 Section 的结构关系 不同的表之间可以通过表标识(table_id)进行区分,属于同一个 table_id 的不同子表一般通过表的 扩展标识(table_id_extension) 、版本号(version_number)进行区分,对于 EIT 和 SDT 的子表,还要 加上其它的条件。这些用于区分子表的“域” (field)在每一个具体的表中都作了定义。 3.2s
13、ection 一个比较一般的 section 结构如图 3.2 所示。 PSISI_table_section() section_header; for i = 0; i N; i + /* 1st descriptor loop */ descriptor(); other_fields; for i = 0; i N; i + /* table loop */ table_loop_header; for j = 0; j M; j + /* 2nd descriptor loop */ descriptor(); section_tail; 图 3.2 section 的结构 在 se
14、ction_header 部分包含了用于区分子表的“域” (field) ;section_header 之后可能有第一层描 述符循环和表循环,一个表循环之中又可能再次包含描述符循环(习惯上称为第二层描述符循环) 。所谓 “循环” ,就是指相同或类似的数据结构重复出现。 “other_fields”位置处一般会有一个数据用于指示表循 环结构的长度(以字节为单位) , “section_tail”处一般是一个 32 位的 CRC 校验位。 5 3.2.1section_header section_header 的语法结构如表 3.1 所示。 表 3.1 section_header 语法结构
15、SyntaxNo. of bitsIdentifierRemark section_header table_id8 uimsbf section_syntax_indicator1 bslbf reserved_future_use1 bslbf reserved2 bslbf section_length12 uimsbf table_id_extension16 uimsbfIf section_syntax_indicator = 1 version_number5 uimsbfIf section_syntax_indicator = 1 current_next_indicator
16、1 bslbfIf section_syntax_indicator = 1 section_number8 uimsbfIf section_syntax_indicator = 1 last_section_number8 uimsbfIf section_syntax_indicator = 1 不同的 PSISI 表具有不同的 table_id,在文档 En300468 中,有 PSISI 表和 table_id 的对应关系。 section_syntax_indicator 最早在 MPEG II 中使用,主要用于“私有数据表” (private data table),其 值为 0
17、 和 1 的时候,私有数据表的结构不同。DVB 中也使用了 section_syntax_indicator,当它的值为 1 时,section 的第四、第五个字节表示 table_id_extension,并且从 section 第 43 位开始的 5 位表示子表 的版本号(version_number) ,第 48 位表示当前表是否有效(current_next_indicator) ,第 7 个字节表示 当前 section 的编号(section_number) ,第 8 个字节记录子表中 section_number 的最大值。 section_length 表示从 section
18、的第四字节开始到 section 结束的数据区的字节长度。对于一般的 PSISI 表,section_length 的最大值为 1024;对于 EIT 表,section_length 的最大值为 4096。 当 section_syntax_indicator 的值为 1 时,section 的第四、第五字节表示 table_id_extension,对于 不同的表,table_id_extension 的物理意义不同。PSISI 表中有两个表例外,即 PSI 表中的 CAT 表和 SI 表中的 ST 表。这两个表都没有 table_id_extension,但 CAT 表的 section
19、_syntax_indicator 必须是 1,ST 表的 section_syntax_indicator 可以为 0,也可以为 1。 当 section_syntax_indicator 的值为 1 时,从 section 第 43 位开始的 5 位表示子表的版本号 (version_number) 。version_number 的值从零开始,每当子表内容改变时,version_number 的值加 1。当 version_number 增加到 31 后,再次回归到零。 当 section_syntax_indicator 的值为 1 时,section 的第 48 位表示当前表是否有效
20、 (current_next_indicator) 。如果 current_next_indicator 的值为 1,表示当前表有效,为 0,表示当前表 无效,下一个表有效。 3.2.2descriptor 一个 descriptor 是一个语义上比较完整的语法结构,用于提供特定的信息,比如, network_name_descriptor 用于描述一个网络名称,service_descriptor 用于描述一个业务的类型、业务提 供商的名称和业务名称。 所有的 descriptor 都以一个 8 位的标识:descriptor_tag 开使,后面紧跟一个 8 位的数表示从 descripto
21、r 的第 3 个字节开始到 descriptor 结束的数据区的字节长度。从 descriptor 的第 3 个字节开始到 descriptor 结束的数据是各个 descriptor 的具体内容。如表 3.2 所示。 6 表 3.2 descriptor 结构示意 SyntaxNo. of bitsIdentifier PSISI_descriptor() descriptor_tag8 uimsbf descriptor_length8 uimsbf descriptor_content descriptor_tag 的值可以从 0255,其中,0、1 保留,218 是 PSI 中定义的描
22、述符,1963 保留, 64110 是 SI 中定义的描述符,111127 保留,128254 可以定义私有描述符,255 禁用。如图 3.3 所示。 10218196364110111127128254255 PSI descriptorsSI descriptorsuser define descriptorsreservedforbidden 图 3.3 descriptor_tag allocation 为了叙述方便,下文将 descriptor_tag 值在 218 的描述符称为 PSI 描述符,将 descriptor_tag 值在 64110 的描述符称为 SI 描述符。 同一个
23、 descriptor 可能位于不同的 PSISI 表中,也可能位于同一个 PSISI 表的第一和(或)第二层描 述符序列中。文档 IS13818 没有规定 PSI 描述符在 PSI 表中可能出现的位置。可以认为,PSI 描述符可 以出现在 PSI 表中的任何位置,只要该描述符对于该 PSI 表是有特定意义的。 文档 En300468 的表 12 描述了 SI 描述符在 PSISI 表中可能出现的位置,在文档 Etr211 中,详细规 定了各个 SI 表中允许出现的 SI 描述符。对于某一个特定的 SI 表,在 section 中的特定位置,只能出现特 定的 SI 描述符,其它描述符在这个位置
24、出现都是没有意义的。 3.2.3table_loop table_loop 对应于特定的 PSISI 表,不同 PSISI 表的 table_loop 结构上不同,具有不同的含义。例如, NIT 表的 table_loop 对应特定网络中的传输流,传输流的个数等于 NIT 中 table_loop 的个数;SDT 表的 table_loop 对应特定传输流中的业务(service) ,service 的个数等于 SDT 中 table_loop 的个数。 图 3.4 是对本节的总结。 Section Section SubTable SubTable Table PSISI_table_sec
25、tion 1st descriptor loop section_header descriptor descriptor other_fields table loop table_loop_header 2nd descriptor loop descriptor descriptor section_tail Syntax No. of bits Identifier section_header table_id section_syntax_indicator reserved_future_use reserved section_length table_id_extension
26、 version_number current_next_indicator section_number last_section_number uimsbf bslbf bslbf bslbf uimsbf uimsbf uimsbf bslbf uimsbf uimsbf PSISI_descriptor() descriptor_tag descriptor_length descriptor_content 8 8 uimsbf uimsbf 8 1 1 2 12 16 5 1 16 16 Syntax No. of bits Identifier 图 3.4 PSI / SI 结构
27、 7 4PSI / SI 表表 4.1PMT(Program Map Table) 现在回顾一下图 2.1,在节目发送端,一个节目(用 program_number 标识)可以由音频流、视频流 组成,视、音频流经过处理,形成 TS 包之后,对应的 TS 包便带上了 PID 信息。不同的视、音频流对应 的 PID 值不同。 PMT 描述了当前 TS 流中节目的视、音频 PES 流和 PCR 的 PID,PMT 的个数等于当前 TS 流中节 目的个数。通过 PMT,可以从 MPEG II 传输流中提取指定节目的基本流并予以解码重放。 PMT 的语法结构如表 4.1 所示。 表 4.1 PMT 语法
28、结构 SyntaxNo. of bitsIdentifier program_map_section() table_id 8 uimsbf section_syntax_indicator 1 bslbf reserved_future_use1 bslbf reserved2 bslbf section_length12 uimsbf program_number16 uimsbf reserved2 bslbf version_number5 uimsbf current_next_indicator1 bslbf section_number8 uimsbf last_section_
29、number8 uimsbf reserved3 bslbf PCR_PID13 uimsbf reserved4 bslbf program_info_length12 uimsbf for(i=0;iN;i+) descriptor() for(i=0;iN;i+) stream_type8 uimsbf reserved3 bslbf elementary_PID13 uimsbf reserved4 bslbf ES_info_length12 uimsbf for(j=0;jN;j+) descriptor() CRC_3232 rpchof 表中的 program_number 用
30、于标识当前节目,PCR_PID 指示带有当前节目 PCR 信息的 TS 包的 PID,PMT 循环结构的个数等于组成该节目的视、音频流的个数,每一个循环结构和组成该节目的一个视 频或音频流对应,stream_type 说明流的类型,elementary_PID 指示带有流数据的 TS 包的 PID。 收到节目的 PMT 后,可以根据 PCR_PID 获得 PCR,实现接收端和发送端的时钟同步;根据每个表 循环中的 elementary_PID 获得相应基础流的数据,重现节目。 PMT 的接收同样是根据 PID 来实现的,PID 的值从下面的 PAT 中获得。 8 4.2PAT( Program
31、 Association Table ) PAT 表规定使用 PID = 0 的 TS 包来传送,它列出了所属 TS 流中所有节目的编号,以及各编号节目 所对应的 PMT 的 PID。根据列出的 PID,接收端就可以获得所有的 PMT 表。PAT 如表 4.2 所示。 表 4.2 PAT 语法结构 SyntaxNo. of bitsIdentifier program_association_section() table_id8 uimsbf section_syntax_indicator1 bslbf “0”1 bslbf reserved2 bslbf section_length12
32、 uimsbf transport_stream_id16 uimsbf reserved2 bslbf version_number5 uimsbf current_next_indicator1 bslbf section_number8 uimsbf last_section_number8 uimsbf for(i=0;iN;i+) program_number16 uimsbf reserved3 bslbf if(program_number = 0) network_PID13 uimsbf else program_map_PID13 uimsbf CRC_3232 rpcho
33、f 在 PAT 的表循环中,一般有一个 program_number 值为 0 的循环,该循环中包含了 NIT 表的 PID 的 信息;其它的循环中都是一个节目对应 PMT 的 PID。 如果要收看的节目属于条件接收节目,接收端还必须提取 PSI 中的条件接收表,利用其中的信息对被 加扰的节目进行解扰。 4.3CAT( Conditional Access Table ) CAT 表使用 PID = 0 x0001 的 TS 包来传送,其语法结构如表 4.3 所示。 表 4.3 CAT 表(左)和 CA_descriptor(右)的语法结构 SyntaxNo. of bits Identifi
34、er conditional_access_section() section_header for(i=0;iN;i+) descriptor() CRC_3232 rpchof SyntaxNo. of bitsIdentifier CA_descriptor() descriptor_tag8uimsbf descriptor_length8uimsbf CA_system_ID16uimsbf reserved3bslbf CA_PID13uimsbf for ( i=0; iN; i+) private_data_byte8uimsbf 9 CAT 表的信息在描述符 CA_descr
35、iptor 中,CA_system_ID 用于标识 CA 系统,CA_system_ID 的值 是统一分配的,在文档 ETR162 中可以查到;条件接收节目在编码的时候,相应 CA 系统的 EMM(entitled management message)或 ECM(entitled control message)信息也同时通过 TS 包发出, CA_PID 用于指示这些 TS 包的 PID。 一旦某一个 CA 系统参与了加扰工作,在 CAT 中就有一个 CA_descriptor 用于描述该 CA 系统。 4.4NIT( Network Information Table ) NIT 传输与
36、复用器传输流( TS )的物理结构有关的信息,以及网络本身的特点。在 MPEG II 中, NIT 属于私有表,传送 NIT 的 TS 包的 PID 可以在 0 x00100 x1FFF 之间选择,因此,PAT 表中专门有一 个 program_number = 0 的循环用于指示传送 NIT 的 TS 包的 PID;在 DVB 中对 NIT 作了进一步的定义, 并且规定,NIT 信息必须使用 PID = 0 x0010 的 TS 包传送,这样,接收 NIT 时就不需要从 PAT 中查找其 PID,而直接去 PID = 0 x0010 的 TS 包中接收即可。NIT 的语法如表 4.4 所示。
37、 表 4.4 NIT 语法结构(部分) SyntaxNo. of bitsIdentifier network_information_section() table_id8 network_id16 uimsbf for(i=0;iN;i+) descriptor() reserved_future_use4 bslbf transport_stream_loop_length12 uimsbf for(i=0;iN;i+) transport_stream_id16 uimsbf original_network_id16 uimsbf reserved_future_use4 bslbf
38、 transport_descriptors_length12 uimsbf for(j=0;jN;j+) descriptor() CRC_3232 rpchof 其中,table_id 的取值可以是 0 x40 或 0 x41,当 table_id = 0 x40 时,表示 NIT 描述的是当前网络的 信息;table_id = 0 x41 时,NIT 描述的是其它网络的信息。 ,DVB 规定,table_id = 0 x40 的 NIT 表必须发 出。 network_id 是 NIT 描述的网络的标识。 NIT 表的每一个表循环用于描述 network_id 指定网络中的一个 TS 流
39、。从表循环的结构可以看出,一 个 TS 流是用 ts_id 和 original_network_id 来唯一标识的。考虑下面的情况:假设在网络 A(network_id = NID_A)和网络 B(network_id = NID_B)中分别产生了一路 TS 流 TS_A 和 TS_B,它们的 ts_id 相同, 都是 TS_ID_AB。当 TS_A 和 TS_B 各自在独立的网络中传输时,没有问题。但如果这两路 TS 流传输到 了同一个网络中时,只根据 ts_id 来标识它们就出现了问题,很显然,TS_A 和 TS_B 是不同的 TS 流,但 它们的 ts_id 是相同的。所以,为了唯一的
40、标识 TS 流,引入了 original_network_id,表示 TS 流产生的网 络。这样,对于上面的情况,TS_A 的标识是 NID_A, TS_ID_AB ,TS_B 的标识是 NID_B, TS_ID_AB , TS 流不同,标识也不同。 在 NIT 的第二层描述符序列中,可以使用一个叫 service_list 的描述符列出相应 TS 流中所有的业务。 service_list_descriptor 的语法如表 4.5 所示。 10 表 4.5 service_list_descriptor 语法结构 SyntaxNo. of bitsIdentifier service_lis
41、t_descriptor() descriptor_tag 8 uimsbf descriptor_length8 uimsbf for (i=0;iN;I+) service_id16 uimsbf service_type8 uimsbf 在描述符的循环结构中,列出了所有业务的标识和类型。 4.5SDT( Service Description Table ) SDT 表使用 PID = 0 x0011 的 TS 包传送,其语法结构如表 4.6 所示。 表 4.6 SDT 语法结构(部分) SyntaxNo. of bitsIdentifier service_description_se
42、ction() table_id8 uimsbf transport_stream_id16 uimsbf original_network_id16 uimsbf for(i=0;iN;i+) service_id16 uimsbf reserved_future_use6 bslbf EIT_schedule_flag1 bslbf EIT_present_following_flag1 bslbf running_status3 uimsbf free_CA_mode1 bslbf descriptors_loop_length12 uimsbf for(j=0;jN;j+) descr
43、iptor() CRC_3232 rpchof SDT 用于描述由 ts_id, original_network_id 确定的 TS 流中所有 service 的信息,TS 流可以是当 前 TS 流或者其它的 TS 流。当 table_id 取值为 0 x42 时,SDT 对应当前的 TS 流;当 table_id 取值为 0 x46 时,SDT 对应其它的 TS 流。DVB 规定,table_id 为 0 x42 的 SDT 表必须发出。 SDT 表循环结构的个数等于 TS 流中 service 的个数,service_id 和 ts_id、original_network_id 一起,
44、用于唯一确定一个 service。DVB 建议,一旦某一个 service 被分配了一个 service_id 之后,这个 service_id 应该保持不变,这样有利于 IRD 提供一些诸如“favourate channel”之类的功能。 running_status 标识 service 的状态,free_CA_mode 标识 service 中是否含有经过加扰的 event。 4.6EIT ( Event Information Table ) EIT 表描述由 original_network_id, ts_id, service_id 所标识的 service 中的 event 信
45、息,对于每一 个 service,都有一个 EIT 子表和它对应。一个 EIT 表循环结构的对应于 service 中的 event,当 event 的 数目大于 1 时,这些 event 按照起始时间的先后顺序排列。 EIT 表使用 PID = 0 x0012 的 TS 包传送,其语法结构如表 4.7 所示。 11 表 4.7 EIT 表语法结构 SyntaxNo. of bitsIdentifier network_information_section() table_id8 uimsbf service_id16 uimsbf transport_stream_id16 bslbf o
46、riginal_network_id16 uimsbf segment_last_section_number8 last_table_id8 for(i=0;iN;i+) event_id16 uimsbf start_time40 bslbf duration24 uimsbf running_status3 uimsbf free_CA_mode1 bslbf descriptors_loop_length12 uimsbf for(j=0;jN;j+) descriptor() CRC_3232 rpchof EIT 的 table_id 的取值和含义可以用表 4.8 来说明。 表 4.8 EIT 表 table_id 的取值和含义 table_id含义 0 x4EEIT 描述的当前/后继(present / following)event 信息在当前传输流中; 0 x4FEIT 描述的当前/后继(present / following)event 信息不在当前传输流中(在其它传输流 中) ; 0 x500 x5FEIT 描述的节目预报信息(event schedule information)在当前传输流中; 0 x600 x6FEIT 描述的节目预报信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年rfid考试题库及答案详解
- 2026年护士资格证考试模拟试卷及答案详解
- 2026年办事员四级考试题库及答案详解
- 简短员工合同范本(6篇)
- 标志牌供货合同范本
- 网店合作协议合同范本
- 安置房中介担保合同范本
- 拆迁房承租合同范本
- 农村圈养猪出售合同范本
- 雪糕代工合同范本
- 2025年会计领军人才(企业类)(行政事业类)选拔考试笔试面试真题(附答案)
- 劳技课《叠衣服》课件
- 旅行社供应商管理制度
- 患者身份识别管理标准WST840-2025学习解读课件
- 3024骨科专案改善PDCA提高深静脉血栓中高危风险患者预防措施落实率品管圈
- 河道生态护岸技术
- 中医彭涛课件
- DB11-T 1445-2025 北京市民用建筑工程室内环境污染控制规程
- 煤矿安全生产标准化管理体系全套管理资料汇编含全部要素
- 《燃煤机组烟气余热梯级利用系统能效分析导则》
- JJF 2108-2024 OIML证书试验附加要求 OIML R 46(有功电能表)
评论
0/150
提交评论