Patent ID: 12211434

DETAILED DESCRIPTION

The following description is made for the purpose of illustrating the general principles of one or more embodiments and is not meant to limit the inventive concepts claimed herein. Further, particular features described herein can be used in combination with other described features in each of the various possible combinations and permutations. Unless otherwise specifically defined herein, all terms are to be given their broadest possible interpretation including meanings implied from the specification as well as meanings understood by those skilled in the art and/or as defined in dictionaries, treatises, etc.

A description of example embodiments is provided on the following pages. The text and figures are provided solely as examples to aid the reader in understanding the disclosed technology. They are not intended and are not to be construed as limiting the scope of this disclosed technology in any manner. Although certain embodiments and examples have been provided, it will be apparent to those skilled in the art based on the disclosures herein that changes in the embodiments and examples shown may be made without departing from the scope of this disclosed technology.

One or more embodiments relate generally to organic light emitting diode (OLED) display burn-in, and in particular, to detection of bright stationary pixels and luminance reduction processing to slow OLED burn-in. One embodiment provides a computer-implemented method that includes adaptively adjusting a detection time interval based on stationary region type of one or more stationary regions and a scene length in a video. The method further includes tracking pixels of the one or more stationary regions from a number of previous frames to a current frame in the video in real-time. A minimum and a maximum of max-Red-Green-Blue (MaxRGB) pixel values are extracted from each frame in a scene of the video as minimum and a maximum temporal feature maps for representing pixel variance over time. Segmentation and block matching are applied on the minimum and maximum temporal feature maps to detect the stationary region type.

Since the burn-in not only rapidly reduces the lifetime of OLED panels but also causes image quality degradation, it has been a critical problem to be solved. Detecting the bright stationary pixels such as logos becomes very important for display processing so that luminance reduction can further be applied on the stationary region to slow down burn-in. Some embodiments include adaptive stationary detection time interval: utilizing multiple scene information for stationary regions detection, including adaptively adjusting the detection time interval based on a stationary region type and a scene length in a video. One or more embodiments include tracking stationarity regions of every pixel from N previous scenes to current frame in real time: using one or more frame buffers (e.g. 2×(N+1)) to obtain one or more temporal features for detecting one or more stationary regions existing from N previous scenes to a current scene (N>1), including extracting MaxRGB information (where MaxRGB represents the maximum value among Red, Green, and Blue pixels) as spatial information of each frame and storing a temporal minimum and a temporal maximum of the MaxRGB information to multiple buffers of each scene. Some embodiments include accurate translucent logo detection: extracting a minimum and a maximum of MaxRGB pixel values from each frame in a scene as temporal feature maps for representing pixel variance over time, and applying segmentation and block matching on the extracted minimum and maximum temporal feature maps to detect a stationary region type (e.g., translucent logos).

FIG.1illustrates an example of OLED display100burn-in. OLED displays have been widely used in many multimedia devices such as TV and smart phones because it has shown better image contrast and lower power consumption than LCD displays. The OLED burn-in, which refers to a non-uniform deterioration pixel region and looks like ghosting. As shown, the example burn-in locations110and120on the OLED display100appear as remnants or ghost images. Since the burn-in not only rapidly reduces the lifetime of OLED panels but also causes image quality degradation, it can be a critical problem that needs to be solved. Therefore, detecting the bright stationary pixels such as a logo(s) becomes a very important processing step so that luminance reduction can further be applied on the stationary region to slow down burn-in.

FIGS.2A-Billustrate an example of a displayed large stationary background205. As the video on screenshot200transitions to screenshot210, the background205remains the same while other elements of the video stream change. In some cases, there can be three important problems in stationary region detection. One is the definition of a stationary region that would not affect image quality to users. Since the luminance on the detected stationary regions is reduced to slow down burn-in, the detected stationary region should not be too large. For example, as shown inFIGS.2A-B, the large background205of a video can also be stationary for a long time as well as the logos being stationary. If the large background205is detected and the luminance on the region is reduced, TV users will notice the image quality degradation. In this case, the detection algorithm should only detect logos. By only checking the pixel intensity variation during certain time interval(s), logos may not be distinguishable from the stationary background. Also, the logos may not be distinguishable from the stationary background using only the size of the stationary region. That is because the size of a logo can be larger than that of the stationary background. Therefore, in some embodiments there should be a clear definition of a stationary region to be detected so that logos can only be detected when there is a stationary background.

