1. A computer-implemented transactional method within a system wherein a first user of the system provides information on social patterns to a second user, the transactional method comprising steps of:
using an inputoutput interface for receiving a request for social pattern information from the second user, the request comprising a query;
using a processor device configured to perform:
assigning an authorization level to the second user for restricting a type and amount of data provided to the second user;
providing information on social patterns to the second user according to the second user’s authorization level;
wherein the social patterns indicate a problem a community has in resolving an issue and comprise customer feedback, customer complaints, task assignments, trouble tickets, zombie scores, and hardware and software bugs;
wherein a zombie score is calculated by searching a change request history for a most recent activity on the change requests and subtracting a date of that activity from a current date; and
storing information about the second user to be used in future transactions with the second user, the information comprising transactional fee data and subscription data, the subscription data for notifying the second user of additional social patterns as they develop.
2. The computer-implemented transactional method of claim 1 wherein a zombie score is calculated by searching a change request history for a most recent activity on the change requests and subtracting a date of that activity from a current date.
3. The computer-implemented transactional method of claim 1, wherein the social patterns further comprise: an assignreassign pattern, a resolvereopen pattern, a popularity pattern, a blocking pattern, a zombie pattern, an unevaluated patch pattern, and age and severity patterns.
4. The computer-implemented transactional method of claim 1, wherein the providing step comprises alerting the second user of the system that a social pattern has been detected.
5. The computer-implemented transactional method of claim 2, further comprising a step of: maintaining traceability linkages to change tracking systems to track changes in the status history of change requests.
6. The computer-implemented transactional method of claim 2 wherein the change requests are trouble tickets.
7. The computer-implemented transactional method of claim 2 wherein the information on social patterns further comprises: a set of patterns that are presented on the change request, a magnitude for each pattern presented on the change request, and a combined magnitude for all the patterns presented on the change request.
8. The computer-implemented transactional method of claim 7 further comprising a step of ranking change requests based on information about one or more social patterns associated with the change requests.
9. The computer-implemented transactional method of claim 2 further comprising a step of: modifying one or more change requests based on information about one or more social patterns associated with the one or more change requests.
10. The computer-implemented transactional method of claim 3 further comprising detecting the assignreassign pattern by:
for each change request:
searching the change history for state changes to an assigned state, reassigned state, or other state; and
totaling the state changes to generate an assignreassign score for the change request.
11. The computer-implemented transactional method of claim 3 further comprising detecting the resolvereopen pattern by:
for each change request:
searching the change request’s history for state changes to a resolved state or similar state; and
totaling the state changes to generate a resolvereopen score for the change request.
12. The computer-implemented transactional method of claim 3 further comprising detecting the popularity pattern by:
for each change request:
searching the change request’s history;
counting modifications such as: a number of comments, votes, duplicates of the change request, and people added to a circulation list of the change request; and
totaling the modifications to generate a popularity score for that change request.
13. The computer-implemented transactional method of claim 3 further comprising detecting the blocking pattern by:
for each change request:
counting change requests that depend on this change request;
totaling the dependent change requests to generate a blocking score for the change request.
14. The computer-implemented transactional method of claim 3 further comprising detecting the zombie pattern by:
for each change request:
searching the change request’s history for a most recent activity on the change request; and
subtracting a date of that activity from a current date to generate a zombie score for the change request.
15. The computer-implemented transactional method of claim 3 further comprising detecting the unevaluated patch pattern by:
for each change request:
counting the patches that have not been evaluated for the change request; and
totaling the unevaluated patches to generate an unevaluated patch score for the change request.
16. The computer-implemented transactional method of claim 3 further comprising detecting the age and severity pattern by:
for each change request:
subtracting a change creation date for the change request from a current date to generate an age of the change request; and
multiplying the age by a severity of the change request to generate the age and severity score for the change request.
17. The computer-implemented transactional method of claim wherein providing the information on social patterns to the second user is done on a fee basis.
18. The computer-implemented transactional method of claim 1 wherein providing the information on social patterns to the second user is done on a subscription basis.
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 video encoder device that implements a model-based rate control mechanism for encoding of bit planes, the video encoder device comprising:
one or more processors; and
one or more processor-accessible storage media storing processor-executable instructions for implementing a plurality of modules for implementing the model-based rate control mechanism for encoding of bit planes, the plurality of modules comprising:
a pre-encoding module for accepting a current bit plane and a model parameter, the model parameter reflecting a less probable symbol (LPS) reduction ratio with respect to bits of a bit plane and a bit-count reduction ratio due to bit plane encoding, wherein the pre-encoding module produces a value for a threshold band half-width using the model parameter to determine a desired LPS reduction ratio;
an encoding module that receives the value for the threshold band half-width produced by the pre-encoding module, and that also receives the current bit plane for producing an encoded bit plane having a reduced bit count based on the value for the threshold band half-width produced by the pre-encoding module using the model parameter; and
a post-encoding module for accepting the encoded bit plane from the encoding module, the encoded bit plane having been encoded responsive to the value for the threshold band half-width produced by the pre-encoding module using the model parameters, wherein the post-encoding module updates the model parameter based on an actual bit-count reduction ratio derived from the encoded bit plane and provides the updated model parameter to the pre-encoding module for use in processing a next bit plane.
2. The device as recited in claim 1, wherein the device comprises (i) a mobile telephone, (ii) video conferencing equipment, or (iii) at least part of a personal computer.
3. The device as recited in claim 1
wherein the pre-encoding module ascertains the desired LPS reduction ratio responsive to the model parameter and a desired bit-count reduction ratio; and
wherein the pre-encoding module selects a smallest value for the threshold band half-width in which a corresponding LPS reduction ratio is larger than or equal to the desired LPS reduction ratio.
4. The device as recited in claim 3,
wherein the current bit plane comprises a first bit plane of a multi-level video frame; and
wherein the pre-encoding module calculates the desired bit-count reduction ratio based on a targeted bit-count for the first bit plane and responsive to another model parameter.
5. The device as recited in claim 1
wherein the post-encoding module is further adapted to calculate the actual bit-count reduction ratio responsive to an encoding bit-count of the encoded bit plane and a complexity of the current bit plane; and
wherein the post-encoding module updates the model parameter based on the actual bit-count reduction ratio and the LPS reduction ratio to provide the updated model parameter to the pre-encoding module.
6. A method comprising:
determining multiple less probable symbol (LPS) reduction ratios across a range of multiple threshold band half-widths, each respective LPS reduction ratio of the multiple LPS reduction ratios corresponding to a respective threshold band half-width of the multiple threshold band half-widths;
determining a targeted bit-count for a current bit plane;
calculating a desired bit-count reduction ratio using the targeted bit-count for the current bit plane and a complexity of the current bit plane;
ascertaining a desired LPS reduction ratio based on the desired bit-count reduction ratio and responsive to a model parameter; and
selecting a minimal respective threshold band half-width from among the multiple threshold band half-widths such that the corresponding respective LPS reduction ratio of the multiple LPS reduction ratios is not smaller than the desired LPS reduction ratio.
7. The method as recited in claim 6, further comprising:
calculating an actual bit-count reduction ratio for the current bit plane;
calculating an interim updated model parameter from the model parameter using the actual bit-count reduction ratio for the current bit plane; and
constraining the interim updated model parameter.
8. The method as recited in claim 6, further comprising:
updating another model parameter based on a bit count of a single bit plane of a multiple-bit-plane image and a bit count of an entirety of the multiple-bit-plane image.
9. The method as recited in claim 6, further comprising:
receiving the selected minimal respective threshold band half-width value as input for encoding the current bit plane;
producing an encoded bit plane from the current bit plane, wherein the encoded bit plane is encoded to have a reduced bit count based on the input of the selected minimal respective threshold band half-width value;
updating the model parameter based on an actual bit count reduction ratio of the encoded bit plane.
10. The method as recited in claim 9, wherein
the determining the multiple less probable symbol (LPS) reduction ratios, the determining the targeted bit-count for the current bit plane, the calculating the desired bit-count reduction ratio, the ascertaining the desired LPS reduction ratio, and the selecting the minimal respective threshold band half-width is carried out by a pre-encoding module;
the receiving the selected minimal respective threshold band half-width value as input, and the producing an encoded bit plane from the current bit plane are carried out by an encoding module; and
the updating the model parameter based on an actual bit count reduction ratio is carried out by a post-encoding module that provides the updated model parameter to the pre-encoding module.
11. A device comprising:
one or more processors; and
one or more processor-accessible storage media storing processor-executable instructions implemented by the one or more processors for carrying out acts comprising:
initializing a model parameter, a buffer size, and a buffer fill level, wherein the model parameter comprises a ratio of a less probable symbol (LPS) reduction ratio and a bit-count reduction ratio;
calculating a complexity of a bit plane of an image;
calculating a plurality of less probable symbol (LPS) reduction ratios across a range of threshold band half-widths so that each LPS reduction ratio corresponds to one of a plurality of threshold band half-widths within the range;
calculating a targeted bit-count based on a target frame rate and the buffer size; and
selecting a threshold band half-width from the plurality of threshold band half-widths, each respective threshold band half-width of the plurality of threshold band half-widths corresponding to one of the respective LPS reduction ratios of the plurality of LPS reduction ratios, wherein the selecting is responsive to a desired LPS reduction ratio that reflects a desired bit-count reduction ratio, wherein the desired LPS reduction ratio, further reflects the specified model parameter, wherein the desired bit-count reduction ratio is derived from the calculated targeted bit-count, wherein in the selecting the threshold band half-width further comprises:
calculating the desired bit-count reduction ratio using the targeted bit-count and the complexity of the bit plane;
ascertaining the desired LPS reduction ratio based on the desired bit-count reduction ratio and the specified model parameter;
selecting a minimal respective threshold band half-width, from among the plurality of threshold band half-widths, that corresponds to a respective LPS reduction ratio, from among the plurality of LPS reduction ratios calculated, that is not smaller than the desired LPS reduction ratio;
providing the selected minimal respective threshold band half-width for use in encoding the bit plane;
encoding the bit plane based on the selected minimal threshold band half-width to produce an encoded bit plane;
calculating an actual bit count reduction ratio from the encoded bit plane;
calculating an interim updated model parameter based on the actual bit count reduction ratio calculated from the encoded bit plane;
smoothing the calculated interim updated model parameter to produce an updated model parameter; and
providing the updated model parameter for processing a next bit plane.
12. The device as recited in claim 11, wherein the initializing further comprises initializing another model parameter in dependence on a level of video being encoded, wherein the other model parameter represents a relationship between an entropy-based complexity of a first bit plane of the image and an entropy-based complexity of an entirety of the image.
13. The device as recited in claim 11, further comprising
determining a fill level of the buffer; and
applying skip frame control when the fill level of the buffer exceeds a predetermined level.
14. The device as recited in claim 11, wherein the device comprises one of:
a mobile telephone;
video conferencing equipment; or
at least part of a personal computer.
15. One or more processor-accessible storage media comprising processor-executable instructions that, when executed, direct a device to perform actions comprising:
determining an entropy-based complexity of a bit plane of an image;
determining a targeted bit-count for the bit plane of the image;
selecting a threshold band half-width based on a desired bit-count reduction ratio and a model parameter, by:
calculating the desired bit-count reduction ratio using the targeted bit-count and the complexity of the bit plane;
ascertaining a desired LPS reduction ratio based on the desired bit-count reduction ratio and the model parameter;
selecting a minimal respective threshold band half-width, from among a plurality of threshold band half-widths, that corresponds to a respective LPS reduction ratio, from among a plurality of LPS reduction ratios calculated, that is not smaller than the desired LPS reduction ratio;
encoding the bit plane based on the selected minimal threshold band half-width to produce an encoded bit plane;
calculating an updated model parameter based on the encoded bit plane; and
providing the updated model parameter for processing a next bit plane.
16. The one or more processor-accessible media as recited in claim 15, wherein the bit-plane comprises (i) an image frame for bi-level video or (ii) a portion of an image frame for multi-level video.
17. The one or more processor-accessible media as recited in claim 15
wherein the selecting the threshold band half-width further comprises selecting the threshold band half-width based on the desired bit-count reduction ratio, the model parameter, and another model parameter,
wherein the other model parameter represents a relationship between an entropy-based complexity of a first bit plane of an image and an entropy-based complexity of an entirety of the image.
18. The one or more processor-accessible media as recited in claim 15, wherein the determining the targeted bit-count rate further comprises determining the targeted bit-count based on a targeted bit-rate and a targeted frame rate.
19. The one or more processor-accessible media as recited in claim 15, wherein the determining the targeted bit-count rate further comprises determining the targeted bit-count responsive to at least one of a buffer fill level or a buffer size.
20. The one or more processor-accessible media as recited in claim 15, wherein the processor-executable instructions, when executed, direct the device to perform a further action comprising:
determining a respective less probable symbol (LPS) reduction ratio for each corresponding respective threshold band half-width of multiple threshold band half-widths.
21. The one or more processor-accessible media as recited in claim 15, wherein the determining the entropy-based complexity of the bit plane comprises:
calculating respective entropies for respective groups of multiple groups of context values; and
combining the respective entropies to produce the complexity of the bit plane.
22. The one or more processor-accessible media as recited in claim 15, wherein the updating the model parameter further comprises:
calculating an actual bit-count reduction ratio using an encoding bit-count; and
calculating the updated model parameter based on the actual bit-count reduction ratio.
23. The one or more processor-accessible media as recited in claim 15, wherein the processor-executable instructions, when executed, direct the device to perform further actions comprising:
updating a buffer fill level after encoding a frame and forwarding a bistream and
applying skip-frame control if the buffer fill level exceeds a predetermined level.