CN100426859C - Selective encryption algorithm aiming at network video - Google Patents
Selective encryption algorithm aiming at network video Download PDFInfo
- Publication number
- CN100426859C CN100426859C CNB2006100788551A CN200610078855A CN100426859C CN 100426859 C CN100426859 C CN 100426859C CN B2006100788551 A CNB2006100788551 A CN B2006100788551A CN 200610078855 A CN200610078855 A CN 200610078855A CN 100426859 C CN100426859 C CN 100426859C
- Authority
- CN
- China
- Prior art keywords
- encryption
- macro block
- frame
- video
- block
- 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
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
The present invention belongs to the technical field of multimedia. The present invention is characterized in that a three-layer encryption method is used based on an MPEG-4 coding/decoding technology, namely that the sign bit of the direct current component of the discrete cosine transform (DCT) coefficients of frame I and frame P, the sign bit of motion vectors and the sign bit of the residual error of motion compensation are encrypted, and picture contents after encryption are almost unable to identify; the encrypting process and the decrypting process are shown in figure 1; a sequence used in encryption is generated by a one-way function called pseudo random function (PRF), and the encryption sequence is relevant to both frame numbers and session keys, so that the key attack of a statistical method can be effectively resisted; the sign bits of each parameter or coefficient are encrypted without affecting the code speed of video flow; with the advantages of low calculation load and high processing efficiency, the present invention has the capability of real-time video encryption and decryption. The algorithm of the present invention can obtain the purpose of safe, high-efficiency and real-time video encryption, and is particularly suitable for copyright protecting mechanisms of digital media.
Description
Technical field
The invention belongs to multimedia technology field.
Background technology
Streaming Media is transmitted in has become one of IP multicast most important applications on the Internet.It also becomes the key component in current numerous network service simultaneously, such as video request program, and video conference and remote teaching etc.Because network environment is dynamic change, and current " transmit as possible " network can't provide the assurance of service quality, so bandwidth self-adaption becomes a most important requirement of Internet upper reaches media delivery.Recent years, people proposed a lot of adaptive video multicast schemes, and had solved a lot of problems and challenge.Wherein, transcoding technology and layered video multicasting technology are most typical two examples.Transcoding technology can convert existing video flowing to different-format or code check video flowing, and this technology is widely used in taking the initiative in offering a hand in the architecture.The layered video multicast can be according to the network bandwidth and the system resource of client, and by adopting advanced video coding technique and extendible multicast algorithm, coming provides suitable video flowing to it.These technology can provide the service quality of video multicast to a great extent.But, before these surface self-adaption video multicast algorithms are able to successful Application, be necessary very much to develop a kind of access control mechanisms efficiently, guarantee to have only user could visit relevant content by authentication.
Usually (Session key SK) comes content is encrypted and realized that session key is common by legal group membership by utilizing session key in access control.Safe transmission at the MPEG video has proposed a lot of cryptographic algorithm at present.The most direct method is called " naivety " method, and it is that whole M PEG stream is encrypted with the encryption technology of standard.But,,, encrypt so be not suitable for real-time video so this encryption method can't provide very high processing speed because the size of video flowing is very big usually.
In order to improve the efficient of processing, people have proposed selective encryption algorithm.Consider particularity certain in the video communication, the research of selective encryption algorithm becomes the research focus in this field.In the multi-media safety field, selective encryption normally occurs as the opposite of traditional " hardware encryption algorithm " (such as AES).This type of algorithm is not pursued maximum fail safe, but by reducing the efficient that fail safe exchanges cryptographic algorithm for, in order to satisfy the demand for security of certain specific multimedia application.Relatively more classical in this respect algorithm is as follows:
1) based on the video selective encryption algorithm of dct transform
This method is encrypted the frequency coefficient after the dct transform.Concrete encryption method is had nothing in common with each other.With respect to the method for traditional encryption whole video stream, the algorithm that has is only encrypted the I frame in the video flowing, have then to n I frame and thus the macro block head of prediction generating encrypt.What also have only encrypts brightness in the I frame in the video flowing or chromatic component.Also having a kind of search enciphered method, is to encrypt in the zig-zag process, adopts aligning method at random that macro block is converted into vector.
2) based on the video selective encryption algorithm of wavelet transformation
The method for encoding images of wavelet transformation has all obtained application in JPEG2000 and MPEG-4.Selective encryption based on the video of wavelet transformation is only encrypted those parameters relevant with conversion and cataloged procedure, adopt the filter relevant to come reconstructed image, prevent unauthorized correct reconstruct with key.
3) based on the video selective encryption algorithm that quantizes tree
Quantizing tree (Quadtree) is a kind of method for compressing image, and each node of tree has 0 or 4 child node, and the node that 0 child node is arranged is exactly a leaf node.If image is uniformly consistent, then root node is exactly a leaf node, if not, then image is divided into four, adds 4 child nodes simultaneously in the tree.Then each new child node is carried out same operation search.This kind encryption is that the structure of tree is encrypted.
4) towards fault-tolerant and the selective encryption algorithm video format compatibility
Adopt fault-tolerant encryption function towards fault-tolerant method, adopt different permutation and combination to reduce known plain text attack, reduce data degradation simultaneously each transmission course.The selective encryption of compatible video format is to taking the content after the different-format compression to encrypt, thereby makes ciphering process not rely on form itself.The selectivity of this method is embodied in only encrypts the part that contains content information.
In sum, the core of selective encryption is exactly to prevent unwarranted watching with the pith of encrypting in the whole contents, guarantees certain speed simultaneously and the low amount of calculation of trying one's best.Though aforementioned algorithm respectively has characteristics, still have following problem not consider:
1) transparency of network QoS (Quality of Service, service quality) control: existing cryptographic algorithm is seldom considered the compatibility of video format and the observability of syntactic structure, and Xiang Guan QoS controlling mechanism all can't be carried out like this.
2) reply statistics type is attacked: because the stream medium data amount is big, like this to providing great convenience property of statistical attack method, so algorithm must consider how to avoid the statistics type to attack.
3) fault-tolerance: multimedia messages inevitably can run into problems such as packet loss and error code in communication, video flowing after the encryption can be more responsive to packet loss, because if deciphering the time has packet loss exist, may make video quality that big decline is arranged, how improving its fault-tolerance, is very important for the playback quality of video.
Summary of the invention
The object of the present invention is to provide a kind of real-time video selective encryption algorithm, to reach the purpose of safe, efficient, real-time video-encryption.
Video selective encryption algorithm provided by the invention comprises: based on the MPEG-4 encoding and decoding technique, adopt the method for three infill layers, sign bit to the DC component of discrete cosine transform DCT coefficient in the I two field picture is encrypted, sign bit to the DC component of discrete cosine transform DCT coefficient in the P two field picture, the sign bit of motion vector, and the sign bit of the residual error of motion compensation is encrypted, sequence used during encryption is generated by a kind of one-way function that is called pseudo-random function TLS-PRF, this ciphering sequence is all relevant with frame number and session key, can resist the cipher key attacks of statistical method so effectively; The present invention compares advantage with existing video selective encryption technology and is:
1) the present invention adopts the method for three infill layers, and the picture material after the encryption almost can't be discerned;
2) the present invention adopts special process to produce ciphering sequence, and the ciphering sequence of each two field picture correspondence is all inequality, so have higher fail safe;
3) the present invention only encrypts the sign bit of each parameter or coefficient, does not influence the code check of video flowing;
4) computing load of the present invention is very low, and the treatment effeciency height has real-time video encrypting/deciphering ability.
Processing procedure of the present invention is divided into video-encryption process and decryption of video process, and wherein, video-encryption is same processing procedure with the deciphering employing, is described in detail with regard to the video-encryption process below, and concrete steps are as follows:
Step 1, according to session key and current frame number, generate ciphering sequence ES by the TLS-PRF function, at first, with key in two, the first half is handled by MD5 together with frame number, and half handles the back by SHA-1 together with frame number, then with two output step-by-step XORs, obtain final ciphering sequence, be expressed as { K
i, K wherein
iValue for i bit in the ciphering sequence;
Step 2, read the header of code stream, the record corresponding information, and judge the type of the frame of video of current code stream correspondence, if I frame or P frame, then storage allocation space, in order to the decoded DCT coefficient of storage part, and, if be I frame execution in step 3, if be P frame then execution in step 4, otherwise this code stream is not dealt with, directly finish;
Step 3, be unit, the I frame encrypted that concrete steps are as follows with the macro block:
Step 3.1, storage allocation space, the position of depositing the bit of the ciphering sequence that will use is made as i bit;
Step 3.2, carry out variable length decoding, the DCT coefficient after obtaining quantizing;
Step 3.3, the DC component of the DCT coefficient of 4 luminance block in this macro block and 2 chrominance block is encrypted encryption side
Method is: if K
iBe 1, then with the DC component opposite sign, otherwise DC component remains unchanged, and encrypts after each luminance block and the chrominance block, and the position of key sequence all will add 1, and promptly i adds 1;
Step 3.4, judge whether to be last macro block, if not then to next macro block execution in step 3.2, otherwise execution in step 5;
Step 4, be unit, the P frame encrypted that concrete steps are as follows with the macro block:
Step 4.1, storage allocation space, the position of depositing the bit of the ciphering sequence that will use is made as i bit;
Step 4.2, carry out variable length decoding, DCT coefficient and motion vector after obtaining quantizing;
Step 4.3, judge the type of macro block, if be inter-coded macroblocks then execution in step 4.3.1, if be inter-coded macroblocks then hold
Row step 4.3.2, otherwise execution in step 4.4;
Step 4.3.1, the DC component of the DCT coefficient of 4 luminance block in this macro block and 2 chrominance block is encrypted, encryption method is: if K
iBe 1, then with the DC component opposite sign, otherwise DC component remains unchanged, and encrypts after each luminance block and the chrominance block, and the position of key sequence all will add 1, and promptly i adds 1, after the encryption of this macro block is finished, and execution in step 4.4;
Step 4.3.2, the motion vector in this macro block is encrypted, encryption method is: if K
iBe 1, then with the motion vector opposite sign, otherwise motion vector remains unchanged, and encrypts after each motion vector, all needs the position of key sequence is added 1, and promptly i adds 1;
Step 4.3.3, the DC component of the DCT coefficient of 4 residual error luminance block in this macro block and 2 residual error chrominance block is encrypted, encryption method is: if K
iBe 1, then with the DC component opposite sign, otherwise DC component remains unchanged; Encrypt after each luminance block and the chrominance block, the position of key sequence all will add 1, and promptly i adds 1;
Step 4.4, judge whether to be last macro block, if not then to next macro block execution in step 4.2, otherwise execution in step 5;
Step 5, video data is carried out part coding, rebuild compressed bit stream, concrete steps are as follows:
Step 5.1, the header of preserving in the step 2 is write in the new code stream;
Step 5.2, for the I frame, be unit with the macro block, the DCT coefficient of each macro block is carried out variable-length encoding; For the P frame, be unit with the macro block, the DCT coefficient and the motion vector of each macro block carried out variable-length encoding;
Step 6, finish ciphering process, the memory headroom that cleaning distributes, end finishing after;
Wherein, TLS-PRF is the relevant hash function of key normally, the output that obtains determining according to certain input.So far, all process prescriptions of selective encryption algorithm at Internet video finish.
Description of drawings
Fig. 1 has provided the flow chart of video encrypting/deciphering.
Claims (1)
1, a kind of encryption method to Internet video, it is characterized in that: based on the MPEG-4 encoding and decoding technique, adopt the method for three infill layers, sign bit to the DC component of discrete cosine transform DCT coefficient in the I two field picture is encrypted, sign bit to the DC component of discrete cosine transform DCT coefficient in the P two field picture, the sign bit of motion vector, and the sign bit of the residual error of motion compensation is encrypted, sequence used during encryption is generated by a kind of one-way function that is called pseudo-random function TLS-PRF, this ciphering sequence is all relevant with frame number and session key, can resist the cipher key attacks of statistical method so effectively;
The processing procedure of described encryption method to Internet video is divided into two kinds: video-encryption process and decryption of video process, and wherein, what video-encryption and deciphering were adopted is same processing procedure, is described in detail with regard to the video-encryption process below, concrete steps are as follows:
Step 1, according to session key and current frame number, generate ciphering sequence ES by the TLS-PRF function, at first, with key in two, the first half is handled by MD5 together with frame number, and half handles the back by SHA-1 together with frame number, then with two output step-by-step XORs, obtain final ciphering sequence, be expressed as { K
i, K wherein
iValue for i bit in the ciphering sequence;
Step 2, read the header of code stream, the record corresponding information, and judge the type of the frame of video of current code stream correspondence, if I frame or P frame, then storage allocation space, in order to the decoded DCT coefficient of storage part, and, if be I frame execution in step 3, if be P frame then execution in step 4, otherwise this code stream is not dealt with, directly finish;
Step 3, be unit, the I frame encrypted that concrete steps are as follows with the macro block:
Step 3.1, storage allocation space, the position of depositing the bit of the ciphering sequence that will use is made as i bit;
Step 3.2, carry out variable length decoding, the DCT coefficient after obtaining quantizing;
Step 3.3, the DC component of the DCT coefficient of 4 luminance block in this macro block and 2 chrominance block is encrypted, encryption method is: if K
iBe 1, then with the DC component opposite sign, otherwise DC component remains unchanged, and encrypts after each luminance block and the chrominance block, and the position of key sequence all will add 1, and promptly i adds 1;
Step 3.4, judge whether to be last macro block, if not then to next macro block execution in step 3.2, otherwise execution in step 5;
Step 4, be unit, the P frame encrypted that concrete steps are as follows with the macro block:
Step 4.1, storage allocation space, the position of depositing the bit of the ciphering sequence that will use is made as i bit;
Step 4.2, carry out variable length decoding, DCT coefficient and motion vector after obtaining quantizing;
Step 4.3, judge the type of macro block, if be inter-coded macroblocks then execution in step 4.3.1, if be inter-coded macroblocks then execution in step 4.3.2, otherwise execution in step 4.4;
Step 4.3.1, the DC component of the DCT coefficient of 4 luminance block in this macro block and 2 chrominance block is encrypted, encryption method is: if K
iBe 1, then with the DC component opposite sign, otherwise DC component remains unchanged, and encrypts after each luminance block and the chrominance block, and the position of key sequence all will add 1, and promptly i adds 1, after the encryption of this macro block is finished, and execution in step 4.4;
Step 4.3.2, the motion vector in this macro block is encrypted, encryption method is: if K
iBe 1, then with the motion vector opposite sign, otherwise motion vector remains unchanged, and encrypts after each motion vector, all needs the position of key sequence is added 1, and promptly i adds 1;
Step 4.3.3, the DC component of the DCT coefficient of 4 residual error luminance block in this macro block and 2 residual error chrominance block is encrypted, encryption method is: if K
iBe 1, then with the DC component opposite sign, otherwise DC component remains unchanged; Encrypt after each luminance block and the chrominance block, the position of key sequence all will add 1, and promptly i adds 1;
Step 4.4, judge whether to be last macro block, if not then to next macro block execution in step 4.2, otherwise execution in step 5;
Step 5, video data is carried out part coding, rebuild compressed bit stream, concrete steps are as follows:
Step 5.1, the header of preserving in the step 2 is write in the new code stream;
Step 5.2, for the I frame, be unit with the macro block, the DCT coefficient of each macro block is carried out variable-length encoding; For the P frame, be unit with the macro block, the DCT coefficient and the motion vector of each macro block carried out variable-length encoding;
Step 6, finish ciphering process, the memory headroom that cleaning distributes, end finishing after;
Wherein, TLS-PRF is the relevant hash function of key normally, the output that obtains determining according to certain input.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100788551A CN100426859C (en) | 2006-05-11 | 2006-05-11 | Selective encryption algorithm aiming at network video |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100788551A CN100426859C (en) | 2006-05-11 | 2006-05-11 | Selective encryption algorithm aiming at network video |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1882082A CN1882082A (en) | 2006-12-20 |
CN100426859C true CN100426859C (en) | 2008-10-15 |
Family
ID=37520030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100788551A Active CN100426859C (en) | 2006-05-11 | 2006-05-11 | Selective encryption algorithm aiming at network video |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100426859C (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036675A (en) * | 2012-12-14 | 2013-04-10 | 中国地质大学(武汉) | Dynamic secret key based data communication method, transmitting end and receiving end |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100496118C (en) * | 2006-12-28 | 2009-06-03 | 武汉大学 | Method for encrypting/deciphering residual quotiety amplitude value in H.264 standard video information |
CN101442672B (en) * | 2007-11-23 | 2012-04-25 | 华为技术有限公司 | System for processing digital watermarking, method and apparatus for embedding and detecting digital watermarking |
CN101621685B (en) * | 2008-07-04 | 2011-06-15 | 株式会社日立制作所 | Coder and coding method |
CN101630203B (en) * | 2008-07-16 | 2011-07-13 | 达方电子股份有限公司 | Input device |
CN101389029B (en) * | 2008-10-21 | 2012-01-11 | 北京中星微电子有限公司 | Method and apparatus for video image encoding and retrieval |
CN102625025A (en) * | 2012-03-26 | 2012-08-01 | 中山大学 | Encryption/decryption method and system based on image transmission |
CN102802042A (en) * | 2012-08-17 | 2012-11-28 | 无锡睿驰美迪科技有限公司 | 3G Modem card multi-track coding transport system and method based on ARMl1 core microprocessor |
CN105049941B (en) * | 2015-06-24 | 2017-06-30 | 广州酷狗计算机科技有限公司 | A kind of processing method and processing device of multimedia file |
CN109391846B (en) * | 2017-08-07 | 2020-09-01 | 浙江宇视科技有限公司 | Video scrambling method and device for self-adaptive mode selection |
CN112104874A (en) * | 2020-08-26 | 2020-12-18 | 西安万像电子科技有限公司 | Data transmission method and system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021199A (en) * | 1996-11-14 | 2000-02-01 | Kabushiki Kaisha Toshiba | Motion picture data encrypting method and computer system and motion picture data encoding/decoding apparatus to which encrypting method is applied |
EP1033880A2 (en) * | 1999-03-01 | 2000-09-06 | Sharp Kabushiki Kaisha | Digital image scrambling for image coding systems |
CN1385032A (en) * | 1999-08-29 | 2002-12-11 | 英特尔公司 | Digital video content transmisson ciphering and deciphering method and apparatus |
CN1520185A (en) * | 2002-11-21 | 2004-08-11 | ���ǵ�����ʽ���� | Method and appts. for encrypting and compressing multimedia data |
CN1617584A (en) * | 2004-12-06 | 2005-05-18 | 武汉大学 | Dynamic random mess correction and enciphering-deenciphering method for video frequency information |
-
2006
- 2006-05-11 CN CNB2006100788551A patent/CN100426859C/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6021199A (en) * | 1996-11-14 | 2000-02-01 | Kabushiki Kaisha Toshiba | Motion picture data encrypting method and computer system and motion picture data encoding/decoding apparatus to which encrypting method is applied |
EP1033880A2 (en) * | 1999-03-01 | 2000-09-06 | Sharp Kabushiki Kaisha | Digital image scrambling for image coding systems |
CN1385032A (en) * | 1999-08-29 | 2002-12-11 | 英特尔公司 | Digital video content transmisson ciphering and deciphering method and apparatus |
CN1520185A (en) * | 2002-11-21 | 2004-08-11 | ���ǵ�����ʽ���� | Method and appts. for encrypting and compressing multimedia data |
CN1617584A (en) * | 2004-12-06 | 2005-05-18 | 武汉大学 | Dynamic random mess correction and enciphering-deenciphering method for video frequency information |
Non-Patent Citations (6)
Title |
---|
几种典型视频加密算法的性能评价. 廉士国,孙金生,王执铨.中国图象图形学报,第9卷第4期. 2004 |
几种典型视频加密算法的性能评价. 廉士国,孙金生,王执铨.中国图象图形学报,第9卷第4期. 2004 * |
基于MPEG中等强度加密算法的研究. 宋道沙,沈承东,李思昆.中南林学院学报,第25卷第3期. 2005 |
基于MPEG中等强度加密算法的研究. 宋道沙,沈承东,李思昆.中南林学院学报,第25卷第3期. 2005 * |
数字视频加密技术发展现状及展望. 徐正全,杨志云,李伟,陈琳.武汉大学学报信息科学版,第30卷第7期. 2005 |
数字视频加密技术发展现状及展望. 徐正全,杨志云,李伟,陈琳.武汉大学学报信息科学版,第30卷第7期. 2005 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036675A (en) * | 2012-12-14 | 2013-04-10 | 中国地质大学(武汉) | Dynamic secret key based data communication method, transmitting end and receiving end |
Also Published As
Publication number | Publication date |
---|---|
CN1882082A (en) | 2006-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100426859C (en) | Selective encryption algorithm aiming at network video | |
Liu et al. | Selective encryption of multimedia content in distribution networks: Challenges and new directions | |
Liu et al. | A survey of video encryption algorithms | |
US7549058B1 (en) | Method and apparatus for encrypting and decrypting digital data | |
Xu et al. | An improved scheme for data hiding in encrypted H. 264/AVC videos | |
Li et al. | Joint image encryption and compression schemes based on 16× 16 DCT | |
CN103856786A (en) | Streaming media video encryption method and device based on H.264 | |
Xu et al. | A Hierarchical encryption and key management scheme for layered access control on H. 264/SVC bitstream in the internet of things | |
Kulkarni et al. | Multimedia encryption: a brief overview | |
Zeng et al. | An encryption method for mobile video surveillance system based on ZUC algorithm | |
Liu et al. | A novel encryption algorithm for high resolution video | |
Liu et al. | Puzzle-an efficient, compression independent video encryption algorithm | |
Thomas et al. | Secure transcoders for single layer video data | |
CN100518280C (en) | Video encrypting/deciphering device and encrypting/deciphering method | |
CN104301727B (en) | Quality controllable H.264 video-aware AES based on CABAC | |
CN201663660U (en) | Data encryption and data decryption system of digital video | |
Hooda et al. | A comprehensive survey of video encryption algorithms | |
Asghar et al. | MIKEY for keys management of H. 264 scalable video coded layers | |
Ma et al. | Bitstream-oriented protection for the h. 264/scalable video coding (svc) | |
Jun et al. | A two-way selective encryption algorithm for MPEG video | |
Saleh et al. | A low computational method of secure video streaming in mobile system | |
Varalakshmi et al. | An enhanced encryption algorithm for video based on multiple Huffman tables | |
Roy et al. | A multi-layer key stream based approach for joint encryption and compression of H. 264 video | |
Zeng et al. | Security for multimedia adaptation: architectures and solutions | |
KR20120138940A (en) | System and method implementing a selective encryption for mobile terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20070105 Address after: Beijing City, Haidian District Tayuan autumn Lang Park No. eight building 2 layer Applicant after: Lanxun Network Science-Technology Co., Ltd., Beijing Address before: D, block 9, 3rd Street, Beijing, Haidian District, 807 Applicant before: Beijing Livesky Technologies Co., Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |