An advertisement segment controlled playing method, device and equipment and storage medium
Patent Information
- Application Number
- CN202611030857.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-13
- Publication Date
- 2026-10-27
AI Technical Summary
[0005]本公开提供了一种广告段受控播放方法、装置、设备以及存储介质,解决了现有流媒体广告管控方案高度依赖服务端人工广告点位打点,部署运维成本高、系统耦合性强;容易产生误识别、漏识别,无法区分真实有效曝光,不能核验广告观看有效性,缺少基于单次播放会话进度的联动闭环,损害用户播放体验,改造成本高的技术问题
[0016]在本公开中,获取媒体内容数据及其相关联的描述数据中预先封存的非标识参考特征包;非标识参考特征包中包括多个锚点特征信息及各锚点之间的相对偏移关系;基于当前播放内容提取当前媒体帧特征;将当前媒体帧特征与各锚点特征信息进行匹配,并根据相对偏移关系对匹配结果进行一致性校验,来判断当前播放内容中是否包含目标广告段;若当前播放内容中包含目标广告段,则建立目标广告段的有效曝光进度对象;有效曝光进度对象包括有效曝光累计量、有效曝光目标量;判断有效曝光累计量是否小于有效曝光目标量;若有效曝光累计量小于有效曝光目标量,则有效曝光进度对象指示目标广告段未完成有效曝光,对用户触发的前向跳播操作进行动态约束;若有效曝光累计量大于等于有效曝光目标量,则有效曝光进度对象指示目标广告段已完成有效曝光,且基于媒体内容匹配和/或进度完成判断确认离开目标广告段,解除对前向跳播操作的约束,以此方式,削减视频上线前人工打点、时间校准流程,缩短内容上线周期,简化服务端架构,减少第三方接口调用与存储开销,降低改造成本,提升广告段识别准确率,避免画面小幅波动造成状态频繁切换,降低误判、漏判,实现精细化、可审计的广告跳播管控。
Smart Images

Figure CN122994550A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of interactive playback control, and more particularly to a method, apparatus, device, and storage medium for controlled playback of advertising segments. Background Technology
[0002] In current streaming media scenarios, several mainstream solutions have been developed for the identification and playback control of advertising segments. The industry's mainstream advertising playback control methods can be categorized into four main types: First, the server or media list file pre-writes location information such as ad start and end markers, cue points, SCTE markers, and time tags, allowing the player to control ad playback based on fixed time boundaries. Second, advertising placement systems, ad replacement systems, or ACR content recognition services are used to locate ad positions, enabling ad insertion, material replacement, and playback data statistics. Third, during ad playback, various playback interaction operations such as fast forward, screen dragging, content skipping, and speed adjustment are directly disabled, forcing users to watch the entire ad. Fourth, a reference fingerprint is retrieved from a pre-set ad fingerprint database or unique ad identifier, and then the client or server performs video fingerprint comparison to identify the advertising segment.
[0003] The aforementioned traditional solutions have revealed numerous technical shortcomings and business pain points in long-term application: Control models based on start / end markers and time tags heavily rely on manual operation and configuration. Before video content goes live, additional work is required to mark ad placements, resulting in cumbersome deployment processes, high labor costs, and poor flexibility, making them unsuitable for dynamically changing media content. Relying on ad IDs, watermarks, external ad fingerprint databases, and ACR services creates a strong binding between the ad material library, third-party identification services, and ad delivery platforms, leading to high system coupling. Anomalies in external services directly impact ad recognition effectiveness, and related identification information is also at risk of material information leakage. Simply disabling fast-forwarding, dragging, and other interactive operations only restricts playback rules and cannot accurately determine whether terminal devices have truly achieved effective ad exposure, compromising the authenticity of ad exposure data. Existing ad recognition methods often use single-frame, first-frame, or single-fingerprint matching, making the recognition results susceptible to interference from factors such as video blackouts, format transcoding, image cropping, bitrate fluctuations, and source reuse, resulting in frequent misidentification and missed identification, and insufficient recognition stability. The results of ad segment recognition and the end-user playback interaction control are independent of each other. There is no linkage mechanism between the two based on the progress of a single playback, resulting in a lack of a complete and traceable business loop. The entire process, including exposure behavior, interactive operations, and abnormal events, is difficult to audit and trace.
[0004] In summary, existing streaming media advertising recognition and playback control technologies suffer from problems such as high deployment costs, strong external dependence, low recognition accuracy, inability to verify exposure effectiveness, and lack of full-process auditability, which urgently require a new technical solution to address these issues. Summary of the Invention
[0005] This disclosure provides a method, apparatus, device, and storage medium for controlled playback of advertising segments, which solves the technical problems of existing streaming media advertising control solutions that rely heavily on manual tracking of advertising points on the server side, resulting in high deployment and maintenance costs, strong system coupling, easy misidentification and missed identification, inability to distinguish between real and effective exposure, inability to verify the effectiveness of advertising viewing, lack of linkage closed loop based on the progress of a single playback session, damage to user playback experience, and high transformation costs.
[0006] According to a first aspect of this disclosure, a method for controlled playback of advertising segments is provided, applied to a client. The method includes: acquiring a pre-encapsulated non-identified reference feature package from media content data and its associated description data; the non-identified reference feature package includes multiple anchor point feature information and the relative offset relationship between each anchor point; Extract the features of the current media frame based on the currently playing content; The current media frame features are matched with the anchor point feature information, and the matching results are checked for consistency based on the relative offset relationship to determine whether the current playback content contains the target advertisement segment. If the currently playing content contains a target ad segment, then an effective exposure progress object for the target ad segment is established; the effective exposure progress object includes the cumulative effective exposure and the target effective exposure; it is then determined whether the cumulative effective exposure is less than the target effective exposure. If the cumulative effective exposure is less than the target effective exposure, the effective exposure progress object indicates that the target ad segment has not completed effective exposure, and dynamic constraints are applied to the forward skipping operation triggered by the user. If the cumulative effective exposure is greater than or equal to the target effective exposure, the effective exposure progress object indicates that the target ad segment has completed effective exposure, and based on media content matching and / or progress completion judgment, it confirms leaving the target ad segment and releases the constraint on the forward skipping operation.
[0007] As described above and in any possible implementation, a further implementation is provided, wherein the extraction of current media frame features based on the currently playing content includes: Based on a preset sampling interval, current media samples are obtained from the currently playing content, and feature calculations are performed on the current media samples to obtain the current media frame features.
[0008] In addition to the aspects and any possible implementations described above, a further implementation is provided, wherein matching the current media frame features with the feature information of each anchor point and performing a consistency check on the matching results based on the relative offset relationship to determine whether the currently playing content contains a target advertisement segment includes: Calculate the similarity between the current media frame features and the feature information of each anchor point, and determine the anchor points whose similarity reaches a preset matching threshold as matching anchor points; Determine whether the number of matching anchor points has reached a preset number threshold; determine whether the drift between the actual time interval between each matching anchor point and the relative offset relationship is less than or equal to a preset drift upper limit; determine whether the comprehensive matching score of each matching anchor point has reached a preset entry score threshold. If the number of matching anchors reaches a preset number threshold, the drift amount is less than or equal to a preset drift limit, and the overall matching score of each matching anchor reaches a preset entry score threshold, then it is determined that the currently playing content contains the target advertisement segment.
[0009] In addition to the aspects and any possible implementations described above, a further implementation is provided in which, after determining whether the currently playing content contains the target advertisement segment, the method further includes: When the currently playing content contains the target ad segment, the playback state will be switched from normal playback state to candidate ad state; In the candidate ad state, the subsequent media frame features are extracted for the subsequent playback content, the subsequent media frame features are matched with the feature information of each anchor point, and the consistency of the matching results is checked according to the relative offset relationship to determine whether the subsequent playback content contains the target ad segment. When the number of times the playback content contains the target advertisement segment is less than a preset threshold, the playback state is switched from the candidate advertisement state to the effective exposure constraint state.
[0010] In addition to the aspects and any possible implementations described above, a further implementation is provided in which the dynamic constraint on the user-triggered forward skipping operation includes: Receive a user-triggered forward skipping instruction, wherein the forward skipping instruction indicates the target playback position; Determine whether the target playback position is located within the section of the target advertisement segment that has not been effectively exposed; If so, the target playback position is mapped to the starting position of the incomplete effective exposure interval and / or the earliest unexposed position indicated by the effective exposure progress object, so that playback continues from the mapped position; If not, then the forward jump operation is allowed.
[0011] In addition to the aspects and any possible implementations described above, a further implementation is provided, wherein determining whether the comprehensive matching score of each matching anchor point reaches a preset entry score threshold includes: Configure corresponding weight coefficients for each matching anchor point; Calculate the weighted sum of the similarity of each matching anchor point and its corresponding weight coefficient to obtain the weighted similarity sum; Calculate the penalty term based on the drift between the actual time interval between each matched anchor point and the relative offset relationship; The comprehensive matching score is calculated based on the weighted similarity sum and the penalty term; Determine whether the overall matching score is greater than or equal to a preset entry score threshold.
[0012] In addition to the aspects and any possible implementations described above, a further implementation is provided in which the comprehensive matching score, calculated based on the weighted similarity sum and the penalty term, is obtained by the following formula: Score=Σ(wi*sim(cur_feature(t+offset_i),anchor_feature_i))-penalty(time_drift); where, Score is the overall matching score, wi is the weight coefficient of the i-th matching anchor point, sim(cur_feature(t+offset_i),anchor_feature_i) is the feature similarity corresponding to the i-th matching anchor point, cur_feature(t+offset_i) is the feature vector of the current media stream, anchor_feature_i is the feature of the i-th matching anchor point pre-stored in the non-identified reference feature package, penalty(time_drift) is the time drift penalty term, and time_drift is the time drift amount.
[0013] According to a second aspect of this disclosure, a controlled playback device for advertising segments is provided. The device includes: a parsing module for acquiring a pre-encapsulated non-identified reference feature package from media content data and its associated description data; the non-identified reference feature package includes multiple anchor point feature information and the relative offset relationship between each anchor point; The extraction module is used to extract features of the current media frame based on the currently playing content; The matching module is used to match the current media frame features with the feature information of each anchor point, and to perform consistency verification on the matching results according to the relative offset relationship, so as to determine whether the current playback content contains the target advertisement segment. The exposure module is used to establish an effective exposure progress object for the target ad segment if the currently playing content contains the target ad segment; the effective exposure progress object includes the cumulative effective exposure amount and the target effective exposure amount; and to determine whether the cumulative effective exposure amount is less than the target effective exposure amount. The constraint module is used to dynamically constrain the user-triggered forward skipping operation if the cumulative effective exposure amount is less than the effective exposure target amount, and the effective exposure progress object indicates that the target ad segment has not completed effective exposure. The release module is used to release the constraint on the forward skipping operation if the cumulative effective exposure is greater than or equal to the target effective exposure. The effective exposure progress object indicates that the target ad segment has completed effective exposure, and the module confirms leaving the target ad segment based on media content matching and / or progress completion judgment.
[0014] According to a third aspect of this disclosure, an electronic device is provided. The electronic device includes a memory and a processor, wherein the memory stores a computer program, and the processor executes the program to implement the method described above.
[0015] According to a fourth aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the methods as described in the first and / or second aspects of this disclosure.
[0016] In this disclosure, a pre-sealed non-identified reference feature package is obtained from media content data and its associated descriptive data; the non-identified reference feature package includes multiple anchor point feature information and the relative offset relationship between each anchor point; the current media frame feature is extracted based on the currently playing content; the current media frame feature is matched with the anchor point feature information, and the consistency of the matching result is checked according to the relative offset relationship to determine whether the currently playing content contains a target advertising segment; if the currently playing content contains a target advertising segment, an effective exposure progress object for the target advertising segment is established; the effective exposure progress object includes the cumulative effective exposure and the target effective exposure; it is determined whether the cumulative effective exposure is less than the target effective exposure; if the cumulative effective exposure is less than the target effective exposure... If the target exposure is not met, the effective exposure progress object indicates that the target ad segment has not yet achieved effective exposure, thus dynamically constraining the forward skipping operation triggered by the user. If the cumulative effective exposure is greater than or equal to the effective exposure target, the effective exposure progress object indicates that the target ad segment has achieved effective exposure, and based on media content matching and / or progress completion judgment, it confirms leaving the target ad segment, releasing the constraint on the forward skipping operation. In this way, the manual tracking and time calibration process before video launch is reduced, the content launch cycle is shortened, the server architecture is simplified, the overhead of third-party interface calls and storage is reduced, the transformation cost is reduced, the accuracy of ad segment recognition is improved, the frequent state switching caused by small fluctuations in the picture is avoided, the misjudgment and missed judgment are reduced, and refined and auditable ad skipping control is achieved.
[0017] It should be understood that the description in the Summary of the Invention is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0018] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. The drawings are provided for a better understanding of the invention and are not intended to limit the scope of this disclosure. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein: Figure 1 A flowchart illustrating a method for controlled playback of advertising segments according to an embodiment of the present disclosure is shown; Figure 2 A block diagram of an ad segment controlled playback device according to an embodiment of the present disclosure is shown; Figure 3 A block diagram of an exemplary electronic device capable of implementing embodiments of the present disclosure is shown. Detailed Implementation
[0019] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0020] Furthermore, the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.
[0021] In this disclosure, a pre-sealed non-identified reference feature package is obtained from media content data and its associated descriptive data. The non-identified reference feature package includes multiple anchor point feature information and the relative offset relationship between each anchor point. Based on the currently playing content, the current media frame features are extracted and matched with the anchor point feature information. The matching results are then checked for consistency based on the relative offset relationship to determine whether the currently playing content contains a target advertising segment. If the currently playing content contains a target advertising segment, an effective exposure progress object for the target advertising segment is established. The effective exposure progress object includes the cumulative effective exposure and the target effective exposure. It is then determined whether the cumulative effective exposure is less than the target effective exposure. If the cumulative effective exposure is less than the target effective exposure... If the effective exposure progress object indicates that the target ad segment has not completed effective exposure, dynamic constraints are imposed on the forward skipping operation triggered by the user. If the cumulative effective exposure is greater than or equal to the effective exposure target, the effective exposure progress object indicates that the target ad segment has completed effective exposure, and the user is confirmed to leave the target ad segment based on media content matching and / or progress completion judgment, thus releasing the constraints on the forward skipping operation. In this way, the manual tracking and time calibration process before video launch is reduced, the content launch cycle is shortened, the server architecture is simplified, the overhead of third-party interface calls and storage is reduced, the transformation cost is low, the ad segment recognition accuracy is improved, the frequent state switching caused by small fluctuations in the picture is avoided, the misjudgment and missed judgment are reduced, and refined and auditable ad skipping control is achieved.
[0022] Figure 1 A flowchart 100 illustrating a controlled playback method for advertising segments according to an embodiment of the present disclosure is shown. Figure 1 As shown, method 100 includes: S101, Obtain the pre-sealed non-identified reference feature package from the media content data and its associated description data; the non-identified reference feature package includes multiple anchor point feature information and the relative offset relationship between each anchor point; In one possible implementation, the streaming media server / content transcoding module generates a unique non-identifier reference feature package for each ad segment. Throughout the process, it does not bind business identification fields such as unique ad ID, delivery channel identifier, material access URL, ad billing metadata, or user profile, but only retains pure media feature parameters used for frame matching and timing verification.
[0023] For example, at least three key sampling frames within an ad segment are selected as anchor points (near the start of the ad, in the middle of the ad, and at the end of the ad). Image perceptual hashes, local feature points, audio fingerprints, or multimodal fusion features are extracted to form anchor point feature information. Using the ad segment start reference time / reference frame number as the origin, the time difference, frame interval, and GOP segment offset between every two anchor points are calculated and uniformly stored as a set of anchor point relative offset relationships. The offset value is only a relative difference and does not carry the absolute start and end timestamps of the ad.
[0024] For example, the non-identifier reference feature package also includes: feature algorithm version number, total number of anchors, ad duration prompt range, matching admission / exit threshold strategy, feature package integrity verification summary, and audit log output specifications; all fields can be compressed and signed and encrypted.
[0025] For example, the complete non-identifier reference feature package is encapsulated in three types of associated description data bound to the media content, and one or a combination of them can be stored: HLS / DASH segment private extended fields, m3u8 / mpd segment manifest file private extended tags; media segment header private custom information segment; and independent auxiliary description files corresponding to each segment, which are synchronously sent to the client along with the media segments.
[0026] For example, the client player initiates a streaming media request, pulls media segment binary data (i.e., media content data) from the server, and simultaneously pulls the accompanying segment list, segment header private extended fields, and auxiliary description files (i.e., description data associated with the media content). The player parses the media segments, segment list, and auxiliary description files, retrieves and extracts the pre-encapsulated complete data packets, verifies that the data packets have not been tampered with or lost through integrity check digests, and confirms that the data packets are non-identified reference feature packets. The non-identified reference feature packets that pass the verification are decompressed and decrypted, and two types of core basic data are read separately: multiple anchor point feature information stored in an array, with each set of anchor points independently storing media feature vectors; and an array of relative offset relationships corresponding to each anchor point, recording the time / frame offset difference between each anchor point and the reference anchor point. The parsed anchor point features and relative offset relationships are temporarily stored in the player's memory, only used for frame matching verification in this playback session, and automatically destroyed when the session ends. The original feature packet data is not persistently stored.
[0027] S102, Extract the features of the current media frame based on the currently playing content; In one possible implementation, based on a preset sampling interval, current media samples are obtained from the currently playing content, and feature calculations are performed on the current media samples to obtain the current media frame features.
[0028] For example, the client is pre-configured with multiple dynamic sampling intervals, and the sampling density is dynamically switched according to the playback recognition status. When no suspected advertising segment is identified, a low-frequency sampling interval is used, such as sampling one frame of media sample every 1 to 3 seconds, to reduce the terminal's computing power consumption. After the initial matching of any anchor point and entering the candidate advertising state, the high-frequency sampling interval is automatically switched, such as sampling one frame of media sample every 0.2 to 0.5 seconds, to improve the matching verification accuracy and avoid missing advertising intervals.
[0029] For example, the sampling interval can be configured differently according to the terminal type. Mobile phones and web browsers use a medium sampling interval; TVs, set-top boxes and other large-screen devices with sufficient computing power can shorten the sampling interval; low-end embedded devices can automatically increase the sampling interval for downgrade adaptation.
[0030] For example, the player's decoding thread continuously decodes the media stream, extracting original media samples from the decoding buffer before rendering output. It does not extract images that have been scaled, filtered, or watermarked after rendering, reducing the interference of secondary distortion on features. Samples can be extracted individually from video frames or audio segments, or audio and video can be extracted simultaneously to form multimodal joint samples. After extracting the original media samples, lightweight preprocessing is performed to unify specifications and reduce matching deviations: uniform cropping to a fixed size, grayscale conversion, and noise reduction to eliminate differences caused by image brightness, contrast, and transcoding cropping; uniform resampling to a fixed sampling rate, extracting fixed-duration audio segments, and performing frame-by-frame spectrum conversion; each sampling only extracts real-time samples from the decoding buffer corresponding to the current playback time point, without caching historical samples for reuse, ensuring that the samples correspond one-to-one with the real-time playback progress.
[0031] For example, standardized feature extraction calculations are performed on preprocessed media samples. Any one of the following algorithms or a combination of multiple algorithms can be selected to generate feature vectors, i.e., the features of the current media frame: perceptual hashing, SIFT / ORB local keypoints, CNN deep embedding feature vectors; audio fingerprints, Mel-spectral features, MFCC feature sequences; video image features and audio features are concatenated and weighted to obtain a unified dimension feature vector; after calculation, a fixed-dimensional, quantifiable floating-point feature vector is output, retaining only the numerical data used for similarity calculation, without storing the original image and audio pixel / waveform data, reducing memory usage and avoiding the risk of leakage of original media data.
[0032] For example, when playback is paused, suspended in the background, the screen is invisible, or the screen is muted, sampling is paused, feature calculation is stopped, and the current media frame feature is no longer generated. The effective exposure progress accumulation is also stopped. When playing at double speed, sampling is still maintained even if the speed is higher than a preset threshold, but the subsequent exposure progress is reduced. When the media stream is choppy or decoding fails, sample extraction is interrupted, an abnormal branch is entered, and invalid frame features are not output.
[0033] S103, match the current media frame features with the feature information of each anchor point, and perform consistency verification on the matching results based on the relative offset relationship to determine whether the current playback content contains the target advertisement segment; In one possible implementation, the similarity between the current media frame features and the feature information of each anchor point is calculated, and the anchor points whose similarity reaches a preset matching threshold are determined as matching anchor points; it is determined whether the number of matching anchor points reaches a preset number threshold; it is determined whether the drift between the actual time interval and the relative offset relationship between each matching anchor point is less than or equal to a preset drift upper limit; it is determined whether the comprehensive matching score of each matching anchor point reaches a preset entry score threshold; if the number of matching anchor points reaches the preset number threshold, the drift is less than or equal to the preset drift upper limit, and the comprehensive matching score of each matching anchor point reaches the preset entry score threshold, then it is determined that the currently played content contains the target advertisement segment.
[0034] In one possible implementation, a corresponding weight coefficient is configured for each matching anchor point; the weighted sum of the similarity of each matching anchor point and its corresponding weight coefficient is calculated to obtain a weighted similarity sum; a penalty term is calculated based on the drift between the actual time interval and the relative offset relationship between each matching anchor point; a comprehensive matching score is calculated based on the weighted similarity sum and the penalty term; and it is determined whether the comprehensive matching score is greater than or equal to a preset entry score threshold.
[0035] In one possible implementation, the formula for calculating the comprehensive matching score is as follows: Score=Σ(wi*sim(cur_feature(t+offset_i),anchor_feature_i))-penalty(time_drift); where, Score is the overall matching score, wi is the weight coefficient of the i-th matching anchor point, sim(cur_feature(t+offset_i),anchor_feature_i) is the feature similarity corresponding to the i-th matching anchor point, cur_feature(t+offset_i) is the feature vector of the current media stream, anchor_feature_i is the feature of the i-th matching anchor point pre-stored in the non-identified reference feature package, penalty(time_drift) is the time drift penalty term, and time_drift is the time drift amount.
[0036] For example, the client sequentially traverses all anchor feature information in the non-identified reference feature package, and performs similarity calculations between the current media frame feature vector extracted in real time and each pre-stored anchor feature vector. The similarity calculation uses quantization comparison algorithms such as cosine distance, Euclidean distance, and Hamming distance to output a similarity value sim in the range of 0 to 1. A basic matching threshold T_sim for a single anchor is set. If the similarity sim of an anchor is greater than or equal to T_sim, the anchor is marked as a temporary matching anchor and stored in the matching anchor list. Anchors with similarity lower than T_sim are directly removed and do not participate in subsequent time-series verification to reduce computational power consumption. If at least one temporary matching anchor is successfully selected, it is denoted as the first matching anchor A0, corresponding to the playback time t0. A fixed-duration candidate time window Window is opened based on t0. The upper and lower limits of the window are determined by the sum of duration_hint_range in the feature package and the maximum relative offset of the anchor. Only the other anchors are searched within this window, and frames outside the window are no longer included in the current anchor group matching.
[0037] For example, the pre-set relative offset array `anchor_offsets` for all anchor points is read from the non-identified reference feature packet, and the array stores the offsets for each anchor point A. i Standard time offset d relative to the first anchor point A0 i , representing theoretically A i It should appear in t0+d i Timing; for each temporary matching anchor A in the list. i Record its actual matching time t i Calculate the actual offset: Δ i =t i -t0; Compare to standard offset d i This yields the time drift at a single anchor point. i =|Δ i -d i |; The maximum drift value of all matched anchor points is used as the total drift amount for this match, time_drift; The global drift limit is preset to Dmax; If time_drift > Dmax, it means that the timing of the matched anchor points is disordered, which is judged as a mismatch caused by black screen, transcoding distortion, or material reuse. The list of matched anchor points is cleared directly, and it is determined that there is no target ad segment; Only when time_drift ≤ Dmax will the comprehensive score calculation stage be entered.
[0038] For example, different weights wi are configured for anchor points at different locations: the starting and ending anchor points of the advertisement have higher weights, while the middle anchor points have moderate weights, which enhances the dominant role of the beginning and end anchor points in the judgment and avoids misjudgment caused by only the similarity of the middle section; all legal matching anchor points are traversed and weighted summation is performed: Sum=Σ(wi×simi), where simi is the similarity of the i-th matching anchor point; the penalty term penalty(time_drift) is positively correlated with the total drift, and the greater the drift, the more points are deducted; the comprehensive matching score Score is obtained by substituting it into the standard formula; the preset entry score threshold S_enter in the feature package is read; the matching score is qualified only when Score≥S_enter, otherwise the matching is deemed invalid.
[0039] For example, the current playback content is determined to contain the target advertisement segment only if all three of the following hard conditions are met simultaneously; otherwise, it is determined to be ordinary video content: the total number of matching anchors is greater than or equal to the preset anchor number threshold Q; the total time drift of all matching anchors is less than or equal to Dmax; and the overall matching score is greater than or equal to the preset entry score threshold S_enter for the advertisement.
[0040] For example, a single frame matching only makes a preliminary suspicion judgment and does not directly lock the advertisement constraint; even if all judgment conditions are met in a single instance, it only switches to the candidate advertisement state and continuously performs matching verification for multiple rounds of sampling frames; only when the advertisement segment is determined to exist in M consecutive sampling windows is the target advertisement segment finally confirmed to be valid, thus avoiding instantaneous false triggering caused by accidental similarity of single frame images.
[0041] In one possible implementation, when the currently played content contains the target ad segment, the playback state is switched from normal playback state to candidate ad state. In candidate ad state, the features of subsequent media frames are extracted for subsequent playback content, and the features of subsequent media frames are matched with the feature information of each anchor point. The consistency of the matching results is checked according to the relative offset relationship to determine whether the subsequent playback content contains the target ad segment. When the number of times the playback content is determined to contain the target ad segment exceeds a preset threshold, the playback state is switched from candidate ad state to effective exposure constraint state.
[0042] For example, after performing multi-condition joint judgment, the first state switch is triggered only when all three conditions of matching anchor point quantity, time drift, and comprehensive matching score are met; if any one of the checks fails, the original normal playback state remains unchanged and does not enter the candidate ad state; a single frame matching hit is only a momentary suspected result and does not directly enable ad playback constraints. By adding a candidate ad state as an intermediate anti-shake buffer state, the problem of single mismatch caused by momentary similarity of the picture, transcoding noise, and black screen is solved, and the playback state is avoided from frequently shaking back and forth.
[0043] For example, the player's local state machine writes the state identifier candidate_ad_state, overwriting the original normal_play_state; at the same time, it initializes the continuous hit counter hit_count=0, which only accumulates in the candidate ad state and is automatically cleared when exiting the candidate state; it switches from low-frequency coarse sampling in the normal playback state to high-frequency fine sampling, shortens the frame extraction interval, improves the frequency and accuracy of subsequent matching and verification, and reduces the probability of missing detection in the middle of the ad segment; it caches the non-identified reference feature package, the reference anchor point time, the anchor point relative offset array, and various judgment thresholds corresponding to this matching, and reuses the same set of ad anchor point references for all frame matching in the subsequent candidate states, without reloading the non-identified reference feature package, reducing memory and computational overhead.
[0044] For example, during the existence of the candidate ad state, the player continuously performs the following high-frequency sampling intervals: real-time extraction of media frame features at each subsequent sampling moment; then, anchor-point similarity calculation, time drift consistency verification, comprehensive matching score calculation, and multi-threshold joint judgment are performed to determine whether the currently playing content still belongs to the target ad segment frame by frame; if the single-round verification still includes the target ad segment: hit_count = hit_count + 1; if the single-round verification no longer includes the target ad segment: directly reset hit_count = 0; if the counter fails to recover the hit after being cleared for several consecutive rounds, the player exits the candidate ad state and switches back to the normal playback state; a maximum protection time for the candidate state is set, and if the counter fails to reach the preset number threshold for a long time, the player is forced to exit the candidate ad state to prevent the player from being permanently stuck in the buffering state due to slight image distortion, thus ensuring normal video playback.
[0045] For example, a preset threshold M for the number of consecutive hits is set; real-time comparison is performed to ensure hit_count > M, and if this is met, a state switch is executed; the state machine is updated to exposure_limit_state, and the candidate ad state buffering logic is disabled; a session-specific valid exposure progress object is initialized, and the valid exposure target, the initial cumulative exposure value of 0, and the earliest unexposed playback position are written; the interaction constraint listening logic is started, and the interception mapping logic is enabled for user operations such as forward dragging, seek, speed adjustment, and external jumps; the high-frequency fine sampling strategy is maintained until the ad segment is completely identified; after switching to the valid exposure constraint state, frame matching verification is still continuously executed for subsequent identification of the ad tail anchor point and determination of whether the ad has left the ad range, providing a basis for releasing the constraint.
[0046] For example, within the candidate ad state, if multiple rounds of sampling determine that there are no ad segments, the counter is reset to zero, and the sampling continues to exceed the protection window: switch back to the normal playback state, reset the counter to zero, and resume low-frequency sampling; if the media stream stutters, decoding fails, or the feature packet integrity verification fails: exit the candidate ad state directly, do not enter the effective exposure constraint state, and enter the abnormal downgrade playback logic; if other ad segment feature packet anchor point matching is detected midway: clear the original counter and restart the candidate state counting based on the new ad anchor point.
[0047] S104, If the currently playing content contains the target ad segment, then create an effective exposure progress object for the target ad segment; the effective exposure progress object includes the cumulative effective exposure and the target effective exposure; determine whether the cumulative effective exposure is less than the target effective exposure. In one possible implementation, the effective exposure target quantity, exposure_required, represents the minimum effective playback duration / number of effective playback frames required for the ad to achieve compliant exposure. The value is taken from the match_policy policy field in the non-identifier reference feature package. It can be preset to a fixed value based on the ad duration or configured as a percentage threshold of the total duration of the ad segment. Only time periods when the foreground is playing normally, the screen is visible, the volume meets the standard, and the speed does not exceed the limit can be included in the effective duration. Background playback, paused playback, muted playback, and ultra-high speed playback are not included or are counted in a discounted manner.
[0048] In one possible implementation, the effective exposure cumulative amount (exposure_done) is the real-time accumulation of the effective duration / frames of the current ad segment that has been played in compliance with regulations, and is initially set to 0. An incremental real-time update mechanism is adopted, and the corresponding duration is synchronously added to this field every time the player completes a compliant playback interval. If the user goes back to the completed exposure interval, only the value is read and the cumulative amount is not deducted. If the user jumps back to the incomplete interval, the incremental accumulation continues.
[0049] For example, when the device is running in the foreground, the video is fully visible, the volume is higher than the mute threshold, the playback speed is ≤ max_allowed_rate, there is no screen obstruction, and the media stream is decoded and rendered normally, the playback duration during this period is fully counted as the effective exposure accumulation. Accumulation is paused when the device is suspended in the background, the screen is locked, the window is minimized, or the screen is obstructed. When the playback speed exceeds the allowed threshold, only a small amount is accumulated according to the calculated ratio or accumulation is stopped completely. Accumulation is stopped when playback is paused, buffering is interrupted, or audio / video decoding is abnormal. When the user seeks back to view the interval that has been exposed, only the progress data is read, the accumulated value of exposure_done is not reduced, and the exposure progress is not reset.
[0050] For example, the player samples each frame / at each fixed time interval, reads the exposure_done and exposure_required values in the progress object and compares them. If exposure_done < exposure_required, it is determined that the advertisement has not completed the compliant and effective exposure. The effective exposure constraint state is maintained, and dynamic constraints are continuously applied to the user's forward skipping, dragging, speed adjustment, and external jumps. The jump position is uniformly mapped to first_unserved_position, which is the earliest playback position within the advertisement segment that has not completed the effective exposure. If exposure_done ≥ exposure_required, it is determined that the advertisement has completed the minimum effective exposure requirement. The advertisement exit determination process is entered. The tail anchor point matching and continuous low similarity windows are used to comprehensively determine whether to completely leave the advertisement segment. After the exit condition is met, all interaction constraints are released.
[0051] For example, if the media stream is interrupted, the feature packet verification fails, or the identification is abnormal and the system enters a degraded state: the exposure progress object is temporarily frozen, accumulation is stopped, and after normal playback resumes, the accumulated exposure will continue to accumulate based on the frozen value, without resetting the accumulated exposure; if the media segment is switched or the playback source is switched midway: the current progress object is directly destroyed, the ad identification logic is re-executed, and a brand new progress object is created; if the session ends or the player is closed: the progress object in memory is directly destroyed, the original progress details are not uploaded, and only the de-identified audit log is summarized and reported.
[0052] S105, if the cumulative effective exposure is less than the target effective exposure, the effective exposure progress object indicates that the target ad segment has not completed effective exposure, and dynamic constraints are applied to the forward skipping operation triggered by the user. In one possible implementation, a user-triggered forward skipping instruction is received, which indicates the target playback position; it is determined whether the target playback position is located within an unexposed section of the target ad segment; if so, the target playback position is mapped to the starting position of the unexposed section and / or the earliest unexposed position indicated by the effective exposure progress object, so that playback continues from the mapped position; if not, the forward skipping operation is allowed.
[0053] For example, when the player is in a valid exposure constraint state, a valid exposure progress object for the corresponding ad segment has been created, and the cumulative valid exposure in the progress object is less than the valid exposure target, and the ad has not met the compliant exposure requirements, forward jump dynamic constraint is initiated.
[0054] For example, if the advertisement has been fully exposed, is in a normal playback state, a candidate advertisement state, or an abnormal downgrade state, the constraint logic is not executed, and the user's forward skipping is not restricted by the interception mapping.
[0055] For example, the player uniformly listens to all types of forward skipping interaction behaviors, including progress bar dragging, seek jump, fast forward, speed-up jump across segments, external jump to episode / segment selection, automatic jump for resumed playback, and all operations that advance the playback progress; reverse dragging and rewind commands do not enter this constraint branch and are unrestricted; the target playback position carried by the skipping command is extracted, and this position uses timestamp / frame number / segment offset as a unified measurement benchmark, and uses the same measurement unit as the ad start and end interval and the earliest unexposed position stored in the effective exposure progress object, without the need for unit conversion; short-term small-amplitude fast forward and long-distance cross-segment skipping are distinguished and uniformly normalized to a standard target position, and invalid or illegal jump coordinates exceeding the total media duration are filtered out.
[0056] For example, the pre-read progress object stores two sets of boundary parameters: the complete ad segment interval: the theoretical start and end positions of the ad; the unfinished exposure sub-interval: from first_unserved_position (earliest unfinished position) to the end position of the ad; if the target playback position < the ad start position: the jump point is before the ad segment and does not belong to the unfinished exposure interval, so the jump is allowed; if the ad start position ≤ the target playback position ≤ the ad end position, and the target playback position ≥ first_unserved_position: the target falls within the unfinished valid exposure interval, triggering position mapping constraints; if the target playback position > the ad end position: jump to the main content after the ad, no constraints are needed, so the jump is allowed; if the jump coordinates are exactly equal to the earliest unfinished position, no mapping is needed, and the ad is played directly at that position; if the jump coordinates are equal to the ad start position, the ad is played directly from the start point.
[0057] For example, the mapping is performed to the starting point of the unfinished exposure interval (i.e., the overall starting point of the ad segment); it is also mapped to the first_unserved_position recorded in the progress object (the first unviewed position within the ad, subject to fine-grained management and priority recommendation); the mapping mode can be configured through the match_policy strategy field in the feature package, the server uniformly issues management rules, and the client adaptively executes them; the user's original target playback position is discarded, and the player's rendering and decoding positioning coordinates are forcibly replaced with the mapped position; the player resets the playback progress to the mapped position, continues normal decoding and playback from that position, and simultaneously restores the accumulated exposure progress; after the mapping is completed, the log is updated synchronously: the user's original jump target position, the actual playback position after mapping, the reason for the constraint triggering, and the current accumulated exposure value are recorded and stored in the audit log, without uploading the original user operation trajectory.
[0058] For example, if the jump is to the point before the advertisement segment, the original forward jump is executed directly without modifying the playback position, and the exposure progress remains unchanged; if the jump is to the main content after the end of the advertisement segment, the advertisement segment can be skipped directly, and the accumulated effective exposure is not reset or deducted; if the advertisement has been watched in its entirety and the jump is only to review the exposed section, there are no restrictions, and the jump is free.
[0059] For example, if the target position for continued playback falls within the unexposed section of the advertisement, position mapping is also performed to pull back to the earliest unexposed point; if the playback is dragged forward across segments at ultra-high speed, the segment determination and position mapping are still performed, while maintaining the speed limit control; each segment of the advertisement corresponds to an independent exposure progress object, and when skipping across multiple segments of advertisements, the determination is made segment by segment, and the mapping constraint is only performed on the advertising segments that have not been exposed.
[0060] S106, if the cumulative effective exposure is greater than or equal to the target effective exposure, the effective exposure progress object indicates that the target ad segment has completed effective exposure, and based on media content matching and / or progress completion judgment, it confirms leaving the target ad segment and releases the constraint on the forward skipping operation.
[0061] For example, when the player is in a state of effective exposure constraint, there is an effective exposure progress object for the corresponding target ad segment. If the cumulative effective exposure within the progress object is greater than or equal to the effective exposure target, it means that the ad has met the minimum compliant exposure duration / frame requirement. Meeting the numerical standard alone will not directly release the constraint. A second verification is still required to confirm that the playback screen has left the ad segment, in order to prevent users from repeatedly dragging within the ad segment and prematurely unlocking the skipping permission, thus ensuring the compliance of ad placement.
[0062] For example, the retrieval feature package includes tail anchor point features. If a tail anchor point is matched within a continuous sampling window, and the relative offset and time drift of the anchor point all meet the consistency rules, it is determined that the advertisement segment has reached the end. If, within N consecutive sampling periods, the comprehensive matching score between the current media frame features and all advertisement anchor points is consistently lower than the exit threshold S_exit (S_exit < S_enter, with the difference from the entry threshold for anti-jitter), and the duration exceeds the preset protection window, it is determined that the screen has left the advertisement screen. When any content matching condition is met, it is confirmed that the target advertisement segment has been left.
[0063] For example, the theoretical end position of the advertisement is read from the valid exposure progress object storage, and the current playback coordinates are compared in real time. When the real-time playback position of the player exceeds the theoretical end frame / timestamp of the advertisement segment, it is directly determined that the physical progress has left the advertisement range. A short buffer window is set after the advertisement end position. Even if the advertisement anchor point is briefly matched in the window, it is still determined that the advertisement segment has been left, so as to avoid the end screen from being mistakenly judged to return to the constraint.
[0064] For example, leaving the ad segment can be confirmed only if the content matches the criteria or the playback progress exceeds the ad segment; leaving the ad segment can only be confirmed if both low content similarity and progress exceed the end of the ad segment are met simultaneously; content recognition at the end of the ad segment is used first, and progress judgment is used as a fallback only when there is no matching anchor point.
[0065] For example, the interaction constraint switch is turned off, canceling the position mapping, rewind, and speed limiting logic for all forward skipping operations such as progress dragging, seek, fast forward, cross-segment jumps, external selection, and breakpoint resume playback. Users can freely jump forward without forced blocking of playback positions; the state machine is updated, and the player state switches from the effective exposure constraint state to the normal playback state; the candidate ad state hit counter is reset, the high-frequency fine sampling logic is terminated, and the low-frequency sampling interval of the normal playback state is switched back to reduce terminal computing power consumption; the progress object retention and destruction rules temporarily store the complete effective exposure progress object within this playback session. The system reads from the audit logs. If a user reviews an ad segment that has already been exposed, the effective exposure constraint will not be retried, and the accumulated exposure will not be reset or deducted. When the player segments, closes the playback page, or ends the session, the progress object in memory is destroyed, and the original exposure data is not persistently stored. The audit logs are recorded synchronously and written to the desensitized log fields, including the ad constraint release time, the final effective cumulative exposure, the ad exit judgment criteria (tail anchor matching / low similarity window / progress exceeding the end of the ad), all skipping interception records before the constraint is released, and feature packet summary information. The original audio and video frames are not uploaded.
[0066] For example, if the exposure target is met but the user has not left the ad segment, the constraint remains in place and is not unlocked. If the user remains within the ad and loops through it, even if the cumulative exposure target is met, as long as the user has not passed the content / progress verification to confirm leaving the ad segment, the forward skipping will still execute the position mapping constraint to prevent the user from repeatedly viewing the ad and then skipping the remaining ad screen. Media stream anomaly fallback: if the exposure target is met but there is a feature packet verification failure, decoding interruption, or network segment loss, it is directly determined that the user has left the ad segment, and the skipping constraint is forcibly released to avoid permanent locking of playback due to anomalies. Policy remote command fallback: if a command to release the constraint in advance is received from the server and verified by integrity signature, all forward skipping operations are allowed directly without waiting for the ad exit verification.
[0067] For example, the streaming media server generates a non-identifier reference feature package for each ad segment, excluding business identifiers such as ad ID, material URL, and absolute timestamp. It selects multiple frames from the start, middle, and end of the ad to construct anchor point features and records the relative time offset of each anchor point. The feature package is encapsulated in a private extended field of HLS / DASH segmentation and distributed synchronously with the media segments. The client retrieves the media content and accompanying description data, parses and verifies the feature package, and extracts pre-processed audio and video samples from the decoding cache at dynamic sampling intervals. It extracts real-time media frame features using perceptual hashing and audio fingerprint algorithms, traverses all anchor point features to calculate similarity, and filters temporary matching anchor points. Anchor point preset relative offset is used to calculate time drift. A comprehensive matching score is obtained by subtracting the drift penalty from the weighted similarity sum. If the number of matched anchor points, time drift, and comprehensive score all meet the criteria, a target ad segment is determined to exist, and the playback state is switched to candidate ad state. Simultaneously, the sampling density is increased, and feature extraction and consistency matching checks are continuously performed in a loop. When the number of consecutive ad segment hits exceeds a preset threshold, an effective exposure constraint state is entered. A dedicated effective exposure progress object for this session is created, storing the initial effective exposure accumulation (0) and the effective exposure target value taken from the feature package strategy. The player compares these two values in real time. If the effective exposure accumulation... If the target exposure is not reached, the system listens for user commands such as dragging progress, seeking, fast forward, and resuming playback. It analyzes the target playback position and determines if it falls within the unexposed exposure range of the advertisement. If it does, the playback position is forcibly mapped to the earliest unexposed point; otherwise, the jump operation is allowed. When the cumulative effective exposure is greater than or equal to the target effective exposure, media content matching and playback progress checks are performed in parallel. The system confirms that the user has left the advertisement segment by using tail anchor point matching, continuous multi-window low similarity judgment, or the playback position exceeding any or a combination of conditions. At this point, all forward jump constraints are released, and the player switches back to normal playback mode. The system restores low-frequency sampling and records anonymized audit logs throughout the process, including feature packet summaries, matching scores, exposure progress, skipping constraint events, and exit judgment criteria. It does not upload original audio and video data. If media stream decoding anomalies or feature packet verification failures occur, it enters an abnormal degradation state and directly releases constraints. Terminals with insufficient computing power can automatically reduce the sampling frequency or degrade to normal playback logic. The entire solution does not require manual server-side monitoring, does not rely on external advertising fingerprint databases or ACR recognition services, reduces advertising recognition misjudgments by relying on multi-anchor time sequence verification, and achieves flexible and refined skipping control based on session-level effective exposure progress. It balances advertising exposure effectiveness verification, full-process auditability, and user playback experience.
[0068] In this disclosure, a pre-sealed non-identified reference feature package is obtained from media content data and its associated descriptive data. The non-identified reference feature package includes multiple anchor point feature information and the relative offset relationship between each anchor point. Features of the current media frame are extracted based on the currently playing content. The current media frame features are matched with the anchor point feature information, and the consistency of the matching results is checked according to the relative offset relationship to determine whether the currently playing content contains a target advertising segment. If the currently playing content contains a target advertising segment, an effective exposure progress object for the target advertising segment is established. The effective exposure progress object includes the cumulative effective exposure amount and the target effective exposure amount. It is determined whether the cumulative effective exposure amount is less than the target effective exposure amount. If the cumulative effective exposure amount is less than the target effective exposure amount, the effective exposure progress object indicates that the target advertising segment has not completed effective exposure, and dynamic constraints are applied to the user-triggered forward skipping operation. If the cumulative effective exposure amount is greater than or equal to the target effective exposure amount, the effective exposure progress object indicates that the target advertising segment has completed effective exposure, and the departure from the target is confirmed based on media content matching and / or progress completion. The ad segment removes constraints on forward skipping operations. This approach embeds multi-anchor reference feature packages (excluding ad business identifiers) into the media stream segmentation information, eliminating manual tracking and reducing reliance on external ad libraries and third-party identification services, thus lowering maintenance and modification costs. A dual anti-shake mechanism—multi-anchor similarity weighted calculation combined with time drift penalties and continuous verification of candidate ad states—significantly reduces ad recognition misjudgments and frequent state fluctuations. Flexible skipping control is achieved through a session-level effective exposure progress state machine, moving away from drastically intercepting user operations and only mapping the position of incomplete exposure intervals. This ensures quantifiable verification of effective ad exposure while preserving user replay permissions. The system supports ad exit timing based on frame feature matching and playback progress logic, with desensitized summary logs for full-process auditability. Anomaly degradation strategies prevent playback locking, and sampling strategies can be adaptively adjusted based on terminal computing power. A single solution adapts to multiple playback terminals, including mobile phones, TVs, and web pages, reducing system complexity, improving ad recognition stability, and balancing ad compliance requirements with user playback experience.
[0069] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this disclosure is not limited to the described order of actions, because according to this disclosure, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this disclosure.
[0070] The above is an introduction to the method embodiments. The following describes the solution described in this disclosure further through device embodiments.
[0071] Figure 2 A block diagram of an advertisement segment controlled playback device 200 according to an embodiment of the present disclosure is shown. Figure 2 As shown, the device 200 includes: The parsing module 201 is used to obtain the pre-sealed non-identified reference feature package in the media content data and its associated description data; the non-identified reference feature package includes multiple anchor point feature information and the relative offset relationship between each anchor point; Extraction module 202 is used to extract the features of the current media frame based on the currently playing content; The matching module 203 is used to match the current media frame features with the feature information of each anchor point, and to perform consistency verification on the matching results according to the relative offset relationship, so as to determine whether the current playback content contains the target advertisement segment. The exposure module 204 is used to establish an effective exposure progress object for the target advertisement segment if the currently playing content contains the target advertisement segment; the effective exposure progress object includes the cumulative effective exposure amount and the target effective exposure amount; and to determine whether the cumulative effective exposure amount is less than the target effective exposure amount. The constraint module 205 is used to dynamically constrain the user-triggered forward skipping operation if the cumulative effective exposure amount is less than the effective exposure target amount, and the effective exposure progress object indicates that the target ad segment has not completed effective exposure. The release module 206 is used to release the constraint on the forward skipping operation if the cumulative effective exposure is greater than or equal to the target effective exposure. The effective exposure progress object indicates that the target ad segment has completed effective exposure, and based on media content matching and / or progress completion judgment, it confirms leaving the target ad segment.
[0072] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the described module can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0073] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0074] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0075] Figure 3A schematic block diagram of an electronic device 300 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0076] Electronic device 300 includes a computing unit 301, which can perform various appropriate actions and processes according to a computer program stored in ROM 302 or a computer program loaded into RAM 303 from storage unit 308. RAM 303 can also store various programs and data required for the operation of electronic device 300. The computing unit 301, ROM 302, and RAM 303 are interconnected via bus 304. I / O interface 305 is also connected to bus 304.
[0077] Multiple components in electronic device 300 are connected to I / O interface 305, including: input unit 306, such as keyboard, mouse, etc.; output unit 307, such as various types of displays, speakers, etc.; storage unit 308, such as disk, optical disk, etc.; and communication unit 309, such as network card, modem, wireless transceiver, etc. Communication unit 309 allows electronic device 300 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0078] The computing unit 301 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 301 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 301 performs the various methods and processes described above, such as method 100. For example, in some embodiments, method 100 may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 308. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 300 via ROM 302 and / or communication unit 309. When the computer program is loaded into RAM 303 and executed by the computing unit 301, one or more steps of method 100 described above may be performed. Alternatively, in other embodiments, the computing unit 301 may be configured to perform method 100 by any other suitable means (e.g., by means of firmware).
[0079] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0080] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0081] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0082] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including voice input, speech input, or tactile input).
[0083] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0084] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0085] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0086] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for controlled playback of advertising segments, applied to a client-side application, characterized in that, include: Obtain the pre-encapsulated non-identified reference feature package from media content data and its associated descriptive data; The non-identified reference feature package includes multiple anchor point feature information and the relative offset relationship between each anchor point; Extract the features of the current media frame based on the currently playing content; The current media frame features are matched with the anchor point feature information, and the matching results are checked for consistency based on the relative offset relationship to determine whether the current playback content contains the target advertisement segment. If the currently playing content contains a target ad segment, then an effective exposure progress object for the target ad segment is established; the effective exposure progress object includes the cumulative effective exposure and the target effective exposure; it is then determined whether the cumulative effective exposure is less than the target effective exposure. If the cumulative effective exposure is less than the target effective exposure, the effective exposure progress object indicates that the target ad segment has not completed effective exposure, and dynamic constraints are applied to the forward skipping operation triggered by the user. If the cumulative effective exposure is greater than or equal to the target effective exposure, the effective exposure progress object indicates that the target ad segment has completed effective exposure, and based on media content matching and / or progress completion judgment, it confirms leaving the target ad segment and releases the constraint on the forward skipping operation.
2. The method according to claim 1, characterized in that, The extraction of current media frame features based on currently playing content includes: Based on a preset sampling interval, current media samples are obtained from the currently playing content, and feature calculations are performed on the current media samples to obtain the current media frame features.
3. The method according to claim 1, characterized in that, The step of matching the current media frame features with the feature information of each anchor point, and performing a consistency check on the matching results based on the relative offset relationship, to determine whether the currently playing content contains the target advertisement segment includes: Calculate the similarity between the current media frame features and the feature information of each anchor point, and determine the anchor points whose similarity reaches a preset matching threshold as matching anchor points; Determine whether the number of matching anchor points has reached a preset number threshold; determine whether the drift between the actual time interval between each matching anchor point and the relative offset relationship is less than or equal to a preset drift upper limit; determine whether the comprehensive matching score of each matching anchor point has reached a preset entry score threshold. If the number of matching anchor points reaches a preset number threshold, the drift amount is less than or equal to a preset drift limit, and the comprehensive matching score of each matching anchor point reaches a preset entry score threshold, then it is determined that the currently playing content contains the target advertisement segment.
4. The method according to claim 3, characterized in that, After determining whether the currently playing content contains the target advertisement segment, the method further includes: When the currently playing content contains the target ad segment, the playback state will be switched from normal playback state to candidate ad state; In the candidate ad state, the subsequent media frame features are extracted for the subsequent playback content, the subsequent media frame features are matched with the feature information of each anchor point, and the consistency of the matching results is checked according to the relative offset relationship to determine whether the subsequent playback content contains the target ad segment. When the number of times the playback content contains the target advertisement segment exceeds a preset threshold, the playback state is switched from the candidate advertisement state to the effective exposure constraint state.
5. The method according to claim 1, characterized in that, The dynamic constraint on the user-triggered forward skipping operation includes: Receive a user-triggered forward skipping instruction, wherein the forward skipping instruction indicates the target playback position; Determine whether the target playback position is located within the section of the target advertisement segment that has not been effectively exposed; If so, the target playback position is mapped to the starting position of the incomplete effective exposure interval and / or the earliest unexposed position indicated by the effective exposure progress object, so that playback continues from the mapped position; If not, then the forward jump operation is allowed.
6. The method according to claim 3, characterized in that, The determination of whether the overall matching score of each matching anchor point reaches the preset entry score threshold includes: Configure corresponding weight coefficients for each matching anchor point; Calculate the weighted sum of the similarity of each matching anchor point and its corresponding weight coefficient to obtain the weighted similarity sum; Calculate the penalty term based on the drift between the actual time interval between each matched anchor point and the relative offset relationship; The comprehensive matching score is calculated based on the weighted similarity sum and the penalty term; Determine whether the overall matching score is greater than or equal to a preset entry score threshold.
7. The method according to claim 6, characterized in that, The comprehensive matching score, calculated based on the weighted similarity sum and the penalty term, is obtained using the following formula: Score=Σ(w i *sim(cur_feature(t+offset_i),anchor_feature_i))-penalty(time_drift); in which, Score is the overall matching score, w i Here, is the weight coefficient of the i-th matching anchor point, sim(cur_feature(t+offset_i),anchor_feature_i) is the feature similarity corresponding to the i-th matching anchor point, cur_feature(t+offset_i) is the feature vector of the current media stream, anchor_feature_i is the feature of the i-th matching anchor point pre-stored in the non-identified reference feature package, penalty(time_drift) is the time drift penalty term, and time_drift is the time drift amount.
8. A controlled playback device for advertising segments, characterized in that, include: The parsing module is used to obtain the pre-encapsulated non-identifier reference feature packets in the media content data and its associated description data; The non-identified reference feature package includes multiple anchor point feature information and the relative offset relationship between each anchor point; The extraction module is used to extract features of the current media frame based on the currently playing content; The matching module is used to match the current media frame features with the feature information of each anchor point, and to perform consistency verification on the matching results according to the relative offset relationship, so as to determine whether the current playback content contains the target advertisement segment. The exposure module is used to establish an effective exposure progress object for the target ad segment if the currently playing content contains the target ad segment; the effective exposure progress object includes the cumulative effective exposure amount and the target effective exposure amount; and to determine whether the cumulative effective exposure amount is less than the target effective exposure amount. The constraint module is used to dynamically constrain the user-triggered forward skipping operation if the cumulative effective exposure amount is less than the effective exposure target amount, and the effective exposure progress object indicates that the target ad segment has not completed effective exposure. The release module is used to release the constraint on the forward skipping operation if the cumulative effective exposure is greater than or equal to the target effective exposure. The effective exposure progress object indicates that the target ad segment has completed effective exposure, and the module confirms leaving the target ad segment based on media content matching and / or progress completion judgment.
9. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method described in any one of claims 1-7.
10. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1 to 7.