FIG.3illustrates an example300of different stationary regions by different detection time intervals (T1320, T2321and T3322). In some embodiments, there may be a need to define the stationary time interval. Depending on the stationary time interval for detection, the stationary region to be detected may be different. For example, if the stationary time interval is short (T1320), there can be small changes of pixel intensity over several frames310. And the large image area may be detected as a stationary region (the case of T1320shows an example). If the time interval is long (T3322), some logos that appear or disappear in the intermediate frame would be missed. The image quality degradation would be noticed by TV users in case of T1320, and burn-in could be happen in the missing detection region315. Therefore, there is a need to have the obvious stationary time interval that resolves these problems.

FIG.4illustrates an example of frame buffers430necessary for past temporal pixel intensity variation, according to some embodiments. In some embodiments, since the processing system may be implemented in hardware and operated in real time, a cost-efficient system design would be advantageous. To compute the past temporal intensity variation of a pixel in the current frame420, several frame buffers430that store previous frames410may be needed. If the time interval405becomes longer, the more frame buffers430may be necessary. This increases hardware needed, and therefore increases cost. Therefore, a cost-efficient system design would be advantageous.

FIG.5illustrates an example of a translucent logo510on a display500. In some cases, the best example of stationary regions in the video is a logo(s). The logo can be split into two types: 1) opaque logos and 2) translucent logos (e.g., translucent logo510). A translucent logo is generally generated by blending an opaque logo with background pixels. If the intensities of background pixels vary over time, the temporal pixel intensity variation of the translucent logo becomes large. As a result, distinguishing translucent logos from the background can be a difficult problem in detection.

FIG.6illustrates an example scenario600showing detected common regions640and a detection map650(with detected common region645) for different displayed video frames610, according to some embodiments. In some embodiments, the stationary detection problem is defined as detecting the common objects on continuous multiple scenes (at least 2). Since different scenes have different backgrounds including a stationary background while it keeps the same stationary region (such as logos that cause burn-in), this stationary region is distinguishable from a stationary background. This helps the system by not detecting a large stationary background. In one or more embodiments, the detection time interval is defined based on the time interval of each scene. Therefore, the stationary detection time interval605is adaptively adjusted depending on the video content. This assists in determining a proper stationary time interval. A video is split into several scenes using scene change detection, and the common region between multiple scenes is detected using image matching. In some embodiments, the disclosed technology parses a whole video into multiple scenes and stores the minimum and maximum values of every pixel of the previous N scenes and the current scene into frame buffers (N+1 minimum and maximum frame buffers). The disclosed technology applies image matchings among these frame buffers and current frame to detection stationary region from N previous scene to current frame (note: the current scene is the scene that includes current processing frame). As will be described below, the detection map650uses the maximum feature map (MaxRGB)630and the minimum feature map620(MaxRGB) to generate the detection map650. The example scenario600shows that the disclosed technology can detect the logo even in a video with a stationary background.

FIG.7illustrates an example system700diagram associated with the disclosed technology for slowing OLED burn-in, according to some embodiments. In system700, one scene (e.g., scene701) is represented with two frame buffers such as a minimum feature map715and a maximum feature map710. Note that the minimum feature map715has minimum MaxRGB of each pixel while the maximum feature map710has the maximum MaxRGB of each pixel over the time in one scene. In system700, the minimum and maximum MaxRGB of each pixel for two previous scenes and one current scene are stored as MX2,1,Cand M2,1,C. Using these feature maps, system700detects any stationary region (e.g., stationary region720) on a current frame in real time using segmentation and image matching among them. Since these feature maps are updated every scene change, system700detects the common stationary regions from two previous scenes to a current frame (the current frame continues to change) in real time.

