Trên 5 Trên 5 khung hình của video này, chúng ta quan tâm đến các đối
5.2.3. Giới thiệu về phân đoạn video
Phân đoạn video là quá trình phân chia các cảnh (sequence) viđeo thành các đơn vị nhỏ hơn. Kỹ thuật phân đoạn trích lọc các thông tin có cấu trúc từ
các video bằng
(segment) có ý nghĩa, thường được gọi là cée shot. Shot thường là đối tượng quan tâm nhỏ nhất. Chúng được phát hiện tự động và thường được biểu diễn bởi các key-frame,
Phân đoạn video có thê xảy ra hoặc ở mứ
Loại thứ nhất được sử dụng thường hơn và đôi khi được gọi là phát hiện (detection) shot. Phát hiện shot có thé được định nghĩa là quá trình phát hiện
về một shot sẽ được nhóm lại
tiếp đột ngột (hoặc it
cắt, trong khi cứu gần đây giới thiệu về các kỹ thuật thành công để phát hiện quá trình chuyên tiếp dẫn đần.
Loại thứ hị động các ranh g
phân đoạn video dựa cảnh, bao gồm việc phát hiện tự
¡ ngữ nghĩa trong một chương trình video. Đó là ô các giải pháp đòi hỏi một mức độ cao hơn về phả
nội dung và vấn đề này vẫn đang được tiếp tục nghiên cứu.
5.2.4. Chỉ mục nội dung video
Lập chỉ mục video là công việc kbớ và phức tạp hơn so lập chỉ mục dựa trên văn bản. Trong khí trong các hệ quản trị CSDL quan hệ, dữ liệu thường được lựa chọn dựa trên một hoặc nhi nh duy nhất (thuộc tính khóa), thi day không phải là điều rõ ràng và cũng không đễ dàng đẻ xác định dữ liệu nào dé lập chỉ mục trên dữ Tiệu video. Vì vậy, không giống như dữ liệu văn bản, mục dữ liệu video dựa trên nội dung một cách tự động thì khó hơn rất nhiêu. Việc lập chỉ mục phải hỗ trợ hiệu quả việc thực thi của các câu truy vấn CSDL video.
Có rất nhiều cấu trúc chỉ mục cho video. Tuy nh
ội dung video theo kiểu khung hình nối tiếp khung hì đài 90 phút chứa khoảng 162.000 khung hình). Vì vậy
gọn của video và các thành phần mà các video có thê được phân rã thành chúng (ví dụ cảnh, shot). Vì vậy, việc lập chỉ mục nội dung video trước tiên bao gồm việc phân đoạn video (video segmentation). Tite 1a phan chỉa video thành các shot, cảnh hoặc câu truyện ngăn. Việc phân đoạn được thực hiện bằng cách áp dụng các giải thuật phân đoạn trên các dữ liệu video để thu được các khoảng
(interval). Sau đó, sử dụng các cấu trúc chỉ mục thích hợp trên các khoảng này.
Hai cấu trúc dữ liệu chính được sử dụng trong tình huống này.
không thể lưu trữ
~_ Frame Segment Tree (Cay FS)
~ Rectangular Segment Tree (Cay RS)
5.2.4.1 Cay FS
Ý tưởng cơ bản ân sau một cây FS là như sau: đầu tiên, chúng ta xây
dựng hai mảng, OBJECTARRAY va ACTIVITYARRAY. OBJECTARRAY tượng Ới tương ứng với mỗi số nguyên i. Mỗi phần tử của mảng này kết hợp với một danh sách liên kết có thứ tự các con
trỏ đến cỏc nỳt trong cõy FS đặc tả cỏc đoạn mà đối tượng ỉ/ xuất hiện trong.
đú. Vớ dụ, danh sỏch liờn kết kết hợp với đối tượng 1 (ỉ,) cú thể chứa một số con trỏ đến các nút, ví dụ: 15,16,19.20, đại điện cho các nút trong cây F$
Trong khi đó, mỗi phần từ ¡ của mảng ACTIVITYARRAY chứa một hoạt động 4. Ngoài ra, mỗi phần tử của mảng này cũng có một danh sách có thứ:
tự các con trỏ đến các nút trong cay FS a c đoạn mà hoạt động 41 xuất hiện trong đó.
Các khái niệm cơ bản
Phần này giới thiệu một số
cây FS như bộ các khung, thứ tự
ác khái niệm cơ bản được sử dụng trong.
khung.
Bộ các khung hình (Frame- Sequenee)
Bộ các khung hình là một cặp [i, j) ma 1< i, j< n. Nó biểu diễn một tập hợp tất cả cỏc khung hỡnh (frame) tớnh từ khung hỡnh Ă (kẻ cỏ ù) cho đến khung hình j (không kể j), tức là [, j) = {k/ is k <j}. Vi dụ [6, 12) biểu thị tập hợp các khung hình {6, 7, 8, 9, 10, 11}
'Thứ tự của bộ các khung hình (Frame Sequence Ordering)
Bộ các khung hình il, j1) được gọi là rude bd cde khung hình [¡2, j2), ký hiệu [ù1, j1) <[ù2, j2), nếu và chỉ nếu j1< i2 <j2.
với các bộ các khung hình 1= [10, 15), 2= [8, 10), 3= [LI,
ẹ2 < R1 là đỳng,
§2 < R3 là đúng 183 < BI là sai
Tập hợp các bộ các khung sắp thứ tự tốt (Well-Ordered Set of
Frame-Sequences)
Một tập hợp X khung hình được gọi là sắp thứ tự tốt khi và
chỉ khi: ic bO
a.- X là tập hợp hữu hạn các bộ các khung hình, X={[i1, j1), [i2, j2)...
lír,jÐ).
b. [il, jl) $ [i2,j2) <.... <[ si)
Vi du X= {[1, 4), [9, 13), [33, 90)} là một tập hợp các bộ các khung
hình sắp thứ tự tot vi [1, 4) < [9, 13) < [33, 90)
Tập hợp các bộ các khung hình đặc (Solid Set of Frame-
Sequences)
Một tập X các bộ các khung hình được gọi là đặc khi và chỉ khi:
a. X là tập hợp sắp thứ tự tốt
b.. Không tồn tại các bộ các khung hình trong X có dang [il, i2) va [i2, i3)
Vi dy, X= {[1, 7), [9, 11)} là một tập hợp các bộ các khung hình đặc, nhưng Y= {{1, 5), [5, 7), [9, 11)} thì không phải là một tập hợp các bộ các khung hình đặc.
Ánh xạ liên kết đoạn (Segment Association Map)
Gi ing (OBJ, AC, ^) là nội dung của video v: Ánh xạ liên kết đoạn
Gy, liên kết với video v là một ánh xạ được định nghĩa như sau:
a. Miễn giá trị cla Oy 14 OBJ U AC
b. Voi mdi x € OBI UAC, oy tra vé mot tập hợp các bộ
hình đặc, duge biéu thj bai (x), sao cho: ác khung.
~_Nếu[s,e) € ỉy(X) thỡ với mọi frame f:s< F<e ta cú x € Ä(f)
¡ frame f và mỗi x € OBJ U AC, nếu x e 2(f) thì tồn tại một
bộ cỏc khung hỡnh [s, e) â ứy(X) sao cho f e [s. e)
Ví dụ về nội dung video.
Hình 5.9 minh họa cho nội dung của một video v gồm có 5 đối tượng,
(Object!, .... Objeet5) và 5000 khung hình. Bảng 5.3 cho biết mỗi đối tượng xuất hiện trong bao nhiêu khung hình.
Objects
Objects
Objects
Object?
Objeett o 1000 2000 3000 4000 5000
Hình §.9. Ví dụ nội dung video.
Dựa vào Bảng 5.3, chúng ta có thể nhận xét rằng, để trình bày một cách tường mình ánh xạ 2 liên kết với nội dung của video này, chúng ta sẽ
cần tổng cộng đến 10000 bộ. Thay vì vậy, người ta biểu diễn thông tin bing
16 bộ như minh họa trong Hình 5.9 và bảng phân đoạn (Segment Table) trong Bảng 5.4. Bảng này cho thấy mỗi đối tượng xuất hiện trong những, đoạn khung hình nào,
Bảng 5.3 Ví dụ về đối tượng và số lần xuất hiện trong các khung hình.
Đối tượng. Số khung
Object! 1250
Object? 1500 |
Object3 3250 |
Objects 1250 |
Objects 2750 |
Tổng 10000 |
Giá sử rằng video v có n đối tượng 0,0; ạ và m hoạt động.
,82...,4mm„ khi đó chúng ta có tổng:
¥ (cara(o, (0;)))+ 5 (cara(o, (a)
isl jel
các mục đầu vào trong bảng đối với chỉ một video đơn lẻ.
Băng 5.4 Bảng phân đoạn
Đối tượng Phân đoạn | Đối tượng. Phân đoạn
Object! 250 - 750 | Object3 2500 - 2750
Object! 1750-2500 | Object3 3250 - 5000
Object2 250 - 1000 | Object4 1500 - 2250
2250-2500 | Objects 4500 - 5000
2750-3250 | Objects 250 - 750
Object3 0-250 | ObjectS 1250 - 2750
Objeed | 500-750 | Objects 3500 - 3750
Object3 1000 - 1750 | Objects 4500 - 5000
Cấu trúc cay FS
Cây FS là mộ
một bộ các khung hình mà các đối tượng.
được xây dựng từ bảng phân đoạn và bạo.
cây nhị phân, trong đó mỗi nút lá của nó biểu thị cho.
la video xuất hiện trong đó. Cây FS 2 bước.
Bước I
Gói [s,.e,)3,.e;)s[sye„) là tắt cá các khoảng (interval) trong,
đoạn (Segment) của băng phân đoạn. Đặt qị,d2...qz là một sự liệt kê theo
thứ tự tăng dẫn (in aseending order) của tắt cả các thành phần / đoạn của
{s,,e)/1<Ă<ứ}, cỏc thành phần / đoạn giống nhau bị khử bớt. Cỏc đoạn
giống nhau là do có nhiều đối tượng cùng xuất hiện tại đoạn đó, ví dụ trong.
Hình 5.9, đoạn [250, 500) sẽ lặp lại 3 lần do có 3 đối tượng cùng xuất hiện ở
đoạn này,
Nếu z không là lũy thừa của 2 thi ta làm như sau: đặt z là số nguyên nhỏ.
nhất sao cho z<2' A framenum(v)<2'. Thém vào các phần tử mới Fouts Goras sao cho q,. =
framenum(v) là số các khung hình trong video v.
hamenun(v)+l^4.,j =4. + j với z+ j <2”. Với
Vi lap luận trên, chú
thừa của 2, tức là z =2”
ó thể xuất phát với giả định rằng z là một lũy
nguyên nào đó.
giá
Bước 2
Cây nhị phân FS được xây dựng như sau:
a- Mỗi nút trên cây FS biểu diễn một bộ các khung hình [x, y) bắt đầu
từ khung hình x và bao gồm tất cả các khung hình cho đến khung hình y, nhưng không tính y.
b- Mỗi nút lá thì ở mức r. Nút lá bên trái nhất biểu. khoảng [z,.z;)
nút lá thứ hai kể từ bên trái nhất biểu diễn khoảng [z,z,), nút lá thứ ba kể từ bờn trỏi nhất biểu diễn khoảng [z,.z,), và cứ như vậy. Nếu ứ là một nỳt cú hai con, chỳng biểu diễn cỏc khoảng [p„.p,).[ứ;.p,), thỡ ứ biểu diễn khoảng [pi.p,). Do đú gốc của cõy FS biểu diễn cho khoảng [q,„ứ.) nếu z là một lũy thừa của 2, ngược lại thì nó biểu diễn khoảng [g,,z:).
e- Số bên trong mỗi nút có thể được xem như địa chỉ của nút đó.
d- Tập hợp các số được đặt bên cạnh một nút biểu thị Ih danh (id)
của các đối tượng video và các hoạt động xuất hiện trong toàn bộ bộ các khung hỡnh liờn kết với nỳt đú. Do đú, vớ dụ, nếu nỳt ứ biểu diễn bộ cỏc khung hỡnh [Ă, j) và đối tượng ỉ xuất hiện trong tat cả cỏc khung hỡnh của [Ă, j) thỡ đối tượng Ở gần nhón lờn nỳt z (trừ khi đối tượng ỉ gỏn nhón lờn tiền bối của nỳt ủ trờn cõy).
dụ: Xét lại ví dụ về video v được minh họa trong Hình 5.9, ta xây.
dựng lại bảng phân đoạn theo thứ tự tăng dần của các đoạn (Bảng 5.5). Trong bảng này, cỏc đoạn là khụng bằng nhau, cỏc phõn đoạn được ủz nghiộng là cỏc phân đoạn có độ dài lớn hơn các phân đoạn khác. Điều này tùy thuộc vào việc
toàn bộ đoạn đó có chứa một đối tượng nào đó hay không. Ví dụ, ta xét đoạn
[250 ; 750), đoạn này chứa trọn vẹn các đối tượng ol, o2 và o5 nhưng một phần đoạn này không bao gồm o3. Vì vậy ta phải phân đoạn này thành 2 đoạn [250 ; 500) và [500 ; 750).
Từ bảng phân đoạn theo thứ tự này, ta xây dựng được cây FS biểu diễn
cho video v được mình họa trong Hình 5.10,
Băng 5.5 Bảng phân đoạn theo thứ tự
Doan Đối tượng | Doan Đối tượng.
0-250 s3 2250 - 2500 ol, 02, 05
250 - 500 ol, 02, 05 2500 - 2750 03, 05
500 - 750 ol, 02, 03, 05 | 2750 - 3250 ứ2
750 - 1000 02 | 3250 - 3500 o3
1000 - 1250 03 | 3500 - 3750 03, 05
1250 - 1500 03, 05, | 3750 - 4500 03
1500 - 1750 03, 04, 05 | 4500 - 5000 03, 04, oS 1750 - 2250 ol, 04, 05 | 5000 - 5000 03, 04, 05
0 x0
280 500750, 00012801500. 1750, 1750 2350 2300 1000 1250 1300 20 ằ Hình 5.10 Vi dy cay FS
Mỗi nút trong cây FS bao gồm các thành phần sau (Hình 5.11a):
~_ LB (Lower bound): chỉ số dưới của phân đoạn,
— UB (Upper bound): chi sé trén của phân đoạn,
~ OBJ (Object
myc trong mang OBJECTARRAY (Hinh 5.11b).
= LLINK: con trái
~_RLINK: con phải
con tró đến một danh sách liên kết con trỏ đến các
LB=250
= † 1x} &bÐẲ@UD
tr | Ma *% ẹ Nẹ
Vitritrong mang
a. Cau tric cia mét nit trong cay FS
18 3 4
Các núttrong cây FS b. Nội dung của đối tương ol trong mang OBJECTARAY
Hình 5.1 Ví dụ mảng OBIECTARAY
Nút 17 trong cây FS hình Hình 5.10 tương ứng với phân đoạn [250, 500) được cải đặt như trong Hình 5.1 1a, phân đoạn này liên quan đến các đối tượng ol, o2, o5 (Bang 5.5). Các đối tượng này tương ứng với các vị trí 1, 2 và 5 trong ming OBJECTARAY (Hinh 5.11b). Trong mảng này đối tượng ol gồm một đanh sách liên từ của danh sách trỏ tới một nút trên FS. Đối tượng ol liên quan tới các phân đoạn được biểu diễn bởi các nút 17, 18, 23 và 24 trên cây FS.
Ung dụng cây FS dé lap chi mye CSDL video
Sử dụng cây FS để lập chỉ mục một CSDL video VidLib có chứa các video Vị,Va... Vụ người ta thực hiện như sau:
1. Tạo một bảng đối tượng video tên là INTOBJECTARRAY có lược đồ (VID_ID, OBI, PTR). Bộ (v, 0, ptr) thude về bảng INTOBIECTARRAY
nếu và chỉ nêu cặp (o, ptr) thuge về OBIECTARRAY được gắn với video v.
„2. Tạo một bảng hoạt động video tên là INTACTIVITYARRAY có lược
đồ (VID ID, ACT, PTR). Bộ (v, a, pt) thuộc về bing INTACTIVITYARRAY nếu và chỉ nêu cặp (a, ptr) thuộc về ACTIVITYARRAY được gắn với video v.
có một cây FS gắn với nó ký hiệu fSt(V;). Các con
vj tri trong bing INTOBJECTARRAY va bing
Với mỗi video vị
trỏ của cây FS trỏ đến
INTACTIVITYARRAY thay vì mảng OBIECTARRAY và mảng ACTIVITYARRAY như đã mô tả trong phan trên.
5.2.4.2 Cay RS
Cây RS rất giống với cây FS, nhưng với một sự khác biệt lớn. Các khái niệm về OBIECTARRAY và ACTIVITYARRAY vẫn giữ nguyên như trường hợp cây FS. Nhưng thay vì sử dụng một cây FS để biểu diễn các bộ khung hình thì chúng ta tận dụng sự kiện là một bộ các khung hình [s, e) là một hình
chữ nhật có chiều dài (e - s) và chiều rộng bằng 0. Các hình chữ nhật này được sắp xếp theo một cây R. Trong trường hợp này, mỗi nút của cây R sẽ có một
cấu trúc đặc biệt để xác định, cho mỗi hình chữ nhật, đối tượng hay hoạt động nào được liên kết với nó. Ưu điểm chính của một cây RS so với cây FS là nó phủ hợp cho việc tìm lại các trang (page) từ đĩa (disk) vì mỗi truy cị
chứa không phải là một hình chữ nhật mà là một s
nhật gần kể nhau.
Trở lại ví dụ trong Hình 5.9, ta có cây RS như hình Hình 5.12:
object object object 3 object?
(LẠ (plue ứ]s]s]xe
1 INNNNB| |
+ tite t
tới các vịt trên đa
al ae ~-E =< ~E aL
Hinh 5.12 Ví dụ cây RS
5.2.5 Các chuẩn video.
5.2.5.1 Giới thiệu
Tắt cả các chuẩn nén video đều đáp ứng một số nguyên tắc cơ bản. Đầu
tiên, các tín hiệu viđeo tương tự được chuy:
số mà sẽ dễ ding truyền tải trên mạng hơn. Một lợi thế lớn của các định dạng kỹ thuật số là tín hiệu không bị suy thoái. Nguyên tắc cơ bản của nén video là để giảm thiểu sự trùng lặp thông tỉn trong dữ liệu, hiển nhiên là điều này khó có thể nhìn thấy được bằng mắt thường. Hiện nay, có hai phương pháp là nén không mắt thông tin và nén mắt thông tỉn. Đối với nén không mắt thông tin, các dữ liệu được giải mã vào lúc đến tay người nhận thì giống với dữ liệu ban đầu được mã hóa bởi người gửi. Loại nén này cho phép một tỉ lệ nén 2: 1, rõ ràng là không đủ để nén video. Trong trường hợp nén mắt dữ liệu, dữ liệu là khác nhau giữa đầu ra của bộ giải mã và đầu vào của bộ mã hóa. Đây là loại
nén được sử dụng trong video, bởi vì con người có thê chỉ mắt những.
thông tin mà không phải lúc nào cũng nhìn thấy bằng mắt. Trong kiểu nén này, tỷ lệ nén có thé lên đến 300: 1.
ác video kỹ thuật số là một chuỗi các hình ảnh và đo đó nó có sự dư
thừa về không gian (giữa các pixel). Sự dư thừa không gian là sự dư thừa trong mỗi hình ảnh chụp độc lập. Sự dư thừa này có thẻ được giảm bớt bằng
cách mã hóa các hình ảnh riêng biệt như trong JPEG. Nhưng chúng ta có the
nhận ra rằng hai bức ảnh liên tiếp trong một chuỗi video là gân như giống hệt nhau: đó gọi là sự dư thừa thời gian. Vì vậy, mục đích là chỉ lưu trừ những thay đối khi chuyên từ một ảnh này sang một hình ảnh khác. Như vậy, những.
hình ảnh được nén bao gồm hai loại: những hình ảnh I và hình ảnh P (Hình 5.13). Các ảnh I là các ảnh hoàn toàn được mã hóa trong JPEG, chúng còn được gọi là các khung hình chính. Trong khi đó các ảnh P chỉ bao gồm các điểm ảnh được sửa đôi so với hình ảnh trước đó mà có thẻ là một ảnh Thode
ảnh P.
t_] Nên không gian để giảm sự dự thừa dữ
J liệu chỉ trong một ảnh
= | thời gian để giảm sự dự thừa dữ
liệu giữa nhiễu ảnh
Hình 5.13 Nén không gian và nén thời gian
Ngoài ra, một video không chỉ được tạo ra chỉ duy nhất bởi
ảnh, mà còn có âm thanh. Vì vậy, có hai đòng dữ liệu cần quản lý:
video và audio. Do đó, các chuẩn nén video như MPEG có ba phần: một
phan video, pl và một phần quản lý các hệ thống tích hợp của hai
ệc độc lập với nhau, ép kênh.
phần trên. Các bộ mã hóa / giải mã video và audio làm.
phần hệ thống tích hợp sẽ giải quyết vấn đẻ ghép và tách tín hiệu (gl
và tách kênh).
Voi mye tiêu làm giảm các thông tin dư thừa, nhiều chuẩn nén đã ra đời như JPEG, MPEG, cinepark,... Trong đó chuẩn nén MPEG được sử dụng nhiều nhất trong nén video. Phần tiếp theo giới thiệu một số chuẩn nén video MPEG
5.2.5.2 Chuẩn nén MPEG
MPEG (Moving Picture Expert Group) là nhóm chuyên gia về hình ảnh động được thành lập năm 1988 bởi ISO và IEC. Nhiệm vụ của nhóm là thiết lập các tiêu chuẩn cho việc truyền tải video và audio. Cho đến nay, nhóm này đã cho ra đời các chuẩn nén như: MPEG-I, MPEG-2, MPEG-4, MPEG-7,
MPEG-21,...
Các dòng dữ liệu ra của MPEG bao géri ba’ loai anh (frame): 1 (intracoded), P (predicted) và B (bidirectional),
Mã hóa không giạn
Các hình ảnh I, như đã được giới thiệu trong phần 5.5.1, là các ảnh được mã hóa hoàn toàn trong JPEG. Thông thường, một hình ảnh I được đưa vào các dòng video mỗi 10 đến 15 khung hình (fiame). Như vậy với tốc độ 2 khung hình mỗi giây, thì điều này có nghĩa là có 2 hoặc 3 khung
giây trong ding video.
Mã hóa dự đoán
Hình ảnh P (predicted) được mã hóa tương đối so với hình ảnh trước đó.
Chúng chỉ mã hóa sự khác nhau theo. khối so với hình ảnh trước đó. Vì vay,
người ta tìm kiểm trong các khung hình trước đó một macroblock (một đơn vị xử lý được dùng trong nén ảnh và video, một ảnh được phân thành các
macroblock, thường là khối 16x16) nào đó trùng hoặc tương tự để tối ưu hóa
mã hóa. Sự khác biệt giữa hai hình ảnh sau đó được mã hóa không gian giống như ảnh I (Hình 5.14).