(19) tzz t - patentimages.storage.googleapis.com · convertedm ovies shoton mfli ni toni teracel...

24
Note: Within nine months of the publication of the mention of the grant of the European patent in the European Patent Bulletin, any person may give notice to the European Patent Office of opposition to that patent, in accordance with the Implementing Regulations. Notice of opposition shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention). Printed by Jouve, 75001 PARIS (FR) (19) EP 2 415 259 B1 TEPZZ 4_5 59B_T (11) EP 2 415 259 B1 (12) EUROPEAN PATENT SPECIFICATION (45) Date of publication and mention of the grant of the patent: 16.09.2015 Bulletin 2015/38 (21) Application number: 10725536.6 (22) Date of filing: 29.03.2010 (51) Int Cl.: H04N 21/44 (2011.01) H04N 7/01 (2006.01) (86) International application number: PCT/US2010/029003 (87) International publication number: WO 2010/120480 (21.10.2010 Gazette 2010/42) (54) CADENCE DETECTION IN PROGRESSIVE VIDEO ERKENNUNG VON KADENZEN IN PROGRESSIV-VIDEOINHALTEN DÉTECTION DE CADENCE DANS DES VIDÉOS PROGRESSIVES (84) Designated Contracting States: AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR (30) Priority: 01.04.2009 US 165612 P (43) Date of publication of application: 08.02.2012 Bulletin 2012/06 (73) Proprietor: Marvell World Trade Ltd. St. Michael BB 14027 (BB) (72) Inventors: GARG, Sanjay Bangalore Kamataka 560008 (IN) BALRAM, Nikhil Mountain View CA 94041 (US) BISWAS, Mainak Santa Cruz CA 95064 (US) NAMBOODIRI, Vipin Bangalore Kamataka 560037 (IN) (74) Representative: Grünecker Patent- und Rechtsanwälte PartG mbB Leopoldstraße 4 80802 München (DE) (56) References cited: EP-A1- 1 198 137 EP-A1- 1 592 247 US-A1- 2002 171 759 US-A1- 2008 151 108 US-A1- 2008 151 109 US-A1- 2009 016 618

Upload: truonghanh

Post on 02-Oct-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Note: Within nine months of the publication of the mention of the grant of the European patent in the European PatentBulletin, any person may give notice to the European Patent Office of opposition to that patent, in accordance with theImplementing Regulations. Notice of opposition shall not be deemed to have been filed until the opposition fee has beenpaid. (Art. 99(1) European Patent Convention).

Printed by Jouve, 75001 PARIS (FR)

(19)E

P2

415

259

B1

TEPZZ 4_5 59B_T(11) EP 2 415 259 B1

(12) EUROPEAN PATENT SPECIFICATION

(45) Date of publication and mention of the grant of the patent: 16.09.2015 Bulletin 2015/38

(21) Application number: 10725536.6

(22) Date of filing: 29.03.2010

(51) Int Cl.:H04N 21/44 (2011.01) H04N 7/01 (2006.01)

(86) International application number: PCT/US2010/029003

(87) International publication number: WO 2010/120480 (21.10.2010 Gazette 2010/42)

(54) CADENCE DETECTION IN PROGRESSIVE VIDEO

ERKENNUNG VON KADENZEN IN PROGRESSIV-VIDEOINHALTEN

DÉTECTION DE CADENCE DANS DES VIDÉOS PROGRESSIVES

(84) Designated Contracting States: AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO SE SI SK SM TR

(30) Priority: 01.04.2009 US 165612 P

(43) Date of publication of application: 08.02.2012 Bulletin 2012/06

(73) Proprietor: Marvell World Trade Ltd.St. Michael BB 14027 (BB)

(72) Inventors: • GARG, Sanjay

BangaloreKamataka 560008 (IN)

• BALRAM, NikhilMountain ViewCA 94041 (US)

• BISWAS, MainakSanta CruzCA 95064 (US)

• NAMBOODIRI, VipinBangaloreKamataka 560037 (IN)

(74) Representative: Grünecker Patent- und Rechtsanwälte PartG mbBLeopoldstraße 480802 München (DE)

(56) References cited: EP-A1- 1 198 137 EP-A1- 1 592 247US-A1- 2002 171 759 US-A1- 2008 151 108US-A1- 2008 151 109 US-A1- 2009 016 618

EP 2 415 259 B1

2

5

10

15

20

25

30

35

40

45

50

55

Description

BACKGROUND

[0001] Film movies are shot at a frame rate of 24 Hz (e.g. 24 frames-per-second fps). Although advanced digitaltelevisions support 24 fps and can display movies natively, analog televisions and many digital televisions cannot. Asa result, movie material is converted to either 30 interlaced frames (30i) or 60 progressive frames (60p) by display devices(e.g. DVD player or TV). To up-convert 24 Hz to 60 Hz, four progressive movie frames are converted to five interlacedframes or 10 progressive frames. The conversion process is known as "3:2 pulldown" or "2:3 pulldown."[0002] During playback as video, the 60 Hz interlaced video stream is generated. When converting the film to interlacedvideo, each movie frame is turned into two or three video fields, which creates an uneven distribution of fields. In addition,a movie frame may get split into odd and even video fields where an odd field is the frame with only the odd pixel linesand an even field is the frame with only the even pixel lines. Typically, the odd and even video frames of an interlacedvideo are called fields.[0003] Telecine is a term for converting movie content to TV/video form. Cadence correction is the restoration of theoriginal frame sequence in video material. Cadence correction is commonly used to reverse the telecine process thatconverted movies shot on film into interlaced video back into the original 24 frames-per-second progressive film sequence.Cadence correction is part of deinterlacing, which in order to apply the appropriate algorithm, must determine if theoriginal movie was shot with a film or video camera. It is also called cadence detection, film mode detection, reversetelecine, inverse telecine, and reverse 3:2 pulldown. Deinterlacers process interlaced video and convert the video toprogressive form. Deinterlacers do not process input streams that are already in progressive form.[0004] EP 1 592 247 A1 relates to a method for generating motion compensated image output data based on aninterlaced input video sequence of subsequent fields and a corresponding motion compensator. For a motion vectordetermination and compensation, each image is divided into a plurality of blocks. Each block is subjected to motionestimation in order to detect a shift of an object from the previous image. Mixed mode image sequences consisting ofdifferent types of image data can be processed appropriately while prior art approaches only take a global status infor-mation relating to an entire input image into account. The status information includes a motion phase indication for filmmode image areas. The status information indicates whether an image area is in still mode or motion mode.[0005] US 2008/151109 A1 relates to a frame rate converter sequentially buffering video frames in a sequence ofvideo frames in a buffer and interpolating at least two of the plurality of video frames in the buffer based on at least oneinterpolation parameter, to form interpolated output files. The interpolation parameter is adjusted with each newly bufferedframe in dependence on the current value of the cadence of the frame sequence. In this way, delays associated withcadence detection are reduced.[0006] US 2008/151108 A1 relates to a video processor architecture and method for frame rate conversion. Datarepresenting frames of video are received at a frame rate converter; attribute data associated with the data representingframes is received on an auxiliary channel; frame rate converted video is formed from the received data based on theattribute data.[0007] EP 1 198 137 A1 relates to a method and apparatus for film mode detection. Pixel differences are calculatedfor corresponding pixels of consecutive fields and the calculated differences are accumulated for two different predefinedportions of pixels of each field. A subsequent motion detection is based on the accumulated difference values for bothimage portions. Motion detection is carried out by comparing the field differences accumulated for two consecutive fieldswith a threshold value. The threshold value for the current field’s difference value is the proceeding field’s difference value.

SUMMARY

[0008] It is the object of the present invention to make motion detection more reliable.[0009] This object is solved by the subject matter of the independent claims.[0010] Preferred embodiments are defined by the dependent claims.[0011] In one embodiment, an apparatus comprises a frame motion detector that analyzes progressive frames anddetermines motion values between the progressive frames. A cadence detector determines a cadence pattern from themotion values of the analyzed progressive frames. A frame rate converter generates a different cadence based at leastin part on the cadence pattern.[0012] In another embodiment, a de-interlacer comprises motion detection logic analyzes an input video stream anddetermines a pattern of motion, the motion detection logic being re-configurable between: determining the pattern ofmotion between interlaced fields when the input video stream is an interlaced stream; and determining the pattern ofmotion between progressive frames when the input video stream is a progressive stream. The de-interlaces furtherincludes a cadence detector that determines a cadence pattern from the pattern of motion. A converter converts theinput video stream to a different cadence based at least in part on the cadence pattern.

