Abstract: In today"s modern and fast world tracking or identifying an object by the machine (Computer) is vital importance. From an ordinary grocery shop to airport this plays an important role. The traditional way is using Barcodes, where Barcode can save a number which in turn access the database or the server to give the details about the object. Hence a separate database is needed to be generated. And the information decoded in one place will not be the same in other e.g. Barcode in a book scanned in a library will give the information which is not same as it is scanned in the local super market. In order to provide more efficient code that overcomes these disadvantages a new coding "CODE 360" was introduced. This is a 2D color code that can store more information about the object in a small area. No need of any database and the information encoded will be same wherever decoded. There is no special type of reader is needed just an ordinary mobile with camera or a camera and a software. Not only to track an object, can it also be used for convenience-oriented applications. One of the main significant of the code it will not only encode and decode English but it can also encode and decode 6 regional Indian language including Tamil. Probably this is the first coding technique which can encode and decode in 6 Indian Regional Languages.
Field of the Invention
The present invention relates to metric color bar code machine readable code image and method and apparatus for encoding and decoding the code image, and more particularly apparatus for encoding data into code using the arrangement of cells expressed various colors or shades.
Background of the Invention
Among that some of them are ID and 2D codes .But for ID codes such as bar codes etc the data storage capacity is very low when compared to the 2D codes. In case of 2D codes some may have high data capacity compared with ID codes but it is not too high to store one paragraph. The data stored in these codes are not universal. So there is a need of code having
Objective of the Invention
The present Invention relates metric color bar code to increase the data storage capacity of the coding and to make the data universal without using any data base
Summary of the Invention
ENCODING OF CODE 360
Encoding process of code 360 involves various steps for generation of the code 360. Objective of this encoding process is to create or to generate the code 360 as color image with all requirements and it is ready to label on the material depends upon the application. The encoding process is clearly explained in the flow chart (Fig. 1)
User Data (75)
This is the first process in the encoding of code 360 (Refer flow chart Fig. l).This process links the user who is going to create the code 360 for some specific application. This block is going to get the information in text format on specified languages it may be from the given 6 languages. After getting the text from the user it is shown in a window as an editable format and it allows the user to make any corrections. One of the important factor of code 360 is, it allows the user to use entire ASCII (American Standard Code for Information Interchange) characters but QR code doesn't allow the user to use all the ASCII refer the table Figure 8, so there will be a freedom to user to use any key present in the keyboard which includes all the special characters. From here the function of the first block, user data is over.
ASCII Conversion (76)
This is the second phase in the encoding process. After getting the data from the user the next process is to convert the text (characters) into an ASCII in decimal format .This type of conversion is very important in all coding techniques and it makes the further process simpler. In MATLAB 7.5 a special key words are available to make this process simple. The result of ASCII conversion produces an array of decimal values which is nothing but the ASCII values for the user data. Here onwards the task of ASCII conversion comes to an end.
Octal Conversion (77)
This is a special process which performs an important function in the encoding process. Code 360 uses 8 colors for coding so the ASCII in decimal is converted into base 8 system. This type of conversion makes a job much simpler the result of the base 8 system directly indicating the color which is to be used refer table of Figure 6. This is the process performed in octal conversion.
Guard Bits (79)
The success of the code 360 is mainly depends upon the function of this block. The guard bits are nothing but the bits which are used to correct or detect the error present in the code during decoding. Here some special bits are internally generated to perform some tasks they are
• To indicate the correct orientation of the code 360
• To check the data sequence
• To indicate the type of languages used by the user
• To indicate the EOF in the code
These are the important tasks performed by the guard bits. These guard bits are generated internally by the algorithm and merged with the octal data which is already prepared from the user data.
Color Table (78)
This block gives a complete transition from the mathematical form of code to an image form. The color table is nothing but a table which contains the information about the color values in octal format shown in table of figure 1.
For the octal data which contains the user data as well as the guard bits is going to compared with this table. This comparison will produce the color image for corresponding mathematical model of image. Now the color image is generated and stored in a temporary file for further process.
Border Generation (80)
This block plays an important role in eliminating the real time error occurrence while decoding. In some applications there will be a neighbor images present too close to code 360. In image capturing it will create confusion about the code so there is a need of special type of border. The border can able to differentiate the code 360 from the neighbor images; this is function of the border created in this block. The border is made up of a combination of red and black colors. This two color border is going to cover the already created image which is stored in the temporary file. This is the function and necessity of the border creation block.
Code 360(81)
Now the code 360 is generated by using an algorithm and it is available in an image formats such as .jpg(joint photographic experts group) , .gif(Graphics Interchange Format), and .tiff (Tagged Image File Format) the user can use any kind of format to label the code 360 in any one of the specified application.
DECODING OF CODE 3 60
Decoding process of the code 360 is shown in a Figure 3.The decoding process involves more process for getting the correct data from the code 360; While capturing the image the occurrence of noise in that image is very high, so these effects has to be taken into an account.
Image Acquisition (85)
This is the first process in the decoding of code 360. The image of labeled code 360 is going to take by using image acquisition devices such as cameras. The acquisition device has some better quality to the picture in order to remove the acquisition noise is nothing but the noise due to the malfunction of the device. At the same time no need to go for high resolution cameras. Now the image of code 360 is taken before that you have take an entire image of code 360 by eliminating the other surrounding images as much possible. After taking the image of code 360 is going to fed into a computer which is going to processing it and the image much be in specified formats.
Filtering (86)
This operation will convert the image of low contrast into a high contrast image. And another function of the filter is to allow only the 8 color as specified in table Figure 2. In case some color is modified into unspecified colors it has to be corrected by using rounding mechanism. This rounding mechanism converts the any kind of color into a specified 8 color. Here the occurrence of noise is completely removed as much possible. For filtering using rounding technique more special key words are available in MATLAB 7.5. By using those key words the filtering operation was performed.
Image Size Correction (87)
This is the next process of filtering here the size variations of the image is going to corrected. The image size variation occurs during the acquisition of image. During image acquisition the zooming level of camera is increased to focus the code 360 image this is the main reason for the size variations. This kind of size variation is corrected by scanning the first red pixel of the captured image. After scanning, the size of the scanned first red pixel is going to measure by a suitable algorithm. Now the size of the red pixel gives the size variation of the entire image .The size is modified to get a original size of the image. This is the function of this block Image size correction.
Orientation Checking (88)
Orientation checking is important process using this operation the position of the code 360 is corrected. Suppose the code 360 is captured in wrong position so the data is going cause error in order to avoid it this orientation
checking is used. Some of the orientations indicating bits are inserted during encoding. Here those bits are going to checked if it is correct then the further process is proceeds. If those bits are not correct then it is wrong image showing different orientation. This is the process carried out by the orientation checking.
Border Removing (89)
After checking the orientation the next process is border removing. During encoding a special type of border is created around the code 360. The border doesn't hold any information the function of the border is to govern the code from the other images. Now the function of the border comes to an end so it is removed from the code 360 image and the information of pixels which is present outside the border will also be eliminated. The remaining image is stored in a new variable for further process.
Checking the Guard Bits (90)
Now the border less image is stored in a variable is going to checked for guard bits. This process gives a surety that the code 360 is not affected. If the guard bits are not correct as per encoding details it shows that the code 360 was affected by noise. Another function of this checking the guard bits gives the information about the languages used by the user during encoding. Then the guard bits changes the font suitable for that corresponding language.
Octal to ASCII (Decimal) Conversion (91)
This is the reverse process of encoding now the code is available in image having only 8 colors as specified in table of Figure 2. So in mathematical model it is octal number format is to converted in to a ASCII value is nothing but the decimal value. The converted ASCII values are going to converted into a Text format. The languages are already chosen by the guard bits in earlier step .In general the process of this block is converting the mathematical format of the image to the text.
Displaying the Decoded Text to the User (92)
Now the text is decoded from the code 360 using the algorithm. Then the text with suitable languages is shown to the user. It does not show the guard bits inserted earlier it removes the unwanted bits. This purely shows the Encoded text alone to the user who performs the decoding. Then all the process of code 360 comes to an end in this block.
Brief Description of the Drawings
Figure 1: Encoding the flow Chart
Encoding process of code 360 involves various steps for generation of the code 360. Objective of this encoding process is to create or to generate the code 360 as color image with all requirements and it is ready to label on the material depends upon the application, the flowchart containing following: user data(75),ASCII conversion(76),octal conversion(77),color table (78),guard bits(79),border generation (80),code 360(81).
Figure 2. color table for octal values The table gives a complete transition from the mathematical form of code to an image form. The color table is nothing but a table which contains the information about the color values in octal format. For the octal data which contains the user data as well as the guard bits is going to compared with this table. This comparison will produce the color image for corresponding mathematical model of image. Now the color image is generated and stored in a temporary file for further process
Figure 3.Decoding flow chart
Decoding process of the code 360 is shown in. The decoding process involves more process for getting the correct data from the code 360. While capturing the image the occurrence of noise in that image is very high, so these effects has to be taken into an account, the flowchart containing following: Image acquisition (85),Filtering (86),Image size correction(87),orientation checking (88),border removing(89),checking the guard bits(90),octal to decimal (ASCII) conversion (91),DispIaying the decoded text(92).
Figure 4. Naming reason for code 360
We named our project as a code 360 for some reason. We combine the names of the project colloquies in certain way to get the name code 360.the way we named are explained Figure 4. We take the first letter of the peoples listed above for that we take an equivalent ASCII value in decimal .By adding it the sum is to be 360 and it is a coding technique so it is named as code 360 for our project
Figure 5. RGB matrix value
In bar coding as well as QR coding techniques uses a monochrome image with only two colors but code 360 technique uses color image with only 8 colors . The occurrence of noise in both the cases is similar.
Figure 6.Colors with values There is a need for a code having high data capacity, unique, easily readable. These objectives can be achieved by using more colors. The colors such as primary colors (R, B, G), secondary colors (C, Y, M) and Conventional colors (K, W) totally 8 colors are used. The colors as per MATLAB Specification in binary format is shown in table.
Figure 7. Code 360 data capacity
These 8 colors can be easily identified without noise or error by image acquisition machines like cameras or imaging sensors. Data capacity of code 360 is given by the table.
Figure 8.QR code data capacity
QR codes did not use entire ASCII characters it limit it to 45 alphanumeric, so it is not possible to use all keys present in our key board, so the user is not able to use all the special characters as well as special symbols. QR codes uses 11 bits for representing two characters. QR codes are available in many sizes of matrix.
Fig.9. Code 360
In QR code 11 bits (cells) is used to represent the 2 characters but in Code 360 only 3 bits is needed. By using the Code 360 we can represent the 3 characters in 9bits (cells)
Claims :
What is claimed is:
1. A metric color code -code360 comprising
The combination of 8 colors such as (black, blue, green, cyan, red, magenta, yellow and white) are arranged in a matrix (2d) manner to store the information given by user.
2. A color code according to claim 1, some of the guard bits are placed in certain position to make ensure that the code is correct while decoding
3. The colors (8 colors) are formed on the basis of combination of R, G, and B to make 8 colors while coding and decoding
4. Generation of code360 comprising
A first step is to get information (data) from the user as a text
A second step involves the conversion of the information (data) into standard format called ASCII in decimal format
A third step is to convert the ASCII in decimal into octal format
5. The method of step three in claim 4, comprises
The conversion of the octal format helps us to forming a color because we use 8 colors so octal number format is suitable for further process
A fourth step is generation of guard bits for setting a position and information accuracy while decoding
A fifth process involves the generation of the boarder for the generated color code
6. A method involved in fifth step of claim 5, comprises
According to the process in fifth step, it is useful to differentiate the code360 from the other images present near the code360
7. The process of decoding the code360 generated by using the process explained in claim 6, comprises
A sixth step is to capture the image of code360 generated by method said in claim 6 by using a image acquisition devices such as cameras
A seventh step is restoring the original contrast of the all 8 colors by using a filtering operation
An eighth step is scanning the first red pixel in the code360
A ninth step involves measuring the size of the scanned red pixel
A tenth step is size reduction of the entire image to get the original size
8. According to the claim 7, the further decoding process comprises
An eleventh step is boarder removing from the image obtained from the tenth step of claim 7
A twelfth step involves the checking of the position guard bits to make ensure that the code360 is in correct orientation
9. A method of checking the guard bits for data sequence comprises
After the twelfth process in claim 8, the code360 is checked for data sequence guard bits to make sure that the data's are not corrupted
10. Processing of the image obtained from the method explained in claim 9 comprises
A first step is making the obtained 3d color matrix into a single 2d matrix contains the octal values
A second step is combining the three neighbor octal values to make an array contain s a three digit octal values
A third step is converting the array into a two digit decimal values
A fourth process is decimal to ASCII conversion
The fifth process comprises
Showing the decoded text to the user who decodes.
| # | Name | Date |
|---|---|---|
| 1 | 3112-che-2010 power of attorney 21-10-2010.pdf | 2010-10-21 |
| 1 | 3112-CHE-2010-AbandonedLetter.pdf | 2017-07-04 |
| 2 | 3112-CHE-2010-FER.pdf | 2016-12-07 |
| 2 | 3112-che-2010 form-9 21-10-2010.pdf | 2010-10-21 |
| 3 | 3112-che-2010 form-2 21-10-2010.pdf | 2010-10-21 |
| 3 | 3112-che-2010 abstract 21-10-2010.pdf | 2010-10-21 |
| 4 | 3112-che-2010 form-18 21-10-2010.pdf | 2010-10-21 |
| 4 | 3112-che-2010 drawings 21-10-2010.pdf | 2010-10-21 |
| 5 | 3112-che-2010 claims 21-10-2010.pdf | 2010-10-21 |
| 5 | 3112-che-2010 form-1 21-10-2010.pdf | 2010-10-21 |
| 6 | 3112-che-2010 correspondence others 21-10-2010.pdf | 2010-10-21 |
| 6 | 3112-che-2010 description(complete) 21-10-2010.pdf | 2010-10-21 |
| 7 | 3112-che-2010 correspondence others 21-10-2010.pdf | 2010-10-21 |
| 7 | 3112-che-2010 description(complete) 21-10-2010.pdf | 2010-10-21 |
| 8 | 3112-che-2010 claims 21-10-2010.pdf | 2010-10-21 |
| 8 | 3112-che-2010 form-1 21-10-2010.pdf | 2010-10-21 |
| 9 | 3112-che-2010 drawings 21-10-2010.pdf | 2010-10-21 |
| 9 | 3112-che-2010 form-18 21-10-2010.pdf | 2010-10-21 |
| 10 | 3112-che-2010 form-2 21-10-2010.pdf | 2010-10-21 |
| 10 | 3112-che-2010 abstract 21-10-2010.pdf | 2010-10-21 |
| 11 | 3112-CHE-2010-FER.pdf | 2016-12-07 |
| 11 | 3112-che-2010 form-9 21-10-2010.pdf | 2010-10-21 |
| 12 | 3112-CHE-2010-AbandonedLetter.pdf | 2017-07-04 |
| 12 | 3112-che-2010 power of attorney 21-10-2010.pdf | 2010-10-21 |
| 1 | SearchStrategy_22-11-2016.pdf |