Tải bản đầy đủ (.doc) (73 trang)

Đồ án tốt nghiệp đại học xây dựng bộ công cụ giám sát hình ảnh qua camera

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 (3.55 MB, 73 trang )

MỤC LỤC
LỜI NÓI ĐẦU 2
CHƯƠNG 1: GIỚI THIỆU 7
1. Phần cứng 7
1.1. Máy tính 9
1.2. Camera (Thiết bị ghi hình) 9
1.3. Bộ giữ khung 11
1.4. Mạng Internet 14
2. Phần mềm 16
CHƯƠNG 2: MỘT SỐ KIẾN THỨC LIÊN QUAN 18
1. Giao thức HTTP (HYPERTEXT TRANSFER PROTOCOL) 18
1.1. Tổng quan về giao thức truyền siêu văn bản(HTTP) 18
1.1.1. Giao thức HTTP và ý nghĩa của nó 18
1.1.2. Mô hình hoạt động của HTTP 19
1.1.3. Ví dụ về HTTP 20
1.1.4. Một số khái niệm về kết nối 21
1.1.5. Cấu trúc cơ bản của HTTP 21
1.2. Giao thức HTTP 1.1 23
1.2.1. Phiên bản HTTP 1.1 23
1.2.2. Request 24
1.2.2.1. Request-Line 24
1.2.2.2. Phương thức 24
1.2.2.3. Request-URI 25
1.2.2.4. Nhận dạng tài nguyên bởi một Request 26
1.2.2.5. Request Header Fields 27
1.2.3. Response 28
1.2.3.1. Status-Line 28
1.2.3.1.1. Mã trạng thái và nguyên nhân 28
1.2.3.2. Các trường Header của Response 31
2. Tổng quan về xử lý ảnh 31
2.1. Giới thiệu 31


2.2. Xử lý ảnh số và ứng dụng 32
2.3. Biểu diễn ảnh 34
2.3.1. Ảnh và thị giác người (Visual perception) 34
2.3.2. Biểu diễn màu (Color representation) 34
2.3.3. Thu nhận ảnh (Image capture, Representation, and Store) 35
2.3.4 Ảnh số (Digital Image) 37
2.4. Cải thiện ảnh dùng toán tử điểm 38
2.4.1 Thay đổi độ tương phản 38
2.4.2 Tách nhiễu và phân ngưỡng 39
2.4.3 Biến đổi âm bản 40
2.4.4 Cắt theo mức 40
2.4.5 Trích chọn bít 41
2.5. Phát hiện biên 41
2.5.1. Phương pháp Gradient 42
2.5.2. Phương pháp Laplace 43
2.6. Phân đoạn ảnh 44
1
2.6.1. Phân theo ngưỡng 44
3. Bộ lọc 47
3.1. Bộ lọc thresholding 47
3.2. Bộ lọc Difference 50
3.3. Bộ lọc ReplaceChannel 52
3.4. Bộ lọc ExtractChannel 53
3.5. Bộ lọc merge 55
CHƯƠNG 3: XÂY DỰNG LỚP PHỤC VỤ CHO BẮT ĐỐI TƯỢNG DI CHUYỂN 59
1. Class Detector 1 59
2. Class Detector 2 61
3. Class Detector 3 62
4. Class Detector 4 63
CHƯƠNG 4: THIẾT KẾ, XÂY DỰNG CHƯƠNG TRÌNH 65

1. Giao diện khi đăng nhập 65
2. Giao diện chương trình chính 66
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 72
LỜI NÓI ĐẦU
2
Ngày nay, chúng ta có thể in tráng ảnh trong giây lát và ghi lại
những file video một cách đơn giản. Tuy nhiên, để làm được như vậy người
ta đã phải mất hàng trăm năm nghiên cứu và tìm tòi. Chúng ta hãy cùng
làm quen với lịch sử của máy ảnh, vào giữa thế kỷ XI và XVI, con người
đã bắt đầu sử dụng một loại máy ảnh thô sơ được gọi là “hộp tối”, nó cho
phép chúng ta in ra giấy những hình ảnh rồi qua một vài khâu xử lý ta sẽ
nhận được hình ảnh chính xác của vật chụp.
Vào năm 1568 ông Danielo Barbaro đã sáng chế ra một chiếc máy
ảnh có một thấu kính và một lỗ có thể thay đổi đường kính để tăng độ nét
của ảnh. Kế thừa trên nguyên lý cơ bản đó, những chiếc máy ảnh sau đó ra
đời không những cho chất lượng ảnh tốt mà còn được tích hợp trên nó
nhiều tính năng tiện dụng khác.
Ngày nay chiếc máy ảnh không chỉ đơn thuần dùng để chụp ảnh mà
còn có thể ghi hình ảnh dưới dạng file Multimedia phục vụ cho giải trí hoặc
nhiều lĩnh vực khác.
Tuy nhiên, nhu cầu người dùng không dừng ở đó, nhiều khi họ muốn
quan sát hay ghi hình, … những nơi mà họ không thể trực tiếp có mặt vậy
câu hỏi đặt ra là phải làm như thế nào? Trước những điều kiện và yêu cầu
đặt ra đó, đòi hỏi phải có những phương pháp nhanh, phù hợp, tự động,
chính xác và có hiệu quả để lấy được thông tin có giá trị. Chính vì vậy mà
phương pháp giám sát qua Camera là phương pháp tối ưu nhất. Để cho
phép quan sát qua Camera cần phải có một thiết bị hiển thị (Cumputer) và
đường truyền kết nối giữa Camera và thiết bị đó.
Như ta đã biết, phải mất gần 30 năm bộ xử lý Intel mới có thể vượt