EP 2 415 259 B1

3

5

10

15

20

25

30

35

40

45

50

55

[0013] In another embodiment, a method comprises analyzing a progressive video stream and comparing adjacentprogressive frames and generating motion values between the adjacent progressive frames for a sequence of frames.The method then generates and stores cadence information that represents a cadence pattern of the progressive videostream determined from the motion values. The progressive video steam is then be converted to a stream having adifferent cadence based, at least in part, on the cadence information.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The accompanying drawings, which are incorporated in and constitute a part of the specification, illustratevarious methods, and other embodiments of the disclosure. It will be appreciated that the illustrated element boundaries(e.g., boxes, groups of boxes, or other shapes) in the figures represent one example of the boundaries. One of ordinaryskill in the art will appreciate that in some examples one element may be designed as multiple elements or that multipleelements may be designed as one element. In some examples, an element shown as an internal component of anotherelement may be implemented as an external component and vice versa. Furthermore, elements may not be drawn to scale.

Figure 1 illustrates one embodiment of an apparatus associated with cadence detection.

Figure 2A illustrates an example of a motion map.

Figure 2B illustrates an example of a histogram for the motion map of Figure 2A.

Figure 2C illustrates another example of a motion map.

Figure 2D illustrates an example of a histogram for the motion map of Figure 2C.

Figure 3A illustrates one embodiment of a de-interlacer.

Figure 3B illustrates one embodiment of a method for controlling the de-interlacer.

Figure 4 illustrates one embodiment of a frame motion detector and cadence detector from figure 3A.

Figure 5 illustrates one embodiment of a method for detecting cadence.

DETAILED DESCRIPTION

[0015] Described herein are examples of methods and other embodiments associated with cadence detection inprogressive video. In one embodiment, the disclosure relates to video processing in a digital video format converter thatdetects film mode from progressive video inputs.[0016] The following includes definitions of selected terms employed herein. The definitions include various examplesand/or forms of components that fall within the scope of a term and that may be used for implementation. The examplesare not intended to be limiting. Both singular and plural forms of terms may be within the definitions.[0017] References to "one embodiment", "an embodiment", "one example", "an example", and so on, indicate that theembodiment(s) or example(s) so described may include a particular feature, structure, characteristic, property, element,or limitation, but that not every embodiment or example necessarily includes that particular feature, structure, charac-teristic, property, element or limitation. Furthermore, repeated use of the phrase "in one embodiment" does not necessarilyrefer to the same embodiment, though it may.[0018] "Logic", as used herein, includes but is not limited to hardware, firmware, instructions stored in a memory or inexecution on a machine, and/or combinations of each to perform a function(s) or an action(s), and/or to cause a functionor action from another logic, method, and/or system. Logic may include a software controlled microprocessor, a discretelogic (e.g., ASIC), an analog circuit, a digital circuit, a programmed logic device, a memory device containing instructions,and so on. Logic may include one or more gates, combinations of gates, or other circuit components. Where multiplelogical logics are described, it may be possible to incorporate the multiple logical logics into one physical logic. Similarly,where a single logical logic is described, it may be possible to distribute that single logical logic between multiple physicallogics.[0019] Figure 1 illustrates one embodiment of an apparatus 100 that detects cadence in a progressive video stream.The apparatus 100 includes a frame motion detector 105 and a cadence detector 110. After the cadence is determined,the apparatus 100 generates cadence state information that is output to a frame-rate converter 120. For purposes ofexplanation, a 60 hz progressive (60p) input video stream will be discussed that contains a 3:2 pulldown cadence. It will

EP 2 415 259 B1

4

5

10

15

20

25

30

35

40

45

50

55

be appreciated that other frame frequencies and cadence patterns can be used (e.g. 2:2, 2:3:3:2, 8:7, and so on).[0020] The frame motion detector 105 receives the progressive video stream from a memory 115 or other source. Theprogressive video stream is formed of progressive frames (e.g. a 60hz progressive video stream). The frame motiondetector 105 analyzes the progressive video stream to generate motion values that represent motion between or acrossthe progressive frames. The cadence detector 110 determines a cadence pattern from the motion values of the analyzedprogressive frames and generates a cadence state sequence for the progressive video stream based, at least in part,on the cadence pattern. Generated values are stored in a memory. One example of motion values and a cadence statesequence is shown in Table 1 below.

[0021] In Table 1, "24p" is an original 24 Hz progressive frame stream. The letters "A", "B", "C" and so on representdifferent frames A, B, C, etc. "60p" is a 60hz progressive frame stream. The 60p stream is generated from the 24p streamby up-converting to 60 Hz by 3:2 frame cadence. For example, frame A is repeated three times (A1, A2, A3), frame B isrepeated twice (B1, B2) and the pattern repeats.[0022] When a video stream is received such as the 60p stream, the apparatus 100 processes the stream to identifythe frames and the pattern of frames. This can be performed by detecting motion between two adjacent frames. If thereis no motion between two adjacent frames, then the frames are declared as the same frame. If there is motion, then theframes are declared as different frames.[0023] To detect motion between/across frames, the frame motion detector 105 compares each frame in the sequencewith its neighboring right frame and generates a motion value for that frame. For example in Table 1, the frame motionvalue for frame A1 is determined by comparing frame A1 with frame A2. In Table 1, the frame motion value is "0", whichindicates no motion and thus the frames are the same. A value of "1" indicates that the frames are different (e.g. A3compared to B1 results in frame motion value "1").[0024] In one embodiment, pixel values of frame A1 are subtracted from pixel values from frame A2. If the result iszero, the frames are identical. Non-identical frames can also be declared as the same frame if they are sufficiently similar.The frames are more likely dissimilar as the result from subtracting pixel values moves away from zero. To ensure morereliable determinations, a programmable threshold can be set to declare when a near zero value declares that two framesare the same. Motion can be detected using other methods, which are discussed in different embodiments herein.[0025] The frame comparisons continue until enough motion values are obtained to reliably identify a cadence pattern.For the 3:2 pattern in Table 1, the motion values are "00101" and this pattern repeats. The cadence detector 110 isprogrammed with one or more cadence patterns that it is trying to match with the motion values of the input framesequence. When a match is found, the cadence is determined. A 3:2 cadence has the pattern of "00101" and this matchesthe motion values in Table 1.[0026] The cadence detector 110 then generates cadence state information that is provided to a frame-rate converter120. The frame-rate converter 120 converts/inverts the 60p progressive stream to a desired film mode (e.g. 24p, smoothmovie mode, and so on) thus recovering the cadence pattern. In a 3:2 cadence pattern, every fifth cadence state valueis "0", which is represented in the cadence state sequence in Table 1. In general, the cadence state is a sequence thatreflects how to identify the frames in a repeating cadence pattern. In the cadence state in Table 1, the "0" state isassociated with the middle frame (e.g. A2, C2, E2, etc) in the group of three duplicate frames (e.g. A1 A2 A3, C1 C2 C3,E1 E2 E3). Since the 3:2 pattern includes five frames and then repeats, the cadence state is numbered for five frames(e.g. 0 to 4). With this starting point for the "0" state value, the other frames in the cadence pattern can be identified. Forexample at cadence state "2", it is known that the first frame of a two frame duplicate set is found (e.g. B1 from B1 B2,or D1 from D1 D2). Of course, different starting points for the "0" value can be used and different numbering schemescan be used. The frame-rate converter 120 uses the cadence state to determine which frames to add or drop to generatea smooth movie cadence (e.g. AB; AABB; AAABBB; etc). In one example, the smooth movie cadence is a balanced oruniformly repeating frame pattern where there is an equal number of each frame. For example, selecting a certaincadence state, frames at the selected state are added or dropped to generated smooth movie cadences from the original3:2 sequence. Some examples may include: a) a frame is inserted at cadence state 3 to derive a 3:3 cadence (e.g.AAABB becomes AAABBB); b) a frame is dropped at cadence state 1 to derive 2:2 cadence (e.g. AAABB becomesAABB); or c) frames are dropped at cadence state 0, 2 and 4 to derive 24Hz (e.g. A2A3B1B2C1 becomes A3B2). Theselected cadence state is used to identify the correct position of the frame insert or drop in the progressive stream.

