System, system control method, and program
The multifunction peripheral system addresses the limitation of single answer sections by enabling grading of multiple essay questions through multiple marking columns, allowing for partial point assignment.
Patent Information
- Application Number
- JP2021114970
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-07-12
- Publication Date
- 2026-01-15
- Estimated Expiration
- 2041-07-12
AI Technical Summary
Existing educational support systems can only provide one written answer section and one marking section, preventing the recognition and scoring of multiple essay questions separately.
A system with a multifunction peripheral that includes a printing means for printing answer sheets with multiple marking columns, a reading means to read the answer sheets, and a marking means to grade answers based on multiple scoring columns, allowing for the assignment of partial points to multiple written answer sections.
Enables the grading of multiple essay questions by providing a system that prints answer sheets with multiple marking columns, reads and grades answers based on these columns, facilitating the assignment of partial points.
Smart Images

Figure 0007799395000001 
Figure 0007799395000002 
Figure 0007799395000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a system, a system control method, and a program. [Background technology]
[0002] In recent years, there have been educational support systems that print test answer sheets, scan the answer sheets with the answers written on them, and grade the answers (see Patent Document 1). By using such a system, the tallying of grading results, which was previously done manually, can be done automatically, freeing up time for other tasks. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2005-24693 Summary of the Invention [Problem to be solved by the invention]
[0004] The answer sheet has multiple choice answer columns and written answer columns.
[0005] The method of Patent Document 1 allows each answer to be graded and the results of the grades to be tallied.
[0006] However, this system can only provide one written answer section and one marking section, and cannot provide multiple written answer sections.
[0007] Therefore, even if the answer sheet was scanned, it was not possible to recognize the scoring results for each of the multiple essay questions separately.
[0008] The present invention has been made in view of the above-mentioned problems. An object of the present invention is to provide a plurality of marking boxes for marking answers written in a plurality of written answer boxes, each of which includes: The plurality of scoring columnseach but Partial points are assigned by the user Fill To be given according to the score given Multiple partial points The object is to provide a system for printing an answer sheet including the plurality of marking columns including a score column, reading the printed answer sheet, and marking the answers based on the descriptions in the plurality of marking columns included in the read answer sheet. [Means for solving the problem]
[0009] A plurality of descriptive answer fields and a plurality of marking fields for marking the answers written in each of the plurality of descriptive answer fields, The plurality of scoring columns each but Partial points are assigned by the user Fill To be given according to the score given Multiple partial points The system is characterized by having a printing means for printing an answer sheet including the plurality of marking columns including a score column, a reading means for reading the answer sheet printed by the printing means, and a marking means for marking the answers based on the entries in the plurality of marking columns included in the answer sheet read by the reading means. [Effects of the Invention]
[0010] According to the present invention, there are provided a plurality of marking boxes for marking answers written in a plurality of written answer boxes, each of which includes: The plurality of scoring columns each but Partial points are assigned by the user Fill To be given according to the score given Multiple partial points An answer sheet including the plurality of marking columns including a score column is printed, the printed answer sheet is read, and the answers can be graded based on the entries in the plurality of marking columns included in the read answer sheet. [Brief explanation of the drawings]
[0011] [Figure 1] 1A and 1B are diagrams illustrating a configuration of a multifunction peripheral according to a first embodiment of the present invention and an example of a screen displayed on an operation unit. [Figure 2]FIG. 1 is a diagram showing an example of an answer sheet pattern configuration diagram illustrating answer sheet data and elements that configure an answer sheet in Example 1 of the present invention. [Figure 3] FIG. 1 is a diagram showing an example of an answer sheet pattern DB configuration, answer sheet pattern marker information, answer sheet pattern data, and detailed data linked thereto in Example 1 of the present invention. [Figure 4] FIG. 10 is a flow diagram relating to preview and print control of an answer sheet in the first embodiment of the present invention. [Figure 5] FIG. 1 is a flow diagram relating to the generation of an answer sheet and the generation and drawing of answer sheet pattern data in the first embodiment of the present invention. [Figure 6] FIG. 10 is a flowchart executed when a scoring and tallying button is pressed in the first embodiment of the present invention. [Figure 7] FIG. 10 is a flowchart relating to the scoring process and score acquisition process during the scoring process in the first embodiment of the present invention. [Figure 8] FIG. 10 is a diagram showing a system configuration diagram and an example of a screen (answer sheet marking and tallying screen) displayed on an operation unit in Example 2 of the present invention. [Figure 9] FIG. 10 is a flow diagram relating to the process of drawing answer sheet pattern data, the process of obtaining answer sheet data from an external system, and the process of overlaying and printing mark columns for marking in the second embodiment of the present invention. [Figure 10] FIG. 10 is a diagram showing an example of a screen (an answer sheet creation / printing screen and an accompanying setting screen) displayed on an operation unit in Example 3 of the present invention. [Figure 11] FIG. 11 is a diagram showing an example of answer sheet pattern data in the third embodiment of the present invention. [Figure 12] FIG. 10 is a flow diagram of the scoring information acquisition process in the third embodiment of the present invention. [Figure 13] FIG. 10 is a diagram showing an example of a screen (a setting screen accompanying the answer sheet creation / printing screen) displayed on the operation unit in the fourth embodiment of the present invention. [Figure 14] FIG. 10 is a diagram showing an example of detailed data of answer sheet pattern data and a Grade area configuration diagram in Example 4 of the present invention. [Figure 15]FIG. 10 is a flow diagram of the scoring information acquisition process in the fourth embodiment of the present invention. [Figure 16] FIG. 13 is a diagram showing an example of detailed data of answer sheet pattern data and a Grade area configuration diagram in Example 5 of the present invention. [Figure 17] FIG. 10 is a flow diagram of the scoring information acquisition process in the fifth embodiment of the present invention. [Figure 18] FIG. 20 is a diagram showing an example of a screen (a setting screen accompanying the answer sheet creation / printing screen) displayed on the operation unit in the sixth embodiment of the present invention. [Figure 19] FIG. 20 is a flowchart showing a question replacement process according to the sixth embodiment of the present invention. [Figure 20] FIG. 13 is a diagram showing an example of a screen (a setting screen accompanying the answer sheet creation / printing screen) displayed on the operation unit in the seventh embodiment of the present invention. [Figure 21] FIG. 20 is a flow diagram relating to the generation of answer sheet pattern data and the marking process of answer sheets in the eighth embodiment of the present invention. [Figure 22] FIG. 20 is a flow diagram relating to the Index area analysis and registration process of answer sheet pattern data in the eighth embodiment of the present invention. [Figure 23] FIG. 20 is a flow diagram of the question type determination process of answer sheet pattern data in the eighth embodiment of the present invention. [Figure 24] FIG. 20 is a flow diagram relating to the data area analysis of answer sheet pattern data and the data area registration process for each question type in the eighth embodiment of the present invention. [Figure 25] FIG. 13 is a flow diagram of a Grade region analysis and registration process according to the eighth embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0012] Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. Note that the embodiments described below do not limit the scope of the present invention, and not all of the combinations of features described in the embodiments are necessarily essential to the solution of the present invention.
[0013] Example 1 In this embodiment, an example is given in which a multifunction peripheral (100) is used as the scoring system.
[0014] The multifunction peripheral (100) in FIG. 1 shows an example of the configuration of the device.
[0015] The CPU (101) is the control unit of the system and controls the entire device.
[0016] It also reads and executes a control program stored in the ROM (102). The ROM (102) is made up of a flash memory such as eMMC, and is used to store the control program for the CPU (101). It also stores image data and other data.
[0017] The DRAM (103) is used to store program control variables, etc. It is a volatile memory that can temporarily store image data to be processed, etc.
[0018] The operation unit (104) functions as a user interface unit. It has a touch panel, in which a touch panel sheet that accepts user operations is attached to the liquid crystal display unit. The operation unit (104) displays various screens and information using the touch panel. The operation unit (104) also has hard keys such as a start key and a reset key.
[0019] The scanner (105) is a device that reads image data and converts it into binary data, and is used to read documents for the image transmission function.
[0020] The printer (106) is a device that controls the fixing temperature to fix image data onto recording paper and output the image data.
[0021] The communication unit (107) is an interface between the device and an external communication network, and includes a network communication unit that is an interface to the network.
[0022] The image processing unit (108) is composed of an ASIC that performs image processing such as resolution conversion, compression / expansion, and rotation on input and output image data.
[0023] Each component is connected via a data bus (109).
[0024] Next, an example of a screen displayed on the multifunction device (100) will be described.
[0025] The home screen example (110) in FIG. 1 is a diagram showing an example of a screen (home screen) displayed on the operation unit (104). This screen is mainly displayed on the operation unit (104) immediately after the multifunction peripheral (100) is started up. The user can tap an icon displayed on this screen to display a screen registered to the icon. By performing various settings on the displayed screen, it becomes possible to execute various functions installed in the multifunction peripheral (100). The user can execute an educational support application that realizes the control in this embodiment from the operation unit (104).
[0026] The example application main screen (111) in FIG. 1 is a diagram showing an example of an educational support application screen displayed on the operation unit (104). This screen is mainly displayed by pressing the educational support button on the home screen shown in the example home screen (110). This screen allows the user to issue instructions to the multifunction peripheral (100) to perform functions such as creating and printing answer sheets and grading and tallying. The user can also exit the educational support application and return to the home screen shown in the example home screen (110).
[0027] The example answer sheet creation and printing screen (112) in FIG. 1 is a diagram showing an example of an answer sheet creation and printing function screen of an educational support application displayed on the operation unit (104). The creation and printing function screen is displayed when the answer sheet creation and printing button on the example application main screen (111) is pressed. This creation and printing function screen accepts the number of examinees, the number of multiple choice questions, the number of multiple choice options, and the number of written questions that make up the answer sheet data from the user. Furthermore, this creation and printing function screen displays a preview button for instructing the display of a preview of the answer sheet data generated based on the set values, and a print button for instructing printing based on the answer sheet data. This creation and printing function screen also displays a reset button for instructing the user to reset these set values to their initial values.
[0028] The answer sheet preview screen example (113) in FIG. 1 is a diagram showing an example of a preview screen of answer sheet data generated based on the setting values set in FIG. 1. This preview screen is displayed by pressing the preview button on the creation / print function screen. The answer sheet data generated on the operation unit (104) is displayed, and an image from the top to the bottom of the answer sheet is displayed in conjunction with touch control, similar to general preview control. The preview display can be scrolled using the scroll key on the operation unit 104.
[0029] The grader (teacher, etc.) distributes the answer sheets printed by such a multifunction device (100) to the answerers (students, etc.). The grader also writes the correct answer on the first page of the answer sheet. The grader also distributes the second and subsequent answer sheets to the answerers. After the answerers write their answers, the grader collects the answer sheets from the answerers and grades the answers to the descriptive questions. The grader then has the multifunction device (100) read the correct answer sheet and the answer sheets so that the correct answer sheet is on the first page and the answer sheets are on the second and subsequent pages.
[0030] The answer sheet marking and tallying screen example (114) in FIG. 1 is the screen used when reading an answer sheet. This answer sheet marking and tallying screen is displayed by pressing the marking and tallying button on the main screen of the application. By pressing the start button on the answer sheet marking and tallying screen, the user can scan the correct answer sheet and answer sheet set in the scanner (105). Based on the scanned correct answer sheet and answer sheet, the multifunction device (100) marks the multiple choice question section and tally up the marks for the multiple choice questions marked by the multifunction device and the marks for the written questions marked by the grader.
[0031] The answer sheet data (200) in Figure 2 is a diagram showing an example of answer sheet data generated based on the settings configured in the Example of Answer Sheet Creation and Printing Screen (112). In this case, it is an example when the number of multiple choice questions is 3, the number of multiple choice options is 6, and the number of written questions is 3. As per the settings, it can be seen that question numbers 1 to 3 are multiple choice questions, with six options from 0 to 5, and question numbers 4 to 6 are written questions.
[0032] Furthermore, a two-dimensional code is attached to identify answer sheet information such as whether the paper type is a correct answer sheet or an answer sheet, the generated answer sheet pattern ID, etc. Here, a QR code (registered trademark) is attached as an example, but other formats (such as DataMatrix or MaxiCode) may also be used.
[0033] We will explain the answer sheet pattern configuration diagram (201) and an example of the pattern marker (202) (209) in Figure 2, an example of the multiple choice question configuration diagram (210), an example of the multiple choice question option configuration diagram (211), an example of the written question configuration diagram (212), and the Grade area configuration diagram (213).
[0034] These are diagrams illustrating the elements that make up an example of the answer sheet data shown in answer sheet data (200). As shown in the answer sheet pattern configuration diagram (201), the origin Op of the pattern coordinate system is set to the upper left corner of the paper data. In this case, a two-dimensional code for identifying the answer sheet information, called a pattern marker (202), is drawn at a position offset by DEF_ID_LM in the X direction and DEF_ID_TM in the Y direction. Furthermore, multiple choice questions (203-205) and written questions (206-208) are drawn at intervals of DEF_PAT_VOFST in the Y direction from positions offset by DEF_PAT_LM in the X direction and DEF_PAT_TM in the Y direction.
[0035] The pattern marker (202) drawn as described above is drawn with a size of width DEF_ID_WIDTH and height DEF_ID_HEIGHT, as shown in an example (209) of the pattern marker (202).
[0036] The multiple choice questions (203-205) are configured as shown in the example of the multiple choice question configuration diagram (210), and are composed of an Index area showing the question number, a Data area showing the question options, and an Ans area where the answer is entered. The Index area mentioned above has its upper left corner as the coordinate system origin, and an element showing the question number is drawn within an area of width DEF_IA_WITDH and height DEF_IA_HEIGHT from there. Next, the Data area has its upper left corner as the coordinate system origin, and from there it has an area of width DEF_DA_WIDTH and height DEF_DA_HEIGHT. Within the Data area, an option element with width DEF_MARK_WIDTH and height DEF_MARK_HEIGHT is drawn, as shown in the multiple choice question configuration diagram (211). Regarding the Ans area, in the case of multiple choice questions, the Data area is equivalent to the Ans area.
[0037] Finally, the written questions (206-208) are structured as shown in the example of the written question structure diagram (212). Like the multiple-choice questions (203-205), they are composed of an Index area indicating the question number and a Data area indicating the answer column. However, unlike the multiple-choice questions (203-205), the Data area is clearly divided into an Ans area for writing answers and a Grade area for marking marks (an example of a marking column). The Ans area, like the Data area, has its coordinate system origin at the top left corner of the area, the same as the Data area, and extends from there by a width of DEF_AA_WIDTH and a height of DEF_AA_HEIGHT. A line indicating the writing column is drawn at the bottom of the area. The Grade area has its coordinate system origin offset by DEF_AA_WIDTH in the X direction from the Data area's coordinate system origin, and the marking column is drawn within an area of width DEF_GA_WIDTH and a height of DEF_GA_HEIGHT.
[0038] The grade mark field has the structure shown in the Grade area configuration diagram (213). Grade marks are drawn from a position offset by DEF_GD_LM in the X direction and DEF_GD_TM in the Y direction from the origin of the Grade coordinate system, with a width of DEF_GD_WIDTH and a height of DEF_GD_HEIGHT. Here, as an example, we show the case where JUDGEMARK_CORRECT, which indicates a circle (a circle) that is correct, and JUDGEMARK_INCORRECT, which indicates an × that is incorrect, are drawn.
[0039] The answer sheet pattern DB configuration (300) in FIG. 3, an example of pattern marker information (304) to be added to the correct answer sheet, and an example of pattern marker information (305) to be added to the answer sheet will be explained.
[0040] In this embodiment, when creating answer sheet data, the pattern configuration shown in the answer sheet pattern configuration diagram (201) shown in Figure 2 is stored in the DRAM (103) or ROM (102) in the form of a DB shown in the answer sheet pattern DB configuration (300). The elements (301 to 303) that make up the answer sheet pattern DB configuration (300) have a uniquely determined pattern ID such as a UUID, and answer sheet pattern data is linked to each pair.
[0041] Here, we will describe an example of pattern marker information (304) to be added to the answer sheet generated using the pattern data of element (301), and an example of pattern marker information (305) to be added to the answer sheet. The example of pattern marker information (304) to be added to the answer sheet holds, as patternID data, PATTERN_ID_A, which is the key for obtaining PATTERN_DATA_A indicated by element (301). Furthermore, it holds, as patternKind data, PATTERN_REF, which signifies that the paper to which the marker is added is a correct answer sheet. Note that this data applies to a general format such as the JSON format shown as an example in this embodiment. The example of pattern marker information (305) to be added to the answer sheet is similar, and differs only in that it holds, as patternKind data, PATTERN_TEST, which signifies that the paper to which the marker is added is an answer sheet.
[0042] With these configurations, even if multiple tests are created on the multifunction device (100), it is possible to obtain the pattern ID by decoding the pattern marker (202) and use the pattern ID to obtain the desired corresponding pattern data. From the obtained pattern data, it is then possible to obtain information necessary for scoring and tallying, such as the number and positions of multiple choice questions and written questions in the test.
[0043] We will now explain an example of answer sheet pattern data (306) and an example of detailed data of Data area information Da for multiple choice questions (313) in Figure 3. We will also explain an example of detailed data of Data area information Da for essay questions (314) and an example of detailed data of Grade area information Ga for essay questions (315).
[0044] The answer sheet pattern data example (306) shows an example of answer sheet pattern data in the case of using the answer sheet pattern configuration diagram (201) shown in Figure 2. As detailed data, it shows an example of detailed data of Data area information Da in multiple choice questions (313), an example of detailed data of Data area information Da in essay questions (314), and an example of detailed data of Grade area information Ga in essay questions (315).
[0045] The answer sheet pattern data example (306) shows a specific example of the pattern data PATTERN_DATA_A stored in the element (301) of the answer sheet pattern DB configuration (300). Here, the multiple choice questions (203-205) and the written questions (206-208) of the answer sheet pattern configuration diagram (201) shown in Figure 2 are shown as elements (307-309) and elements (310-312), respectively. Also listed are the index number, question format, index area information, and data area information that make up each question.
[0046] As mentioned above, element (307) indicates a multiple choice question (203), and is assigned an index number of 1 and a question format of QUESTION_MARK, meaning multiple choice. The index area information is DEF_PAT_LM as the X coordinate of the start position, DEF_PAT_TM as the Y coordinate, DEF_IA_WIDTH as the width, and DEF_IA_HEIGHT as the height. The data area information is DEF_PAT_LM+DEF_IA_WIDTH as the X coordinate of the start position, DEF_PAT_TM as the Y coordinate, DEF_DA_WIDTH as the width, and DEF_DA_HEIGHT as the height. Furthermore, the data area has MARK_DETAIL_1, which will be described later, as detailed data.
[0047] The elements (308) and (309) respectively show the multiple choice questions (204) and (205), and are basically the same as the element (307).
[0048] The following describes how element (308) differs from element (307). It is assigned the index number 2 and is located below the multiple choice question (203). Therefore, the Y coordinate of the start position of the index area information and data area information is set to DEF_PAT_TM+DEF_IA_HEIGHT+DEF_PAT_VOFST, which is the sum of the height of the multiple choice question (203) and the spacing offset. It also has MARK_DETAIL_2 as detailed data for the data area information.
[0049] Here are some differences between element (309) and element (307). It is assigned the index number 3 and is located below multiple choice questions (203) and (204). Therefore, the Y coordinate of the start position of the index area information and data area information is set to the sum of the height of multiple choice questions (203) and (204) and the spacing offset. Specifically, DEF_PAT_TM + DEF_IA_HEIGHT * 2 + DEF_PAT_VOFST * 2 is set. It also has MARK_DETAIL_3 as detailed data for the data area information.
[0050] Next, element (310) indicates the written question (206). The assigned index number is 4, and the question format is QUESTION_WRITE, which means it is a written question. For the index area information, DEF_PAT_LM is set as the X coordinate of the start position. For the Y coordinate, it is located below the multiple choice questions (203-205). Therefore, DEF_PAT_TM+DEF_IA_HEIGHT*3+DEF_PAT_VOFST*3, which is the sum of the height of the multiple choice questions (203-205) and the spacing offset, is set. For the data area information, DEF_PAT_LM+DEF_IA_WIDTH is set as the X coordinate of the start position. For the Y coordinate, it is located below the multiple choice questions (203-205), just like the index area, so the sum of the height of the multiple choice questions (203-205) and the spacing offset is set. Specifically, DEF_PAT_TM + DEF_IA_HEIGHT*3 + DEF_PAT_VOFST*3 is set. The width is DEF_DA_WIDTH and the height is DEF_DA_HEIGHT. In addition, the Data area has WRITE_DETAIL_1, which will be described later, as detailed data.
[0051] The elements (311) and (312) respectively show the descriptive questions (207) and (208), and are basically the same as the element (310).
[0052] The differences between element (311) and element (310) are as follows: Element (311) is assigned the index number 5, and is located below the multiple choice questions (203-205) and the written question (206). Therefore, DEF_PAT_TM+DEF_IA_HEIGHT*4+DEF_PAT_VOFST*4 is set as the Y coordinate of the start position of the index area information and data area information. It also has WRITE_DETAIL_2 as detailed data for the data area information.
[0053] The differences between element (312) and element (310) are as follows: Element (312) is assigned the index number 6, and is located below multiple choice questions (203-205), essay questions (206), and essay questions (207). Therefore, DEF_PAT_TM+DEF_IA_HEIGHT*5+DEF_PAT_VOFST*5 is set as the Y coordinate of the start position of the index area information and data area information. It also has WRITE_DETAIL_3 as detailed data for the data area information.
[0054] The Data area information Da detailed data example (313) for multiple choice questions shows a specific example of MARK_DETAIL_1 to MARK_DETAIL_3 included in the aforementioned elements (307 to 309). In the case of multiple choice questions, only the Ans area exists in the Data area. Therefore, the starting position X and Y coordinates of the Ans area information, which are expressed in relative coordinates from the origin of the Data area coordinate system, are 0, the width is DEF_DA_WIDTH, and the height is DEF_DA_HEIGHT.
[0055] The Data area information Da detailed data example (314) for an essay question shows a specific example of WRITE_DETAIL_1 to WRITE_DETAIL_3 included in the aforementioned elements (310 to 312). In the case of an essay question, the Data area has an Ans area and a Grade area. As with multiple choice questions, each area is indicated by relative coordinates from the origin of the Data area coordinate system, so the starting X and Y coordinates of the Ans area information are 0, the width is DEF_AA_WIDTH, and the height is DEF_AA_HEIGHT. The starting X coordinate of the Grade area information is DEF_AA_WIDTH shifted in the X direction by the Ans area, the Y coordinate is 0, the width is DEF_GA_WIDTH, and the height is DEF_GA_HEIGHT. The detailed data GA_DETAIL_X for the Grade area is then held.
[0056] The Grade Area Information Ga Detailed Data Example (315) for the written question shows a specific example of the aforementioned GA_DETAIL_X. Elements (316) and (317) show the information on the areas where JUDGEMARK_CORRECT and JUDGEMARK_INCORRECT are drawn in the Grade Area Configuration Diagram (213), respectively.
[0057] The grade type is set to JUDGEMARK_CORRECT, which means a circle (o) for the correct answer, in element (316). The coordinate X of the starting position, expressed relative to the origin of the Grade area coordinate system, is DEF_GD_LM, the coordinate Y is DEF_GD_TM, the width is DEF_GD_WIDTH, and the height is DEF_GD_HEIGHT.
[0058] The element (317) is set to JUDGEMARK_INCORRECT, which indicates an incorrect answer with an X, as the marking type. The coordinate X of the starting position, expressed relative to the origin of the Grade area coordinate system, is DEF_GD_LM+DEF_GD_WIDTH, the coordinate Y is DEF_GD_TM, the width is DEF_GD_WIDTH, and the height is DEF_GD_HEIGHT.
[0059] In this embodiment, when scoring and tallying questions, the areas are identified and processed by referring to the Index area information and Data area information for each question contained in the pattern data described above.
[0060] Figure 4(a) shows a flow diagram of the process executed when a preview execution instruction is given on the example answer sheet creation / print screen (112) shown in Figure 1. This flowchart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow creates an answer sheet and displays a preview.
[0061] In S401, the CPU (101) creates an answer sheet and proceeds to S402. Note that the answer sheet creation process is a separate flow, and will be described in detail later.
[0062] In S402, the CPU (101) displays a preview of the created answer sheet on the operation unit 104, and ends this flow.
[0063] Figure 4(b) shows a flow diagram of the process executed when a print command is issued on the example answer sheet creation / print screen (112) shown in Figure 1. This flowchart is executed by the CPU (101) reading the program stored in the ROM (102) into the DRAM (103) and executing it. The answer sheet is created and printed according to this flow.
[0064] In S403, the CPU (101) creates an answer sheet and proceeds to S404. At this time, the answer sheet creation process executed is the same process as that executed in S11A01. Also, the answer sheet creation process is a separate flow, so details will be described later.
[0065] In S404, the CPU (101) causes the printer 106 to print the created answer sheets, one for writing the correct answers and one for each examinee, and then ends this flow.
[0066] Figure 5(a) is a flow diagram for creating an answer sheet. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow creates answer sheet pattern data that constitutes the answer sheet, generates an answer sheet pattern data image, and registers the answer sheet pattern data in the answer sheet pattern DB.
[0067] In S501, the CPU (101) determines whether provisional answer sheet pattern data has been generated, and proceeds to S502. Note that the process of determining whether provisional answer sheet pattern data has been generated is a separate flow, and will be described in detail later.
[0068] In S502, the CPU (101) determines whether provisional data has been generated based on the determination result obtained in S501. If provisional data has not been generated, the process proceeds to S503. If provisional data has been generated, the process proceeds to S504.
[0069] In S503, the CPU (101) generates provisional answer sheet pattern data and proceeds to S505. Note that the provisional answer sheet pattern data generation process is a separate flow, and will be described in detail later.
[0070] In S504, the CPU (101) acquires the provisional answer sheet pattern data, and the process proceeds to S505.
[0071] In S505, the CPU (101) performs an answer sheet pattern data drawing process based on the provisional answer sheet pattern data, and then the process proceeds to S506. Note that the answer sheet pattern data drawing process is a separate process, and will be described in detail later.
[0072] In S506, the CPU (101) performs the answer sheet pattern marker drawing process based on the provisional answer sheet pattern data, and then the process proceeds to S507. Note that the answer sheet pattern marker drawing process is a separate flow, and will be described in detail later.
[0073] In S507, the CPU (101) checks whether a preview display is requested as an execution instruction by the preview button on the answer sheet creation / printing screen example (112). If a preview display is requested, this flow ends. If a preview display is not requested, the process proceeds to S508.
[0074] In S508, the CPU (101) registers the provisional answer sheet pattern data in the answer sheet pattern DB, and ends this flow.
[0075] 5(b) is a flow diagram showing how to determine whether provisional answer sheet pattern data has been generated. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow chart determines whether provisional answer sheet pattern data has been generated.
[0076] In S509, the CPU (101) checks whether the generated temporary data is stored in the DRAM (103). If it is stored, the process proceeds to S510. If it is not stored, the process proceeds to S511.
[0077] In S510, the CPU (101) determines that the provisional data has been generated, and ends this flow.
[0078] In S511, the CPU (101) determines that the provisional data has not been generated, and ends this flow.
[0079] Figure 5(c) is a flow diagram for generating provisional answer sheet pattern data. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. Provisional answer sheet pattern data is generated according to this flow.
[0080] In S512, the CPU (101) generates an answer sheet pattern ID and proceeds to S513. The pattern ID generated at this time is a unique ID such as a UUID.
[0081] In S513, the CPU (101) generates answer sheet pattern data and ends this flow. The answer sheet pattern data generated at this time is stored in the DRAM (103) or the like as temporary data.
[0082] Figure 5(d) is a flow diagram for generating answer sheet pattern data. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. Answer sheet pattern data is generated according to this flow.
[0083] In S514, the CPU (101) acquires UI information required for generating answer sheet pattern data, and proceeds to S515. The UI information acquired here is the information set in the answer sheet creation / printing screen example (112). Note that the UI information acquisition process is a separate flow, and details will be described later.
[0084] In S515, the CPU (101) generates and adds pattern data for the multiple choice questions based on the acquired UI information, and the process proceeds to S516. The data generated at this time corresponds to the elements (307 to 309) shown in FIG.
[0085] In S516, the CPU (101) checks whether the data for the number of multiple choice questions specified in the acquired UI information has been generated and added. If the generation and addition has been completed, the process proceeds to S517. If the generation and addition has not been completed, the process proceeds to S515 to generate the remaining data.
[0086] In S517, the CPU (101) generates and adds pattern data related to the written questions based on the acquired UI information, and the process proceeds to S518. The data generated at this time corresponds to the elements (310 to 312) shown in FIG. 3.
[0087] In S518, the CPU (101) checks whether the data for the number of written questions specified in the acquired UI information has been generated and added. If the generation and addition has been completed, this flow ends. If the generation and addition has not been completed, the process proceeds to S517 to generate the remaining data.
[0088] Figure 5(e) is a flow diagram for acquiring UI information. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow acquires the UI information required for generating answer sheet pattern data.
[0089] In S519, the CPU (101) obtains the number of multiple-choice questions set in the answer sheet creation / print screen example (112) and advances the process to S520.
[0090] In S520, the CPU (101) obtains the number of mark options set in the answer sheet creation / printing screen example (112) and advances the process to S521.
[0091] In S521, the CPU (101) obtains the number of written questions set in the answer sheet creation / printing screen example (112) and ends this flow.
[0092] Although the flow is such that only the above three pieces of information required in the first embodiment are acquired, if other information becomes necessary in other embodiments, the other information is also acquired as appropriate.
[0093] Figure 5(f) is a flow diagram for drawing answer sheet pattern data. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow draws each area of each question stored in the answer sheet pattern data.
[0094] In S522, the CPU (101) obtains the first element that constitutes the answer sheet pattern data, and the process proceeds to S523.
[0095] In S523, the CPU (101) draws the Index number defined in the target element data in the Index area, and proceeds to S524.
[0096] In S524, the CPU (101) checks whether the question format defined in the target element data is a multiple choice question. If it is a multiple choice question, the process proceeds to S525. If it is not a multiple choice question, the process proceeds to S526.
[0097] In S525, the CPU (101) refers to the Ans area information defined in the target element data and the number of mark options acquired from the UI, draws the number of mark options in the Ans area, and proceeds to S528.
[0098] In S526, the CPU (101) refers to the Ans area information defined in the target element data, draws a line for writing in the Ans area, and advances the process to S527.
[0099] In S527, the CPU (101) refers to the Grade area information defined in the target element data, draws a mark field for grading in the Grade area, and advances the process to S528.
[0100] In S528, the CPU (101) checks whether drawing of all elements of the answer sheet pattern data has been completed. If drawing of all elements has been completed, this flow ends. If drawing of all elements has not been completed, the process proceeds to S529.
[0101] In S529, the CPU (101) obtains the next element from the answer sheet pattern data, and the process proceeds to S523.
[0102] By following the above flow, the answer sheet can be drawn exactly as instructed by the user in Figure 1.
[0103] Figure 5(g) is a flow diagram for drawing pattern markers on the answer sheet. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow chart applies pattern markers to the answer sheet and the correct answer sheet.
[0104] In S530, the CPU (101) generates pattern marker information for the answer sheet, and the process proceeds to S531. The marker information generated at this time corresponds to the example of pattern marker information (304) to be added to the answer sheet shown in FIG.
[0105] In S531, the CPU (101) generates pattern marker information for the answer sheet and proceeds to S533. The marker information generated at this time corresponds to the example of pattern marker information (305) to be added to the answer sheet shown in FIG.
[0106] In S533, the CPU (101) creates two-dimensional code data based on the pattern marker information, draws it in the pattern marker area, and ends this flow. At this time, as mentioned above, the two-dimensional code to be generated can be a QR code, Data Matrix, or MaxiCode, as long as it can hold the pattern marker information.
[0107] Figure 6(a) is a process flow diagram that is executed when the marking and counting start button is pressed in Figure 1. This flowchart is executed by the CPU (101) reading the program stored in the ROM (102) into the DRAM (103) and executing it. This flow scans the answer sheet and the answer sheet, marks the multiple choice questions based on the scanned image data, and counts and outputs the marking results.
[0108] In S601, the CPU (101) causes the scanner 105 to execute a scan process, acquires image data of the correct answer sheet and the answer sheet, and proceeds to S602. Note that the scan process is a separate flow, and will be described in detail later.
[0109] In S602, the CPU (101) performs a scoring process based on the acquired image data, and the process proceeds to S603. Note that the scoring process is a separate flow, and will be described in detail later.
[0110] In S603, the CPU (101) performs a calculation process based on the scoring results, and then the process proceeds to S604. Note that this calculation process may include various commonly performed calculation processes, such as a calculation of top performers or a calculation of the percentage of correct answers for each question.
[0111] In step S604, the CPU 101 outputs the generated aggregated data, and the flow ends. The output may be in various forms, such as printing from a printer 106, or converting the image format to a format such as JPEG or PDF in the image processing unit 108, and then sending the data via e-mail or FTP to an external device via the communication unit 107.
[0112] Figure 6(b) is a flow diagram of the scan process. This flowchart is performed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow acquires image data from the scanner (105) and stores it in the ROM (102) or DRAM (103).
[0113] In S605, the CPU (101) acquires image data from the scanner (105) and advances the process to S606.
[0114] In S606, the CPU (101) stores the acquired image data in the ROM (102) or DRAM (103), and the process proceeds to S607.
[0115] In S607, the CPU (101) checks whether any paper (original) remains in the scanner (105). If any paper remains, the process proceeds to S605 to scan all the paper. If no paper remains, the process ends.
[0116] 7(a) is a flowchart of the marking process. This flowchart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. Marking is performed on the answer sheets acquired through this flow.
[0117] In S701, the CPU (101) performs an answer sheet pattern ID acquisition process, and then the process proceeds to S702.
[0118] In S702, the CPU (101) performs a process for identifying the correct answer sheet, and then the process proceeds to S703.
[0119] In S703, the CPU (101) acquires the answer sheet pattern data using the answer sheet pattern ID, and the process proceeds to S704.
[0120] In S704, the CPU (101) performs a marking process on all images using the acquired answer sheet pattern data, and then ends this flow.
[0121] 7(b) is a flow diagram of the answer sheet pattern ID acquisition process. This flowchart is performed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow acquires the answer sheet pattern ID from the image data.
[0122] In S705, the CPU (101) reads the image data from the ROM (102) or the DRAM (103), and the process proceeds to S706.
[0123] In S706, the CPU (101) acquires the pixels of the marker area, and the process proceeds to S707.
[0124] In S707, the CPU (101) performs two-dimensional code decoding processing on the pixels in the marker area to obtain the analysis results, and proceeds to S708. Note that the two-dimensional code decoding processing performed here may be a general, well-known decoding processing.
[0125] In S708, the CPU (101) extracts the answer sheet pattern ID value from the acquired analysis result, and ends this flow.
[0126] Figure 7(c) is a flow diagram of the process for identifying which data among the acquired image data is answer sheet data. This flowchart is performed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow identifies answer sheet data from image data read in random order.
[0127] In S709, the CPU (101) reads the image data from the ROM (102) or the DRAM (103), and the process proceeds to S710.
[0128] In S710, the CPU (101) acquires the pixels of the marker area, and the process proceeds to S711.
[0129] In S711, the CPU (101) performs two-dimensional code decoding processing on the pixels in the marker area, obtains the analysis results, and proceeds to S712. Note that the two-dimensional code decoding processing performed here may be a general, well-known decoding processing.
[0130] In S712, the CPU (101) extracts the answer sheet pattern type value from the acquired analysis result and checks whether the answer sheet is correct. If it is correct, the process proceeds to S713. If it is not correct, the process proceeds to S714.
[0131] In S713, the CPU (101) determines that the read image data is answer sheet data, stores it in a temporary area such as the DRAM (103), and ends this flow.
[0132] In S714, the CPU (101) reads the next image data from the ROM (102) or the DRAM (103), and the process proceeds to S710.
[0133] Figure 7(d) is a flow diagram showing how scoring is performed on all acquired image data. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow chart performs scoring on all image data.
[0134] In S715, the CPU (101) reads the image data from the ROM (102) or the DRAM (103), and the process proceeds to S716.
[0135] In S716, the CPU (101) checks whether the read image data is answer sheet data. If it is answer sheet data, the process proceeds to S717 for grading. If it is not answer sheet data, the process proceeds to S718.
[0136] In S717, the CPU (101) performs a scoring process on the read image data, and the process proceeds to S718.
[0137] In S718, the CPU (101) checks whether processing has been completed for all image data. If processing has been completed for all image data, this flow ends. If there are images for which processing has not been completed, the process proceeds to S719.
[0138] In S719, the CPU (101) reads the next image data from the ROM (102) or the DRAM (103), and the process proceeds to S716.
[0139] Figure 7(e) is a flow diagram showing the process of marking the acquired answer sheet data. This flow chart is executed by the CPU (101) reading the program stored in the ROM (102) into the DRAM (103) and executing it. This flow shows the process of marking the answer sheet data.
[0140] In S720, the CPU (101) obtains the image difference from the answer sheet data identified in S713, and proceeds to S721. At this time, the image difference calculation process to be performed is a well-known process such as subtraction of general pixel values.
[0141] In S721, the CPU (101) acquires the data area information of the first question from the answer sheet pattern data acquired in S703, acquires the pixels of the data area, and then proceeds to S722.
[0142] In S722, the CPU (101) performs a scoring result acquisition process on the pixels in the Data area, and then the process proceeds to S723.
[0143] In S723, the CPU (101) checks whether processing of all questions has been completed. If processing of all questions has been completed, this flow ends. If unprocessed questions remain, the process proceeds to S724.
[0144] In S724, the CPU (101) acquires the data area information of the next question, acquires the corresponding pixel in the data area, and then proceeds to S722.
[0145] Figure 7(f) is a flow diagram of the process for obtaining the score for the Data area pixels. This flowchart is performed by the CPU (101) reading the program stored in the ROM (102) into the DRAM (103) and executing it. This flow allows the score for each question to be obtained.
[0146] In S725, the CPU (101) checks whether the question format is a multiple choice question. If it is a multiple choice question, the process proceeds to S726. If it is not a multiple choice question, the process proceeds to S730.
[0147] In S726, the CPU (101) calculates the average value (Mean) of the pixel values in the Data region, and proceeds to S727. At this time, the average value can be calculated using a known method such as dividing a general pixel integrated value by the area of the target region.
[0148] In S727, the CPU (101) checks whether the average pixel value Mean calculated in S726 is equal to or greater than a predetermined threshold. If the average pixel value Mean is equal to or greater than the threshold, the process proceeds to S728. If the average pixel value Mean is less than the threshold, the process proceeds to S729. At this time, if the fill-in of the mark-choice options on the correct answer sheet and the answer sheet match, the image difference within the Data area will be zero, and the average pixel value will approach zero even when noise and other factors are taken into account. In contrast, if the fill-in does not match, even if the image difference is obtained, pixels from both the fill-in of the correct answer and the fill-in of the incorrect answer will remain, and the average pixel value will be relatively large. As described above, by comparing the average pixel value with the threshold in S727, it is possible to determine whether the target mark-choice option is correct or incorrect.
[0149] In S728, the CPU (101) determines that the answer to the question was incorrect, and the process proceeds to S735.
[0150] In S729, the CPU (101) determines that the answer to the question was correct, and the process proceeds to S735.
[0151] In S730, the CPU (101) acquires the pixels in the Grade area, and the process proceeds to S731.
[0152] In S731, the CPU (101) obtains the average pixel value of all grading types in the Grade area and proceeds to S732. At this time, as in S727 for multiple choice questions, if the fill-in areas match, the image difference is zero, and if the fill-in areas do not match, the pixels of the filled-in areas remain as the image difference. For written Grade areas, the pixels of the filled-in areas always remain as the image difference, so it can be determined that the area with the grading type with the highest average pixel value is the grading result filled in by the user.
[0153] In S732, the CPU 101 checks whether the area with the highest average pixel value has a grade of X. If the grade is X, the process proceeds to S733. If the grade is not X, the process proceeds to S734.
[0154] In step S733, the CPU (101) determines that the answer to the question was incorrect, and the process proceeds to step S735.
[0155] In S734, the CPU (101) determines that the answer to the question was correct, and the process proceeds to S735.
[0156] In S735, the CPU (101) obtains the score for the target question and ends this flow.
[0157] Figure 7(g) is a flow diagram for acquiring the score for each question. This flowchart is executed by the CPU (101) reading the program stored in the ROM (102) into the DRAM (103) and executing it. The score for each question is acquired through this flow.
[0158] In S736, the CPU (101) checks whether the question is determined to be the correct answer. If it is determined to be the correct answer, the process proceeds to S737. If it is determined to be the incorrect answer, the process proceeds to S738.
[0159] In step S737, the CPU 101 assigns one point and ends this flow.
[0160] In step S738, the CPU 101 assigns 0 points and ends this flow.
[0161] As explained above, it is possible to provide a system in which the multifunction device (100) alone can create and print answer sheets, and perform grading and tallying.
[0162] <Example 2> In the first embodiment, a system that creates, prints, grades, and tallies answer sheets using a single multifunction peripheral (100) was described. In the second embodiment, a system that performs a series of processes in cooperation with an external general education support system will be described, focusing on differences in the processes from the first embodiment. In the second embodiment, the source of answer sheet data completed by students and the timing of drawing the Grade area on the answer sheet data are different from those in the first embodiment. Although this system cooperates with an external education support system, the processes related to logging in to the education support system and acquiring data are not to be described in this application. Therefore, login and data acquisition are performed using a general publicly known method, and the details of the processes will not be mentioned in this application.
[0163] The system configuration example (800) in Fig. 8 shows a system configuration diagram in Example 2. The multifunction peripheral (100) and an external education system (801) are connected via a communication unit (107). Note that in Example 2, it is assumed that answer sheet data filled out by students is obtained from the external education system (801) and a grading process is performed. In addition, the external education system (801) does not need to be particularly limited, and may be Google Classroom or OneDrive, which simply provides a storage function.
[0164] The answer sheet marking and tallying screen example (802) in Fig. 8 shows an example of the answer sheet marking and tallying screen in Example 2. Unlike Example 1, a button for obtaining student answers from an external educational system (801) and a marking and tallying scan button for displaying the answer sheet marking and tallying screen example (114) the same as in Example 1 are displayed.
[0165] 9(a) is a flow diagram of the drawing process of answer sheet data in Example 2. This flowchart is performed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. Answer sheet data is drawn in this flow.
[0166] In S901, the CPU (101) obtains the first element of the pattern data, and the process proceeds to S902.
[0167] In S902, the CPU (101) refers to the element acquired in S901, draws the Index area, and advances the process to S903.
[0168] In S903, the CPU (101) checks whether the question format of the element to be drawn is a multiple choice question. If it is a multiple choice question, the process proceeds to S904. If it is not a multiple choice question, the process proceeds to S905.
[0169] In S904, the CPU (101) draws the mark options in the Ans area, and the process proceeds to S906.
[0170] In S905, the CPU (101) draws a line for the written question in the Ans area, and the process proceeds to S906.
[0171] In S906, the CPU (101) checks whether the drawing process for all elements has been completed. If the drawing process for all elements has been completed, the flow ends. If the drawing process for all elements has not been completed, the process proceeds to S907.
[0172] In S907, the CPU (101) acquires the next element from the pattern data and advances the process to S902.
[0173] From the above flow, it can be seen that, unlike in the first embodiment, the Grade area of the written mark column is not drawn when the answer sheet is created and printed.
[0174] Figure 9(b) shows a process flow diagram that is executed when the button for acquiring student answers shown in Figure 8 is pressed. This flowchart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow acquires the student's answers and prints them for grading.
[0175] In S908, the CPU (101) logs in to the external education system (801), acquires the student's answers, saves them in the ROM (102) or DRAM (103), and proceeds to S909. Note that there are various methods for logging in to the external education system (801) and acquiring data, but since there is no need to limit them, a commonly known method will be used.
[0176] In S909, the CPU (101) combines the answer data acquired in S908 with a mark column for grading, causes the printer 106 to print it, and ends this flow.
[0177] This makes it possible to perform marking and tallying processes using the multifunction device (100) in the same manner as in the first embodiment, even when there are essay questions.
[0178] Figure 9(c) is a flow diagram showing the process of overlaying and printing a mark column for grading on all images. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow allows the mark column for grading to be overlaid on all answer data and printed.
[0179] In S910, the CPU (101) reads the image data of the answer data from the ROM (102) or the DRAM (103), and the process proceeds to S911.
[0180] In S911, the CPU (101) acquires pixels of the marker area from the acquired image data, and the process proceeds to S912.
[0181] In S912, the CPU (101) performs two-dimensional code decoding processing on the pixels of the acquired marker area to acquire the answer sheet pattern ID, and the process proceeds to S913.
[0182] In S913, the CPU (101) acquires the answer sheet pattern data using the acquired answer sheet pattern ID, and the process proceeds to S914.
[0183] In S914, the CPU (101) performs a process of combining mark columns for marking with the image data using the acquired answer sheet pattern data, and then the process proceeds to S915.
[0184] In S915, the CPU (101) causes the printer 106 to execute printing based on the image data to which the scoring mark fields have been added, and the process proceeds to S916.
[0185] In S916, the CPU (101) checks whether processing has been performed on all images. If processing has been completed on all images, this flow ends. If processing has not been completed on all images, the process proceeds to S917.
[0186] In S917, the CPU (101) reads the next image data from the ROM (102) or the DRAM (103), and the process proceeds to S914.
[0187] 9(d) is a flow diagram showing the process of combining a mark field for marking one image. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow combines a mark field for marking one image data.
[0188] In step S918, the CPU (101) obtains the first element of the pattern data, and the process proceeds to step S919.
[0189] In S919, the CPU (101) checks whether the question to be processed is in the written format. If it is in the written format, the process proceeds to S920. If it is not in the written format, there is no need to combine mark columns for grading, so the process proceeds to S921.
[0190] In S920, the CPU (101) draws a mark field for grading in the Grade area, and the process proceeds to S921.
[0191] In S921, the CPU (101) checks whether the mark column drawing process for grading has been performed for all elements. If the mark column drawing process has been performed for all elements, the flow ends. If there are any elements that have not been performed, the process proceeds to S922.
[0192] In S922, the CPU (101) acquires the next element from the pattern data, and the process proceeds to S919.
[0193] By following the above flow, mark columns for marking can be combined with all the written questions in the answer image data.
[0194] As explained above, when the multifunction peripheral (100) and the external education system (801) are linked, the mark columns for marking are not combined with the generated answer sheet data, but are combined and printed with the image acquired from the education system (801). This makes it possible to provide a system for creating and printing answer sheets and for marking and counting, similar to the first embodiment.
[0195] Example 3 In Examples 1 and 2, a system in which the same points are assigned to all multiple choice questions and written questions was explained. However, the points assigned to written questions often differ depending on the difficulty level. Therefore, in Example 3, in addition to Examples 1 and 2, a system in which the points assigned to each question differ will be explained. Note that, in Example 3, only the differences from Examples 1 and 2 will be explained.
[0196] FIG. 10 shows an example of a series of screens (1000 to 1004) related to creating and printing an answer sheet in the third embodiment.
[0197] The answer sheet creation and printing screen (1000) shows the screen for creating and printing the answer sheet in Example 3. Unlike the answer sheet creation and printing screen example (112) displayed in Examples 1 and 2, other settings and buttons have been added to set the points.
[0198] The other settings screen (1001) is a screen that is displayed when the other settings button shown on the answer sheet creation / print screen (1000) is pressed. In the third embodiment, the purpose is to change the point allocation for each question, so only the menu for changing the point allocation for each question is displayed.
[0199] The screen (1002) for changing the points allocated to each question shows the screen that is displayed when the "Change points allocated to each question" button shown on the other settings screen (1001) is pressed. The items displayed are two items: an item related to the basic points allocated, and an item for setting points for each question. If the "Basic points allocated" button is pressed and points are set, the points allocated to all questions will be changed uniformly, and if the button for setting points for each question is pressed and points for a specific question are set, the points allocated to only that question will be changed.
[0200] The score setting screen (1003) is the screen that is displayed when the button for setting score for each question is pressed on the screen for changing score for each question (1002). This screen displays a screen similar to the example answer sheet preview screen (113), and a specific question can be selected by tapping the operation unit (104).
[0201] The score input screen (1004) shows the screen that is displayed when the basic score button is pressed on the score change screen (1002) for each question, or when a specific question is selected on the score setting screen (1003). On this screen, you can input the score using the numeric keypad and apply the changes by pressing the apply button.
[0202] With the above configuration, it is possible to change the points allocated to each question as well as to all questions.
[0203] Fig. 11 shows an example of answer sheet pattern data (1100) in Example 3. Each element (1101 to 1106) is basically the same as in Examples 1 and 2, with the only difference being that the point allocation information mentioned in Example 3 is added to each element. By providing point allocation information for each question in this way, it becomes possible for the proposed system to perform scoring even when the point allocation for each question differs.
[0204] 12 is a flow diagram for acquiring the score for each question in Example 3. This flowchart is executed by the CPU (101) reading out the program stored in the ROM (102) into the DRAM (103) and executing it. The score for each question is acquired through this flow.
[0205] In S1201, the CPU (101) checks whether the question has been determined to be the correct answer. If it has been determined to be the correct answer, the process proceeds to S1202. If it has been determined to be the incorrect answer, the process proceeds to S1205.
[0206] In S1202, the CPU (101) checks whether point allocation information exists in the pattern data. If point allocation information exists, the process proceeds to S1203. If point allocation information does not exist, the process proceeds to S1204.
[0207] In S1203, the CPU (101) obtains the points from the point allocation information of the question element in the pattern data, and ends this flow.
[0208] In S1204, the CPU (101) assigns one point and ends this flow.
[0209] In S1205, the CPU (101) assigns 0 points and ends this flow.
[0210] Based on the above explanation, it is possible to provide a system for creating and printing answer sheets with different point allocations for each question, as well as for scoring and tallying the answers.
[0211] Example 4 In the third embodiment, a system that can handle cases where the point allocation differs for each question was described. However, as a method of setting the points, it is also possible to acquire the point allocation information from the answer sheet instead of storing the point allocation information in the answer sheet pattern data. Therefore, in the fourth embodiment, a system that acquires the point allocation information from the answer sheet will be described. In this fourth embodiment, only the differences from the previous embodiments will be described.
[0212] FIG. 13 shows an example of a series of screens (1300 to 1304) relating to the point allocation setting in this embodiment, and examples of mark columns (1305, 1306) to be added to the answer sheet.
[0213] The screen (1300) for changing the score allocation for each question when the score setting method is input on the operation screen shows a screen for changing the score allocation for each question that is initially displayed in Example 4. The initial value of the score setting method is set to "When inputting on the operation screen" as shown in Example 3. Then, similar to the screen (1002) for changing the score allocation for each question shown in FIG. 10, three items are displayed: an item for setting the basic score allocation, an item for setting the score allocation for each question, and an item for selecting the score setting method required in Example 4. When setting the basic score allocation and the score allocation for each question, the same processing as in Example 3 is performed.
[0214] The score setting method screen (1301) is a screen displayed to select the method for obtaining scores. Input on the operation screen means the setting method in the third embodiment. Adding a score mark number field to the answer sheet and adding a score mark field to the answer sheet for the number of points means the score setting method proposed in the fourth embodiment.
[0215] The screen (1302) for changing the score for each question when the score setting method is to assign a score mark number field to the answer sheet shows the screen that is displayed when you select to assign a score mark number field to the answer sheet on the score setting method screen (1301). In this setting method, the score information is obtained from the score mark number field assigned to the answer sheet, so there is no particular item to input on the operation screen. Therefore, items such as basic score are not displayed.
[0216] The screen (1303) for changing the score for each question when the score setting method is to assign the score mark column to the answer sheet by the number of points shows the screen that is displayed when the score setting method is to assign the score mark column to the answer sheet by the number of points on the score setting method screen (1301). In this case, since it is necessary to set the number of points to be assigned to the score mark column, there is an item for setting the score mark column.
[0217] The mark column setting screen (1304) is a screen for setting the number of marks to be assigned to the answer sheet when assigning marks to the answer sheet according to the number of points. It is possible to specify the minimum and maximum points for the points to be assigned, and the interval at which the marks should be generated.
[0218] The marking column (1305) when a marking number field is added is an example of a marking column that is drawn in the Grade area of the answer sheet when a marking number field is added to the answer sheet. In addition to the existing marking columns for O and X, a marking number field has been added. In this case, the points for each question can be determined by marking a number from 0 to 9.
[0219] The mark column (1306) when the mark column is assigned the number of points is an example of a mark column that is drawn in the Grade area of the answer sheet when the mark column is assigned the number of points. In addition to the existing X mark column, a circle mark column with points assigned for the number of points set on the mark column setting screen (1304) has been added. In this case, when the answer is correct, the point allocation for the question can be determined by marking the appropriate circle mark column with points assigned.
[0220] An example of detailed data of Data area information (1400), an example of detailed data of Grade area information (1401), and a Grade area configuration diagram (1405) in Figure 14 will be explained. These show the answer sheet pattern data that is generated when adding a mark number column to the answer sheet is selected on the mark setting method screen (1301) in Figure 13. Each item will be explained.
[0221] The example of detailed data (1400) of the Data area information of the answer sheet pattern data basically holds the same information as the example of detailed data (314) of the Data area information for the written question in Figure 3 shown in Example 1. The differences are that the height of the Grade area information has been changed to DEF_GA_HEIGHT_WITH_DIGIT, which takes into account the number mark field, and that an item called Grade type has been added to the Grade area information. This type information is assigned JUDGE_WITH_DIGIT, which means that a number field for marking points is included, and by referring to this item, the CPU (101) can select the marking process for this method.
[0222] The Grade area information detailed data example (1401) basically holds the same information as the Grade area information detailed data example (315) in the written question of FIG. 3 shown in the first embodiment.
[0223] Looking at them individually, element (1402) is information about the JUDGEMARK_CORRECT area, which indicates a correct answer (O), just like element (316). Element (1403) is information about the JUDGEMARK_INCORRECT area, which indicates an incorrect answer (X), just like element (317). The only difference is element (1404), which is information about the DIGITMARK_CORRECT area, which is a number mark area that contains score information for the correct answer (O). When obtaining the score for a correct answer during grading, the CPU (101) performs image processing on the DIGITMARK_CORRECT area defined by element (1404), making it possible to obtain the score.
[0224] The Grade area configuration diagram (1405) basically has the same configuration as the Grade area configuration diagram (213) in Figure 2 shown in Example 1, but the difference is that the DIGITMARK_CORRECT added in element (1404) is drawn. As defined in element (1404), it is drawn below JUDGEMARK_CORRECT.
[0225] An example of detailed data of Data area information (1406), an example of detailed data of Grade area information (1407), and a Grade area configuration diagram (1414) in Fig. 14 will be explained. These show the answer sheet pattern data that is generated when you select to assign the number of points to the score mark column on the answer sheet on the score setting method screen (1301) in Fig. 13. Each item will be explained.
[0226] The Data area information detailed data example (1406) of the answer sheet pattern data basically holds the same information as the Data area information detailed data example (314) for the written question in Figure 3 shown in Example 1. The differences are that the Grade area information width has been changed to DEF_GA_WIDTH_MULTIPLE, which takes into account the case where the score column is assigned the number of points, and that an item called Grade type has been added to the Grade area information. This type information is assigned JUDGE_MULTIPLE, which means that the score column is assigned the number of points, and by referring to this item, the CPU (101) can select the marking process for this method.
[0227] The Grade area information detailed data example (1407) basically holds the same information as the Grade area information detailed data example (315) in the written question of FIG. 3 shown in the first embodiment.
[0228] Looking at the elements individually, elements (1408-1412) are information about the JUDGEMARK_CORRECT area that indicates the correct answer, circle, just like element (316). The differences are that the X coordinate of the starting position is different because JUDGEMARK_CORRECT is arranged horizontally for the number of points, and that an item related to score information has been added. Since point allocation information is set for each element (1408-1412), the CPU (101) can determine the score by obtaining the score information of the element corresponding to the selected area.
[0229] Element (1413) is information about the JUDGEMARK_INCORRECT region, which indicates the incorrect answer (x), just like element (317). The differences here are the coordinate X of the starting position and the additional point in the score information. Because it is an incorrect answer, the score is set to 0.
[0230] The Grade area configuration diagram (1414) basically has the same configuration as the Grade area configuration diagram (213) in Fig. 2 shown in Example 1. The difference is that the JUDGEMARK_CORRECT area defined by the elements (1408 to 1412) displays the score set for each element together with a circle indicating the correct answer.
[0231] Figure 15(a) is a flow diagram of the score acquisition process that is executed when adding a score mark number field to the answer sheet is selected on the score setting method screen (1301) of Figure 13. This flowchart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. Through this flow, the score is acquired from the score mark number field.
[0232] In S1501, the CPU (101) checks whether the question has been determined to be correct. If the question has been determined to be correct, the process proceeds to S1502. If the question has been determined to be incorrect, the process proceeds to S1504.
[0233] In S1502, the CPU (101) acquires pixels in the DIGITMARK_CORRECT area and advances the process to S1503.
[0234] In S1503, the CPU 101 performs pattern matching on the acquired pixels, acquires a score, and ends this flow. Note that the pattern matching performed in this process may be a commonly known matching process, such as using the sum of squares of differences in pixel values or the sum of absolute values of differences in pixel values.
[0235] In S1504, the CPU (101) determines that the score is 0 points, and ends this flow.
[0236] Figure 15(b) is a flow diagram of the score acquisition process that is executed when the user selects to assign the number of points to the score mark column on the answer sheet on the score setting method screen (1301) of Figure 13. This flowchart is executed by the CPU (101) reading the program stored in the ROM (102) into the DRAM (103) and executing it. This flow acquires the score corresponding to the score mark column selected by the user.
[0237] In S1505, the CPU (101) checks whether the question has been determined to be correct. If the question has been determined to be correct, the process proceeds to S1506. If the question has been determined to be incorrect, the process proceeds to S1508.
[0238] In S1506, the CPU 101 obtains the pixel average value of all JUDGEMARK_CORRECT regions, and the process proceeds to S1507. The average value obtaining process performed at this time may be performed using a commonly known method such as dividing the pixel value accumulation value by the area.
[0239] In S1507, the CPU (101) acquires the score information of the area with the highest average pixel value from the Grade area detailed data, and ends this flow.
[0240] In S1508, the CPU (101) determines that the score is 0 points, and ends this flow.
[0241] Based on the above explanation, it is possible to provide a system that can create, print, grade and tally answer sheets that can identify point allocations by acquiring point allocation mark information drawn on the answer sheet, in addition to the method of inputting point allocations on the operation screen when point allocations differ for each question.
[0242] <Example 5> In Examples 1 to 4, a system that supports cases where the marking types include O, which indicates a correct answer, and X, which indicates an incorrect answer, has been described. However, in the case of written questions, a marking type such as △, which indicates a partially correct answer, may be required in order to give partial points. Therefore, in Example 5, a system that supports △, which indicates a partially correct answer, in addition to O, which indicates a correct answer, and X, which indicates an incorrect answer, will be described. In Example 5, only the differences from the previous examples will be described.
[0243] We will now explain the example of detailed data in the Data area (1600), the example of detailed data in the Grade area (1601), and the Grade area configuration diagram (1607) in Figure 16. These show the answer sheet pattern data that is generated when you select to add a mark number field to the answer sheet on the mark allocation setting method screen (1301) in Figure 13. We will now explain each item.
[0244] The example of detailed data of the Data area information of the answer sheet pattern data (1600) basically holds the same information as the example of detailed data of the Data area information (1400) of Fig. 14 shown in Example 4. The difference is that the width of the Grade area information has been changed to DEF_GA_WIDTH_PARTIAL, which takes into account the drawing of the mark column for partial correct answers.
[0245] The Grade area information detailed data example (1602 to 1606) basically holds the same information as the Grade area information detailed data example (1402 to 1404) shown in FIG. 14 in the fourth embodiment.
[0246] Looking at them individually, element (1602) is information about the JUDGEMARK_CORRECT area, which indicates the correct answer (circle), just like element (1402). Element (1603) is information about the JUDGEMARK_INCORRECT area, which indicates the incorrect answer (x), just like element (1403). And element (1605) is information about the DIGITMARK_CORRECT area, a number mark area, which has point allocation information for the correct answer (circle), just like element (1404).
[0247] The difference is that elements (1604) and (1606) have been added.
[0248] Element (1604) is information about the JUDGEMARK_PARTIAL area, which indicates a partial correct answer (△). It is defined to be drawn next to the JUDGEMARK_INCORRECT area.
[0249] Element (1606) is information about the DIGITMARK_PARTIAL area, a numeric mark area that contains point allocation information for the partial correct answer triangle. This area is defined to be drawn directly below JUDGEMARK_PARTIAL. When obtaining the partial correct answer score during grading, the CPU (101) performs image processing on the DIGITMARK_PARTIAL area defined by element (1606), making it possible to obtain the score.
[0250] The Grade area configuration diagram (1607) basically has the same configuration as the Grade area configuration diagram (1405) in Fig. 14 shown in Example 4. The difference is that the JUDGEMARK_PARTIAL area and DIGITMARK_PARTIAL area added in the element (1604) and element (1606) are drawn.
[0251] An example of detailed data of Data area information (1608), an example of detailed data of Grade area information (1609), and a Grade area configuration diagram (1616) in Fig. 16 will be explained. These show answer sheet pattern data that is generated when the user selects to assign the number of points in the score mark column on the answer sheet on the score setting method screen (1301) in Fig. 13. Note that this example shows an example where the minimum score is set to 1, the maximum score to 3, and the score interval to 1.
[0252] The example of detailed data of the Data area information of the answer sheet pattern data (1608) basically holds the same information as the example of detailed data of the Data area information (1406) in Fig. 14 shown in Example 4. Note that if the number of mark columns to be assigned is changed, the width of the Grade area information will be changed accordingly.
[0253] The Grade area information detailed data example (1609) basically holds the same information as the Grade area information detailed data example (1407) in the essay question of FIG. 14 shown in the fourth embodiment.
[0254] Looking at them individually, elements (1610-1612) are information about the JUDGEMARK_CORRECT area, which indicates the correct answer (O) and the assigned score, just like elements (1408-1412). Element (1613) is information about the JUDGEMARK_INCORRECT area, which indicates the incorrect answer (X), just like element (1413).
[0255] The difference is that elements (1614) and (1615) have been added, which indicate partial correct answers with a triangle and information about the JUDGEMARK_PARTIAL area, which indicates the score allocation. Element (1614) indicates a score of 1, and element (1615) indicates a score of 2. Note that the highest score of 3 means a correct answer with a circle, so there are no elements with a score of 3 for partial correct answers.
[0256] The Grade area configuration diagram (1616) basically has the same configuration as the Grade area configuration diagram (1414) in Fig. 14 shown in Example 4. The difference is that the JUDGEMARK_PARTIAL area defined by elements (1614) and (1615) displays the score set for each element along with a triangle indicating a partial correct answer.
[0257] 17(a) is a flow diagram of the process of obtaining the score for the Data area pixels in Example 5. This flowchart is performed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow makes it possible to obtain the score for each question.
[0258] In S1701, the CPU (101) checks whether the question format is a multiple choice question. If it is a multiple choice question, the process proceeds to S1702. If it is not a multiple choice question, the process proceeds to S1707.
[0259] In S1702, the CPU (101) calculates the average value Mean of the pixel values in the Data area, and the process proceeds to S1703. At this time, a general known means is used as the average value calculation means.
[0260] In S1703, the CPU (101) checks whether the average value Mean of the pixel values calculated in S1702 is equal to or greater than a predetermined threshold. If the average value Mean is equal to or greater than the threshold, the process proceeds to S1704. If the average value Mean is less than the threshold, the process proceeds to S1705.
[0261] In S1704, the CPU (101) determines that the answer to the question was incorrect, and the process proceeds to S1706.
[0262] In S1705, the CPU (101) determines that the answer to the question was correct, and the process proceeds to S1706.
[0263] In step S1706, the CPU 101 executes a score acquisition process and ends this flow. Note that the score acquisition process is a separate process, and details of which will be described later.
[0264] In S1707, the CPU (101) acquires the pixels in the Grade area and advances the process to S1708.
[0265] In S1708, the CPU (101) obtains the average pixel values of all the grade types in the Grade area, and the process proceeds to S1709.
[0266] In S1709, the CPU 101 checks whether the area with the highest average pixel value has a marking type of X. If the marking type is X, the process proceeds to S1710. If the marking type is not X, the process proceeds to S1711.
[0267] In S1710, the CPU (101) determines that the answer to the question was incorrect, and the process proceeds to S1714.
[0268] In S1711, the CPU (101) checks whether the scoring type of the area with the highest average pixel value is O. If the scoring type is O, the process proceeds to S1712. If the scoring type is not O, the process proceeds to S1713.
[0269] In S1712, the CPU (101) determines that the answer to the question was correct, and the process proceeds to S1714.
[0270] In S1713, the CPU (101) determines that the answer to the question was partially correct, and the process proceeds to S1714.
[0271] In S1714, the CPU 101 checks whether the Grade type is JUDGE_WITH_DIGIT with a numeric mark area. If the Grade type is JUDGE_WITH_DIGIT with a numeric mark area, the process proceeds to S1716. If the Grade type is not JUDGE_WITH_DIGIT with a numeric mark area, the process proceeds to S1715.
[0272] In S1715, the CPU (101) checks whether the Grade type is JUDGE_MULTIPLE, which indicates that points are to be assigned in the point allocation mark column. If the Grade type is JUDGE_MULTIPLE, which indicates that points are to be assigned in the point allocation mark column, the process proceeds to S1717. If the Grade type is not JUDGE_MULTIPLE, which indicates that points are to be assigned in the point allocation mark column, the process proceeds to S1706.
[0273] In step S1716, the CPU 101 executes a score acquisition process for the scoring mark number column, and ends this flow. Note that the score acquisition process for the scoring mark number column is a separate flow, and will be described in detail later.
[0274] In step S1717, the CPU 101 executes a process for acquiring points to be assigned to the scoring mark column points, and ends this flow. Note that the process for acquiring points to be assigned to the scoring mark column points is a separate process, and will be described in detail later.
[0275] 17(b) is a flow diagram for acquiring the scores for questions in Example 5. This flowchart is executed by the CPU (101) reading out the program stored in the ROM (102) into the DRAM (103) and executing it. The points allocated to each question are acquired through this flow.
[0276] In S1718, the CPU (101) checks whether the question has been determined to be the correct answer. If it has been determined to be the correct answer, the process proceeds to S1719. If it has been determined to be the incorrect answer, the process proceeds to S1722.
[0277] In S1719, the CPU (101) checks whether point allocation information exists in the pattern data. If point allocation information exists, the process proceeds to S1720. If point allocation information does not exist, the process proceeds to S1721.
[0278] In S1720, the CPU (101) obtains the points from the point allocation information of the question element in the pattern data, and ends this flow.
[0279] In step S1721, the CPU 101 assigns one point and ends this flow.
[0280] In step S1722, the CPU 101 assigns 0 points and ends this flow.
[0281] 17(c) is a flowchart of the score acquisition process for the point allocation number field in Example 5. This flowchart acquires the score for a question having a point allocation number field.
[0282] In S1723, the CPU (101) checks whether the question has been determined to be the correct answer. If it has been determined to be the correct answer, the process proceeds to S1724. If it has been determined to be the incorrect answer, the process proceeds to S1726.
[0283] In S1724, the CPU (101) acquires pixels in the DIGITMARK_CORRECT area, and the process proceeds to S1725.
[0284] In step S1725, the CPU 101 performs pattern matching on the acquired region pixels, acquires a score, and ends this flow. Note that the pattern matching performed in this process may be a commonly known matching process, such as using the sum of squares of differences in pixel values or the sum of absolute values of differences in pixel values.
[0285] In S1726, the CPU (101) checks whether the question has been determined to be a partial correct answer. If it has been determined to be a partial correct answer, the process proceeds to S1727. If it has not been determined to be a partial correct answer, the process proceeds to S1728.
[0286] In S1727, the CPU (101) acquires the pixels in the DIGITMARK_PARTIAL area, and the process proceeds to S1725.
[0287] In step S1728, the CPU 101 assigns 0 points and ends this flow.
[0288] Fig. 17(d) is a flow diagram of the score acquisition process for assigning points to the point allocation mark column in Example 5. This flowchart is executed by the CPU (101) reading out the program stored in the ROM (102) to the DRAM (103) and executing it. This flow acquires the score for a question having a number of points in the point allocation mark column.
[0289] In S1729, the CPU (101) checks whether the question has been determined to be correct. If it has been determined to be correct, the process proceeds to S1730. If it has been determined to be incorrect, the process proceeds to S1732.
[0290] In S1730, the CPU 101 obtains the average pixel value of all JUDGEMARK_CORRECT regions, and the process proceeds to S1731. Note that the average pixel value is obtained by a commonly known method such as dividing the integrated pixel value by the area.
[0291] In S1731, the CPU (101) acquires the score information of the area having the highest average pixel value among the acquired average pixel values of all the areas from the detailed Grade area information data, and ends this flow.
[0292] In S1732, the CPU (101) checks whether the question has been determined to be a partial correct answer. If it has been determined to be a partial correct answer, the process proceeds to S1733. If it has not been determined to be a partial correct answer, the process proceeds to S1734.
[0293] In S1733, the CPU (101) obtains the average pixel value of all JUDGEMARK_PARTIAL regions, and the process proceeds to S1731.
[0294] In step S1734, the CPU 101 assigns 0 points and ends this flow.
[0295] Based on the above explanation, it is possible to provide a system that creates, prints, grades, and tallies answer sheets that not only support correct answers (◯) and incorrect answers (×), but also partially correct answers (△).
[0296] Example 6 In Examples 1 to 5, the order in which questions are drawn is always multiple choice questions drawn first, followed by written questions. However, when multiple choice questions and written questions are mixed, the order of questions may be mixed. Therefore, in Example 6, a system that can also change the order of questions will be described. Note that in Example 6, only the differences from the previous examples will be described.
[0297] FIG. 18 shows the other setting screen (1800) and the question order change screen (1801) on the answer sheet creation / print screen.
[0298] The Other Settings screen (1800) is displayed by pressing the Other button on the answer sheet creation / printing screen. By pressing the button to change the order of questions, it is possible to transition to a screen for changing the order of questions. Note that in this embodiment, only one item is displayed because the main focus is on the function of changing the order of questions.
[0299] The question order change screen (1801) is a screen for changing the order of questions. As with the preview display shown in Figure 1, the answer sheet data can be scrolled and displayed. The question to be changed can be selected by long-tapping the operation unit (104), and then released after changing the question. The changes can then be applied by pressing the Apply button.
[0300] 19 is a flow diagram that is executed after selecting the item to be replaced with a long tap. This flow chart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. The replacement process is performed according to this flow.
[0301] In S1901, the CPU (101) checks whether the user has lifted their finger from the operation unit (104). If the user has lifted their finger, the process proceeds to S1902. If the user has not lifted their finger, the process returns to S1901 again to wait until the user lifts their finger, since the user is in the middle of changing the question.
[0302] In S1902, the CPU (101) acquires the coordinates at the end of the long tap, and the process proceeds to S1903.
[0303] In S1903, the CPU (101) acquires the first element of the data area information, and the process proceeds to S1904.
[0304] In S1904, the CPU 101 checks whether the start position coordinate Y of the acquired element is greater than the coordinate Y at the end of the long tap. If the start position coordinate Y of the acquired element is greater than the coordinate Y at the end of the long tap, the process proceeds to S1905. If the start position coordinate Y of the acquired element is equal to or less than the coordinate Y at the end of the long tap, the process proceeds to S1906.
[0305] In step S1905, the CPU 101 inserts the element to be replaced before the acquired element, and ends this flow.
[0306] In S1906, the CPU (101) checks whether the acquired element is the last element of the Data area information. If it is the last element, the process proceeds to S1907. If it is not the last element, the process proceeds to S1908.
[0307] In step S1907, the CPU 101 inserts the element to be replaced at the end and ends this flow.
[0308] In S1908, the CPU (101) acquires the next element of the data area information and advances the process to S1904.
[0309] Based on the above explanation, it is possible to provide a system for creating, printing, grading and tallying answer sheets that allow the order of questions to be changed.
[0310] Example 7 In Examples 1 to 6, the size of the answer column for the written question was fixed. However, depending on the content of the written question, it may be necessary to adjust the size of the answer column, such as making it larger or smaller. Therefore, in Example 7, a system that supports adjustment of the size of the answer column for the written question will be described. Note that in Example 7, only the differences from the previous examples will be described.
[0311] FIG. 20 shows the other setting screen (2000), the answer column size change screen (2001), and the individual answer column size change screen (2002) that can be accessed from the answer sheet creation / print screen.
[0312] The Other Settings screen (2000) is displayed by pressing the Other button on the Answer Sheet Creation / Printing screen. By pressing the Change Written Answer Field Size All button, the screen transitions to the Answer Field Size Change screen (2001), where it is possible to adjust the answer fields for all written questions. By pressing the Change Written Answer Field Size Individually button, the screen transitions to the Answer Field Size Individual Change screen (2002), where it is possible to select and change the question for which the answer field size is to be changed. Note that since the subject of this embodiment is the function of changing the answer field size of questions, only two related items are displayed.
[0313] The answer column size change screen (2001) allows you to change the size of the answer columns for all written questions at once. You can change the size by tapping the answer column with the eight adjustment markers displayed on the operation unit (104), or by tapping the height and width displayed in the lower left corner and entering the adjustment value. The adjustment value input screen is the same as the point allocation input screen (1004) shown in Figure 10. Then, the change is applied by pressing the apply button.
[0314] The individual answer column size change screen (2002) is a screen for selecting questions for which the answer column size is to be changed and changing it individually. As with the preview display shown in Figure 1, the answer sheet data can be scrolled, and the question for which the answer column size is to be changed can be selected by tapping the operation unit (104). When a question is tapped, the answer column size change screen (2001) is displayed, and the size can be changed. Then, the change is applied by pressing the apply button.
[0315] Based on the above explanation, it is possible to provide a system for creating, printing, grading, and tabulating answer sheets that allow the size of the answer column for written questions to be adjusted.
[0316] Example 8 In the first to seventh embodiments, it was assumed that the answer sheet pattern DB shown in Fig. 3 was used to acquire information on each question and perform scoring and tabulation. However, when scoring and tabulation is performed on a multifunction peripheral (100) other than the one that created and printed the answer sheet, the answer sheet pattern DB does not exist, and therefore scoring and tabulation is not possible. Therefore, in the eighth embodiment, a system that generates answer sheet pattern data by analyzing the image data of the correct answer sheet and answer sheet, and enables scoring and tabulation even when the answer sheet pattern DB does not exist, will be described. Note that in this eighth embodiment, only the differences from the previous embodiments will be described.
[0317] Figure 21(a) is a flowchart of the marking process executed in Example 8. This flowchart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow makes it possible to perform marking even when there is no answer sheet pattern DB.
[0318] In S2101, the CPU (101) executes the correct answer sheet identification process, and the process proceeds to S2102. Note that the correct answer sheet identification process is the same as the process shown in FIG.
[0319] In S2102, the CPU (101) analyzes the format of the answer sheet and proceeds to S2103.
[0320] In step S2103, the CPU 101 performs a scoring process on all scanned pages, and then ends this flow. Note that this process is the same as the process shown in FIG. 7(d), so a description thereof will be omitted.
[0321] 21(b) is a flow diagram of the answer sheet format analysis executed in the embodiment 8. According to this flow, the format of the answer sheet is analyzed and answer sheet pattern data is generated.
[0322] In S2104, the CPU (101) reads the image data of the answer sheet from the ROM (102) or the DRAM (103), and the process proceeds to S2105.
[0323] In S2105, the CPU (101) executes OCR processing on the read image data of the answer sheet, and the process proceeds to S2106. Note that the OCR processing to be executed uses a general, well-known process.
[0324] In S2106, the CPU (101) executes a process to identify the index area, and the process proceeds to S2107.
[0325] In S2107, the CPU (101) executes a question type specification process, and the process proceeds to S2108.
[0326] In S2108, the CPU (101) executes the data area specification process and ends this flow.
[0327] Figure 22(a) is a flow diagram of the Index area identification process executed in Example 8. This flowchart is performed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow identifies the Index area for each question in the image data, and creates and registers Index area information.
[0328] In S2201, the CPU (101) sets the inspection recognition value i to 1, and the process proceeds to S2202.
[0329] In S2202, the CPU (101) acquires the first element of the OCR recognition result information, and the process proceeds to S2203.
[0330] In S2203, the CPU (101) checks whether the recognition result of the acquired element matches the test recognition value i. If they match, the process proceeds to S2205. If they do not match, the process proceeds to S2204. Note that since the index area numbers are consecutive numbers starting from 1, this process allows the first index area candidate to be acquired.
[0331] In S2204, the CPU (101) acquires the next element of the OCR recognition result information, and the process proceeds to S2203.
[0332] In S2205, the CPU (101) executes the index area calculation and registration process for the acquired element, and proceeds to S2206. Note that the index area calculation and registration process is a separate flow, and will be described in detail later.
[0333] In S2206, the CPU (101) adds 1 to the inspection recognition value i and proceeds to S2207. This makes it possible to properly recognize the numbers in the Index area, which are made up of consecutive numbers.
[0334] In S2207, the CPU (101) stores the currently referenced element of the OCR recognition result information as a region of interest, and proceeds to S2208.
[0335] In S2208, the CPU (101) calculates the position of the center of gravity of the region of interest, and the process proceeds to S2209.
[0336] In S2209, the CPU (101) calculates the index area inspection condition value, and the process proceeds to S2210. The condition value calculated in this step is used to identify the subsequent index area.
[0337] In S2210, the CPU (101) acquires the next element of the OCR recognition result information as the region to be inspected, and proceeds to S2211. From this step onwards, the CPU 101 identifies the Index region following the first Index region registered as the region of interest in S2207.
[0338] In S2211, the CPU (101) checks whether the inspection condition Ymin is less than the inspection area start coordinate Y. If the inspection condition Ymin is less than the inspection area start coordinate Y, the process proceeds to S2212. If the inspection condition Ymin is equal to or greater than the inspection area start coordinate Y, the process proceeds to S2210.
[0339] In S2212, the CPU (101) checks whether the recognition result of the element of the OCR recognition result information acquired as the inspection target area matches the inspection recognition value i. If they match, the process proceeds to S2213. If they do not match, the process proceeds to S2210.
[0340] In S2213, the CPU (101) calculates the position of the center of gravity of the inspection target area, and the process proceeds to S2214.
[0341] In S2214, the CPU (101) checks whether the inspection condition Xmin is equal to or less than the coordinate X of the center of gravity of the inspection target area, and whether the coordinate X of the center of gravity of the inspection target area is equal to or less than the Xmax of the inspection condition. If the condition is met, the process proceeds to S2217. If the condition is not met, the process proceeds to S2215. Note that since the index area is drawn at an equal position from the left end of the image data, it can be identified by checking whether the X coordinate performed in this step matches the condition.
[0342] In step S2215, the CPU 101 sets the inspection recognition value i to 1 and proceeds to step S2216. In this step, the CPU 101 searches for the first region of the index region again.
[0343] In S2216, the CPU (101) resets the already registered Index area registration data, and the process proceeds to S2204.
[0344] In S2217, the CPU (101) performs the index area calculation and registration process for the inspection target area, and proceeds to S2218. Note that here, the same process as that performed in S2205 is performed.
[0345] In S2218, the CPU (101) adds 1 to the inspection recognition value i, and the process proceeds to S2219. This makes it possible to properly recognize the numbers in the Index area, which are made up of consecutive numbers.
[0346] In S2219, the CPU (101) updates the Index area inspection condition value, and the process proceeds to S2220.
[0347] In S2220, the CPU 101 checks whether the element of the OCR recognition result information acquired as the inspection target area is the last element. If it is the last element, this flow ends. If it is not the last element, the process proceeds to S2210.
[0348] Figure 22(b) is a flow diagram of the Index area identification process executed in Example 8. This flowchart is performed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow identifies the Index area for each question in the image data, and creates and registers Index area information.
[0349] In S2221, the CPU (101) calculates the index area information and proceeds to S2222. The width and height of the area are set to the default values of DEF_IA_WIDTH and DEF_IA_HEIGHT, and the start position is set to the center of gravity position minus half the width and height.
[0350] In S2222, the CPU (101) registers the Index area information calculated in S2221 in the answer sheet pattern data on the DRAM (103), and ends this flow.
[0351] 22(c) is a flow diagram of the Index area inspection condition value calculation process executed in Example 8. This flow calculates the condition value for checking whether the target area is an Index area.
[0352] In S2223, the index area inspection condition value is calculated and this flow ends. Note that elements with the same Y coordinate as the attention area are excluded from inspection, so Ymin is set to the centroid coordinate Y of the attention area plus DEF_IA_HEIGHT / 2. And since the index area is drawn at the same position from the left edge of the image, Xmin is the value obtained by subtracting DEF_IA_WIDTH / 2 from the centroid coordinate X of the attention area, and Xmax is the value obtained by adding DEF_IA_WIDTH / 2 to it.
[0353] 22(d) is a flowchart of the process of updating the Index area inspection condition value executed in the eighth embodiment. This flowchart is executed by the CPU (101) reading out a program stored in the ROM (102) into the DRAM (103) and executing it. This flow updates the Index area inspection condition value to match the inspection recognition value i of the inspection target.
[0354] In S2224, the CPU 101 updates the Index area inspection condition value Ymin and ends this flow. Note that to avoid inspecting elements that exist at the same Y coordinate as the inspection area, the coordinate obtained by adding DEF_IA_HEIGHT / 2 to the inspection area center of gravity coordinate Y is set to Ymin.
[0355] Fig. 23(a) shows a flow diagram of the question type identification process executed in Example 8. This flowchart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow determines whether the question linked to the index area is a written question or a multiple choice question.
[0356] In S2301, the CPU (101) obtains the first element in the Index area and advances the process to S2302.
[0357] In S2302, the CPU 101 calculates the question check condition value, and the process proceeds to S2303. Note that the question check condition value calculation process is a separate flow, and will be described in detail later.
[0358] In S2303, the CPU (101) acquires the first element of the OCR recognition result information as the inspection target area, and proceeds to S2304.
[0359] In S2304, the CPU (101) calculates the position of the center of gravity of the inspection target area, and the process proceeds to S2305.
[0360] In S2305, the CPU (101) checks whether the centroid coordinate Y of the inspection target area is equal to or greater than the inspection condition Ymin. If it is equal to or greater than Ymin, the process proceeds to S2306. If it is less than Ymin, the process proceeds to S2310. This determination process makes it possible to exclude elements of OCR recognition result information that are linked to an Index area different from the target Index area.
[0361] In S2306, the CPU (101) checks whether the centroid coordinate Y of the inspection target area is equal to or less than the inspection condition Ymax. If it is equal to or less than Ymax, the process proceeds to S2307. If it is greater than Ymax, the process proceeds to S2311. This determination process eliminates elements of the OCR recognition result information that are linked to an index area different from the target index area, and makes it possible to determine the type of question.
[0362] In S2307, the CPU (101) determines whether the element to be inspected is an element that has information related to the written question, and proceeds to S2308.
[0363] In S2308, the CPU (101) checks whether the element to be inspected was determined to be an element related to the written question in S2307. If it is determined to be an element related to the written question, the process proceeds to S2309. If it is determined not to be an element related to the written question, the process proceeds to S2310.
[0364] In S2309, the CPU (101) determines that the target index area is an area linked to the written question, and proceeds to S2313.
[0365] In S2310, the CPU 101 checks whether the element of the OCR recognition result information currently being treated as the inspection target area is the last element. If it is the last element, the process proceeds to S2311. If it is not the last element, the process proceeds to S2312.
[0366] In S2311, the CPU (101) determines that the target Index area is an area linked to a multiple choice question, and proceeds to S2313.
[0367] In S2312, the CPU (101) acquires the next element of the OCR recognition result information as the inspection target area, and proceeds to S2304.
[0368] In S2313, the CPU (101) checks whether the element in the Index area currently being referenced is the last element. If it is the last element, this flow ends. If it is not the last element, the process proceeds to S2314.
[0369] In S2314, the CPU (101) obtains the next element in the Index area and advances the process to S2302.
[0370] Figure 23(b) shows a flowchart of the question inspection condition value calculation process executed in Example 8. This flowchart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow calculates the inspection condition value for determining whether the question element is linked to the target index area.
[0371] In S2315, the CPU (101) calculates the inspection question condition value and ends this flow. Note that as the inspection condition, Ymin, which is the lower limit of the Y coordinate of the target element, is set as the start coordinate Y of the index area, and Ymax, which is the upper limit of the Y coordinate, is set as the start coordinate Y of the index area plus DEF_IA_HEIGHT.
[0372] Fig. 23(c) shows a flow diagram of the essay question element determination process executed in Example 8. This flow determines whether the element to be inspected is an element related to the essay question.
[0373] In S2316, the CPU 101 checks whether the recognition result of the target element is "x". If the recognition result is "x", the process proceeds to S2317. If the recognition result is not "x", the process proceeds to S2318.
[0374] In step S2317, the CPU 101 determines that the target element is an element related to the written question, and ends this flow.
[0375] In S2318, the CPU (101) checks whether the recognition result of the target element is "o". If the recognition result is "o", the process proceeds to S2317. If the recognition result is not "o", the process proceeds to S2319.
[0376] In S2319, the CPU 101 checks whether the recognition result of the target element is △. If the recognition result is △, the process proceeds to S2317. If the recognition result is not △, the process proceeds to S2320.
[0377] In S2320, the CPU (101) determines that the target element is not an element related to the written question, and ends this flow.
[0378] Figure 24(a) shows a flow diagram of the Data area identification process executed in Example 8. This flowchart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow identifies the Data area linked to the Index area and registers it in the answer sheet pattern data.
[0379] In S2401, the CPU (101) obtains the first element in the Index area, and the process proceeds to S2402.
[0380] In S2402, the CPU (101) calculates the Data inspection condition value, and the process proceeds to S2403. Note that the Data inspection condition value calculation process is a separate flow, and will be described in detail later.
[0381] In S2403, the CPU (101) acquires the next OCR recognition result information element of the target Index region element as the region to be inspected, and proceeds to S2404.
[0382] In S2404, the CPU (101) calculates the position of the center of gravity of the inspection target area, and the process proceeds to S2405.
[0383] In S2405, the CPU (101) checks whether the coordinate Y of the center of gravity of the inspection object is equal to or greater than the inspection condition Ymin and equal to or less than the inspection condition Ymax. If the condition is met, the process proceeds to S2406. If the condition is not met, the process proceeds to S2409.
[0384] In S2406, the CPU (101) registers the element to be inspected as a Data element in the DRAM (103) as temporarily stored information, and the process proceeds to S2407.
[0385] In S2407, the CPU 101 checks whether the element being inspected is the last element of the OCR recognition result information. If it is the last element, the process proceeds to S2409. If it is not the last element, the process proceeds to S2408.
[0386] In S2408, the CPU (101) acquires the next element of the OCR recognition result information as the inspection target area, and proceeds to S2404.
[0387] In S2409, the CPU (101) executes calculation and registration processing for the Data area, and then the process proceeds to S2410.
[0388] In S2410, the CPU (101) checks whether the currently referenced Index element is the last Index region element. If it is the last element, this flow ends. If it is not the last element, the process proceeds to S2411.
[0389] In S2411, the CPU (101) resets and initializes the data element registration information, which is temporarily stored information in the DRAM (103), and the process proceeds to S2412.
[0390] In S2412, the CPU (101) obtains the next element in the Index area and advances the process to S2402.
[0391] 24(b) shows a flow diagram of the Data inspection condition value calculation process executed in the eighth embodiment. This flowchart is executed by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow calculates the inspection conditions for identifying the Data field elements linked to the Index field.
[0392] In S2413, the CPU (101) calculates the Data inspection condition value and ends this flow. Note that, in order to obtain the element at the same Y coordinate as the Index area as the inspection condition value, the Y coordinate lower limit Ymin is set to the Index area start coordinate, and the Y coordinate upper limit Ymax is set to the Index area start coordinate plus DEF_IA_HEIGHT.
[0393] Figure 24(c) shows a flow diagram of the data area calculation and registration process carried out in Example 8. This flowchart is carried out by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow calculates and registers data area information for each question.
[0394] In S2414, the CPU (101) checks whether the question type of the target index area is a multiple choice question. If it is a multiple choice question, the process proceeds to S2415. If it is not a multiple choice question, the process proceeds to S2416.
[0395] In step S2415, the CPU 101 executes a multiple-choice question data area registration process, and ends this flow. Note that the multiple-choice question data area registration process is a separate flow, and its details will be described later.
[0396] In step S2416, the CPU 101 executes a data area registration process for the written question, and ends this flow. Note that the data area registration process for the written question is a separate flow, and will be described in detail later.
[0397] Figure 24(d) shows a flow diagram of the process of registering the data area for multiple choice questions, which is carried out in Example 8. This flowchart is carried out by the CPU (101) reading out a program stored in the ROM (102) into the DRAM (103) and executing it. This flow calculates information such as the start position, width, and height of the data area for multiple choice questions, and registers it in the answer sheet pattern data.
[0398] In S2417, the CPU (101) acquires the last element from the Data element registration information, calculates the center of gravity position, and advances the process to S2418.
[0399] In S2418, the CPU (101) calculates the data area information and proceeds to S2419. Note that the data area information is the start position X coordinate obtained by adding DEF_IA_WIDTH to the index area start coordinate X. The start position Y coordinate is the index area start coordinate Y. The width is obtained by adding DEF_MARK_WIDTH / 2 to the data element center of gravity coordinate X and subtracting the start position X. The height is obtained by adding DEF_MARK_HEIGHT / 2 to the data element center of gravity coordinate Y and subtracting the start position Y.
[0400] In S2419, the CPU (101) registers the data area information calculated in S2418 in the answer sheet pattern data, and ends this flow.
[0401] Figure 24(e) shows a flow diagram of the data area registration process for written questions carried out in Example 8. This flowchart is carried out by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow calculates information such as the start position, width, and height of the data area for written questions and registers it in the answer sheet pattern data.
[0402] In S2420, the CPU (101) acquires the last element from the Data element registration information, calculates the center of gravity position, and advances the process to S2421.
[0403] In S2421, the CPU (101) calculates the data area information and proceeds to S2422. Note that the data area information is the start position X coordinate obtained by adding DEF_IA_WIDTH to the index area start coordinate X. The start position Y coordinate is the index area start coordinate Y. The width is obtained by adding DEF_MARK_WIDTH / 2 to the data element center of gravity coordinate X and subtracting the start position X. The height is obtained by adding DEF_MARK_HEIGHT / 2 to the data element center of gravity coordinate Y and subtracting the start position Y.
[0404] In S2422, the CPU (101) registers the data area information calculated in S2421 in the answer sheet pattern data, and proceeds to S2423.
[0405] In S2423, the CPU (101) acquires the first element from the Data element registration information, calculates the center of gravity position, and advances the process to S2424.
[0406] In S2424, the CPU (101) calculates the Ans area information and proceeds to S2425. Note that the Ans area information is such that the start position X coordinate is the Data area start coordinate X, and the start position Y coordinate is the Data area start coordinate Y. The width is calculated by subtracting DEF_MARK_WIDTH / 2 and DEF_MARK_LM from the Data element center of gravity coordinate X, and then subtracting the start position X. The height is calculated by adding DEF_MARK_HEIGHT*1.5 to the Data element center of gravity coordinate Y, and then subtracting the start position Y.
[0407] In S2425, the CPU (101) registers the Ans area information calculated in S2424 in the answer sheet pattern data, and the process proceeds to S2426.
[0408] In S2426, the CPU (101) calculates Grade area information and proceeds to S2427. Note that the Grade area information is defined as the start position X coordinate, which is the Data area start coordinate X plus the Ans area width, and the start position Y coordinate, which is the Data area start coordinate Y. The width is defined as the Data element centroid coordinate X minus DEF_MARK_WIDTH / 2 and DEF_MARK_LM minus the start position X. The height is defined as the Data element centroid coordinate Y plus DEF_MARK_HEIGHT*1.5 minus the start position Y.
[0409] In S2427, the CPU (101) registers the Grade area information calculated in S2426 in the answer sheet pattern data, and the process proceeds to S2428.
[0410] In S2428, the CPU (101) performs detailed calculation and registration processing of Grade area information, and ends this flow.
[0411] Fig. 25(a) shows a flowchart of the Grade area information detail calculation and registration process carried out in Example 8. This flowchart is carried out by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow calculates and registers detailed Grade area information belonging to the Grade area for the written question.
[0412] In S2501, the CPU (101) acquires the first Data element as the target of attention, and advances the process to S2502.
[0413] In S2502, the CPU (101) calculates the center of gravity of the Data element, and the process proceeds to S2503.
[0414] In S2503, the CPU (101) checks whether the recognition result of the target Data element is O, X, or △. If the condition is met, the process proceeds to S2504. If the condition is not met, the process proceeds to S2519.
[0415] In S2504, the CPU (101) calculates detailed Grade area information and proceeds to S2505. The coordinate X of the start position is calculated by subtracting DEF_MARK_WIDTH / 2 from the coordinate X of the center of gravity of the Data element, and the coordinate Y is calculated by subtracting DEF_MARK_HEIGHT / 2 from the coordinate Y of the center of gravity of the Data element. The width is DEF_MARK_WIDTH, and the height is DEF_MARK_HEIGHT.
[0416] In S2505, the CPU 101 executes a score acquisition process and advances the process to S2506. Note that the score acquisition process is a separate flow, and will be described in detail later.
[0417] In S2506, the CPU (101) checks whether the score information was acquired. If it was acquired, the process proceeds to S2507. If it was not acquired, the process proceeds to S2511.
[0418] In S2507, the CPU (101) adds score information to the calculated Grade area information details, and the process proceeds to S2508.
[0419] In S2508, the CPU (101) adds JUDGE_MULTIPLE as the Grade type of the Grade area information, and the process proceeds to S2509.
[0420] In S2509, the CPU 101 executes a process for acquiring a mark type for the mark column, and then the process proceeds to S2510. Note that the process for acquiring a mark type for the mark column is a separate process, and the details thereof will be described later.
[0421] In S2510, the CPU (101) adds the grade type information acquired in S2509 to the Grade area information details, and the process proceeds to S2511.
[0422] In S2511, the CPU (101) registers the generated detailed Grade area information in the answer sheet pattern data, and proceeds to S2512.
[0423] In S2512, the CPU 101 executes a process for determining whether or not there is a score mark field, and the process proceeds to S2513. Note that the process for determining whether or not there is a score mark field is a separate process, and the details will be described later.
[0424] In S2513, the CPU (101) checks whether a score mark column exists. If it exists, the process proceeds to S2514. If it does not exist, the process proceeds to S2519.
[0425] In S2514, the CPU (101) calculates the score mark column of the Grade area information details and proceeds to S2515. The coordinate X of the start position is calculated by subtracting DEF_MARK_WIDTH / 2 from the coordinate X of the center of gravity of the Data element, and the coordinate Y is calculated by adding DEF_MARK_HEIGHT / 2 to the coordinate Y of the center of gravity of the Data element. The width is DEF_MARK_WIDTH and the height is DEF_MARK_HEIGHT.
[0426] In S2515, the CPU 101 executes a process for acquiring a mark type for the score mark column, and the process proceeds to S2516. Note that the process for acquiring a mark type for the score mark column is a separate process, and the details thereof will be described later.
[0427] In S2516, the CPU (101) adds the marking type information of the score mark column acquired in S2515 to the Grade area information details, and the process proceeds to S2517.
[0428] In S2517, the CPU (101) registers the generated detailed Grade area information in the answer sheet pattern data, and the process proceeds to S2518.
[0429] In S2518, the CPU (101) adds JUDGE_WITH_DIGIT as the Grade type of the Grade area information, and proceeds to S2519.
[0430] In S2519, the CPU (101) checks whether the currently referenced Data element is the last element. If it is the last element, this flow ends. If it is not the last element, the process proceeds to S2520.
[0431] In S2520, the CPU (101) obtains the next Data element and advances the process to S2502.
[0432] Figure 25(b) shows a flow diagram of the score acquisition process for the Grade area carried out in Example 8. This flowchart is carried out by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flow acquires score information in the Grade area.
[0433] In S2521, the CPU (101) acquires the first Data element to be inspected, and advances the process to S2522.
[0434] In S2522, the CPU (101) checks whether the recognition result is a number. If it is a number, the process proceeds to S2523. If it is not a number, the process proceeds to S2526. Note that whether the recognized character string is a number can be determined by using a general known method, such as using a normal standard function.
[0435] In S2523, the CPU (101) calculates the position of the center of gravity of the Data element to be inspected, and the process proceeds to S2524.
[0436] In S2524, the CPU (101) checks whether the target Data element satisfies the conditions for adoption as score information. If the conditions are met, the process proceeds to S2525. If the conditions are not met, the process proceeds to S2526. Here, it is checked whether the recognition result number of the Data area acquired as the inspection target belongs to the inside of the area of interest. To do this, it is checked whether the center of gravity position X of the inspection target Data element is equal to or greater than the start position X of the target Data element and is equal to or less than the start position X + width, and whether the center of gravity position Y of the inspection target Data element is equal to or greater than the start position Y of the target Data element and is equal to or less than the start position Y + height.
[0437] In step S2525, the CPU 101 uses the recognition result number as score information, and ends this flow.
[0438] In S2526, the CPU (101) checks whether the currently referenced Data element is the last element. If it is the last element, the process proceeds to S2527. If it is not the last element, the process proceeds to S2528.
[0439] In S2527, the CPU (101) determines that there is no score information, and ends this flow.
[0440] In S2528, the CPU (101) acquires the next Data element to be inspected, and the process proceeds to S2522.
[0441] Figure 25(c) shows a flowchart for determining whether or not a score mark column is present, which is carried out in Example 8. This flowchart is carried out by the CPU (101) reading a program stored in the ROM (102) into the DRAM (103) and executing it. This flowchart determines whether or not a score mark column exists below the score mark column.
[0442] In S2529, the CPU 101 offsets the coordinates downward by DEF_GD_HEIGHT / 2 from the center of gravity of the Data element in the region of interest, and proceeds to S2530. Note that this process allows the position to be moved to the start position of the score mark column region.
[0443] In S2530, the CPU (101) acquires the pixel value of the moved coordinates, and the process proceeds to S2531.
[0444] In S2531, the CPU (101) checks whether the pixel value of the target exceeds the edge determination threshold. If the pixel value exceeds the determination threshold, the process proceeds to S2532. If the pixel value does not exceed the determination threshold, the process proceeds to S2533. Note that the determination threshold is to be determined separately and appropriately.
[0445] In S2532, the CPU (101) increments the edge count number, and the process proceeds to S2533.
[0446] In S2533, the CPU (101) checks whether the edge count exceeds the threshold for determining whether or not there is a score mark field. If it exceeds the threshold, the process proceeds to S2534. If it does not exceed the threshold, the process proceeds to S2535. The threshold is to be determined separately and appropriately.
[0447] In step S2534, the CPU 101 determines that there is a score mark field, and ends this flow.
[0448] In S2535, the CPU (101) checks whether the number of pixels inspected so far exceeds the height of the score mark column area. If the number of inspected pixels is equal to or greater than DEF_GD_HEIGHT, the process proceeds to S2536. If the number of inspected pixels is less than DEF_GD_HEIGHT, the process proceeds to S2537.
[0449] In step S2536, the CPU 101 determines that there is no score mark field, and ends this flow.
[0450] In S2537, the CPU (101) offsets the currently referenced coordinates downward by one pixel, and the process proceeds to S2530.
[0451] 25(d) shows a flowchart of the process for acquiring the mark type for the mark column, which is carried out in Example 8. This flowchart is carried out by the CPU (101) reading out a program stored in the ROM (102) into the DRAM (103) and executing it. This flowchart acquires mark type information corresponding to the mark column.
[0452] In S2538, the CPU (101) checks whether the recognition result of the Data element is ◯. If it is ◯, the process proceeds to S2540. If it is not ◯, the process proceeds to S2539.
[0453] In S2539, the CPU (101) checks whether the recognition result of the Data element is "x". If it is "x", the process proceeds to S2541. If it is not "x", the process proceeds to S2542.
[0454] In S2540, the CPU (101) determines that the marking type is JUDGEMARK_CORRECT, and ends this flow.
[0455] In S2541, the CPU (101) determines that the marking type is JUDGEMARK_INCORRECT, and ends this flow.
[0456] In S2542, the CPU (101) determines that the marking type is JUDGEMARK_PARTIAL, and ends this flow.
[0457] 25(e) shows a flowchart of the process for acquiring the mark type for the score mark column, which is carried out in Example 8. This flowchart is carried out by the CPU (101) reading out a program stored in the ROM (102) into the DRAM (103) and executing it. This flowchart acquires the mark type information corresponding to the score mark column.
[0458] In S2543, the CPU (101) checks whether the recognition result of the Data element is ◯. If it is ◯, the process proceeds to S2544. If it is not ◯, the process proceeds to S2545.
[0459] In S2544, the CPU (101) determines that the scoring type is DIGITMARK_CORRECT, and ends this flow.
[0460] In S2545, the CPU (101) determines that the scoring type is DIGITMARK_PARTIAL, and ends this flow.
[0461] Based on the above explanation, it is possible to provide a system that can generate answer sheet pattern data by analyzing the image data of the correct answer sheets and answer sheets, even if an answer sheet pattern DB does not exist, and that enables scoring and tallying.
[0462] The examples described in this application are examples of embodiments, and it is not necessary to be bound by the forms described in the examples when carrying out the invention.
[0463] <Other Examples> The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program.The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions. [Explanation of symbols]
[0464] 101 CPU 104 Operation section 105 Scanner 106 Printer
Claims
1. a printing means for printing an answer sheet including a plurality of descriptive answer columns and a plurality of marking columns for marking the answers written in each of the plurality of descriptive answer columns, each of the plurality of marking columns including a plurality of score columns in the number corresponding to the number of partial marks for marking partial marks by the user by filling in the score; reading means for reading the answer sheet printed by the printing means; and marking means for marking the answers based on the entries in the marking columns included in the answer sheet read by the reading means.
2. further comprising a receiving means for receiving the number of essay-style questions; 2. The system according to claim 1, wherein said printing means prints the answer sheet including the number of answer columns accepted by said accepting means.
3. The answer sheet further includes a multiple-choice answer section; The system described in claim 1 or 2, characterized in that the scoring means scores the answers based on the entries in the multiple-choice answer column and the entries in the scoring column included in the answer sheet read by the reading means.
4. The test further has a designation means for designating the number of multiple choice questions, 4. The system according to claim 3, wherein the answer sheet includes the number of multiple-choice answer columns designated by the designation means.
5. The method further comprises: specifying means for specifying the position of the marking column included in the answer sheet read by the reading means based on information indicating the position of the marking column included in the answer sheet; 5. The system according to claim 1, wherein the marking means marks the answer based on the description in the marking box at the position identified by the identifying means.
6. a counting means for counting the results of the scoring performed by the scoring means; 6. The system according to claim 1, further comprising a providing unit that provides the results compiled by the compiling unit.
7. further comprising a setting means for setting point allocation information for each of the plurality of essay-style questions; A system as described in any one of claims 1 to 6, characterized in that the answers are scored based on the entries in the multiple scoring columns contained in the answer sheet read by the reading means and the point allocation information set by the setting means.
8. 8. The system according to claim 1, further comprising a rearrangement unit that rearranges the order of the plurality of written answer columns based on an instruction from a user.
9. 9. The system according to claim 1, further comprising a changing means for changing the size of each of the plurality of written answer columns based on an instruction from a user.
10. a printing step of printing an answer sheet including a plurality of written answer columns and a plurality of marking columns for marking the answers written in each of the plurality of written answer columns, each of the plurality of marking columns including a plurality of marking columns in the number corresponding to the number of partial marks for marking partial marks by the user by filling in the marks; a reading step of reading the answer sheet printed in the printing step; a marking step of marking the answers based on the entries in the marking columns contained in the answer sheet read in the reading step.
11. The method further includes a receiving step of receiving the number of essay-style questions; 11. The system control method according to claim 10, wherein the printing step prints the answer sheet including the number of answer columns accepted in the accepting step.
12. The answer sheet further includes a multiple-choice answer section; A system control method as described in claim 10 or 11, characterized in that in the grading process, the answers are graded based on the entries in the multiple-choice answer column and the entries in the grading column included in the answer sheet read in the reading process.
13. The method further includes a designation step of designating the number of multiple choice questions, 13. The system control method according to claim 12, wherein the answer sheet includes the number of multiple-choice answer columns designated in the designation step.
14. The method further comprises a step of identifying the position of the marking column included in the answer sheet read in the reading step based on information indicating the position of the marking column included in the answer sheet, 14. The system control method according to claim 10, wherein the marking step marks the answer based on the description in the marking box at the position identified in the identifying step.
15. a counting step of counting the results of the scoring performed in the scoring step; 15. The system control method according to claim 10, further comprising a providing step of providing the results compiled in the compilation step.
16. further comprising a setting step of setting point allocation information for each of the plurality of essay-style questions; A control method for a system described in any one of claims 10 to 15, characterized in that the answers are scored based on the entries in the multiple scoring columns contained in the answer sheet read in the reading process and the point allocation information set in the setting process.
17. 17. The system control method according to claim 10, further comprising a rearrangement step of rearranging the order of the plurality of descriptive answer columns based on an instruction from a user.
18. A program for causing a computer to execute the system control method according to any one of claims 10 to 17.
Citation Information
Patent Citations
Answer rating processor
JP1997068919A
Marking form for mark sheet
JP1998258592A
Image processor and distribution system and method using the image processor
JP1999202749A
Score processing system, score processing method and test paper used therfor
JP2005024693A
Marking support system for description type examination
JP2005258367A