qua rào chắn của tốc độ 1GHz. May thay, sau đó chỉ cần 1,5 năm để đạt tới
tốc độ 2GHz. Sự phát triển theo quy luật số mũ về tốc độ xử lý đã mở
đường cho nhiều công nghệ xuất ra màn hình Destop. Một trong những
3
công nghệ dường như giúp ích nhiều nhất là bộ xử lý video kỹ thuật số.
Thuật toán xử lý video bằng kỹ thuật điện toán có thể chạy trong thời gian
thực, thậm chí trên một máy tính cấp thấp. Một cách tự nhiên, điều này mở
ra xu hướng tăng cường kết nối giữa Camera và máy vi tính (Cumputer).
Sau đó, Camera được số hóa và cũng vì thế nó dễ dàng kết nối với máy vi
tính hơn. Chúng ta đang ở thời điểm mà Camera được xem là thiết bị nhập
xuất của máy vi tính. Những nhà nhập xuất máy vi tính đáng tin cậy như
SONY đã đưa ra mô hình máy vi tính kết hợp với Camera kỹ thuật số.
Một phát triển khác gần đây đã giúp cho “sự kết hợp” của Camera và
máy vi tính đó là sự ra đời của kỹ thuật kết nối Broadband. Bằng đường
truyền DSL hoặc cáp người ta có thể gửi video từ PC Camera cục bộ tới
một PC ở xa. Vì thế, video không những có thể biểu diễn và xử lý cục bộ
mà còn có thể truyền thông qua mạng Internet với tộc độ ngày càng tăng.
Những Camera nhỏ có thể đính kèm vào những máy tính để bàn
hoặc máy tính xách tay cho phép hội thảo video rất tốt cho công sở cũng
như sử dụng tại nhà. Những khó khăn, rắc rối trong việc cài đặt hội thảo
video có thể sớm sẽ trở thành quá khứ. PC video conferencing hưởng lợi
rất lớn từ việc đưa ra hai công nghệ tiến bộ sau:
 Chuẩn giao thức truyền thông trên Bus mở rộng tốc độ cao, như
là IEEE 1394 (công nghệ kết nối ngoại vi) và USB 2.0.
 Mạng Inthernet tốc độ cao cho công sở (>100 Mbits/s) và kỹ
thuật truyền thông Broadband cho mạng gia đình.
Một mặt, Bus mở rộng tốc độ cao cho phép Camera kỹ thuật số
truyền thông với tốc độ full-frame bằng PC. Mặt khác, mạng máy tính tốc
độ cao cho phép những máy tính cá nhân truyền dữ liệu bằng kỹ thuật
truyền hình high-bandwith, chẳng hạn như live video trên mạng Internet.

Video conferencing đáng tin cậy và giá rẻ thích hợp với những thiết bị
thông dụng, như là máy tính để bàn hoặc máy tính xách tay được kết nối lại
4
để tạo nên một bức phá lớn trong tương lai gần. Ở mức độ thương nghiệp,
điều này sẽ gia tăng mối quan hệ hợp tác giữa các khu vực trên thế giới.
Trong những năm qua, nhiều tổ chức lớn ở Mỹ đã khẳng định vị trí của
mình trên trường quốc tế và không chỉ nằm trong khuôn khổ của quốc gia.
Chẳng hạn như một công ty khoa học điện tử áp dụng vào hàng không của
Honeywell ở Mỹ cũng giống như là công ty khoa học điện tử áp dụng vào
hàng không ở Pháp. Điều này đòi hỏi một mối quan hệ hợp tác vững chắc
giữa các tổ chức ở các khu vực địa lý khác nhau trên thế giới. Thực chất
những tập đoàn này giao tiếp với nhau thì phải nhân đôi thời gian di chuyển
cho mục đích kinh doanh. Video conferencing trở nên phổ biến sẽ loại bỏ
thời gian di chuyển này và cải tiến cách thức giao tiếp đơn phương tiện
hàng ngày thành đa phương tiện.
Trong lĩnh vực an ninh – giám sát, Camera đã được kết hợp với hệ
thống bảo mật và giám sát trong thời gian qua. Tuy nhiên, việc sử dụng
công nghệ Camera trong những ứng dụng bảo mật có thể được mô tả như là
một người bảo vệ. Camera trong hệ thống bảo mật trước đây thông thường
hoạt động tách biệt và không có mối quan hệ gì với máy vi tính. Chúng gửi
video time-lapse cung cấp cho máy thu băng tỷ biến để lưu trữ trên băng
VHS. Sau đó, nếu người sử dụng muốn truy cập vào từng phần riêng biệt
của video, nó sẽ phải truy xuất thường xuyên – đây là chính là một việc bất
tiện. Do không có phần mềm làm nhiệm vụ xử lý trên live video cho nên
không có khả năng tự động báo động khi có đột nhập. Vì thế bảo mật dựa
vào việc giám sát của người bảo vệ, người này phải thường xuyên chú ý
vào màn hình đầy phức tạp trong nhiều giờ liền. Bằng cách kết nối Camera
bảo mật với máy tính, video có thể được số hóa lưu trữ vào các phương tiện
lưu trữ của máy tính. Hơn nữa, video có thể xử lý trực tuyến và dĩ nhiên
suy ra rằng có thể tự động tăng cường chức năng hệ thống bảo mật trên tín

