Source: http://www.google.com/patents/US7916796?dq=6,455,937
Timestamp: 2017-07-28 09:11:13
Document Index: 523200334

Matched Legal Cases: ['art 10', 'art 10', 'art 10', 'art 10', 'art 10', 'art 10', 'art 10']

Patent US7916796 - Region clustering based error concealment for video data - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inPatentsAn error detection and correction circuit for a video decoder that reconstructs a lost macroblock including a clustering circuit, a classification circuit and an error concealment circuit. The clustering circuit clusters macroblocks adjacent to the lost macroblock into one or more defined clusters. The...http://www.google.com/patents/US7916796?utm_source=gb-gplus-sharePatent US7916796 - Region clustering based error concealment for video dataAdvanced Patent SearchTry the new Google Patents, with machine-classified Google Scholar results, and Japanese and South Korean patents.Publication numberUS7916796 B2Publication typeGrantApplication numberUS 11/254,166Publication dateMar 29, 2011Filing dateOct 19, 2005Priority dateOct 19, 2005Fee statusPaidAlso published asUS20070086527Publication number11254166, 254166, US 7916796 B2, US 7916796B2, US-B2-7916796, US7916796 B2, US7916796B2InventorsYong YanOriginal AssigneeFreescale Semiconductor, Inc.Export CitationBiBTeX, EndNote, RefManPatent Citations (16), Non-Patent Citations (11), Referenced by (8), Classifications (10), Legal Events (19) External Links: USPTO, USPTO Assignment, EspacenetRegion clustering based error concealment for video data
The Advanced Video Coding (AVC) standard, Part 10 of MPEG4 (Motion Picture Experts Group), otherwise known as International Telecommunication Union (ITU) H.264, include advanced compression techniques that were developed to enable transmission of video signals at a lower bit rate or storage of video signals using less storage space. The newer standard outperforms video compression techniques of prior standards in order to support higher quality streaming video at lower bit-rates and to enable internet-based video and wireless applications and the like. The standard does not define the CODEC (encoder/decoder pair) but instead defines the syntax of the encoded video bitstream along with a method of decoding the bitstream. Each video frame is subdivided and encoded at the macroblock level, where each macroblock is a 16×16 block of pixels. Each macroblock is encoded in ‘intraframe’ mode in which a prediction macroblock is formed based on reconstructed macroblocks in the current frame, or ‘interframe’ mode in which a prediction macroblock is formed based on previously reconstructed frames. The intraframe coding mode applies spatial information within the current frame in which the prediction macroblock is formed from samples in the current frame that have previously encoded, decoded and reconstructed. The interframe coding mode utilizes temporal information from previous and/or future reference frames to estimate motion to form the prediction macroblock.
Region clustering may be performed on different levels, such as the entire macroblock or sub-blocks of the lost macroblock (or any other suitable subdivision of a macroblock). In H.264/MPEG-4 AVC, for example, region clustering may be done based on the motion modes of each macroblock, e.g. 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 or 4×4. Although it may be possible to subdivide a macroblock down to the pixel level, the minimum coding unit for MPEG-4 standard is the 4×4 sub-block of pixels. The attributes of the neighboring macroblocks or sub-blocks are used for clustering. Examples of attributes are coding parameters (motion vectors, residual energy, coding block pattern), texture statistics (e.g. mean, variance), color components, frequency analysis (filtering, FFT/DCT/wavelets), image processing operators, etc. Any one or more of the classical clustering algorithms may be used, such as the K-means algorithm and the Markov Random Field theory and the like. Clustering generally involves applying mathematical algorithms to selected attributes of the macroblocks or sub-blocks of the macroblocks that neighbor the lost macroblock (e.g., adjacent to the lost macroblock in the horizontal, vertical and diagonal directions) and then grouping the blocks (macroblocks or sub-blocks thereof) to form clusters.
The error detection and correction circuit 209 detects the lost macroblock M and performs the region clustering process. During this process, a first cluster C1 is defined above a first border line B1 illustrated with dotted sub-blocks, a second cluster C2 is defined between the first border line B1 and a second border line B2 illustrated with unshaded sub-blocks, and a third cluster C3 is defined below the border line B2 illustrated with cross-hatched sub-blocks. Note that each 4×4 sub-block of the neighboring macroblocks A-H is assigned to one of the clusters C1-C3. The clusters C1-C3 are defined based on one or more selected attributes, such as coding parameters (motion vectors, residual energy, coding block pattern), texture statistics (e.g. mean, variance), color components, frequency analysis (filtering, FFT/DCT/wavelets), image processing operators, etc., as previously described. Thus the neighboring macroblocks B, C and E are completely within cluster C1 along with portions (e.g., selected sub-blocks) of macroblocks A, D, G and H. The neighboring macroblock F is almost completely within cluster C3 along with the lower left-hand 4×4 sub-block of macroblock D, the lower sub-blocks of macroblock G, and the lower left-hand 4×4 sub-block of macroblock H. The middle cluster C2 includes remaining sub-blocks of macroblocks A, D, G and H. Of course, other clusters (not shown) or alternative clusters may be defined based on the selected attributes and any weighting functions. The clustering illustrated in FIG. 5 was performed at the 4×4 sub-block level in which individual 4×4 sub-blocks are grouped into the clusters C1-C3. The clustering process may be performed at other sub-block sizes or combinations thereof depending upon the particular information, such as the entire macroblocks or combinations of different-sized sub-blocks (e.g., 16×8, 8×16, 8×8, etc.).
The lost macroblock M or each sub-block thereof is then classified into one of the defined clusters. In this case, the lost macroblock M appears to be entirely within the cluster C1, so that it may be classified as a whole as belonging to the cluster C1. Finally, error concealment is performed using any appropriate spatial-temporal information of the defined cluster. For example, the lost macroblock M may be recovered by averaging selected attributes of the macroblocks B, C and E and the 4×4 sub-blocks of macroblocks A, D, G and H classified into the same cluster C1.
FIG. 6 is simplified block diagram of a lost macroblock M including sub-blocks that are assigned to different clusters that have been previously assigned. In this case, the macroblock M is shown sub-divided into 16 4×4 sub-blocks M1, M2, M3, . . . , M16. During the region clustering procedure, two clusters C1 and C2 are defined separated by a border line B. As illustrated, the border line B terminated at a point 601 halfway between the right side of the macroblock D and also at a point 603 halfway between the left side of the macroblock E, in which cluster C1 is defined above and the cluster C2 is defined below the border line B. Initially, no portion of the lost macroblock M is assigned to either cluster during the region clustering process since only the neighboring macroblocks or portions thereof are clustered. During the classification process, the lost macroblock M or portions thereof are assigned to the defined clusters. In this case, the border line B is extended into the macroblock M as illustrated by a bold dashed line 605 between points 601 and 603. In particular, the border line B is extended horizontally along the middle of the macroblock M, so that the sub-blocks M1-M8 in the upper half are above the border line B and thus assigned to cluster C1 and the sub-blocks M9-M16 in the lower half are below the border line B and thus assigned to the cluster C2. As illustrated, the sub-blocks M1-M8 are shaded with diagonal lines slanted towards the right whereas the sub-blocks M9-M16 are shaded with diagonal lines slanted towards the left effectively dissecting the lost macroblock M into two separate portions.
It is appreciated that alternative portioning of the lost macroblock M may be employed depending upon the defined regions during clustering, such as 16×8, 8×16, 8×8, 8×4, or 4×8 as previously described. For example, after the clusters C1 and C2 are defined relative to the border B as shown in FIG. 6, it is reasonable to sub-divide the lost macroblock M into two 8×16 blocks including an upper 8×16 sub-block MA (including M1-M8) and a lower 8×16 sub-block macroblock (including M9-M16). In one embodiment, the default macroblock subdivision is down to the 4×4 level, and then adjacent sub-blocks assigned to the same cluster are combined. For example, after the border line B is extended as illustrated, each 4×4 sub-block M1-M16 of the macroblock M is assigned to one of the clusters C1 and C2 during classification. And adjacent sub-blocks assigned to the same cluster may then be combined into a larger sub-blocks prior to error concealment if desired. For example, during classification, assume sub-blocks M1-M8 are individually assigned to the cluster C1 and the sub-blocks M9-M16 are individually assigned to the cluster C2. The sub-blocks M1-M8 may then be combined to form the upper 8×16 sub-block MA and the sub-blocks M9-M16 are combined to form the lower 8×16 sub-block macroblock. The difference between eight 4×4 sub-blocks and a single 8×16 sub-block may become evident during error concealment depending upon the values of the selected attributes. For example, the attributes of the individual 4×4 sub-blocks might be reconstructed with somewhat different attributes as compared to the attributes of a single 8×16 sub-block. And the decision to combine sub-blocks may depend upon the relative sizes of the sub-blocks of the surrounding adjacent (neighboring) sub-blocks. For example, if the neighboring sub-blocks are clustered in groups of 8×8 sub-blocks, it is reasonable that the lost macroblock may be classified at the same level, i.e., into four 8×8 sub-blocks.
FIG. 7 is another simplified block diagram of the lost macroblock M including sub-blocks that are assigned to different clusters that have been previously assigned. In this case, the border line B terminated instead at a point 701 halfway between the 4×4 sub-blocks D4 and D8 on the upper right side of the macroblock D and also at a point 703 halfway between the 4×4 sub-blocks E9 and E13 on the lower left side of the macroblock E. The cluster C1 is defined above and the cluster C2 is defined below the border line B. Again, no portion of the lost macroblock M is initially assigned to either cluster during the region clustering process since only the neighboring macroblocks or portions thereof are clustered. During the classification process, the lost macroblock M or portions thereof are assigned to the defined clusters. In this case, the border line B is extended from point 701 by bold dashed line 707 to a point 705 at the intersection of 4×4 sub-blocks M2, M3, M6 and M7 and the border line B is extended from point 703 by bold dashed line 711 to a point 709 at the intersection of 4×4 sub-blocks M10, M11, M14 and M15. And then another bold dashed line 713 is drawn between points 705 and 709 dissecting macroblock M in half. In this case, however, the 4×4 sub-blocks M1-M4, M7, M8, M11 and M12 are above the border line B and thus assigned to cluster C1 whereas the 4×4 sub-blocks M5, M6, M9, M10 and M13-M16 are below the border line B and thus assigned to cluster C2.
In one embodiment, the attributes of the 4×4 sub-blocks M1-M4, M7, M8, M11 and M12 assigned to cluster C1 are individually determined and assigned and the 4×4 sub-blocks M5, M6, M9, M10 and M13-M16 assigned to cluster C2 are individually determined and assigned. Alternatively, additional grouping is possible into larger sub-blocks MA and MB illustrated with alternative shading. In particular, the 4×4 sub-blocks M3, M4, M7 and M8 are grouped together into a larger 8×8 sub-block MA assigned to cluster C1 and the 4×4 sub-blocks M9, M10, M13 and M14 are grouped together into a larger 8×8 sub-block MB assigned to cluster C2. Thus, sub-blocks M1, M2, MA, M11 and M12 are separately processed according to the selected attributes of cluster C1 and sub-blocks M5, M6, MB, M15 and M16 are separately processed according to the selected attributes of cluster C2. Note the shading of 4×4 sub-blocks M1, M2, M11 and M12 is the same and that the shading of MA is different although assigned to the same cluster C1 and that the shading of 4×4 sub-blocks M5, M6, M15 and M16 is the same and that the shading of sub-block MB is different although assigned to the same cluster C2.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS6285715 *Apr 11, 2000Sep 4, 2001Sony CorporationMethods and apparatus for error concealment while decoding a coded video bit streamUS6865227Jul 10, 2001Mar 8, 2005Sony CorporationError concealment of video data using motion vector data recoveryUS6985856 *Dec 31, 2002Jan 10, 2006Nokia CorporationMethod and device for compressed-domain packet loss concealmentUS7684492 *Dec 8, 2004Mar 23, 2010Lg Electronics Inc.Apparatus and method for recovering lost block of image processing systemUS20030031261 *Mar 1, 2002Feb 13, 2003Valente Stephane EdouardMethod of coding digital images based on error concealmentUS20030039312 *Aug 23, 2002Feb 27, 2003Michael HorowitzSystem and method for video error concealmentUS20030161402 *Dec 23, 2002Aug 28, 2003Michael HorowitzMotion wake identification and control mechanismUS20040139462Jul 15, 2003Jul 15, 2004Nokia CorporationMethod for error concealment in video sequencesUS20040146113May 28, 2002Jul 29, 2004Valente Stephane EdouardError concealment method and deviceUS20040258163 *May 21, 2004Dec 23, 2004Lg Electronics Inc.Video communication system and video coding methodUS20050025249Aug 14, 2003Feb 3, 2005Lifeng ZhaoSystems and methods for selecting a macroblock mode in a video encoderUS20050254584 *Jul 19, 2005Nov 17, 2005Chang-Su KimSystems and methods for enhanced error concealment in a video decoderUS20060051068 *Jul 9, 2003Mar 9, 2006Thomson Licensing S.A.Decoder apparatus and method for smoothing artifacts created during error concealmentUS20060188025 *Feb 18, 2005Aug 24, 2006Nokia CorporationError concealmentUS20070014360 *Jul 13, 2005Jan 18, 2007Polycom, Inc.Video error concealment methodWO2005004491A1Jun 17, 2004Jan 13, 2005Thomson Licensing S.A.Fast mode-decision encoding for interframes* Cited by examinerNon-Patent CitationsReference1Iain E G Richardson, H.264/AVC Frame and Picture Management, www.vcodex.com dated Jan. 29, 2004; pp. 1-7.2Iain E G Richardson, H.264/MPEG-4 Part 10:Interprediction, www.vcodex.com dated Mar. 30, 2003; pp. 1-3.3Iain E G Richardson, H.264/MPEG-4 Part 10:Intra Prediction, www.vcodex.com dated Mar. 30, 2003; pp. 1-5.4Iain E G Richardson, H.264/MPEG-4 Part 10:Introduction to CABAC, www.vcodex.com dated Oct. 17, 2002; pp. 1-3.5Iain E G Richardson, H.264/MPEG-4 Part 10:Overview, www.vcodex.com dated Oct. 7, 2002; pp. 1-3.6Iain E G Richardson, H.264/MPEG-4 Part 10:Transform & Quantization, www.vcodex.com dated Mar. 19, 2003; pp. 1-9.7Iain E G Richardson, H.264/MPEG-4 Part 10:Variable Length Coding, www.vcodex.com dated Oct. 17, 2002; pp. 1-7.8J.Park, D-C Park, R.J. Marks, M.A. El-Sharkawi, Content-Based Adaptive Spatio-Temporal Methods for MPEG Repair, IEEE TRANS, ON Image Processing, vol. 13, No. 8, Aug. 2004.9Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard and Ajay Luthra, Overview of the H.264/AVC Video Coding StandardIEEE Transactions on Circuits and Systems for Video Technology, vol. 13, No. 7 Jul. 2003.10Wayne E. Bretl and Mark Fimoff, MPEG2 Tutorial (Introduction to MPEG 2 Video Compression), www.bretl.com Jan. 15, 2000. http://www.bretl.com/mpeqhtml/mpeq2vc1.HTM.11Yu Chen, Keman Yu, Jiang Li and Shipeng Li, An Error Concealment Algorithm for Entire Frame Loss in Video Transmission, Picture Coding Symposium 2004, Dec. 15-17, 2004, San Francisco, USA.Referenced byCiting PatentFiling datePublication dateApplicantTitleUS8194744 *Sep 20, 2006Jun 5, 2012Lsi CorporationMethod and/or apparatus for implementing reduced bandwidth high performance VC1 intensity compensationUS8238442 *Aug 23, 2007Aug 7, 2012Sony Computer Entertainment Inc.Methods and apparatus for concealing corrupted blocks of video dataUS8605786 *Sep 3, 2008Dec 10, 2013The Regents Of The University Of CaliforniaHierarchical motion vector processing method, software and devicesUS8879642Jul 30, 2012Nov 4, 2014Sony Computer Entertainment Inc.Methods and apparatus for concealing corrupted blocks of video dataUS9510022Dec 12, 2012Nov 29, 2016Intel CorporationMulti-layer approach for frame-missing concealment in a video decoderUS20080049845 *Aug 23, 2007Feb 28, 2008Sony Computer Entertainment Inc.Methods and apparatus for concealing corrupted blocks of video dataUS20080069219 *Sep 20, 2006Mar 20, 2008Lsi Logic CorporationMethod and/or apparatus for implementing reduced bandwidth high performance VC1 intensity compensationUS20110129015 *Sep 3, 2008Jun 2, 2011The Regents Of The University Of CaliforniaHierarchical motion vector processing method, software and devices* Cited by examinerClassifications U.S. Classification375/240.27, 375/240.24, 375/240.16International ClassificationH04N11/02, H04N7/12, H04N11/04Cooperative ClassificationH04N19/61, H04N19/895European ClassificationH04N7/50, H04N7/68Legal EventsDateCodeEventDescriptionOct 19, 2005ASAssignmentOwner name: FREESCALE SEMICONDUCTOR, INC, TEXASFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAN, YONG;REEL/FRAME:017127/0500Effective date: 20051019Feb 2, 2007ASAssignmentOwner name: CITIBANK, N.A. AS COLLATERAL AGENT, NEW YORKFree format text: SECURITY AGREEMENT;ASSIGNORS:FREESCALE SEMICONDUCTOR, INC.;FREESCALE ACQUISITION CORPORATION;FREESCALE ACQUISITION HOLDINGS CORP.;AND OTHERS;REEL/FRAME:018855/0129Effective date: 20061201Owner name: CITIBANK, N.A. AS COLLATERAL AGENT,NEW YORKFree format text: SECURITY AGREEMENT;ASSIGNORS:FREESCALE SEMICONDUCTOR, INC.;FREESCALE ACQUISITION CORPORATION;FREESCALE ACQUISITION HOLDINGS CORP.;AND OTHERS;REEL/FRAME:018855/0129Effective date: 20061201Mar 15, 2010ASAssignmentOwner name: CITIBANK, N.A.,NEW YORKFree format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024085/0001Effective date: 20100219Owner name: CITIBANK, N.A., NEW YORKFree format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024085/0001Effective date: 20100219May 13, 2010ASAssignmentOwner name: CITIBANK, N.A., AS COLLATERAL AGENT,NEW YORKFree format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001Effective date: 20100413Owner name: CITIBANK, N.A., AS COLLATERAL AGENT, NEW YORKFree format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:024397/0001Effective date: 20100413Jun 18, 2013ASAssignmentOwner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YORFree format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:030633/0424Effective date: 20130521Nov 6, 2013ASAssignmentOwner name: CITIBANK, N.A., AS NOTES COLLATERAL AGENT, NEW YORFree format text: SECURITY AGREEMENT;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:031591/0266Effective date: 20131101Sep 29, 2014FPAYFee paymentYear of fee payment: 4Dec 21, 2015ASAssignmentOwner name: FREESCALE SEMICONDUCTOR, INC., TEXASFree format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037354/0225Effective date: 20151207Owner name: FREESCALE SEMICONDUCTOR, INC., TEXASFree format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0143Effective date: 20151207Owner name: FREESCALE SEMICONDUCTOR, INC., TEXASFree format text: PATENT RELEASE;ASSIGNOR:CITIBANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:037356/0553Effective date: 20151207Jan 12, 2016ASAssignmentOwner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLANDFree format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037486/0517Effective date: 20151207Jan 13, 2016ASAssignmentOwner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLANDFree format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:037518/0292Effective date: 20151207Feb 4, 2016ASAssignmentOwner name: NORTH STAR INNOVATIONS INC., CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FREESCALE SEMICONDUCTOR, INC.;REEL/FRAME:037694/0264Effective date: 20151002Mar 7, 2016ASAssignmentOwner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLANDFree format text: SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:038017/0058Effective date: 20160218Jul 14, 2016ASAssignmentOwner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLANDFree format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:039361/0212Effective date: 20160218Aug 17, 2016ASAssignmentOwner name: NXP B.V., NETHERLANDSFree format text: PATENT RELEASE;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:039707/0471Effective date: 20160805Sep 21, 2016ASAssignmentOwner name: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC., NEFree format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040925/0001Effective date: 20160912Nov 7, 2016ASAssignmentOwner name: NXP B.V., NETHERLANDSFree format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:040928/0001Effective date: 20160622Feb 1, 2017ASAssignmentOwner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLANDFree format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS;ASSIGNOR:CITIBANK, N.A.;REEL/FRAME:041703/0536Effective date: 20151207Feb 15, 2017ASAssignmentOwner name: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD., TAIWFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NORTH STAR INNOVATIONS INC.;REEL/FRAME:041717/0736Effective date: 20161006May 9, 2017ASAssignmentOwner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLANDFree format text: CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT;ASSIGNOR:NXP B.V.;REEL/FRAME:042762/0145Effective date: 20160218RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services