Table 1

24p A B C D E ...60p A1 A2 A3 B1 B2 C1 C2 C3 D1 D2 E1 E...

Frame Motion 0 0 1 0 1 0 0 1 0 1 0 0Cadence State 4 0 1 2 3 4 0 1 2 3 4 0

EP 2 415 259 B1

5

5

10

15

20

25

30

35

40

45

50

55

[0027] In another embodiment, motion between frames is detected by using pixel slices. For example, the frame motiondetector 105 is configured to compare a progressive frame with an adjacent progressive frame by comparing pixel slicesfrom the two frames. For example, for each frame, groups of pixel slices are defined throughout the frame (e.g. 100pixels per slice). Motion vectors are determined between corresponding pixel slices and a histogram of motion valuesare generated from each slice from the motion vectors. Based at least in part on the histogram, a frame difference valueis generated that indicates whether the current progressive frame is the same or different than the adjacent progressiveframe. An example is shown in Figure 2A.[0028] With reference to Figure 2A, an example of a motion map 200 of motion vectors for a group of pixels is illustrated.In the map, the left-pointing arrows represent a right-to-left motion for a majority of the pixels. Solid dots represent nomotion for that pixel from the current frame to the next. The motion map 200 may represent the motion between progressiveframes A3 and B1 of Table 1, for example.[0029] The frame motion detector 105 generates a histogram from the motion vectors to determine amounts of motionacross the particular group of pixels. Figure 2B shows an example histogram 205 that may be generated from the motionvectors of map 200. The histogram x-axis values (e.g. -2, -1, 0 ... 5, 6...) can represent the magnitude of the motionvector. The vertical axis represents the number of motion vectors found that had such pixel magnitudes. Thus, the largesthistogram bar 210 located at the value of "5" would mean that, for the group of pixels in motion map 200, motion vectorswith a magnitude of 5 were the most occurring vector. Smaller histogram bars are shown representing motion vectorsin other directions (e.g. negative values) or motion vectors not representing any motion (e.g. "0" value). A motion valuefor the histogram can be generated and stored in a memory (e.g. 1 for motion or 0 for no motion). For example, if thenumber of motion vectors in a histogram meets or exceeds a threshold, motion is determined to exist.[0030] Additional pixel slices and histograms are generated for other or all portions of the frame being analyzed. Oncecomplete, the histogram information and the accumulated motion values are analyzed to determine if enough movementoccurred between the two frames to declare the frames different otherwise the frames are declared the same. In oneembodiment, a programmable threshold can be used to decide whether the frames are the same or different.[0031] Using pixel slices to determine motion can also identify different types of content in a frame. For example,Figure 2C illustrates a motion map 215 that shows motion vectors for a frame. In this example, the frame contains asuperimposed video of scrolling text. Original frame content is shown as region 220 and the scrolling text is shown asregion 225. The scrolling text can be scrolling news updates, scrolling stock information, or other type of superimposedmoving announcement. As seen in Figure 2C, region 220 includes mostly non-moving vectors (solid dots) while region225 includes all moving vectors (arrows).[0032] By generating motion vectors for groups of pixel slices throughout the frame, a histogram may be generatedthat detects the different types of content. For example in the case of motion map 215, a bi-modal histogram 230 (Figure2D) might result that includes 2 dominate motion values: value "0" at bar 235 for the no motion region 220 and value"5" at bar 240 for the moving region 225. With this information, the apparatus 100 can determine locations of the differentcontent regions and determine appropriate interpolation ratios to be applied to the video stream by the frame-rateconverter 120. For example, the no motion region 220 is determined as being film content, which is to be converted to24p. The moving region 225 is determined to be video content at 60hz. If the desired final output stream is 120hz, thenthe apparatus 100 sends instructions to the frame-rate converter 120 to perform a 5x interpolation for pixels comingfrom the film region 220 and to perform a 2x interpolation for pixels coming from the video region 225. Appropriate framesare then generated accordingly.[0033] Figure 3A illustrates one embodiment of a de-interlacer 300 that processes both interlaced video streams andprogressive video streams. The de-interlacer 300 includes motion detection logic 305 that analyzes an input video streamand determines a pattern of motion. The motion detection logic 305 is changeable to function as two different components:a field motion detector 310 or a frame motion detector 315. In one embodiment, the motion detector logic 305 includeshardware that is at least partially shared between the two functions of the field motion detector 310 and the frame motiondetector 315. A controller 320 controls the functionality of motion detection logic 305 according to the type of input videostream. If the input stream is interlaced, the field motion detector 310 is activated. If the input stream is progressive,then the frame motion detector 315 is activated. In one embodiment, being activated includes processing signals fromthe input video stream through certain components of the motion detection logic 305 to perform field motion detectionor frame motion detection. This is described in more detail below.[0034] A cadence detector 325 is implemented similar to the cadence detector 110 in Figure 1. The cadence detector325 determines a cadence pattern of the input stream (whether interlaced or progressive) based, at least in part, on thepattern of motion from the motion detection logic 305. When the cadence is determined, cadence information is generated.A converter 330 converts the input video stream to a progressive stream if the input video stream is interlaced. Noconversion is needed when the input stream is already in progressive form. The de-interlacer 300 outputs the progressivevideo stream and the cadence information to the frame-rate converter 120, which is described in Figure 1.[0035] In the case that the input stream is determined to be an interlaced stream, the field motion detector 310 isactivated to process the stream. Although the input path is illustrated in Figure 3A as two separate paths depending on

EP 2 415 259 B1

6

5

10

15

20

25

30

35

40

45

50

55

the type of input stream, it will be appreciated that one input path can be implemented that enters the motion detectionlogic 305. The internal logic of the motion detection logic 305 is then controlled to process the input stream differently.[0036] For example, for an interlaced stream, the field motion detector 310 determines a pattern of motion betweeninterlaced fields of the interlaced stream. For a progressive stream, the frame motion detector 315 determines the patternof motion between progressive frames. In one embodiment, the field motion detector 310 and the frame motion detector315 are implemented to share components and can be on one circuit die. Depending on the type of input stream, theinput signals are processed through certain components while other components are by-passed.[0037] To processes the interlaced stream, the de-interlacer 300 detects the cadence by determining motion betweeninterlaced fields and then converts the interlaced video stream to a progressive video stream. Table 2 shows examplesof a 60 Hz interlaced stream (60i) and corresponding frame and field motion values. For example, the interlaced fieldsare accessed from memory elements (e.g. from memory 115). In the logic of the field motion detector 310, three interlacedfields are accessed (e.g. the current field, the previous field, and the next field) using field delay elements and comparedin pairs as described below. The configuration of the field motion detector 310 can be implemented in a number of waysand is not shown in detail.

[0038] In Table 2, "24p" is the original 24Hz progressive frame stream. The letters "A", "B", "C" and so on representdifferent frames A, B, C, etc as described previously. "60p" is a 60Hz progressive frame stream generated from the 24pstream by up-converting using a 3:2 frame repeat. "60i" is an interlaced stream generated from the 60p stream byretaining even pixel lines from the frame in the even fields (while dropping the odd pixel lines), and retaining odd pixellines from the frame in the odd fields (while dropping the even pixel lines). For example, "Ae" represents frame "A" withonly the even pixel lines (e.g. the odd lines are dropped) and "Ao" represents frame A with only the odd pixel lines (e.g.the even lines are dropped). The 60i stream is the video stream that would be input to the de-interlacer 300. The converter330 generates the original 60p progressive frames by combining the appropriate even/odd fields (e.g. Ae+Ao = A). Inone embodiment, the converter 330 includes a motion adaptive de-interlacer circuit that weaves the interlaced fieldstogether based on the cadence pattern to generate a progressive video stream.[0039] With continued reference to Table 2, "frame motion" for the interlaced stream 60i compares the neighboringfields from the 60i stream on either side of the current field. For example if the current field is "Ao", the frame motionvalue of "0" under the "Ao" field is determined by comparing the field to the left (which is Ae, a previous field) with thefield to the right (which is Ae, the next field). A "1" value means the fields are different and a "0" means they are thesame. "Field motion" compares every field in the 60i stream with its right neighbor. The frame motion comparison forthe interlaced stream as shown in Table 2 is different than the frame motion comparison for the progressive stream asshown in Table 1. Different elements are analyzed and compared to determine motion.[0040] In one embodiment, the frame motion detector 315 is implemented as a sub-set of the field motion detector310. Thus both detectors can be implemented and share certain hardware components. Additionally, the frame motiondetector 315 is made to use less components than the field motion detector since less comparisons are needed and noformat conversion from interlaced-to-progressive is performed. In other words, frame detector components are used byboth the field and frame detector functions.[0041] For a progressive input stream, the controller 320 causes or configures the motion detection logic 300 to switchfrom accessing and comparing interlaced fields of the interlaced stream to accessing and comparing adjacent progressiveframes from the progressive stream. In one embodiment, different numbers of data delay elements can be used toaccess different fields or frames. For example, two delay elements are used to separate and access three fields fromthe input stream or one delay element is used to separate and access two frames from the input stream. This is describedfurther with reference to Figure 4. One example of a method is shown in Figure 3B. At 350, an input video stream isreceived. At 355, the form/type of the video stream is determined. At 360, based on the form, one or more control signalsare generated to control portions of the de-interlacer 300. At 365 for example, the motion detection logic 305 is responsiveto the one or more control signals and changes which memory elements are accessed from the input video stream sothat progressive frames are accessed instead of interlaced fields. Furthermore, the components for converting theinterlaced stream to a progressive stream are by-passed. Other components that may be included in the motion detection

