1. Trang chủ >
  2. Công nghệ thông tin >
  3. Đồ họa >

Cơ sở luật mã hoá

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (898.2 KB, 120 trang )


Sau khi lấy mẫu sẽ tạo nên luồng dữ liệu: 8000 mẫu/s x 8 bit/mẫu = 64kps là

luồng dữ liệu trong kênh thoại cơ bản . Độ rộng băng đợc nén:

Bandwidth =



SamplingRate

= 4 Khz

2



Hiệp hội điện tử viễn thông quốc tế (ITU) và khuyến nghị của CCITT lập nên

một qui tắc chuẩn gọi là G.711. ở đây có hai thuật toán PCM đợc định nghĩa

trong G.711, cả hai luật A, à đều lấy tần số lấy mẫu bằng 8000Hz. Trong hệ

thống PCM tuyến tính, bớc lợng tử là bằng nhau và đợc lấy theo điện áp. Bản sao

nội dung của G.711 đợc bán trên Web site theo địa chỉ http://www.itu.init/itut/rec/g/g700-799/g711_27434.html. Sun đã giới thiệu phiên bản này trên đĩa CDROM cùng một khối lợng lớn các thông tin về âm thanh.

Luật à đợc tính theo công thức sau:



àx

)

Vmax

ln(1 + à )



