Đồng bộ đa phương tiện bao gồm việc định nghĩa và thiết lập mối quan hệ về thời gian giữa các kiểu phương tiện. Nó được áp dụng trong các lĩnh vực phim ảnh, ghi băng từ, đĩa, trình diễn và đặc biệt là trong các ứng dụng truyền thông đa phương tiện như hội nghị truyền hình, đào tạo điện tử
Trang 1VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
- -
BÀI TẬP LỚN Môn: Xử lí dữ liệu đa phương tiện
Đề tài: Đồng bộ audio-video chuẩn MPEG
ÁP dụng trong File Stream MPEG
(FSMPEG)
Sinh viên : Nguyễn Tam Kiên
Hà nội-5/2015
Trang 2I TỔNG QUAN VỀ ĐỒNG BỘ ĐA PHƯƠNG TIỆN 1
1.1 Khái niệm chung 1
1.2 Phân loại 1
1.3 Các nguyên tắc đồng bộ 1
1.4 Các mô hình đồng bộ 2
II ĐỒNG BỘ AUDIO-VIDEO TRONG FILE STREAM MPEG (FSMPEG) 4
2.1 Giải pháp đồng bộ tích hợp Audio –Video theo chuẩn MPEG 4
2.1.1 Dòng cơ sở video và audio 4
2.1.2 Giải pháp đồng bộ tích hợp Auido-Video theo chuẩn MPEG 5
III THỬ NGHIỆM ĐÁNH GIÁ CHẤT LƯỢNG 10
3.1 Giới thiệu về Audio Video Synchronizer 10
3.2 Tính năng 10
3.3 Sử dụng Audio Video Synchronizer 11
3.4 Đánh giá chất lượng 13
TÀI LIỆU THAM KHẢO 14
Trang 3I TỔNG QUAN VỀ ĐỒNG BỘ ĐA PHƯƠNG TIỆN 1.1 Khái niệm chung
Đồng bộ đa phương tiện bao gồm việc định nghĩa và thiết lập mối quan hệ về thời gian giữa các kiểu phương tiện Nó được áp dụng trong các lĩnh vực phim ảnh, ghi băng từ, đĩa, trình diễn và đặc biệt là trong các ứng dụng truyền thông đa phương tiện như hội nghị truyền hình, đào tạo điện tử… Khi các dòng được kết hợp với nhau, ràng buộc về mặt thời gian là rất chặt chẽ Vi dụ: bộ trộn tín hiệu audio số đòi hỏi các mẫu phải đến trùng với xung nhịp đồng hồ Trong quá trình thể hiện, các ràng buộc là kém chặt chẽ hơn do giới hạn cảm thụ của con người vì vậy cho phép có sai số nhất định về mặt thời gian Sai số cho phép này trong quá trình tạo, trình diễn hoặc chuyển đổi gọi là khả năng chiu lỗi của các thành phần Một điểm đáng chú ý là khả năng chịu lỗi trong quá trình trình diễn phụ thuộc vào kiểu phương tiện và nội dung Ví dụ, lỗi định thời trong dòng audio sẽ dễ nhận ra hơn
so với trong dòng video và khả năng chịu lỗi của dòng audio sẽ kém hơn khi audio được kết hợp với các nội dung trực quan khác như video hoặc đồ hoạ
1.2 Phân loại
Đồng bộ liên tục: đồng bộ bám liên tục theo thời gian, ta phải luôn luôn theo dõi, điều chỉnh luồng dòng
Đồng bộ điểm : đồng bộ các khối dữ liệu tại các thời điểm tham chiếu
1.3 Các nguyên tắc đồng bộ
Về phương diện thời gian :Ràng buộc về mặt thời gian là thuộc tính vốn có (ví dụ tốc độ lấy mẫu ảnh hưởng đến việc định thời dòng audio ) hoặc là kết quả của quá trình kết hợp nhiều phương tiện khác nhau Vấn đề đặt ra đối với đồng bộ đa phương tiện là làm sao thoả mãn các ràng buộc về thời gian của các ứng dụng
Trang 4Để rõ ràng hơn, giả sử chúng ta trình bày vấn đề đồng bộ bằng mô hình các thành phần: cung cấp (producer), tiếp nhận (consumer) và biến đổi (transformer) Như vậy, môt hệ thống đa phương tiện là sự kết hợp của các thành phần được kết nối với nhau-một mạng các thành phần (component network)- trong đó các kết nối mang các giá trị phương tiện (media value) từ thành phần này sang thành phần khác Dùng khung nhìn (view) này đối với hệ đa phương tiện, ta có thể liên hệ đồng bộ với các số đo định thời trên các thành phần mạng Số đo được lấy khi môt thành phần phương tiện đơn lẻ (một khung hình hoặc một mẫu…) đến hoặc rời cổng (port) Mỗi số đo bao gồm một nhãn thời gian (timestamp) cho phần tử ở cổng và một giá trị tham chiếu (reference value)
Giá trị đầu tiên được lấy ra từ bản thân dòng, giá trị thứ hai là từ một tín hiệu tham chiếu (reference signal) gắn với cổng Trong thực tế, nhãn thời gian có thể đặt được bằng cách đo lường (sử dụng bộ đếm byte, đếm số phần tử) hoặc căn cứ vào
mã thời gian(time code) được nhúng trong các dòng trong khi các giá trị tham chiếu thường được lấy từ các nguồn bên ngoài như đồng hồ hệ thống…
Về phương diện cảm thụ : thì đồng bộ đa phương tiện đảm bảo làm trơn các hiệu ứng trễ và điều khiển phối hợp thời gian trình diễn đồng thời các dòng dữ liệu đa phương tiện để thỏa mãn độ cảm thụ audio-video
1.4 Các mô hình đồng bộ
Mô hình dòng thời gian(Timeline): Các hành động được xác định bởi thời điểm bắt đầu, thực hiện đồng bộ bám theo thời gian tồn tại của đối tượng
Mô hình sử dụng 1 dòng thời gian tổng thể Đồng bộ bám liên tục theo dòng thời gian, vì vậy yêu cầu cần phải có đồng bộ đồng hồ
Mô hình này cho chất lượng cao nhưng có các yêu cầu chi phí cao
Mô hình điểm tham chiếu (Reference point) : Trong mô hình này thì các thời điểm tham chiếu hay điểm đồng bộ được xác định bên trong thời gian tồn tại của đối tượng đa phương tiện, tại thời điểm đó thực hiện đồng bộ thời gian giữa các dòng
Trang 5dữ liệu đa phương tiện để trình diễn (player).Mô hình sẽ dùng nhãn thời gian đánh dấu bên trong các đối tượng tại các thời điểm cần đồng bộ
Mô hình phân cấp (Hierarchic): thực hiện theo cơ chế phân cấp thứ tự các đối tượng đồng bộ theo hình cây Tuy nhiên nếu thời điểm cần đồng bộ không phải là điểm bắt đầu hay kết thúc của đối tượng mà là nằm ở giữa thì các đối tượng có thể
bị phân mảnh
Đồng bộ dựa trên sự kiện : Ở đây các hành động, thao tác được bắt đầu và kết thúc tại những thời điểm xác định Ví dụ: trong một ứng dụng tương tác, việc ấn một nút, kích hoạt một menu sẽ làm hiển thị lên màn hình một ảnh và chơi một đoạn audio số…Ở đây ta muốn hình ảnh xuất hiện cùng một lúc khi âm thanh được phát
Đồng bộ audio -video thời gian thực tại nơi nhận : Mô hình này sẽ thiết lập lại quan hệ thời gian giữa các gói dữ liệu audio – video để trình diễn liên tục, cảm thụ trung thực tại nơi nhận so với nguồn, là kỹ thuật đồng bộ tín hiệu audio và video
Tích hợp audio –video: sự kết hợp, bổ sung vào hệ thống hiện có các loại dữ liệu, các ứng dụng và trình diễn thể hiện đa phương tiện( tích hợp trong định dạng file, vào định dạng Web, tích hợp vào CSDL…)
Trang 6II ĐỒNG BỘ AUDIO-VIDEO TRONG FILE
STREAM MPEG (FSMPEG)
Trong FSMPEG, hai dòng dữ liệu audio-video được đồng bộ tại nguồn, sau đó tạo thành file rồi gửi cho bên nhận Bên nhận nhận được file thì chỉ cẩn trình diễn chứ không cần thực hiện đồng bộ lại
Giải pháp đồng bộ được áp dụng là sử dụng phương pháp đồng bộ tích hợp audio-vieo
2.1 Giải pháp đồng bộ tích hợp Audio –Video theo chuẩn
MPEG
2.1.1 Dòng cơ sở video và audio
Dòng video cơ sở là 1 dòng bit liên tục tương ứng với các hình ảnh mà có thể không cần thiết phải đúng thứ tự sắp xếp và có độ dài thời gian khác nhau
Dòng cơ sở
Một dòng cơ sở (ES) là tín hiệu ra thô của một bộ Encoder Nó không chứa nhiều hơn những thứ cần thiết để bộ Decoder có thể khôi phục lại được hình ảnh và
âm thanh ban đầu Cú pháp của tín hiệu đã nén được định nghĩa trong MPEG một cách chặt chẽ để đảm bảo rằng bộ Encoder có thể làm việc với nó được Không có định nghĩa nào về bộ Encoder ngoại trừ nó phải đảm bảo sinh ra dòng bit đúng cú pháp
Ưu điểm của phương pháp này là nó phù hợp với thực tế rằng có nhiều bộ Decoder hơn Encoder Bằng cách chuẩn hóa bộ Decoder thì có thể làm cho giá thành của chúng giảm xuống Ngược lại, bộ Encoder có thể phức tạp hơn và đắt hơn Bằng cách như vậy tổng giá thành sẽ không cao trong khi đó vẫn đảm bảo được chất lượng ảnh MPEG còn cho phép tăng chất lượng ảnh bằng các thuật toánnén đã được cải tiến trong khi vẫn sinh ra các dòng bit mà các bộ Decoder thế hệ trước có thể giải mã được
Hệ thống lưu trữ và truyền thông sẽ phù hợp hơn nhiều nếu sử dụng các khối dữ liệu rời rạc vì vậy các dò ng cơ sở này được đóng gói thành các PES (Packetized Elementary Stream : Dòng cơ sở đóng gói)
Các dòng audio cơ sở cũng được đóng gói
Trang 7Hình 2.1 : Dòng đóng gói cơ sở
Cấu trúc của một gói được mô tả trong hình 2.2 Gói được bắt đầu là phần tiêu
đề (header) chứa một mã bắt đầu gói duy nhất và 1 mã xác định loại của dòng dữ
liệu Các header của gói cũng có thể chứa 1 hoặc nhiều nhãn thời gian (time stamp)
để dùng trong đồng bộ giải mã video thời gian thực và đồng bộ với âm thanh
Hình 2.2 : Cấu trúc gói PES
2.1.2 Giải pháp đồng bộ tích hợp Auido-Video theo chuẩn MPEG
Trong hệ thống ghép kênh MPEG, đồng bộ Audio-Video được thực hiện thông
qua các nhãn thời gian (Time Stamps) và các chuẩn đồng hồ (Clock Reference)
a Nhãn thời gian (Time Stamp)
Nhãn thời gian là một giá trị nhị phân 33 bit, được biểu diễn theo đơn vị của 90 KHz Hình 2.3 cho thấy nhãn thời gian là một mẫu trạng thái của một bộ đếm được điều khiển bởi đồng hồ 90 kHz Đồng hồ này có được bằng cách chia từ đồng hồ
chủ 27 MHz
Hình 2.3: Nhãn thời gian
Trang 8Có 2 loại nhãn thời gian : PTS (Presentation Time Stamp) và DTS (Decode Time Stamp) : Nhãn thời gian trình diễn và nhãn thời gian giải mã
PTS xác định khi nào thì hình ảnh được hiển thị trên màn hình
DTS xác định khi hình ảnh được giải mã
Nhãn thời gian trình diễn (Presentation Time Stamps – PTS) Là loại nhãn thời gian cơ bản dùng để chỉ định thời điểm mà khi đó một đơn vị truy cập sẽ được trích ra khỏi bộ đệm phía giải mã sau khi được giải mã, sẽ xác định được thời điểm nào được trình diễn cho người xem
PTS là những mẫu của đồng hồ hệ thống mã hóa liên quan đến các thành phần trình diễn của video hoặc audio Một đơn vị trình diễn là một hình ảnh video giải mã hoặc một chuỗi thời gian audio giải mã PTS đại diện thời gian mà hình ảnh video được hiển thị hoặc thời gian bắt đầu chơi của chuỗi thời gian
âm thanh
Bộ giải mã sẽ bỏ qua hoặc hiện thị lặp lại hình ảnh để đảm bảo PTS trong một hình ảnh có giá trị là 90 KHz trong System Clock Reference (SCR) khi hình ảnh này được hiển thị
Nếu PTS là sớm hơn ( có giá trị nhỏ hơn) giá trị hiện tại của SCR, bộ giải mã
sẽ bỏ qua hình ảnh này
Nếu PTS là muộn hơn ( có giá trị lớn hơn) giá trị hiện tại SCR thì bộ giải mã sẽ hiển thị lặp lại hình ảnh này
Nhãn thời gian giải mã (Decoding Time Stamps - DTS)DTS chỉ định thời điểm
mà khi đó một đơn vị truy cập sẽ được trích ra từ bộ đệm phía giải mã sẽ được giải mã vào thời điểm cụ thể nào nhưng có thể chưa được trình chiếu ngay cho người xem
Hình ảnh đã được giải mã này sẽ được lưu trữ tạm thời trong bộ nhớ tạm để trình chiếu sau đó một thời gian ngắn.Nhãn thời gian giải mã (DTS-Decoding Time Stamp) và nhãn thời gian biểu diển (PTS-Presentation Time Stamp) sẽ báo cho bộ giải mã biết cần phải giải mã và cung cấp frame hoặc phần audio riêng lẽ cho người xem ở thời gian nào
Nén MPEG-2 truyền các frame video không theo thứ tự; một số frame phải được giải mã trước khi biều diển chúng DTS trong header của mỗi gói video thông báo cho bộ giải mã biết thời gian mà frame phải được giải mã
Nếu DTS vượt trước PTS đối với một frame nào đó, frame được giải mã và nằm trong bộ nhớ đệm cho đến thời gian biểu diển nó
Hình 2.4 là minh họa cho việc sử dụng nhãn thời gian PTS/DTS trong đồng bộ giải mã 2 chiều:
Trang 9Hình 2.4 : Sử dụng nhãn thời gian PTS/DTS trong việc đồng bộ, giả mã hai chiều
Nhóm ảnh (GOP) bắt đầu với một ảnh I sau đó P1 được đưa ra khỏi chuỗi trước
các ảnh B Ảnh P1được giải mã trước khi B1 và B2 được giải mã Chỉ có 1 ảnh được giải mã tại 1 thời điểm, ảnh I được giải mã tại thời điểm N nhưng phải tới
thời điểm N+1mới được hiển thị Khi ảnh I được hiển thị, ảnh P1 được giải mã tại thời điểm N+1 Ảnh P1 được lưu trữ trong RAM Tại thời điểm N+2, B1 được giải
mã và được hiển thị ngay lập tức Vì lý do này nên các ảnh B chỉ cần nhãn thời
gian trình diễn (PTS)
Tại thời điểm N+3, ảnh B2 được giải mã và hiển thị Tại thời điểm N+4, ảnh P1
được hiển thị vì có sự khác biệt lớn giữa PTS và DTS trong ảnh P1 Đồng thời ảnh P2 được giải mã và lưu trữ sẵn sàng cho giải mã ảnh B3 Quá trình giải mã và hiển thị cứ tiếp tục như thế
Trong thực tế, khoảng thời gian giữa các ảnh đầu vào là không đổi do đó có sự
dư thừa trong các nhãn thời gian Do đó PTS/DTS không cần phải xuất hiện trong mọi gói PES Các nhãn thời gian có thể chiếm đến 700ms trong các dòng chương trình (program stream ) và 100ms trong các dòng truyền tải (transport stream)
Mỗi loại ảnh (I, P và B) được gán một cờ trong dòng bit để bộ giải mã có thể
suy ra nhãn thời gian (PTS/DTS) cho mỗi hình ảnh từ những ảnh truyền thực sự
Hình 2.5 Cho thấy một hoặc nhiều gói PES có thể kết hợp trong một gói mà header của nó chứa một mã đồng hồ tham chiếu hệ thống (SCR : System clock reference) cho phép giải mã để tái tạo lại đồng hồ mã hóa
Trang 10Hình 2.5: một hoặc nhiều gói PES có thể kết hợp trong một gói
b Chuẩn đồng hồ (Clock Reference)
Đồng hồ được sử dụng tại bộ ghép kênh và bộ giải mã không đo thời gian theo giờ, phút, giây mà đo thời gian theo đơn vị của 27 MHz, được biểu diễn theo số nhị phân 48 bit
Trong các dòng chương trình (program stream), tất cả chương trình đều phải
đồng bộ vì thế chỉ có 1 đồng hồ được yê u cầu trong bộ giải mã Trong trường hợp này, cơ chế đồng bộ gọi là System Clock Reference (SCR) : Chuẩn đồng hồ
hệ thống.Trong dòng chương trình, thông tin về đồng bộ được truyền đi tối thiểu 0.7 giây một lần
Còn trong dòng truyền tải, thông tin về đồng bộ được truyền đi tối thiểu 0.1 giây một lần và được gọi là chuẩn đồng hồ chương trình (Program Clock Reference -PRC) Các chương trình trên cùng một dòng truyền tải có thể sử dụng các chuẩn
đồng hồ chương trình khác nhau
Ở phía mã hoá, mỗi chương trình được dán nhãn PCR(SCR), PTS và DTS tương ứng Ở phía giải mã, các PCR(SCR) được đưa tới vòng khoá pha (PLL-Phase Lock Loop) để tạo lại đồng hồ hệ thống của bộ mã hoá Ðiều này đảm bảo rằng bộ giải
mã được đồng bộ với bộ mã hoá, do vậy bộ nhớ đệm trong bộ giải mã không bị
tràn hoặc vơi Cứ mỗi lần đồng hồ hệ thống gốc được phục hồi, bộ giải mã dùng
DTS và PTS trong header của mỗi gói audio và video để xác định thời gian giải mã
và thời gian biểu diển chính xác cho gói đó
Hoạt động của hệ thống PCR/SCR:
Mục tiêu tái tạo lại đồng hồ 27 MHz trong bộ giải mã và sẽ được đồng bộ với bộ
mã hóa Đồng hồ bộ mã hóa điều khiển bộ đếm 48 bit và đếm liên tục đến giá trị
tối đa trước khi tràn và bắt đầu lại từ đầu
Trang 11Hình 2.6 : PCR/SCR mã hóa tái tạo đồng hộ tại bộ giải mã
Trang 122.2 MPEG transport stream
Sau khi có được các gói PES, các gói PES này được nghép kênh với nhau
để tạo thành dòng truyền tải hoặc dòng chương trình
3.1 Giới thiệu về Audio Video Synchronizer
Audio Video Synchronizer là công cụ đồng bộ hóa âm thanh và video trong bộ phim Nếu âm thanh/video không đồng bộ, chương trình có thể giúp bạn khắc phục vấn đề
3.2 Tính năng
Mở video, so sánh giọng nói và môi người nói, hoặc phụ đề để đồng bộ âm thanh/video Nếu âm thanh được phát trước khi video, chuyển âm thanh quay lùi lại Nếu âm thanh được phát sau khi video, âm thanh chuyển về phía trước.Hãy thử nhiều lần, bạn có thể có được một điểm đồng bộ Thêm điểm vào danh sách đồng bộ.Thêm
ít nhất 2 điểm ở đầu và cuối trong vị trí đồng bộ của bộ phim sẽ tốt hơn
Tính thời gian bắt đầu và kết thúc với các điểm đồng bộ của âm thanh và video Xem trước đoạn video đầu ra Nếu không có vấn đề thì bắt đầu chuyển đổi.Hỗ trợ các định dạng video như AVI, WMV, MPG, ASF, DAT, VCD, MPEG Nếu bổ xung bộ giải mã, nó có thể hỗ trợ các định dạng như DIVX, XVID, DV, MKV, OGM, SVCD, DSM, Các video đầu ra có thể là WMV hoặc AVI Nếu bạn cài