Table 2

24p A B C D E60p A A A B B C C C D D E

60i Ae Ao Ae Bo Be Co Ce Co De Do EeFrame Motion 1 0 1 1 1 1 0 1 1 1 1Field Motion 0 0 1 0 1 0 0 1 0 1 0

Cadence State 4 0 1 2 3 4 0 1 2 3 4

EP 2 415 259 B1

7

5

10

15

20

25

30

35

40

45

50

55

logic 300 for processing interlaced streams but would be by-passed are a pixel field motion detector and a field motionglobal accumulator, which determine if there is motion between fields, and a motion adaptive temporal spatial blenderthat weaves the interlaced fields together based on the cadence pattern and weave direction of the fields to generatethe progressive video stream.[0042] Illustrated in Figure 4 is one embodiment of logic for implementing the frame motion detector 315 of Figure 3A.A field/frame delay element 405 causes a current frame and a live (next) frame to be accessed from the input stream.Although not shown, two field/frame delay elements 405 are included in the hardware and would be used to split theinput stream into three fields when the input stream is interlaced. The field signal lines are "live" (next) field, "current"field, and "previous" field. However when processing a progressive video stream, control signals can be used to by-passthe second delay element. Thus only the "live" and "current" signal lines are used, which access the live (next) frameand current frame as shown in Figure 4. The "previous" field signal line is not illustrated. Thus in one embodiment,configuring the logic to perform either frame motion detection or field motion detection means to control which componentsare used and which are by-passed for a particular input stream.[0043] The field/frame delay element 405 can be one or more registers, flip-flops, latches, and so on. A pixel framemotion detector 410 compares corresponding pixels from the current frame and next frame to determine motion. A framemotion global accumulator 415 accumulates values representing total motion between frames and outputs a motionvalue for the frame (e.g. "0" if the frames are the same or "1" if they are different). A sequence of frame motion valuesis then output to the cadence detector 325 to determine the cadence (e.g. see frame motion values from Table 1). Inone embodiment, the cadence detector 325 is programmable to detect a selected cadence pattern from a plurality ofcadence patterns. For example, the motion values are matched to a known cadence pattern(s). When a match is found,the cadence is determined. In another embodiment, the pixel frame motion detector 410 and frame motion global accu-mulator 415 are implemented similar to the frame motion detector 105 shown in Figure 1.[0044] In another embodiment, to determine whether motion is present between two compared objects (frames orfields), the motion detection logic 305 includes a programmable threshold. The programmable threshold is set to declarewhen two compared interlaced fields are different or the same, and a different threshold can be set to declare when twocompared progressive frames are different or the same. Setting an appropriate threshold for the type of input streamcan make the motion determinations more reliable.[0045] For example, the de-interlacer 300 is typically unaware of the source of an interlaced input stream. The interlacedstream may have gone through a number of encoding and decoding processes before arriving at the de-interlacer 300.As a result of multiple encodings/decodings, fields that should be identical are no longer identical (e.g. field Ae is notequal to the next Ae field). Thus when comparing field Ae to another field Ae, the result could indicate some pixel motionbetween the fields. In this case, the programmable threshold can be set more aggressively to declare more near zerocomparisons as the same field. More reliable motion determinations may result, which can increase the reliability of thecadence determination.[0046] With reference to Figure 5, one embodiment of a method 500 is illustrated that shows various aspects ofprocessing an input video stream and determining its cadence. Method 500 generally reflects portions of the functionsdescribed in previous embodiments. As such, the specific examples and details of method 500 can be obtained fromthe previous embodiments.[0047] At 505, the input video stream is received and at 510, the form of the stream is determined. If the input streamis a progressive video stream then, at 515, the progressive video stream is analyzed and adjacent progressive framesare compared. As described in Figure 3B, one or more control signals can cause the motion detection logic 305 tochange which memory elements are accessed from the input video stream so that progressive frames are accessedinstead of interlaced fields, which are accessed when the method flows to block 535. At 520, motion values are generatedbetween the adjacent progressive frames for a sequence of frames. At 525, cadence information is generated and stored,which represents a cadence pattern of the progressive video stream determined from the motion values. At 530, theprogressive video steam is converted to a stream having a different cadence (e.g. a smooth movie cadence) based, atleast in part, on the cadence information.[0048] If at 510 the method determines that the input video stream is interlaced, a de-interlacing process is performed.In one embodiment, the method includes switching a circuit between analyzing the progressive video stream and de-interlacing the interlaced video stream based on the form of the input video stream. At 535, the interlaced fields of theinterlaced stream are analyzed. At 540, motion values are determined from the interlaced fields and at 545, cadenceinformation is generated that represents the cadence pattern of the interlaced stream. At 550, once the cadence patternis determined, the interlaced stream is converted to a de-interlaced progressive stream by combining and weavingappropriate fields. The method then continues to 530 where a different cadence (e.g. a smooth movie cadence) isgenerated from the progressive stream.[0049] While for purposes of simplicity of explanation, the illustrated methodologies are shown and described as aseries of blocks. However, it is to be appreciated that the methodologies are not limited by the order of the blocks, andsome blocks can occur in different orders and/or concurrently with other blocks from that shown and described. Moreover,

EP 2 415 259 B1

8

5

10

15

20

25

30

35

40

45

50

55

less than all the illustrated blocks may be used to implement a methodology. Blocks may be combined or separated intomultiple components. Furthermore, additional and/or alternative methodologies can employ additional, not illustratedblocks.[0050] It will be appreciated that in some embodiments, some or all the methods, devices, or components describedherein may be implemented as logic, as computer executable instructions stored on a machine-readable storage medium,as one or more circuits, and so on. The functions may be implemented in a semiconductor chip.[0051] While example systems, methods, and so on have been illustrated by describing examples, and while theexamples have been described in considerable detail, it is not the intention of the applicants to restrict or in any waylimit the scope of the appended claims to such detail. It is, of course, not possible to describe every conceivable com-bination of components or methodologies for purposes of describing the systems, methods, and so on described herein.Therefore, the invention is not limited to the specific details, the representative apparatus, and illustrative examplesshown and described. Thus, this application is intended to embrace alterations, modifications, and variations that fallwithin the scope of the appended claims.

Claims

1. An apparatus, comprising:

a motion detection logic (305) configured to analyze an input video stream, wherein the input video stream isan interlaced stream comprising interlaced fields or is a progressive stream comprising progressive frames,and to determine a pattern of motion between the progressive frames when the input video stream is a progressivestream, and to determine a pattern of motion between the interlaced fields when the input video stream is aninterlaced stream, the pattern of motion being a repeating pattern of motion values, wherein a motion value haseither a value to indicate that two compared progressive frames or two compared interlaced fields are differentor a value to indicate that the two compared frames or fields are the same or similar;a cadence detector (325) to determine a cadence pattern from the pattern of motion of the analyzed input videostream, the cadence detector being programmed with one or more cadence patterns to match the motion values;a converter (330) to, when the input video stream is an interlaced stream, convert the input video stream to aprogressive stream; anda frame rate converter (120) to convert the progressive stream to a video stream having a different cadencethan the determined cadence pattern based at least in part on the cadence pattern;wherein the motion detection logic includes a programmable threshold that is set to declare when two comparedinterlaced fields are different and when two compared progressive frames are different, where the programmablethreshold is set differently for the interlaced stream than for the progressive stream, wherein the programmablethreshold is used to determine whether motion is present between two compared frames or between two com-pared fields.

