Phần mềm nhận diện nội dung hoạt động như thế nào

Bạn đang xếp hàng mua vé xem phim và rồi một ca khúc tuyệt vời vang lên qua hệ thống âm thanh. Nhưng dù bạn rất thích bài hát này, bạn lại không biết tên bài hát đó là gì hoặc ca sĩ nào đang hát.

1. Giới thiệu phần mềm nhận dạng nội dung làm việc như thế nào .

Bạn đang xếp hàng mua vé xem phim và rồi một ca khúc tuyệt vời vang lên qua hệ thống âm thanh. Nhưng dù bạn rất thích bài hát này, bạn lại không biết tên bài hát đó là gì hoặc ca sĩ nào đang hát. Bạn liền lấy điện thoại di động của mình ra, quay một số và hướng chiếc điện thoại về phía loa phóng thanh. Một vài giây sau, bạn nhận được một tin nhắn cho biết tên bài hát, tên ca sĩ biểu diễn, và thậm chí cả một đường link để bạn có thể mua ca khúc đó. 

 \"\"

Hình 1 : Phần mềm nhận dạng nội dung có thể nhận biết những bài hát và bảo vệ chúng khỏi bị sao chép bất hợp pháp

Dịch vụ bạn gọi đến đã sử dụng phần mềm nhận diện nội dung để tìm ra bài hát. Chương trình này đặc biệt hữu dụng nếu bạn muốn biết lai lịch một bài hát mình đang nghe. Ngoài ra, nó cũng có thể giúp ngăn chặn nạn xâm phạm bản quyền, một vấn đề rất quan trọng đối với cả các nghệ sĩ độc lập lẫn các công ty âm nhạc.

Mạng lưới peer-to-peer, dịch vụ chia sẻ file và các trang web khổng lồ như  YouTube giúp người dùng có rất nhiều cơ hội tiếp cận với một nội dung mà không cần phải trả tiền. Và cho đến gần đây, các công ty vẫn phải dựa trên nguồn nhân lực của họ để phát hiện ra các vụ vi phạm bản quyền để từ đó đề ra phương án hành động. Những trang web như YouTube thường dựa vào người dùng để báo cáo những file video vi phạm bản quyền. Tại thời điểm hiện tại, phần lớn các công ty vẫn phải thuê người để lật tẩy các hành vi xâm phạm bản quyền và làm báo cáo. Đó là một công việc rất tẻ nhạt và thiếu hiệu quả mà sẽ sớm bị đào thải nhờ phần mềm nhận diện nội dung. Trong bài báo này, chúng ta sẽ tìm hiểu xem chương trình này hoạt động thế nào, và lợi ích của chúng đối với cả các cá nhân lẫn các công ty là gì.  

  1. Phát triển phần mềm

Một số công ty phần mềm đang có kế hoạch cung cấp những chương trình có khả năng phân tích file hình ảnh và âm thanh, đối chiếu chúng với một cơ sở dữ liệu và kết luận xem chúng có phải từ những nguồn được bảo vệ bởi luật bản quyền hay không. Những phần mềm như vậy là một giải pháp khá hiệu quả và tiết kiệm để dò tìm qua một khối lượng khổng lồ các file nội dung trên mạng Internet. Nó cũng đáng tin cậy hơn việc hỏi bạn bè rằng họ có biết bài hát đang phát trên radio tên là gì hay không. 

Bạn có thể nghĩ rằng việc viết một chương trình có khả năng nhận dạng nội dung video hoặc audio không phải là việc phức tạp gì, nhưng thực sự đây là một thử thách lớn, bởi có hàng tá cách khác nhau để mã hoá một file hình ảnh hoặc âm thanh, do vậy làm ra một phần mềm tương ứng với một loại mã hoá không phải là một giải pháp thích hợp, vì xét từ góc độ ngôn ngữ lập trình thì một file WAV và một file MP3 của cùng 1 bài hát là hoàn toàn không giống nhau. Thêm vào đó, các ca khúc và video có thể được thu âm tại các tỉ lệ bit khác nhau, tức là hai file MP3 của cùng một bài hát có thể không giống nhau. Bởi vậy, các phần mềm nhận diện ca khúc qua điện thoại di động cần phải xác định được ca khúc bất chấp chất lượng của bản thu âm hay những tạp âm xung quanh. 

