Automatic content recognition

Automatic content recognition (ACR) is a technology used to identify content played on a media device or presented within a media file. Devices with ACR can allow for the collection of content consumption information automatically at the screen or speaker level itself, without any user-based input or search efforts. This information may be collected for purposes such as personalized advertising, content recommendations, or sale to companies that aggregate customer data.
To start the process, a short media clip (audio, video, or both) is selected from within a media file or captured as displayed on a device such as a smart TV. Using techniques such as fingerprinting and watermarking, the selected content is compared by the ACR software with a database of known recorded works. If the fingerprint of the media clip finds a match, the ACR software returns the corresponding metadata regarding the media as well as other associated or recommended content back to the client application for display to the user, or for collection by the device manufacturer or a company that collects user data.
Two leading methodologies for audio-based ACR are acoustic fingerprinting and watermarking. Similarly, video fingerprinting is used to facilitate ACR for visual media.
Acoustic fingerprinting generates unique fingerprints from the audio content itself. Fingerprinting techniques are agnostic to content format, codec, bit rate and compression techniques. This makes employment of acoustic fingerprinting possible across various networks and channels and is widely used for interactive TV, second screen application, and content monitoring sectors. Popular apps like Shazam, YouTube, Facebook, TheTake, WeChat and Weibo reportedly use audio fingerprinting methodology to recognize content played from a TV to trigger additional features like votes, lotteries, topics or purchases.
In contrast to fingerprinting, digital watermarking require the inclusion of digital "tags" embedded within the digital content stream prior to distribution. For example, a broadcast encoder might insert a watermark every few seconds that could be used to identify the broadcast channel, program ID, and time stamp. This watermark is normally inaudible or invisible to the users, but is detectable by display devices like phones or tablets which can read the watermarks to identify the content it is playing. Watermarking technology is also utilized in the media protection field to help identify where illegal copies originate.
In 2011, ACR technology was applied to TV content by the Shazam service, which captured the attention of the television industry. Shazam was previously a music recognition service which recognized music from sound recordings. By utilizing its own fingerprint technology to identify live channels and videos, Shazam extended their business to television programming. Also in 2011, Samba TV (at the time known as Flingo) introduced its patented video ACR technology, which uses video fingerprinting to identify on-screen content and power cross-screen interactive TV apps on Smart TVs. In 2012, satellite communications provider DIRECTV partnered with TV loyalty vendor Viggle to provide an interactive viewing experience on the second screen.
In 2013, LG partnered with Cognitive Networks (later purchased by Vizio and renamed Inscape), an ACR vendor, to provide ACR driven interaction. In 2015, ACR technology spread to even more applications and smart TVs. Social applications and TV manufacturers like Facebook, Twitter, Google, WeChat, Weibo, LG, Samsung, and Vizio TV have used ACR technology either developed by themselves or integrated by third-party ACR providers. In 2016, additional applications and mobile OS embedded with automatic content recognition services were available including Peach, Omusic and Mi OS.
Organizations ranging from consumer rights advocates Electronic Frontier Foundation to tech web sites such as PCMag have expressed serious objections to the collection of user viewing consumption habits by their devices on privacy grounds.