2. The apparatus of claim 1 where the apparatus is connected to provide the progressive frames and a cadence state,the cadence state being a sequence that reflects how to identify the frames in a repeating cadence pattern, to theframe-rate converter, where the cadence state provides instructions for recovering the cadence pattern from theprogressive frames.

3. The apparatus of claim 1 wherein, when the input video stream is a progressive stream comprising progressiveframes, the motion detector is configured to identify different types of content within a progressive frame of theprogressive stream by:

generating a plurality of slices of pixel groups from a frame and an adjacent frame of the progressive frames;determining motion vectors between corresponding slices from the adjacent frame;generating a histogram for each of the plurality of slices that indicates an amount of motion between the adjacentframe and the frame in the corresponding slices using the motion vectors; anddetermining that different types of content exist if the histogram is a bi-modal histogram.

4. The apparatus of claim 1 where the apparatus is implemented in a de-interlacer configured to convert the interlacedstream to a progressive video stream, where the de-interlacer comprises:

a field motion detector (310) to access and compare fields from the interlaced stream and determine field motionbetween the fields, where the field motion detector is configured as part of the motion detection logic; and

EP 2 415 259 B1

9

5

10

15

20

25

30

35

40

45

50

55

a controller to configure the field motion detector to function as the frame motion detector by accessing andcomparing frames instead of the fields in response to determining that progressive video is input.

5. The apparatus of claim 1 wherein, when the input video stream is a progressive stream comprising progressiveframes, the motion detector is configured to compare a progressive frame with an adjacent progressive frame by:

comparing pixel slices from the progressive frame and the adjacent progressive frame;determining motion vectors between the pixel slices;generating a histogram of motion values from the motion vectors; andgenerating, based at least in part on the histogram, a frame difference value that indicates whether the pro-gressive frame is different than the adjacent progressive frame.

6. The apparatus of claim 1, wherein the frame-rate converter is configured to generating a different cadence by addingor dropping frames from the progressive stream based, at least in part, on a cadence state, the cadence state beinga sequence that reflects how to identify the progressive frames in a repeating cadence pattern.

7. A method of operating a de-interlacer, comprising:

analyzing (535, 515), by motion detection logic, an input video stream and determining a pattern of motion, thepattern of motion being a repeating pattern of motion values,wherein a motion value has either a value to indicate that two compared frames or fields are different or a valueto indicate that the two compared frames or fields are the same or similar, the motion detection logic being re-configurable between:

determining the pattern of motion between interlaced fields when the input video stream is an interlacedstream; anddetermining the pattern of motion between progressive frames when the input video stream is a progressivestream;

determining (545, 525), by a cadence detector, a cadence pattern from the pattern of motion, the cadencedetector being programmed with one or more cadence patterns to match the motion values; andwhen the input video stream is an interlaced stream, converting (550), by a converter, the input video streamto a progressive stream;converting (530), by a frame rate converter, the progressive video stream to have a different cadence than thedetermined cadence pattern based at least in part on the cadence pattern;wherein the motion detection logic includes a programmable threshold that is set to declare when two comparedinterlaced fields are different and when two compared progressive frames are different, where the programmablethreshold is set differently for the interlaced stream than for the progressive stream, wherein the programmablethreshold is used to determine whether motion is present between two compared frames or between two com-pared fields.

8. The method of claim 7 further comprising controlling, by the controller, the motion detection logic to function betweencomparing the interlaced fields of the interlaced stream and comparing the progressive frames from the progressivestream.

9. The method of claim 7 where the motion detection logic is responsive to a control signal to change memory elementsthat are accessed from the input video stream to access the progressive frames instead of the interlaced fields whenthe input video stream is a progressive stream.

10. The method of claim 7 where the frame motion detector is a sub-set of the field motion detector and/or where theframe motion detector analyzes the progressive frames by comparing each frame with an adjacent frame anddetermining whether the frames are different frames.

11. The method of claim 7, where the cadence detector is programmable to detect a selected cadence pattern from aplurality of cadence patterns.

12. A machine-readable storage medium storing computer-executable instructions that, when executed, perform amethod comprising:

EP 2 415 259 B1

10

5

10

15

20

25

30

35

40

45

50

55

analyzing (535, 515) an input video stream, wherein the input video stream is an interlaced stream or a pro-gressive stream, and comparing adjacent progressive frames when the input video stream is a progressivestream, and comparing neighboring fields on either side of a current field when the input video stream is aninterlaced stream;generating (540, 520) a pattern of motion between the adjacent progressive frames for a sequence of frameswhen the input video stream is a progressive stream, and generating a pattern of motion between interlacedfields when the input video stream is an interlaced stream, the pattern of motion being a repeating pattern ofmotion values, wherein a motion value has either a value to indicate that two compared frames or fields aredifferent or a value to indicate that the two compared frames or fields are the same or similar;generating (545, 525) and storing cadence information that represents a cadence pattern of the input videostream determined from the pattern of motion by matching the motion values with one or more programmedcadence patterns;when the input video stream is an interlaced stream, converting (550) the input video stream to a progressivestream; andconverting (530) the progressive video steam to a stream having a cadence pattern that is different than thedetermined cadence pattern based, at least in part, on the cadence information;wherein a programmable threshold is set to declare when two compared interlaced fields are different and whentwo compared progressive frames are different, where the programmable threshold is set differently for theinterlaced stream than for the progressive stream, wherein the programmable threshold is used to determinewhether motion is present between two compared frames or between two compared fields.

13. The machine-readable storage medium of claim 12 where prior to the analyzing, the method comprises:

receiving an input video stream;determining if the input video stream is an interlaced stream or the progressive video stream;if the interlaced stream is determined, then:

determining field motion from interlaced fields of the interlaced stream;generating and storing cadence information that represents a cadence pattern of the interlaced streamdetermined from the motion values; andconverting the interlaced stream to a de-interlaced progressive stream based, at least in part, on the cadencepattern.

14. The machine-readable storage medium of claim 12 where converting the progressive video stream to the streamhaving the different cadence includes generating the stream to have a uniform number of repeating frames.

15. The machine-readable storage medium of claim 12, the method further comprising:

receiving an input video stream that is in a form of the progressive video stream or an interlaced video stream;switching a circuit between analyzing the progressive video stream and de-interlacing the interlaced videostream based on the form of the input video stream.

Patentansprüche

1. Vorrichtung, welche umfasst:

eine Bewegungserkennungslogik (305), welche eingerichtet ist, einen Eingabevideodatenstrom zu analysieren,wobei der Eingabevideodatenstrom ein verschachtelter Datenstrom ist, welcher verschachtelte Halbbilder um-fasst, oder ein progressive Datenstrom ist, welcher progressive Bilder umfasst, und ein Bewegungsmusterzwischen den progressiven Bildern zu bestimmen, wenn der Eingabevideodatenstrom ein progressiver Daten-strom ist, und ein Bewegungsmuster zwischen den verschachtelten Halbbildern zu bestimmen, wenn der Ein-gabevideodatenstrom ein verschachtelter Datenstrom ist, wobei das Bewegungsmuster ein sich wiederholendesMuster von Bewegungswerten ist, wobei ein Bewegungswert entweder einen Wert hat, um anzuzeigen, dasszwei verglichene progressive Bilder oder zwei verglichene verschachtelte Halbbilder unterschiedlich sind, odereinen Wert um anzuzeigen, dass die zwei verglichenen Bilder oder Halbbilder gleich oder ähnlich sind;einen Kadenzerkenner (325), um ein Kadenzmuster aus dem Bewegungsmuster des analysierten Eingabevi-deodatenstroms zu ermitteln, wobei der Kadenzerkenner mit einem oder mehreren Kadenzmustern program-

EP 2 415 259 B1

11

5

10

15

20

25

30

35

40

45

50

55

