1461186372-8cd654ba-4a7b-4c62-84fb-5944c02d8146

1. A method of detecting a motion vector for an object block in a current frame of an orthogonally transformed video with respect to one of stored past frames, the method comprising the steps of:
extracting a predetermined pattern of lower frequency components from said object block;
orthogonally inverse transforming said extracted lower frequency components within said pattern to yield said pattern of pixel data;
searching said one of said stored past frames for a best match having a maximum correlation with said pattern of pixel data; and
calculating said motion vector from said object block to said best match having said maximum correlation.
2. A method as defined in claim 1, wherein said orthogonal transform is a DCT (discrete cosine transform) that is a high-efficiency coding scheme for an image.
3. A method as defined in claim 2, wherein said predetermined pattern is a top leftmost subblock of 4 by 4 components in said object block.
4. A method as defined in claim 2, wherein said object block is a macroblock which is defined in international moving picture coding standards and which contains 4 subblocks of 8 by 8 components, wherein said predetermined pattern comprises four squares of 4 by 4 components, said four squares being disposed in upper left corners of respective subblocks, and wherein the method further comprises the step of storing said pattern of pixel data in a newest one of said stored past frames which is being created.
5. A method as defined in claim 1, further comprising the step, preceding all said steps, of determining that said predetermined pattern should include a linear component.
6. A method of detecting a motion vector for an object block in a current frame of an orthogonally transformed video, the method comprising the steps of:
finding an x-component of said motion vector for said object block, said step of finding an x-component comprising the steps of:
extracting a top row of components from said object block;
orthogonally inverse transforming said extracted components within said row to yield said row of pixels;
storing said row of pixels in a newest one of stored past frames of pixel rows (stored past row frames);
advancing along and searching said pixel rows of a reference one of said stored past row frames for a first best match having a maximum correlation with said row of pixels; and
calculating said x-component of said motion vector from said top row of said object block to said first best match having said maximum correlation; and

finding a y-component of said motion vector for said object block; said step of finding an x-component comprising the steps of:
extracting a leftmost column of components from said object block;
orthogonally inverse transforming said extracted components within said column to yield said column of pixels;
storing said column of pixels in a newest one of stored past frames of pixel columns (stored past column frames);
advancing along and searching pixel columns of a reference one of said stored past column frames for a second bast match having a maximum correlation with said column of pixels; and
calculating said y-component of said motion vector from said leftmost column of said object block to said second best match.
7. A method as defined in claim 6, wherein said block is a macroblock that is defined in international moving picture coding standards using motion compensation.
8. A method as defined in claim 6, further comprising the step of selecting one of 8, 6, and 4 components as a length of said top row and said left most column.
9. A method as defined in claim 6, further comprising the steps of:
in response to a success in a first one of said advancing and searching steps, measuring a position component, of said best match whichever first to be found, with respect to a direction different from that of said first search; and
for a following one of said first advancing and searching step, setting a square search range around a position defined by a calculated component of said motion vector and said position component, wherein said following advancing and searching step includes the step of limiting said advancing and searching within said square search range around said position.
10. A method as defined in claim 6, further comprising the steps of:
calculating intermediate row images from adjacent pixel rows of said reference one of said stored past row frames; and
interpolating said intermediate row images in between said adjacent pixel rows, wherein said step of advancing along and searching said pixel rows includes the step of advancing along and searching said intermediate row images of said reference one of said stored past row frames.
11. A method as defined in claim 6, further comprising the steps of:
calculating intermediate column images from adjacent pixel columns of said reference one of said stored past column frames; and
interpolating said intermediate column images in between said adjacent pixel columns, wherein said step of advancing along and searching said pixel columns includes the step of advancing along and searching said intermediate column images of said reference one of said stored past column frames.
12. A method of detecting a motion vector for an object block in a current frame of a video, the method comprising the steps of:
finding an x-component of said motion vector for said object block, said step of finding an x-component comprising the steps of:
creating a row of image comprising sums each obtained by adding all the pixels in one of columns of said object block;
storing said row of image in a newest one of stored past frames of pixel rows (stored past row frames);
advancing along and searching pixel rows of a reference one of said stored past row frames for a first best match having a maximum correlation with said row of image; and
calculating said x-component of said motion vector from an upside of said object block to said first bast match; and