Ngoài ra cũng còn một số vấn đề khác. Ví dụ như một số kẻ chuyên sao chép lậu video có thể mang các thiết bị ghi hình vào rạp chiếu phim và quay lại bộ phim đó bằng chính camera của chúng. Một số người phụ trách máy chiếu phim cũng mang máy quay vào phòng chiếu và ghi lại bộ phim trong buổi công chiếu đầu tiên. Một số kẻ khác có thể vi phạm luật bản quyền bằng cách cắt xén một video hoặc thay đổi nó. Vì vậy, bất cứ chương trình nào được thiết kế nhằm phát hiện ra những video như vậy không thể chỉ dựa vào ngôn ngữ lập trình hoặc vào các file giống y hệt  nhau.  

Trong phần tiếp theo, chúng ta sẽ đi sâu vào quá trình nhận diện một file âm thanh và cách các phần mềm nhận diện vượt qua những bất lợi kể trên. 

  1. Phần mềm nhận dạng nội dung audio 

Bước đầu tiên trong việc xây dựng một phần mềm nhận diện nội dung là việc thu thập một cơ sở dữ liệu để từ đó có thể đối chiếu các file. Đối với một công ty thu âm thì cơ sở dữ liệu này sẽ bao gồm toàn bộ catalog âm nhạc của cả công ty. Phần mềm nhận diện nội dung sẽ phân tích từng bài hát và chuyển mỗi bài thành dạng dữ liệu số, các dữ liệu này được gọi là vân tay hay chữ ký. 

 \"\"

Hình 2 : Phần mềm phân tích bài hát thành những phần nhỏ sau đó tìm kiếm để nhận dạng chúng

Phần mềm này sẽ phân tích âm thanh thực của bài hát thay vì phân tích ngôn ngữ hoá mã của nó. Một số chương trình sẽ phân tích cả tốc độ và nhịp của ca khúc. Một số khác lại tính toán cả biên độ và tần số của bài hát đó. Đối với mỗi bản ghi âm, các phần mềm nhận diện nội dung thường lấy một số mẫu chỉ kéo dài có vài giây. Một số công ty cũng cung cấp các phần mềm có khả năng phân tích toàn bộ clip audio để có thể ghi lại được toàn bộ vân tay (nếu có thể). Và hiện tại có ít nhất một sản phẩm phân tích các điểm mốc của ca khúc - những đoạn âm thanh đặc trưng trong clip - trước tiên, sau đó mới phân tích các âm thanh xung quanh điểm mốc đó. Nếu hoạt động tốt, phần mềm sẽ có thể nhận diện các điểm mốc này khi quét qua một loạt các ca khúc khác.  

Các chương trình nhận diện nội dung thường sử dụng thuật toán để phân tích âm thanh, phổ biến nhất là thuật Biến đổi nhanh của Fourier (FFT - Fast Fourier Transform). Thuật toán này có thể chuyển đổi một dãy các dấu hiệu rắc rối và theo dõi mọi thay đổi diễn ra trong nó. Những thay đổi này - đối với tốc độ, nhịp đánh hay biên độ và tần số của âm thanh trong clip - đều được ghi lại và chuyển hoá thành các vân tay số qua một công thức toán học. Vân tay thường có dạng các chữ số. 

Bạn có biết:

