IP Library Granted Patent US 7,954,057
Granted Patent B2
US 7,954,057 · App. 11/199,897 · Granted May 31, 2011

Object movie exporter

Assignee: Apple Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,954,057
App. No.
11/199,897
Granted
May 31, 2011
Kind
B2
Abstract

Methods and apparatuses for compressing and/or transmitting and/or receiving data representing different views of an object. In one method according to the present invention, the method stores a plurality of frames of an object wherein each of these frames represents a view of the object. The method then assigns a reference number to each of these frames, arranges these frames in a preferred layout, divides the preferred layout into a plurality of blocks having frames sharing spatial similarities, and compresses each of these blocks separately.

Claims (103)

1. A digital processing implemented method for processing a data set enabling interactive random access for different views of an object, said method comprising:

arranging a plurality of frames in a layout, the plurality of frames representing views of said object;

dividing said layout into a plurality of blocks having frames sharing similarities; and

compressing each of said plurality of blocks separately in a plurality of directions, wherein the compressing comprises selecting at least one key frame and a plurality of non-key frames for each of the blocks; and creating compressing paths for the block by traversing said non-key frames starting from a key frame in the block until reaching a boundary of the block.

2. A method as in claim 1 wherein a longest compressing path is less than a predetermined number of frames from said key frame.

3. A method as in claim 1 further comprising including a video track layout for said views, said video track layout referencing to a data source track, said data source track comprising compressed data for said views, wherein each key frame and non-key frames is compressed only once and is referenced as many times as necessary by said video track layout.

4. A method as in claim 1 wherein at least one key frame is near a center of each of the blocks.

5. A method as in claim 4 wherein each of said plurality of blocks has a size that is one of equal to a predetermined size and smaller than said predetermined size.

6. A method as in claim 1 , wherein said layout is a two-dimensional array.

7. A method as in claim 6 , wherein said arranging comprises positioning a smaller size block at a further top and a further left corner of said layout and positioning a larger size block at a further bottom and a further right corner of said layout.

8. A data processing implemented method as in claim 7 , wherein at least one key frame is closer to a further top and a further left corner of each of said plurality of blocks.

9. A method as in claim 1 wherein the compressing uses a frame differencing compression.

10. A data processing implemented method as in claim 1 , wherein said frames share spatial similarity.

11. A digital processing implemented method for receiving and using a data set enabling interactive random access for different views of an object, said method comprising:

receiving said data set, wherein said data set includes frames representing views of said object, said frames arranged in a layout of a plurality of blocks, and wherein each of said plurality of blocks is compressed separately in a plurality of directions;

receiving an input which requests a selected number of said views; and

mapping said input to a selected appropriate number of frames in said frames; and

decompressing said selected appropriate number of frames, wherein said data set comprises at least one key frame and a plurality of non-key frames for each of said plurality of blocks, and wherein each block is compressed using compressing paths created by traversing said non-key frames starting from a key frame for the block until reaching a boundary of the block.

12. A method as in claim 11 further comprising:

storing said selected appropriate number of frames that are compressed; and

playing back said selected number of said views in a movie-like sequence.

13. A method as in claim 11 wherein a longest compressing path is less than a predetermined number of frames from said starting key frame.

14. A method as in claim 11 , wherein said data set further comprises a video track layout for said views, said video track layout referencing a data source track, said data source track including compressed data for said views, wherein each key frame and non-key frames is compressed only once and is referenced as many times as necessary by said video track layout.

15. A method as in claim 11 wherein each at least one key frame is near a center of the block.

16. A method as in claim 11 wherein said layout is a two-dimensional array.

17. A method as in claim 16 wherein said layout is arranged with a smaller size block positioned at a further top and a further left corner of said layout and a larger size block positioned at a further bottom and a further right corner of said layout.

18. A data processing implemented method as in claim 17 , wherein a selected key frame is closer to a further top and a further left corner of the block.

19. A method as in claim 11 wherein each block is compressed using a frame differencing compression.

20. A data processing implemented method as in claim 11 , wherein said layout is based on spatial similarity of said frames.

21. A computer readable storage medium containing executable computer instructions which when executed cause a data processing system to perform operations for processing a data set enabling interactive random access for different views of an object, said operations comprising:

arranging a plurality of frames in a layout, the plurality of frames representing views of said object;

dividing said layout into a plurality of blocks having frames sharing similarities;

compressing each of said plurality of blocks separately in a plurality of directions selecting at least one key frame and a plurality of non-key frames for the block; and