finding a y-component of said motion vector for said object block, said step of finding a y-component comprising the steps of:
creating a column of image comprising sums each obtained by adding all the pixels in one of rows of said object block;
storing said column of image in a newest one of stored past frames of pixel columns (stored past column frames);
advancing along and searching pixel columns of a reference one of said stored past column frames for a second bast match having a maximum correlation with said column of image; and
calculating said y-component of said motion vector from a leftmost side of said object block to said second bast match.
13. A method of detecting a motion vector for an object macroblock in a current frame of an orthogonally transformed video with respect to one of stored past frames, said macroblock being defined in international moving picture coding standards and comprising 4 blocks of 8 pixels, the method comprising the steps of:
detecting a first moving vector with a reduced precision at a speed more than a thirty times that of a two-dimension full search, said step of detecting a first moving vector comprising the steps of:
extracting a predetermined pattern of lower frequency components from said object macroblock, said predetermined pattern comprising four squares of 4 by 4 components, said four squares being disposed in upper left corners of respective one of said four blocks of said object macroblock;
orthogonally inverse transforming said extracted lower frequency components within said pattern to yield said pattern of pixel data;
storing said pattern of pixel data in a newest one of said stored past frames;
searching said one of said stored past frames for a best match having a maximum correlation with said pattern of pixel data; and
calculating said first motion vector from said object macroblock to said bast match having said maximum correlation; and

detecting a second motion vector with a raised precision by searching only a neighborhood of a point pointed by said first moving vector.
14. A method for converting a first video of a DV format intended for a video cassette recorder into a second video of an MPEG format, the first video comprising DCT blocks (i.e., blocks of DCT coefficients), and said second video comprising macroblocks each comprising four of said DCT blocks, comprising the steps of:
converting each of said DCT blocks into a block of uncompressed pixels;
detecting a motion vector for an object one of said macroblocks in a current frame of said first video with respect to one of stored past frames; and
MPEG encoding blocks of uncompressed pixels for said object macroblock by using said motion vector, said step of MPEG encoding said blocks including the step of compensating motions between said current frame and said one of stored past frames, wherein said step of detecting a motion vector for an object macroblock comprises the steps of:
extracting a predetermined pattern of lower frequency components from said object macroblock;
inverse discrete cosine transforming said extracted lower frequency components within said pattern to yield said pattern of pixels;
searching said one of said stored past frames for a best match having a maximum correlation with said pattern of pixels; and
calculating said motion vector from said object macroblock to said bast match having said maximum correlation.
15. A method as defined in claim 14, further comprising the step of storing said pattern of pixels in a newest one of said stored past frames which is under formation for future use as a reference frame to form said newest one.
16. A method as defined in claim 14, further comprising the step of storing said pattern of other pixels which are different from said pixels provided by said step of inverse discrete cosine transforming said extracted lower frequency in a newest one of said stored past frames which is under formation for future use as a reference frame to form said newest one.
17. A method as defined in claim 16, wherein said step of storing said pattern of other pixels in said newest one of said stored past frames comprises the steps of:
obtaining a corresponding macroblock of four DCT blocks generated in said step of compensating motions;
extracting said pattern of lower frequency components from said corresponding macroblock; and
inverse discrete cosine transforming said extracted lower frequency components within said pattern to yield said pattern of said other pixels.
18. A video encoding method for encoding a noncompressed video bitstream into a compressed and coded video bit stream, comprising the steps of:
collecting a macroblock of pixels from said noncompressed video bitstream, said macroblock being defined in international video coding standards in which motion compensation is practiced, said macroblock comprising 2-by-2 blocks of 8-by-8 pixels,
detecting a motion vector for said macroblock in a current frame of said noncompressed video bitstream; and
MPEG encoding said blocks for said macroblock by using said motion vector into spatially compressed blocks for said macroblock, said step of MPEG encoding said blocks including the step of compensating motions between said current frame and said one of stored past frames, wherein said step of detecting a motion vector for said macroblock comprises the steps of:
finding an x-component of said motion vector for said macroblock, said step of finding an x-component comprising the steps of:
creating a row of image comprising sums each obtained by adding all the pixels in one of columns of said macroblock;
advancing along and searching pixel rows of a reference row frame of stored past row frames (i.e., stored past frames of pixel rows) for a first best match having a maximum correlation with said row of image; and
calculating said x-component of said motion vector from an upside of said macroblock to said first bast match; and