hiệu video.
5
Cách thức xử lý video nổi tiếng nhất là không ngừng kiểm tra. Cách
này có thể cảnh báo kịp thời khi có một đối tượng nào đó đột nhập vào khu
vực cấm và di chuyển dưới tầm kiểm soát của Camera. Nói cách khác, khi
quang cảnh không có gì thay đổi thì không cần lưu ý, việc lưu trữ bằng kỹ
thuật số không xảy ra. Chỉ khi khung video chứa những đối tượng chuyển
động thì mới được lưu trữ, như vậy ta tiết kiệm đươch bộ nhớ từ cách lưu
trữ này.
Thao tác xử lý video đầy linh hoạt khác trong những ứng dụng bảo
mật là nhận dạng mặt người. Đây là ứng dụng sinh trắc học mà cho tới bây
giờ đã được sử dụng thành công trong các trình ứng dụng kiểm tra xuất
nhập. Khi thuật toán và hệ thống này phát triển tinh vi hơn, nhận diện mặt
người có thể được sử dụng trong việc giám sát những đối tượng bị tình
nghi. Vì vậy các trình ứng dụng quan sát qua hệ thống Camera-Cumputer
đang rất được quân tâm và trông đợi.
Hiện nay, kỹ thuật này đang được ứng dụng một cách rộng rãi trong
nhiều lĩnh vực kinh doanh và đời sống khác nhau như: y tế, ngân hàng, viễn
thông,…Không ai có thể phủ nhận những lợi ích, những hiệu quả to lớn mà
nhờ áp dụng kỹ thuật đem lại.
Nhằm nâng cao hiểu biết của mình về lĩnh vực quan sát và mạng
truyền thông vì vậy trong đồ án tốt nghiệp của mình em đã chọn đề tài
“Xây dựng bộ công cụ giám sát hình ảnh qua Camera”.
Mục tiêu của đồ án là xây dựng ứng dụng có khả năng thu nhận được
hình ảnh không chỉ trên Camera Local mà còn có thể thu nhận ảnh qua các
Camera kết nối trên mạng Internet, bên cạnh đó tích hợp tính năng phát
hiện khi đối tượng di chuyển, chụp ảnh đối tượng. Ứng dụng không chỉ cho
phép quan sát dưới dạng một cửa sổ mà còn có thể xem cùng lúc nhiều
Camera dưới dạng MultiView. Đồ án được trình bày thành 4 chương với bố
cục như sau:

6
Chương 1: Giới thiệu
Giới thiệu khái quát về hệ thống phần cứng và phần mềm phục vụ
cho truyền tải dữ liệu giữa máy vi tính và Camera.
Chương 2: Một số kiến thức liên quan
Giới thiệu giao thức HTTP, xử lý ảnh và xây dựng các bộ lọc.
Chương 3: Xây dựng lớp phục vụ cho bắt đối tượng di chuyển
Chương 4: Thiết kế, xây dựng chương trình
Trong quá trình thực hiện em xin chân thành cảm ơn thầy giáo đã tận
tình hướng dẫn, chỉ bảo, giúp đỡ em trong quá trình làm đồ án cùng các
thầy trong Bộ môn An ninh mạng đã tạo điều kiện về cơ sở và vật chất để
em hoàn thành nội dung đồ án của mình.
CHƯƠNG 1: GIỚI THIỆU
1. Phần cứng
7
Khả năng tiếp nhận, xử lý, biểu diễn dữ liệu video của hệ thống
Computer–Camera bao gồm các thành phần sau:
- Máy vi tính.
- Camera.
- Bộ giữ khung (frame grabber).
- Mạng Internet.
Khung chứa video được gửi từ Camera tới máy vi tính. Nếu Camera
là Camera tỷ biến thì tín hiệu video được chuyển thành tín hiệu số ở bộ giữ
khung, bộ giữ khung hoạt động như người dàn xếp của Camera và máy vi
tính, nó cũng có vai trò như bộ nhớ tạm cho khung video. Điều này rất
quan trọng đối với ngày xưa, khi Bus, bộ xử lý, tốc độ bộ nhớ còn chậm và
không có vùng đệm khung, khung video thường bị mất. Ngày nay, không
cần thiết phải có vùng đệm trong bộ giữ khung. Điều này làm giảm vai trò
của bộ giữ khung thành bộ biến đổi tín hiệu tỷ biến thành số. Vì thế, nếu
Camera được số hóa thì có thể xóa bỏ bộ giữ khung.

