1. An image processing method comprising:
inputting image data;
storing the inputted image data in a first memory;
reading out one of a plurality of units of image data in a unit of a rectangular area from the first memory, wherein the rectangular area contains an effective pixel area into which the image data is divided, and an overlap area located in one or more adjacent effective pixel areas which is necessary for processing of the image data in the effective pixel area;
transferring the image data read out from the first memory to a second memory;
setting one image processing mode to be executed from among a plurality of different types of image processing modes for processing the image data in the effective pixel area;
selecting two or more image processing portions from among a plurality of image processing portions which respectively execute a plurality of image processes, in accordance with the set image processing mode, and
executing two or more types of image processes sequentially on the image data stored in the second memory
wherein the second memory is used as a shared buffer memory for the selected image processing portions to sequentially execute two or more types of image processes on the image data stored in the second memory,
wherein the selected image processing portions need different sizes of image data to execute the respective image processes,
wherein a size of the rectangular area read out from the first memory is defined based on a size of the effective pixel area and a maximum size of an overlap area from among all of the overlap areas necessary for each of the selected image processing portions to execute its respective image process,
wherein a first portion of the selected image processing portions executes a first image process in the image data stored in the second memory, and the image data on which the first image process has been executed is transferred to a second portion of the selected image processing portions without transferring the image data on which the first image process has been executed back to the first memory,
wherein the second portion executes a second image process on the image data on which the first image process has been executed, and
wherein the image data on which the first image process and the second image process have been executed is transferred from the second memory to the first memory.
2. The method according to claim 1, wherein the image processing mode is set based on whether inputted image data is color image data or monochrome image data.
3. An image processing apparatus comprising:
an input unit constructed to input image data;
a first memory constructed to store the image data inputted by the input unit;
a second memory constructed to buffer the image data;
an address generation unit constructed to generate address information to read out the image data in a plurality of units of a rectangular area;
a transferring unit constructed to read out one of the plurality of units of image data in the unit of the rectangular area from the first memory in accordance with the generated address information and to transfer the image data read out from the first memory to the second memory, wherein the rectangular area contains an effective pixel area into which the image data is divided, and an overlap area located in one or more adjacent effective pixel areas which is used for image processing of the image data in the effective pixel area;
an image processing unit constructed to sequentially execute two or more types of image processes on the image data stored in the second memory, wherein the image processing unit includes a plurality of image processing portions which respectively execute a plurality of image processes;
a setting unit constructed to set one of a plurality of image processing modes to be executed by the image processing unit; and
a selecting unit constructed to select two or more image processing portions from among the plurality of image processing portions, in accordance with the image processing mode set by the setting unit,
wherein the second memory is used as a shared buffer memory for the image processing portions selected by the selecting unit to sequentially execute two or more types of image processes on the image data stored in the second memory,
wherein image processing portions selected by the selecting unit need different sizes of image data to execute the respective image processes,
wherein a size of the rectangular area read out from the first memory is defined based on a size of the effective pixel area and a maximum size of an overlap area from among all of the overlap areas necessary for each of the image processing portions selected by the selecting unit to execute its respective image process,
wherein a first portion of the image processing portions selected by the selecting unit executes a first image process in the image data stored in the second memory, and the transferring unit transfers the image data on which the first image process has been executed to a second portion of the image processing portions selected by the selecting unit without transferring the image data on which the first image process has been executed back to the first memory,
wherein the second portion executes a second image process on the image data on which the first image process has been executed,
wherein the address generation unit generates second address information to store the image data on which the first image process and the second image process have been executed, in the first memory,
wherein the transferring unit transfers the image data on which the first image process and the second image process have been executed from the second memory to the first memory in accordance with the second address information generated by the address generation unit, and
wherein the setting unit sets the image processing mode based on whether the input unit inputs color image data or monochrome image data.
4. An image processing method comprising:
inputting image data;
storing the inputted image data in a first memory;
generating address information to read out the image data in a plurality of units of a rectangular area;
reading out one of the plurality of units of image data in the unit of the rectangular area from the first memory in accordance with the generated address information, wherein the rectangular area contains an effective pixel area into which the image data is divided, and an overlap area located in one or more adjacent effective pixel areas which is necessary for processing the image data in the effective pixel area;
transferring the image data read out from the first memory to a second memory;
setting one image processing mode to be executed from among a plurality of different types of image processing modes for processing the image data in the effective pixel area;
selecting two or more image processing portions from among a plurality of image processing portions which respectively execute a plurality of image processes, in accordance with the set image processing mode; and
executing two or more types of image processes sequentially on the image data stored in the second memory,
wherein the second memory is used as a shared buffer memory for the selected image processing portions to sequentially execute the two or more types of image processes on the image data stored in the second memory,
wherein the selected image processing portions need different sizes of image data to execute the respective image processes,
wherein a size of the rectangular area read out from the first memory is defined based on a size of the effective pixel area and a maximum size of an overlap area from among all of the overlap areas necessary for each of the selected image processing portions to execute its respective image process,
wherein a first portion of the selected image processing portions executes a first image process on the image data stored in the second memory, and the image data on which the first image process has been executed is transferred to a second portion of the selected image processing portions without transferring the image data on which the first image process has been executed back to the first memory,
wherein the second portion executes a second image process on the image data on which the first image process has been executed,
wherein the address generation step generates second address information to store the image data on which the first image process and the second image process have been executed in the first memory,
wherein the image data on which the first image process and the second image process have been executed is transferred from the second memory to the first memory in accordance with the generated second address information, and
wherein the image processing mode is set based on whether inputted image data is color image data or monochrome image data.
5. An image processing apparatus comprising:
an input unit constructed to input image data;
a first memory constructed to store the image data inputted by the input unit;
a second memory constructed to buffer the image data;
a transferring unit constructed to read out one of a plurality of units of image data in a unit of a rectangular area from the first memory and to transfer the image data read out from the first memory to the second memory, wherein the rectangular area contains an effective pixel area into which the image data is divided, and an overlap area located in one or more adjacent effective pixel areas which is used for image processing of the image data in the effective pixel area;
an image processing unit constructed to sequentially execute two or more types of image processes on the image data stored in the second memory, wherein the image processing unit includes a plurality of image processing portions which respectively execute a plurality of image processes;
a setting unit constructed to set one of the plurality of image processing modes to be executed by the image processing unit; and
a selecting unit constructed to select two or more image processing portions from among the plurality of image processing portions, in accordance with the image processing mode set by the setting unit,
wherein the second memory is used as a shared buffer memory for the image processing portions selected by the selecting unit to sequentially execute two or more types of image processes on the image data stored in the second memory,
wherein the image processing portions selected by the selecting unit need different sizes of image data to execute the respective image processes,
wherein a size of the rectangular area read out from the first memory is defined based on a size of the effective pixel area and a maximum size of an overlap area from among all of the overlap areas necessary for each of the image processing portions selected by the selecting unit to execute its respective image process,
wherein a first portion of the image processing portions selected by the selecting unit executes a first image process on the image data stored in the second memory, and the transferring unit transfers the image data on which the first image process has been executed to a second portion of the image processing portions selected by the selecting unit without transferring the image data on which the first image process has been executed back to the first memory,
wherein the second portion executes a second image process on the image data on which the first image process has been executed,
wherein the transferring unit transfers the image data on which the first image process and the second image process have been executed from the second memory to the first memory, and
wherein the setting unit sets the image processing mode based on whether the input unit inputs color image data or monochrome image data.
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. An encoder for encoding data for pictures captured at different viewpoints in a multi-view video,
wherein, when a first picture at one of a first viewpoint and a last viewpoint is encoded into an I picture, the encoder encodes a second picture, which is captured at the other one of the first viewpoint and the last viewpoint but is disposed in the same time direction as that in which the first picture is disposed, into an IP picture,
wherein the encoder predicts a third picture, which is spatially disposed between the I picture and the IP picture, in both directions from the I picture and the IP picture, and encodes the third picture into a primary B picture having a priority level 0,
wherein the encoder predicts a fourth picture, which is spatially disposed between the primary B picture and the I picture in the same time direction, in both directions from the primary B picture and the I picture, or predicts a fifth picture, which is spatially disposed between the primary B picture and the IP picture in the same time direction, in both directions from the primary B picture and the IP picture, and encodes the fourth or fifth picture into a secondary B picture having a priority level 1 that has lower priority than the priority level 0,
wherein, when a sixth picture, which is at one of the first viewpoint and the last viewpoint and in a different time direction from the first picture, is encoded into an m-ary B picture having a priority level (m\u22121), the encoder encodes a seventh picture, which is captured at the other one of the first viewpoint and the last viewpoint but is disposed in the same time direction as that in which the sixth picture is disposed, into an m-ary B picture,
wherein the encoder encodes an eighth picture, which is spatially disposed between the two m-ary B pictures in the same time direction, into an n-ary B picture having a priority level (n\u22121),
wherein the encoder encodes a ninth picture, which is spatially disposed between any of the two m-ary B pictures and the n-ary B picture in the same time direction, into an o-ary B picture having a priority level (o\u22121), and
wherein m, n, and o are positive integers and satisfy 1\u2266m<n<o.
2. The encoder of claim 1,
wherein the encoder is configured to encode a picture that is temporally disposed between the I picture and a next I picture at the same viewpoint, into a primary B picture, and encode pictures that are temporally disposed between any of the two I pictures and the primary B picture into the secondary B picture.
3. The encoder of claim 1,
wherein, when encoding pictures into B pictures, the encoder is configured to calculate global disparities between pictures at different viewpoints, and encode the pictures using the calculated global disparities.
4. The encoder of claim 3,
wherein a reference picture moving method or a motion vector initial search point moving method is used to encode the pictures on the basis of the calculated global disparities.
5. The encoder of claim 1,
wherein pictures having a minimum quantization step size at all of the viewpoints are repeated at the same time interval.
6. The encoder of claim 1,
wherein a group of pictures (GOP) of the multi-view video has a size of 8 view directions\xd712 time directions, and
pictures having a minimum quantization step size at all of the viewpoints are repeated every 12 time directions.
7. A method of encoding data for pictures captured at different viewpoints in a multi-view video, comprising:
encoding a first picture at one of a first viewpoint and a last viewpoint into an I picture;
encoding a second picture, which is captured at the other one of the first viewpoint and the last viewpoint and is disposed in the same time direction as that in which the first picture is disposed, into an IP picture;
encoding a third picture, which is spatially disposed between the I picture and the IP picture, into a primary B picture having a priority level 0;
encoding a fourth picture, which is spatially disposed between the primary B picture and the I picture or the IP picture, into a secondary B picture having a priority level 1 that has lower priority than the priority level 0;
encoding a fifth picture, which is at one of the first viewpoint and the last viewpoint and in a different time direction from the first picture, into an m-ary B picture having a priority level (m\u22121);
encoding a sixth picture, which is at the other one of the first viewpoint and the last viewpoint and is disposed in the same time direction as that in which the fifth picture is disposed, into an m-ary B picture;
encoding a seventh picture, which is spatially disposed between the two m-ary B pictures in the same time direction, into an n-ary B picture having a priority level (n\u22121); and
encoding an eighth picture, which is spatially disposed between any of the two m-ary B pictures and the n-ary B picture in the same time direction, into an o-ary B picture having a priority level (o\u22121),
wherein m, n, and o are positive integers and satisfy 1\u2266m<n<o.
8. The method of claim 7, further comprising:
encoding a picture, which is temporally disposed between the I picture and a next I picture at the same viewpoint, into the primary B picture; and
encoding pictures, which are temporally disposed between any of the two I pictures and the primary B picture, into the secondary B pictures.
9. The method of claim 8,
wherein encoding the picture into the B pictures includes:
calculating global disparities between pictures at different viewpoints.
10. The method of claim 9,
wherein the calculating of the global disparities is performed by a reference picture moving method or a motion vector initial search point moving method.
11. A storage medium comprising a program for allowing a computer to execute a method of encoding data for pictures captured at different viewpoints in a multi-view video,
the method comprising:
encoding a first picture at one of a first viewpoint and a last viewpoint into an I picture;
encoding a second picture, which is captured at the other one of the first viewpoint and the last viewpoint and is disposed in the same time direction as that in which the first picture is disposed, into an IP picture;
encoding a third picture, which is spatially disposed between the I picture and the IP picture, into a primary B picture having a priority level 0; and
encoding a fourth picture, which is spatially disposed between the primary B picture and the I picture or the IP picture, into a secondary B picture having a priority level 1 that has lower priority than the priority level 0,
wherein the method further includes:
encoding a fifth picture, which is at one of the first viewpoint and the last viewpoint and in a different time direction from the first picture, into an m-ary B picture having a priority level (m\u22121);
encoding a sixth picture, which is at the other one of the first viewpoint and the last viewpoint and is disposed in the same time direction as that in which the fifth picture is disposed, into an m-ary B picture;
encoding a seventh picture, which is spatially disposed between the two m-ary B pictures in the same time direction, into an n-ary B picture having a priority level (n\u22121); and
encoding an eighth picture, which is spatially disposed between any of the two m-ary B pictures and the n-ary B picture in the same time direction, into an o-ary B picture having a priority level (o\u22121),
wherein m, n, and o are positive integers and satisfy 1\u2266m<n<o.
12. A storage medium for storing encoded data for pictures captured at different viewpoints in a multi-view video,
wherein the encoded data has a data structure including:
an I picture obtained by encoding a first picture at one of a first viewpoint and a last viewpoint;
an IP picture obtained by encoding a second picture that is captured at the other one of the first viewpoint and the last viewpoint but is disposed in the same time direction as that in which the first picture is disposed;
a primary B picture having a priority level 0 obtained by predicting a third picture, which is spatially disposed between the first and second pictures disposed in the same time direction, in both directions from the I picture and the IP picture and encoding the third picture; and
a secondary B picture having a priority level 1 obtained by predicting a fourth picture, which is spatially disposed between the primary B picture and the I picture in the same time direction, in both directions from the primary B picture and the I picture or predicting a fifth picture, which is spatially disposed between the primary B picture and the IP picture in the same time direction, in both directions from the primary B picture and the IP picture, and encoding the fifth picture, the priority level 1 having lower priority than the priority level 0,
wherein, in the encoded data, when a sixth picture at one of the first viewpoint and the last viewpoint is encoded into an m-ary B picture having a priority level (m\u22121), a seventh picture, which is at the other one of the first viewpoint and the last viewpoint and is disposed in the same time direction as that in which the sixth picture is disposed, is encoded into an m-ary B picture,
wherein an eighth picture, which is spatially disposed between the two m-ary B pictures in the same time direction, is encoded into an n-ary B picture having a priority level (n\u22121), and
wherein a ninth picture, which is spatially disposed between any of the two m-ary B pictures and the n-ary B picture in the same time direction, is encoded into an o-ary B picture having a priority level (o\u22121),
wherein m, n, and o are positive integers and satisfy 1\u2266m<n<o.
13. The storage medium of claim 12,
wherein the encoded data has a data structure in which a picture that is temporally disposed between the I picture and a next I picture at a same viewpoint, is encoded into the primary B picture, and pictures that are temporally disposed between any of the two I pictures and the primary B picture are encoded into the secondary B picture.
14. The storage medium of claim 13,
wherein the encoded data has a data structure in which pictures having a minimum quantization step size at all of the viewpoints are repeated at the same time interval.
15. The storage medium of claim 14,
wherein, in the encoded data, a group of pictures (GOP) of the multi-view video has a size of 8 view directions\xd712 time directions, and the pictures having a minimum quantization step size at all of the viewpoints are repeated every 12 time directions.