1460911903-c42c64b1-9a18-48c2-966a-57f136033190

1. A server connected to a predetermined network, the server comprising:
a content database having data related to a content managed by the server;
a content cluster list having data related to division of each content managed by the content database into clusters; and
a cluster database related to an address where each cluster described in the content cluster list is stored.
2. The server as claimed in claim 1, further comprising an authentication database, wherein the authentication database manages a key for encrypting each cluster for every storage place of each cluster described in the cluster database.
3. The server as claimed in claim 2, wherein the data related to division into clusters, stored in the content cluster list, the data related to an address where each cluster is stored, stored in the cluster database, and data related to encryption keys stored in the authentication database are transmitted as a cue sheet for reproducing the content to an address where the content data is requested, through the network.
4. A content providing apparatus comprising:
a communication unit for communicating with a predetermined network;
a content saving unit for saving at least a part of clusters of a content received through the communication unit by each cluster formed by dividing the content; and
a control unit for managing number of the content saved in the content saving unit and number of the saved cluster, and transferring a predetermined cluster saved by the content saving unit to an address requested by the communication unit in accordance with a request for transfer of a cluster of the content received by the communication unit.
5. The content providing apparatus as claimed in claim 4, wherein data of the cluster saved by the content saving unit is data of a cluster transferred from another content providing apparatus and received by the communication unit.
6. The content providing apparatus as claimed in claim 4, wherein data of the cluster saved by the content saving unit is data of a cluster transferred from a predetermined content input unit and received by the communication unit.
7. The content providing apparatus as claimed in claim 4, wherein data of the cluster saved by the content saving unit is encrypted and saved on the basis of key data received by the communication unit from a predetermined server.
8. A content receiving apparatus comprising:
a communication unit for communicating with a predetermined network;
a control unit for causing transfer of cluster data formed by dividing a predetermined content from an indicated address on the basis of cue data received through the communication unit; and
a content acquisition unit for gathering each cluster data received under the control of the control unit and thus acquiring data of the content.
9. The content receiving apparatus as claimed in claim 8, wherein the data of the cluster acquired by the content acquisition unit is decoded on the basis of individual key data for each cluster data contained in the cue data.
10. The content receiving apparatus as claimed in claim 9, wherein the data of the cluster decoded by the content acquisition unit is further encrypted by different encryption based on the key data contained in the cue data and thus saved.
11. A server management method comprising:
preparing a content database for managing data related to a content that can be distributed through a predetermined network;
preparing a content cluster list having data related to division of each content managed by the content database into clusters; and
preparing a cluster database related to an address wher e each cluster described in the content cluster list is stored;
wherein distribution of the content is managed on the basis of the data of the prepared databases and list.
12. The server management method as claimed in claim 11, wherein an authentication database for managing a key for encrypting each cluster is further prepared for every storage place of each cluster described in the cluster database.
13. The server management method as claimed in claim 12, a cue sheet for reproducing the content is prepared from the data related to division into clusters stored in the content cluster list, the data related to an address where each cluster is stored, stored in the cluster database, and data related to the encryption key stored in the authentication database, and
the prepared cue sheet is transmitted to an address where content data is requested, through the network.
14. A content providing method comprising:
content saving processing to save at least a part of clusters of a content received through a predetermined network by each cluster formed by dividing the content; and
cluster data transmission processing to manage number of the content saved by the content saving processing and number of the saved cluster, and to transfer a predetermined cluster saved by the content saving processing to an address requested from outside in accordance with a request for transfer of a cluster of the received content.
15. The content providing method as claimed in claim 14, wherein data of the cluster saved by the content saving processing is data of a cluster stored in and transferred from a content storage unit connected through the predetermined network.
16. The content providing method as claimed in claim 14, wherein data of the cluster saved by the content saving processing is data formed by dividing a content inputted from outside through the predetermined network.
17. The content providing method as claimed in claim 14, wherein data of the cluster saved by the content saving processing is encrypted and saved on the basis of key data received from a predetermined server.
18. A content receiving method comprising:
causing transfer of cluster data formed by dividing a predetermined content from an indicated address on the basis of cue data received through a predetermined network; and
performing content acquisition processing to gather each cluster data received by the transfer processing in order of numbers and thus acquire data of the content.
19. The content receiving method as claimed in claim 18, wherein decoding processing is performed to decode the data of the cluster acquired by the content acquisition processing on the basis of individual key data for each cluster data contained in the cue data.
20. The content receiving method as claimed in claim 19, wherein the data of the cluster decoded by the content acquisition processing is further encrypted by different encryption on the basis of key data contained in the cue sheet and thus saved.
21. A content distribution method comprising:
on a server size connected to a predetermined network,
preparing a content database for managing data related to a content that can be distributed through the network;
preparing a content cluster list having data related to division of each content managed by the content database into clusters;
preparing a cluster database related to an address where each cluster described in the content cluster list is stored; and
managing distribution of the content on the basis of the data of the prepared databases and list; and
on a device side that can be connected to the server through the network,
performing content saving processing to save at least a part of clusters of the received content by each cluster formed by dividing the content; and
cluster data transmission processing to manage number of the content saved by the content saving processing and number of the saved cluster, and to transfer a predetermined cluster saved by the content saving processing to an address indicated by the server in accordance with a request for transfer of a cluster of the received content.
22. The content distribution method as claimed in claim 21, wherein content acquisition processing is performed to gather cluster data transferred from the device that can be connected to the server to another device in order of numbers on the basis of cue data sent from the server and thus acquire data of the content.
23. The content distribution method as claimed in claim 22, wherein decoding processing is performed individually for each cluster to the data of the cluster saved by each of the devices, on the basis of individual key data contained in the cue data sent from the server side.
24. A program executed by a server connected to a predetermined network, the program carrying out:
a function of preparing a content database having data related to a content managed by the server;
a function of preparing a content cluster list having data related to division of each content managed by the content database into clusters; and
a function of preparing a cluster database related to an address where each cluster described in the content cluster list is stored.
25. The program as claimed in claim 24, further comprising a function of preparing an authentication database, wherein the authentication database manages a key for encrypting each cluster for every storage place of each cluster described in the cluster database.
26. The program as claimed in claim 25, wherein processing to transmit the data related to division into clusters stored in the content cluster list, the data related to an address where each cluster is stored, stored in the cluster database, and data related to the encryption key stored in the authentication database as a cue sheet for reproducing the content to an address where the content data is request via the network, is executed.
27. A program carrying out:
a function of performing content saving processing to save at least a part of clusters of a content received through a predetermined network by each cluster formed by dividing the content; and
a function of performing control processing to manage number of the content saved by the content saving processing and number of the saved cluster, and to transfer a predetermined cluster saved by the content saving processing to a requested address in accordance with a request for transfer of a cluster of the received content.
28. The program as claimed in claim 27, wherein data of the cluster saved by the content saving processing is encrypted and saved on the basis of key data received from a predetermined server.
29. A program carrying out:
control processing to cause transfer of cluster data formed by dividing a predetermined content from an indicated address on the basis of cue data received through a predetermined network; and
content acquisition processing to gather each cluster data received under the control of the control processing and thus acquire data of the content.
30. The program as claimed in claim 29, wherein the data of the cluster acquired by the content acquisition processing is decoded on the basis of individual key data for each cluster data contained in the cue data.
31. The program as claimed in claim 29, wherein the data of the cluster decoded by the content acquisition processing is further encrypted by different encryption on the basis of key data contained in the cue data and thus saved.

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. (canceled)
2. (canceled)
3. (canceled)
4. (canceled)
5. (canceled)
6. (canceled)
7. (canceled)
8. (canceled)
9. (canceled)
10. (canceled)
11. (canceled)
12. (canceled)
13. (canceled)
14. (canceled)
15. (canceled)
16. (canceled)
17. A method for edge direction detection in an image, comprising the steps of:
selecting a pixel in an area of the image;
calculating a vector value from a plurality of pixels being related to the selected pixel, the vector value being associated with a selected direction;
using the vector value to determine whether the selected pixel is in a non-selected direction edge area;
if the selected pixel is in the non-selected direction edge area, then determining a correlation between the non-selected direction edge area and the selected direction, such that if the correlation is low, then the area of the pixel is considered to not include an edge in the selected direction.
18. The method of claim 17, wherein:
the step of selecting further includes the steps of selecting a pixel in an area of the image that is on the center line and defining the pixel as a selected pixel;
the step of determining a correlation further includes the steps of:
calculating at least two candidate edge directions based on a plurality of small-angle vector values each associated with a direction having a small-angle certain angle from the selected direction;
if a candidate edge direction is associated with a preferred direction, verifying that the candidate edge direction is consistent with an additional candidate edge direction;
when neither of the candidate edge directions is associated with a preferred direction, then performing a direction detection process based solely on big-angle vector values associated with directions having bigger angles from the selected direction than the small-angle.
19. The method of claim 18, further comprising the steps of:
calculating a plurality of vector values from the plurality of the adjoining pixels being on the two lines and being related to the selected pixel, the plurality of the vector values including the vertical vector value, the big-angle vector value, and the plurality of the small-angle vector values; and
wherein the step of determining a correlation further includes the steps of:
if every candidate edge direction that is associated with a preferred direction is consistent with the additional candidate edge direction, taking the additional candidate edge direction as a starting point for a direction fine tuning process including steps of:
determining whether at least one big-angle vector value is associated with a more accurate direction than the additional candidate edge direction, the big-angle vector value being associated with a direction having an orientation similar to the additional candidate edge direction, but having a bigger angle from the vertical direction than the additional candidate edge direction;
if the big-angle vector value is associated with a more accurate direction than the additional candidate edge direction, then selecting the more accurate direction as an edge direction for a position of the selected pixel; and
if the big-angle vector value is not associated with a more accurate direction than the additional candidate edge direction, then selecting the additional candidate edge direction as the edge direction for the position of the selected pixel.
20. The method of claim 19, wherein the selected direction comprises the vertical direction, and the selected vector value is a vertical vector norm value.
21. The method of claim 20, wherein:
the step of using the selected vector value to determine whether the selected pixel is in the non-selected edge area includes using a checking function that is equal to a vertical vector norm value minus a predetermined reference correlation value.
22. An edge direction detection system, comprising:
a vector value calculator for calculating a vector value from a plurality of pixels being related to a selected a pixel in an area of the image, the vector value being associated with a selected direction;
a direction checker that uses the vector value to determine whether the selected pixel is in a non-selected direction edge area;
an edge direction detector, wherein if the selected pixel is in the non-selected direction edge area, the edge detector determines a correlation between the non-selected direction edge area and the selected direction, such that if the correlation is low, then the area of the pixel is considered to not include an edge in the selected direction.
23. The system of claim 22, wherein:
the selected pixel is in an area of the image that is on the center line;
the edge direction detector further:
calculates at least two candidate edge directions based on a plurality of small-angle vector values each associated with a direction having a small-angle certain angle from the selected direction;
if a candidate edge direction is associated with a preferred direction, the edge direction detector verifies that the candidate edge direction is consistent with an additional candidate edge direction;
when neither of the candidate edge directions is associated with a preferred direction, then the edge direction detector performs a direction detection process based solely on big-angle vector values associated with directions having bigger angles from the selected direction than the small-angle.
24. The system of claim 23, further comprising:
means for calculating a plurality of vector values from the plurality of the adjoining pixels being on the two lines and being related to the selected pixel, the plurality of the vector values including the vertical vector value, the big-angle vector value, and the plurality of the small-angle vector values; and
wherein the edge direction detector further:
determines if every candidate edge direction that is associated with a preferred direction is consistent with the additional candidate edge direction, and if so, takes the additional candidate edge direction as a starting point for a direction fine tuning process that:
determines if at least one big-angle vector value is associated with a more accurate direction than the additional candidate edge direction, the big-angle vector value being associated with a direction having an orientation similar to the additional candidate edge direction, but having a bigger angle from the vertical direction than the additional candidate edge direction;
determines if the big-angle vector value is associated with a more accurate direction than the additional candidate edge direction, then selects the more accurate direction as an edge direction for a position of the selected pixel; and
determines if the big-angle vector value is not associated with a more accurate direction than the additional candidate edge direction, then selects the additional candidate edge direction as the edge direction for the position of the selected pixel.
25. The system of claim 24, wherein the selected direction comprises the vertical direction, and the selected vector value is a vertical vector norm value.
26. The system of claim 25, wherein:
the plurality of the vector values are based on vectors defined as:
U
\u2061