Bộ giữ khung (hoặc những Camera kỹ thuật số) truyền những khung
được số hóa tới bộ xử lý của máy vi tính (CPU) và bộ nhớ thông qua Bus
mở rộng. Vì vậy, Bus này phải có tốc độ cao để duy trì khả năng truyền tín
hiệu video trong thời gian thật là rất quan trọng. Sau đây chúng ta sẽ mở
rộng các thành phần phần cứng của hệ thống Computer – Camera.
8
Hình 1.1: Sơ đồ hệ thống Computer – Camera.
1.1. Máy tính
Máy tính là thành phần quan trọng nhất trong hệ thống máy tính ghi
hình. Nó làm cho thiết bị ghi hình (video – capturing) truyền thống có thể
phát triển thành một hệ thống xử lý hình động mạnh. Ngày nay, dạng máy
tính cá nhân gần như được dùng riêng trong cấu hình của máy tính ghi
hình. Chúng ta cần phải chú ý đến 2 đặc điểm kỹ thuật để chọn lựa một
máy tính cá nhân thích hợp, đó là tốc độ xử lý và kích thước bộ nhớ. Bất cứ
bộ vi xử lý của máy tính nào tương đương với Pentium 2 hoặc tốt hơn đều
có thể điều khiển và xử lý được video ở một mức độ nào đó. Kích thước bộ
nhớ mà hệ thống máy tính ghi hình cần tối thiểu là 128MB. Để trình diễn
video tốt cần một màn hình có độ sắc nét cao với màu sắc trung thực.
1.2. Camera (Thiết bị ghi hình)
Camera được xem là một thành phần của hệ thống máy tính ghi hình.
Camera có thể ở dạng tỷ biến hay kỹ thuật số tùy thuộc vào tín hiệu video
truy xuất. Camera còn được phân loại dựa trên mục đích sử dụng. Chúng ta
sử dụng Camera gia đình cho phạm vi gia đình và Camera công nghiệp hay
9
an ninh cho những phạm vi rộng, ngoài ra còn có những dạng Camera
chuyên dụng khác được sử dụng trong khoa học và y học. Ở đây chúng ta
chỉ đề cập tới Camera dạng gia đình và dạng an ninh – công nghiệp.
Nói chung, Camera dạng gia đình khá khác biệt với Camera dạng
công nghiệp – an ninh. Phần lớn Camera gia đình là kỹ thuật số. Tất cả
những máy kiểu mới có giao tiếp kỹ thuật số IEEE1394. Nó cũng có khả

năng thu hình được gọi là Camcorders. Phần thu hình được thực hiện bởi
video cassette có thể được tích hợp vào trong Camcerders. Gần như tất cả
Camcorders đều cho tín hiệu video màu. Camera công nghiệp – an ninh
thường là tỷ biến chỉ những sản phẩm sau này mới ở dạng kỹ thuật số. Phần
lớn các Camera an ninh - công nghiệp cho ra tín hiệu video đơn sắc và
những Camera này không có khả năng thu hình. Gần đây, thế hệ Camera
mới đã trở nên rất phổ biến một cách nhanh chóng. Đây là những Camera
màu kỹ thuật số rất nhỏ chỉ được sử dụng cho máy tính. Nó được hỗ trợ
giao tiếp USB hay là IEEE1394, nó được sử dụng cho những cuộc hội thảo
video, trò chơi trên máy tính, nhận diện và hệ thống an ninh ở gia đình.
Camera sử dụng cho máy tính là một ví dụ điển hình cho xu hướng chính
góp phần làm tăng nhu cầu lập trình trên máy tính – Camera.
Hình 1.2: Một số loại Camera
10
1.3. Bộ giữ khung
Bộ giữ khung được gắn thêm vào khe của máy tính giúp Camera và
máy tính kết nối thuận tiện hơn. Chúng thường được sử dụng cho Camera
tỷ biến. Chức năng chủ yếu của chúng là chuyển tín hiệu video tỷ biến sang
tín hiệu video kỹ thuật số, vì thế nó có thể đưa tín hiệu vào máy tính. Đa số
các frame grabber tương thích với các định dạng video chuẩn ở Bắc Mỹ và
Châu Âu như RS 170 National Television Standards Committee (NTSC),
CCIR và Phase Alternating Line (PAL). Một thuận lợi khác chính là khả
năng tương thích với nhiều loại Camera rẻ tiền và thông dụng nhờ những
ứng dụng chính, điều này giúp giảm chi phí cho hệ thống. Điều bất lợi ở
đây là những cái chuẩn này dẫn đến hạn chế hệ thống xử lý hình ảnh, chủ
yếu là do độ phân giải có giới hạn, tốc độ (số khung/giây) và thực tế là sự
hiển thị video bị quét xen kẽ (mỗi khung chia ra làm trường chẵn và trường
lẻ hiển thị riêng biệt). Nhiều hãng đã đưa ra dạng frame grabber có thể
ghép nối tương thích với Camera không chuẩn và không xen kẽ (với độ
phân giải cao và tốc độ khung cao hơn), Camera quét theo đường (line-scan

Camera) kính hiển vi quét điện tử, các thiết bị chụp hình trong y tế. Điều
này giúp cho các hình ảnh được thu từ các thiết bị có chất lượng tốt như
video chuẩn và rất cần thiết cho ứng dụng chuyên biệt.
Những tín hiệu video kỹ thuật số từ tín hiệu xuất của Frame grabber
hay là của Camera kỹ thuật số là một phần thông tin số được cung cấp bởi
máy tính hay thiết bị ngoại vi. Thông tin số từ các thiết bị ngoại vi của điều
khiển thiết bị máy tính khác nhau được kết nối tới CPU và bộ nhớ chính
thông qua các kênh mở rộng. Một kênh máy tính là một phần của thiết bị
phần cứng và được kết hợp với một giao thức kết nối được thực thi bởi một
phần mềm điều khiển thiết bị (driver) và thư viện ứng dụng cấp cao
Software Development Kit (SDK). Bộ thư viện SDK cung cấp các khối xây
dựng cơ bản trong lập trình các ứng dụng của Camera máy tính.
11
Có 3 chuẩn thông dụng trong thị trường máy tính ngày nay:
1. Chuẩn PCI.
2. Chuẩn IEEE 1394.
3. Chuẩn USB.
Chuẩn PCI (Peripheral Component Interface): Là kiểu kênh dẫn đầu
tiên trong công nghiệp máy tính. Nó rất hữu dụng trong ứng dụng video.
Nó cần thông lượng cao kết hợp truy xuất với thiết bị ngoại vi và CPU tốc
độ cao. Một điểm chú ý nữa là khả năng xử lý độc lập và không phụ thuộc
nên cho phép nó trở thành một kênh chuẩn cho máy tính Intel lẫn
Macintosh.
Những lợi ích về chức năng của cổng PCI:
 Hiển thị thời gian thực trên bộ điều khiển hiển thị của hệ