Để đảm bảo rằng phần mềm nhận diện nội dung có thể nhận ra một ca khúc bất kể ca khúc này có định dạng nào, các lập trình viên thường chỉ tập trung phân tích các âm thanh nằm trong ngưỡng nghe của con người như các file MP3. Một trong số những lý do khiến cho file MP3 có kích cỡ khá nhỏ là do chỉ có những âm thanh nằm trong ngưỡng nghe của con người là được mã hoá – còn lại tất cả những âm thanh khác đều được loại bỏ. Phần mềm nhận dạng nội dung không dựa trên toàn bộ dãy âm thanh nằm trên bản ghi âm gốc, bởi nếu vậy nó có thể bỏ sót các bản MP3 của file âm thanh đó. 

Sau khi một công ty thu âm xây dựng xong cơ sở dữ liệu, họ đã sẵn sàng cho việc nhận dạng các bài hát cho khách hàng, hoặc phát hiện ra các vụ vi phạm bản quyền. Dù trong trường hợp nào thì phần mềm nhận dạng nội dung cũng phân tích các clip theo cùng một cách mà nó đã làm đối với các bài hát trong catalog của công ty đó. Nó sẽ tạo ra một đoạn mã ngắn dựa trên nội dung của file audio, gán các vân tay số cho clip, rồi so sánh chúng với các vân tay trong cơ sở dữ liệu.

Sau đây, chúng ta sẽ cùng tìm hiểu cách thức chương trình này quyết định xem các ca khúc có giống nhau hay không. 

  1. Nhận dạng âm thanh

Thường thì các clip âm thanh được phân tích không phải là những bản copy gốc của một ca khúc, mà ca khúc đó có thể bị cắt ngắn, hoặc tương tự như một ca khúc khác. Đây là lúc cần đến sự trợ giúp của các thuật toán. Nhiệm vụ của các thuật toán này là so sánh các “vân tay” và quyết định ở một mức độ tin cậy nhất định, xem liệu clip âm thanh này có khớp với một ca khúc (hoặc một đoạn ca khúc) trong cơ sở dữ liệu hay không. 

Tiến trình nhận dạng âm thanh cũng tương tự như các mà các chuyên gia pháp lý đối chiếu dấu vân tay của một nghi phạm với các dấu vân tay tìm được tại hiện trường. Trước khi các phần mềm máy tính phức tạp và các phương pháp tối tân dùng để phân tích dấu vân tay ra đời, các chuyên gia vẫn phải tìm kiếm những điểm tương tự giữa hai dấu vân tay khác nhau. Trong phần lớn trường hợp, chuyên gia này sẽ cần tìm được 16 điểm tương đồng để kết luận rằng hai dấu vân tay này là một.

 \"\"

Hình 3 : Phần mềm đối chiếu “vân tay” với đại diện những sóng âm thanh  

Tuy vậy, không có một mức tin cậy tiêu chuẩn nào đối với một phần mềm nhận dạng nội dung. Phần lớn các chương trình chỉ cho phép khách hàng tự quy định một mức độ tương đồng để quyết định rằng hai file âm thanh đó khớp nhau. Ví dụ như, bạn có thể tự đặt ngưỡng sao cho chương trình chỉ báo khớp sau khi thuật toán cho thấy hai file âm thanh này có 95% tương đồng. Nếu như clip cần kiểm tra không đạt đến mức độ đó, chương trình sẽ báo lỗi cho người dùng. 

Khi chương trình đã nhận dạng được một file khớp với cơ sở dữ liệu, một ứng dụng khác sẽ tiếp tục phần việc của nó. Ứng dụng này có thể gửi thông tin đến người nào muốn biết tiêu đề của một ca khúc, hoậc sẽ đánh dấu một ca khúc trên một website và gửi e-mail tới bộ phận tư vấn pháp luật của một công ty thu âm. Một số công ty thu âm đã sử dụng những phần mềm như vậy để quét các trang web chia sẻ file hoặc để kiểm tra nội dung trên các website âm nhạc. Toàn bộ quá trình phân tích và đối chiếu chỉ diễn ra trong có vài giây. 

