Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The following problem deals with load balancing using bit logic . Imagine an aut

ID: 673580 • Letter: T

Question

The following problem deals with load balancing using bit logic.   Imagine an automotive assembly line where everything is automated, with no human work instructions.

This plant deals primarily with the painting of car doors. The process is as follows:

the doors are brought in on a conveyer belt

a robotic arm lifts each door up

the doors are then positioned to be painted by the machines.

There are three primary paint machines, each in charge of painting one color. The machines have the power to ‘grab’ the car doors for painting. The machines have a bar code reader to respond to RGB values of color (red, green, blue).

Here is the color chart and the adjoining bit value:

RED

1

0

0

GREEN

0

1

0

BLUE

0

0

1

For example, based on the RGB value of GREEN being (0,1,0), in this case, the machine ‘senses’ the color to be 010.

So, right now, you have a conveyor belt that brings out car doors to be painted in a random order. You have machines that have a bar code, indicating color. And, you know that these machines have the ability to grab the doors and paint them.

The question is this: in what order are the doors grabbed? The market has determined that red is a key seller. And, as its color implies speed, it tends to sell the quickest; this applies to newer models, in both sport, and standard sedan models.

So the idea is that you, the programmer, must use logic to test against another bit to ENSURE that red gets the HIGHEST priority in the queue. So, your assignment is this: with the machines set at 0, use XORing to lay out a logical pattern, so that the RED color gets processed first.

RED

1

0

0

GREEN

0

1

0

BLUE

0

0

1

Explanation / Answer

Two dimensional (2D) barcodes are becoming a pervasive interface for mobile
devices, such as camera phones. Often, only monochrome 2D barcodes are used due to
their robustness in an uncontrolled operating environment of camera phones. Recently
we are seeing an emerging use of color 2D barcodes for camera phones. Nonetheless,
using a greater multitude of colors introduces errors that can negatively affect the
robustness of barcode reading. Furthermore, most camera phones capture and store such
color 2D barcode images in the Joint Photographic Experts Group (JPEG) format [1].
As a lossy compression technique, JPEG also introduces a fair amount of error in the
decoding of captured 2D barcode images. This JPEG quantization error is further
compounded by the error introduced by the camera phone capture channel. Thus, robust
decoding of color 2D barcode JPEG images is a very challenging task. When possible,
2D barcode developers would rather not work with such lossy JPEG images [2].
Unfortunately, the most often image format supported on camera phones is the baseline
JPEG format. Moreover, there is an increas
ing use of color 2D barcodes for camera
phones. Examples of these color 2D barcodes
are the colored ColorCode [3], High
Capacity Colour Barcode (HCCBTM) [4] and the Mobile Multi-Colour Composite
(MMCCTM) [5] 2D barcode