thống.
 Lưu được thời gian thực của hình ảnh vào bộ nhớ của hệ
thống.
 Truy xuất tốc độ cao cho các CPU mạnh hiện nay để có được
khả năng xử lý tốc độ cao.

Chuẩn IEEE 1394 : Nó có khả năng chuyển dữ liệu ở tốc độ 100 –
200 hay 400 Mbps.
Những lợi ích của IEEE 1394:
 Giao tiếp kỹ thuật số - không cần phải chuyển dữ liệu ở dạng
tỷ biến và chấp nhận sự mất toàn bộ dữ liệu.
 Dễ sử dụng – không cần thiết bị cuối, thiết bị Ids hay cài đặt
phức tạp.
 Có thể gắn nóng – người sử dụng có thể thêm hay tháo thiết bị
1394 với kênh đang hoạt động.
 Có cấu trúc thay đổi – có thể gồm hỗn hợp các thiết bị có tốc
độ 100, 200 và 400 Mbps trên một cổng.
12
 Có cấu trúc liên kết mạng linh động – có hỗ trợ kết nối mạng
đồng đẳng ở dạng sao hay nhánh.
 Rẻ tiền – sự phân phối thời gian tới hạn của dữ liệu được bảo
đảm giúp giảm chi phí cho bộ nhớ đệm.
 Không có quyền sở hữu riêng – không gặp rắc rối trong vấn đề
bản quyền khi sử dụng sản phẩm.
 Điều khiển tất cả mọi cấu hình – sự quản lý các kênh song
song được điều khiển dưới dạng tối ưu hóa sự phân bổ thời
gian và bảo đảm nguồn điện cung cấp đầy đủ cho các thiết bị
trên kênh (chỉ định toàn bộ chu trình cho thiết bị IEEE 1394)
chỉ định của kênh ID đẳng thời và báo lỗi.
Chuẩn kênh IEEE 1394 với rất nhiều lợi ích đáng chú ý. Nó có thể
kết nối trực tiếp với Camera mà không cần có sự chuyển đổi từ tín hiệu tỷ
biến sang tín hiệu kỹ thuật số. Nó còn là một thiết bị kết nối kênh dữ liệu
đẳng thời. Kênh dữ liệu đẳng thời bảo đảm cho truyền tải với tốc độ định
trước. Điều này rất quan trọng cho dữ liệu video với thời gian tới hạn, giúp
loại bỏ được sự tốn kém của bộ nhớ đệm khi tín hiệu được truyền tải đến
đúng thời gian. Do đó ta không còn ngạc nhiên khi IEEE 1394 trở thành

