Cell Broadcast messages may be compressed in accordance with the compression algorithm described in TS 23.042
The Data Coding Scheme parameter (see subclause 126.96.36.199.3
) indicates whether or not a CBS Message is compressed.
Compression and decompression may take place between a CBE and an MS/UE or between a CBC and an MS/UE.
The compression applies only to user information sent between the CBC and the MS/UE i.e. excludes any padding octets.
Padding in the case of CBS compression is defined as an integral number of octets where each padding octet has a value FF hexadecimal. The insertion of padding for different scenarios is described in the paragraphs below.
The compression footer (see TS 23.042
) delimits the compressed user information bit stream at an octet boundary. The remainder of the 'CBS-Message-Information-Page' sent between the CBC and the BSC contains padding octets. The parameter 'CBS-Message-Information-Length' identifies the sum of the compressed octets, the compression header, and the compression footer (see TS 23.042
), but not any padding.
Compression may apply to a single 'CBS-Message-Information-Page' or across multiple 'CBS Message Information Page's.
In the case where Compression applies only to a single 'CBS-Message-Information-Page', the compression header shall be the first octet in that 'CBS-Message-Information-Page' and the compression footer shall immediately follow the compressed data stream. Any remaining octets after the compression footer shall contain padding up to and including the 82nd octet position. However, if the 82nd octet position contains the compression footer then there is no padding.
In the case where compression applies across multiple 'CBS-Message-Information-Page's, the compression header shall be present only in the first octet position of the first 'CBS-Message-Information-Page'. The compression footer shall immediately follow the compressed data stream which will terminate within the last 'CBS-Message-Infirmation-Page'. Any remaining octets after the compression footer in the last 'CBS-Message-Information-Page' shall contain padding up to and including the 82nd octet position in the last 'CBS-Message-Information-Page'. However, if the 82nd octet position of the last 'CBS-Message-Information-Page' contains the compression footer then there is no padding.
If it is required to convey different blocks of information which are to be treated by the MS/UE as though they were physically independent pages rather than concatenated information then page break characters (see TS 23.038
) may be inserted in the character stream prior to compression. The boundaries created by the page breaks will not normally align with the boundaries set by the page number parameters and so the page number parameters cannot be used to identify physically separate blocks of meaningful information.
The decoding at the MS/UE may be achieved by first locating the compression footer octet by working back from the 82nd octet in the last 'CBS-Message-Information-Page'. If padding is present, the MS/UE must skip backwards over the padding until a non padding octet is found. By definition this octet must be the compression footer. The compression footer has a pre-defined bit combination which can never replicate a padding octet. If padding is not present in the 82nd octet position of the last 'CBS-Message-Information-Page', by definition the 82nd octet must be the compression footer.
The compression footer defined in TS 23.042
indicates whether there are any compressed data bits contained within the compression footer octet and, if not, how many compressed data bits are contained within the octet immediately preceding the compression footer. In order to prevent possible replication of the padding octet value in the compression footer octet value, the compression mechanism must ensure that when bits 0, 1, 2 in the compression footer are all ones all other bits in the compression footer octet are set to 0.