Abstract: A method and system for accurately identifying origin of pirated, fake, or unauthorized content is provided. Subscriber-specific codes are generated from information associated with one or more of a subscriber and a corresponding subscriber device (108), and the subscriber-specific codes are converted into subscriber-specific imprints that are embedded into a transparent overlay generated by the subscriber device (108). A copy of the media content is received by a decoder (124) and one or more frames from the copy of the media content is extracted. One or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames are identified and enhanced to extract the subscriber-specific imprints from the enhanced regions of interest and to determine the subscriber-specific codes from the extracted subscriber-specific imprints. The subscriber device (108) and the associated subscriber are identified based on the determined subscriber-specific codes.
DESC:
RELATED ART
[0001] Embodiments of the present specification relate generally to content security. More particularly, the present specification relates to systems and methods of digitally imprinting media contents for identifying origin of fake and pirated content.
[0002] Advancements in media and broadcast have led to rapid creation and distribution of multimedia content across different platforms. While such widespread dissemination of multimedia content has led to viral videos and internet sensations, it has also been used to distribute pirated content and spread malicious disinformation. Conventionally, content creators and distributors employ digital watermarks for ownership authentication and access control. The watermarks, for example, include embedded information related to an owner, distributor, transaction dates, or serial numbers, to help in identifying the source of the content.
[0003] However, typical watermarks can be isolated through statistical analysis and manipulated to overwrite original copyright information with false information. Particularly, easy access to sophisticated video processing software has allowed hackers and unscrupulous elements to alter digital video sequences to spread disinformation. In recent times, such attempts have led to altering of news items from authentic sources and redistribution of doctored news through social media platforms such as YouTube, Facebook, Whatsapp, and Twitter. Such disinformation is often perpetrated to interfere with elections, instigate riots, or create other law and order situations that may result in loss of life and property.
[0004] While watermarking aids in determining the original copyright owner, conventional watermarking fails to identify the specific source of media files originally used to create disinformation. In such scenarios, digital fingerprinting or forensic watermarking is used to identify the source of an unauthorized copy of a media file and trace it back to the copyright authorized recipient.
[0005] Forensic watermarking is a process by which a unique, invisible “marker pattern” such as a serial number can be added to video or audio content without creating noise in the source media. The forensic watermark is designed to remain with the content, regardless of how the video might be subsequently transcoded, resized, downscaled, or otherwise altered for distribution. While such forensic watermarks are stable, proven, and provide excellent detection, these are extremely expensive to incorporate into media content, and therefore, are used only by larger studios.
[0006] Furthermore, all watermarking, including time-varying and hybrid intra-frames-based watermarks, requires special encoding and decoding processes that need frame-level access to the original source file, and thus needs to be implemented by content owners and/or distributors. Additionally, creating and storing media files including such watermarks for uniquely identifying each subscriber from millions of subscribers becomes practically infeasible. This is because multiple copies of the media files watermarked with unique subscriber codes will need to be stored at different bit rates and at different intermediary servers in the content delivery path, thus incurring significant network storage and creating an untenable burden on the network.
[0007] Additionally, watermarks do not lend themselves to accurate decoding when an unauthorized copy of the media file is captured using low-resolution cameras. As mobile phones appear to be the preferred source for surreptitiously recording movies, shows, sports, or other subscription content, pirated copies captured using low-end mobile phones likely distort the watermarks making them difficult to decode accurately. Inaccurate decoding may result in errors that identify the wrong subscriber as the source of the pirated content.
[0008] Accordingly, there is a need for an efficient technique that accurately isolates and decodes subscriber-specific information from pirated or fake content irrespective of the camera resolution of the device used to record the illegal copy of the content. Additionally, there is a need for a simple yet robust method for marking media content that allows for accurate authentication and verification of integrity and security of digital media content, while maintaining content quality and user experience, and reducing the burden on the content delivery network.
BRIEF DESCRIPTION
[0009] It is an objective of the present disclosure to provide a method for identifying origin of media content. The method includes generating a plurality of subscriber-specific codes from information associated with one or more of a subscriber and a corresponding subscriber device by a subscriber-specific imprint generator. The method further includes converting the plurality of subscriber-specific codes to one or more imperceptible subscriber-specific imprints by the subscriber-specific imprint generator and embedding the subscriber-specific imprints into a transparent overlay generated by the subscriber device. Furthermore, the method includes displaying the transparent overlay with the subscriber-specific imprints over the media content playing on a display device associated with the subscriber device. In addition, the method includes receiving a copy of the media content by a decoder and extracting one or more frames from the received copy of the media content, and identifying one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames.
[0010] Further, the method includes enhancing the regions of interest and extracting the subscriber-specific imprints from the enhanced regions of interest in the frames and determining the plurality of subscriber-specific codes from the extracted subscriber-specific imprints by the decoder. Furthermore, the method includes identifying one or more of the subscriber device and the subscriber associated based on the determined plurality of subscriber-specific codes. The media content includes one of a pirated media content, a fake media content, and an altered media content. Converting the plurality of subscriber-specific codes to the subscriber-specific imprints includes generating one or more of subscriber-specific fiducial markers, subscriber-specific circular imprints, and subscriber-specific rectangular imprints. The plurality of subscriber-specific codes include one of an identifier associated with the subscriber device, a media access control (MAC) address of the subscriber device, a serial number of the subscriber device, an account number of the subscriber, contact information of the subscriber, an identifier associated with the subscriber, and an address of the subscriber. Generating the subscriber-specific fiducial markers includes generating the plurality of subscriber-specific codes including a designated number of numerical digits from the serial number of the subscriber device. Further, generating the subscriber-specific fiducial markers includes dividing the subscriber-specific codes into a plurality of sub-codes by the subscriber-specific imprint generator, and converting the plurality of sub-codes into the corresponding subscriber-specific fiducial markers by the subscriber-specific imprint generator using one or more of a computer vision library and a numerical python library. The subscriber-specific fiducial markers correspond to black and white binary images.
[0011] Generating the subscriber-specific circular imprints includes generating the plurality of subscriber-specific codes from the media access control (MAC) address of the subscriber device. The generated subscriber-specific codes is a hexadecimal number. Further, the method incudes dividing the hexadecimal number into a first hexadecimal code and a second hexadecimal code by the subscriber-specific imprint generator, and adding a first sequence number at the beginning of the first hexadecimal code and a second sequence number at the beginning of the second hexadecimal code. Furthermore, the method includes adding a first end character at an end of the first hexadecimal code and a second end character at an end of the second hexadecimal code to modify the first hexadecimal code to a first modified hexadecimal code and to modify the second hexadecimal code to a second modified hexadecimal code. The method further includes converting each of a first set of characters in the first modified hexadecimal code into a first binary number and each of a second set of characters in the second modified hexadecimal code into a second binary number. In addition, the method includes generating a first set of concentric circles and a second set of concentric circles by the subscriber-specific imprint generator, and dividing each concentric circle in the first set of concentric circles and in the second set of concentric circles into a plurality of sectors. The plurality of sectors in the first set of concentric circles represents the first set of characters in the first modified hexadecimal code. The plurality of sectors in the second set of concentric circles represents the second set of characters in the second modified hexadecimal code. Further, the method includes generating a first circular imprint based on the first set of concentric circles and the first binary number, and generating a second circular imprint based on the second set of concentric circles and the second binary number. The subscriber-specific circular imprints include the generated first circular imprint and the second circular imprint.
[0012] The method further includes generating the subscriber-specific rectangular imprints, which includes generating the plurality of subscriber-specific codes from the media access control (MAC) address of the subscriber device. The generated subscriber-specific codes is a hexadecimal number. The method additionally includes dividing the hexadecimal number into a first hexadecimal code, a second hexadecimal code, and a third hexadecimal code by the subscriber-specific imprint generator. In addition, the method includes adding a first sequence number at the beginning of the first hexadecimal code to modify the first hexadecimal code into a first modified hexadecimal code, and a second sequence number at the beginning of the second hexadecimal code to modify the second hexadecimal code into a second modified hexadecimal code. Additionally, the method includes adding a third sequence number at the beginning of the third hexadecimal code to modify the third hexadecimal code into a third modified hexadecimal code. Further, the method includes converting a first set of characters in the first modified hexadecimal code into a first binary number, a second set of characters in the second modified hexadecimal code into a second binary number, and a third set of characters in the third modified hexadecimal code into a third binary number. Further, the method includes generating a first rectangular matrix, a second rectangular matrix, and a third rectangular matrix. Each of the first rectangular matrix, the second rectangular matrix, and the third rectangular matrix includes a plurality of rows. Furthermore, the method includes generating a first rectangular imprint based on the first rectangular matrix and the first binary number, generating a second rectangular imprint based on the second rectangular matrix and the second binary number, and generating a third rectangular imprint based on the third rectangular matrix and the third binary number. The subscriber-specific rectangular imprints include the generated first rectangular imprint, the generated second rectangular imprint, and the generated third rectangular imprint.
[0013] Converting the plurality of subscriber-specific codes to the subscriber-specific imprints includes embedding the subscriber-specific imprints at fixed locations in the transparent overlay and are displayed over the media content such that each frame in a set of frames of the media content includes at least one of the subscriber-specific imprints embedded at the fixed locations. Embedding the subscriber-specific imprints includes embedding the subscriber-specific imprints at the fixed locations in an asymmetrical manner such that each of the subscriber-specific imprints is located at a different pixel distance from reference X-Y axes. Embedding the subscriber-specific imprints includes embedding the subscriber-specific imprints in a rotational manner into the transparent overlay and for display over the media content such that a first set of frames of the media content includes the subscriber-specific imprints arranged across the first set of frames in a designated sequence. Further, a second set of frames includes the same subscriber-specific imprints arranged across the second set of frames in the same designated sequence. Receiving the copy of the media content by the decoder includes determining if the copy of the media content includes a channel logo information or a visual watermark that uniquely identifies a broadcaster or a content owner by a digital imprint detector operatively coupled to the decoder. Further, receiving the copy of the media content by the decoder includes transmitting the copy of the media content to the decoder when the copy of the media content is determined to include one or more of the channel logo information and the visual watermark that uniquely identifies one or more of the broadcaster and the content owner.
[0014] Identifying one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames includes identifying regions of interest corresponding to locations of the subscriber-specific fiducial markers in the frames corresponding to the copy of the media content. The method further includes cropping the frames at the identified regions of interest to enhance the region of interests including the subscriber-specific fiducial markers, and up-sampling the cropped frames and applying edge enhancement techniques on the up-sampled frames by an image processing system operatively coupled to the decoder to generate edge enhanced frames. Furthermore, the method includes convolving the edge enhanced frames with a Gaussian Blur filter and a Media Blur filter to remove noisy pixels from the edge enhanced frames and generate noise-removed frames, and applying dilation techniques on the noise-removed frames by the image processing system to generate dilated frames. In addition, the method includes converting the dilated frames in a red-green-blue format to a lightness, red-green, yellow-blue format for enhancing areas of black pixels in the dilated frames, and applying a contrast limited adaptive histogram equalization technique and enhancing the converted frames in the lightness, red-green, yellow-blue format to generate enhanced frames in the lightness, red-green, yellow-blue format. Furthermore, the method includes converting the enhanced frames in the lightness, red-green, yellow-blue format back to the red-green-blue format and extracting the subscriber-specific fiducial markers from the enhanced frames in the red-green-blue format. In addition, the method includes determining the plurality of subscriber-specific codes from the extracted subscriber-specific fiducial markers by the decoder using one or more of the computer vision and the numerical python library.
[0015] Identifying one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames includes identifying locations of the first circular imprint and the second circular imprint in the frames corresponding to the copy of the media content using a convolutional neural network model. The method includes determining a first pixel intensity threshold for the first circular imprint based on an average pixel intensity of one of a first sub-sector and a second sub-sector in a first sector of the first circular imprint. The method further includes determining a second pixel intensity threshold for the second circular imprint based on the average pixel intensity of one of the first sub-sector and the second sub-sector in the first sector of the second circular imprint. In addition, the method includes converting each of the plurality of sectors in the first circular imprint into a first four-digit binary number based on the first pixel intensity threshold, and converting each of the plurality of sectors in the second circular imprint into a second four-digit binary number based on the second pixel intensity threshold. Further, the method includes converting the first four-digit binary number to a corresponding hexadecimal number to regenerate the first modified hexadecimal code and the second four-digit binary number to a corresponding hexadecimal number to regenerate the second modified hexadecimal code. Furthermore, the method includes extracting the first hexadecimal code from the first modified hexadecimal code and the second hexadecimal code from the second modified hexadecimal code. The method further includes concatenating the first hexadecimal code and the second hexadecimal code based on the first sequence number in the first modified hexadecimal code and the second sequence number in the second modified hexadecimal code to regenerate the subscriber-specific codes.
[0016] Identifying one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames includes identifying locations of the first rectangular imprint, the second rectangular imprint, and the third rectangular imprint in the frames corresponding to the copy of the media content using a convolutional neural network model. The method further includes determining a first pixel intensity threshold for the first rectangular imprint based on an average pixel intensity of one of a first box and a second box in a first row of the first rectangular imprint. Furthermore, the method includes determining a second pixel intensity threshold for the second rectangular imprint based on the average pixel intensity of one of the first box and the second box in the first row of the second rectangular imprint. In addition, the method includes determining a third pixel intensity threshold for the third rectangular imprint based on the average pixel intensity of one of the first box and the second box in the first row of the third rectangular imprint. The method further includes converting each of the rows in the first rectangular imprint into a corresponding first four-digit binary number based on the first pixel intensity threshold, and each of the rows in the second rectangular imprint into a corresponding second four-digit binary number based on the second pixel intensity threshold. Further, the method includes converting each of the rows in the third rectangular imprint into a corresponding third four-digit binary number based on the third pixel intensity threshold. Furthermore, the method includes converting each of the first four-digit binary number, the second four-digit binary number, and the third four-digit binary number to a corresponding hexadecimal number to regenerate the first modified hexadecimal code, the second modified hexadecimal code, and the third modified hexadecimal code, respectively.
[0017] In addition, the method includes extracting the first hexadecimal code from the first modified hexadecimal code, the second hexadecimal code from the second modified hexadecimal code, and the third hexadecimal code from the third modified hexadecimal code. Further, the method includes concatenating the first hexadecimal code, the second hexadecimal code, and the third hexadecimal code based on the first sequence number in the first modified hexadecimal code, the second sequence number in the second modified hexadecimal code, and the third sequence number in the third modified hexadecimal code to regenerate the plurality of subscriber-specific codes. Identifying one or more of the subscriber device and the subscriber includes transmitting the plurality of subscriber-specific codes determined from the subscriber-specific imprints to a subscriber management system. The method further includes comparing the plurality of subscriber-specific codes with subscriber information associated with a plurality of subscribers stored in the subscriber management system to identify the subscriber device and the subscriber associated with the plurality of subscriber-specific codes. Furthermore, the method includes identifying the subscriber device as the origin of the copy of the media content. In addition, the method includes performing an automated action upon determining that the subscriber device is the origin of the copy of the media content. The copy corresponds to a pirated copy of the media content. The automated action includes one of terminating services provided to the subscriber by a content management system, and transmitting an alert to notify one or more platforms including social media platforms, over-the-top platforms, streaming platforms, and different content sharing platforms on which the copy of the media content is available. The automated action may further include transmitting an alert to notify one or more of the content owner, the broadcaster, or the channel provider of the media content of the subscriber who is identified as the origin of the pirated copy of the media content.
[0018] It is another objective of the present disclosure to provide a subscriber-end media imprinting system for identifying origin of media content. The subscriber-end media imprinting system includes a subscriber-specific imprint generator residing in a subscriber device that is configured to receive the media content from a content management system. The subscriber-specific imprint generator generates a plurality of subscriber-specific codes from information associated with one or more of the subscriber device and a corresponding subscriber. The subscriber-specific imprint generator further converts the plurality of subscriber-specific codes to one or more imperceptible subscriber-specific imprints and embeds the subscriber-specific imprints into a transparent overlay generated by the subscriber device. In addition, the subscriber-specific imprint generator displays the transparent overlay with the subscriber-specific imprints over the media content playing on a display device associated with the subscriber device. A decoder in the subscriber-end media imprinting system receives a copy of the media content and extracts frames from the received copy of the media content, and identifies one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames. Further, the decoder enhances the regions of interest and extracts the subscriber-specific imprints from the frames of the received copy and determines the plurality of subscriber-specific codes from the extracted subscriber-specific imprints. Furthermore, the decoder transmits the plurality of subscriber-specific codes extracted from the subscriber-specific imprints to the content management system to identify one or more of the subscriber device and the subscriber associated with the plurality of subscriber-specific codes. The decoder is operatively coupled to one or more platforms including social media platforms, over-the-top platforms, streaming platforms, and different content sharing platforms.
BRIEF DESCRIPTION OF DRAWINGS
[0019] These and other features, aspects, and advantages of the claimed subject matter will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
[0020] FIG. 1 illustrates a block diagram depicting an exemplary digital subscriber-end media imprinting system in a content delivery network, in accordance with aspects of the present disclosure;
[0021] FIG. 2 illustrates a flow chart depicting an exemplary method for accurately identifying origin of pirated, fake, or unauthorized media content using the system and corresponding components described with reference to FIG. 1;
[0022] FIG. 3 illustrates a graphical representation depicting exemplary subscriber-specific circular imprints generated by the system of FIG. 1, in accordance with aspects of the present disclosure;
[0023] FIG. 4 illustrates a graphical representation depicting exemplary subscriber-specific rectangular imprints generated by the system of FIG. 1, in accordance with aspects of the present disclosure;
[0024] FIG. 5 illustrates an exemplary schematic representation depicting steps for embedding one or more subscriber-specific imprints in a transparent overlay over the media content for display on the associated display of the FIG. 1, in accordance with aspects of the present disclosure;
[0025] FIG. 6 illustrates a schematic representation depicting one exemplary approach for embedding the subscriber-specific imprints in a transparent overlay over the media content for display on the associated display of the FIG. 1, in accordance with aspects of the present disclosure;
[0026] FIG. 7 illustrates a schematic representation depicting an alternative approach for embedding the subscriber-specific imprints in a transparent overlay over the media content for display on the associated display of the FIG. 1, in accordance with aspects of the present disclosure;
[0027] FIG. 8 illustrates a schematic representation depicting an exemplary approach for embedding the subscriber-specific circular imprints in a transparent overlay over the media content for display on the associated display of the FIG. 1, in accordance with aspects of the present disclosure;
[0028] FIG. 9 illustrates a schematic representation depicting an exemplary approach for embedding the subscriber-specific rectangular imprints in a transparent overlay over the media content for display on the associated display of the FIG. 1, in accordance with aspects of the present disclosure;
[0029] FIG. 10 illustrates a flow chart depicting an exemplary method for enhancing an image including subscriber-specific fiducial markers and determining subscriber-specific codes from the subscriber-specific fiducial markers in the media content using the system of FIG. 1;
[0030] FIGS. 11-17 are exemplary images generated during different steps of the exemplary method described with reference to FIG. 10 for enhancing the image including the subscriber-specific fiducial markers in the media content, in accordance with aspects of the present disclosure;
[0031] FIGS. 18A-B illustrate a flow chart depicting an exemplary method for determining the subscriber-specific codes from the subscriber-specific circular imprints in the media content using the system of FIG. 1, in accordance with aspects of the present disclosure;
[0032] FIG. 19 illustrates a graphical representation depicting an exemplary subscriber-specific circular imprint from which the subscriber-specific codes is determined using the exemplary method depicted in FIGS. 18A-B, in accordance with aspects of the present disclosure;
[0033] FIGS. 20A-B illustrate a flow chart depicting an exemplary method for determining the subscriber-specific codes from the subscriber-specific rectangular imprints in the media content using the system of FIG. 1, in accordance with aspects of the present disclosure; and
[0034] FIG. 21 illustrates a graphical representation depicting an exemplary subscriber-specific rectangular imprint from which the subscriber-specific codes is determined using the exemplary method depicted in FIGS. 20A-B, in accordance with aspects of the present disclosure.
DETAILED DESCRIPTION
[0035] The following description presents a method and system for accurately identifying origin of pirated, fake, or altered media content. In particular, the embodiments presented herein describe a simple method that embeds one or more imperceptible, subscriber-specific imprints generated from one or more subscriber-specific unique codes into a transparent overlay generated by a subscriber device. The subscriber device, for example, may include a set-top box, a smart television, a digital media player, a video game console, a mobile phone, a tablet, a vehicle infotainment system, or a laptop. Embedding the subscriber-specific imprints at the subscriber device offloads a significant amount of processing complexity and storage requirements that are conventionally incurred by the content provider or content distribution servers, if the media content destined for each subscriber were watermarked differently.
[0036] Additionally, the generation of the transparent overlay with the embedded subscriber-specific imprints over an associated display enables traceability of media content without needing frame-level access to the media content, while still ensuring secured delivery of the media content to the end device. The embodiments herein further describe an efficient decoding method that enables accurate extraction of the embedded imprint and corresponding subscriber-specific unique codes from an unauthorized copy of the media content even when the copy is recorded using devices with low camera resolutions. The extracted codes may then be used to identify the original subscriber who was the source of the pirated content.
[0037] It may be noted that embodiments of the present technique may be used to identify the origin of media content including images, videos, text, and other visual content, for example, transmitted over a cable, broadcast, satellite, or over-the-top (OTT) content streaming platform. However, for clarity, the present disclosure describes an embodiment of the digital subscriber-end media imprinting and corresponding decoding technique with reference to a video file transmitted over a broadcast network employing a subscriber set-top box and associated television display. An exemplary environment that is suitable for practicing various implementations of the present method and system is discussed in the following sections with reference to FIG. 1.
[0038] FIG. 1 illustrates a block diagram depicting an exemplary subscriber-end media imprinting system (100) for embedding one or more digital subscriber-specific imprints in media content received over a content delivery network (102). Generally, the content delivery network (102) includes a content provider system (104) that stores original media content. The media content, for example, includes images, audio, videos, text, and/or other multimedia content. In one embodiment, the network (102) further includes a content management system (106) that optionally watermarks the media content with channel provider or content provider information to identify the content owner such as Disney or HBO and service provider or broadcaster such as Comcast, Airtel, Netflix, or Sony. The network (102) also includes a transcoder (107) that converts the original or watermarked media content into one or more desired formats or bitrates, for example, suitable for playing on different user devices using different media players and in different network conditions. The content management system (106) subsequently transmits the watermarked content including one or more of owner, channel, or broadcaster marks to a user device or a subscriber device such as a set-top box (108) associated with a subscriber via one or more content distribution servers (109A, 109B, 109C) present in the network (102).
[0039] Generally, set-top boxes can only open and stream content, but are incapable of modifying the received content to embed watermarks. Therefore, according to aspects of the present disclosure, the subscriber-end media imprinting system (100) is implemented in the set-top box (108), for example, as part of an edge computing application, to embed one or more digital subscriber-specific imprints on a transparent overlay without modifying or requiring frame-level access to the media content. To that end, the set-top box (108) includes a subscriber-specific imprint generator (110) that generates one or more digital subscriber-specific imprints from one or more subscriber-specific unique codes. The unique codes, for example, may correspond to a subscriber-device identifier, media access control address, or serial number of the set-top box (108), subscriber account number, subscriber contact information, subscriber identifier, subscriber address, session identifier, or combinations thereof. In one embodiment, the unique codes correspond to an 8-digit serial number of the set-top box (108). The subscriber-specific imprint generator (110) generates the digital subscriber-specific imprints, for example, that include fiducial markers including black and white binary images, circular imprints, or rectangular imprints corresponding to the unique codes using open source computer vision (OpenCV) and numerical python (NumPy) libraries. Subsequently, the subscriber imprint generator (110) transmits the subscriber-specific imprints generated from subscriber-specific unique codes to an overlay frame generator (112) for generating the transparent overlay frame including the embedded subscriber-specific imprints.
[0040] The overlay frame generator (112) further shares the generated overlay with a video frame overlay mixer (114) in the set-top box (108) that superimposes the overlay having the embedded subscriber-specific imprints with media content received from the broadcaster. Media content, superimposed by the transparent overlay having the embedded subscriber-specific imprints, is played on an associated display device (116) such as on a display screen of a television connected to the set-top box (108). As previously noted, embedding the subscriber-specific imprints in the transparent overlay precludes the need for frame-level access to the media content, thus, significantly reducing processing complexity related to imprinting the media content in the content delivery network (102), while maintaining the secured content delivery chain.
[0041] In certain scenarios, an unscrupulous person may use an unauthorized media capture device (117) such as a mobile camera to record the media content playing on the display device (116) illegally to generate and store an unauthorized copy (118) of the media content. The person may subsequently share the unauthorized copy (118) as-is, or after modifications with others, for example, via one or more social media platforms (120) such as Facebook, Twitter, Whatsapp, Instagram, and Youtube. In one embodiment, the unauthorized copy (118) may be visually identified via human intervention. In particular, a person may suspect a video to be a pirated or altered copy by identification of visual cues including channel logos, and other visual watermarks.
[0042] In an alternative embodiment, however, a digital imprint detector (122) may automatically evaluate a video, when played for the first time, forwarded to another user, or shared over the internet. To that end, the imprint detector (122) may be integrated with popular media players for verifying the embedded imprints and reporting authenticity to the user. In another embodiment, the imprint detector (122) may be implemented at the portals of social media platforms (120) to prevent doctored videos from spreading widely. In certain embodiments, the imprint detector (122) can also be integrated with back ends of content hosting and sharing networks to analyze the suspected video to determine channel and/or broadcaster information. The channel information, for example, may be determined using image processing routines that extract a separate channel logo or watermark therein, or by at least partially decoding the embedded codes to extract the special identifiers associated with specific channels, content owners, or service providers.
[0043] Subsequently, the imprint detector (122) may transmit the video to a decoder (124) along with the identified channel information. In one embodiment, the decoder (124) is operatively coupled to one or more platforms including social media platforms (120), over-the-top platforms, streaming platforms, and different content sharing platforms. According to aspects of the present disclosure, the decoder (124) includes an image processing system (126) that applies a specific sequence of image enhancement techniques to image frames extracted from the media content. The image enhancement techniques aid an associated code sequence detector (128) to extract the embedded subscriber-specific imprints and corresponding unique codes efficiently from the video to determine the subscriber device that served as the source of the unauthorized copy (118) of the media content. The decoder (124) shares the extracted codes with the content management system (106) to match the extracted code with subscriber or set-top box information associated with a plurality of subscribers stored in a subscriber management system (130) of the identified content provider or broadcaster, in turn, identifying the subscriber associated with the identified set-top box. In certain embodiments, the decoder (124) corresponds to an artificial intelligence (AI)-based detector that detects and matches the extracted codes with set-top box information stored in the subscriber management system (130).
[0044] In one embodiment, the subscriber management system (130) may perform an automated action such as terminate services to the identified set-top box (108) upon determining the set-top box (108) to be the origin of an unauthorized copy (118) of the media content. In certain other embodiments, where the imprint detector (122) is integrated with media players, and social media, over-the-top, streaming, or content sharing platforms, identification of the unauthorized copy (118) of the media content may result in automatically deleting the content and/or terminating access to the players or the platforms for a user who has uploaded or shared the unauthorized content. In one embodiment the subscriber management system (130) transmits an alert to notify one or more of a content owner, a broadcaster, or a channel provider of the media content that one or more platforms including social media platforms, over-the-top platforms, streaming platforms, and different content sharing platforms on which the copy of the media content is available. In another embodiment, the subscriber management system (130) transmits an alert to notify one or more of the content owner, the broadcaster, or the channel provider of the media content of the subscriber who is identified as the origin of the pirated copy of the media content. The subscriber-specific watermark, thus, aids in simple and fast identification of a source of origin of pirated and fake content proliferating online over the internet and via social media platforms (120). An exemplary method for digital imprinting of media content and subsequent decoding of the embedded imprints for identifying unauthorized copying and/or modification of media content is described in greater detail with reference to FIG. 2.
[0045] FIG. 2 illustrates a flow chart (200) depicting an exemplary method for accurately identifying origin of pirated, fake, or altered content. Embodiments of the exemplary method may be described in a general context of computer executable instructions on a computing system or a processor. Generally, computer executable instructions may include routines, programs, objects, components, data structures, procedures, modules, functions, and the like that perform particular functions or implement particular abstract data types. Embodiments of the exemplary method may also be practiced in a distributed computing environment where optimization functions are performed by remote processing devices that are linked through a wired and/or wireless communication network. In the distributed computing environment, the computer executable instructions may be located in both local and remote computer storage media, including associated memory storage devices.
[0046] Further, in FIG. 2, the exemplary method is illustrated as a collection of blocks in a logical flow chart, which represents operations that may be implemented in hardware, software, or combinations thereof. The various operations are depicted in the blocks to illustrate the functions that are performed, for example, during the digital imprinting and decoding phases in the exemplary method. In the context of software, the blocks represent computer instructions that, when executed by one or more processing subsystems, perform the recited operations. The order in which the exemplary method is described is not intended to be construed as a limitation, and any number of the described blocks may be combined in any order to implement the exemplary method disclosed herein, or an equivalent alternative method. Additionally, certain blocks may be deleted from the exemplary method or augmented by additional blocks with added functionality without departing from the scope of the subject matter described herein. For clarity, the exemplary method is described herein below with reference to elements of FIG. 1.
[0047] The method begins at step (202), where the subscriber-specific imprint generator (110) in the set-top box (108) retrieves subscriber-specific codes from the set-top box (108). In certain embodiments, the subscriber-specific codes retrieved from the set-top box (108) correspond to an 8-digit serial number of the set-top box (108) or a media access control (MAC) address of the set-top box (108). At step (204), the subscriber-specific imprint generator (110) generates one or more near-invisible subscriber-specific imprints or patterns from the subscriber-specific codes retrieved from the set-top box (108). Examples of the subscriber-specific imprints generated from the subscriber-specific codes include fiducial markers, circular imprints, and rectangular imprints. Certain exemplary techniques by which each of these fiducial markers, and circular imprints, and rectangular imprints generated from the subscriber-specific codes are described in detail in subsequent sections.
[0048] For example, for generating fiducial markers, the subscriber-specific imprint generator (110) retrieves subscriber-specific codes including a designated number of numerical digits such as the last 8 digits of the serial number of the set-top box (108) associated with the subscriber. It may be noted that use of the 8-digit serial number herein is only exemplary, and the subscriber-specific codes may include information having any number of digits, alphabets, and/or other characters. Further, the subscriber-specific imprint generator (110) generates fiducial markers from the retrieved 8-digit serial number, for example, using OpenCV and NumPy libraries.
[0049] In one embodiment, the fiducial markers, for example, correspond to machine-readable marker patterns generally not understandable by humans. For example, the 8-digit serial number associated with the set-top box (108) corresponds to “12345678.” In this example, the subscriber-specific imprint generator (110) may generate a plurality of sub-codes, for example, four different sub-codes by simply using two digits each of the 8-digit code, for example, by splitting "12345678" into two digits each, namely 12, 34, 56, and 78. In certain embodiments, the subscriber-specific imprint generator (110) may further add a sequence number to the generated sub-codes for easy retrieval and concatenation of sub-codes from one or more frames of the media content. In certain other embodiments, the subscriber-specific imprint generator (110) may also add one or more special numbers, patterns, or other such identifiers for identifying specific content owners and/or service providers providing the media content to subscribers. Addition of such special identifiers proves useful during decoding to determine if the media content originated from a specific service provider or from a subscriber.
[0050] Thus, in the above-noted example, the subscriber-specific imprint generator (110) may generate four unique sub-codes, each including the subscriber-specific unique sub-codes, channel-specific codes, and/or sequence identifiers. Additionally, the subscriber imprint generator (110) generates four markers such as digital subscriber-specific fiducial markers corresponding to black and white binary images from the four unique sub-codes, for example, using OpenCV and NumPy libraries, as depicted in FIGS. 11-17.
[0051] In another embodiment, the subscriber-specific imprint generator (110) generates subscriber-specific circular imprints (300) from the MAC address of the set-top box (108). For example, the MAC address of the set-top box (108) may correspond to “A6B4967F1CD0”, which is a 12-digit hexadecimal number. In this example, the subscriber-specific imprint generator (110) divides the 12-digit hexadecimal number equally into two 6-digit hexadecimal codes, namely a first hexadecimal code “A6B496” and a second hexadecimal code “7F1CD0.” Subsequently, the subscriber-specific imprint generator (110) adds a sequence number “1” at the beginning of the first hexadecimal code to modify the first hexadecimal code to “1A6B496.” Similarly, the subscriber-specific imprint generator (110) adds a sequence number “2” at the beginning of the second hexadecimal code to modify the second hexadecimal code to “27F1CD0”. In certain embodiments, the addition of sequence numbers to the first and second hexadecimal codes would enable the decoder (124) to accurately concatenate the first hexadecimal code decoded from the first modified hexadecimal code with the second hexadecimal code decoded from the second modified hexadecimal code in an appropriate sequence for re-generating the MAC address of the set-top box (108) accurately.
[0052] In addition, the subscriber-specific imprint generator (110) adds a first end character, for example, “0” at the end of the first hexadecimal code to further modify the first hexadecimal code to the first modified hexadecimal code “1A6B4960.” Similarly, the subscriber-specific imprint generator (110) adds a second end character, for example, “0” at the end of the second hexadecimal code to further modify the second hexadecimal code to the second modified hexadecimal code “27F1CD00.” In certain embodiments, the addition of the first and second end characters “0” as the last digit to each of the first and second hexadecimal codes would indicate the decoder (124) that the first 6-digits of the MAC address end before the last digit “0” in the first modified hexadecimal code, and the next 6-digits of the MAC address end before the last digit “0” in the second modified hexadecimal code.
[0053] Upon modifying the first and second hexadecimal codes, the subscriber-specific imprint generator (110) generates a first circular imprint (302) from the first modified hexadecimal code and a second circular imprint (304) from the second modified hexadecimal code, as described subsequently with reference to FIG. 3. For generating the first circular imprint (302), the subscriber-specific imprint generator (110) generates a first set of concentric circles (306), for example, including four circles as depicted in FIG. 3. Further, the subscriber-specific imprint generator (110) divides the first set of concentric circles (306) into eight equal sectors (308A-H), where the number of sectors (308A-H) is equivalent to a total number of characters in the first modified hexadecimal code “1A6B4960.” In one embodiment, each of the sectors (308A-H) includes four sub-sectors, namely a first sub-sector (310A), a second sub-sector (310B), a third sub-sector (310C), and a fourth sub-sector (310D). For the sake of simplicity, only the sub-sectors (310A-D) associated with the first sector (308A) are labelled in FIG. 3. Similarly, it is to be understood that each of the other sectors (308B-H) includes associated sub-sectors (310A-D).
[0054] In certain embodiments, the subscriber-specific imprint generator (110) converts each of a first set of characters in the first modified hexadecimal code into a first binary number, for example, a 4-digit binary number. For example, the subscriber-specific imprint generator (110) converts the characters “1”, “A”, “6”, “B”, “4”, “9”, “6”, and “0” into corresponding first binary numbers “0001”, “1010”, “0110”, “1011”, “0100”, “1001”, “0110”, and “0000”, respectively.
[0055] Subsequently, the subscriber-specific imprint generator (110) applies unique color patterns to each of the sectors (308A-H) based on the first binary numbers of the characters in the first modified hexadecimal code. For example, the subscriber-specific imprint generator (110) applies a unique color pattern to the sector (308A) by applying a first color, such as a black color, to the first sub-sector (310A) when the first digit in the first binary number “0001” corresponds to “0.” Alternatively, the subscriber-specific imprint generator (110) applies a second color, for example a white color, to the first sub-sector (310A) when the first digit in the first binary number “0001” corresponds to “1.” As the first digit in the first binary number “0001” corresponds to “0”, the subscriber-specific imprint generator (110) applies black color to the first sub-sector (310A). Further, the subscriber-specific imprint generator (110) applies black color to both the second sub-sector (310B) and the third sub-sector (310C) as the second and third digits in the first binary number “0001” correspond to “0.” However, the subscriber-specific imprint generator (110) applies white color to the fourth sub-sector (310D) as the fourth digit in the first binary number “0001” corresponds to “1.”
[0056] Similarly, the subscriber-specific imprint generator (110) applies the unique color pattern to the sector (308B) based on the first binary number “1010” associated with the character “A” in the first modified hexadecimal code. Specifically, the subscriber-specific imprint generator (110) applies white color to the first and third sub-sectors (310A and 310C) as the first and third digits in the first binary number “1010” correspond to “1”, and applies black color to the second and fourth sub-sectors (310B and 310D) as the second and fourth digits in the first binary number “1010” correspond to “0.” Though it is not described in detail, the imprint generator (110) similarly applies unique color patterns to each of the other sectors (308C-H) based on the first binary numbers associated with the characters “6”, “B”, “4”, “9”, “6”, and “0”, respectively in the first modified hexadecimal code.
[0057] The unique color patterns, thus applied to the different sectors (308A-H) of the first set of concentric circles (306), are collectively referred to as the first circular imprint (302) generated by the subscriber-specific imprint generator (110). In certain embodiments, the subscriber-specific imprint generator (110) similarly generates the second circular imprint (304) from the second modified hexadecimal code “27F1CD00” based on a second set of concentric circles (312). For instance, the subscriber-specific imprint generator (110) divides the second set of concentric circles (312) into the plurality of sectors (308A-H), where each of the sectors (308A-H) in the second set of concentric circles (312) represents a particular character selected from a second set of characters “27F1CD00” in the second hexadecimal code. Subsequently, the subscriber-specific imprint generator (110) converts each of the characters in the second hexadecimal code into a corresponding second binary number. The subscriber-specific imprint generator (110) then generates the second circular imprint (304) by applying unique color patterns to the sectors (308A-H) in the second set of concentric circles (312) based on second binary numbers associated with the characters in the second modified hexadecimal code, as described previously. The first circular imprint (302) and the second circular imprint (304), thus generated by the subscriber-specific imprint generator (110) from the MAC address of the set-top box (108), and are collectively known as the subscriber-specific circular imprints (300).
[0058] In certain embodiments, the subscriber-specific imprint generator (110) generates subscriber-specific rectangular imprints (400) from the MAC address of the set-top box (108). For example, the MAC address of the set-top box (108) corresponds to “A6B4967F1CD0”, which is a 12-digit hexadecimal number. In this example, the subscriber-specific imprint generator (110) divides the 12-digit hexadecimal number equally into three 4-digit hexadecimal codes, namely a first hexadecimal code “A6B4”, a second hexadecimal code “967F”, and a third hexadecimal code “1CD0.” Subsequently, the subscriber-specific imprint generator (110) adds a first sequence number “1” at the beginning of the first hexadecimal code to modify the first hexadecimal code to a first modified hexadecimal code “1A6B4”, and a second sequence number “2” at the beginning of the second hexadecimal code to modify the second hexadecimal code to a second modified hexadecimal code “2967F.” Similarly, the subscriber-specific imprint generator (110) adds a third sequence number “3” at the beginning of the third hexadecimal code to modify the third hexadecimal code to a third modified hexadecimal code “31CD0.” The addition of sequence numbers to the first, second, and third hexadecimal codes would enable the decoder (124) to accurately re-generate the MAC address of the set-top box (108) from the subscriber-specific rectangular imprints (400) embedded in a pirated or doctored media content.
[0059] Upon modifying the first, second, and third hexadecimal codes, the subscriber-specific imprint generator (110) generates a first rectangular imprint (402) from the first modified hexadecimal code, a second rectangular imprint (404) from the second modified hexadecimal code, and a third rectangular imprint (406) from the third modified hexadecimal code as described subsequently with reference to FIG. 4. In one embodiment, the subscriber-specific imprint generator (110) generates a rectangular matrix (408) that includes, for example, five rows (410A-E) and four columns (412A-D) for generating the first rectangular imprint (402). Further, the subscriber-specific imprint generator (110) converts each of a first set of characters in the first modified hexadecimal code into a corresponding first binary number, for example, into a 4-digit binary number. For example, the subscriber-specific imprint generator (110) converts the characters “1”, “A”, “6”, “B”, and “4” into corresponding first binary numbers “0001”, “1010”, “0110”, “1011”, and “0100”, respectively.
[0060] Subsequently, the subscriber-specific imprint generator (110) applies unique color patterns to each of the rows (410A-E) based on the first binary numbers of the characters in the first modified hexadecimal code. For example, the subscriber-specific imprint generator (110) applies the unique color pattern to the row (410A) by applying a first color, for example, a black color to a first column in the first row (410A) as the first digit in the first binary number “0001” corresponds to “0.” Further, the subscriber-specific imprint generator (110) applies black color to both second and third columns in the first row (410A) as the second and third digits in the first binary number “0001” correspond to “0.” However, the subscriber-specific imprint generator (110) applies white color to a fourth column in the first row (410A) as the fourth digit in the first binary number “0001” corresponds to “1.”
[0061] Similarly, the subscriber-specific imprint generator (110) applies the unique color pattern to the second row (410B) based on the first binary number “1010” associated with the character “A” in the first modified hexadecimal code. Specifically, the imprint generator (110) applies white color to first and third columns in the second row (410B) as the first and third digits in the first binary number “1010” correspond to “1.” Further, the subscriber-specific imprint generator (110) applies black color to second and fourth columns in the second row (410B) as the second and fourth digits in the first binary number “1010” correspond to “0.” Though it is not described in detail, the imprint generator (110) similarly applies unique color patterns to each of the other rows (410C-E) based on the first binary numbers associated with the characters “6”, “B”, and “4”, respectively in the first modified hexadecimal code.
[0062] The unique color patterns, thus applied to the different rows (410A-E) of the rectangular matrix (408), are collectively referred to as the first rectangular imprint (402) generated by the subscriber-specific imprint generator (110). In certain embodiments, the subscriber-specific imprint generator (110) similarly generates the second rectangular imprint (404) from the second modified hexadecimal code based on a rectangular matrix (414) and a second binary number associated with each of a second set of characters “2967F” in the second modified hexadecimal code. Likewise, the subscriber-specific imprint generator (110) generates the third rectangular imprint (406) from the third modified hexadecimal code based on a rectangular matrix (416) and a third binary number associated with each of a third set of characters “31CD0” in the third modified hexadecimal code. The first, second, and third rectangular imprints (402, 404, and 406, thus generated by the subscriber-specific imprint generator (110) from the MAC address of the set-top box (108), are collectively known as the subscriber-specific rectangular imprints (400).
[0063] It may be noted that the subscriber-specific imprints, generated from the subscriber-specific codes, are depicted to be in circular and rectangular shapes in FIGS. 3 and 4, merely for the sake of simplicity. However, the subscriber-specific imprints can be of any other shape, for example, square, ring, ellipse, spherical, octagon, or triangular, and may also include other color patterns.
[0064] Upon generating the subscriber-specific imprints including one of the fiducial markers, circular imprints (300), and rectangular imprints (400), at step (206), the overlay frame generator (112) generates a transparent overlay including the subscriber-specific imprints in the on screen display (OSD) plain. Overlaying the subscriber-specific imprints on the OSD plain does not require any special encoding or decoding, or access to, or change in the original media content, thus requiring minimal processing. FIG. 5, for example, depicts a schematic representation (500) of embedding a digital subscriber-specific imprint (502) in a transparent overlay over a video frame (504) selected from the media content received at the set-top box (108) to generate an embedded frame (506) for display on the associated display device (116).
[0065] Further, FIGS. 6-7 depict different exemplary approaches for embedding the digital subscriber-specific imprints, for example, fiducial markers at different configurable locations in a transparent overlay over the media content for display on the associated display device (116). In one embodiment, the subscriber-specific imprint generator (110) may embed one unique fiducial marker per image frame. For example, the first 100 frames of a video may have a fiducial marker generated from a sub-code corresponding to ‘12,’ the second 100 frames of the video may have another fiducial marker generated from a sub-code corresponding to ‘34,’ and so on.
[0066] Further, FIG. 6 depicts a schematic representation (600) of an exemplary approach for embedding multiple unique subscriber-specific fiducial markers at fixed locations in the transparent overlay relative to a selected image frame such that each image frame in a set of image frames of the video includes at least one of the subscriber-specific imprints embedded at the fixed locations. For example, the subscriber-specific imprint generator (110) may embed four subscriber-specific fiducial markers corresponding to four different quadrants of the image frame in an asymmetric manner, as depicted in FIG. 6, such that pixel distances between reference axes X-Y (602) and each of the subscriber-specific fiducial markers are different from pixel distances between the reference X-Y axes (602) and each of the remaining subscriber-specific fiducial markers. Embedding the subscriber-specific fiducial markers in an asymmetric manner enables robust sequencing of a detected sub-code even when the unauthorized video recording is captured at different angles, such as at 90 or 180 degrees. Further, it may be noted that in absence of frame-level access to the media content, the subscriber-specific imprint generator (110) is unaware of whether the subscriber-specific fiducial markers have been embedded in bright or dark portions of the image frame. Therefore, in certain embodiments, the subscriber-specific fiducial markers are added to a majority or all image frames to increase the chances of positioning the imprints in bright portions of the frames for easy extraction.
[0067] Further, FIG. 7 depicts a schematic representation (700) of embedding the unique subscriber-specific fiducial markers in a rotational manner relative to a selected video frame. In one embodiment, four unique subscriber-specific fiducial markers may be embedded starting from left lower corner of the video frame towards center, as shown in FIG. 7. Embedding the subscriber-specific fiducial markers in rotational manner enables robust imprint detection even if the video frames have different backgrounds. For example, the embedded subscriber-specific fiducial markers may be obfuscated, for example, by other elements or darker backgrounds in certain frames. However, embedding the subscriber-specific fiducial markers in a rotational manner in multiple frames allows for assured retrieval and decoding of the subscriber-specific fiducial markers even with sub-optimal background features in certain frames, and even if the pirated video is captured straight, or is rotated by 180 degrees.
[0068] FIG. 8 depicts a schematic representation (800) of embedding the unique subscriber-specific circular imprints (300) in fixed locations on the transparent overlay relative to a selected image frame (802). For example, the subscriber-specific imprint generator (110) embeds the first and second subscriber-specific circular imprints (302 and 304) corresponding to left and right bottom corners on the transparent overlay relative to the image frame (802), as depicted in FIG. 8. In certain embodiments, the subscriber-specific circular imprints (302 and 304) are added to a majority of, or all image frames to increase the chances of positioning the imprints in brighter portions of the frames for easy extraction.
[0069] In another embodiment, the subscriber-specific imprint generator (110) embeds the subscriber-specific circular imprints (300) in a rotational manner such that the first frame of a video includes the first circular imprint (302), the second frame of the video includes the second circular imprint (304), the third frame of the video includes the first circular imprint (302), the fourth frame of the video includes the second circular imprint (304), and so on. Alternatively, the subscriber-specific imprint generator (110) embeds the subscriber-specific circular imprints (300) in a rotational manner such that the first 100 frames of the video include the first circular imprint (302), the second 100 frames of the video include the second circular imprint (304), the third 100 frames of the video include the first circular imprint (302), and so on.
[0070] FIG. 9 depicts a schematic representation (900) of embedding the unique subscriber-specific rectangular imprints (400) in fixed locations on the transparent overlay relative to a selected image frame (902). For example, the subscriber-specific imprint generator (110) embeds the first, second, and third subscriber-specific rectangular imprints (402, 404, and 406) corresponding to left, middle, and right bottom corners, respectively, on the transparent overlay relative to the image frame (902), as depicted in FIG. 9. In certain embodiments, the first, second, and third subscriber-specific rectangular imprints (402, 404, and 406) are added to a majority of, or all image frames to increase the chances of positioning the imprints in brighter portions of the frames for easy extraction.
[0071] In another embodiment, the subscriber-specific imprint generator (110) embeds the subscriber-specific rectangular imprints (400) in a rotational manner such that the first frame of a video includes the first rectangular imprint (402), the second frame of the video includes the second rectangular imprint (404), the third frame of the video includes the third rectangular imprint (406), the fourth frame of the video includes the first rectangular imprint (402), and so on. Alternatively, the subscriber-specific imprint generator (110) embeds the subscriber-specific rectangular imprints (400) in the rotational manner such that the first 100 frames of the video include the first rectangular imprint (402), the second 100 frames of the video include the second rectangular imprint (404), the third 100 frames of the video include the third rectangular imprint (406), the fourth 100 frames of the video include the first rectangular imprint (402), and so on.
[0072] With returning reference to FIG, 2, at step (208), the video frame overlay mixer (114) superimposes the transparent overlay including the embedded subscriber-specific imprints over a media content received from the broadcaster. Media content superimposed by the transparent overlay having the embedded subscriber-specific imprints is then displayed on the display device (116). Thus, the present method provides an efficient marking technique that has minimal impact on user perception of the actual video content by employing covert, imperceptible digital imprints that are designed to have low opacity. Additionally, these embedded subscriber-specific imprints are machine-readable codes that cannot be understood or identified by users even if the embedded imprints overlaid on certain frames are visible.
[0073] In certain scenarios, an unscrupulous person may use an unauthorized media capture device such as the mobile camera (117) to record the media content playing on the display device (116) illegally. The person may subsequently share the unauthorized copy (118) as-is, or after modifications with others, for example, via one or more social media platforms (120). As previously noted, such unauthorized copies may be identified using human intervention or detected automatically by the imprint detector (122) incorporated into social media platforms (120) and/or media players.
[0074] To that end, at step (210), the decoder (124) may receive a suspected unauthorized copy (118) of the media content from the imprint detector (122) along with the identified channel/broadcaster information. In one embodiment, the decoder (124) corresponds to an AI-based or neural network-based code location detector. Subsequently, at step (212), the image processing system (126) in the decoder (124) processes the received media content to extract corresponding image frames, and analyzes the image frames to identify regions of interest corresponding to locations of the subscriber-specific imprints embedded in the image frames.
[0075] In one embodiment, the image processing system (126) identifies locations of embedded subscriber-specific imprints based on previously known information related to the embedding scheme used by the subscriber-specific imprint generator (110) during the initial imprinting of the media content. For example, the image processing system (126) identifies potential areas in one or more different quadrants of the video frame as the embedded imprint locations when the subscriber-specific imprint generator (110) is known to have embedded the subscriber-specific imprints in fixed locations, or when embedded subscriber-specific imprints are located at similar locations in a sequence of image frames.
[0076] Alternatively, the image processing system (126) identifies potential areas in the video frame as the embedded imprint locations when the subscriber-specific imprint generator (110) is known to have embedded the subscriber-specific imprints in a rotational manner, for example, starting from left lower corner of video frame towards center, as shown in FIG. 5. In certain further embodiments, the image processing system (126) employs an AI model, to detect the location of embedded subscriber-specific imprints and outputs bounding box values, that is, coordinate values within which the subscriber-specific imprints is detected. Subsequently, the image processing system (126) crops the extracted video frames based on the bounding box values to get the location of embedded subscriber-specific imprints.
[0077] In certain embodiments, the image processing system (126) may determine the received video to be tilted when the location of the embedded subscriber-specific imprints is offset from expected locations in multiple frames per the embedding scheme used by the subscriber-specific imprint generator (110). Accordingly, the image processing system (126) may also use known image pre-processing or AI-based algorithms to rotate the frames to default or desired positions and orientations when the received video is determined to be tilted at an angle, for example, due to unsteady hands of the person recording the video. Once rotated, the image processing system (126) may identify the embedded imprint locations and crop the image frame to focus and enlarge the areas in the vicinity of the identified embedded imprint locations.
[0078] Subsequently, at step (214), the decoder (124) applies custom image enhancement and decoding steps for efficiently decoding the subscriber-specific codes from the subscriber-specific imprints embedded in the image frames of the media content. An exemplary embodiment of the decoder (124) is described subsequently with reference to FIGS. 10-17.
[0079] FIG. 10 illustrates a flow chart (1000) depicting an exemplary method for enhancing one or more image frames extracted from the video for aiding in extracting the digital subscriber-specific fiducial markers. Particularly, at step (1002), the image processing system (126) performs up-sampling on the cropped video frames to generate up-sampled frames, which helps in determining the spatial resolution of the images. FIG. 11 depicts an exemplary up-sampled frame (1100) generated by the image processing system (126) at step (1002). Further, at step (1004), the image processing system (126) applies edge enhancement algorithms on the up-sampled frames to generate edge-enhanced frames. In particular, the image processing system (126) performs edge detection operation on the up-sampled frames using 3x3 edge detection filters, which are convolved with the up-sampled frames to enhance the edges for better detection. FIG. 12 depicts an exemplary image (1200) generated after edge enhancement by the image processing system (126). At step (1006), the image processing system (126) convolves the edge-enhanced frames with 1x1 Gaussian Blur filter and 1x1 Median Blur for removing noisy pixels from the edge enhanced frames without losing the principal features of the edge enhanced frames to generate noise-removed frames. Additionally, at step (1008), the image processing system (126) applies dilation techniques on the noise-removed frames for enlarging boundaries of regions of foreground pixels in the noise-removed frames to generate dilated frames. FIG. 13 depicts an exemplary image (1300) generated after noise removal and dilation.
[0080] Further, at step (1010), the image processing system (126) converts the dilated frames in a red-green-blue (RGB) format to a LAB format to obtain converted frames having enhanced areas of black pixels, where L in the LAB format indicates lightness (0-100 pixels), A in the LAB format indicates red/green pixels, and B in the LAB format indicates yellow/blue pixels. FIG. 14 depicts an exemplary converted frame (1400) in the LAB format generated from the RGB format of a dilated frame by the image processing system (126).
[0081] Further, at step (1012), the image processing system (126), for example, applies a contrast limited adaptive histogram equalization (CLAHE) technique to L channels of the converted frames in the LAB format to get L2 channels, which is further processed. Application of the CLAHE technique corrects over or under exposure of the image frames caused by different lightning conditions. FIG. 15 depicts an exemplary image (1500) generated by applying the CLAHE technique to the L channel of the converted frame (1400) in the LAB format.
[0082] Further, at step (1014), the image processing system (126) merges the L2 channels with A and B channels, resulting in enhanced frames in the LAB format. FIG. 16 depicts an exemplary enhanced frame (1600) in the LAB format generated by merging the L2 channel with A and B channels. At step (1016), the image processing system (126) converts the enhanced frames in the LAB format back to the RGB format for input to the code sequence detector (128). FIG. 17 depicts an exemplary enhanced frame (1700) in the RGB format generated by the image processing system (126). Further, at step (1018), the image processing system (126) extracts the subscriber-specific fiducial markers from the enhanced frames in the RGB format and decodes the extracted fiducial markers to corresponding sub-codes, for example, using OpenCV and NumPy libraries. Subsequently, the image processing system (126) transmits these extracted sub-codes to the code sequence detector (128).
[0083] At step (1020), the code sequence detector (128) receives the extracted sub-codes from the image processing system (126). At step (1022), the code sequence detector (128) identifies the sequence of extracted sub-codes, for example, by considering fixed sub-code locations. In another embodiment, the code sequence detector (128) identifies the sequence of extracted sub-codes by identifying the digit indicative of the position of each sub-code, for example, the first digit of the extracted sub-code. For example, when using an 8-digit number “12 34 56 78,” an extracted sub-code may correspond to “112,” where the first digit indicates position value 1 and next two digits are selected from the 8-digit subscriber-device serial number. Similarly, a second extracted sub-code may correspond to “234,” where the first digit indicates that the sub-code is positioned at a second location, and the next two digits are selected from the 8-digit subscriber-device serial number. The code sequence detector (128) uses these position values, for example, encoded in the first digit for easily identifying the sequence of extracted sub-codes. At step (1024), the code sequence detector (128) concatenates the sub-codes based on the identified sequence to regenerate the original serial number of the set-top box (108) accurately. Stored sequence numbers, thus, can be used to detect the embedded fiducial markers and corresponding sub-codes irrespective of an angle of video recording.
[0084] In certain embodiments, the code sequence detector (128) uses a neural network-based object detection model to detect fiducial marker locations and pass the detected fiducial markers to the image enhancement algorithm to generate an output that is subsequently passed to the decoder (124) to detect the sub-code numbers. In one embodiment, the decoder only detects fiducial markers from lighter or higher pixel value areas, for example, areas having pixel values greater that 127 to avoid false sub-code detections. Additionally, the decoder (124) avoids false sub-code detection by considering only highly recurring sub-codes. For example, if the decoder (124) decodes a sub-code 1 determined from a left top corner fiducial marker as ‘12’ 87 times and as ‘21’ 10 times, the decoder (124) would consider ‘12’ as the right sub-code to avoid decoding the sub-code wrongly. An embodiment of the decoder (124) that applies custom image enhancement and decoding steps for decoding the subscriber-specific codes, for example, the MAC address of the set-top box (108) from the subscriber-specific circular imprints (300) is described subsequently with reference to FIGS. 18A-B and 19.
[0085] FIGS. 18A-B illustrate a flowchart (1800) depicting an exemplary method for decoding the MAC address of the set-top box (108) from the subscriber-specific circular imprints (302 and 304) embedded in one or more image frames of the media content. At step (1802), the image processing system (126) extracts image frames from the unauthorized copy (118) of the media content. At step (1804), the decoder (124) determines regions of interest corresponding to expected locations of the circular imprints (302 and 304) in the image frames corresponding to the unauthorized copy (118) of the media content. In one embodiment, the decoder (124) implements a convolutional neural network model, for example, a YoloV5 model to determine locations of the circular imprints (302 and 304) on the image frames. At step (1806), the image processing system (126) crops portions of the image frames at the locations determined by the decoder (124) such that the cropped portions include the first and second circular imprints (302 and 304).
[0086] At step (1808), the image processing system (126) enhances image quality of the cropped portions. In one embodiment, the image processing system (126) enhances image quality by adjusting brightness and sharpness of the cropped portions, for example, using Python pillow library. At step (1810), the image processing system (126) enhances sizes of the cropped portions including the first and second circular imprints (302 and 304) for accurately decoding the MAC address of the set-top box (108) from the first and second circular imprints (302 and 304).
[0087] An exemplary technique by which first six digits of the MAC address decoded from the first circular imprint (302) is described in detail with reference to FIG. 19. It is be to understood that the last six digits of the MAC address is similarly decoded from the second circular imprint (304) depicted in FIG. 3. Particularly, at step (1812), the image processing system (126) determines a center point (1902) of the first set of concentric circles (306) depicted in FIG. 19. In one embodiment, the image processing system (126) determines the center point (1902) using, for example, OpenCV libraries. At step (1814), the image processing system (126) traverses through each of the sub-sectors (310A-D) in the first sector (308) and determines an average pixel intensity associated with each of the sub-sectors (310A-D).
[0088] To that end, the image processing system (126) determines a boundary of an outer circle (1904) in the first set of concentric circles (306). For example, the determined boundary of the outer circle (1904) may be 100 pixels radially away from the center point of the first set of concentric circles (306). Subsequently, the image processing system (126) traverses from the boundary of the outer circle (1904) inwardly towards the center point (1902) by a first number of designated pixels, for example, by 5 pixels such that the image processing system (126) traverses to the first sub-sector (310A) in the sector (308A). Upon traversing to the first sub-sector (310A), the image processing system (126) determines the average pixel intensity of the first sub-sector (310A) by selecting, for example, four areas (1906) within the first sub-sector (310A) and averaging pixel intensities of the selected four areas (1906).
[0089] Subsequently, the image processing system (126) traverses from the first sub-sector (310A), for example by another 20 pixels towards the center point (1902), to the second sub-sector (310B) in the first sector (308A). The image processing system (126) then determines the average pixel intensity of the second sub-sector (310B) by averaging pixel intensities of a set of areas selected from the second sub-sector (310B). Similarly, the image processing system (126) traverses from the second sub-sector (310B), for example by another 20 pixels towards the center point (1902), to the third sub-sector (310C) in the first sector (308A), and subsequently determines the average pixel intensity of the third sub-sector (310C). Likewise, the image processing system (126) traverses from the third sub-sector (310C) to the fourth sub-sector (310D) by traversing by another 20 pixels towards the center point (1902), and determines the average pixel intensity of the fourth sub-sector (310D).
[0090] At step (1816), the image processing system (126) determines a first pixel intensity threshold for the entire first circular imprint (302). In one embodiment, the image processing system (126) determines the first pixel intensity threshold that is equivalent to the average pixel intensity associated with one of the third sub-sector (310C) and the fourth sub-sector (310D) in the first sector (308A) having the highest average pixel intensity. For example, the average pixel intensity of the third sub-sector (310C) is 70 and the average pixel intensity of the fourth sub-sector (310C) is 100. In this example, the image processing system (126) determines the first pixel intensity threshold as 100, which is equivalent to the average pixel intensity of the fourth sub-sector (310D) in the first sector (308A).
[0091] At step (1818), the decoder (124) assigns a binary value to each of the sub-sectors (310A-D) in the first sector (308A) based on a corresponding average pixel intensity and the first pixel intensity threshold. In one embodiment, the decoder (124) assigns a binary value “1” when the average pixel intensity associated with a particular sub-sector (310A-D) is equal to or greater than the first pixel intensity threshold. Alternatively, the decoder (124) assigns a binary value “0” when the average pixel intensity associated with the particular sub-sector (310A-D) is lesser than the first pixel intensity threshold. For example, the decoder (124) assigns binary values ‘0’, ‘0’, ‘0’, and ‘1’ when the first pixel intensity threshold is 100 and when the average pixel intensity of the first sub-sector (310A), second sub-sector (310B), third sub-sector (310C), and fourth sub-sector (310D) are 90, 80, 70, and 110, respectively.
[0092] At step (1820), the decoder (124) concatenates the binary values associated with the sub-sectors (310A-D) in the first sector (308A) into a first four-digit binary number and converts the first four-digit binary number into a hexadecimal number. For example, the decoder (124) concatenates binary values ‘0’, ‘0’, ‘0’, and ‘1’ associated with the sub-sectors (310A-D) in the first sector (308A) into “0001”, and converts the first four-digit binary number “0001” into a corresponding hexadecimal number “1.”
[0093] At step (1822), the decoder (124) similarly assigns a binary value for each of the sub-sectors (310A-D) in other sectors (308B-D) based on a corresponding average pixel intensity and the determined first pixel intensity threshold. Subsequently, at step (1824), the decoder (124) concatenates and converts the first four-digit binary numbers associated with the sub-sectors (310A-D) in each of the other sectors (308B-H) into corresponding hexadecimal numbers. For example, the first four-digit binary numbers associated with the other sectors (308B-H) including the second sector (308B), third sector (308C), fourth sector (308D), fifth sector (308E), sixth sector (308F), seventh sector (308G), and eighth sector (308H) are “1010”, “0110”, “1011”, “0100”, “1001”, “0110”, and “0000”, respectively. In this example, the decoder (124) converts each of the first four-digit binary numbers into corresponding hexadecimal numbers “A”, “6”, “B”, “4”, “9”, “6”, and “0”, respectively.
[0094] At step (1826), the decoder (124) concatenates hexadecimal numbers decoded from the sectors (308A-H) into a single hexadecimal code. For example, the decoder (124) concatenates hexadecimal numbers “1”, “A”, “6”, “B”, “4”, “9”, “6”, and “0” decoded from the sectors (308A-H) into a hexadecimal code “1A6B4960.” In certain embodiments, the decoder (124) similarly decodes hexadecimal numbers from the sectors (308A-H) of the first circular imprint (302) embedded in multiple frames of the media content. For example, the decoder (124) decodes the hexadecimal numbers as “1A6B4960” 100 times and as “3B6B4960” 20 times from the first circular imprint (302) embedded in multiple frames of the media content. In this example, the decoder (124) would consider “1A6B4960” as the right hexadecimal numbers to avoid decoding the first circular imprint (302) wrongly. In certain scenarios, the decoder (124) decodes the first circular imprint (302) as having at least six continuous hexadecimal code ‘0’ or at least six continuous hexadecimal code ‘A’ when a background of an image frame including the first circular imprint (302) is noisy or has an associated pixel intensity, for example, that is greater than 200 pixel values. In such scenarios, the decoder (124) discards the hexadecimal numbers decoded from the first circular imprint (302) embedded in such an image frame.
[0095] At step (1828), the code sequence detector (128) identifies the first digit “1” in the hexadecimal code as a sequence number and the last digit “0” in the hexadecimal code as the end character. At step (1830), the code sequence detector (128) detects hexadecimal numbers “A6B496” in the hexadecimal code, between the identified sequence number and the identified end character, as the first 6-digits of the MAC address of the set-top box (108).
[0096] At step (1832), the decoder (124) similarly decodes the last 6-digits of the MAC address of the set-top box (108) by determining a second pixel intensity threshold and second four-digit binary numbers from the second circular imprint (304) and by repeating processing steps described previously with reference to steps 1812 through 1830. An example of last 6-digits of the MAC address decoded from the second circular imprint (304) by the decoder (124) corresponds to “7F1CD0.” At step (1834), the decoder (124) regenerates the MAC address of the set-top box (108) by concatenating the first 6-digts and the last 6-digits decoded from the first circular imprint (302) and the second circular imprint (304), respectively. An exemplary MAC address generated by the decoder (124) by concatenating the first and last 6-digits corresponds to “A6B4967F1CD0.” In certain embodiments, the decoder (124) applies alternative decoding technique for decoding the subscriber-specific codes, for example, the MAC address of the set-top box (108) from the subscriber-specific rectangular imprints (400), as described subsequently with reference to FIGS. 20-21.
[0097] FIGS. 20A-B illustrate a flowchart (2000) depicting an exemplary method for decoding the MAC address of the set-top box (108) from the subscriber-specific rectangular imprints (400) embedded in one or more image frames of the media content. At step (2002), the image processing system (126) extracts image frames from the unauthorized copy (118) of the media content. At step (2004), the image processing system (126) determines regions of interest corresponding to locations of the rectangular imprints (402, 404, and 406) in the image frames of the media content, and crops portions of the images frames at the determined locations such that the cropped portions include the rectangular imprints (402, 404, and 406). At step (2006), the image processing system (126) enhances image quality and sizes of the cropped portions for accurately decoding the MAC address of the set-top box (108) from the rectangular imprints (402, 404, and 406). An exemplary technique by which first four digits of the MAC address decoded from the first rectangular imprint (402) is described subsequently with reference to FIG. 21. It is be to understood that the next four digits of the MAC address and the last four digits of the MAC address are similarly decoded from the second rectangular imprint (404) and the third rectangular imprint (406), respectively depicted in FIG. 4.
[0098] Further, at step (2008), the image processing system (126) determines a center point (2102) of a first box (2104A) in the first row (410A) of the rectangular matrix (408) associated with the first rectangular imprint (402) in two steps. In a first step, the image processing system (126) traverses the first box (2104A) row-wise by a designated number of pixels, for example, by 5 pixels from a left top corner (2106) to an intermediate point (2108) in the first box (2104A). In a second step, the image processing system (126) traverses first box (2104A) column-wise by the same number of pixels from the intermediate point (2108) to the center point (2102).
[0099] At step (2010), the image processing system (126) determines an average pixel intensity of the first box (2104A) in the first row (410A). In one embodiment, the image processing system (126) determines the average pixel intensity of the first box (2104A) by selecting a set of areas around the center point (2102) and by averaging pixel intensities associated with the selected areas. At step (2012), the image processing system (126) traverses through each of the other boxes (2104B-D) in the first row (410A) and determines an average pixel intensity associated with each of the other boxes (2104B-D).
[00100] For example, the image processing system (126) traverses to the center point of the second box (2104B) by moving row-wise from the center point (2102) of the first box (2104A) by a selected number of pixels, for example, 10 pixels. Upon traversing to the center point of the second box (2104B), the image processing system (126) determines the average pixel intensity of the second box (2104B) by averaging pixel intensities associated with a set of areas around the center point of the second box (2104B). Similarly, the image processing system (126) traverses to the center point of the third box (2104C) by moving row-wise from the center point of the second box (2104B) by the selected number of pixels, and subsequently determines the average pixel intensity of the third box (2104C). Likewise, the image processing system (126) traverses to the center point of the fourth box (2104D) from the center point of the third box (2104C), and determines the average pixel intensity of the fourth box (2104D).
[00101] At step (2014), the image processing system (126) determines a first pixel intensity threshold for the entire first rectangular imprint (402) that is equivalent to the average pixel intensity associated with one of the third box (2104C) and the fourth box (2104D) that has the highest average pixel intensity in the first row (410A). For example, the average pixel intensity of the third box (2104C) is 70 and the average pixel intensity of the fourth box (2104D) is 100. In this example, the image processing system (126) determines the first pixel intensity threshold as 100, which is equivalent to the average pixel intensity of the fourth box (2104D) in the first row (410A).
[00102] At step (2016), the decoder (124) assigns a binary value to each of the boxes (2104A-D) in the first row (410A) based on a corresponding average pixel intensity and the determined first pixel intensity threshold. In one embodiment, the decoder (124) assigns a binary value “1” when the average pixel intensity associated with a particular box (2104A-D) is equal to or greater than the first pixel intensity threshold. Alternatively, the decoder (124) assigns a binary value “0” when the average pixel intensity associated with the particular box (2104A-D) is lesser than the first pixel intensity threshold. For example, the decoder (124) assigns binary values ‘0’, ‘0’, ‘0’, and ‘1’ when the first pixel intensity threshold is 100 and when the average pixel intensity of the first box (2104A), second box (2104B), third box (2104C), and fourth box (2104D) are 90, 80, 70, and 110, respectively.
[00103] At step (2018), the decoder (124) concatenates the binary values associated with the boxes (2104A-D) in the first row (410A) into a first four-digit binary number and converts the first four-digit binary number into a hexadecimal number. For example, the decoder (124) concatenates binary values ‘0’, ‘0’, ‘0’, and ‘1’ associated with the boxes (2104A-D) in the first row (410A) into “0001,” and converts the first four-digit binary number “0001” into a corresponding hexadecimal number “1.”
[00104] At step (2020), the decoder (124) similarly assigns a binary value for each of the boxes (2104A-D) in other rows (410B-E) based on a corresponding average pixel intensity and the determined first pixel intensity threshold. Subsequently, at step (2022), the decoder (124) concatenates binary values associated with the boxes (2104A-D) in each of the other rows (410B-E) into corresponding first four-digit binary numbers and converts the first four-digit binary values into corresponding hexadecimal numbers. For example, the first four-digit binary numbers associated with the other rows (410B-E) including the second row (410B), third row (410C), fourth row (410D), and fifth row (410E) are “1010”, “0110”, “1011”, and “0100”, respectively. In this example, the decoder (124) converts each of the first four-digit binary numbers into corresponding hexadecimal numbers such as “A”, “6”, “B”, and “4”, respectively.
[00105] At step (2024), the decoder (124) concatenates hexadecimal numbers decoded from the rows (410A-E) into a single hexadecimal code. For example, the decoder (124) concatenates hexadecimal numbers “1”, “A”, “6”, “B”, and “4” decoded from the rows (410A-E) into a hexadecimal code “1A6B4.” In certain embodiments, the decoder (124) similarly decodes hexadecimal numbers from the rows (410A-E) of the first rectangular imprint (402) embedded in multiple frames of the media content. For example, the decoder (124) may decode the hexadecimal numbers as “1A6B4” 100 times and as “3B6B4” 20 times from the first rectangular imprint (402) embedded in multiple frames of the media content. In this example, the decoder (124) would consider “1A6B4” as the right hexadecimal numbers to avoid decoding the first rectangular imprint (402) wrongly. In certain scenarios, the decoder (124) decodes the first rectangular imprint (402) as having five continuous hexadecimal code ‘0’ or five continuous hexadecimal code ‘A’ when a background of an image frame including the first rectangular imprint (402) is noisy or has an associated pixel intensity, for example, that is greater than 200 pixel values. In such scenarios, the decoder (124) discards the hexadecimal numbers decoded from the first rectangular imprint (402) embedded in such an image frame.
[00106] At step (2026), the code sequence detector (128) identifies the first digit “1” in the hexadecimal code as a sequence number. At step (2028), the code sequence detector (128) detects hexadecimal numbers “A6B4” that are present in the hexadecimal code after the sequence number “1” as the first 4-digits of the MAC address of the set-top box (108).
[00107] At step (2030), the decoder (124) similarly decodes the next 4-digits of the MAC address by determining a second pixel intensity threshold and second four-digit binary numbers from the rectangular imprint (404) and the last 4-digits of the MAC address by determining a third pixel intensity threshold and third four-digit binary numbers from the rectangular imprint (406) by repeating processing steps described with reference to steps 2008 through 2028. Exemplary next 4-digits and last 4-digits of the MAC address decoded from the second and third rectangular imprints (404 and 406) by the decoder (124) correspond to “967F” and “1CD0”, respectively.
[00108] At step (2032), the decoder (124) regenerates the MAC address of the set-top box (108) by concatenating the first 4-digits, next 4-digits, and last 4-digits decoded from the first rectangular imprint (402), second rectangular imprint (404), and third rectangular imprint (406), respectively. An exemplary MAC address generated by the decoder (124) by concatenating the first 4-digits, next 4-digits, and last 4-digits corresponds to “A6B4967F1CD0.”
[00109] Referring back to FIG. 2, at step (216), the decoder (124) may share the decoded subscriber-specific codes, for example, including the 8-digit serial number or the MAC address of the set-top box (108) with the special identifiers to the content management system (106) of a content or service provider associated with the special identifiers. Subsequently, at step (218), the content management system (106) compares the subscriber-specific codes with set-top box information stored in the subscriber management system (130) of the identified content provider or broadcaster for identifying the subscriber associated with the identified set-top box (108). In the event of identifying an unauthorized copy (118) of content, the subscriber management system (130) may terminate services to the identified set-top box (108). Alternatively, where the subscriber-specific imprint detector (122) is integrated with media players, social media, OTT, or other content sharing platforms, identification of the unauthorized copy (118) may result in automatic taking down of the unauthorized content or terminating access of the associated user to the media player, the streaming service, or streaming platform. In certain embodiments, the imprint detector (122) may transmit an alert to notify one or more of a content delivery platform, a content owner, a broadcaster, or a channel provider of the media content to initiate necessary action against the user who has uploaded or shared the unauthorized content.
[00110] Embodiments presented herein, thus, describe the subscriber-end media imprinting system (100) and method for accurately identifying origin of unauthorized, pirated, fake, or altered content. Particularly, the method includes embedding an imperceptible, unique subscriber-specific imprint into a transparent overlay generated by a subscriber device such as a set-top box. Embedding the unique subscriber-specific imprints over the media content at the subscriber device offloads a significant amount of processing complexity and storage requirements that are conventionally incurred at the content provider or content distribution servers. Additionally, generation and display of the transparent overlay with the subscriber-specific imprints superimposed over media content playing on an associated display allows for digitally imprinting the media content without needing frame-level access to the media content. Further, use of fixed and rotating schemes for embedding subscriber-specific imprints allows for robust detection irrespective of differing backgrounds in the video.
[00111] The present method also includes an efficient decoding method that employs image enhancement techniques for accurate extraction of the embedded subscriber-specific imprints and corresponding sub-codes from an unauthorized copy (118) of the media content even when the copy is recorded using devices with low camera resolutions. The method also considers pixel intensity and extracted sub-code recurrence to avoid false positives. The extracted sub-code may then be used to trace the original subscriber who is the source of the pirated content with greater accuracy.
[00112] It may be noted that the foregoing examples and process steps that may be performed by certain components of the present system (100), for example, by the subscriber-specific imprint generator (110), overlay frame generator (112), video frame overlay mixer (114), and decoder (124) may be implemented by suitable code on a processor-based system. It may also be noted that different implementations of the present specification may perform some or all of the steps described herein in different orders, or substantially concurrently. Additionally, various functions and/or method steps described herein may be implemented in a variety of programming languages like Python, C++, Java. Such code may be stored or adapted for storage on one or more tangible, machine-readable media, such as on data repository chips, local or remote hard disks, optical disks such as CDs or DVDs, solid-state drives, or other media accessed by the processor-based system to execute the stored code.
[00113] Although specific features of various embodiments of the present systems and methods may be shown in and/or described with respect to some drawings and not in others, this is for convenience only. It is to be understood that the described features, structures, and/or characteristics may be combined and/or used interchangeably in any suitable manner in the various embodiments shown in different figures, for example, to construct additional assemblies and techniques for use in digital watermarking.
[00114] While only certain features of the present systems and methods have been illustrated and described herein, many modifications and changes will occur to those skilled in the art. It is, therefore, to be understood that the appended claim is intended to cover all such modifications and changes.
LIST OF NUMERAL REFERENCES:
100 Subscriber-end media imprinting system 130 Subscriber management system
102 Content delivery network 200-218 Steps of method for accurately identifying origin of pirated, fake, or unauthorized content
104 Content provider system 300, 302, 304 Subscriber-specific circular imprints
106 Content management system 306, 312 Sets of concentric circles
107 Transcoder 308 Sectors of the concentric circles
108 Subscriber device 310A-D Sub-sectors associated with sectors
110 subscriber-specific imprint generator 400, 402, 404, 406 Subscriber-specific rectangular imprints
112 Overlay frame generator 408, 414, 416 Rectangular Matrices
114 Video frame overlay mixer 410A-E Rows of rectangular matrices
116 Display device 412A-E Columns of rectangular matrices
117 Media capturing device 500, 502, 600, 700, 800, 900 Schematic representation of embedding subscriber-specific imprint
118 Unauthorized media content copy 504 Video frame
120 Social media platforms 506 Embedded frame
122 Digital imprint detector 602 Reference axes
124 Decoder 802, 902 Image frame
126 Image processing system 1000-1024 Steps of method for enhancing image frames of a video
128 Code sequence detector 1100 Up-sampled frame
1200 Edge enhanced frame 1904 Outer circle in the first set of concentric circles
1300 Noisy pixels removed frame 1906 Selected areas in a first sub-sector
1400 Dilated frame 2000-2032 Steps of method for decoding a MAC address from subscriber-specific rectangular imprints
1500 Image generated using CLAHE 2102 Center point of a first square box
1600 Enhanced frame 2104A-D Square boxes in rows of rectangular matrices
1700 Enhanced frame in RGB format 2106 Top left corner of first square box
1800-1834 Steps of method for decoding a MAC address from subscriber-specific circular imprints 2108 Intermediate point
1902 Center point of first set of concentric circles
,CLAIMS:We claim:
1. A method for identifying origin of media content, comprising:
generating a plurality of subscriber-specific codes from information associated with one or more of a subscriber and a corresponding subscriber device (108) by a subscriber-specific imprint generator (110);
converting the plurality of subscriber-specific codes to one or more imperceptible subscriber-specific imprints by the subscriber-specific imprint generator (110) and embedding the subscriber-specific imprints into a transparent overlay generated by the subscriber device (108);
displaying the transparent overlay with the subscriber-specific imprints over the media content playing on a display device (116) associated with the subscriber device (108);
receiving a copy of the media content by a decoder (124) and extracting one or more frames from the received copy of the media content;
identifying one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames;
enhancing the regions of interest and extracting the subscriber-specific imprints from the enhanced regions of interest in the frames and determining the plurality of subscriber-specific codes from the extracted subscriber-specific imprints by the decoder (124); and
identifying one or more of the subscriber device (108) and the subscriber associated based on the determined plurality of subscriber-specific codes.
2. The method as claim 1, wherein the media content comprises one of a pirated media content, a fake media content, and an altered media content.
3. The method as claimed in claim 1, wherein converting the plurality of subscriber-specific codes to the subscriber-specific imprints comprises generating one or more of subscriber-specific fiducial markers, subscriber-specific circular imprints (300), and subscriber-specific rectangular imprints (400), wherein the plurality of subscriber-specific codes comprise one of an identifier associated with the subscriber device (108), a media access control (MAC) address of the subscriber device (108), a serial number of the subscriber device (108), an account number of the subscriber, contact information of the subscriber, an identifier associated with the subscriber, and an address of the subscriber.
4. The method as claim 3, wherein generating the subscriber-specific fiducial markers comprises:
generating the plurality of subscriber-specific codes comprising a designated number of numerical digits from the serial number of the subscriber device (108);
dividing the subscriber-specific codes into a plurality of sub-codes by the subscriber-specific imprint generator (110); and
converting the plurality of sub-codes into the corresponding subscriber-specific fiducial markers by the subscriber-specific imprint generator (110) using one or more of a computer vision library and a numerical python library, wherein the subscriber-specific fiducial markers correspond to black and white binary images.
5. The method as claimed in claim 3, wherein generating the subscriber-specific circular imprints (300) comprises:
generating the plurality of subscriber-specific codes from the media access control (MAC) address of the subscriber device (108), wherein the generated subscriber-specific codes is a hexadecimal number;
dividing the hexadecimal number into a first hexadecimal code and a second hexadecimal code by the subscriber-specific imprint generator (110);
adding a first sequence number at the beginning of the first hexadecimal code and a second sequence number at the beginning of the second hexadecimal code;
adding a first end character at an end of the first hexadecimal code and a second end character at an end of the second hexadecimal code to modify the first hexadecimal code to a first modified hexadecimal code and to modify the second hexadecimal code to a second modified hexadecimal code;
converting each of a first set of characters in the first modified hexadecimal code into a first binary number and each of a second set of characters in the second modified hexadecimal code into a second binary number;
generating a first set of concentric circles (306) and a second set of concentric circles (312) by the subscriber-specific imprint generator (110);
dividing each concentric circle in the first set of concentric circles (306) and in the second set of concentric circles (312) into a plurality of sectors (308A-H), wherein the plurality of sectors (308A-H) in the first set of concentric circles (306) represents the first set of characters in the first modified hexadecimal code, wherein the plurality of sectors (308A-H) in the second set of concentric circles (312) represents the second set of characters in the second modified hexadecimal code;
generating a first circular imprint (302) based on the first set of concentric circles (306) and the first binary number; and
generating a second circular imprint (304) based on the second set of concentric circles (312) and the second binary number e, wherein the subscriber-specific circular imprints (300) comprise the generated first circular imprint (302) and the generated second circular imprint (304).
6. The method as claimed in claim 3, wherein generating the subscriber-specific rectangular imprints (400) comprises:
generating the plurality of subscriber-specific codes from the media access control (MAC) address of the subscriber device (108), wherein the generated subscriber-specific codes is a hexadecimal number;
dividing the hexadecimal number into a first hexadecimal code, a second hexadecimal code, and a third hexadecimal code by the subscriber-specific imprint generator (110);
adding a first sequence number at the beginning of the first hexadecimal code to modify the first hexadecimal code into a first modified hexadecimal code, a second sequence number at the beginning of the second hexadecimal code to modify the second hexadecimal code into a second modified hexadecimal code, and a third sequence number at the beginning of the third hexadecimal code to modify the third hexadecimal code into a third modified hexadecimal code;
converting a first set of characters in the first modified hexadecimal code into a first binary number, a second set of characters in the second modified hexadecimal code into a second binary number, and a third set of characters in the third modified hexadecimal code into a third binary number;
generating a first rectangular matrix (408), a second rectangular matrix (414), and a third rectangular matrix (416), wherein each of the first rectangular matrix (408), the second rectangular matrix (414), and the third rectangular matrix (416) comprises a plurality of rows (410A-E);
generating a first rectangular imprint (402) based on the first rectangular matrix (408) and the first binary number;
generating a second rectangular imprint (404) based on the second rectangular matrix (414) and the second binary number; and
generating a third rectangular imprint (406) based on the third rectangular matrix (416) and the third binary number, wherein the subscriber-specific rectangular imprints (400) comprise the generated first rectangular imprint (402), the generated second rectangular imprint (404), and the generated third rectangular imprint (406).
7. The method as claimed in claim 3, wherein converting the plurality of subscriber-specific codes to the subscriber-specific imprints comprises embedding the subscriber-specific imprints at fixed locations in the transparent overlay and are displayed over the media content such that each frame in a set of frames of the media content comprises at least one of the subscriber-specific imprints embedded at the fixed locations.
8. The method as claimed in claim 7, wherein embedding the subscriber-specific imprints comprises embedding the subscriber-specific imprints at the fixed locations in an asymmetrical manner such that each of the subscriber-specific imprints is located at a different pixel distance from reference X-Y axes.
9. The method as claimed in claim 3, wherein embedding the subscriber-specific imprints comprises embedding the subscriber-specific imprints in a rotational manner into the transparent overlay and for display over the media content such that a first set of frames of the media content comprises the subscriber-specific imprints arranged across the first set of frames in a designated sequence and a second set of frames comprises the same subscriber-specific imprints arranged across the second set of frames in the same designated sequence.
10. The method as claimed in claim 3, wherein receiving the copy of the media content by the decoder (124) comprises:
determining if the copy of the media content comprises a channel logo information or a visual watermark that uniquely identifies a broadcaster or a content owner by a digital imprint detector (122) operatively coupled to the decoder (124); and
transmitting the copy of the media content to the decoder (124) when the copy of the media content is determined to comprise one or more of the channel logo information and the visual watermark that uniquely identifies one or more of the broadcaster and the content owner.
11. The method as claimed in claim 10, wherein identifying one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames comprises:
identifying regions of interest corresponding to locations of the subscriber-specific fiducial markers in the frames corresponding to the copy of the media content;
cropping the frames at the identified regions of interest to enhance the region of interests comprising the subscriber-specific fiducial markers;
up-sampling the cropped frames and applying edge enhancement techniques on the up-sampled frames by an image processing system (126) operatively coupled to the decoder (124) to generate edge enhanced frames;
convolving the edge enhanced frames with a Gaussian Blur filter and a Media Blur filter to remove noisy pixels from the edge enhanced frames and generate noise-removed frames;
applying dilation techniques on the noise-removed frames by the image processing system (126) to generate dilated frames;
converting the dilated frames in a red-green-blue format to a lightness, red-green, yellow-blue format for enhancing areas of black pixels in the dilated frames;
applying a contrast limited adaptive histogram equalization technique and enhancing the converted frames in the lightness, red-green, yellow-blue format to generate enhanced frames in the lightness, red-green, yellow-blue format;
converting the enhanced frames in the lightness, red-green, yellow-blue format back to the red-green-blue format and extracting the subscriber-specific fiducial markers from the enhanced frames in the red-green-blue format; and
determining the plurality of subscriber-specific codes from the extracted subscriber-specific fiducial markers by the decoder (124) using one or more of the computer vision library and the numerical python library.
12. The method as claimed in claim 5, wherein identifying one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames comprises:
identifying locations of the first circular imprint (302) and the second circular imprint (304) in the frames corresponding to the copy of the media content using a convolutional neural network model;
determining a first pixel intensity threshold for the first circular imprint (302) based on an average pixel intensity of one of a first sub-sector (310C) and a second sub-sector (310D) in a first sector (308A) of the first circular imprint (302);
determining a second pixel intensity threshold for the second circular imprint (304) based on the average pixel intensity of one of the first sub-sector (310C) and the second sub-sector (310D) in the first sector (308A) of the second circular imprint (304);
converting each of the plurality of sectors (308A-H) in the first circular imprint (302) into a first four-digit binary number based on the first pixel intensity threshold;
converting each of the plurality of sectors (308A-H) in the second circular imprint (304) into a second four-digit binary number based on the second pixel intensity threshold;
converting the first four-digit binary number to a corresponding hexadecimal number to regenerate the first modified hexadecimal code and the second four-digit binary number to a corresponding hexadecimal number to regenerate the second modified hexadecimal code;
extracting the first hexadecimal code from the first modified hexadecimal code and the second hexadecimal code from the second modified hexadecimal code; and
concatenating the first hexadecimal code and the second hexadecimal code based on the first sequence number in the first modified hexadecimal code and the second sequence number in the second modified hexadecimal code to regenerate the plurality of subscriber-specific codes.
13. The method as claimed in claim 6, wherein identifying one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames comprises:
identifying locations of the first rectangular imprint (402), the second rectangular imprint (404), and the third rectangular imprint (406) in the frames corresponding to the copy of the media content using a convolutional neural network model;
determining a first pixel intensity threshold for the first rectangular imprint (402) based on an average pixel intensity of one of a first box (2104C) and a second box (2104D) in a first row (410A) of the first rectangular imprint (402);
determining a second pixel intensity threshold for the second rectangular imprint (404) based on the average pixel intensity of one of the first box (2104C) and the second box (2104D) in the first row (410A) of the second rectangular imprint (404);
determining a third pixel intensity threshold for the third rectangular imprint (406) based on the average pixel intensity of one of the first box (2104C) and the second box (2104D) in the first row (410A) of the third rectangular imprint (406);
converting each of the rows (410A-E) in the first rectangular imprint (402) into a corresponding first four-digit binary number based on the first pixel intensity threshold, each of the rows (410A-E) in the second rectangular imprint (404) into a corresponding second four-digit binary number based on the second pixel intensity threshold, and each of the rows (410A-E) in the third rectangular imprint (406) into a corresponding third four-digit binary number based on the third pixel intensity threshold;
converting each of the first four-digit binary number, the second four-digit binary number, and the third four-digit binary number to a corresponding hexadecimal number to regenerate the first modified hexadecimal code, the second modified hexadecimal code, and the third modified hexadecimal code, respectively;
extracting the first hexadecimal code from the first modified hexadecimal code, the second hexadecimal code from the second modified hexadecimal code, and the third hexadecimal code from the third modified hexadecimal code; and
concatenating the first hexadecimal code, the second hexadecimal code, and the third hexadecimal code based on the first sequence number in the first modified hexadecimal code, the second sequence number in the second modified hexadecimal code, and the third sequence number in the third modified hexadecimal code to regenerate the plurality of subscriber-specific codes.
14. The method a claimed in claim 3, wherein identifying one or more of the subscriber device (108) and the subscriber comprises:
transmitting the plurality of subscriber-specific codes determined from the subscriber-specific imprints to a subscriber management system (130);
comparing the plurality of subscriber-specific codes with subscriber information associated with a plurality of subscribers stored in the subscriber management system (130) to identify the subscriber device (108) and the subscriber associated with the plurality of subscriber-specific codes; and
identifying the subscriber device (108) as the origin of the copy of the media content.
15. The method as claimed in claim 14, wherein the method comprises performing an automated action upon determining that the subscriber device (108) is the origin of the copy of the media content, wherein the copy corresponds to a pirated copy of the media content, wherein the automated action comprises one of:
terminating services provided to the subscriber by a content management system (106);
transmitting an alert to notify one or more platforms comprising social media platforms, over-the-top platforms, streaming platforms, and different content sharing platforms on which the copy of the media content is available; and
transmitting an alert to notify one or more of the content owner, the broadcaster, or the channel provider of the media content of the subscriber who is identified as the origin of the pirated copy of the media content.
16. A subscriber-end media imprinting system (100) for identifying origin of media content, comprising:
a subscriber-specific imprint generator (110) residing in a subscriber device (108) that is configured to receive the media content from a content management system (106), wherein the subscriber subscriber-specific imprint generator (110):
generates a plurality of subscriber-specific codes from information associated with one or more of the subscriber device (108) and a corresponding subscriber;
converts the plurality of subscriber-specific codes to one or more imperceptible subscriber-specific imprints and embeds the subscriber-specific imprints into a transparent overlay generated by the subscriber device (108);
displays the transparent overlay with the subscriber-specific imprints over the media content playing on a display device (116) associated with the subscriber device (108); and
a decoder (124) that:
receives a copy of the media content and extracts frames from the received copy of the media content;
identifies one or more regions of interest corresponding to locations of the subscriber-specific imprints in the frames; and
enhances the regions of interest and extracts the subscriber-specific imprints from the frames of the received copy and determines the plurality of subscriber-specific codes from the extracted subscriber-specific imprints, wherein the decoder (124) transmits the plurality of subscriber-specific codes extracted from the subscriber-specific imprints to the content management system (106) to identify one or more of the subscriber device (108) and the subscriber associated with the plurality of subscriber-specific codes.
17. The subscriber-end media imprinting system (100) as claimed in claim 16, wherein the decoder (124) is operatively coupled to one or more platforms comprising social media platforms, over-the-top platforms, streaming platforms, and different content sharing platforms.
| # | Name | Date |
|---|---|---|
| 1 | 202141032706-PROVISIONAL SPECIFICATION [20-07-2021(online)].pdf | 2021-07-20 |
| 2 | 202141032706-POWER OF AUTHORITY [20-07-2021(online)].pdf | 2021-07-20 |
| 3 | 202141032706-FORM 1 [20-07-2021(online)].pdf | 2021-07-20 |
| 4 | 202141032706-FIGURE OF ABSTRACT [20-07-2021(online)].jpg | 2021-07-20 |
| 5 | 202141032706-DRAWINGS [20-07-2021(online)].pdf | 2021-07-20 |
| 6 | 202141032706-FORM-26 [02-08-2021(online)].pdf | 2021-08-02 |
| 7 | 202141032706-FORM 3 [20-07-2022(online)].pdf | 2022-07-20 |
| 8 | 202141032706-FORM 18 [20-07-2022(online)].pdf | 2022-07-20 |
| 9 | 202141032706-DRAWING [20-07-2022(online)].pdf | 2022-07-20 |
| 10 | 202141032706-CORRESPONDENCE-OTHERS [20-07-2022(online)].pdf | 2022-07-20 |
| 11 | 202141032706-COMPLETE SPECIFICATION [20-07-2022(online)].pdf | 2022-07-20 |
| 12 | 202141032706-FER.pdf | 2024-02-01 |
| 13 | 202141032706-FORM 3 [19-07-2024(online)].pdf | 2024-07-19 |
| 14 | 202141032706-FER_SER_REPLY [19-07-2024(online)].pdf | 2024-07-19 |
| 15 | 202141032706-CLAIMS [19-07-2024(online)].pdf | 2024-07-19 |
| 1 | SearchStrategyFERE_29-01-2024.pdf |