một giao tiếp kỹ thuật số của Camcorder. Ngày nay, trên thị trường có rất
nhiều IEEE 1394 cho Camera máy tính công nghiệp hay an ninh. Ở những
hệ thống máy tính lớn này không có kênh IEEE 1394 thật mà IEEE 1394
được nối với Camera qua bộ điều hợp PCI. Bộ điều hợp này dịch giao tiếp
của IEEE 1394 sang giao tiếp của PCI. Đây rõ ràng là một giải pháp chưa
tối ưu vì hiệu suất tổng thể của giao tiếp hỗn hợp Camera và máy tính kém
hơn với 2 giao tiếp đồng bộ.
Kênh USB (Universal Serial Bus): Thiết bị USB có thể chuyển tín
hiệu với tốc độ 12 Mbps/s. Tốc độ này thấp hơn nhiều khi với thiết bị IEEE
1394. Cổng IEEE 1394 có thể chuyển nhiều dữ liệu hơn trong một khoảng
13
thời gian xác định, nhưng nó đắt hơn USB rất nhiều vì nó cần giao thức
phức tạp và tốc độ phát tín hiệu cao. Vì thế cổng USB hỗ trợ thiết bị với
yêu cầu độ rộng dải tần thấp như chuột, bàn phím và âm thanh. USB cũng
rất phổ biến với Camera máy tính cấp thấp. Ở những thế hệ sau này thì
USB cải thiện được tốc độ thấp bằng cách truyền tín hiệu ở dạng khung
nhỏ hơn và cải thiện chất lượng hình ảnh nhờ giảm độ nén.
1.4. Mạng Internet
Internet là một liên mạng, tức là mạng của các mạng con. Vậy đầu
tiên là vấn đề kết nối hai mạng con. Để kết nối 2 mạng con với nhau, có hai
vấn đề cần giải quyết. Về mặt vật lý, hai mạng con chỉ có thể kết nối với
nhau khi có một thiết bị có thể kết nối cả hai mạng này. Việc kết nối đơn
thuần về vật lý chưa thể làm cho hai mạng con có thể trao đổi thông tin với
nhau. Vậy vấn đề thứ hai là thiết bị kết nối được về mặt vật lý với hai mạng
con phải hiểu được cả hai giao thức truyền tin được sử dụng trên hai mạng
con này và các gói thông tin của hai mạng con sẽ được gửi qua nhau thông
qua đó. Thiết bị này được gọi là Internet Gateway hay Router.
Hình 1.3: Hai mạng Net1 và Net2 kết nối thông qua Router.
Khi kết nối đã trở nên phức tạp hơn, các máy Gateway cần phải biết
về sơ đồ kiến trúc của các mạng kết nối. Ví dụ như hình sau đây cho thấy

nhiều mạng được kết nối bằng hai Router.
Hình 1.4: 3 mạng kết nối với nhau thông qua 2 Router.
14
Như vậy, Router1 phải truyền tất cả các gói tin đến một máy nằm ở
mạng Net2 hoặc Net3. Với kích thước lớn như mạng Internet, việc các
Router làm sao có thể quyết định về việc chuyển các gói tin cho các máy
khác trong các mạng sẽ trở nên phức tạp hơn.
Để các Router có thể thực hiện được công việc chuyển một số lớn
các gói tin thuộc các mạng khác nhau người ta đề ra quy tắc là:
Các Router chuyển các gói thông tin dựa trên địa chỉ mạng của nơi
đến chứ không phải dựa trên địa chỉ của máy nhận.
Như vậy, dựa trên địa chỉ mạng nên tổng số thông tin mà router phải
lưu giữ về sơ đồ kiến trúc mạng sẽ tuân theo số mạng trên Internet chứ
không phải là số máy trên Internet.
Trên Internet, tất cả các mạng đều có quyền bình đẳng cho dù chúng
có tổ chức hay số lượng máy là rất chênh lệch nhau.
Như vậy, người dùng trong Internet hình dung Internet là một mạng
thống nhất và bất kỳ hai máy nào trên Internet đều được nối với nhau thông
qua một mạng duy nhất. Hình vẽ sau mô tả kiến trúc tổng thể của Internet:
(a)
15
(b)
Hình 1.5: (a)-Mạng Internet dưới con mắt người sử dụng.
Các máy được nối với nhau thông qua một mạng duy nhất.
(b)-Kiến thức tổng quan về mạng Internet. Các Router
cung cấp các kết nối giữa các mạng.
2. Phần mềm
Camera thật sự là một thiết bị phần cứng liên kết với CPU thông qua
cổng frame grabber. Sự liên kết này diễn ra ở mức độ phần cứng. Có một
kẽ hở giữa cách kết nối này với phần mềm ứng dụng cấp cao. Kẽ hở này

được nối bằng phần mềm điều khiển thiết bị (driver). Phần mềm cấp cao
không thể kết nối trực tiếp với thiết bị phần cứng như Camera hay ổ cứng.
Tuy nhiên, nó có thể xử lý rất hiệu quả với tập tin. Trong hệ điều hành
Windows, driver làm cho các thiết bị trở nên giống tập tin, thiết bị có thể sử
dụng được. Một chương trình ứng dụng có thể đưa ra những yêu cầu đọc và
ghi cho driver trước khi kênh truy cập của thiết bị đóng lại.
Driver trở thành một phần trong nhân của hệ điều hành khi nó được
nạp vào driver của thiết bị được thiết kế Windows Driver Model (WDM) ở
16
Windows 2000 và Windows XP. WDM có 2 bộ phận riêng biệt nhưng
quan trọng như nhau:
 Kiểu lõi định cấu trúc chuẩn cho driver thiết bị. Cụ thể hơn, nó định
cách driver thiết bị được cài đặt, bắt đầu và cách các driver thiết bị
giúp cho người sử dụng có thể kết nối được phần cứng.
 Dãy driver hệ thống được cung cấp bởi Microsoft. Những driver này