In some embodiments, the input scenes701are input to a downsample process702(e.g., 960×540) and then proceeds to a MaxRGB703processing that results with a current MaxRGB frame (Fc)705(e.g., 10 bit) and a previous MaxRGB frame (Pc)704(e.g., 10 bit). Fc705is input to a processing block for stationary probability map generation based on image matching. In block730the system700detects whether there is a scene change or not. If a scene change is detected processing proceeds to provide an update for a maximum feature map in a 2ndprevious scene (MX2) and a minimum feature map in a 2ndprevious scene (M2), and these updates are input to the processing block for stationary probability map generation based on image matching. If no scene change is detected, system700proceeds to block735to determine a minimum feature map over time in the current scene, and to block740for determining a maximum feature map over time in the current scene.

In one or more embodiments, the processing block for stationary probability map generation based on image matching includes a Min Max Frame Matching (MM) process745(which outputs an MM based stationary probability map), an Adaptive Matching Parameter Adjustment process750, a Block Matching using Segmentation Probability Map process755(which takes as input the output from the Adaptive Matching Parameter Adjustment process750and outputs a matching based stationary probability map), an Intensity Based Segmentation process760(which outputs a segmentation based stationary probability map), and a Stationary Probability Map Generation process765(which takes as input the results/output from the MM process745, the Block Matching using Segmentation Probability Map process755and the Intensity Based Segmentation process760) that generates/outputs a Stationary Probability Map (Pstationary)770with a detected common region775.

In some embodiments, since common objects are detected from previous N scenes to a current scene, the stationary detection time interval725is changed adaptively depending on video content while other approaches use a fixed value for this. In one or more embodiments, this assists the disclosed technology to not result in false detections on static background videos (e.g., news programming) because different scenes generally have different backgrounds. Also, the disclosed technology can even detect the stationary region that only exists during a short time interval if the video has several fast scene changes.

In some embodiments, the system700has a hardware friendly and low cost design since a small number of frame buffers (2× (N+1)) are used to detect stationary regions720from N previous scenes to current scene (N=1 or 2). The design of the disclosed technology can be less expensive than some other approaches that keep very long previous frames such as 300 frames. Additionally, the frame buffers of the disclosed technology can store minimum and maximum values of pixels of small resolution images to reduce the cost of frame buffers.

In one or more embodiments, system700provides real time processing as the minimum and maximum frame buffers are kept updated whenever a scene change occurs. The disclosed technology can keep tracking the stationarity of every pixel from N previous scenes to current frame in real time.

In some embodiments, system700uses minimum and maximum frames and performs segmentation and image matching using these frames. The disclosed technology accurately detects translucent logos because the shapes of bright translucent logos are well maintained in the minimum frames while non-stationary regions become dark. Similarly, the non-bright logos are well maintained in the maximum frames. This helps to segment and perform image matching on the translucent logos more accurately.

In some cases, the stationary detection problem is defined as detecting the common objects on continuous multiple scenes (e.g., at least 2). Since different scenes have different backgrounds including a stationary background while it keeps the same stationary region such as logos that cause burn-in, in some embodiments system700distinguishes this stationary region from a stationary background. This helps avoid detecting a large stationary background. Additionally, the detection time interval725can be defined based on the time interval of each scene. Therefore, the stationary detection time interval725can be adaptively adjusted depending on the video content. This assists in determining a proper stationary time interval. In one or more embodiments, system700splits a video into several scenes using scene change detection730; and the disclosed technology detects the common region between multiple scenes using image matching.

In some embodiments, system700represents one scene with two frame buffers such as a minimum frame and a maximum frame. Note that the minimum frame has minimum intensity of each pixel while the maximum frame has the maximum intensity of each pixel over the time in one scene.