miert ist, um sie mit den Bewegungswerten abzugleichen;einen Umwandler (330), um den Eingabevideodatenstrom in einen progressiven Datenstrom umzuwandeln,wenn der Eingabevideodatenstrom ein verschachtelter Datenstrom ist; undeinen Bildwiederholratenwandler (120), um den progressiven Datenstrom in einen Videodatenstrom umzuwan-deln, welcher eine unterschiedliche Kadenz als das ermittelte Kadenzmuster hat, wobei das Umwandeln we-nigstens zum Teil auf dem Kadenzmuster basiert;wobei die Bewegungserkennungslogik einen programmierbaren Schwellenwert enthält, welcher festgelegt ist,um festzustellen, wann zwei verglichene verschachtelte Halbbilder unterschiedlich sind, und wann zwei vergli-chene progressive Bilder unterschiedlich sind, wobei der programmierbare Schwellenwert für den verschach-telten Datenstrom unterschiedlich als für den progressiven Datenstrom festgelegt ist, wobei der programmier-bare Schwellenwert verwendet wird, um zu ermitteln, ob Bewegung zwischen zwei verglichenen Bildern oderzwischen zwei verglichenen Halbbildern vorhanden ist.

2. Vorrichtung nach Anspruch 1, wobei die Vorrichtung mit dem Bildwiederholratenwandler verbunden ist, um dieVollbilder und einen Kadenz-Zustand zu liefern, wobei der Kadenz-Zustand eine Abfolge ist, welche wiedergibt, wiedie Bilder in einem sich wiederholenden Kadenzmuster zu ermitteln sind, wobei der Kadenz-Zustand Angabenenthält, um das Kadenzmuster aus den progressiven Bildern wiederherzustellen.

3. Vorrichtung nach Anspruch 1, wobei, wenn der Eingabevideodatenstrom ein progressiver Datenstrom ist, welcherprogressive Bilder umfasst, der Bewegungserkenner eingerichtet ist, unterschiedliche Typen von Inhalt innerhalbeines progressiven Bildes des progressiven Datenstroms zu ermitteln, wobei das Ermitteln erfolgt durch:

Erzeugen einer Mehrzahl von Teilen von Pixelgruppen aus einem Bild und einem angrenzenden Bild aus denprogressiven Bildern;Bestimmen von Bewegungsvektoren zwischen sich entsprechenden Teilen aus dem angrenzenden Bild;Erzeugen eines Histogramms für jeden der Mehrzahl von Teilen, welches unter Verwendung der Bewegungs-vektoren ein Ausmaß an Bewegung zwischen dem angrenzenden Bild und dem Bild in den entsprechendenTeilen anzeigt; undFeststellen, dass unterschiedliche Typen von Inhalt vorliegen, wenn das Histogramm ein bimodales Histogrammist.

4. Vorrichtung nach Anspruch 1, wobei die Vorrichtung in einem De-Interlacer eingebaut ist, welcher eingerichtet ist,den verschachtelten Datenstrom in einen progressiven Videodatenstrom umzuwandeln, wobei der De-Interlacerumfasst:

einen Bewegungserkenner für Halbbilder (310), um auf Halbbilder aus dem verschachtelten Datenstrom zuzu-greifen und diese zu vergleichen und Halbbildbewegung zwischen den Halbbildern zu ermitteln, wobei derBewegungserkenner für Halbbilder aus Teil der Bewegungserkennungslogik konfiguriert ist; undeine Steuerung, um den Bewegungserkenner für Halbbilder als Reaktion auf ein Feststellen, dass progressivesVideo eingegeben wird, so zu konfigurieren, dass selbiger durch Zugreifen auf Bilder und Vergleichen vonBildern an Stelle der Halbbilder als der Bewegungserkenner für Bilder tätig ist.

5. Vorrichtung nach Anspruch 1, wobei der Bewegungserkenner konfiguriert ist, ein progressives Bild mit einem an-grenzenden progressiven Bild zu vergleichen, wenn der Eingabevideodatenstrom ein progressiver Datenstrom ist,welcher progressive Bilder umfasst, wobei das Vergleichen erfolgt durch:

Vergleichen von Teilen von Pixeln aus dem progressiven Bild und dem angrenzenden progressiven Bild;Bestimmen von Bewegungsvektoren zwischen den Teilen von Pixeln;Erzeugen eines Histogramms von Bewegungswerten aus den Bewegungsvektoren; undErzeugen eines Bild-Unterschiedswertes, welcher anzeigt, ob das progressive Bild zu dem angrenzenden pro-gressiven Bild unterschiedlich ist, wobei das Erzeugen wenigstens zum Teil auf dem Histogramm basiert.

6. Vorrichtung nach Anspruch 1, wobei der Bildwiederholratenwandler konfiguriert ist, eine unterschiedliche Kadenzdurch Hinzufügen oder Fallenlassen von Bildern aus dem progressiven Datenstrom zu erzeugen, wobei das Erzeu-gen wenigstens zum Teil auf einem Kadenz-Zustand basiert, wobei der Kadenz-Zustand eine Abfolge ist, welchewiedergibt, wie die progressiven Bilder in einem sich wiederholenden Kadenzmuster zu ermitteln sind.

7. Verfahren zum Betreiben eines De-Interlacers, welches umfasst:

EP 2 415 259 B1

12

5

10

15

20

25

30

35

40

45

50

55

Analysieren (535, 515) eines Eingabevideodatenstroms durch eine Bewegungserkennungslogik, und Bestim-men eines Bewegungsmusters, wobei das Bewegungsmuster ein sich wiederholendes Muster von Bewegungs-werten ist, wobei ein Bewegungswert entweder einen Wert hat, um anzuzeigen, dass zwei verglichene Bilderoder Halbbilder unterschiedlich sind, oder einen Wert um anzuzeigen, dass die zwei verglichenen Bilder oderHalbbilder gleich oder ähnlich sind, wobei die Bewegungserkennungslogik rekonfigurierbar ist zwischen:

Bestimmen des Bewegungsmusters zwischen verschachtelten Halbbildern, wenn der Eingabevideodaten-strom ein verschachtelter Datenstrom ist; undBestimmen des Bewegungsmusters zwischen progressiven Bildern, wenn der Eingabevideodatenstromein progressiver Datenstrom ist;

Bestimmen (545, 525) eines Kadenzmusters aus dem Bewegungsmuster durch einen Kadenzerkenner, wobeider Kadenzerkenner mit einem oder mehreren Kadenzmustern programmiert ist, um sie mit den Bewegungs-werten abzugleichen; undwenn der Eingabevideodatenstrom ein verschachtelter Datenstrom ist, Umwandeln (550) des Eingabevideo-datenstroms in einen progressiven Datenstrom durch einen Umwandler;Umwandeln (530) des progressiven Videodatenstroms durch einen Bildwiederholratenwandler, um eine unter-schiedliche Kadenz als das ermittelte Kadenzmuster zu haben, wobei das Umwandeln wenigstens zum Teilauf dem Kadenzmuster basiert;wobei die Bewegungserkennungslogik einen programmierbaren Schwellenwert enthält, welcher festgelegt ist,um festzustellen, wann zwei verglichene verschachtelte Halbbilder unterschiedlich sind, und wann zwei vergli-chene progressive Bilder unterschiedlich sind, wobei der programmierbare Schwellenwert für den verschach-telten Datenstrom unterschiedlich als für den progressiven Datenstrom festgelegt ist, wobei der programmier-bare Schwellenwert verwendet wird, um zu ermitteln, ob Bewegung zwischen zwei verglichenen Bildern oderzwischen zwei verglichenen Halbbildern vorhanden ist.

8. Verfahren nach Anspruch 7, welches weiterhin umfasst: Steuern der Bewegungserkennungslogik durch die Steu-ereinheit zwischen einer Tätigkeit zum Vergleichen der verschachtelten Halbbilder des verschachtelten Datenstromsund einem Vergleichen der progressiven Bilder des progressiven Datenstroms.

9. Verfahren nach Anspruch 7, wobei die Bewegungserkennungslogik auf ein Steuersignal reagiert, um Speicherele-mente, auf welche von dem Eingabevideodatenstrom zugegriffen wird, zu wechseln, um auf die progressiven Bilderan Stelle der verschachtelten Halbbilder zuzugreifen, wenn der Eingabevideodatenstrom ein progressiver Daten-strom ist.