(
l
)
=

\u2062
I
\u2061

(
n
1


1

,
n
2


L
+
l
)
,
\u2026
\u2062

\u2003

,

I
\u2061

(
n
1


1

,
n
2

+
l
)
,
\u2026
\u2062

\u2003

,
\u2062

I
\u2062

(
n
1


1

,
n
2

+
L
+
l
)
=

\u2062
U


L
\u2061

(
l
)
,
\u2026
\u2062

\u2003

,
U
0

\u2061

(
l
)
,
\u2026
\u2062

\u2003

,
U
L

\u2061

(
l
)
,
and

\u2062

\u2003
V
\u2061

(
m
)
=

\u2062
I
\u2061

(
n
1

+
1

,
n
2


L
+
m
)
,
\u2026
\u2062

\u2003

,

I
\u2061

(
n
1

+
1

,
n
2

+
m
)
,
\u2026
\u2062

\u2003

,
\u2062

I
\u2061

(
n
1

+
1

,
n
2

+
L
+
m
)
=

\u2062
V


L
\u2061

(
m
)
,
\u2026
\u2062

\u2003

,
V
0

\u2061

(
m
)
,
\u2026
\u2062

\u2003

,
V
L

\u2061

(
m
)
.
Wherein I is an original image;
L is a constant that relates to a length of each of the vectors; and
L the length of each of the vectors is 2L+1.
27. The system of claim 26, wherein:
each of the plurality of the vector values is defined as:
D
\u2061