Sau đây chúng ta sẽ tìm hiểu xem việc nhận dạng các file video còn phức tạp hơn các file audio ra sao. 

  1. Phần mềm nhận diện nội dung video

Mới đây, Time Warner và Disney đã hợp tác với YouTube nhằm kiểm định một phần mềm nhận dạng nội dung do Google phát triển. Phần mềm này cũng tương tự như các chương trình nhận dạng nội dung audio ở chỗ nó cũng phân tích nội dung để tạo ra các “vân tay”. Sau đó, chương trình này sẽ đối chiếu các thông tin đó với các “vân tay” trong cơ sở dữ liệu để quyết định xem chúng có khớp nhau hay không. Tuy vậy, việc nhận dạng video có rất nhiều trở ngại khó có thể vượt qua. 

Ví dụ, phần lớn các video trên YouTube đều được giới hạn trong thời gian 10 phút với dung lượng dưới 100 megabyte. Do một clip có thể bao gồm một đoạn phim hoặc một chương trình truyền hình có bản quyền kéo dài 10 phút, phần mềm nhận diện nội dung sẽ phải phần tích toàn bộ các chương trình gốc để có thể đối chiếu với một đoạn clip nhỏ. Google không tiết lộ nhiều về cách phần mềm của họ giải quyết vấn đề này ra sao, nhưng có vẻ như chương trình này sẽ phân tích các phần nội dung chồng lấp nhau trong file gốc để tạo ra các “vân tay” phức tạp hơn. 

Phần mềm nhận dạng nội dung video phải có khả năng nhận diện các đoạn video kể cả khi người upload đã thay đổi nội dung của nó. Ví dụ, một số người có thể đánh lừa các phần mềm chuyên nhận diện nhờ độ phân giải của màu sắc bằng cách thay đổi độ bão hoà màu sắc trong đoạn video đó. Việc cắt ngắn một đoạn video hay upload một đoạn phim ghi từ máy quay video cũng có thể làm sai lạc việc nhận diện nội dung. Một số bộ phim bị sao chép lậu đã được quay lại từ các camera đặt tại một góc độ nào đó đối với màn hình càng gây khó khăn cho quá trình đối chiếu. 

Một cách mà những nhà phát triển đang thử nghiệm là sử dụng các chương trình để thiết lập vân tay dựa trên việc phân tích các thay đổi trong chuyển động trong một đoạn video. Nhưng cách này cũng có thể trở nên không hiệu quả nếu như ai đó upload một video vi phạm bản quyền được quay từ một camera cầm tay. Trong một số trường hợp, tiêu chuẩn để quyết định xem hai video có khớp nhau hay không có thể sẽ dao động khá nhiều nhằm phát hiện tất cả các trường hợp vi phạm có thể xảy ra. Các studio phim có thể nhận ra rằng họ vẫn cần một con người thực để xem lại một đoạn video clip nhằm khẳng định xem đoạn clip đó có vi phạm bản quyền hay không. Dù vậy, triển vọng của phần mềm nhận dạng video vẫn rất hứa hẹn. 

Các phần mềm nhận dạng video vẫn đang trong giai đoạn kiểm định, mặc dù một số công ty đã đưa ra những bản dùng thử khá hiệu quả. Tuy thế, những khó khăn trong việc nhận dạng video chưa hẳn đã chấm dứt sau khi phần mềm được hoàn thành, bởi dung lượng lớn của video thực sự là một trở ngại lớn. Các studio truyền hình và điện ảnh sẽ cần liên tục cập nhật cơ sở dữ liệu của họ bằng các vân tay mới xuất hiện hàng ngày. Để hoạt động hiệu quả hơn trong việc phát hiện các vụ vi phạm, các phần mềm này cần được phát triển và duy trì liên tục. 

 \"\"

\"\"