creating compressing paths for the block by traversing the non-key frames from a key frame for the block until reaching a boundary of each of the blocks.

22. A computer readable storage medium as in claim 21 , wherein a longest compressing path is less than a predetermined number of frames from the starting key frame.

23. A computer readable storage medium as in claim 21 further comprising instructions that cause the system to perform operations comprising

including a video track layout for said views, said video track layout referencing a data source track, said data source track comprises compressed data for said views, wherein each key frame and non-key frames is compressed only once and is referenced as many times as necessary by said video track layout.

24. A computer readable storage medium as in claim 23 wherein at least one key frame is near a center of the block.

25. A computer readable storage medium as in claim 21 wherein said layout is a two-dimensional array.

26. A computer readable storage medium as in claim 25 further comprising

instructions that cause the system to perform operations comprising

positioning a smaller size block at a further top and a further left corner of said layout and a larger size block is at a further bottom and a further right corner of said layout.

27. A computer readable storage medium as in claim 26 wherein the compressing uses a frame differencing compression.

28. A computer readable storage medium as in claim 26 , wherein a selected key frame is closer to a further top and a further left corner of the block.

29. A computer readable storage medium as in claim 21 , wherein said frames share spatial similarity.

30. A computer readable storage medium containing executable computer instructions which when executed cause a data processing system to perform operations for receiving and using a data set enabling interactive random access for different views of an object, said operations comprising:

receiving said data set, wherein said data set includes frames representing views of said object, said frames arranged in a layout, of a plurality of blocks, and wherein each of said plurality of blocks is compressed separately in a plurality of directions;

receiving an input which requests a selected number of said views;

mapping said input to a selected appropriate frames in said frames; and

decompressing said selected appropriate frames, wherein said data set comprises at least one key frame and a plurality of non-key frames for each of said plurality of blocks, and wherein each block is compressed using compressing paths created by traversing said non-key frames starting from a key frame for the block until reaching a boundary of the block.

31. A computer readable storage medium as in claim 30 further comprising instructions to cause the data processing system to perform operations comprising

storing said appropriate frames that are compressed; and

playing back said selected number of said views in a movie-like sequence.

32. A computer readable storage medium as in claim 30 wherein a longest compressing path is less than two frames from said starting key frame.

33. A computer readable storage medium as in claim 30 wherein said data set further comprises a video track layout for said views, said video track layout referencing a data source track, said data source track including compressed data for said views, wherein each key frame and non-key frames is compressed only once and is referenced as many times as necessary by said video track layout.

34. A computer readable storage medium as in claim 30 wherein at least one key frame is near a center of the block.

35. A computer readable storage medium as in claim 30 wherein said layout is a two-dimensional array.

36. A computer readable storage medium as in claim 35 wherein said layout is arranged with a smaller size block positioned at a further top and a further left corner of said layout and a larger size block is positioned at a further bottom and a further right corner of said layout.

37. A computer readable storage medium as in claim 36 , wherein a selected key frame is closer to a further top and a further left corner of the block.

38. A computer readable storage medium as in claim 30 wherein each block is compressed using a frame differencing compression.

39. A computer readable storage medium as in claim 30 , wherein said layout is based on spatial similarity of said frames.

40. A data processing system for processing a data set enabling interactive random access for different views of an object, said system comprising:

means for arranging a plurality of frames in a layout, the plurality of frames representing views of the object;

means for dividing said layout into a plurality of blocks having frames sharing similarities; and

means for compressing each of said plurality of blocks separately in a plurality of directions, wherein the means for compressing further comprises means for selecting at least one key frame and a plurality of non-key frames for each of said plurality of blocks; and

means for creating compression paths for each block by traversing the non-key frames starting from a key frame for the block until reaching a boundary of the block.

41. A system as in claim 40 wherein a longest compressing path is less than a predetermined number of frames from said key frame.

42. A system as in claim 40 further comprising means for including a video track layout for said views, said video track layout referencing a data source track, said data source track comprising compressed data for said views, wherein each key frame and said non-key frame is compressed only once and is referenced as many times as necessary by said video track layout.

43. A data processing system for receiving and using a data set enabling interactive random access for different views of an object, said system comprising:

means for receiving said data set, wherein said data set includes frames representing views of said object, said frames arranged in a layout of a plurality of blocks, and wherein each of said plurality of blocks is compressed separately in a plurality of directions;

means for receiving an input which requests a selected number of said views;