có tất cả các chức năng cơ bản cần để nhận diện nhiều loại thiết bị.
Trong số đó, sự hỗ trợ 2 loại chuẩn mở rộng được ưa chuộng nhất là
USB và IEEE 1394.
17
CHƯƠNG 2: MỘT SỐ KIẾN THỨC LIÊN QUAN
1. Giao thức HTTP (HYPERTEXT TRANSFER PROTOCOL)
1.1. Tổng quan về giao thức truyền siêu văn bản(HTTP)
1.1.1. Giao thức HTTP và ý nghĩa của nó
Giao thức HTTP là giao thức của tầng ứng dụng cho Web. Đây là
giao thức truyền thông giữa Server và Client. HTTP là giao thức phục vụ
cho dịch vụ WWW(World Wide Web).
Hình 2.1: Mô hình Client/Server.
Phía Client: Gửi các yêu cầu, tiếp nhận kết quả và biểu diễn các đối
tượng.
Phía Server: Tiếp nhận các yêu cầu và đáp ứng chúng, gửi kết quả

cho Client.
18
Một trình duyệt là một HTTP máy khách bởi vì nó gửi những yêu
cầu tới HTTP máy chủ, rồi máy chủ sẽ trả lời tới máy khách. Cổng chuẩn
và mặc định cho HTTP máy chủ là cổng 80, tuy nhiên có thể sử dụng một
vài cổng khác.
HTTP được triển khai trên cả hai phía Client và Server. Các tiến
trình Client và Server trên các hệ thống đầu cuối khác nhau giao tiếp với
nhau thông qua việc trao đổi các thông điệp HTTP. HTTP quy định cấu
trúc thông điệp cũng như cách thức trao đổi thông điệp giữa Client và
Server.
HTTP xác định chức năng duyệt yêu cầu trang Web từ Web Server
cũng như cách thức Server gửi trang Web được yêu cầu đến trình duyệt.
Cho đến năm 1997, phần lớn các trình duyệt Web và Web Server tuân thủ
phiên bản HTTP 1.0.Từ năm 1998 một số trình duyệt và Web Server sử
dụng phiên bản 1.1 theo khuyến nghị của RFC 2068, phiên bản mới này
tương thích với phiên bản 1.0, nghĩa là Web Server dung phiên bản 1.1 có
thể “nói chuyện” được với các trình duyệt sử dụng phiên bản 1.0 và ngược
lại.
1.1.2. Mô hình hoạt động của HTTP
HTTP kết hợp với dịch vụ TCP
 Client khởi tạo liên kết TCP (khởi tạo Socket) đến Server, port
80.
 Server chấp nhận liên kết TCP từ Client.
 Thông điệp HTTP trao đổi giữa Browser (HTTP Client) và
Web Server (HTTP Server).
 Đóng kết nối TCP.
HTTP “không xác thực”
 Server không lưu giữ thông tin về các yêu cầu đã thực hiện
của Client.

19
Giao thức này lưu giữ “tình trạng” dạng hỗn hợp
 Các tình huống quá khứ cần được lưu giữ lại.
 Nếu Server/Client bị ngắt lien kết, chúng xem xét tình huống
xảy ra có thể bị xung đột cần phải đồng bộ lại.
1.1.3. Ví dụ về HTTP
Bước 1a:
 HTTP Client khởi tạo TCP liên kết đến HTTP Server
(process) tại cổng 80 (cổng mặc định cho HTTP Server).
Bước 1b:
 HTTP Server chờ để chờ để kết nối TCP với Client qua cổng
80. “accepts” kết nối.
Bước 2:
 HTTP Client gửi HTTP thông điệp yêu cầu (Request message,
có chứa địa chỉ URL) bên trong TCP kết nối cổng Socket
(Socket là điểm cuối cùng của truyền thông, nó gồm có địa chỉ
IP và số hiệu cổng).
Bước 3:
 HTTP Server tiếp nhận thông điệp yêu cầu, gửi trả Response
message có chứa đối tượng được yêu cầu bên Socket.
Bước 4:
 HTTP Client nhận thông điệp trả lời Response message có
chứa HTML file, hiển thị tệp tin dạng html.
Bước 5:
 Các bước 1 – 4 được lặp lại.
Bước 6:
 HTTP Server đóng kết nối TCP lại.
20
1.1.4. Một số khái niệm về kết nối
Kết nối không bền vững (phiên bản HTTP 1.0)

 Server phân tích yêu cầu, đáp ứng yêu cầu và đóng kết nối
TCP.
 2 RTTs (Round trip time) được nạp cho mỗi đối tượng.
 Mỗi đối tượng được chuyển qua từ thời điểm bắt đầu chậm.
Kết nối bền vững
 Mặc định cho HTTP 1.1.
 Trong một vài liên kết TCP: Server phân tích yêu cầu, đáp ứng
yêu cầu, phân tích yêu cầu mới,…
 Client gửi các yêu cầu cho tất cả các đối tượng được chuyển
đến ngay sau khi nhận được cơ sở HTML.
 Một vài đơn vị RTTs và được bắt đầu chậm hơn.
1.1.5. Cấu trúc cơ bản của HTTP
Có hai dạng thông điệp HTTP là: Request và Responese.
 Cấu trúc thông điệp yêu cầu của HTTP: Request
HTTP request message: ASCII
(a)
Trong đó:
 GET /somedir/page.html HTTP/1.0: Dòng yêu cầu có thể có