10. Verfahren nach Anspruch 7, wobei der Bewegungserkenner für Bilder eine Untergruppe des Bewegungserkennersfür Halbbilder ist, und/oder wobei der Bewegungserkenner für Bilder die progressiven Bilder durch ein Vergleichenvon jedem Bild mit einem angrenzenden Bild, und ein Bestimmen, ob die Bilder unterschiedliche Bilder sind, ana-lysiert.

11. Verfahren nach Anspruch 7, wobei der Kadenzerkenner programmierbar ist, um ein ausgewähltes Kadenzmusteraus einer Vielzahl von Kadenzmustern zu erkennen.

12. Maschinenlesbares Speichermedium, welches Befehle speichert, welche durch einen Computer ausführbar sind,und welche, wenn sie ausgeführt werden, ein Verfahren durchführen, welches umfasst:

Analysieren (535, 515) eines Eingabevideodatenstroms, wobei der Eingabevideodatenstrom ein verschachtelterDatenstrom oder ein progressiver Datenstrom ist, und Vergleichen von angrenzenden progressiven Bildern,wenn der Eingabevideodatenstrom ein progressiver Datenstrom ist, und Vergleichen von benachbarten Halb-bildern auf beiden Seiten eines aktuellen Halbbildes, wenn der Eingabevideodatenstrom ein verschachtelterDatenstrom ist;Erzeugen (540, 520) eines Bewegungsmusters zwischen den angrenzenden progressiven Bildern für eineAbfolge von Bildern, wenn der Eingabevideodatenstrom ein progressiver Datenstrom ist, und Erzeugen einesBewegungsmusters zwischen verschachtelten Halbbildern, wenn der Eingabevideodatenstrom ein verschach-telter Datenstrom ist, wobei das Bewegungsmuster ein sich wiederholendes Muster von Bewegungswerten ist,wobei ein Bewegungswert entweder einen Wert hat, um anzuzeigen, dass zwei verglichene Bilder oder Halb-bilder unterschiedlich sind, oder einen Wert um anzuzeigen, dass die zwei verglichenen Bilder oder Halbbildergleich oder ähnlich sind;

EP 2 415 259 B1

13

5

10

15

20

25

30

35

40

45

50

55

Erzeugen (545, 525) und Speichern von Kadenzinformationen, welche ein Kadenzmuster des Eingabevideo-datenstroms darstellt, welches aus dem Bewegungsmuster durch ein Abgleichen der Bewegungswerte mit einoder mehreren programmierten Kadenzmustern ermittelt wurde;wenn der Eingabevideodatenstrom ein verschachtelter Datenstrom ist, Umwandeln (550) des Eingabevideo-datenstroms in einen progressiven Datenstrom;Umwandeln (530) des progressiven Videodatenstroms in einen Datenstrom, welcher ein unterschiedlichesKadenzmuster, als das ermittelte Kadenzmuster hat, wobei das Umwandeln wenigstens zum Teil auf denKadenzinformationen basiert;wobei ein programmierbarer Schwellenwert festgelegt ist, um festzustellen, wann zwei verglichene verschach-telte Halbbilder unterschiedlich sind, und wann zwei verglichene progressive Bilder unterschiedlich sind, wobeider programmierbare Schwellenwert für den verschachtelten Datenstrom unterschiedlich als für den progres-siven Datenstrom festgelegt ist, wobei der programmierbare Schwellenwert verwendet wird, um zu ermitteln,ob Bewegung zwischen zwei verglichenen Bildern oder zwischen zwei verglichenen Halbbildern vorhanden ist.

13. Maschinenlesbares Speichermedium nach Anspruch 12, wobei das Verfahren vor dem Analysieren umfasst:

Empfangen eines Eingabevideodatenstroms;Feststellen, ob der Eingabevideodatenstrom ein verschachtelter Datenstrom oder der progressiver Videoda-tenstrom ist;Wenn der verschachtelte Datenstrom festgestellt wurde, dann:

Bestimmen von Halbbildbewegung aus den verschachtelten Halbbildern aus dem verschachtelten Daten-strom;Erzeugen und Speichern von Kadenzinformationen, welche ein Kadenzmuster des verschachtelten Da-tenstroms darstellt, welches aus den Bewegungswerten ermittelt wurde; undUmwandeln des verschachtelten Datenstroms in einen progressiven Datenstrom, welcher de-interlacedist, wobei das Umwandeln zumindest zum Teil auf dem Kadenzmuster basiert.

14. Maschinenlesbares Speichermedium nach Anspruch 12, wobei das Umwandeln des progressiven Videodaten-stroms in einen Datenstrom, welcher ein unterschiedliches Kadenzmuster hat, ein Erzeugen des Datenstromesenthält, so dass dieser eine gleichmäßige Anzahl von sich wiederholenden Bildern hat.

15. Maschinenlesbares Speichermedium nach Anspruch 12, wobei das Verfahren weiterhin umfasst:

Empfangen eines Eingabevideodatenstroms, welcher die Form des progressiven Videodatenstroms oder einesverschachtelten Videodatenstroms hat;Umschalten einer Schaltung zwischen einem Analysieren des progressiven Videodatenstroms und einem De-interlacen des verschachtelten Videodatenstroms, wobei das Umschalten auf der Form des Eingabevideoda-tenstroms basiert.

Revendications

1. Appareil comprenant :

un système logique de détection de mouvement (305) configuré pour analyser un flux vidéo d’entrée, danslequel le flux vidéo d’entrée est un flux entrelacé comprenant des champs entrelacés ou est un flux progressifcomprenant des trames progressives, et pour déterminer un motif de mouvement entre les trames progressivesquand le flux vidéo d’entrée est un flux progressif, et pour déterminer un motif de mouvement entre les champsentrelacés quand le flux vidéo d’entrée est un flux entrelacé, le motif de mouvement étant un motif répétitif devaleurs de mouvement, dans lequel une valeur de mouvement a soit une valeur pour indiquer que deux tramesprogressives comparées ou deux champs entrelacés comparés sont différents, soit une valeur pour indiquerque les deux trames ou champs comparés sont identiques ou similaires ;un détecteur de cadence (325) pour déterminer un motif de cadence à partir du motif de mouvement du fluxvidéo d’entrée analysé, le détecteur de cadence étant programmé avec un ou plusieurs motifs de cadence pourcorrespondre aux valeurs de mouvement ;un convertisseur (330) pour, quand le flux vidéo d’entrée est un flux entrelacé, convertir le flux vidéo d’entréeen un flux progressif ; et

EP 2 415 259 B1

14

5

10

15

20

25

30

35

40

45

50

55

un convertisseur de cadence d’images (120) pour convertir le flux progressif en un flux vidéo ayant une cadencedifférente de celle du motif de cadence déterminé, sur base au moins en partie du motif de cadence ;dans lequel le système logique de détection de mouvement comprend un seuil programmable qui est réglépour déclarer quand deux champs entrelacés comparés sont différents et quand deux trames progressivescomparées sont différentes, où le seuil programmable est réglé différemment pour le flux entrelacé que pourle flux progressif, dans lequel le seuil programmable est utilisé pour déterminer si un mouvement est présentou non entre deux trames comparées ou entre deux champs comparés.

2. Appareil selon la revendication 1, dans lequel l’appareil est connecté pour fournir les trames progressives et un étatde cadence, l’état de cadence étant une séquence qui réfléchit comment identifier les trames selon un motif decadence répétitif, au convertisseur de cadence d’images, où l’état de cadence fournit des instructions pour récupérerle motif de cadence à partir des trames progressives.

3. Appareil selon la revendication 1 dans lequel, quand le flux vidéo d’entrée est un flux progressif comprenant destrames progressives, le détecteur de mouvement est configuré pour identifier différents types de contenu dans unetrame progressive du flux progressif en :

générant une pluralité de tranches de groupes de pixels à partir d’une trame et d’une trame adjacente destrames progressives ;déterminant des vecteurs de mouvement entre des tranches correspondantes de la trame adjacente ;générant un histogramme pour chaque tranche de la pluralité de tranches qui indique une quantité de mouvemententre la trame adjacente et la trame dans les tranches correspondantes en utilisant les vecteurs de mouvement ;etdéterminant que différents types de contenu existent si l’histogramme est un histogramme bimodal.

4. Appareil selon la revendication 1, dans lequel l’appareil est implémenté dans un désentrelaceur configuré pourconvertir le flux entrelacé en un flux vidéo progressif, dans lequel le désentrelaceur comprend :