(

l
,
m

)
=
1
M

\u2062
\u2211

i
=


L
L

\u2062
\uf603
U
i

\u2061

(
l
)

V
i

\u2061

(
m
)
\uf604

\u2062
C
i

.
Ci is a weight value; and
M
=
\u2211
i

\u2062
C
i

.
28. The system of claim 26, wherein:
the vertical vector norm value is defined as:
D
v

=
D
\u2061

(

0
,
0

)
=
1
M

\u2062
\u2211

i
=


L
L

\u2062
\uf603
U
i

\u2061

(
0
)

V
i

\u2061

(
0
)
\uf604

\u2062

C
i
;
and
Ci is a weight value.
29. The system of claim 27, wherein:
the plurality of the small-angle vector norm values are defined as:
D

l
,
m
=
D
\u2061

(

l
,
m

)
=
1
M

\u2062
\u2211

i
=


L
L

\u2062
\uf603
U
i

\u2061

(
l
)

V
i

\u2061

(
m
)
\uf604

\u2062

C
i
;
and
\u2062
(

l
,
m

)

\u2208
{
(

1
,
0

)

,

(

1

,
0

)

,

(

0
,
1

)

,

(

0
,


1
)
}

.
30. The system of claim 26, wherein:
the big-angle norm value is defined as:
D
\u2061

(

l
,


l
)
=
1
M

\u2062
\u2211

i
=


L
L

\u2062
\uf603
U
i

\u2061

(
l
)

V
i

\u2061

(


l

)
\uf604

\u2062

C
i
,
l
\u2208

(

W

,


1
\u22c3
1
,
W
)
;
wherein: l is an integer; W is a constant that relates to a correlation checking range; and 2W+1 is a maximum correlation checking range.