các lệnh HEAD, GET, POST.
21
 User-agernt : Phần mềm tương tác người dùng là
Mozilla/0.9.4(Linux 2.2.19).
 Chấp nhận được các lệnh : Text/html, image/gif, image/jpeg.
 Ngôn ngữ có thể chấp nhận là : English.
 <cr><lf> : Mã kết thúc.
(b)
Hình 2.2: (a) và (b) Cấu trúc HTTP request message
 Cấu trúc thông điệp trả lời của HTTP: Responese
Hình 2.3: Cấu trúc HTTP Responese
Trong đó:

 HTTP/1.0 200 OK: Dòng trạng thái (mã trạng thái của giao
thức HTTP là 200 OK).
22
 Sau dòng trạng thái là các dòng đầu mô tả ngày tháng, máy
chủ, ngày cuối cùng cập nhật và kích thước tệp tin cùng với
nội dung là tệp tin loại gì.
 <cr><lf>: Phần kết thúc của giao thức.
 data data data data data…: Phần dữ liệu đã yêu cầu.
 Các mã trạng thái cơ bản của HTTP
Trong lần đầu liên kết, thông điệp server -> client trả lại các mã
thông báo trạng thái sau:
 200 OK: Yêu cầu được giải quyết, đối tượng được yêu cầu sẽ
đáp ứng muộn hơn như thông báo trong thông điệp này.
 301 Moved Permanently: Đối tượng được yêu cầu đã di
chuyển đến vị trí mới, vị trí này sẽ được thông báo lại trong
thông điệp này.
 400 Bad Request: Server không hiểu yêu cầu trong thông điệp
nhận được.
 404 Not Found: Tài liệu được yêu cầu không tìm thấy trong
Server này.
 505 HTTP Version Not Supported
1.2. Giao thức HTTP 1.1
1.2.1. Phiên bản HTTP 1.1
Giao thức HTTP là một giao thức cho tầng ứng dụng, phân phát,
cộng tác, siêu thông tin hệ thống. Nó là một đặc điểm chung, không trạng
thái, giao thức hướng đối tượng mà có thể được sử dụng cho một số nhiệm
vụ như là tên máy chủ và phân phát đối tượng hệ thống quản lý, thông qua
các mở rộng của các phương thức yêu cầu. Một đặc trưng của HTTP là
kiểu và sự điều chỉnh của dữ liệu, cho phép hệ thống được xây dựng không
phụ thuộc vào dữ liệu được truyền đi.

23
1.2.2. Request
Một thông điệp Request từ phía Client tới Server bao gồm có dòng
đầu của thông điệp đó, phương thức để áp dụng đối với tài nguyên, mẫu tài
nguyên và phiên bản giao thức được sử dụng.
1.2.2.1. Request-Line
Request-Line bắt đầu với một mã phương thức, theo sau là Request-
URI và phiên bản giao thức và kết thúc với CRLF. Các thành phần ngăn
cách nhau bởi ký tự trống.
1.2.2.2. Phương thức
Mã phương thức chỉ ra phương thức được thực hiện trên mẫu tài
nguyên bằng yêu cầu URI.
Danh sách các phương thức cho phép bởi một tài nguyên có thể được
phân loại trong trường header cho phép. Mã trả lại của Responese luôn
24
luôn thông báo cho Client, một phương thức hiện tại được cho phép trên
một nguồn tài nguyên, từ khi tập các phương thức cho phép có thể thay đổi
một cách linh động. Máy chủ sẽ trả lại mã trạng thái 405 (không cho phép
phương thức) và 501(không được phép thi hành) nếu phương thức không
được công nhận hay không được thi hành bởi máy chủ.
Các phương thức GET, HEAD phải được xác nhận bởi mục đích
chung của các Server. Tất cả các phương thức khác là các thành phần, tuy
nhiên, nếu các phương thức được thi hành, chúng phải được thực thi với ý
nghĩa đặc biệt.
1.2.2.3. Request-URI
Request-URI là một chuỗi định dạng tài nguyên theo đó nó đáp ứng
yêu cầu.
Có bốn lựa chọn đối với Requesst-URI là phụ thuộc tự nhiên vào
Request. Dấu hoa thị “*” nghĩa là ở đó Request không được ứng dụng với
tài nguyên liên quan, nhưng để máy chủ hiểu được và chỉ được phép khi

phương thức sử dụng không cần thiết đáp ứng tài nguyên.
Dạng URI xác thực được yêu cầu khi Request được khởi tạo tới
proxy. Proxy được yêu cầu để tới Request hoặc Service từ một nơi lưu trữ
hợp lệ và trả lại Response. Lưu ý, ở đó proxy có thể tiến tới yêu cầu thẳng
tới một proxy khác hay trực tiếp tới một máy chủ xác định bằng một URI
xác thực. Thay vào đó để tránh lặp lại yêu cầu, một proxy phải có khả năng
nhận ra tất cả các tên của Server bao gồm các alias, sự thay đổi nội bộ và số
địa chỉ IP. Ví dụ:
GET HTTP/1.1
Để cho phép truyền tới URI xác thực trong tất cả các Request trong
phiên bản tiếp theo của HTTP, tất cả HTTP/1.1 Server phải truy cập địa chỉ
25

×