1. A method for encoding an image, comprising:
ordering a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived;
selecting a particular motion vector predictor of the current image block from the plurality of motion vector predictors; and
at least selectively providing in an encoded bitstream an indication representative of the rank order of the selected motion vector predictor,
wherein each block that has the same reference index as the current image block has a smaller rank order than each block with a reference index different from the reference index of the current image block.
2. The method of claim 1, wherein the coding mode indicates partitioning information for the block from which the respective motion vector predictor is derived.
3. The method of claim 2, wherein the partitioning information represents the size and the shape of the block from which the respective motion vector predictor is derived.
4. The method of claim 1, wherein the plurality of motion vector predictors comprise at least one motion vector for blocks selected from the group consisting of a neighboring block of the current image block, a block in a second image, a co-located block in the second image, a neighboring block of the co-located block in the second image, a block in a second layer and a block in a second view.
5. The method of claim 1, wherein an additional motion vector predictor is added to the plurality of motion vector predictors if a value of the additional motion vector predictor is not represented by the plurality of motion vector predictors.
6. The method of claim 1, wherein the plurality of motion vector predictors comprises motion vector predictors each having a distinct value.
7. The method of claim 1, further comprising:
using the reference index associated with the selected motion vector predictor as a reference index for the current image block.
8. A computer program product, embodied on a non-transitory machine readable medium, for causing a machine, when executed, to perform the processes of claim 1.
9. An apparatus, comprising:
a processor; and
a memory communicatively connected to the processor and including computer code configured to:
order a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived;
select a particular motion vector predictor of the current image block from the plurality of motion vector predictors; and
at least selectively provide in an encoded bitstream an indication representative of the rank order of the selected motion vector predictor,
wherein each block that has the same reference index as the current image block has a smaller rank order than each block with a reference index different from the reference index of the current image block.
10. The apparatus of claim 9, wherein the coding mode indicates partitioning information for the block from which the respective motion vector predictor is derived.
11. The apparatus of claim 10, wherein the partitioning information represents the size and the shape of the block from which the respective motion vector predictor is derived.
12. The apparatus of claim 9, wherein the plurality of motion vector predictors comprise at least one motion vector for blocks selected from the group consisting of a neighboring block of the current image block, a block in a second image, a co-located block in the second image, a neighboring block of the co-located block in the second image, a block in a second layer and a block in a second view.
13. The apparatus of claim 9, wherein an additional motion vector predictor is added to the plurality of motion vector predictors if a value of the additional motion vector predictor is not represented by the plurality of motion vector predictors.
14. The apparatus of claim 9, wherein the plurality of motion vector predictors comprises motion vector predictors each having a distinct value.
15. The apparatus of claim 9, wherein the apparatus is further configured to use the reference index associated with the selected motion vector predictor as a reference index for the current image block.
16. An apparatus, comprising:
means for ordering a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived;
means for selecting a particular motion vector predictor of the current image block from the plurality of motion vector predictors; and
means for at least selectively providing in an encoded bitstream an indication representative of the rank order of the selected motion vector predictor,
wherein each block that has the same reference index as the current image block has a smaller rank order than each block with a reference index different from the reference index of the current image block.
17. A method for decoding an image, comprising:
ordering a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived; and
selecting a particular motion vector predictor of the current image block from the plurality of motion vector predictors for use in decoding, wherein information signaled within a bitstream is at least selectively used to select the particular motion vector,
using a predefined process to select a set of most probable motion vector predictors from the plurality of motion vector predictors; and
in an instance in which the predefined process results in the selection of more than one most probable motion vector predictor, using the information signaled in the bitstream to select the particular motion vector from the set of most probable motion vector predictors.
18. The method of claim 17, wherein the selecting of the particular motion vector further comprises, if the predefined process results in the selection of one most probable motion vector predictor, selecting the one most probable motion vector predictor as the particular motion vector predictor.
19. The method of claim 17, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on information signaled in the bitstream.
20. The method of claim 17, further comprising removing duplicate motion vector predictors from the plurality of motion vector predictors.
21. The method of claim 17, further comprising adding a predefined vector to the plurality of motion vector predictors, if the number of motion vector predictors is zero.
22. The method of claim 17, further comprising including an additional motion vector predictor that has been signaled in the bitstream to the plurality of motion vector predictors, if the number of motion vector predictors is zero.
23. The method of claim 17, wherein the coding mode indicates partitioning information for the block from which the respective motion vector predictor is derived.
24. The method of claim 23, wherein the partitioning information represents a size and a shape of the block from which the respective motion vector predictor is derived.
25. The method of claim 17, wherein the plurality of motion vector predictor comprise at least one motion vector for blocks selected from the group consisting of a neighboring block of the current image block, a block in a second image, a co-located block in the second image, a neighboring block of the co-located block in the second image, a block in a second layer and a block in a second view.
26. The method of claim 17, further comprising:
using the reference index associated with the selected motion vector predictor as a reference index for the current image block.
27. A computer program product, embodied on a non-transitory machine readable medium, for causing a machine, when executed, to perform the processes of claim 17.
28. An apparatus, comprising:
a processor; and
a memory communicatively connected to the processor and including computer code configured to:
to order a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived; and
select a particular motion vector predictor of the current image block from the plurality of motion vector predictors for use in decoding, wherein information signaled within a bitstream is at least selectively used to select the particular motion vector,
use a predefined process to select a set of most probable motion vector predictors from the plurality of motion vector predictors; and
in an instance in which the predefined process results in the selection of more than one most probable motion vector predictor, using the information signaled in the bitstream to select the particular motion vector from the set of most probable motion vector predictors.
29. The apparatus of claim 28, wherein the selecting of the particular motion vector further comprises, if the predefined process results in the selection of one most probable motion vector predictor, selecting the one most probable motion vector predictor as the particular motion vector predictor.
30. The apparatus of claim 28, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on information signaled in the bitstream.
31. The apparatus of claim 28, wherein the apparatus is further configured to remove duplicate motion vector predictors from the plurality of motion vector predictors.
32. The apparatus of claim 28, wherein the apparatus is further configured to add a predefined vector to the plurality of motion vector predictors, if the number of motion vector predictors is zero.
33. The apparatus of claim 28, wherein the apparatus is further configured to include an additional motion vector predictor that has been signaled in the bitstream to the plurality of motion vector predictors, if the number of motion vector predictors is zero.
34. The apparatus of claim 28, wherein the coding mode indicates partitioning information for the block from which the respective motion vector predictor is derived.
35. The apparatus of claim 34, wherein the partitioning information represents a size and a shape of the block from which the respective motion vector predictor is derived.
36. The apparatus of claim 28, wherein the plurality of motion vector predictor comprise at least one motion vector for blocks selected from the group consisting of a neighboring block of the current image block, a block in a second image, a co-located block in the second image, a neighboring block of the co-located block in the second image, a block in a second layer and a block in a second view.
37. The apparatus of claim 28, wherein the apparatus is further configured to use the reference index associated with the selected motion vector predictor as a reference index for the current image block.
38. An apparatus, comprising:
means for ordering a plurality of motion vector predictors of a current image block, wherein a rank order of each motion vector predictor of the plurality of motion vector predictors is determined based at least in part on at least one of a coding mode of a block from which the respective motion vector predictor is derived and a reference index of the block from which the respective motion vector predictor is derived; and
means for selecting a particular motion vector predictor of the current image block from the plurality of motion vector predictors for use in decoding, wherein information signaled within a bitstream is at least selectively used to select the particular motion vector,
means for using a predefined process to select a set of most probable motion vector predictors from the plurality of motion vector predictors; and
in an instance in which the predefined process results in the selection of more than one most probable motion vector predictor, means for using the information signaled in the bitstream to select the particular motion vector from the set of most probable motion vector predictors.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A photo-optic comparative geolocation apparatus, comprising:
a. an optic sensor that captures surrounding location data;
b. an interface that maps the optic sensor data;
c. a storage database containing prior optical and location data;
d. a digital sextant that provides data calculated using magnetic or celestial references; and
e. a data processor that compares the mapped data to stored data and calculate current location based on the comparison analysis and digital sextant data.
2. The apparatus of claim 1, wherein the digital sextant comprises an internal compass and an internal gyroscope for stabilization.
3. The apparatus of claim 2, wherein the digital sextant further comprises a sextant camera that captures images of celestial objects.
4. The apparatus of claim 3, wherein the digital sextant further comprises a sextant storage database containing star and sky data.
5. The apparatus of claim 4, wherein the digital sextant further comprises a sextant processor that compiles and compares data from the sextant storage database and sextant camera.
6. The apparatus of claim 1, further comprising:
f. a location assessment report created by the data processor.
7. The apparatus of claim 1, further comprising:
g. a visual display for output from the data processor.
8. The apparatus of claim 1, wherein the location data comprises reference points and images.
9. A photo-optic comparative geolocation apparatus, comprising:
a. a camera for capturing surrounding image data, the camera located within an enclosure;
b. an internal compass within the enclosure;
c. a memory containing stored image and location data, the memory located within the enclosure;
d. a data processor that performs automated comparison analyses of the stored data and camera data, the data processor located within the enclosure; and
e. a screen to visually display output from the data processor.
10. The apparatus of claim 9, wherein the screen is located on an external surface of the enclosure.
11. The apparatus of claim 9, wherein the screen is located on a remote user device.
12. The apparatus of claim 9, further comprising:
f. an internal power source that provides power to the apparatus in the event of an external power source failure.
13. The apparatus of claim 9, further comprising:
g. an internal digital sextant that provides the data processor with additional location information based on magnetic or celestial references.