一种多媒体数据处理方法、电路及装置制造方法

文档序号:8001609阅读:141来源:国知局
一种多媒体数据处理方法、电路及装置制造方法【专利摘要】本发明公开了一种多媒体数据处理方法、电路及装置。方法为:建立哈夫曼码表对应的坐标系;根据上述坐标系,获取上述哈夫曼码表对应的编码参数集合;接收输入的多媒体数据,并从上述编码参数集合中获取上述多媒体数据对应的编码参数;根据上述编码参数获取上述多媒体数据对应的哈夫曼码,并将该哈夫曼码作为多媒体数据对应的已编码数据。本发明方案,通过重新建立哈夫曼码表对应的坐标系,将哈夫曼码表中的哈夫曼码进行分组,并为每一组哈夫曼码对应的编码参数分配相应的数据,仅通过查询多媒体数据对应的编码参数即可获取编码后的哈夫曼码,无须为每一个哈夫曼码分配地址,从而节约了存储空间,缩短了寻址时间,提高了对多媒体数据处理的效率。【专利说明】一种多媒体数据处理方法、电路及装置【
技术领域
】[0001]本发明涉及通信【
技术领域
】,尤其涉及一种多媒体数据处理方法、电路及装置。【
背景技术
】[0002]在通信【
技术领域
】对多媒体数据的处理过程中,经常需要用到哈夫曼码,例如,MP3音频协议定义了若干个不同的哈夫曼码表,虽然不同的哈夫曼码表中所包含的内容不同,但是这些哈夫曼码表的结构特点和产生原理均相同。[0003]二元组哈夫曼码表的特点是将需要编码的数据拆成两部分,分别用XY坐标系中X轴和Y轴上的数据表示,这样二元组哈夫曼码表中每个哈夫曼码的码值都对应于该坐标系的某一XY坐标位置。[0004]哈夫曼码表共有33个,下面以二元组哈夫曼码表的表7为例,说明二元组哈夫曼码表的结构特点。图1为哈夫曼码表的表7(即Huffmancodetable7)截图。图1中,需要编码的数据的格式为{X,Y},其中X和Y的最大值均为5,以二进制形式表示为3'blOl,贝ijX和Y的位宽都是3。[0005]在哈夫曼码表的表7中,hlen表示哈夫曼码的码长。由于哈夫曼码编码和解码的实现过程中,hlen的位宽必须是固定的,因此,需要将hlen的位宽固定值设置为最长哈夫曼码的码长的二进制有效位宽,即将hlen的位宽固定值设置为哈夫曼码表中的最大hlen值的二进制有效位宽。例如,图1中最长哈夫曼码的码长为10(即最大hlen的值为10),其二进制形式为4'bl010,位宽为4,因此,编码和解码过程中,hlen的位宽固定值将被设置为4。[0006]hcod表示哈夫曼码的码值,以二进制的形式表示,不同码值的有效位宽可能不同。由于在哈夫曼码编码和解码的实现过程hcod的位宽必须是固定的,因此,需要将hcod的位宽固定值设置为最长哈夫曼码的码长。例如,图1中最长哈夫曼码的码长是10,因此,需要将hcod的位宽固定值设置为10。[0007]由于不同码值的哈夫曼码的码长不同,因此,本发明实施例中首先将hcod的位宽固定值设置为最长哈夫曼码的码长,然后将每一个哈夫曼码的码值分别用对应的hcod值表示出来。这样,在实际的哈夫曼码的编码和解码过程中,每一个数据对应的hcod值就是该数据对应的哈夫曼码的码值表现形式。[0008]针对任意一个哈夫曼码,将该任意一个哈夫曼码的码值按照从高位至低位的顺序依次填入相应hcod的对应位置中,如果该任意一个哈夫曼码的码长无法达到hcod的位宽固定值,则需要在将该任意一个哈夫曼码的码值全部填入相应hcod的高位部分后,在相应hcod的剩余低位部分填充0,使该哈夫曼码的hcod的长度达到位宽固定值。[0009]例如,图1中,X=0和Y=2的数据{0,2}对应的哈夫曼码的码值为6'b00_1010,而哈夫曼表的表7中hcod的位宽固定值为10,因此,该数据对应的hcod值是{6'b00_1010,4'b0000},其前6位是有效码值,后4位是填充内容。[0010]由于二元组哈夫曼码表是按照二叉树形式生成的,由最顶层的根节点向下生成节点,每个节点最多可以向下生成两个子节点,如果节点没有往下生成子节点,该节点就是末节点。由于从根节点到每一个末节点所经过的路线都是唯一的,所以根节点到一个末节点所经过的路径对应的二进制编码就是一个哈夫曼码。[0011]参阅图2所示,该二叉树中的各个英文字母所表示的圆点都是节点,在这些节点中,A是根节点,D、E、F、Η和I都是末节点,从这些末节点到根节点经过路径对应的二进制编码就是哈夫曼码。例如,从根节点Α到末节点I路径,从根节点出发后,需要先经过中间节点C和中间节点G,然后才会到达末节点I。而图2所示的二叉树中,A到C的路径对应的编码为〇,C到G的路径对应的编码为0,G到Η的路径对应的编码为1,所以,I的二进制编码(即哈夫曼码)是3'bOOl,其中,"3"表示末节点I对应的哈夫曼码的码长,"'b"表示二进制,"001"表示末节点I对应的哈夫曼码的码值。[0012]对哈夫曼码的编码过程即为接收一个多媒体数据,将该多媒体数据转化为哈夫曼码表的表7中的X,Y坐标,查询该哈夫曼码表获取多媒体数据对应的哈夫曼码。由于现有技术中,哈夫曼码表中的每一个哈夫曼码均拥有一个唯一的地址,在上述编码过程中,查询哈夫曼码表获取多媒体数据对应的哈夫曼码时,首先需要获取该哈夫曼码对应的地址,并通过该地址获取相应的哈夫曼码。由此可见,现有技术中对多媒体数据进行哈夫曼码编码过程中,需要为哈夫曼码表中的每一个哈夫曼码分配地址,并对上述每一个地址进行存储,占用了大量的存储空间,并且,在对哈夫曼码编码过程中,获取多媒体数据后,需要查询存储器中存储的地址直至获取该多媒体数据对应哈夫曼码的地址,由于存储器中保存的地址数目庞大,因此,在上述编码过程中,需要对存储器进行寻址的时序路径长,从而降低了对多媒体数据的处理效率。[0013]综上所述,现有技术中,采用哈夫曼码编码技术对多媒体数据处理过程中,存在哈夫曼码对应的地址占用存储空间大,以及寻址时间长,影响多媒体数据处理效率的问题。【
发明内容】[0014]本发明实施例提供一种多媒体数据处理方法、电路及装置,用以解决现有技术中采用哈夫曼码编码技术对多媒体数据处理过程中,存在哈夫曼码对应的地址占用存储空间大,以及寻址时间长,影响多媒体数据处理效率的问题。[0015]本发明实施例提供的具体技术方案如下:[0016]一种多媒体数据处理方法,包括:[0017]建立哈夫曼码表对应的坐标系,其中,选取哈夫曼码表中码长最小且码值最大的哈夫曼码,以该哈夫曼码对应的码长和码值作为坐标原点,以所述哈夫曼码表中各个哈夫曼码的码长由小到大依次作为横坐标,相同码长的哈夫曼码对应的码值由大到小依次作为纵坐标;[0018]根据所述坐标系,获取所述哈夫曼码表对应的编码参数集合;[0019]接收输入的多媒体数据,并从所述编码参数集合中获取所述多媒体数据对应的编码参数;[0020]根据所述编码参数获取所述多媒体数据对应的哈夫曼码,并根据所述对应的哈夫曼码输出所述多媒体数据对应的压缩文件。[0021]一种实现上述多媒体数据处理方法的电路,包括:[0022]地址存储器,与预设编码存储器连接,用于存储地址信息,并根据接收到的多媒体数据,输出所述多媒体数据对应的地址至所述预设编码存储器;[0023]预设编码存储器,与横坐标偏移量存储器连接,用于存储预设编码,并根据所述多媒体数据,输出所述多媒体数据对应的预设编码至所述横坐标偏移量存储器;[0024]横坐标偏移量存储器,与右移位数存储器连接,用于存储横坐标偏移量信息,并根据所述多媒体数据,输出所述多媒体数据对应的横坐标偏移量,以及获取所述预设编码与所述横坐标偏移量的和值,并将所述和值输出至所述右移位数存储器;[0025]右移位数存储器,与纵坐标偏移量存储器连接,用于存储右移位数信息,并根据所述多媒体数据,输出所述多媒体数据对应的右移位数,以及接收所述横坐标偏移量存储器输出的和值,将所述和值右移所述右移位数,并将所述右移后的值输出至所述纵坐标偏移量存储器;[0026]纵坐标偏移量存储器,与码长存储器连接,用于存储纵坐标偏移量信息,并根据所述多媒体数据,输出所述多媒体数据对应的纵坐标偏移量,以及获取所述右移位数存储器输出的所述右移后的值与所述纵坐标偏移量和值作为预编码哈夫曼码,并将所述预编码哈夫曼码输出至所述码长存储器;[0027]码长存储器,用于存储码长信息,并根据所述多媒体数据,输出所述多媒体数据对应的码长,以及根据所述码长,对所述纵坐标偏移量存储器输出的预编码哈夫曼码进行修正,获取所述多媒体数据对应的哈夫曼码,并根据所述对应的哈夫曼码输出所述多媒体数据对应的压缩文件。[0028]一种多媒体数据处理装置,包括:[0029]坐标系建立单元,用于建立哈夫曼码表对应的坐标系,其中,选取哈夫曼码表中码长最小且码值最大的哈夫曼码,以该哈夫曼码对应的码长和码值作为坐标原点,以所述哈夫曼码表中各个哈夫曼码的码长由小到大依次作为横坐标,相同码长的哈夫曼码对应的码值由大到小依次作为纵坐标;[0030]编码参数集合获取单元,用于根据所述坐标系,获取所述哈夫曼码表对应的编码参数集合;[0031]编码参数获取单元,用于接收输入的多媒体数据,并从所述编码参数集合中获取所述多媒体数据对应的编码参数;[0032]编码单元,用于根据所述编码参数获取所述多媒体数据对应的哈夫曼码,并根据所述对应的哈夫曼码输出所述多媒体数据对应的压缩文件。[0033]本发明实施例中,建立哈夫曼码表对应的坐标系,其中,选取哈夫曼码表中码长最小且码值最大的哈夫曼码,以该哈夫曼码对应的码长和码值作为坐标原点,以该哈夫曼码表中各个哈夫曼码的码长由小到大依次作为横坐标,相同码长的哈夫曼码对应的码值由大到小依次作为纵坐标;根据上述坐标系,获取上述哈夫曼码表对应的编码参数集合;接收输入的多媒体数据,并从上述编码参数集合中获取上述多媒体数据对应的编码参数;根据上述编码参数获取上述多媒体数据对应的哈夫曼码,并根据该对应的哈夫曼码输出上述多媒体数据对应的压缩文件。采用本发明技术方案,通过重新建立哈夫曼码表对应的坐标系,将哈夫曼码表中的哈夫曼码进行分组,并为每一组哈夫曼码对应的编码参数分配相应的数据,当获取多媒体数据时,仅通过查询多媒体数据对应的编码参数即可获取编码后的哈夫曼码,并根据该哈夫曼码输出上述多媒体数据对应的压缩文件,无须为每一个哈夫曼码分配地址,从而有效节约了存储空间,缩短了寻址时间,提高了对多媒体数据的处理效率。【专利附图】【附图说明】[0034]图1为现有技术中哈夫曼码表;[0035]图2为现有技术中二叉树示意图;[0036]图3为本发明实施例中对多媒体数据处理的详细流程图一;[0037]图4为本发明实施例中对多媒体数据处理的详细流程图二;[0038]图5为本发明实施例中多媒体数据处理逻辑电路结构示意图;[0039]图6为本发明实施例中多媒体数据处理装置结构示意图。【具体实施方式】[0040]为了解决现有技术中采用哈夫曼码编码技术对多媒体数据处理过程中,存在哈夫曼码对应的地址占用存储空间大,以及寻址时间长,影响多媒体数据处理效率的问题。本发明实施例中,建立哈夫曼码表对应的坐标系,其中,选取哈夫曼码表中码长最小且码值最大的哈夫曼码,以该哈夫曼码对应的码长和码值作为坐标原点,以该哈夫曼码表中各个哈夫曼码的码长由小到大依次作为横坐标,相同码长的哈夫曼码对应的码值由大到小依次作为纵坐标;根据上述坐标系,获取上述哈夫曼码表对应的编码参数集合;接收输入的多媒体数据,并从上述编码参数集合中获取上述多媒体数据对应的编码参数;根据上述编码参数获取上述多媒体数据对应的哈夫曼码,并根据所述对应的哈夫曼码输出所述多媒体数据对应的压缩文件。采用本发明技术方案,通过重新建立哈夫曼码表对应的坐标系,将哈夫曼码表中的哈夫曼码进行分组,并为每一组哈夫曼码对应的编码参数分配相应的数据,当获取多媒体数据时,仅通过查询多媒体数据对应的编码参数即可获取编码后的哈夫曼码,并根据该哈夫曼码输出上述多媒体数据对应的压缩文件,无须为每一个哈夫曼码分配地址,从而有效节约了存储空间,缩短了寻址时间,提高了多媒体数据处理效率。[0041]本发明实施例中,上述多媒体数据为音频数据或者视频数据。下面结合附图对本发明优选的实施方式进行详细说明。[0042]参阅图3所示,本发明实施例中,对多媒体数据处理的详细流程如下:[0043]步骤300:建立哈夫曼码表对应的坐标系。[0044]本发明实施例中,重新建立哈夫曼码表对应的坐标系时,选取哈夫曼码表中码长最小且码值最大的哈夫曼码,以该哈夫曼码对应的码长和码值作为坐标原点,以该哈夫曼码表中各个哈夫曼码的码长由小到大依次作为横坐标,相同码长的哈夫曼码对应的码值由大到小依次作为纵坐标。[0045]在上述坐标系中,在横轴的递增方向上,哈夫曼码的码长由短到长,在纵轴的递减方向上,哈夫曼码的码值由小到大。[0046]以哈夫曼码表的表7为例,以表格形式表不上述坐标,表1的左下角表不坐标原点,即以该哈夫曼码对应的码长和码值作为坐标原点,纵向表示Y轴,横向表示X轴,表中数值是哈夫曼码表的有效码值,根据哈夫曼码表7进行坐标系重建之后的码表如表1所示:[0047]表1[0048]【权利要求】1.一种多媒体数据处理方法,其特征在于,包括:建立哈夫曼码表对应的坐标系,其中,选取哈夫曼码表中码长最小且码值最大的哈夫曼码,以该哈夫曼码对应的码长和码值作为坐标原点,以所述哈夫曼码表中各个哈夫曼码的码长由小到大依次作为横坐标,相同码长的哈夫曼码对应的码值由大到小依次作为纵坐标;根据所述坐标系,获取所述哈夫曼码表对应的编码参数集合;接收输入的多媒体数据,并从所述编码参数集合中获取所述多媒体数据对应的编码参数;根据所述编码参数获取所述多媒体数据对应的哈夫曼码,并根据所述对应的哈夫曼码输出所述多媒体数据对应的压缩文件。2.如权利要求1所述的方法,其特征在于,根据所述坐标系,获取所述哈夫曼码表对应的编码参数集合,具体包括:根据所述坐标系,获取所述哈夫曼码表对应的码长,地址,横坐标偏移量,纵坐标偏移量,右移位数组成的集合。3.如权利要求2所述的方法,其特征在于,根据所述坐标系,获取所述哈夫曼码表对应的码长,地址,纵坐标偏移量,横坐标偏移量,右移位数组成的集合,具体包括:根据所述坐标系,统计所述哈夫曼码表中每一个哈夫曼码对应的码长;将所述坐标系中的横坐标由大至小每相邻两个坐标点作为一个组合,并分别为所述每一个组合分配相应的地址;将所述坐标系中的横坐标由大至小每相邻两个坐标点作为一个组合,分别获取每一个组合中第一横坐标在纵坐标方向上对应的第一最小码值,以及第二横坐标在纵坐标方向上对应的第二最小码值,其中,将任意一个组合对应的第一最小码值与第二最小码值的差值作为该组合对应的横坐标偏移量,所述第一横坐标值小于所述第二横坐标值;分别获取所述坐标系中每一个横坐标在纵坐标方向上对应的最大码值和最小码值,其中,将任意一个横坐标在纵坐标方向上对应的最大码值与最小码值的差值作为该横坐标对应的纵坐标偏移量;将所述坐标系中的横坐标由大至小每相邻两个坐标点为一个组合,分别获取每一个组合中的第一横坐标和第二横坐标,其中,将任意一个组合对应的第二横坐标与第一横坐标的差值作为该组合对应的右移位数,所述第一横坐标值小于所述第二横坐标值;将所述每一个哈夫曼码对应的码长,每一个组合对应的地址,每一个组合对应的横坐标偏移量,每一个横坐标对应的纵坐标偏移量,每一个组合对应的右移位数保存至编码参数集合。4.如权利要求1所述的方法,其特征在于,接收输入的多媒体数据,并从所述编码参数集合中获取所述多媒体数据对应的编码参数,具体包括:接收输入的多媒体数据,将所述多媒体数据的前三位进行转化,并将所述前三位转化后的数值作为所述哈夫曼码表对应的坐标系的一个横坐标值,剩余三位进行转化,并将所述剩余三位转化后的数值作为所述哈夫曼码表对应的坐标系的一个纵坐标值;从所述编码参数集合中获取所述横坐标值与纵坐标值对应的编码参数。5.如权利要求1-4任一项所述的方法,其特征在于,根据所述编码参数获取所述多媒体数据对应的哈夫曼码,具体包括:获取所述多媒体数据对应的码长、地址、纵坐标偏移量、横坐标偏移量和右移位数,根据所述地址获取预设编码;其中,所述预设编码为将所述坐标系中的横坐标由大至小每相邻两个坐标点作为一个组合后,每一个组合中码值最小的哈夫曼码;根据所述预设编码,以及码长、纵坐标偏移量、横坐标偏移量和右移位数,获取所述多媒体数据对应的哈夫曼码。6.如权利要求5所述的方法,其特征在于,根据所述预设编码,以及码长、横坐标偏移量、纵坐标偏移量和右移位数,获取所述多媒体数据对应的哈夫曼码,具体包括:获取所述预设编码以及横坐标偏移量相加后的和值,并将所述和值右移指定位数,其中,所述指定位数等于所述右移位数;将右移指定位数后的值与所述纵坐标偏移量相加获取预编码哈夫曼码;根据所述多媒体数据对应的码长对所述预编码哈夫曼码进行修正,获取所述多媒体数据对应的哈夫曼码。7.如权利要求1所述的方法,其特征在于,所述多媒体数据为音频数据或者视频数据。8.-种实现如权利要求1-7任一项所述多媒体数据处理方法的电路,其特征在于,包括:地址存储器,与预设编码存储器连接,用于存储地址信息,并根据接收到的多媒体数据,输出所述多媒体数据对应的地址至所述预设编码存储器;预设编码存储器,与横坐标偏移量存储器连接,用于存储预设编码,并根据所述多媒体数据,输出所述多媒体数据对应的预设编码至所述横坐标偏移量存储器;横坐标偏移量存储器,与右移位数存储器连接,用于存储横坐标偏移量信息,并根据所述多媒体数据,输出所述多媒体数据对应的横坐标偏移量,以及获取所述预设编码与所述横坐标偏移量的和值,并将所述和值输出至所述右移位数存储器;右移位数存储器,与纵坐标偏移量存储器连接,用于存储右移位数信息,并根据所述多媒体数据,输出所述多媒体数据对应的右移位数,以及接收所述横坐标偏移量存储器输出的和值,将所述和值右移所述右移位数,并将所述右移后的值输出至所述纵坐标偏移量存储器;纵坐标偏移量存储器,与码长存储器连接,用于存储纵坐标偏移量信息,并根据所述多媒体数据,输出所述多媒体数据对应的纵坐标偏移量,以及获取所述右移位数存储器输出的所述右移后的值与所述纵坐标偏移量和值作为预编码哈夫曼码,并将所述预编码哈夫曼码输出至所述码长存储器;码长存储器,用于存储码长信息,并根据所述多媒体数据,输出所述多媒体数据对应的码长,以及根据所述码长,对所述纵坐标偏移量存储器输出的预编码哈夫曼码进行修正,获取所述多媒体数据对应的哈夫曼码,并根据所述对应的哈夫曼码输出所述多媒体数据对应的压缩文件。9.一种多媒体数据处理装置,其特征在于,包括:坐标系建立单元,用于建立哈夫曼码表对应的坐标系,其中,选取哈夫曼码表中码长最小且码值最大的哈夫曼码,以该哈夫曼码对应的码长和码值作为坐标原点,以所述哈夫曼码表中各个哈夫曼码的码长由小到大依次作为横坐标,相同码长的哈夫曼码对应的码值由大到小依次作为纵坐标;编码参数集合获取单元,用于根据所述坐标系,获取所述哈夫曼码表对应的编码参数集合;编码参数获取单元,用于接收输入的多媒体数据,并从所述编码参数集合中获取所述多媒体数据对应的编码参数;编码单元,用于根据所述编码参数获取所述多媒体数据对应的哈夫曼码,并根据所述对应的哈夫曼码输出所述多媒体数据对应的压缩文件。10.如权利要求9所述的装置,其特征在于,所述编码参数集合获取单元,具体用于:根据所述坐标系,获取所述哈夫曼码表对应的码长,地址,横坐标偏移量,纵坐标偏移量,右移位数组成的集合。11.如权利要求10所述的装置,其特征在于,所述编码参数集合获取单元,具体用于:根据所述坐标系,统计所述哈夫曼码表中每一个哈夫曼码对应的码长;将所述坐标系中的横坐标由大至小每相邻两个坐标点作为一个组合,并分别为所述每一个组合分配相应的地址;将所述坐标系中的横坐标由大至小每相邻两个坐标点作为一个组合,分别获取每一个组合中第一横坐标在纵坐标方向上对应的第一最小码值,以及第二横坐标在纵坐标方向上对应的第二最小码值,其中,将任意一个组合对应的第一最小码值与第二最小码值的差值作为该组合对应的横坐标偏移量,所述第一横坐标值小于所述第二横坐标值;分别获取所述坐标系中每一个横坐标在纵坐标方向上对应的最大码值和最小码值,其中,将任意一个横坐标在纵坐标方向上对应的最大码值与最小码值的差值作为该横坐标对应的纵坐标偏移量;将所述坐标系中的横坐标由大至小每相邻两个坐标点为一个组合,分别获取每一个组合中的第一横坐标和第二横坐标,其中,将任意一个组合对应的第二横坐标与第一横坐标的差值作为该组合对应的右移位数,所述第一横坐标值小于所述第二横坐标值;将所述每一个哈夫曼码对应的码长,每一个组合对应的地址,每一个组合对应的横坐标偏移量,每一个横坐标对应的纵坐标偏移量,每一个组合对应的右移位数保存至编码参数集合。12.如权利要求9所述的装置,其特征在于,所述编码参数获取单元,具体用于:接收输入的多媒体数据,将所述多媒体数据的前三位进行转化,并将所述前三位转化后的数值作为所述哈夫曼码表对应的坐标系的一个横坐标值,剩余三位进行转化,并将所述剩余三位转化后的数值作为所述哈夫曼码表对应的坐标系的一个纵坐标值;从所述编码参数集合中获取所述横坐标值与纵坐标值对应的编码参数。13.如权利要求9-12任一项所述的装置,其特征在于,所述编码单元,具体用于:获取所述多媒体数据对应的码长、地址、纵坐标偏移量、横坐标偏移量和右移位数,根据所述地址获取预设编码;其中,所述预设编码为将所述坐标系中的横坐标由大至小每相邻两个坐标点作为一个组合后,每一个组合中码值最小的哈夫曼码;根据所述预设编码,以及码长、纵坐标偏移量、横坐标偏移量和右移位数,获取所述多媒体数据对应的哈夫曼码。14.如权利要求13所述的装置,其特征在于,所述编码单元,具体用于:获取所述预设编码以及横坐标偏移量相加后的和值,并将所述和值右移指定位数,其中,所述指定的位数等于所述右移位数;将右移指定位数后的值与所述纵坐标偏移量相加获取预编码哈夫曼码;根据所述多媒体数据对应的码长对所述预编码哈夫曼码进行修正,获取所述多媒体数据对应的哈夫曼码。【文档编号】H04N19/85GK104253993SQ201310270518【公开日】2014年12月31日申请日期:2013年6月28日优先权日:2013年6月28日【发明者】郑观东申请人:炬力集成电路设计有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1