finding a y-component of said motion vector for said macroblock, said step of finding a y-component comprising the steps of:
creating a column of image comprising sums each obtained by adding all the pixels in one of rows of said macroblock;
advancing along and searching pixel columns of a reference column frame of stored past column frames (i.e., stored past frames of pixel columns) for a second bast match having a maximum correlation with said column of image; and
calculating said y-component of said motion vector from a leftmost side of said macroblock to said second bast match.
19. A method as defined in claim 18, further comprising the steps of:
storing said row of image in a newest row frame of said stored past row frames which is under formation for future use as said reference row frame to form said newest row frame; and
storing said column of image in a newest column frame of stored past column frames which is under formation for future use as said reference column frame to form said newest column frame.
20. A method as defined in claim 18, further comprising the steps of:
storing said row of other image which is different from said row of image provided by said step of creating a row of image in a newest row frame of said stored past row frames which is under formation for future use as a reference row frame to form said newest row frame; and
storing said column of other image which is different from said column of image provided by said step of creating a column of image in a newest column frame of said stored past column frames which is under formation for future use as a reference column frame to form said newest column frame.
21. A method as defined in claim 20, wherein said step of storing said row of said other image in said newest row frame of said stored past row frames comprises the steps of:
obtaining a corresponding macroblock of four DCT blocks generated in said step of compensating motions;
extracting said upside of lower frequency components from said corresponding macroblock; and
inverse discrete cosine transforming said extracted lower frequency components to yield a row of uncompressed image, and wherein said step of storing said column of said other image in said newest column frame of said stored past column frames comprises the steps of:
obtaining a corresponding macroblock of four DCT blocks generated in said step of compensating motions;
extracting said upside of lower frequency components from said corresponding macroblock; and
inverse discrete cosine transforming said extracted lower frequency components to yield a column of uncompressed image.
22. A method as defined in claim 21, wherein said step of storing said row of said other image further comprises the steps of:
if said current frame is intra coded, reading a corresponding row image from said reference row frame in said stored past row frames and storing a sum of said read row image and said row of uncompressed image in said newest row frame of said past row frames; and
if said current frame is non-intra coded, storing said row of uncompressed image in said newest row of said past row frames, and wherein said step of storing said column of said other image further comprises the steps of:
if said current frame is intra coded, reading a corresponding column image from said reference column frame in said stored past column frames and storing a sum of said read column image and said column of uncompressed image in said newest column frame of said past column frames; and
if said current frame is non-intra coded, storing said column of uncompressed image in said newest column of said past column frames.
23. A system for detecting a motion vector for an object block in a current frame of an orthogonally transformed video with respect to one of stored past frames, the system comprising:
means for extracting a predetermined pattern of lower frequency components from said object block;
means for orthogonally inverse transforming said extracted lower frequency components within said pattern to yield said pattern of pixel data;
means for searching said one of said stored past frames for a best match having a maximum correlation with said pattern of pixel data; and
means for calculating said motion vector from said object block to said bast match having said maximum correlation.
24. A system as defined in claim 23, wherein said orthogonal transform is a DCT (discrete cosine transform) that is a high-efficiency coding scheme for an image.
25. A system as defined in claim 24, wherein said predetermined pattern is a top leftmost subblock of 4 by 4 components in said object block.
26. A system as defined in claim 24, wherein said object block is a macroblock which is defined in international moving picture coding standards and which contains 4 subblocks of 8 by 8 components, wherein said predetermined pattern comprises four squares of 4 by 4 components, said four squares being disposed in upper left corners of respective subblocks, and wherein the system further comprises means for storing said pattern of pixel data in a newest one of said stored past frames which is being created advancing along and searching said pixel rows of a reference one of said stored past row frames for a first best match having a maximum correlation with said row of pixels.
27. A system as defined in claim 23, wherein said predetermined pattern includes a linear component.
28. A system for detecting a motion vector for an object block in a current frame of an orthogonally transformed video, the system comprising:
means for finding an x-component of said motion vector for said object block, said means for finding an x-component comprising:
means for extracting a top row of components from said object block;
means for orthogonally inverse transforming said extracted components within said row to yield said row of pixels;
means for storing said row of pixels in a newest one of stored past frames of pixel rows (stored past row frames);
advancing along and searching said pixel rows of a reference one of said stored past row frames for a first best match having a maximum correlation with said row of pixels; and
means for calculating said x-component of said motion vector from said top row of said object block to said first best match having said maximum correlation; and