FIG.8illustrates an example of a high intensity translucent logo820in a minimum frame for previous and current scenes versus a moving average frame for previous and current scenes, according to some embodiments. The current frame (MaxRGB)810is provided for generating a Moving Average feature map (MaxRGB)840for a current scene and two previous scenes (along a stationary detection time interval805) and also for generating a minimum feature map (MaxRGB)830for the current scene and the two previous scenes (along the stationary detection time interval805). Translucent logos have been hard to detect via traditional approaches, which mostly use temporal variance for detecting stationary regions. That is because the translucent logo also has a relatively large variance such as a non-stationary region. In some embodiments, the minimum and maximum frame with intensity robust or invariant image matching helps to resolve detection of translucent logos. Since a bright stationary region has high pixel intensities in the minimum frame while non-stationary regions have low intensities, the shapes of bright translucent logos are well maintained in the minimum frames while non-stationary regions become dark region without any shape. Similarly, as shown in the example ofFIG.8, the dark stationary region maintains the shape of dark translucent logos in the maximum frame while other regions do not. Note that some conventional approaches use a moving average frame to find a bright stationary region by using a threshold. A bright translucent logo, however, is difficult to be discriminated from the background in a moving average frame while a minimum frame can easily differentiate the logos from other background. In actuality, a translucent logo's shape is well maintained in each minimum frame, but the intensities of the logo would vary among the minimum frames. Therefore, in some embodiments, the disclosed technology uses two block matching methods that utilize the shape of the logos. One method makes the matching robust to intensity change using intensity adaptive thresholding and the other method uses an intensity invariant matching metric (normalized cross correlation). Using both methods, the disclosed technology detects translucent logos more accurately than conventional techniques.

FIG.9illustrates an example flowchart of frame buffer processing, according to some embodiments. In some embodiments, system700(FIG.7) includes two blocks (i.e., modules, components, parts, etc.), that may be referred to as “Frame buffers processing” and “Stationary probability map generation based on image matching.” The “Frame buffers processing” block takes a role of updating minimum and maximum frame buffers based on scene change in block730detection results. In one or more embodiments, there may be, for example, seven frame buffers: three buffers for the minimum frames (MC, M1, M2), three buffers for the maximum frames (MXC, MX1, MX2), and one buffer for previous frame. The disclosed technology may determine a MaxRGB value for the current RGB frame. The MaxRGB value for the current frame (Fc705) is compared with the MaxRGB value for the previous frame (Pc704) to check if there is any scene change in block730. If there is no scene change, the disclosed technology updates MCand MXCin block905as follows:
Mc(x,y)=MIN(Mc(x,y),Fc(x,y))
MXc(x,y)=MAX(MXc(x,y),Fc(x,y))
where (x, y) is the coordinate of a pixel. Note that only Mcand MXcare updated during this process. If there is scene change determined in block730, the disclosed technology can update the frame buffers in block910as follows:
M2(x,y)=M1(x,y)
M1(x,y)=Mc(x,y)
Mc(x,y)=Fc(x,y)
MX2(x,y)=MX1(x,y)
MX1(x,y)=MXc(x,y)
MXc(x,y)=Fc(x,y)

FIG.10illustrates an example flowchart of stationary probability map generation based on image matching, according to some embodiments. In some embodiments, the “Stationary probability map generation based on image matching” block takes the updated frame buffers (MC,1,21005and MXC,1,21010) and uses them with current MaxRGB frame FC704to generate stationary probability map (Pstationary770(FIG.7)) using image matching. In block755, system700(FIG.7) performs block matching using a segmentation probability map. In block760system700performs intensity based segmentation. In block745system700performs minimum and maximum frame matching (MM). Block765performs stationary probability map generation. In block750, system700performs adaptive matching parameter adjustment that provides a matching parameter updated every frame1015.