ln(1 +

y = F ( x ) = sign( x ).Vmax



trong đó



Vmin x Vmax (4.19)



Luật A tính theo công thức:

y=



A x x

1



,



1 + ln A Vmax Vmax

A



(4.20)





y=



Ax 1

sign( x )

x

1 + ln

,

1

1 + ln( A)

Vmax A Vmax



Các hệ số sử dụng trong hai luật à và A là:

à = 100 và 255

A = 87.6



(4.21)



Sơ đồ biểu diễn công thức 4.19 với Vmax=1 à=255 đợc chỉ ra trên hình 4.6.

Giá trị à=255 đợc sử dụng trong hệ thống truyền dẫn điện thoại ở các nớc bắc

Mĩ. Giá trị A=87.5 đợc sử dụng cho các nớc Châu Âu. Với tỉ lệ nén-dãn này tai

ngời không phân biệt đợc biên độ của sóng âm khi có khuếch đại hay không.

Đánh giá của mã PCM là tỉ số nén giữa năng lợng tín hiệu và năng lợng tạp

âm (gọi là sai số lợng tử). Nén tín hiệu theo các luật A, à cho phép cải thiện đợc

sai số lợng tử. Với số bít N b cho một mẫu ta có số lợng mức lợng tử bằng N q =



2 Nb . (4.22)



trong đó: N b = số bits trên một mẫu

N q = số lợng mức lợng tử trên một mẫu



49



Hình 4.6

Năng lợng tín hiệu thay đổi từ 0 đến 1 đợc viết S[0..1].

Giá trị điện áp thay đổi : -Vmin x Vmax (4.23) để cho đơn giản chúng ta giả sử

Vmax=1 (4.24). Với việc lấy mẫu đều sẽ chia mỗi mẫu điện áp thành các mức

bằng nhau, khi đó sai số đợc đánh giá:







1

1

Nb

2

2 Nb



với = sai số lợng tử.



(4.25)



Ta biết rằng hàm phân bố ngẫu nhiên liên tục đợc tính theo công thức:





E[ X ] =



Xf



x



( x )dx





+



x =

2







X



2



f x ( X ) dX







Mặt khác thay đổi ngẫu nhiên rời rạc thì biểu diễn theo công thức:

1

E ( X ) = mean =

N



N



X

i =1



i



1

x ( t ) = vanence = E [ X ( t ) ] =

N

2







2



1



(X

i =1



i



E ( X )) 2



Do đó chúng ta tính lỗi RSM bằng cách tổ hợp bình phơng các lỗi lợng tử

theo công thức 4.25, khi đó ta có công thức sau:

1/ N q



1

1

=

N 2 d = 3N

(2 / N q ) 1/ q

q

2



2



Với biên độ tín hiệu lớn nhất nh trong các biểu thức 4.23 và 4.24 chúng ta

tính năng lợng tạp âm signal-to-quantization nh sau:

50



SNRD= 10log10(3x22NbSx)

SRND= 10log103 + 20log102Sx



(4.26)



trong đó năng lợng tín hiệu là Sx, nếu năng lợng tín hiệu là một thì mức cao nhất

của năng lợng tạp âm là :

SRND 4.8 + 6 N b



(4.27)



Với cách lấy mẫu PCM 8 bit và lợng tử đều, thì ta hy vọng trong trờng hợp

lý tởng SNR sẽ đạt giá trị 52.8 dB. Chú ý rằng SNR (tính theo dB) tuyến tính có

hàm năng lợng tính theo công thức 4.26. Nó chỉ rằng nén-dãn theo công thức

4.19 và 4.20 sẽ cải thiện đợc sai số với những mức năng lợng dới mức -20dB.

Với mức năng lợng lớn hơn -20dB, bộ nén giãn sẽ làm suy biến mối quan hệ đợc

lợng tử đều. Giả sử tín hiệu âm thanh có hàm phân bố ngẫu nhiên tuân theo hàm

phân bố Laplace :

px =



1

( )

e x

2



Tham số nén giãn trong 4.21 đợc chọn dựa trên PDF lý tởng của tín hiệu đầu

vào. PPF lý tởng có ứng dụng trong ngành điện thoại. Tuy nhiên mỗi trờng hợp

cụ thể của file audio lu trên các môi trờng tĩnh nh CD-ROM, đĩa cứng, trên bộ

nhớ tại server WEB thì PDF có thể tính theo kiểu off-line. Trong một hệ thống

SNR tính là:

2

S X 3N q S X

SNR D = 2 =

KZ





1



với K Z = 2

0



P( x)



[f]



2



(4.28)



Việc tính toán bắt đầu từ công thức 4.19 chú ý đến x và thay thế vào công

thức 4.28 ta có:

1



Kz = 2

0



p( x )( Vmax + àx ) ln(1 + à )

4



à 4Vmax 4



dx



(4.29)



mỗi khi PDF, p(x) đợc tính, tham số nén-giãn đợc sử dụng một tiêu chuẩn tối u

nhất trên ngỡng tỉ lệ bit. Ví dụ với tỉ lệ bit là 16 Kps chỉ cần lấy mẫu 4-bit với tần

số lấy mẫu 4KHz. Một hệ thống đợc sử dụng để truyền âm thanh (trong miền

thời gian thực) dựa vào nối kết điện thoại low-data-rate. Về mặt nguyên tắc ngời

sử dụng có thể lấy mẫu lại và thực hiện nén dãn với một tỉ lệ nào đó khi truyền

dẫn.



Giới thiệu chơng trình

Dới đây là các chơng trình nằm trong chơng trình lớn Diffcad do chúng ta

viết. Khi chạy chơng trình giao diện màn hình chính có dạng nh sau:



51



Lớp UlawCodec

Lớp UlawCodec là lớp có thuộc tính public nằm trong gói lyon.audio .

Về nguyên tắc java có thể truy cập tới mọi dạng file, nhng vấn đề cơ bản là

APT hiện nay của java chỉ có thể chạy các file kiểu AudioDataStream đợc nén

dãn theo luật à. Mặc dù java có thể đọc, truy cập, ghi mọi dạng file âm thanh

nhng luật à trung gian vẫn đợc sử dụng để chơi nhạc.



Nội dung của lớp

public

public

public

public

public

public

public

public

public

public

public

public

public

public

public

public

public

public

}



class UlawCodec implements Runable {

UlawCodec()

UlawCodec(String name)

UlawCodec(short linaerArrayOfShort[])

UlawCodec(double linerArrayOfDoule[])

UlawCodec(byte linerArrayOfByte[])

void readAUFile()

void writeAUFile()

void writeAUfile(String fileName)

void playSync()

void playAsync()

byte[] getUlawData()

void setUlawData(byte ulawArrayOfByte[])

double[] getDoubleArray()

int getLength()

double getDuration()

void reverseUlaw()

static void main(String argc[])



Sử dụng lớp

Lớp UlawCodec có một số các constructor , mỗi constructor nh một

mục tiêu chính cấu trúc mảng byte đợc mã hoã theo luật à trong một vùng lu trữ

riêng. Chỉ có một cách truy cập tới vùng này thông qua phơng thức

getUlawData và setUlawData , một phần vì tập các cấu trúc dữ liệu song song

52



Xem Thêm
Tải bản đầy đủ (.doc) (120 trang)

×