means for finding a y-component of said motion vector for said object block; said means for finding an x-component comprising:
means for extracting a leftmost column of components from said object block;
means for orthogonally inverse transforming said extracted components within said column to yield said column of pixels;
means for storing said column of pixels in a newest one of stored past frames of pixel columns (stored past column frames);
means for advancing along and searching pixel columns of a reference one of said stored past column frames for a second bast match having a maximum correlation with said column of pixels; and
means for calculating said y-component of said motion vector from said leftmost column of said object block to said second best match.
29. A system as defined in claim 28, wherein said block is a macroblock that is defined in international moving picture coding standards using motion compensation.
30. A system as defined in claim 28, further comprising means for selecting one of 8, 6, and 4 components as a length of said top row and said left most column.
31. A system as defined in claim 28, further comprising:
means, responsive to a success in said searching said pixel, for measuring a vertical component of a position of said first best match; and
means for setting a square search range around said position of said first best match, wherein said means for advancing along and searching said pixel columns includes means for limiting said advancing along and searching within said square search range around said position.
32. A system as defined in claim 28, further comprising:
means for calculating intermediate row images from adjacent pixel rows of said reference one of said stored past row frames; and
means for interpolating said intermediate row images in between said adjacent pixel rows, wherein said means for advancing along and searching said pixel rows includes means for advancing along and searching said intermediate row images of said reference one of said stored past row frames.
33. A system as defined in claim 28, further comprising:
means for calculating intermediate column images from adjacent pixel columns of said reference one of said stored past column frames; and
means for interpolating said intermediate column images in between said adjacent pixel columns, wherein said means for advancing along and searching said pixel columns includes means for advancing along and searching said intermediate column images of said reference one of said stored past column frames.
34. A system for detecting a motion vector for an object block in a current frame of a video, the system comprising:
means for finding an x-component of said motion vector for said object block, said means for finding an x-component comprising:
means for creating a row of image comprising sums each obtained by adding all the pixels in one of columns of said object block;
means for storing said row of image in a newest one of stored past frames of pixel rows (stored past row frames);
means for advancing along and searching pixel rows of a reference one of said stored past row frames for a first best match having a maximum correlation with said row of image; and
means for calculating said x-component of said motion vector from an upside of said object block to said first bast match; and

means for finding a y-component of said motion vector for said object block, said means for finding a y-component comprising:
means for creating a column of image comprising sums each obtained by adding all the pixels in one of rows of said object block;
means for storing said column of image in a newest one of stored past frames of pixel columns (stored past column frames);
means for advancing along and searching pixel columns of a reference one of said stored past column frames for a second bast match having a maximum correlation with said column of image; and
means for calculating said y-component of said motion vector from a leftmost side of said object block to said second bast match.
35. A system of detecting a motion vector for an object macroblock in a current frame of an orthogonally transformed video with respect to one of stored past frames, said macroblock being defined in international moving picture coding standards and comprising 4 blocks of 8 pixels, the system comprising:
means for detecting a first moving vector with a reduced precision at a speed more than a thirty times that of a two-dimension full search, said means for detecting a first moving vector comprising:
means for extracting a predetermined pattern of lower frequency components from said object macroblock, said predetermined pattern comprising four squares of 4 by 4 components, said four squares being disposed in upper left corners of respective one of said four blocks of said object macroblock;
means for orthogonally inverse transforming said extracted lower frequency components within said pattern to yield said pattern of pixel data;
means for storing said pattern of pixel data in a newest one of said stored past frames;
means for searching said one of said stored past frames for a best match having a maximum correlation with said pattern of pixel data; and
means for calculating said first motion vector from said object macroblock to said bast match having said maximum correlation; and