FIG.11illustrates a graph1100used for a stationary map for a four point look up table (LUT) that is used for generating a stationary probability (SP) map, according to some embodiments. In one or more embodiments, once MC, M1, M2, MXC, MX1, and MX2are all updated, the disclosed technology starts to detect the common logos that exist on three scenes. Intensity based segmentation is performed to generate a segmentation based SP map. Using a “soft” threshold on pixel intensities in minimum frames and maximum frames, the disclosed technology generates the SP as follows:
SP(x,y)=MAX(SPM(x,y),SPMX(x,y))
where
SPM(x,y)=Prob4(Min(Mc(x,y),M1(x,y),M2(x,y))
SPMX(x,y)=Prob4(Max(MX(x,y),MX1(x,y),MX2(x,y)
Prob4(x): 4 pt Look up table (LUT).

FIG.12illustrates an example diagram for intensity based segmentation (block760,FIGS.7and10), according to some embodiments. As shown, MC1205, M11206and M21207are input to block1220for high intensity based segmentation (SPM(x,y)). MXC1215, MX11216and MX21217are input to block1240for low intensity based segmentation (SPMX(x,y)). The results from blocks1220and1240are input to block1230for combining processing: Combine (SP(x,y)=MAX(SPM(x,y), SPMX(x,y)), which results in the SP(x,y)770.

FIG.13illustrates a diagram for block matching using SP map generation, according to some embodiments. In one or more embodiments, if there is false detection from segmentation, it may be refined using block matching (5×5 kernel). Using block matching between FC705and MC,1,2(MC1301, M11302, M21303) the disclosed technology generates the stationary probability map (PMA)775. In some cases, there may be issues in block matching using a pixel intensity difference: 1) an incorrect block matching result around a boundary of a stationary region due to background pixels; and 2) incorrect block matching results due to a variation of intensity in a stationary region (e.g., a translucent logo). In some embodiments, a solution for the first issue is to use block matching with a segmentation probability map770, where the disclosed technology ignores background pixels. In one or more embodiments, a solution for the second issue is by combining block matching (using Block Matching (L1 distance) in blocks1310,1315and1325, and Block Matching (Normalized Cross Correlation (NCC)) in blocks1335,1340and1350) with intensity adaptive thresholding (using Intensity Based Adaptive Threshold (ThC) processing in blocks1305,1320and1330) for Block Matching Stationary Probability Map Generation in block1360, the disclosed technology can make block matching (e.g., L1 distance) robust to the intensity variation of stationary region using the following:

L⁢1⁢distance:dc⁢k(x,y)=∑i∑j❘"\[LeftBracketingBar]"Fc(x+i,y+j)-Mk(x+i,y+j)❘"\[RightBracketingBar]"1×SPN(x+i,y+j)Where⁢S⁢PN:Normalized⁢Segmentation⁢Probability⁢Mapk∈{c,1,2}SPN⁢(x,y)=S⁢P⁡(x+i,y+i)∑i∑jSP⁡(x+i,y+i)(i,j)∈W(x,y):Window⁢on⁢(x,y).
Additionally, one or more embodiments uses the NCC metric, which is invariant to intensity change, and which makes the block matching more robust

Normalized⁢cross⁢correlation:nccck(x,y)=∑i∑j(Mc(x+i,y+j)-mean⁢(Mc))×(Mk(x+i,y+j)-mean⁢(Mk))std⁡(Mc)×std⁡(Mk)⁢k∈{1,2}.
It should be noted that NCC makes a false detection on a noisy planar region. Therefore, the disclosed technology can use both L1 and NCC metrics for more accurate matching results. It should also be noted that in one or more embodiments the L1 Block Matching is only performed with the segmentation probability map, and that a high intensity pixel has a higher threshold in intensity based adaptive thresholding processing.

In some embodiments, the stationary probability map, PMA, is determined/computed as follows:
PMA(x,y)=(PL1(x,y),PNCC(x,y))
where:
PL1(x,y)=PL1-Fc(x,y)·PL1-F1(x,y)·PL1-F2(x,y)
PL1-Fc(x,y)=Prob4L1(dFc(x,y)−ThF(x,y))·SP(x,y)
PL1-F1(x,y)=Prob4L1(dF1(x,y)−ThF(x,y))·SP(x,y)
PL1-F2(x,y)=Prob4L1(dF2(x,y)−ThF(x,y))·SP(x,y)
ThF(x,y)=Prob2th-F(Fc(x,y))
PNCC(x,y)=MIN(PNCC-F1(x,y),PNCC-F2(x,y))·PNCC-Fc(x,y)·SP(x,y)
PNCC-Fc(x,y)=Prob4NCC(nccFc(x,y))
PNCC-F1(x,y)=Prob4NCC(nccF1(x,y))
PNCC-F2(x,y)=Prob4NCC(nccF2(x,y))

FIGS.14A-Billustrate examples of false detection on planar regions with noise using normalized cross correlation. InFIG.14A, FC1405and M11410are input to block matching processing755. The L1 distance (dc1)1420image shows the detection of the logo1421. The NCC (NCCc1)1425image shows false detection of the logo1426. InFIG.14B, FC1406and M11416are input to block matching processing755. The L1 distance (dc1)1430image shows the detection of the logo1431. The NCC 1 (NCCc1)1435image shows false detection of the logo1436.

FIGS.15A-Billustrate examples of the benefit of using both block matching (L1) and NCC, according to some embodiments. InFIG.15A, the input scene images include Fc1505, MC1515, M11520and M21525. The result of using block matching for L1 distance is shown in image1530where there is false detection around the edge. The result of using NCC is shown in image1535where there is false detection on a planar region. The result of using block matching for L1 distance combined with NCC is shown in image1540where there is correct detection. InFIG.15B, the input scene images include FC1506, MC1516, M11521and M21526. The result of using block matching for L1 distance is shown in image1531where there is false detection around the edge. The result of using NCC is shown in image1536where there is correct detection. The result of using block matching for L1 distance combined with NCC is shown in image1541where there is correct detection.

FIG.16illustrates an example block diagram of block matching (L1) using a segmentation probability map, according to some embodiments. The input scene images include MXC1605, MX11610, MX21615, MC1606, M11611, M21616. In block1620, processing for block matching (L1)1625and intensity based adaptive threshold (THMX) processing1630receives the input. Block1640provides processing for probability maps generation. The output of block1640is input to block1650for final probability map generation processing. The result is the MM based stationary probability map (PMM)1660. In some embodiments, the MM frame block matching uses the same block matching of the “block matching using segmentation probability map” (block755,FIG.7) using MC,1,2and MXC,1,2(MC1606, M11611, M21616and MXC1605, MX11610, MX21615; Fc is not used here). Block1620only uses an L1 metric (not a NCC metric) for block matching (block matching1625). In some embodiments, the PMMis generated as follows:
PMM=MIN(PMM_CC,PMM_11,PMM_22,PMM_C1,PMM_C2,PMM_12)
where:
PMM-cc(x,y)=Prob4MM-L1(dcc(x,y)−ThMXc(x,y))·SP(x,y)
PMM-11(x,y)=Prob4MM-L1(d11(x,y)−ThMX1(x,y))·SP(x,y)
PMM-22(x,y)=Prob4MM-L1(d22(x,y)−ThMX2(x,y))·SP(x,y)
ThMXk(x,y)=Prob4th-MXk(Fc(x,y))
PMM-c1(x,y)=Prob4MM-L1(dc1(x,y)−ThMX1(x,y))·SP(x,y)
PMM-c2(x,y)=Prob4MM-L1(dc2(x,y)−ThMX2(x,y))·SP(x,y)
PMM-12(x,y)=Prob4MM-L1(d12(x,y)−ThMX2(x,y))·SP(x,y)

In some embodiments, when a logo disappears, the disclosed technology detects the disappearance globally (per one frame) better than locally (such as block matching) because of a small window size. Using this observation, the disclosed technology adaptively adjusts block matching parameters of a current frame to prevent ghost artifacts. The disclosed technology can use a NCC metric (Nccglobal) to globally detect the disappearance event as follows:

N⁢c⁢cglobal=∑i,j∈PM⁢M(x,y)>0.5(Mc(x+i,y+j)-mean⁢(Mc))×(Mave(x+i,y+j)-mean⁢(Ma⁢v⁢e))std⁡(Mc)×s⁢t⁢d⁡(Mave)Where⁢Mave=(MC+M1+M2)/3.
It should be noted that the NCC global metric is computed on the pixel whose PMM(x,y) is greater than 0.5. To make sure there is no frame delay, the disclosed technology may compute mean(MC) and mean (Mave) from a previous frame. Some embodiments use Nccglobalto update block matching parameters of the next frame. In one or more embodiments, the final stationary probability map is generated using multiplication of PMAand PMMas follows:
PStationary(x,y)=PMA(x,y)·PMM(x,y).

FIGS.17A-Billustrate an example OLED display1705with a logo1706and resulting SP map1710, according to some embodiments.FIGS.18A-Billustrate another example OLED display1806with a logo1805and resulting SP map1810, according to some embodiments. In some embodiments, the disclosed technology provides a stationary detection map to luminance reduction circuitry or processing. Then the luminance reduction circuitry or processing utilizes the detection map so that it can determine where it should reduce the luminance and how much to reduce. The disclosed technology may be used for OLED-display applications to reduce the burn-in problem of OLED.

FIG.19illustrates a process1900for slowing OLED burn-in, according to some embodiments. In block1910, process1900adaptively adjusting a detection time interval (e.g., stationary detection time interval725,FIG.7) based on stationary region type of one or more stationary regions (e.g., common regions640,FIG.6, stationary region720,FIG.7) and a scene length in a video. In block1920, process1900tracks pixels of the one or more stationary regions from a number of previous frames (e.g., PC704,FIG.7) to a current frame (e.g., FC705,FIG.7) in the video in real-time. In block1930, process1900extracts a minimum and a maximum of MaxRGB pixel values from each frame in a scene of the video as minimum and a maximum temporal feature maps (e.g., maximum feature map710, minimum feature map715,FIG.7) for representing pixel variance over time. In block1940, process1900applies segmentation and block matching (e.g., Adaptive Matching Parameter Adjustment process750, Segmentation Probability Map process755, Intensity Based Segmentation process760,FIG.7) on the minimum and maximum temporal feature maps to detect the stationary region type.

In some embodiments, process1900further provides that tracking the pixels of the one or more stationary regions includes utilizing one or more frame buffers (e.g., frame buffers430,FIG.4) to obtain one or more temporal features for detecting the one or more stationary regions from the number of previous scenes to the current scene.

In one or more embodiments, process1900further provides that tracking the pixels of the one or more stationary regions further includes: extracting MaxRGB information as spatial information for each frame in a scene of the video, and storing a temporal minimum and a temporal maximum of the MaxRGB information to the one or more frame buffers for each scene.

In some embodiments, process1900additionally provides detecting a scene change (e.g., block730,FIG.7) for the video based on comparison of the temporal minimum and the temporal maximum of the MaxRGB for a current frame and previous frame.

In one or more embodiments, process1900further provides performing an intensity adaptive thresholding process and using an intensity invariant matching metric for detecting translucent logos in the video, where the intensity invariant matching metric comprises an NCC.

In some embodiments, process1900additionally provides generating a stationary probability map (e.g., Pstationary770) for the one or more stationary regions; and reducing luminance of pixels in the video based on the stationary probability map for slowing OLED display burn-in.

In one or more embodiments, process1900further provides the feature that the detected stationary region type includes one or more of a background image type, an opaque logo type or a translucent logo type.

Embodiments have been described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products. Each block of such illustrations/diagrams, or combinations thereof, can be implemented by computer program instructions. The computer program instructions when provided to a processor produce a machine, such that the instructions, which execute via the processor create means for implementing the functions/operations specified in the flowchart and/or block diagram. Each block in the flowchart/block diagrams may represent a hardware and/or software module or logic. In alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures, concurrently, etc.

The terms “computer program medium,” “computer usable medium,” “computer readable medium”, and “computer program product,” are used to generally refer to media such as main memory, secondary memory, removable storage drive, a hard disk installed in hard disk drive, and signals. These computer program products are means for providing software to the computer system. The computer readable medium allows the computer system to read data, instructions, messages or message packets, and other computer readable information from the computer readable medium. The computer readable medium, for example, may include non-volatile memory, such as a floppy disk, ROM, flash memory, disk drive memory, a CD-ROM, and other permanent storage. It is useful, for example, for transporting information, such as data and computer instructions, between computer systems. Computer program instructions may be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

As will be appreciated by one skilled in the art, aspects of the embodiments may be embodied as a system, method or computer program product. Accordingly, aspects of the embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the embodiments may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.

Computer program code for carrying out operations for aspects of one or more embodiments may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).

Aspects of one or more embodiments are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.

The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

References in the claims to an element in the singular is not intended to mean “one and only” unless explicitly so stated, but rather “one or more.” All structural and functional equivalents to the elements of the above-described exemplary embodiment that are currently known or later come to be known to those of ordinary skill in the art are intended to be encompassed by the present claims. No claim element herein is to be construed under the provisions of 35 U.S.C. section 112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or “step for.”

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the embodiments has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the embodiments in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention.

Though the embodiments have been described with reference to certain versions thereof; however, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.