1.A method for providing barcode scanning for a target barcode comprising:
receiving color image values for a captured image of the target barcode from at least one color image sensor;
extracting luminosity values for each pixel of the captured image from the color image values to define greyscale image values corresponding to the color image values; and
providing the luminosity values defining greyscale image values to a greyscale barcode decoder for subsequent processing thereof.
2. The method of claim 1 wherein the color image values comprise RGB image values, the method further comprising:
converting RGB image values to YUV values; and
extracting the luminosity values in dependence upon the YUV values.
3. The method of claim 1 wherein the color image values are selected from the group consisting of: Bayer format color image values, CMYK format color image values, CMY format color image values and HSC format color image values.
4. The method of claim 3, wherein the color image values are converted to RGB image values and subsequently to YUV values for extracting the luminosity values in dependence thereon.
5. The method of claim 1, wherein the target barcode is a greyscale barcode.
6. The method of claim 1, wherein the color image values comprise YUV values.
7. The method of claim 1 further comprising:
determining a set of coefficients for calibrating the captured image in dependence upon predefined sensor sensitivity profiles, the predefined sensor sensitivity profiles for defining spectral sensitivity values for the color image sensor for a range of predetermined wavelengths; and
applying the set of coefficients to obtain calibrated image values such as to provide color balancing of the captured image.
8. The method of claim 7 wherein determining the set of coefficients is independent of images captured via the color image sensor.
9. The method of claim 1 further comprising: determining a set of coefficients for calibrating the captured image in dependence upon color characteristics of the captured image for defining calibration of subsequent images.
10. A computing device for providing barcode scanning for a target barcode comprising:
a processor;
at least one color image sensor for providing color image values for a captured image of the target barcode;
a greyscale barcode decoder for decoding greyscale images;
a memory coupled to the processor having instructions stored thereon for execution by the processor, the memory comprising instructions for:
extracting luminosity values for each pixel of the captured image from the color image values to define greyscale image values corresponding to the color image values; and
providing the luminosity values defining greyscale image values to the greyscale barcode decoder for subsequent processing thereof.
11. The computing device of claim 10 wherein the color image values comprise RGB image values, the memory further comprises instructions for:
converting RGB image values to YUV values; and
extracting the luminosity values in dependence upon the YUV values.
12. The computing device of claim 10 wherein the color image values are selected from the group consisting of: Bayer format color image values, CMYK format color image values, CMY format color image values and HSC format color image values.
13. The computing device of claim 12, wherein the memory further comprises instructions for:
converting color image values to RGB image values and subsequently to YUV values for extracting the luminosity values in dependence thereon.
14. The computing device of claim 10, wherein the target barcode is a greyscale barcode.
15. The computing device of claim 10, wherein the color image values comprise YUV values.
16. The computing device of claim 10, wherein the memory further comprises instructions for:
determining a set of coefficients for calibrating the captured image in dependence upon predefined sensor sensitivity profiles, the predefined sensor sensitivity profiles for defining spectral sensitivity values for the color image sensor for a range of predetermined wavelengths; and
applying the set of coefficients to obtain calibrated image values such as to provide color balancing of the captured image.
17. The computing device of claim 16, wherein determining the set of coefficients is independent of images captured via the color image sensor.
18. The computing device of claim 10, wherein the memory further comprises instructions for:
determining a set of coefficients for calibrating the captured image in dependence upon color characteristics of the captured image for defining calibration of subsequent images.


To verify our system using optimal settings under realistic conditions, we car-
ried out a study with a total of 48 unexperienced users during a public event
(university's open house). For an experiment we encoded 700 characters of text
10 into a 13x13 cm large 4D barcode that was played with 2.5 fps in a looping
animated GIF sequence embedded into a HTML page. The page was displayed
in a web browser on a 17 inch LCD screen. Nokia 6630 mobile phones were
used for capturing and decoding. The users were able to see the live recording
of the camera on the LCD panel of the phone. We asked them to as much as
possible of the recorded image with the displayed barcode. By pressing a but-
ton on the phone, they triggered the beginning and the end of the recording.
After recording, the barcode was decoded on the phone. With this study, we
were mainly interested in ending the realistic recognition behavior of our system
and on getting concrete user feedback. Unexperienced subjects might not always
use the system in an optimal way (e.g. they might sometimes not capture the
entire barcode image due to arm jitter, or they might record the barcode from
a too large distance). On average, we found a recognition rate of 73% for indi-
vidually extracted 2D barcodes, but due to the encoded redundancy the overall
recognition rate was 82% under realistic conditions. Consequently, in 18% of all
cases, some parts of the 700 character text were missing while in all remaining
cases the whole text was recovered. The averaged time for decoding was about
35 seconds. This is mainly due to the performance of the Semacode library and
could not be in
uenced by our system. However, since decoding was carried out
after recording, the users did not have to aim the phone at the screen for this
duration. Only for recording (on average 5 seconds), this was necessary. Each
subject was fnally asked to all out a questionnaire to provide feedback on the
usability of the system - rating various questions between 7 (very good) and 1
(very poor). The averaged results from the questionnaires are shown in figure
8. In general, we can say that the user feedback was overall positive.