means for detecting a second motion vector with a raised precision by searching only a neighborhood of a point pointed by said first moving vector.
36. A system for converting a first video of a DV format intended for a video cassette recorder into a second video of an MPEG format, the first video comprising DCT blocks (i.e., blocks of DCT coefficients), and said second video comprising macroblocks each comprising four of said DCT blocks, comprising:
means for converting each of said DCT blocks into a block of uncompressed pixels;
means for detecting a motion vector for an object one of said macroblocks in a current frame of said first video with respect to one of stored past frames; and
means for MPEG encoding blocks of uncompressed pixels for said object macroblock by using said motion vector, said means for MPEG encoding said blocks including means for compensating motions between said current frame and said one of stored past frames, wherein said means for detecting a motion vector for an object macroblock comprises:
means for extracting a predetermined pattern of lower frequency components from said object macroblock;
means for inverse discrete cosine transforming said extracted lower frequency components within said pattern to yield said pattern of pixels;
means for searching said one of said stored past frames for a best match having a maximum correlation with said pattern of pixels; and
means for calculating said motion vector from said object macroblock to said bast match having said maximum correlation.
37. A system as defined in claim 36, further comprising means for storing said pattern of pixels in a newest one of said stored past frames which is under formation for future use as a reference frame to form said newest one.
38. A system as defined in claim 36, further comprising means for storing said pattern of other pixels which are different from said pixels provided by said means for inverse discrete cosine transforming said extracted lower frequency in a newest one of said stored past frames which is under formation for future use as a reference frame to form said newest one.
39. A system as defined in claim 38, wherein said means for storing said pattern of other pixels in said newest one of said stored past frames comprises:
means for obtaining a corresponding macroblock of four DCT blocks generated in said means for compensating motions;
means for extracting said pattern of lower frequency components from said corresponding macroblock; and
means for inverse discrete cosine transforming said extracted lower frequency components within said pattern to yield said pattern of said other pixels.
40. A video encoding system for encoding a noncompressed video bitstream into a compressed and coded video bit stream, comprising:
means for collecting a macroblock of pixels from said noncompressed video bitstream, said macroblock being defined in international video coding standards in which motion compensation is practiced, said macroblock comprising 2-by-2 blocks of 8-by-8 pixels,
means for detecting a motion vector for said macroblock in a current frame of said noncompressed video bitstream; and
means for MPEG encoding said blocks for said macroblock by using said motion vector into spatially compressed blocks for said macroblock, said means for MPEG encoding said blocks including means for compensating motions between said current frame and said one of stored past frames, wherein said means for detecting a motion vector for said macroblock comprises:
means for finding an x-component of said motion vector for said macroblock, said means for finding an x-component comprising:
means for creating a row of image comprising sums each obtained by adding all the pixels in one of columns of said macroblock;
means for advancing along and searching pixel rows of a reference row frame of stored past row frames (i.e., stored past frames of pixel rows) for a first best match having a maximum correlation with said row of image; and
means for calculating said x-component of said motion vector from an upside of said macroblock to said first bast match; and