means for mapping said input to a selected appropriate frames in said frames; and

means for decompressing said selected appropriate frames, wherein said data set comprises at least one key frame and a plurality of non-key frames for each of said plurality of blocks, and wherein each block is compressed using compressing paths created by traversing said non-key frames from a key frame for the block until reaching a boundary of the block.

44. A system as in claim 43 further comprising:

means for storing said appropriate frames that are compressed; and

means for playing back said selected number of said views in a movie-like sequence.

45. A system as in claim 43 wherein a longest compressing path is less than two frames from said starting key frame.

46. A system as in claim 43 wherein said data set further comprises a video track layout for said views, said video track layout referencing a data source track, said data source track including compressed data for said views, wherein each key frame and said non-key frames is compressed only once and is referenced as many times as necessary by said video track layout.

47. A machine implemented method comprising:

transmitting a data set that comprises frames representing views of an object, said frames arranged in a layout of a plurality of blocks, wherein each block is compressed separately in a plurality of directions, wherein each block is compressed by creating compressing paths for the block by traversing a plurality of non-key frames for the block starting from a key frame in the block until reaching a boundary of the block.

48. A machine implemented method as in claim 47 , wherein a longest compressing path is less than a predetermined number of frames from the starting key frame.

49. A machine implemented method as in claim 47 , wherein said data set further comprises a video track layout for said views, said video track layout referencing a data source track, said data source track comprising compressed data for said views, wherein each key frame and non-key frame is compressed only once and is referenced as many times as necessary by said video track layout.

50. A machine implemented method as in claim 47 , wherein at least one key frame is near a center of the block.

51. A machine implemented method as in claim 47 , wherein said layout is a two-dimensional array.

52. A machine implemented method as in claim 47 , wherein each block is compressed using frame differencing compression.

53. A machine implemented method as in claim 47 , wherein said frames share spatial similarity.

54. A computer readable storage medium containing executable computer instructions, which when executed by a data processing system, cause the data processing system to perform operations, comprising:

transmitting a data set that comprises frames representing views of an object, said frames arranged in a layout of plurality of blocks, wherein each block is compressed separately in a plurality of directions, wherein each block is compressed by creating compressing paths for the block by traversing a plurality of non-key frames for the block starting from a key frame in the block until reaching a boundary of the block.

55. A computer readable storage medium as in claim 54 , wherein a longest compressing path is less than a predetermined number of frames from the starting key frame.

56. A computer readable storage medium as in claim 54 , wherein said data set further comprises a video track layout for said views, said video track layout referencing a data source track, said data source track comprising compressed data for said views, wherein each key frame and non-key frame is compressed only once and is referenced as many times as necessary by said video track layout.

57. A computer readable storage medium as in claim 54 , wherein at least one key frame is near a center of the block.

58. A computer readable storage medium as in claim 54 , wherein said layout is a two-dimensional array.

59. A computer readable storage medium as in claim 54 , wherein each block is compressed using frame differencing compression.

60. A computer readable storage medium as in claim 54 , wherein said frames share spatial similarity.

61. A data processing system comprising:

means for receiving a request for a data set that comprises frames representing views of an object; and

means for transmitting said data set, said frames arranged in a layout of a plurality of blocks, wherein each block is compressed separately in a plurality of directions, wherein each block is compressed by creating compressing paths for the block by traversing a plurality of non-key frames for the block starting from a key frame in the block until reaching a boundary of the block.

62. A data processing system as in claim 61 , wherein a longest compressing path is less than a predetermined number of frames from the starting key frame.

63. A data processing system as in claim 61 , wherein said data set further comprises a video track layout for said views, said video track layout referencing a data source track, said data source track comprising compressed data for said views, wherein each key frame and non-key frame is compressed only once and is referenced as many times as necessary by said video track layout.

64. A data processing system as in claim 61 , wherein at least one key frame is near a center of the block.

65. A data processing system as in claim 61 , wherein said layout is a two dimensional array.

66. A data processing system as in claim 61 , wherein each block is compressed using frame differencing compression.

67. A data processing system as in claim 61 , wherein said frames share spatial similarity.

Assignments (1)
CHANGE OF NAME Recorded Apr 30, 2007
From: APPLE COMPUTER, INC., A CALIFORNIA CORPORATION
To: APPLE INC.
Reel/Frame 019241/0020 →
Continuity (2)
Continuation 09923835 · Aug 6, 2001
Related Publication 20060044151A1 · Mar 2, 2006