un détecteur de mouvement de champ (310) pour accéder à des champs du flux entrelacé et les comparer etpour déterminer un mouvement de champ entre les champs, dans lequel le détecteur de mouvement de champest configuré comme une partie du système logique de détection de mouvement ; etun contrôleur pour configurer le détecteur de mouvement de champ pour fonctionner comme détecteur demouvement de trame en accédant à des trames au lieu des champs et en les comparant, en réponse à ladétermination qu’une vidéo progressive est entrée.

5. Appareil selon la revendication 1 dans lequel, quand le flux vidéo d’entrée est un flux progressif comprenant destrames progressives, le détecteur de mouvement est configuré pour comparer une trame progressive à une trameprogressive adjacente en :

comparant des tranches de pixels de la trame progressive et de la trame progressive adjacente ;déterminant des vecteurs de mouvement entre les tranches de pixels ;générant un histogramme de valeurs de mouvement à partir des vecteurs de mouvement ; etgénérant, sur base au moins en partie de l’histogramme, une valeur de différence de trame qui indique si latrame progressive est différente ou non de la trame progressive adjacente.

6. Appareil selon la revendication 1, dans lequel le convertisseur de cadence d’images est configuré pour générer unecadence différente en ajoutant ou en éliminant des trames du flux progressif sur base, au moins en partie, d’un étatde cadence, l’état de cadence étant une séquence qui réfléchit comment identifier les trames progressives dansun motif de cadence répétitif.

7. Procédé d’utilisation d’un désentrelaceur, comprenant :

l’analyse (535, 515) d’un flux vidéo d’entrée par un système logique de détection de mouvement et la détermi-nation d’un motif de mouvement, le motif de mouvement étant un motif répétitif de valeurs de mouvement, danslequel une valeur de mouvement a soit une valeur pour indiquer que deux trames comparées ou deux champscomparés sont différents, soit une valeur pour indiquer que les deux trames ou champs comparés sont identiquesou similaires, le système logique de détection de mouvement étant reconfigurable entre :

EP 2 415 259 B1

15

5

10

15

20

25

30

35

40

45

50

55

la détermination du motif de mouvement entre des champs entrelacés quand le flux vidéo d’entrée est unflux entrelacé ; etla détermination du motif de mouvement entre des trames progressives quand le flux vidéo d’entrée estun flux progressif ;

la détermination (545, 525) d’un motif de cadence par un détecteur de cadence à partir du motif de mouvement,le détecteur de cadence étant programmé avec un ou plusieurs motifs de cadence pour correspondre auxvaleurs de mouvement ; etquand le flux vidéo d’entrée est un flux entrelacé, la conversion (550) du flux vidéo d’entrée en un flux progressifpar un convertisseur ;la conversion (530) du flux vidéo progressif par un convertisseur de cadence d’images pour obtenir une cadencedifférente du motif de cadence déterminé sur base au moins en partie du motif de cadence ;dans lequel le système logique de détection de mouvement comprend un seuil programmable qui est réglépour déclarer quand deux champs entrelacés comparés sont différents et quand deux trames progressivescomparées sont différentes, où le seuil programmable est réglé différemment pour le flux entrelacé que pourle flux progressif, dans lequel le seuil programmable est utilisé pour déterminer si le mouvement est présentou non entre deux trames comparées ou entre deux champs comparés.

8. Procédé selon la revendication 7, comprenant en outre le contrôle du système logique de détection de mouvementpar le contrôleur pour fonctionner entre la comparaison des champs entrelacés du flux entrelacé et la comparaisondes trames progressives du flux progressif.

9. Procédé selon la revendication 7, dans lequel le système logique de détection de mouvement répond à un signalde contrôle pour changer des éléments de mémoire auxquels un accès est obtenu à partir du flux vidéo d’entréepour accéder aux trames progressives au lieu des champs entrelacés quand le flux vidéo d’entrée est un fluxprogressif.

10. Procédé selon la revendication 7, dans lequel le détecteur de mouvement de trame est un sous-ensemble dudétecteur de mouvement de champ et/ou dans lequel le détecteur de mouvement de trame analyse les tramesprogressives en comparant chaque trame à une trame adjacente et en déterminant si les trames sont ou non destrames différentes.

11. Procédé selon la revendication 7, dans lequel le détecteur de cadence est programmable pour détecter un motifde cadence sélectionné parmi une pluralité de motifs de cadence.

12. Support de stockage lisible par une machine, stockant des instructions exécutables par un ordinateur qui, lorsqu’ellessont exécutées, mettent en oeuvre un procédé comprenant :

l’analyse (535, 515) d’un flux vidéo d’entrée, dans lequel le flux vidéo d’entrée est un flux entrelacé ou un fluxprogressif, et la comparaison de trames progressives adjacentes quand le flux vidéo d’entrée est un flux pro-gressif, et la comparaison de champs voisins de chaque côté d’un champ courant quand le flux vidéo d’entréeest un flux entrelacé ;la génération (540, 520) d’un motif de mouvement entre les trames progressives adjacentes pour une séquencede trames quand le flux vidéo d’entrée est un flux progressif, et la génération d’un motif de mouvement entredes champs entrelacés quand le flux vidéo d’entrée est un flux entrelacé, le motif de mouvement étant un motifrépétitif de valeurs de mouvement, dans lequel une valeur de mouvement a soit une valeur pour indiquer quedeux trames ou champs comparés sont différents, soit une valeur pour indiquer que les deux trames ou champscomparés sont identiques ou similaires ;la génération (545, 525) et le stockage d’information de cadence qui représente un motif de cadence du fluxvidéo d’entrée déterminé à partir du motif de mouvement en mettant en correspondance les valeurs de mou-vement avec un ou plusieurs motifs de cadence programmés ;quand le flux vidéo d’entrée est un flux entrelacé, la conversion (550) du flux vidéo d’entrée en un flux progressif ;etla conversion (530) du flux vidéo progressif en un flux ayant un motif de cadence qui est différent du motif decadence déterminé, sur base au moins en partie de l’information de cadence ;dans lequel un seuil programmable est réglé pour déclarer quand deux champs entrelacés comparés sontdifférents et quand deux trames progressives comparées sont différentes, où le seuil programmable est réglédifféremment pour le flux entrelacé que pour le flux progressif, dans lequel le seuil programmable est utilisé

EP 2 415 259 B1

16

5

10

15

20

25

30

35

40

45

50

55

pour déterminer si le mouvement est présent ou non entre deux trames comparées ou entre deux champscomparés.

13. Support de stockage lisible par une machine selon la revendication 12 où, avant l’analyse, le procédé comprend :

la réception d’un flux vidéo d’entrée ;la détermination du fait que le flux vidéo d’entrée est un flux entrelacé ou un flux vidéo progressif ;si le flux entrelacé est déterminé, alors :

la détermination d’un mouvement de champ à partir de champs entrelacés du flux entrelacé ;la génération et le stockage d’information de cadence qui représente un motif de cadence du flux entrelacédéterminé à partir des valeurs de mouvement ; etla conversion du flux entrelacé en un flux progressif désentrelacé sur base, au moins en partie, du motifde cadence.

14. Support de stockage lisible par une machine selon la revendication 12, dans lequel la conversion du flux vidéoprogressif en ledit flux ayant la cadence différente comprend la génération du flux pour qu’il ait un nombre uniformede trames répétitives.

15. Support de stockage lisible par une machine selon la revendication 12, le procédé comprenant en outre :

la réception d’un flux vidéo d’entrée qui est sous une forme du flux vidéo progressif ou d’un flux vidéo entrelacé ;la commutation d’un circuit entre l’analyse du flux vidéo progressif et le désentrelaçage du flux vidéo entrelacésur base de la forme du flux vidéo d’entrée.

EP 2 415 259 B1

17

EP 2 415 259 B1

18

EP 2 415 259 B1

19

EP 2 415 259 B1

20

EP 2 415 259 B1

21

EP 2 415 259 B1

22

EP 2 415 259 B1

23

EP 2 415 259 B1

24

REFERENCES CITED IN THE DESCRIPTION

This list of references cited by the applicant is for the reader’s convenience only. It does not form part of the Europeanpatent document. Even though great care has been taken in compiling the references, errors or omissions cannot beexcluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description

• EP 1592247 A1 [0004]• US 2008151109 A1 [0005]

• US 2008151108 A1 [0006]• EP 1198137 A1 [0007]