means for finding a y-component of said motion vector for said macroblock, said means for finding a y-component comprising:
means for creating a column of image comprising sums each obtained by adding all the pixels in one of rows of said macroblock;
means for advancing along and searching pixel columns of a reference column frame of stored past column frames (i.e., stored past frames of pixel columns) for a second bast match having a maximum correlation with said column of image; and
means for calculating said y-component of said motion vector from a leftmost side of said macroblock to said second bast match.
41. A system as defined in claim 40, further comprising:
means for storing said row of image in a newest row frame of said stored past row frames which is under formation for future use as said reference row frame to form said newest row frame;
means for storing said column of image in a newest column frame of stored past column frames which is under formation for future use as said reference column frame to form said newest column frame.
42. A system as defined in claim 40, further comprising:
means for storing said row of other image which is different from said row of image provided by said means for creating a row of image in a newest row frame of said stored past row frames which is under formation for future use as a reference row frame to form said newest row frame; and
means for storing said column of other image which is different from said column of image provided by said means for creating a column of image in a newest column frame of said stored past column frames which is under formation for future use as a reference column frame to form said newest column frame.
43. A system as defined in claim 42, wherein said means for storing said row of said other image in said newest row frame of said stored past row frames comprises:
means for obtaining a corresponding macroblock of four DCT blocks generated in said means for compensating motions;
means for extracting said upside of lower frequency components from said corresponding macroblock; and
means for inverse discrete cosine transforming said extracted lower frequency components to yield a row of uncompressed image, and wherein said means for storing said column of said other image in said newest column frame of said stored past column frames comprises:
means for obtaining a corresponding macroblock of four DCT blocks generated in said means for compensating motions;
means for extracting said upside of lower frequency components from said corresponding macroblock; and
means for inverse discrete cosine transforming said extracted lower frequency components to yield a column of uncompressed image.
44. A system as defined in claim 43, wherein said means for storing said row of said other image further comprises:
means, operative in the event said current frame is intra coded, for reading a corresponding row image from said reference row frame in said stored past row frames and storing a sum of said read row image and said row of uncompressed image in said newest row frame of said past row frames; and
means, operative in the event said current frame is non-intra coded, for storing said row of uncompressed image in said newest row of said past row frames, and wherein said means for storing said column of said other image further comprises:
means, operative in the event said current frame is intra coded, for reading a corresponding column image from said reference column frame in said stored past column frames and storing a sum of said read column image and said column of uncompressed image in said newest column frame of said past column frames; and
means, operative in the event said current frame is non-intra coded, for storing said column of uncompressed image in said newest column of said past column frames.

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 apparatus for automatically determining whether a modification to or expansion of a communications network is efficient in terms of cost, the apparatus comprising:
first logic configured to forecast an increase in network traffic;
second logic configured to simulate a modification to or expansion of the network based on the forecasted increase in network traffic andor based on performance improvement criteria andor coverage expansion criteria; and
third logic configured to determine whether the simulated modification or expansion meets cost criteria.
2. The apparatus of claim 1, wherein the first logic corresponds to a voice channel forecasting (VCF) algorithm being executed by a computer, the computer receiving information describing current capacity limitations of the network and information describing efforts directed at increasing a subscriber base of the network, the computer processing the information in accordance with the VCF forecasting algorithm to generate said forecast.
3. The apparatus of claim 1, wherein the second logic includes an automatic cell planning (ACP) algorithm being executed by the computer, wherein during the simulation, the ACP algorithm determines whether one or more cell sites need to be added to the network to meet the forecasted increase in network traffic.
4. The apparatus of claim 3, wherein the second logic includes an automatic frequency planning (AFP) algorithm being executed by the computer, wherein during simulation, the AFP algorithm determines whether one or more new channels need to be added to an existing cell cite to meet the forecasted increase in network traffic.
5. The apparatus of claim 4, wherein the second logic includes a quality of service (QoS) algorithm being executed by the computer, wherein during simulation, the QoS algorithm determines whether simulated modifications to or expansions of the network meet quality of service criteria.
6. The apparatus of claim 5, wherein the second logic includes a key performance indicator (KPI) algorithm being executed by the computer, wherein during simulation, the KPI algorithm determines whether simulated modifications to or expansions of the network meet performance criteria.
7. The apparatus of claim 1, wherein the third logic corresponds to a network configuration selection algorithm being executed by a computer, the selection algorithm receiving information describing the simulated modified or expanded network and information relating to the costs associated with the simulated modification or expansion, the selection algorithm processing said information to determine whether the simulated modified or expanded network will be capable of handling the forecasted increase in network traffic and whether the simulated modification or expansion is within an acceptable cost range, and wherein if the selection algorithm determines either that the simulated modified or expanded network will not be capable of handling the forecasted increase in network traffic or is not within an acceptable cost range, the second logic re-runs the simulation.
8. The apparatus of claim 7, wherein if the selection algorithm determines that the simulated modified or expanded network will be capable of handling the forecasted increase in network traffic and is within an acceptable cost range, the selection algorithm selects the simulated modified or expanded network as a network model to be implemented.
9. A method for automatically determining whether a modification to or expansion of a communications network is efficient in terms of cost, the method comprising:
forecasting an increase in network traffic;
simulating a modification to or expansion of the network based on the forecasted increase in network traffic andor based on performance improvement criteria andor coverage expansion criteria; and
determining whether the simulated modification or expansion meets cost criteria.
10. The method of claim 9, wherein said forecasting is performed by a voice channel forecasting (VCF) algorithm being executed by a computer, the computer receiving information describing current capacity limitations of the network and information describing efforts directed at increasing a subscriber base of the network, the computer processing the information in accordance with the VCF forecasting algorithm to generate said forecast.
11. The method of claim 9, wherein said simulating includes executing an automatic cell planning (ACP) algorithm on a computer to determine whether one or more cell sites need to be added to the network to meet the forecasted increase in network traffic.
12. The method of claim 11, wherein said simulating further includes executing an automatic frequency planning (AFP) algorithm on the computer to determine whether one or more new channels need to be added to an existing cell cite to meet the forecasted increase in network traffic.
13. The method of claim 12, wherein said simulating further includes executing a quality of service (QoS) algorithm on the computer to determine whether the simulated modifications to or expansions of the network meet quality of service criteria.
14. The method of claim 13, wherein said simulating further includes executing a key performance indicator (KPI) algorithm on the computer to determine whether the simulated modifications to or expansions of the network meet performance criteria.
15. The method of claim 9, wherein the determining step is performed by executing a network configuration selection algorithm on a computer, the selection algorithm receiving information describing the simulated modified or expanded network and information relating to the costs associated with the simulated modification or expansion, the selection algorithm processing said information to determine whether the simulated modified or expanded network will be capable of handling the forecasted increase in network traffic and whether the simulated modification or expansion is within an acceptable cost range, the method further comprising:
if the selection algorithm determines either that the simulated modified or expanded network will not be capable of handling the forecasted increase in network traffic or is not within an acceptable cost range, performing the simulation step again to simulate a different modification or expansion to the network.
16. The method of claim 15, wherein if a determination is made that the simulated modified or expanded network will be capable of handling the forecasted increase in network traffic and is within an acceptable cost range, the selection algorithm selects the simulated modified or expanded network as a network model to be implemented.
17. A computer program for automatically determining whether a modification to or expansion of a communications network is efficient in terms of cost, the computer program being embodied on a computer-readable medium, the program comprising:
a first code segment for forecasting an increase in network traffic;
a second code segment for simulating a modification to or expansion of the network in order to handle the forecasted increase in network traffic andor; and
a third code segment for determining whether the simulated modification or expansion meets cost criteria.
18. The computer program of claim 17, wherein the first code segment performs a voice channel forecasting (VCF) algorithm that receives information describing current capacity limitations of the network and information describing efforts directed at increasing a subscriber base of the network, and that processes the information to generate said forecast.
19. The computer program of claim 17, wherein during the simulation, the second code segment performs an automatic cell planning (ACP) algorithm that determines whether one or more cell sites need to be added to the network to meet the forecasted increase in network traffic.
20. The computer program of claim 19, wherein during the simulation, the second code segment also performs an automatic frequency planning (AFP) algorithm that determines whether one or more new channels need to be added to an existing cell cite to meet the forecasted increase in network traffic.
21. The computer program of claim 20, wherein during the simulation, the second code segment also performs a quality of service (QoS) algorithm to determine whether the simulated modifications to or expansions of the network meet quality of service criteria.
22. The computer program of claim 21, wherein during the simulation, the second code segment also performs a key performance indicator (KPI) algorithm to determine whether the simulated modifications to or expansions of the network meet performance criteria.
23. The computer program of claim 17, wherein the third code segment performs a network configuration selection algorithm which receives information describing the simulated modified or expanded network and information relating to the costs associated with the simulated modification or expansion, and which processes said information to determine whether the simulated modified or expanded network will be capable of handling the forecasted increase in network traffic and whether the simulated modification or expansion is within an acceptable cost range.
24. The computer program of claim 23, wherein if the third code segment determines either that the simulated modified or expanded network will not be capable of handling the forecasted increase in network traffic or is not within an acceptable cost range, the third code segment performs the simulation step again to simulate a different modification or expansion to the network.
25. The computer program of claim 24, wherein if a determination is made by the third code segment that the simulated modified or expanded network will be capable of handling the forecasted increase in network traffic and is within an acceptable cost range, the third code segment selects the simulated modified or expanded network as a network model to be implemented.