U.S. patent application number 16/755694 was filed with the patent office on 2020-11-26 for report point output control method and apparatus.
The applicant listed for this patent is Huawei Technologies Co., Ltd.. Invention is credited to Yuanchun Shi, Siju Wu, Jie Xu, Jingjin Xu, Weijie Xu, Xin Yi, Chun Yu, Xuan Zhou.
Application Number | 20200371662 16/755694 |
Document ID | / |
Family ID | 1000005060661 |
Filed Date | 2020-11-26 |
![](/patent/app/20200371662/US20200371662A1-20201126-D00000.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00001.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00002.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00003.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00004.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00005.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00006.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00007.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00008.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00009.png)
![](/patent/app/20200371662/US20200371662A1-20201126-D00010.png)
View All Diagrams
United States Patent
Application |
20200371662 |
Kind Code |
A1 |
Shi; Yuanchun ; et
al. |
November 26, 2020 |
Report Point Output Control Method and Apparatus
Abstract
A report point output control method and apparatus includes
performing feature detection on a capacitance hot spot to determine
an eigenvalue of the capacitance hot spot, determining, based on
the eigenvalue of the capacitance hot spot, whether a report point
matching the capacitance hot spot is from an odd-form touch, and
skipping outputting the report point when the report point is the
report point generated by the odd-form touch. The eigenvalue
includes at least one of a horizontal span, a longitudinal span, an
eccentricity, a barycenter coordinate, a maximum capacitance value,
an average shadow length, an upper left shadow area, or a lower
right shadow area.
Inventors: |
Shi; Yuanchun; (Beijing,
CN) ; Yu; Chun; (Beijing, CN) ; Xu;
Weijie; (Beijing, CN) ; Yi; Xin; (Beijing,
CN) ; Wu; Siju; (Shenzhen, CN) ; Zhou;
Xuan; (Shenzhen, CN) ; Xu; Jie; (Shanghai,
CN) ; Xu; Jingjin; (Shenzhen, CN) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Huawei Technologies Co., Ltd. |
Shenzhen |
|
CN |
|
|
Family ID: |
1000005060661 |
Appl. No.: |
16/755694 |
Filed: |
October 15, 2018 |
PCT Filed: |
October 15, 2018 |
PCT NO: |
PCT/CN2018/110194 |
371 Date: |
April 13, 2020 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 3/044 20130101;
G06F 3/04186 20190501; G06K 9/46 20130101 |
International
Class: |
G06F 3/041 20060101
G06F003/041; G06F 3/044 20060101 G06F003/044; G06K 9/46 20060101
G06K009/46 |
Foreign Application Data
Date |
Code |
Application Number |
Oct 13, 2017 |
CN |
201710954030.X |
Dec 29, 2017 |
CN |
201711475860.0 |
Claims
1. A report point output control method, comprising: performing
feature detection on a capacitance hot spot to determine an
eigenvalue of the capacitance hot spot, wherein the eigenvalue
comprises at least one of a horizontal span, a longitudinal span,
an eccentricity, a barycenter coordinate, a maximum capacitance
value, an upper shadow length, a lower shadow length, a left shadow
length, a right shadow length, an average shadow length, an upper
left shadow area, a lower right shadow area, an upper right shadow
area, or a lower left shadow area; determining, based on the
eigenvalue, whether a report point matching the capacitance hot
spot is from an odd-form touch; and skipping outputting the report
point when the report point is from the odd-form touch.
2. The report point output control method of claim 1, wherein
before performing the feature detection, the report point output
control method further comprises: obtaining each frame of
full-screen capacitance signals and a coordinate value of each
report point in a report point set, wherein the report point set
comprises the report point; determining a capacitance hot spot set
on a screen based on the full-screen capacitance signals, wherein
the capacitance hot spot set comprises the capacitance hot spot;
and matching the report point in the report point set against the
capacitance hot spot in the capacitance hot spot set to determine
report point information corresponding to the capacitance hot
spot.
3. The report point output control method of claim 2, further
comprising: determining maximum values of capacitance signals on
the screen based on the full-screen capacitance signals; starting
flooding from a capacitance grid corresponding to each maximum
value; adding a capacitance grid comprising a capacitance signal
greater than a first capacitance threshold to a first flooding area
of the capacitance hot spot; and adding a capacitance grid
comprising a capacitance signal greater than a second capacitance
threshold to a second flooding area of the capacitance hot spot,
wherein the first capacitance threshold is greater than the second
capacitance threshold, and wherein each capacitance hot spot
comprises one first flooding area and one second flooding area.
4. The report point output control method of claim 3, wherein the
horizontal span is of the first flooding area of the capacitance
hot spot, wherein the longitudinal span is of the first flooding
area of the capacitance hot spot, wherein the eccentricity is y of
an ellipse obtained by fitting the first flooding area of the
capacitance hot spot, wherein the barycenter coordinate is of the
first flooding area of the capacitance hot spot, wherein the
maximum capacitance value is a maximum capacitance in the first
flooding area of the capacitance hot spot, wherein the upper shadow
length is of the second flooding area at an upper position of the
first flooding area of the capacitance hot spot in a longitudinal
direction, wherein the lower shadow length is of the second
flooding area at a lower position of the first flooding area of the
capacitance hot spot in the longitudinal direction, wherein the
left shadow length is of the second flooding area at a left
position of the first flooding area of the capacitance hot spot in
a horizontal direction, wherein the right shadow length is of the
second flooding area at a right position of the first flooding area
of the capacitance hot spot in the horizontal direction, wherein
the average shadow length is of the second flooding area around the
first flooding area of the capacitance hot spot, wherein the upper
left shadow area is of the second flooding area at an upper left
position of the first flooding area of the capacitance hot spot,
wherein the lower right shadow area is of the second flooding area
at a lower right position of the first flooding area of the
capacitance hot spot, wherein the upper right shadow area is of the
second flooding area at an upper right position of the first
flooding area of the capacitance hot spot, and wherein the lower
left shadow area is of the second flooding area at a lower left
position of the first flooding area of the capacitance hot
spot.
5. The report point output control method of claim 1, further
comprising: determining, based on the eigenvalue of the capacitance
hot spot, whether the report point matching the capacitance hot
spot is a from a strong cheek, wherein a first determining result
comprises "strong cheek", "non-strong cheek", and or "uncertain";
determining, based on the eigenvalue of the capacitance hot spot,
whether the report point matching the capacitance hot spot is from
a weak cheek, wherein a second determining result comprises "weak
cheek", "non-weak cheek", or "uncertain"; determining, based on the
eigenvalue of the capacitance hot spot, whether the report point
matching the capacitance hot spot is from an ear, wherein a third
determining result comprises "ear", "non-ear"or "uncertain";
determining that the report point is from the odd-form touch when
the first determining result is "strong cheek", when the second
determining result is "weak cheek", or when the third determining
result is "ear"; and determining that the report point is not from
the odd-form touch when the first determining result is "non-strong
cheek", the second determining result is "non-weak cheek", and the
third determining result is "non-ear".
6. The report point output control method of claim 5, wherein the
eigenvalue further comprises a hot spot area, wherein the hot spot
area is a quantity of capacitance grids in a first flooding area of
the capacitance hot spot, and wherein the report point output
control method further comprises: determining that the report point
matching the capacitance hot spot is from a non-strong cheek when
the hot spot area is less than a first area threshold; determining
that the report point matching the capacitance hot spot is from the
strong cheek when the longitudinal span is greater than a first
longitudinal span threshold, when the average shadow length is
greater than a first length threshold, or when the horizontal span
is less than a first horizontal span threshold and the longitudinal
span is greater than a second longitudinal span threshold;
determining that a result is "uncertain" when the average shadow
length is greater than a second length threshold; and determining
that the report point matching the capacitance hot spot is from the
non-strong cheek when none of the foregoing conditions is met.
7. The report point output control method of claim 5, wherein the
eigenvalue further comprises a hot spot area, wherein the hot spot
area is a quantity of capacitance grids in a first flooding area of
the capacitance hot spot, and wherein the report point output
control method further comprises: determining that the report point
matching the capacitance hot spot is from a non-weak cheek when the
maximum capacitance value is greater than or equal to a third
capacitance threshold, or when the capacitance hot spot is attached
to an upper edge of a screen and the longitudinal span is less than
or equal to a third longitudinal span threshold; determining that
the report point matching the capacitance hot spot is from the weak
cheek when the hot spot area is greater than or equal to a second
area threshold, or when the longitudinal span is greater than or
equal to a fourth longitudinal span threshold and the horizontal
span is greater than or equal to a second horizontal span
threshold; determining that a result is "uncertain" when the hot
spot area is greater than or equal to a third area threshold, or
when the longitudinal span is greater than or equal to a fifth
longitudinal span threshold; and determining that the report point
matching the capacitance hot spot is from the non-weak cheek when
none of the foregoing conditions is met.
8. The report point output control method of claim 5, wherein the
eigenvalue further comprises a hot spot area, wherein the hot spot
area is a quantity of capacitance grids in a first flooding area of
the capacitance hot spot, and wherein the report point output
control method further comprises: determining that the report point
matching the capacitance hot spot is from a non-ear when the
maximum capacitance value is less than a fourth capacitance
threshold; determining that the report point matching the
capacitance hot spot is from the ear when an axial direction of a
major axis of an ellipse obtained by fitting the first flooding
area of the capacitance hot spot is lower right and the lower left
shadow area is greater than or equal to a fourth area threshold, or
when the axial direction of the major axis of the ellipse obtained
by fitting the first flooding area of the capacitance hot spot is
lower left and the lower right shadow area is greater than or equal
to a fifth area threshold; determining that the report point
matching the capacitance hot spot is from a non-ear when the hot
spot area is less than a sixth area threshold, or when the
capacitance hot spot is attached to an upper edge of a screen and
the longitudinal span is less than or equal to a sixth longitudinal
span threshold; determining that the report point matching the
capacitance hot spot is from the ear when a resistivity is greater
than a first resistivity threshold and a vertical coordinate in the
barycenter coordinate is greater than a first coordinate threshold;
determining that a result is "uncertain" when the resistivity is
greater than a second resistivity threshold; and determining that
the report point matching the capacitance hot spot is from the
non-ear when none of the foregoing conditions is met.
9. The report point output control method of claim 5, further
comprising: storing a coordinate of the report point of the first
frame when the first determining result, the second determining
result, and the third determining result of a first frame are all
"uncertain"; determining that the report point in the first frame
is from the odd-form touch when the report point, in a subsequent
preset quantity of frames, is from the odd-form touch; and
determining that the report point in the first frame is not from
the odd-form touch, and outputting the report point based on the
coordinate of the report point of the first frame when the report
point, in the subsequent preset quantity of frames, is not from the
odd-form touch, or when the first determining result, the second
determining result, and the third determining result in the
subsequent preset quantity of frames are all "uncertain".
10. The report point output control method of claim 2, wherein the
capacitance hot spot set comprises a plurality of capacitance hot
spots, and wherein before determining whether the report point is
from the odd-form touch, the report point output control method
further comprises: determining whether a current state is an
odd-form state; determining that each report point corresponding to
each capacitance hot spot in the capacitance hot spots is from the
odd-form touch when the current state is the odd-form state;
determining, based on the eigenvalue of the capacitance hot spot,
whether the report point is from the odd-form touch when the
current state is not the odd-form state; and switching the current
state to the odd-form state when the report point is from the
odd-form touch.
11. The report point output control method of claim 2, further
comprising performing the feature detection on a capacitance hot
spot that is in the capacitance hot spot set of a second frame and
that does not match a second report point in the report point set
to determine the eigenvalue of the capacitance hot spot, wherein
the second frame meets a preset condition.
12. A report point output control apparatus, comprising: a memory
configured to store a program instruction; and a processor coupled
to the memory, wherein the program instruction causes the processor
to be configured to: perform feature detection on a capacitance hot
spot to determine an eigenvalue of the capacitance hot spot,
wherein the eigenvalue comprises at least one of a horizontal span,
a longitudinal span, an eccentricity, a barycenter coordinate, a
maximum capacitance value, an upper shadow length, a lower shadow
length, a left shadow length, a right shadow length, an average
shadow length, an upper left shadow area, a lower right shadow
area, an upper right shadow area, or a lower left shadow area;
determine, based on the eigenvalue, whether a report point matching
the capacitance hot spot is from an odd-form touch; and skip
outputting the report point when the report point is from the
odd-form touch.
13. The report point output control apparatus of claim 12, further
comprising a capacitive touchscreen coupled to the processor and
configured to generate a capacitance signal, and wherein the
program instruction further causes the processor to be configured
to determine the a report point and the capacitance hot spot based
on the capacitance signal.
14. The report point output control apparatus of claim 12, wherein
before performing the feature detection, the program instruction
further causes the processor to be configured to: obtain each frame
of full-screen capacitance signals and a coordinate value of each
report point in a report point set, wherein the report point set
comprises the report point determine a capacitance hot spot set on
a screen based on the full-screen capacitance signals, wherein the
capacitance hot spot set comprises the capacitance hot spot and
match the report point in the report point set against the
capacitance hot spot in the capacitance hot spot set to determine
report point information corresponding to the capacitance hot
spot.
15. (canceled)
16. The report point output control apparatus of claim 14, wherein
the program instruction further causes the processor to be
configured to: determine maximum values of capacitance signals on
the screen based on the full-screen capacitance signals; start
flooding from a capacitance grid corresponding to each maximum
value; add a capacitance grid comprising a capacitance signal
greater than a first capacitance threshold to a first flooding area
of the capacitance hot spot; and add a capacitance grid comprising
a capacitance signal greater than a second capacitance threshold to
a second flooding area of the capacitance hot spot, wherein the
first capacitance threshold is greater than the second capacitance
threshold, and wherein each capacitance hot spot comprises one
first flooding area and one second flooding area.
17. The report point output control apparatus of claim 16, wherein
the horizontal span is of the first flooding area of the
capacitance hot spot, wherein the longitudinal span is of the first
flooding area of the capacitance hot spot, wherein the eccentricity
is of an ellipse obtained by fitting the first flooding area of the
capacitance hot spot, wherein the barycenter coordinate is of the
first flooding area of the capacitance hot spot, wherein the
maximum capacitance value is a maximum capacitance in the first
flooding area of the capacitance hot spot, wherein the upper shadow
length is of the second flooding area at an upper position of the
first flooding area of the capacitance hot spot in a longitudinal
direction, wherein the lower shadow length is of the second
flooding area at a lower position of the first flooding area of the
capacitance hot spot in the longitudinal direction, wherein the
left shadow length is of the second flooding area at a left
position of the first flooding area of the capacitance hot spot in
a horizontal direction, wherein the right shadow length is of the
second flooding area at a right position of the first flooding area
of the capacitance hot spot in the horizontal direction, wherein
the average shadow length is of the second flooding area around the
first flooding area of the capacitance hot spot, wherein the upper
left shadow area is of the second flooding area at an upper left
position of the first flooding area of the capacitance hot spot,
wherein the lower right shadow area is of the second flooding area
at a lower right position of the first flooding area of the
capacitance hot spot, wherein the upper right shadow area is of the
second flooding area at an upper right position of the first
flooding area of the capacitance hot spot, and wherein the lower
left shadow area is of the second flooding area at a lower left
position of the first flooding area of the capacitance hot
spot.
18. The report point output control apparatus of claim 12, wherein
the program instruction further causes the processor to be
configured to: determine, based on the eigenvalue of the
capacitance hot spot, whether the report point matching the
capacitance hot spot is from a strong cheek, wherein a first
determining result comprises "strong cheek", "non-strong cheek", or
"uncertain"; determine, based on the eigenvalue of the capacitance
hot spot, whether the report point matching the capacitance hot
spot is from a weak cheek, wherein a second determining result
comprises "weak cheek", "non-weak cheek", or "uncertain";
determine, based on the eigenvalue of the capacitance hot spot,
whether the report point matching the capacitance hot spot is from
an ear, wherein a third determining result comprises "ear",
"non-ear", or "uncertain"; determine that the report point is from
the odd-form touch when the first determining result is "strong
cheek", when the second determining result is "weak cheek", or when
the third determining result is "ear"; and determine that the
report point is not from the odd-form touch when the first
determining result is "non-strong cheek", the second determining
result is "non-weak cheek", and the third determining result is
"non-ear".
19. The report point output control apparatus of claim 18, wherein
the eigenvalue further comprises a hot spot area, wherein the hot
spot area is a quantity of capacitance grids in a first flooding
area of the capacitance hot spot, and wherein the program
instruction further causes the processor to be configured to:
determine that the report point matching the capacitance hot spot
is from a non-strong cheek when the hot spot area is less than a
first area threshold; determine that the report point matching the
capacitance hot spot is from the strong cheek when the longitudinal
span is greater than a first longitudinal span threshold, when the
average shadow length is greater than a first length threshold, or
when the horizontal span is less than a first horizontal span
threshold and the longitudinal span is greater than a second
longitudinal span threshold; determine that a result is "uncertain"
when the average shadow length is greater than a second length
threshold; and determine that the report point matching the
capacitance hot spot is from the non-strong cheek when none of the
foregoing conditions is met.
20. The report point output control apparatus of claim 18, wherein
the eigenvalue further comprises a hot spot area, wherein the hot
spot area is a quantity of capacitance grids in a first flooding
area of the capacitance hot spot, and wherein the program
instruction further causes the processor to be configured to:
determine that the report point matching the capacitance hot spot
is from a non-weak cheek when the maximum capacitance value is
greater than or equal to a third capacitance threshold, or when the
capacitance hot spot is attached to an upper edge of a screen and
the longitudinal span is less than or equal to a third longitudinal
span threshold; determine that the report point matching the
capacitance hot spot is from the weak cheek when the hot spot area
is greater than or equal to a second area threshold, or when the
longitudinal span is greater than or equal to a fourth longitudinal
span threshold and the horizontal span is greater than or equal to
a second horizontal span threshold; determine that a result is
"uncertain" when the hot spot area is greater than or equal to a
third area threshold, or when the longitudinal span is greater than
or equal to a fifth longitudinal span threshold; and determine that
the report point matching the capacitance hot spot is from the
non-weak cheek when none of the foregoing conditions is met.
21. A computer program product comprising computer-executable
instructions for storage on a non-transitory computer-readable
medium that, when executed by a processor, cause an apparatus to:
perform feature detection on a capacitance hot spot to determine an
eigenvalue of the capacitance hot spot, wherein the eigenvalue
comprises at least one of a horizontal span, a longitudinal span,
an eccentricity, a barycenter coordinate, a maximum capacitance
value, an upper shadow length, a lower shadow length, a left shadow
length, a right shadow length, an average shadow length, an upper
left shadow area, a lower right shadow area, an upper right shadow
area, or a lower left shadow area; determine, based on the
eigenvalue, whether a report point matching the capacitance hot
spot is from an odd-form touch; and skip outputting the report
point when the report point is from the odd-form touch.
Description
TECHNICAL FIELD
[0001] The present invention relates to the computer field, and in
particular, to a report point output control method and
apparatus.
BACKGROUND
[0002] In recent years, a capacitive touchscreen has been widely
used due to advantages such as a high sensitivity and a high
response speed, and provides good user experience for a user
especially in a smartphone field. Currently; an optical proximity
sensor in a smartphone is usually used to identify air obstacle in
front of a screen. When the user answers a call, the optical
proximity sensor is enabled, and when the optical proximity sensor
identifies that there is an obstacle within a range of a specific
distance threshold, the screen is off to prevent the screen from
being accidentally touched. The optical proximity sensor cannot
identify an obstacle in some scenarios because of an identification
angle, in addition, there is a delay from identifying an obstacle
to screen-off, and an odd-form part may touch a control on the
screen before screen-off. Consequently; a misoperation is
caused.
[0003] In an existing capacitive touchscreen technology, only
report point data of an object touching a screen can be calculated,
but whether the object touching the screen is a finger or another
part of a human body cannot be identified. Currently, when a user
is making a call, an optical proximity sensor in a mobile phone is
usually used to identify, whether there is an obstacle in front of
the screen. When an obstacle is identified, the screen of the
mobile phone is off to prevent a part such as an ear or a cheek
from accidentally touching a control on the screen. When the
optical proximity sensor cannot identify an obstacle in some
scenarios, the screen is still on during a call. Consequently, a
control may be accidentily touched when a non-finger part touches
the screen, and user experience is severely affected.
[0004] Currently, in a touchscreen panel (Touchscreen TP)
algorithm, a large area of contact on a screen may be identified by
using a feature such as a contact area, and report points generated
by the large area of contact are suppressed. However, another
odd-form part cannot be effectively identified, and consequently, a
report point generated by an odd-form touch cannot be effectively
suppressed.
SUMMARY
[0005] In a possible implementation, before the performing feature
detection on a capacitance hot spot to determine at least one
eigenvalue of the capacitance hot spot, the method further
includes: obtaining each frame of full-screen capacitance signals
and a coordinate value of each report point in a report point set,
where the report point set includes at least one report point;
determining a capacitance hot spot set on a screen based on the
full-screen capacitances gnats. where the capacitance hot spot set
includes at least one capacitance hot spot; and matching the report
point in the report point set against. the capacitance hot spot in
the capacitance hot spot set, to determine report point information
corresponding to the capacitance hot spot. In this implementation,
the capacitance hot spot is first matched against a report spot,
and then feature detection is performed on a successfully matched
capacitance hot spot, so as to determine, based on the at least one
eigenvalue of the capacitance hot spot, whether to output the
report spot matching the capacitance hot spot. This embodiment is
for a specific scenario, namely, a scenario in which the
capacitance hot spot and the report point can be determined based
on one-frame of full-screen capacitance signals. It may be
understood that there is another scenario. For example, the
capacitance hot spot can be determined but the report point is not
determined based on the one-frame of full-screen capacitance
signals, or neither the capacitance hot spot nor the report point
is determined based on the one-frame of full-screen capacitance
signals.
[0006] In a possible it implementation, the determining a
capacitance hot spot set on a screen based on the full-screen
capacitance signals includes: determining at least one maximum
value of the capacitance signals on the screen based on the
full-screen capacitance signals; starting flooding from a
capacitance grid corresponding to each maximum value, and adding a
capacitance grid whose capacitance signal is greater than a first
capacitance threshold to a first flooding area of the capacitance
hot spot; and starting flooding from the capacitance grid
corresponding to each maximum value, and adding a capacitance grid
whose capacitance signal is greater than a second capacitance
threshold to a second flooding area of the capacitance hot spot,
where the first capacitance threshold is greater than the second
capacitance threshold, where each capacitance hot spot includes one
first flooding area and one second flooding area. In this
implementation, a manner of determining the capacitance hot spot is
provided. It may be understood that only one capacitance hot spot
may be determined, and in this case, the capacitance hot spot set
includes one capacitance hot spot. Alternatively, a plural of
capacitance hot spots may be determined, and in this case, the
capacitance hot spot set includes a plurality of capacitance hot
spots. This embodiment for a specific scenario, namely, a scenario
in which the capacitance hot spot can be determined based on one
frame of full-screen capacitance signals. It may he understood that
there is another scenario. For example, the capacitance hot spot is
not determined based on the one frame of full-screen capacitance
signals. In this case, there is no maximum value for the
capacitance signals on the screen. In addition, it should be noted
that, n there is a plurality of maximum values for the capacitance
signals on the screen, the plurality of maximum values may be
sorted in descending order. The capacitance hot spot is determined
based on each maximum value in the order. When a capacitance grid
corresponding to another maximum value falls within a range of the
capacitance hot spot, the capacitance hot spot does not need to be
determined based on the another maximum value,. In other words, one
maximum value may be corresponding to one capacitance hot spot, or
a plurality of maximum values may be corresponding to one
capacitance hot spot.
[0007] In a possible implementation, the horizontal span is a
horizontal span of the first flooding area of the capacitance hot
spot. The longitudinal span is a longitudinal span of the first
flooding area of the capacitance hot spot. It may be preset that in
a portrait mode, a horizontal direction of a screen is a latitude
direction, and a vertical direction is a longitude direction. A
span unit t may be but is not limited to one capacitance grid. The
eccentricity is an eccentricity of an ellipse obtained by fitting
the first flooding area of the capacitance hot spot. The barycenter
coordinate is a barycenter coordinate of the first flooding area of
the capacitance hot spot. The maximum capacitance value is a
maximum capacitance value in the first flooding area of the
capacitance hot spot. A part in the second flooding, area that does
not belong to the first flooding area is referred to as a shadow.
The upper shadow length is a length of the second flooding area at
an upper position of the first flooding area in the longitudinal
direction. For example, a vector including a quantity of
capacitance grids at an upper position of the second flooding area
of each capacitance grid in the longitudinal direction at a widest
part of the first flooding area in the horizontal direction is
determined as the upper shadow length. Tho lower shadow length is a
length of the second flooding at a lower position of the first
flooding area in the longitudinal direction. For example, a vector
including a quantity of capacitance grids at a lower position of
the second flooding area of each capacitance grid in the
longitudinal direction at a widest part of the first flooding area
in the horizontal direction is determined as the lower shadow
length. The left shadow length is a length of the second flooding
area at a left position of the first flooding area in the
horizontal direction. For example, a vector including a quantity of
capacitance grids at a left position of the second flooding area in
the horizontal direction of each capacitance grid at a widest part
of the first flooding area in the longitudinal direction is
determined as the left shadow length. The right shadow length is a
length of the second flooding area at a right position of the first
flooding area in the horizontal direction. For example, a vector
including a quantity of capacitance grids at a right position of
the second flooding area in the horizontal direction of each
capacitance grid at a widest part of the first flooding area in the
direction is determined as the right shadow length. The average
shadow length is an average value of the upper shadow length, the
lower shadow length, the left shadow length, and the right shadow
length. For example, vector elements of the upper shadow length,
the lower shadow length, the left shadow length, and the right
shadow length are first added in obtain a first length, then a
quantity of capacitance grids at a widest part of the first
flooding area in the horizontal direction and a quantity of
capacitance grids at a widest part of the first flooding area in.
the longitudinal direction are added, and then a sum is multiplied
by 2 to obtain a second length, and next the first length is
divided by the second length to obtain the average shadow length.
The upper left shadow area is an area of the second flooding area
at an upper left position of the first flooding area of the
capacitance hot spot, for example, a quantity of capacitance grids
at the upper left position of the first flooding area in the second
flooding area. The lower right shadow area is an area of the second
flooding area at a lower right position of the first flooding area
of the capacitance hot spot, for example, a quantity of capacitance
grids at the lower right position of the first flooding area in the
second flooding area. The upper right shadow area is an area of the
second flooding area at an upper right position of the first
flooding area of the capacitance hot spot, for example, a quantity
of capacitance grids at the upper right position of the first
flooding area in the second flooding area. The lower left shadow
area is an area of the second flooding area at a lower left
position of the first flooding area of the capacitance hot spot,
for example, a quantity of capacitance grids at the lower left
position of the first flooding area in the second flooding area. In
this implementation, a possible manner of defining the at least one
eigenvalue is provided. It may be understood that the at least one
eigenvalue may be further defined in another manner. This is not
limited in this embodiment of the present invention.
[0008] In addition, the hot spot area may be further defined as a
quantity of capacitance grids in a first flooding area of one
capacitance hot spot.
[0009] In a possible implementation, the determining based on the
at least one eigenvalue of the capacitance hot spot, whether a
report point matching the capacitance hot spot is a report point
generated by an odd-form touch includes: determining, based on the
at least one eigenvalue of the capacitance hot spot, whether the
report point matching the capacitance hot spot is a report point
generated by a strong cheek, where a determining result includes
"strong cheek", "non-strong check", and "uncertain"; determining,
based on the at least one eigenvalue of the capacitance hot spot,
whether the report point matching the capacitance hot spot is a
report point generated by a weak cheek, where a determining result
includes "weak cheek", "non-weak cheek", and "uncertain";
determining, based on the at least one eigenvalue of the
capacitance hot spot, whether the report point matching the
capacitance hot spot is a report point generated by an ear, where a
determining result includes "ear", "non-ear", and "uncertain"; and
when the first determining result is "strong cheek", or when the
second determining result is "weak cheek", or when the third
determining result is "ear", determining that the report point is
the report point generated by the odd-form touch; or when the first
determining result is "non-strong cheek", the second determining
result is "non-weak cheek", and the third determining result is
"non-ear", determining that the report point is not the report
point generated by the odd-form touch. In this implementation, the
odd-form touch is pre-divided into three types: "strong cheek",
"weak cheek", and "ear". By separately determining whether the
capacitance hot spot meets a feature of the strong cheek,
determining whether the capacitance hot spot meets a feature of the
weak cheek, and determining whether the capacitance hot spot meets
a feature of the ear, and it is comprehensively determined, with
reference to the three determining results, whether the report
point matching the capacitance hot spot is the report point
generated b y the odd-form touch, and therefore a determining
result is accurate.
[0010] In a possible implementation, the at least one eigenvalue
further includes a hot spot area, and the hot spot area is a
quantity of capacitance grids in the first flooding area of the
capacitance hot spot. The determining, based on the at least one
eigenvalue of the capacitance hot spot, whether the report point
matching the capacitance hot spot is a report point generated by a
strong cheek includes: when the hot spot area is less than a first
area threshold, determining that the report point matching the
capacitance hot spot is a report point generated by a non-strong
cheek; or when the longitudinal span is greater than a first
longitudinal span threshold, or when the average shadow length
greater than a first length threshold, or when the horizontal span
is less than a first horizontal span threshold and the longitudinal
span is greater than a second longitudinal span threshold,
determining that the report point matching the capacitance hot spot
is the report point generated by the strong cheek; or when the
average shadow length is greater than a second length threshold,
determining that a result is "uncertain"; or when none of the
foregoing conditions is met, determining that the report point
matching the capacitance hot spot is a report point generated by a
non-strong cheek. In this implementation, it may be determined, by
using one or more of the hot spot area, the longitudinal span, the
average shadow length, and the horizontal span, whether the report
point matching the capacitance hot spot the report point generated
by the strong cheek, and a determining result is accurate. In an
example, the foregoing conditions have different priorities, and in
the foregoing sequence, the priorities rank in descending order.
Whether the foregoing conditions are met may be determined based on
in descending order of priorities. When a condition of a higher
priority is met, a subsequent condition does not need to be
determined. In this case, a determining result is more
accurate.
[0011] In a possible implementation, the at least one eigenvalue
further includes a hot spot area, and the hot spot area is a
quantity of capacitance grids in the first flooding area of the
capacitance hot spot. The determining, based on the at least one
eigenvalue of the capacitance hot spot, whether the report point
matching the capacitance hot spot is a report point generated by a
weak cheek includes: when the maximum capacitance value is greater
than or equal to a third capacitance threshold, or when the
capacitance hot spot attached to an upper edge of a screen and the
longitudinal span its less than or equal to a third longitudinal
span threshold, determining that the report point matching the
capacitance hot spot is a report point generated by a non-weak
cheek; or when the hot spot area is greater than or equal to a
second area threshold, or when the longitudinal span is greater
than or equal to a fourth longitudinal span threshold and the
horizontal span is greater than or equal to a second horizontal
span threshold, determining that the report point matching the
capacitance hot spot is the report point generated by the weak
cheek; or when the hot spot area is greater than or equal to a
third area threshold, or when the longitudinal span is greater than
or equal to a fifth longitudinal span threshold, determining that a
result is "uncertain"; or when none of the foregoing conditions is
met, determining that the report point matching the capacitance hot
spot is a report point generated by a non-weak cheek. In this
implementation, it may be determined, by using one or more of the
maximum capacitance value, a position of the capacitance hot spot,
the longitudinal span, pot area, and the horizontals whether the
report point matching the capacitance hot spot is the report point
generated by the weak cheek, and a determining result is accurate.
In an example, the foregoing conditions have a different
priorities, and in the foregoing sequence, the priorities in
descending order. Whether the foregoing conditions are met may be
determined in descending order of priorities. When a condition of a
higher priority is met, a subsequent condition does not need to be
determined. In this case, a determining result is more
accurate.
[0012] In a possible implementation, the at least one eigenvalue
further includes a hot spot area, and the hot spot area is a
quantity of capacitance grids in the first flooding area of the
capacitance hot spot. The determining, based on the at least one
eigenvalue of the capacitance hot spot, whether the report point
matching the capacitance hot spot is a report point generated by an
ear includes: when the maximum capacitance value less than a fourth
capacitance threshold, determining that the report point matching
the capacitance hot spot is a report point: generated by a non-ear,
or when an axial direction of a major axis of the ellipse obtained
by fitting the first flooding area of the capacitance hot spot is
lower right, and the lower left shadow area is greater than or
equal to a fourth area threshold, or when an axial direction of a
major axis of the ellipse obtained from the first flooding area of
the capacitance hot spot is lower and the lower right shadow area
is greater than or equal to a fifth area threshold, determining
that the report point matching the capacitance hot spot is the
report point generated by the ear; or when the hot spot area is
less than a sixth area threshold, or when the capacitance hot spot
is attached to the upper edge of the screen and the longitudinal
span is less than or equal to a sixth longitudinal span threshold,
determining that the report point matching the capacitance hot spot
is a report point generated by a non-ear; or when the resistivity
is greater than a first threshold and a vertical coordinate in the
barycenter coordinate is greater than a first coordinate threshold,
determining that the report point matching the capacitance hot spot
is the report point generated by the ear; or when the resistivity
is greater than a second resistivity threshold, determining that a
result is "uncertain"; or when none of the foregoing conditions is
met determining that the report point matching the capacitance hot
spot is a report point generated non-ear. In this implementation,
it may be determined, by using one or more of the maximum
capacitance value, a shape of the capacitance hot spot, the lower
left shadow area, the lower right shadow area, the hot spot area,
the position of the capacitance hot spot, the longitudinal span,
the resistivity, and the barycenter coordinate, whether the report
point matching the capacitance hot spot is the report point
generated by the ear, and a determining result is accurate. In an
example, the foregoing conditions have different priorities, and in
the foregoing sequence, the priorities rank in descending order.
Whether the foregoing conditions are met may be determined based on
descending priorities. When a condition of a higher priority is
met, a subsequent condition does not need to be determined. In this
case, a determining result is more accurate.
[0013] In a possible implementation, the method further includes:
when the first determining result, the second determining result,
and the third determining result of a first frame are all
"uncertain", storing a coordinate of the report point of the first
frame; and when it is determined, in a subsequent preset quantity
of frames, that the report point is the report point generated by
the odd-form touch, determining that the report point in the first
frame is the report point generated by the odd-form touch; or when
it is determined, in a subsequent preset quantity of frames, that
the report point is not the report point generated by the odd-form
touch, or when the first determining result, the second determining
result, and the third determining result in the subsequent preset
quantity of frames are all "uncertain", determining that the report
point in the first frame is not the report point generated by the
odd-form touch, and outputting the report point based on the
coordinate of the report point of the first frame. In this
implementation, in a process from tapping a screen to lifting a
finger by a user, capacitance hot spots are generated on a
capacitive touchscreen in several consecutive frames of a time
sequence. A shape of the capacitance hot spot continuously varies
with a contact area and a contact position of the finger. A process
from appearing to disappearing of the capacitance hot spot is
referred to as one lifecycle of the capacitance hot spot. One
lifecycle is corresponding to several consecutive frames of
capacitance hot spots. After a capacitance hot spot of a current
frame is obtained through calculation, a previous frame is searched
for each capacitance hot spot to determine whether a corresponding
capacitance hot spot can be found. If a matched capacitance hot
spot can be found, the capacitance hot spot of the current frame is
added to a lifecycle corresponding to the previous frame of the
capacitance hot spot for management. If no matched capacitance hot
spot is found, a new lifecycle is established, and the current
capacitance hot spot is added to the lifecycle. In other words, it
may be comprehensively determined, based on a determining result of
each frame in the lifecycle of the capacitance hot spot, whether
the report point corresponding to the capacitance hot spot is the
report point generated by the odd-form touch.
[0014] In a possible implementation, the capacitance hot spot set
includes a plurality of capacitance hot spots. Before the
determining, based on the at least one eigenvalue of the
capacitance hot spot, whether the report point is a report point
generated by an odd-form touch, the method further includes:
determining whether a current state is an odd-form state; and if
the current state is the odd-form state, determining that each
report point corresponding to each capacitance hot spot in the
plurality of capacitance hot spots is the report point generated by
the odd-form touch; or if the current state is not the odd-form
state, determining, based on the at least one eigenvalue of the
capacitance hot spot, whether the report point is the report point
generated by the odd-form touch; and when it is determined that the
report point is the report point generated by the odd-form touch,
switching the current state to the odd-form state. In this
implementation, an initial state value is set to a non-odd-form
state. When there are a plurality of capacitance hot spots, in
other words, there are a plurality of report spots, after it is
determined that one of the plurality of report spots is the report
point generated by the odd-form touch, the current state is
switched to the odd-form state, so that when it is determined
whether another report spot is the report point generated by the
odd-form touch, it may be directly determined, based on that the
current state is the odd-form state, that the report spot is the
report point generated by the odd-form touch, and feature detection
does not need to be performed on a capacitance hot spot
corresponding to the another report spot. Therefore, processing
resources of the terminal are effectively reduced, determining is
performed quickly, and user experience is good.
[0015] In a possible implementation, the performing feature
detention on a capacitance hot spot to determine at least one
eigenvalue of the capacitance hot spot includes; performing feature
detection on a capacitance hot spot that is in the capacitance hot
spot set of a second frame and that does not match a report point
in the report point set, to determine the at least one eigenvalue
of the capacitance hot spot, where the second frame is a frame that
meets a preset condition. In this implementation, feature detection
is performed on both the capacitance hot spot that can match the
report point and a capacitance hot spot that cannot match the
report point. Therefore, before the report point appears, whether
the report point corresponding to the capacitance hot spot is the
report point generated by the odd-form touch may be determined
through analysis. In this way, detection efficiency is
improved.
[0016] According to another aspect, an embodiment of the present
invention provides a terminal, and the terminal can implement a
function performed in a method design of the first aspect. The
function may be implemented by using hardware, or may be
implemented by hardware by executing corresponding software. The
hardware or software includes one or more modules corresponding to
the foregoing function.
[0017] In a possible desist, a structure of the terminal includes a
processor. The processor is configured to support the terminal in
performing a corresponding function in the first aspect. The
terminal may further include a capacitive touchscreen, and the
capacitive touchscreen is configured to generate a capacitance
signal. The terminal may further include a memory. The memory is
configured to be coupled to the processor, and store a program
instruction and data that are necessary for the terminal.
[0018] According to still another aspect, an embodiment of the
present invention provides an apparatus, where the apparatus may be
a chip, the chip may be disposed in a terminal, and the chip
includes a processor and an interface. The processor is configured
to support the chip in performing a corresponding function in the
method according to the first aspect. The interface is configured
to support the chip in communicating with another chip or another
network element. The chip may further include a memory. The memory
is configured to be coupled to the processor, and the memory stores
a program instruction and data that are necessary for the chip.
[0019] According to still another aspect, an embodiment of the
present invention provides a computer storage medium, configured to
store computer software instructions used by the foregoing
terminal. The computer storage medium contains a program designed
for executing the first aspect.
[0020] According to still another aspect, an embodiment of the
present invention provides a computer program product, including an
instruction. When the program is executed by a computer, the
instruction enables the computer to perform the function performed
by the terminal in a method design of the first aspect.
BRIEF DESCRIPTION OF DRAWINGS
[0021] FIG. 1 is a flowchart of a report point output control
method according to an embodiment of the present invention;
[0022] FIG. 2A and FIG. 2B are a schematic diagram of a capacitance
signal generated by a finger contacting a screen according to an
embodiment of the present invention;
[0023] FIG. 3 is a schematic diagram of some features of a
capacitance hot spot according to an embodiment of the present
invention;
[0024] FIG. 4 is a schematic diagram of a method for determining an
average shadow length according to an embodiment of the present
invention;
[0025] FIG. 5 is a schematic diagram of a method for determining a
shadow area according to an embodiment of the present
invention:
[0026] FIG. 6 is a schematic diagram of a comparison between
capacitance signals separately generated when a finger taps, and an
ear and a cheek touch a screen according to an embodiment of the
present invention;
[0027] FIG. 7A, FIG. 7B, and FIG. 7C are a flowchart of a report
point output control method according to an embodiment of the
present invention;
[0028] FIG. 8 is a structural diagram of a report point output
control apparatus according to an embodiment of the present
invention; and
[0029] FIG. 9 is a structural diagram of a terminal according to an
embodiment of the present invention.
DESCRIPTION OF EMBODIMENTS
[0030] The embodiments of the present invention provide a report
point output control method is provided. The method includes:
performing feature detection on a capacitance hot spot to determine
at least one eigenvalue of the capacitance hot spot; determining,
based on the at least one eigenvalue of the capacitance hot spot,
whether a report point matching the capacitance hot spot is a
report point generated by an odd-form touch, where the at least one
eigenvalue includes at least one of a horizontal span, a
longitudinal span, an eccentricity, a barycenter coordinate, a
maximum capacitance value, an upper shadow length, a lower shadow
length, a left shadow length, a right shadow length, an average
shadow length, an upper left shadow area, a lower right shadow
area, an upper right shadow area, and a lower left shadow area. One
or more of capacitance features such as a shape, a scale, a size,
an amplitude, a time-varying trend, and the like of a capacitance
data change at the bottom of a screen are processed, so that an
accidental touch is avoided without affecting a normal operation to
a greatest extent.
[0031] In an example, the capacitance features such as the shape,
the scale, the size, the amplitude, the time-varying trend, and the
like of the capacitance data change at the bottom of the screen may
be further comprehensively processed by using a coordinate location
generated by an operation gesture and a habit of a hand.
[0032] In an example, in each frame of a system, full-screen
capacitance and a report point coordinate value of the hot spot may
be reported. An algorithm may be used to calculate a capacitance
hot spot corresponding to each report point, and perform a series
of feature detection on the capacitance hot spot. If it is
identified, by using the algorithm, that the capacitance hot spot
is formed by a normal finger tapping, a corresponding report point
may be reported normally. If it is identified that the capacitance
hot spot is formed by an odd-form touch such as an ear or a check,
reporting of a corresponding report point is suppressed. It may be
understood that each frame is corresponding to a moment. The
touchscreen usually reports capacitance data at a fixed interval.
For example, the foregoing fixed interval is 8 ms. In addition,
capacitance hot spots may be corresponding to report spots in a
one-to-one manner. For example, if one capacitance hot spot is not
connected to another capacitance hot spot, there is only one report
spot. Alternatively, one capacitance hot spot may be corresponding
to a plurality of report spots. For example, when two fingers touch
the screen, or the ear or the cheek touches the screen, a plurality
of connected capacitance hot spots may be generated. In this case,
the capacitance hot spot may generate a plurality of report spots.
Alternatively, one capacitance hot spot may not be corresponding to
a report spot, for example, a capacitance hot spot generated
because of noise.
[0033] FIG. 1 is a flowchart of a report point output control
method according to an embodiment of the present invention. The
method may be performed but is not limited to being performed by a
mobile phone with a capacitive touchscreen, and the method includes
the following steps.
[0034] Step 101: Perform feature detection on a capacitance hot
spot to determine at least one eigenvalue of the capacitance hot
spot.
[0035] The at least one eigenvalue includes at least one of a
horizontal span, a longitudinal span, an eccentricity, a barycenter
coordinate, a maximum capacitance value, an upper shadow length, a
lower shadow length, a left shadow length, a right shadow length,
an average shadow length, an upper shadow area, a lower right
shadow area, an upper right shadow area, and a lower left shadow
area.
[0036] It may be understood that, in this embodiment of the present
invention, another eigenvalue such as a hot spot area of the
capacitance hot spot may be further determined.
[0037] In an example, before step 101, the capacitance hot spot may
be first matched against the report spot. A matching process may
include: obtaining each frame of full-screen capacitance signals
and a coordinate value of each report point in a report point set,
where the report point set includes at least one report point;
determining a capacitance hot spot set on a screen based on the
full-screen capacitance signals, where the capacitance hot spot set
includes at least one capacitance hot spot; and matching the report
point in the report point set against the capacitance hot spot in
the capacitance hot spot set, to determine report point information
corresponding to the capacitance hot spot. In this implementation,
the capacitance hot spot is first matched against a report spot,
and then feature detection is performed on a successfully matched
capacitance hot spot, so as to determine, based on the at least one
eigenvalue of the capacitance hot spot, whether to output the
report spot matching the capacitance hot spot. This embodiment is
for a specific scenario, namely, a scenario in which the
capacitance hot spot and the report point can be determined based
on one-frame of full-screen capacitance signals. It may be
understood that there is another scenario. For example, the
capacitance hot spot can be determined but the report point is not
determined based on the one-frame of full-screen capacitance
signals, or neither the capacitance hot spot nor the report point
is determined based on the one-frame of full-screen capacitance
signals.
[0038] The determining a capacitance hot spot set on a screen based
on the full-screen capacitance signals may include: determining at
least one maximum value of the capacitance signals on the screen
based on the full-screen capacitance signals; starting flooding
from a capacitance grid corresponding to each maximum value, and
adding a capacitance grid whose capacitance signal is greater than
a first capacitance threshold to a first flooding area of the
capacitance hot spot; and starting flooding from the capacitance
grid corresponding to each maximum value, and adding a capacitance
grid whose capacitance is greater than a second capacitance
threshold to a second flooding area of the capacitance hot spot,
where the first capacitance threshold is greater than the second
capacitance threshold, where each capacitance hot spot includes one
first flooding area and one second flooding area. In this
implementation a manner of determining the capacitance hot spot is
provided. It may be understood that only one capacitance hot spot
may be determined, and in this case, the capacitance hot spot set
includes one capacitance hot spot. Alternatively, a plurality of
capacitance hot spots may be determined, and in this case, the
capacitance hot spot set includes a plurality of capacitance hot
spots. Each capacitance hot spot includes two areas of different
sizes. A smaller area is the first flooding area, and a larger area
is the second flooding area. This embodiment is for a specific
scenario, namely, a scenario in which the capacitance hot spot can
be determined based on one frame of full-screen capacitance
signals. It may be understood that there is another scenario. For
example, the capacitance hot spot is not determined based on the
one frame of full-screen capacitance signals. In this case, there
is no maximum value for the capacitance signals on the screen. In
addition, it should be noted that, when there is a plurality of
maximum values for the capacitance signals on the screen, the
plurality of maximum values may be sorted in descending order. The
capacitance hot spot is determined based on each maximum value in
the order. When a capacitance grid corresponding to another maximum
value falls within a range of the capacitance hot spot, the
capacitance hot spot does not need to be determined based tin the
another maximum value. In other words, one maximum value may be
corresponding to one capacitance hot spot, or a plurality of
maximum values may be corresponding to one capacitance hot
spot.
[0039] Based on the flooding area and the second flooding area of
the determined capacitance hot spot, in step 101, the at least one
eigenvalue of the capacitance hot spot may be determined but is not
limited to being determined in the following manner. The horizontal
span is a horizontal span of the first flooding area of the
capacitance hot spot. The longitudinal span is a longitudinal span
of the first flooding area of the capacitance hot spot, it may be
preset that in a portrait mode, a horizontal direction of a screen
is a latitude direction, and a vertical direction is a longitude
direction. A span unit may be but is not limited to one capacitance
grid. The eccentricity is an eccentricity of an ellipse obtained by
fitting the first flooding area of the capacitance hot spot. The
barycenter coordinate is a barycenter coordinate of the first
flooding area of the capacitance hot spot. The maximum capacitance
value is a maximum capacitance value in the first flooding area of
the capacitance hot spot. A part in the second flooding area that
does not belong to the first flooding area is referred to as a
shadow. The upper shadow length is a length of the second flooding
area at an upper position of the first flooding area in the
longitudinal direction. For example, a vector including a quantity
of capacitance grids at an upper position of the second flooding
area of each capacitance grid in the longitudinal direction at a
widest part of the first flooding area in the horizontal direction
is determined as the upper shadow length. The lower shadow length
is a length of the second flooding area at a lower position of the
first flooding area in the longitudinal direction. For example, a
vector including a quantity of capacitance grids at a lower
position of the second flooding area of each capacitance grid in
the longitudinal direction at a widest part of the first flooding
area in the horizontal direction is determined as the lower shadow
length. The left shadow length is a length of the second flooding
area at a left position of the first flooding area in the
horizontal direction. For example, a vector including a quantity of
capacitance grids at a left position of the second flooding area in
the horizontal direction of each capacitance grid at a widest part
of the first flooding area in the longitudinal direction is
determined as the left shadow length. The right shadow length is a
length of the second flooding area at a right position of the first
flooding area in the horizontal direction. For example, a vector
including a quantity of capacitance grids at a right position of
the second flooding area in the horizontal direction of each
capacitance grid at a widest part of the first flooding area in the
longitudinal direction is determined as the right shadow length.
The average shadow length is an average value of the upper shadow
length, the lower shadow length, the left shadow length, and the
right shadow length. For example, vector elements of the upper
shadow length, the lower shadow length, the left shadow length, and
the right shadow length are first added to obtain a first length,
then a quantity of capacitance grids at a widest part of the first
flooding area in the horizontal direction and a quantity of
capacitance grids at a widest pan of the first flooding area in the
longitudinal direction are added, and then a sum is multiplied by 2
to obtain a second length, and next the first length is divided by
the second length to obtain the average shadow length. The upper
left shadow area is an area of the second flooding area at an upper
left position of the first flooding area of the capacitance hot
spot, for example, a quantity of capacitance grids at the upper
left position of the first flooding area in the second flooding
area. The lower right shadow area is an area of the second flooding
area at a lower right position of the first flooding area of the
capacitance hot spot, for example, a quantity of capacitance grids
at the lower right position of the first flooding area in the
second flooding area. The upper right shadow area is an area of the
second flooding area at an upper right position of the first
flooding area of the capacitance hot spot, for example, a quantity
of capacitance grids at the upper right position of the first
flooding area in the second flooding area. The lower left shadow
area is an area of the second flooding area at a lower left
position of the first flooding area of the capacitance hot spot,
for example, a quantity of capacitance grids at the lower left
position of the first flooding area in the second flooding area. In
this implementation, a possible manner of defining the at least one
eigenvalue is provided. It may be understood that the at least one
eigenvalue may be further defined in another manner. This is not
limited in this embodiment of the present invention.
[0040] In addition, the hot spot area may be further defined as a
quantity of capacitance grids in a first flooding area of one
capacitance hot spot.
[0041] In another example, before step 101, the capacitance hot
spot does not need to be matched against the report spot. In step
101, feature detection may be performed on each capacitance hot
spot to determine at least one eigenvalue of the capacitance hot
spot. In other words, when there is a capacitance hot spot appears
but there is no report spot of a second frame, feature detection
may still be performed on the capacitance hot spot, and whether a
report point is reported in a third frame is determined based on a
feature detection result of the second frame. It may be understood
that the second frame and the third frame are frames that meet a
preset condition. For example, the preset condition may be used to
determine that the second frame and the third frame are included in
a touch process.
[0042] Step 102: Determine, based on the at least one eigenvalue of
the capacitance hot spot, whether a report point matching the
capacitance hot spot is a report point generated by an odd-form
touch.
[0043] In an example, step 102 includes: determining, based on the
at least one eigenvalue of the capacitance hot spot, whether the
report point matching the capacitance hot spot is a report point
generated by a strong cheek, where a determining result includes
"strong cheek", "non-strong cheek", and "uncertain"; determining,
based on the at least one eigenvalue of the capacitance hot spot,
whether the report point matching the capacitance hot spot is a
report point generated by a weak cheek, where a determining result
includes "weak cheek", "non-weak cheek", and "uncertain";
determining, based on the at least one eigenvalue of the
capacitance hot spot, whether the report point matching the
capacitance hot spot is a report point generated by an ear, where a
determining result includes "ear", "non-ear", and "uncertain"; and
when the first determining result is "strong cheek", or when the
second determining result is "weak cheek", or when the third
determining result is "ear", determining that the report point is
the report point generated by the odd-form touch; or when the first
determining result is "non-strong cheek", the second determining
result is "non-weak cheek", and the third determining result is
"non-ear", determining that the report point is not the report
point generated by the odd-form touch. In this implementation, the
odd-form touch is pre-divided into three types: "strong cheek",
"weak cheek", and "ear". By separately determining whether the
capacitance hot spot meets a feature of the strong cheek,
determining whether the capacitance hot spot meets a feature of the
weak cheek, and determining whether the capacitance hot spot meets
a feature of the ear, it is comprehensively determined, with
reference to the three determining results, whether the report
point matching the capacitance hot spot is the report point
generated by the odd-form touch, and therefore a determining result
is accurate. A relationship between the three determining results
the strong cheek, the weak cheek, and the ear and the final
determining result may be but is not limited to Table 1.
TABLE-US-00001 TABLE 1 Whether the report point matching the
capacitance hot spot is the report point generated by an Strong
cheek Weak cheek Ear odd-form touch Single Yes x x Yes determining
result Single x Yes x Yes determining result Single x x Yes Yes
determining result Single No No No No determining result Single
Uncertain No No Uncertain determining result Single No Uncertain No
Uncertain determining result Single No No Uncertain Uncertain
determining result Single Uncertain Uncertain No Uncertain
determining result Single Uncertain No Uncertain Uncertain
determining result Single No Uncertain Uncertain Uncertain
determining result Single Uncertain Uncertain Uncertain Uncertain
determining result
[0044] In Table 1, ".asterisk-pseud." represents any value. In
other words, when the first determining result is "strong cheek",
regardless of a value of the second determining result and a value
of the third determining result, it is determined that the report
point corresponding to the capacitance hot spot is the report point
generated by the odd-form touch. When the second determining result
is "weak cheek", regardless of a value of the first determining
result and a value of the third determining result, it is
determined that the report point corresponding to the capacitance
hot spot is the report point generated by the odd-form touch. When
the third determining result is "ear", regardless of a value of the
first determining result and a value of the second determining
result, it is determined that the report point corresponding to the
capacitance hot spot is the report point generated by the odd-form
touch. When the first determining result, the second determining
result, and the third determining result are all "no", it is
determined that the report point corresponding to the capacitance
hot spot is not the report point generated by the odd-form touch.
When the first determining result, the second determining result,
and the third determining result each include only "uncertain" and
"no", or are all "uncertain", a determining result of whether the
report point corresponding to the capacitance hot spot is the
report point generated by the odd-form touch is also
"uncertain".
[0045] The at least one eigenvalue further includes a hot spot
area, and the hot spot area is a quantity of capacitance grids in
the first flooding area of the capacitance hot spot. The
determining, based on the at least one eigenvalue of the
capacitance hot spot, whether the report point matching the
capacitance hot spot is a report point generated by a strong cheek
may include: when the hot spot area is less than a first area
threshold, determining that the report point matching the
capacitance hot spot is a report point generated by a non-strong
cheek; or when the longitudinal span is greater than a first
longitudinal span threshold, or when the average shadow length is
greater than a first length threshold, or when the horizontal span
is less than a first horizontal span threshold and the longitudinal
span is greater than a second longitudinal span threshold,
determining that the report point matching the capacitance hot spot
is the report point generated by the strong cheek; or when the
average shadow length is greater than a second length threshold,
determining that a result is "uncertain"; or when none of the
foregoing conditions is met, determining that the report point
matching the capacitance hot spot is a report point generated by a
non-strong cheek. In this implementation, it may be determined, by
using one or more of the hot spot area, the longitudinal span, the
average shadow length, and the horizontal span, whether the report
point matching the capacitance hot spot is the report point
generated by the strong cheek, and a determining result is
accurate. In an example, the foregoing conditions have different
priorities, and in the foregoing sequence, the priorities rank in
descending order. Whether the foregoing conditions are met may be
determined in descending order of priorities. When a condition of a
higher priority is met, a subsequent condition does not need to be
determined. In this case, a determining result is more
accurate.
[0046] The determining, based on the at least one eigenvalue of the
capacitance hot spot, whether the report point matching the
capacitance hot spot is a report point generated by a weak cheek
may include: when the maximum capacitance value is greater than or
equal to a third capacitance threshold, or when the capacitance hot
spot is attached to an upper edge of a screen and the longitudinal
span is less than or equal to a third longitudinal span threshold,
determining that the report point matching the capacitance hot spot
is a report point generated by a non-weak cheek; or when the hot
spot area is greater than or equal to a second area threshold, or
when the longitudinal span is great than or equal to a fourth
longitudinal span threshold and the horizontal span is greater than
or equal to a second horizon span threshold, determining that the
report point matching the capacitance hot spot is report point
generated by the weak cheek; or when the hot spot area is greater
than equal to a third area threshold, or when the longitudinal span
is greater than or equal to a fifth longitudinal span threshold,
determining that a result is"uncertain"; or when none of the
foregoing conditions is met, determining that the report point
matching the capacitance hot spot is a report point generated by a
non-weak cheek. In this implementation, it may be determined, by
using one or more of the maximum capacitance value, a position of
the capacitance hot spot, the longitudinal span, the hot spot area,
and the horizontal span, whether the report point matching the
capacitance hot spot is the report point generated by the weak
cheek, and a determining result is accurate, in an example, the
foregoing conditions have different priorities, and in the
foregoing sequence, the priorities rank in descending order.
Whether the foregoing conditions may be determined in descending
order of priorities. When a condition of a higher priority is met,
a subsequent condition does not need to be determined In this case,
a determining result is more accurate.
[0047] The determining, based on the at least one eigenvalue of the
capacitance hot spot, whether the report point matching the
capacitance hot spot is a report point generated by an ear may
include: when the maximum capacitance value is less than a fourth
capacitance threshold, determining that the report point matching
the capacitance hot spot is a report point generated by a non-ear;
or when an axial direction of a major axis of the ellipse obtained
by fitting the first flooding area of the capacitance hot spot is
lower right, and the lower left shadow area is greater than or
equal to a fourth area threshold, or when an axial direction of a
major axis of the ellipse obtained from the first flooding area of
the capacitance hot spot is lower left, and the lower right shadow
area is greater than or equal to a fifth area threshold,
determining that the report point matching the capacitance hot spot
is the report point generated by the ear; or when the hot spot area
is less than a sixth area threshold, or when the capacitance hot
spot is attached to the upper edge of the screen and the
longitudinal span is less than or equal to a sixth longitudinal
span threshold, determining that the report point matching the
capacitance hot spot report point generated by a non-ear; or when
the resistivity is greater than a first resistivity threshold and a
vertical coordinate in the barycenter coordinate is greater than a
first coordinate threshold, determining that the report point
matching the capacitance hot spot is the report point generated by
the ear; or when the resistivity is greater than a second
resistivity threshold, determining that a result is "uncertain"; or
when none of the foregoing conditions is met, determining that the
report point matching the capacitance hot spot is a report paint
generated by a non-ear. In this implementation, it may be
determined, by using one or more of the maximum capacitance value,
a shape of the capacitance hot spot, the lower left shadow area,
the lower right shadow area, the hot spot area, the position of the
capacitance hot spot, the longitudinal span, the resistivity, and
the barycenter coordinate, whether the report point matching the
capacitance hot spot is the report point generated by the ear, and
a determining result is accurate. In an example, the foregoing
conditions have different priorities, and in the foregoing
sequence, the priorities rank in descending order. Whether the
foregoing conditions are met may be determined in descending order
of priorities. When a condition of a higher priority is met, a
subsequent condition does not need to be determined. In this case,
a determining result is more accurate.
[0048] In an example, the method further includes: when the first
determining result, the second determining result, and the third
determining result of a first frame are all "uncertain", storing a
coordinate of the report point of the first frame; and when it is
determined, in a subsequent preset quantity of frames, that the
report point is the report point generated by the odd-form touch,
determining that the report point in the first frame is the report
point generated by the odd-form touch; or when it is determined, in
a subsequent preset quantity of frames, that the report point is
not the report point generated by the odd-form touch, or when the
first determining result, the second determining result, and the
third determining result in the subsequent preset quantity of
frames are all "uncertain", determining that the report point in
the first frame is not the report point generated by the odd-form
touch, and outputting the report point based on the coordinate of
the report point of the first frame. In this implementation, in a
process from tapping a screen to lifting a finger by a user,
capacitance hot spots are generated on a capacitive touchscreen in
several consecutive frames of a time sequence. A shape of the
capacitance hot spot continuously varies with a contact area and a
contact position the finger. A process from appearing to
disappearing of the capacitance hot spot referred to as one
lifecycle of the capacitance hot spot. One lifecycle is correspond
several consecutive frames of capacitance hot spots. After a
capacitance hot spot of a current frame is obtained through
calculation, a previous frame is searched for each capacitance hot
spot to determine whether a corresponding capacitance hot spot can
be found. If a matched capacitance hot spot can be found, the
capacitance hot spot of the current frame is added to a lifecycle
corresponding to the previous frame of the capacitance hot spot for
management. If no matched capacitance hot spot is found, a new
lifecycle is established, and the current hot spot is added to the
lifecycle. In other words, it may be comprehensively determined,
based on a determining result of each frame in the lifecycle of the
capacitance hot spot, whether the report point corresponding to the
capacitance hot spot is the report point generated by the odd-form
touch.
[0049] In an example, the capacitance hot spot set includes a
plurality of capacitance hot spots. The method in step 102 may be
used to separately determine whether a report point corresponding
to each capacitance hot spot in the plurality of capacitance hot
spots is the report point generated by the odd-form touch, or after
it is determined that the report point corresponding to the
capacitance hot spot is the report point generated by the odd-form
touch, it is determined that report points corresponding to other
undetermined capacitance hot spots are all report points generated
by an odd-form touch. For example, before step 102, it is
determined whether a current state is an odd-form state; and if the
current state is the odd-form state, it is determined that a report
point corresponding to each capacitance hot spot in the plurality
of capacitance hot spots is the report point generated by the
odd-form touch; or if the current state is not the odd-form state,
it is determined, based on the at least one eigenvalue of the
capacitance hot spot, whether the report point is the report point
generated by the odd-form touch; and when it is determined that the
report point is the report point generated he odd-form touch, the
current state is switched to the odd-form state. In this
implementation, an initial state value is set to a non-odd-form
state. When there are a plurality of capacitance hot spots, in
other words, there are a plurality of report spots, after it is
determined that one of the plurality of report spots is the report
point generated by the odd-form touch, the current state is
switched to the odd-form state, so that when it is determined
whether another report spot is the report point generated by the
odd-form touch, it may be directly determined, based on that the
current state is the odd-form state, that the report spot is the
report point generated by the odd-form touch, and feature detection
does not need to be performed on a capacitance hot spot
corresponding, to the another report spot. Therefore, processing
resources of the terminal are effectively reduced, determining is
performed quickly, and user experience is good.
[0050] Step 103: If it is determined that the report point is the
report point generated by the odd-form touch, skip outputting the
report point.
[0051] In this embodiment of the present invention, it is
determined, on the at least one eigenvalue of the capacitance hot
spot, whether the report point matching the capacitance hot spot is
the report point generated by the odd-form touch. The at least one
eigenvalue includes the at least one of the horizontal span, the
longitudinal span, the eccentricity, the barycenter coordinate, the
maximum capacitance value, the upper shadow length, the lower
shadow length, the left shadow length, the right shadow length, the
average shadow length, the upper left shadow area, the lower right
shadow area, the upper right shadow area, and the lower left shadow
area. The one or more of the capacitance features such as the
shape, the scale, the size, the amplitude, the time-varying trend,
and the like of the capacitance data change at the bottom of the
screen are processed, so that an accidental touch is avoided
without affecting a normal operation to a greatest extent.
[0052] The following more specifically describes the report point
output control method provided in the present invention by using an
embodiment.
[0053] This embodiment of the present invention is mainly applied
to a capacitive touchscreen. It is determined, by using a series of
features of the capacitance hot spot corresponding to the report
point, whether the report point is caused by the odd-form touch,
and output of the report point caused by the odd-form touch is
suppressed. The method is mainly divided into three parts:
capacitance hot spot calculation, hot spot feature extraction, and
odd-form determining.
[0054] Part 1; Capacitance hot spot calculation:
[0055] FIG. 2A and FIG. 2B are a schematic diagram of a capacitance
signal generated by a finger contacting a screen according to an
embodiment of the present invention. For a mobile phone, a form of
capacitance gnats of an entire screen is a matrix. Each element in
the matrix is corresponding to a capacitance grid at a
corresponding position on the capacitive touchscreen. Data of the
element represents a capacitance value (strength of the capacitance
signal) in the region. Referring to FIG. 2A and FIG. 2B, a
capacitance value in a region that is not in contact with a finger
on the screen is 0, and a capacitance value in a region that is in
contact with a finger on the screen is not 0. In other words, a
capacitance signal in a region that is in contact with a human body
on the screen is relatively strong, and signals in other regions on
the screen are relatively weak. The processor may obtain
capacitance signals of an entire screen based on a fixed frequency,
and calculate, based on the capacitance signal, whether a report
point and a coordinate position of each report point need to be
output. It may be understood that the processor may calculate the
report point by using any one of existing methods. Details are not
described herein. First, a flooding algorithm is used to calculate
all the capacitance hot spots on the screen, and the report spots
are matched with the capacitance hot spots. The capacitance hot
spot needs to meet a series of conditions to generate the report
point. Therefore, not all the capacitance hot spots can find a
corresponding report point. It may be understood that each frame of
TP may report capacitance data. The processor calculates the
capacitance hot spot, and then calculates the report spot based on
the capacitance hot spot. In the report point output control method
provided in this embodiment of the present invention, determining
the report point and determining the capacitance hot spot may be
considered as two independent processes. Although in the process of
determining the report, the capacitance hot spot may also he
determined, in this embodiment of the present invention, in a
process of determining the odd-form touch, the capacitance hot spot
may also be, calculated, and a calculation manner may be different
from a manner of determining the capacitance hot spot in a process
of determining the report point. Therefore, the capacitance hot
spot and the report point need to be matched, for example, a
capacitance hot spot of an odd-form calculation and a report point
coordinate that is output by using a TP algorithm are matched.
[0056] The flooding algorithm is based on a breadth first search.
First, a maximum value of all capacitance signals needs to be
calculated (a capacitance signal greater than eight adjacent
lattices, and a capacitance signal outside the screen is considered
as a negative infinity), and then flood is started from a maximum
value. In a process of the breadth first search, a fixed threshold
may be used for determining. An obtained capacitance grid may be
added to a current region provided that the capacitance signal is
greater than a fixed threshold.
[0057] After the breadth first search ends, the report point is
matched with the capacitance hot spot, namely, a correspondence is
established between a report point and a capacitance hot spot. For
example, if a report point falls into a capacitance hot spot, it is
considered that the report point a report point corresponding to
the capacitance hot spot.
[0058] In a process in which a user taps a screen and lifts a
finger, capacitance hot spots are generated on a capacitive
touchscreen in several consecutive frames of a time sequence. A
shape of the capacitance hot spot continuously varies with a
contact area and a contact position of the finger. In this
embodiment of the present invention, a process from appearing to
disappearing of the capacitance hot spot is referred to as a
lifecycle of the capacitance hot spot. One lifecycle is
corresponding to several consecutive frames of capacitance hot
spots. After a capacitance hot spot of a current frame is obtained
through calculation, a corresponding capacitance hot spot is
searched for each capacitance hot spot in a previous frame. If a
matched capacitance hot spot can be found, the capacitance hot spot
of the current frame is added to a lifecycle corresponding to the
previous frame of the capacitance hot spot for management. If no
matched capacitance hot spot is found, a new lifecycle is
established, and the current capacitance hot spot is added to the
lifecycle.
[0059] In an example, when a local maximum value of the capacitance
is used as a center to calculate the capacitance hot spot, two
different thresholds may be used to calculate two capacitance hot
spots with different sizes. A capacitance hot spot area calculated
by using a high threshold is referred to as a first flooding area,
and a capacitance hot spot area calculated by using a low threshold
is referred to as a second flooding area.
[0060] Part 2; Capacitance hot spot extraction;
[0061] Capacitance signals generated by pressing the capacitive
touchscreen with a finger may be an approximate ellipse. A main
idea of the algorithm is to determine, by setting a series of
feature detection, whether a capacitance hot spot corresponding to
a report point meets a feature of a normal report point. If a
capacitance hot spot corresponding to a report point does not meet
the feature of the normal report point, the report point is
determined as an odd-form. Related features are as follows
(referring to FIG. 3, FIG 4, and FIG 5):
[0062] (1) Hot spot area S: a quantity of capacitance grids in the
first flooding area of the capacitance hot spot.
[0063] As shown in FIG 3. a white oval area at the center of the
figure is the first flooding area, and a quantity of capacitance
grids in the area is the hot spot area. The white oval area and a
circle of gray area around the white oval area are the second
flooding area, and the foregoing circle of gray area is a hot spot
shadow. The first flooding area formed by finger pressing is an
approximate ellipse, a major axis of the ellipse is marked as 2a,
and a minor axis of the ellipse is marked as 2b.
[0064] For example, as shown in FIG. 4, a dark color pan in the
center is the first flooding area, and a quantity of capacitance
grids in the area is 9, namely, the hot spot area is 9.
[0065] (2) Horizontal span xSpan: a span of the first flooding area
of the capacitance hot spot in a horizontal direction.
[0066] In an example, in a portrait mode, a horizontal direction of
the screen is latitude, and a vertical direction of the screen is
longitude.
[0067] For example, as shown in FIG. 4, a horizontal span is 3.
[0068] (3) Longitudinal span y.sup.Span: a span of the first
flooding area of the capacitance hot spot in a longitudinal
direction.
[0069] In an example, in a portrait mode, a horizontal direction of
the screen is latitude, and a vertical direction of the screen is
longitude.
[0070] For example, as shown in FIG. 4, a longitudinal span is
4.
[0071] (4) Major axis major: a major axis of the ellipse obtained
from the first flooding area of the capacitance hot spot.
[0072] (5) Minor axis minor: a minor axis of the ellipse obtained
from the first flooding area of the capacitance hot spot.
[0073] For example, as shown in FIG. 3, a length of the major axis
is 2a, and a length of the minor axis is 2b.
[0074] (6) Eccentricity e, an eccentricity of the ellipse obtained
from the first flooding area of the capacitance hot spot.
[0075] A normal algorithm may be used to calculate the eccentricity
of the ellipse. Details are not described herein.
[0076] (7) Barycenter coordinate Gx, Gy: a barycenter coordinate of
the first flooding area of the capacitance hot spot.
[0077] A normal algorithm may be used to calculate the barycenter
coordinate. Details are not described herein.
[0078] (8) Maximum capacitance value maxCapacity: a maximum
capacitance value in the first flooding area of the capacitance hot
spot.
[0079] (9) Average shadow length avgShadowLength: an average shadow
length around the first flooding area of the capacitance hot
spot.
[0080] The average shadow length is an average value of an upper
shadow length, a lower shadow length, a left shadow length, and a
right shadow length.
[0081] A part in the second flooding area that does not belong to
the first flooding area is referred to as a hot spot shadow. The
upper shadow length is a length of the second flooding area at an
upper position of the first flooding area in the longitudinal
direction, for example, a vector including a quantity of
capacitance grids at an upper position of the second flooding area
in the longitudinal direction of each capacitance grid at a widest
part of the first of flooding area in the horizontal direction is
determined as the upper shadow length; the lower shadow length is a
length of the second flooding area at a lower position of the first
flooding area in the longitudinal direction, for example, a vector
including a quantity of capacitance grids at a lower position of
the second flooding area in the longitudinal direction of each
capacitance grid at a widest part of the first flooding area in the
horizontal direction is determined as the lower shadow length; the
left shadow length is a length of the second flooding area at a
left position of the first flooding area in the horizontal
direction, for example, a vector including a quantity of
capacitance grids at a left position of the second flooding area in
the horizontal direction of each capacitance grid at a widest part
of the first flooding area in the longitildinal direction is
determined as the left shadow length; the right shadow length is a
length of the second flooding area at a right position of the first
flooding area in the horizontal direction, for example, a vector
including a quantity of capacitance grids at a right position of
the second flooding area in the horizontal direction of each
capacitance grid at a widest part of the first flooding area in the
longitudinal direction is determined as the right shadow
length.
[0082] When the average shadow length is determined, vector
elements of the upper shadow length, the lower shadow length, the
left shadow length, and the right shadow length may be summed up to
obtain a first length, then a quantity of capacitance grids at a
widest part of the first flooding area in the horizontal direction
and a quantity of capacitance grids at a widest part of the first
flooding area in the longitudinal direction are summed up, then is
multiplied by 2, to obtain a second length, and the first length is
divided by the second length to obtain the average shadow
length.
[0083] Referring to FIG. 4, a dark color area in the figure is the
first flooding area, the dark color area and a light color area are
the second flooding area. Upper shadow lengths are 1, 1, 1; lower
shadow lengths are 1, 1, 1; left shadow lengths are 2, 2, 2, 2;
right shadow lengths are 1, 1, 1, 1; and the average shadow length
is 18/14=1.29.
[0084] (10 ) Upper/Lower shadow area shadowS: an upper shadow area
upShadowS of the first flooding area of the capacitance hot spot
and a lower shadow area downShadowS.
[0085] When the upper shadow area is determined, an extension line
may be drawn upward from an edge at a widest part of the first
flooding area in the horizontal direction, and a quanity of
capacitance grids of a hot spot shadow surrounded by extension
lines of two edges is used as the upper shadow area. When the lower
shadow area is determined, an extension line may be drawn downward
from an edge at a widest part of the first flooding area in the
horizontal direction, and a quantity of capacitance grids of a hot
spot shadow surrounded by extension lines of two edges is used as
the lower shadow area.
[0086] In this embodiment of the present invention, the upper left
shadow area (a shadow area at the upper left), the lower right
shadow area (a shadow area at the lower right), the upper right
shadow area (a shadow area at the upper right), and the lower
shadow area (a shadow area at the lower left) are further included.
The upper left shadow area is an area of the second flooding area
at an upper left position of the first flooding area of the
capacitance hot spot, for example, a quantity of capacitance grids
at an upper left position of the first flooding area in the second
flooding area. When the upper left shadow area is determined, an
extension lines may be drawn towards the left from an upper edge of
the first flooding area, an extension line may be drawn upward from
a left edge of the first flooding area, and a quantity of
capacitance grids of a hot spot shadow surrounded by extension
lines of two edges is used as the upper left shadow area. The lower
right shadow area is an area of the second flooding area at a lower
right position of the first flooding area of the capacitance hot
spot, for example, a quantity of capacitance grids at a lower right
position of the first flooding area in the second flooding area.
When the lower right shadow area is determined, an extension line
may be drawn towards the right from a lower edge of the first
flooding area, an extension line may be drawn downward from a right
edge of the first flooding area, and a quantity of capacitance
grids of a hot spot shadow surrounded by extension lines of two
edges is used as the lower right shadow area. The upper right
shadow area is an area of the second flooding area at an upper
right position of the first flooding area of the capacitance hot
spot, for example, a quantity of capacitance grids at an upper
right position of the first flooding area in the second flooding
area. When the upper right shadow area is determined, an extension
line may be drawn towards the right from an upper edge of the first
flooding area, an extension line may be drawn upward from a right
edge of the first flooding area and a quantity of capacitance grids
of a hot spot shadow surrounded by extension lines of two edges is
used as the upper right shadow area. The lower left shadow area is
an area of the second flooding area at a lower left position of the
first flooding area of the capacitance hot spot, for example, a
quantity of capacitance grids at a lower left position of the first
flooding area in the second flooding area. When the lower left
shadow area is determined, an extension line may be drawn towards
the left from a lower edge of the first flooding area, an extension
line may be drawn downward from a left edge of the first flooding
area, and a quantity of capacitance grids of a hot spot shadow
surrounded by extension lines of two edges is used as the lower
left shadow area.
[0087] Referring to FIG. 5, a dark color area in the figure is the
first flooding area, the dark color area and a light color area are
the second flooding area. The upper left shadow area is 1, the
upper right shadow area is 7, the lower left shadow area is 1, the
lower right shadow area is 0, the upper shadow area is 4, and the
lower shadow area is 3.
[0088] Part 3: Odd-form determining:
[0089] When a finger, a cheek, and an ear touch the screen,
different capacitance signals may be generated. For example, FIG. 6
is a diagram of a comparison between capacitance signals separately
generated when the finger, and the cheek and the ear touch the
screen, where a left part is capacitance signals generated when the
finger taps the screen, and a right part is capacitance signals
generated when the cheek and the ear touch the screen. In this
embodiment of the present invention, a series of feature conditions
are determined for capacitance hot spots of each frame. After the
conditions are determined, the capacitance hot spot may be
determined as the following types:
[0090] Touch: a normal tap.
[0091] StrongFace: a strong cheek. A capacitance signal generated
when a check sticks on a screen during a call.
[0092] WeakFace: a weak cheek. A capacitance signal generated when
a check touches a screen from time to time during a call.
[0093] Ear: an ear. A capacitance signal generated when an ear
touches a screen during a call.
[0094] Uncertain: uncertain. A finger or an odd form cannot be
determined.
[0095] In each frame, if the capacitance hot spot is determined as
Touch, a corresponding report point may be reported. The report
point is not determined when the report is started. If the
capacitance hot spot is determined as StrongFace, Weak Face, or
Ear, a corresponding report point is suppressed. After the
suppression is started, the report point is not determined. If the
capacitance hot spot is determined as Uncertain, the report point
is temporarily suppressed, and the capacitance hot spot is
continued to be determined in several subsequent frames. If the
capacitance hot spot is determined as a normal tap or an odd form
in several frames that are allowed to be put off, the report point
is reported or suppressed. If a type the capacitance hot spot is
not determined in the several frames that are allowed to be put
off, the report point is reported.
[0096] Determining conditions of the strong cheek: Check whether a
capacitance hot spot is the strong cheek by using the following
conditions. If it is identified that the capacitance hot spot is
the strong cheek or the non-strong cheek, no subsequent determining
is performed: or if it is not identified that the capacitance hot
spot is the strong cheek or the non-strong cheek, all cheeks are
performed. In implementation, only a few of the conditions may be
used for determining.
[0097] S<S_threshold_strong: non-strong cheek. S is a hot spot
area, and S_threshold_strong is a first area threshold. In other
words, when the hot spot area is less than the first area
threshold, it is determined that a report point matching the
capacitance hot spot is a report point generated by the non-strong
cheek.
[0098] ySpan>ySpan_threhold_strong_max: strong cheek. ySpan is a
longitudinal span, and ySpan_threshold_strong_max is a first
longitudinal span threshold. In other words, when the longitudinal
span is greater than the first longitudinal span threshold, it is
determined that the report point matching the capacitance hot spot
is report point generated by the strong cheek.
[0099] avgShadowLength>avgShadowLength_threshold_strong: strong
cheek. avgShadowLength is an average shadow length, and
avgShadowLength_threshold_strong is a first length threshold. In
other words, when the average shadow length is greater than the
first length threshold, it is determined that the report point
matching the capacitance hot spot is a report point generated by
the strong cheek.
[0100] xSpan<xSpan_threshold_strong and
ySpan>ySpan_threshold_strong: strong cheek. xSpan is a
horizontal span, xSpan_threshold_strong is a first horizontal span
threshold, ySpan is a longitudinal span, and ySpan_threshold_strong
is a second longitudinal span threshold. In other words, when the
horizontal span is less than the first horizontal span threshold
and the longitudinal span is greater than the second longitudinal
span threshold, it is determined that the report point matching the
capacitance hot spot is a report point generated by the strong
cheek.
[0101]
avgShadowLength>avgShadowLength_threshold_strong_uncertain:
uncertain, avgShadowLength is an average shadow length, and
avgShadowLength_threshold_strong_uncertain is a second length
threshold. In other words, when the average shadow length is
greater than the second length threshold, a determining result is
uncertain.
[0102] If none of the foregoing conditions is met, the capacitance
hot spot area is determined as the non-strong cheek. In other
words, when none of the foregoing conditions is met, it is
determined that the report point matching the capacitance hot spot
is a report point generated by the non-strong cheek.
[0103] Determining conditions of the weak cheek: Check whether a
capacitance hot spot is the weak cheek by using the following
conditions in an algorithm. If it is identified that the
capacitance hot spot is the weak cheek or the non-weak. cheek, no
subsequent determining is performed; or if it is not identified
that the capacitance hot spot is the weak cheek or the non-weak
cheek, all cheeks are performed. In implementation of the
algorithm, only a few of the conditions may be used for
determining.
[0104] MaxCapacity.gtoreq.maxCapacity_threshold_weak: non-weak
cheek. MaxCapacity is a maximum capacitance value, and
maxCapacity_threshold_weak is a third capacity threshold. In other
words, when the maximum capacitance value is greater than or equal
to the third capacitance threshold, it is determined that the
report point matching the capacitance hot spot is a report point
generated by the non-weak cheek.
[0105] The capacitance hot spot is attached to an upper edge of a
screen and ySpan.ltoreq.ySpan_thresholdd_no_weak: non-weak cheek.
ySpan is a longitudinal span, and ySpan_threshold_no_weak is a
third longitudinal span threshold. In other words, when the
capacitance hot spot is attached to an upper edge of a screen, and
the longitudinal span than or equal to the third longitudinal span
threshold, it is determined that the report point matching the
capacitance hot spot is a report point generated by the non-weak
cheek.
[0106] S.gtoreq.S_threshold_weak: weak cheek. S is a hot spot area,
and S_threshold_weak is a second area threshold. In other words,
when the hot spot area is greater than or equal to the second area
threshold, it is determined that a report point matching the
capacitance hot spot is a report point generated by the weak
cheek.
[0107] ySpan.gtoreq.ySpan_ threshold_weak and
xSpan.gtoreq.xSpan_threshold_weak; weak cheek. ySpan is a
longitudinal span, ySpan_threshold_weak is a fourth longitudinal
span threshold, xSpan is a horizontal span, and
xSpan_threshold_weak is a second horizontal span threshold. In
other words, when the longitudinal span is greater than or equal to
the fourth longitudinal span threshold, and the horizontal span is
greater than or equal to the second horizontal span threshold, it
is determined that the report point matching the capacitance hot
pot is a report point generated by the weak check.
[0108] S.gtoreq.S_threshold_weak_uncertain: uncertain. S is a hot
spot area, and S_threshold_weak_uncertain is a third area
threshold. In other wards, when the hot spot area is greater than
or equal to the third area threshold, it is determined that a
result is uncertain.
[0109] ySpan.gtoreq.ySpan_threshold_weak_uncertain: uncertain.
ySpan is a longitudinal span, and ySpan_threshold_weak_uncertain is
a fifth longitudinal span threshold. In other words, when the
longitudinal span is greater than or equal to the fifth
longitudinal span threshold, it is determined that a result is
uncertain.
[0110] If none of the foregoing conditions is met, the capacitance
hot spot area is determined as the non-weak cheek. In other words,
when none of the foregoing conditions is met, it is determined that
the report point matching the capacitance hot spot is a report
point generated by the non-weak cheek.
[0111] Determining conditions of the ear. Check whether a
capacitance hot spot is the ear by using the following conditions
in an algorithm. If it is identified that the capacitance hot spot
is the ear or the non-ear, no subsequent determining is performed;
or if it is not identified that the capacitance hot spot is the ear
or the non-ear, all cheeks are performed. In implementation of the
algorithm, only a few of the conditions may be used for
determining.
[0112] MaxCapacity<MaxCapacity_threshold_ear: non-ear. When the
maximum capacitance value is less than a fourth capacitance
threshold, it is determined that the report point matching the
capacitance hot spot is a report point generated by the
non-ear.
[0113] An axial direction of the ellipse is lower right, but the
lower left shadow area
leftDownShadowS.gtoreq.leftDownShadowS_threshold_ear, or an axial
direction of the ellipse is lower left, but the lower right shadow
area rightDownShadowS_.gtoreq.rightDownShadowS_threshold_ear: the
ear. When an axial direction of a major axis of the ellipse
obtained from the first flooding area of the capacitance hot spot
is lower right, and the lower left shadow area is greater than or
equal to a fourth area threshold, or when an axial direction of a
major axis of the ellipse obtained from the first flooding area of
the capacitance hot spot is lower left, and the lower right shadow
area is greater than or equal to a fifth area threshold, it is
determined that the report point matching the capacitance hot spot
is the report point generated by the ear.
[0114] S<S_Threshold_ear: non-ear. S is a hot spot area, and
S_threshold_ear is a sixth area threshold. In other words, when the
hot spot area is less than the sixth area threshold, it is
determined that a report point matching the capacitance hot spot is
a report point generated by the non-ear.
[0115] The capacitance hot spot is attached to an upper edge, and
ySpan.ltoreq.ySpan_threshold_ear: the non-ear. ySpan is a
longitudinal span, and ySpan_threshold_ear is a sixth longitudinal
span threshold. In other words, when the capacitance hot spot is
attached to an upper edge of a screen, and the longitudinal span is
less than or equal to the sixth longitudinal span threshold, it is
determined that the report point matching the capacitance hot spot
is a report point generated by the non-ear.
[0116] e>e_threshold_ear and Gy>Gy_threshold_ear: the ear. e
is a resistivity, e_threshold_ear is a first resistivity threshold.
Gy is a vertical coordinate in a barycenter coordinate, and
Gy_threshold_ear is a first coordinate threshold. In other words,
when the resistivity is greater than the first resistivity
threshold, and the vertical coordinate in the barycenter coordinate
is greater than the first coordinate threshold, it is determined
that the report point matching the capacitance hot spot is a report
point generated by the ear.
[0117] e>e_threshold_ear_uncertain; uncertain. e is a
resistivity, and e_threshold_ear_uncertain is a second resistivity
threshold. In other words, when the resistivity is greater than the
second resistivity threshold, it is determined that a result is
uncertain.
[0118] If none of the foregoing conditions is met, the capacitance
hot spot area is determined as the non-ear. In other words, when
none of the foregoing conditions is met, it is determined that the
report point matching the capacitance hot spot is the report point
generated by the non-ear.
[0119] Determining conditions of a finger: referring to a schematic
diagram of comparison between capacitance signals separately
generated when the finger taps, and the ear and the cheek touch the
screen shown in FIG. 6, if capacitance hot spots are separately
determined as the non-strong cheek, the non-weak cheek, and the
non-ear after the strong cheek determining, the weak cheek
determining, and the ear determining, the capacitance hot spot area
is determined as being normally tapped by the finger.
[0120] In an example, whether a report point is suppressed may be
determined by determining whether the report point is in an
odd-form state: some odd-form capacitance hot spots cannot be
identified by determining only features. To improve an
identification rate, in an example, the odd-form state is used to
improve the identification rate. First, it is assumed that a user
does not touch a screen with a finger to simultaneously perform
operations such as tapping and sliding when making a call.
Therefore, when there are a plurality of capacitance hot spots on
the screen, if one capacitance hot spot is identified as the odd
form, the capacitance hot spot may be switched to the odd-form
state. In the odd-form state, each subsequent capacitance hot spot
continues to be determined whether the capacitance hot spot is the
odd form, and if the capacitance hot spot is the odd form, the
capacitance hot spot is added to an odd-form queue. However,
regardless of whether the subsequent capacitance hot spot is
determined as the odd form, reporting a report point corresponding
to the subsequent capacitance hot spot is suppressed. When
capacitance hot spots in all odd-form queues on the screen
disappear, the algorithm exits from the odd-form state and does not
suppress the report point. In other words, when there are a
plurality of capacitance hot spots, it is determined that an
odd-form touch occurs provided that one capacitance hot spot is
determined as the capacitance hot spot generated by the odd-form
touch, and report points corresponding to all capacitance hot spots
are not reported.
[0121] In an example, determining is performed before a report
point of a capacitance hot spot occurs: for each report point, a
time in which the report point occurs at a first time is
inconsistent with a time in which a capacitance hot spot
corresponding to the report point occurs. A report point is usually
reported after several frames after the capacitance hot spot
appears. To improve an identification rate of the odd form,
odd-form determining may be performed when a capacitance hot spot
first appears, thereby increasing a quantity of times of
determining. However, some capacitive touchscreens may cause
relatively high noises, and may lead a mistaken determining when
determining is performed before a report point occurs. As a result,
a report point generated by a normal finger operation may be
determined by mistake. Therefore, whether the capacitance hot spot
is determined before a report point occurs may be adjusted based on
a noise level of a capacitive touchscreen. It may be understood
that, when a screen is touched, a capacitance hot spot signal is
generated at a contact position, but a contact area is relatively
small at the beginning and signal strength is relatively weak. As a
result, a report point may not be reported at the beginning. A
report point may be reported only when a hot spot meets a specific
condition, for example, a maximum signal value in the capacitance
hot spot exceeds a specific threshold. Therefore, determining is
performed before the capacitance hot spot reports a report point
can improve determining efficiency and have good user
experience.
[0122] In an example, report point coordinate compensation is used
after the determining is put off: when the report point falls at
the top of the screen, if the report point cannot be determined as
the normal tap in one frame, a policy of putting off reporting of
the report point is used in several subsequent frames. When a
report point is reported again after several frames are put off, a
report point coordinate may be different from a coordinate in the
first frame. For some controls that need to be started by sliding
inward from an edge of the screen, that the reporting of the report
point is put off may cause loss of report point information of
previous several frames. If the report point coordinate is not in a
corresponding starting hot area of the control after the reporting
is put off, the control cannot be started. Therefore, when a start
position of the report point falls in the edge position, the
algorithm is used to record a coordinate of the first frame of the
report point, and report the coordinate for compensation in the
first frame of the report point after the reporting is put off. In
this way, the control can be started normally.
[0123] FIG. 7A, FIG. 7B, and FIG. 7C are a flowchart of another
report point output control method according to an embodiment of
the present invention. The method may be performed but is not
limited to being performed by a mobile phone with a capacitive
touchscreen, and the method includes the following steps:
[0124] Step 701: Input an original report, paint coordinate of a
touch (Touch) event, and calculate a corresponding capacitance hot
spot area.
[0125] Step 702: Determine whether there is a determining result
for a current capacitance hot spot area.
[0126] If it is determined that there a determining result for the
current capacitance hot spot, step 703 is performed; or if it is
determined that there is no determining result for the current
capacitance hot spot, step 707 is performed.
[0127] Step 703; Determine whether the capacitance hot spot is in
an output state.
[0128] If it is determined that the capacitance hot spot is in an
output state, step 704 is performed; or if it is determined that
the capacitance hot spot is not in an output state, step 705 is
performed.
[0129] Step 704: A normal report point.
[0130] Step 705: Suppress the report point.
[0131] Step 706: End.
[0132] Step 707: Determine whether a current algorithm is in an
odd-form state.
[0133] If it is determined that the current algorithm is not in an
odd-form state, step 708 is performed; or if it is determined that
the current algorithm is in an odd-form state, step 7014 is
performed.
[0134] Step 708: Determine a non-odd-form state.
[0135] Step 709: Perform an odd-form test on all capacitance hot
spots.
[0136] Step 7010: Determine whether there is a capacitance hot spot
in a current frame that is determined to be in an odd form.
[0137] If it is determined that there is no capacitance hot spot in
the current frame that is determined to be in an odd form, step
7011 is performed; or if it is determined that there is a
capacitance hot spot in the current frame that is determined to be
in an odd form, step 7015 is performed.
[0138] Step 7011; Determine whether a current capacitance hot spot
is determined to be normally tapped.
[0139] If it is determined that the current capacitance hot spot is
not determined to he normally tapped, step 7012 is performed; or if
it is determined that the current capacitance hot spot is
determined to be normally tapped, step 7013 is performed.
[0140] Step 7012: Determine whether a state "uncertain" of the
current capacitance hot spot exceeds a frame quantity
threshold.
[0141] If it is determined that the state "uncertain" of the
current capacitance hot spot does not exceed the frame quantity
threshold, step 7013 is performed; or if it is determined that the
state "uncertain" of the current capacitance hot spot exceeds the
frame quantity threshold, step 705 is performed.
[0142] Step 7013; Mark the current capacitance hot spot as an
output state.
[0143] Step 704 is performed after step 7013.
[0144] Step 7014: Determine whether there is at least one
capacitance hot spot in an odd-form queue that is still on a
screen.
[0145] If it is determined that there is not at least one
capacitance hot spot in the odd-form queue that is still on the
screen, step 708 is performed; or if it is determined that there is
the at least one capacitance hot spot in the odd-form queue that is
still on the screen, step 7015 is performed.
[0146] Step 7015: Determine an odd-form state.
[0147] Step 7016: Perform an odd-form test on the current
capacitance hot spot.
[0148] Step 7017: Determine whether the capacitance hot spot is
determined to be in the odd form.
[0149] If it is determined that the capacitance hot spot is
determined to be in the odd form, step 7018 is performed; or if it
is determined that the capacitance hot spot is not determined to be
in the odd form, step 7019 is performed.
[0150] Step 7018; Add the capacitance hot spot to the odd-form
queue.
[0151] Step 7019: Mark the current capacitance hot spot as a
suppression state.
[0152] Step 705 is performed after step 7019.
[0153] In this embodiment of the present invention, a plurality of
manners are used in combination, so that report point accuracy can
be improved, and processing efficiency can be improved.
[0154] The embodiments of the present invention further provide a
report point output control apparatus. The apparatus is configured
to perform the report point output control method provided in the
foregoing embodiment of the present invention, and the apparatus
may be integrated into a terminal with capacitive touchscreen.
[0155] FIG. 8 is a structural diagram of a report point output
control apparatus according to an embodiment of the present
invention. The apparatus includes a processing unit 801 and an
output unit 802.
[0156] The processing unit 801 is configured to: perform feature
detection on a capacitance hot spot to determine at least one
eigenvalue of the capacitance hot spot; determine, based on the at
least one eigenvalue of the capacitance hot spot, whether a report
point matching the capacitance hot spot is a report point generated
by an odd-form touch; if it is determined that the report point is
the report point generated by the odd-form touch, control the
output unit 802 to skip outputting the report point, where the at
least one eigenvalue includes at least one of a horizontal span, a
longitudinal span, an eccentricity, a barycenter coordinate, a
maximum capacitance value, an upper shadow length, a lower shadow
length, a left shadow length, a right shadow length, an average
shadow length, an upper left shadow area, a lower right shadow
area, an upper right shadow area, and a lower left shadow area.
[0157] In an example, the processing unit 801 is further configured
to: before performing feature detection on the capacitance hot spot
to determine the at least one eigenvalue of the capacitance hot
spot, obtain each frame of full-screen capacitance signals and a
coordinate value of each report point in a report point set, where
the report point set includes at least one report point; determine
a capacitance hot spot set on a screen based on the full-screen
capacitance signals, where the capacitance hot spot set includes at
least one capacitance hot spot; and match the report point in the
report point set against the capacitance hot spot in the
capacitance hot spot set, to determine report point information
corresponding to the capacitance hot spot.
[0158] In an example, the processing unit 801 is specifically
configured to: determine at least one maximum value of capacitance
signals on the screen based on the full-screen capacitance signals;
start flooding from a capacitance grid corresponding to each
maximum value, and add a capacitance grid whose capacitance signal
is greater than a first capacitance threshold to a first flooding
area of the capacitance hot spot; and start flooding from the
capacitance grid corresponding to each maximum value, and add a
capacitance grid whose capacitance signal is greater than a second
capacitance threshold to a second flooding area of the capacitance
hot spot, where the first capacitance threshold is greater than the
second capacitance threshold, where each capacitance hot spot
includes one first flooding area and one second flooding area.
[0159] In an example, the horizontal span is a horizontal span of
the first flooding area of the capacitance hot spot; the
longitudinal span is a longitudinal span of the first flooding area
of the capacitance hot spot; the eccentricity is an eccentricity of
an ellipse obtained by fitting the first flooding area of the
capacitance hot spot; the barycenter coordinate is a barycenter
coordinate of the first flooding area of the capacitance hot spot;
the maximum capacitance value is a maximum capacitance value in the
first flooding area of the capacitance hot spot; the upper shadow
length is a length of the second flooding area at an upper position
first flooding area of the capacitance hot spot in the longitudinal
direction; the lower shadow length is a length of the second
flooding area at a lower position of the first flooding area of the
capacitance hot spot in the longitudinal direction; the left shadow
length is a length of the second flooding area at a left position
of the first flooding area of capacitance hot spot in the
horizontal direction; the right shadow length is a length of the
second flooding area at a right position of the first flooding area
of the capacitance hot spot in the horizontal direction; the
average shadow length is an average length of the second flooding
area around the first flooding area of the capacitance hot spot;
the upper left shadow area is an area of the second flooding area
at an upper left position of the first flooding area of the
capacitance hot spot; the lower right shadow area is an area of the
second flooding area at a lower right position of the first
flooding area of the capacitance hot spot; the upper right shadow
area is an area of the second flooding area at an upper right
position of the first flooding area of the capacitance hot spot;
and the lower left shadow area is an area of the second flooding
area at a lower left position of the first flooding area of the
capacitance hot spot.
[0160] In an example, the processing unit 801 is specifically
configured to: determine, based on the a least one eigenvalue of
the capacitance hot spot, whether the report point matching the
capacitance hot spot is a report point generated by a strong cheek,
where a determining result includes "strong cheek", "non-strong
cheek", and "uncertain"; determine, based on the at least one
eigenvalue of the capacitance hot spot, whether the report point
matching the capacitance hot spot is a report point generated by a
weak cheek, where a determining result includes "weak cheek",
"non-weak cheek", and "uncertain"; determine, based on the at least
one eigenvalue of the capacitance hot spot, whether the report
point matching the capacitance hot spot is a report point generated
by an ear, where a determining result includes "ear", "non-ear",
and "uncertain"; and when the first determining result is "strong
cheek", or when the second determining result is "weak cheek", or
when the third determining result is "ear", determine that the
report point is the report point generated by the odd-form touch;
or when the first determining result is "non-strong cheek", the
second determining result is "non-weak cheek", and the third
determining result is "non-ear", determine that the report point is
not the report point generated by the odd-form touch.
[0161] In an example, the at least one eigenvalue further includes
a hot spot area, and the hot spot area is a quantity of capacitance
grids in the first flooding area of the capacitance hot spot. The
processing unit 801 is specifically configured to: when the hot
spot area is less than a first area threshold, determine that the
report point matching the capacitance hot spot is a report point
generated by a non-strong cheek; or when the longitudinal span is
greater than a first longitudinal span threshold, or when the
average shadow length is greater than a first length threshold, or
when the horizontal span is less than a first horizontal span
threshold and the longitudinal span is greater than a second
longitudinal span threshold, determine that the report point
matching the capacitance hot spot is the report point generated by
the strong cheek; or when the average shadow length is greater than
a second length threshold, determine that a result is "uncertain";
or when none of the foregoing conditions is met, determine that the
report point matching the capacitance hot spot is a report point
generated by a non-strong cheek.
[0162] In an example, the at least one eigenvalue further includes
a hot spot area, and the hot spot area is a quantity of capacitance
grids in the first flooding area of the capacitance hot spot. The
processing unit 801 is specifically configured to: when the maximum
capacitance value is greater than or equal to a third capacitance
threshold, or when the capacitance hot spot is attached to an upper
edge of a screen and the longitudinal span is less than or equal to
a third longitudinal span threshold, determine that the report
point matching the capacitance hot spot is a report point generated
by a non-weak cheek; or when the hot spot area is greater than or
equal to a second area threshold, or when the longitudinal span is
greater than or equal to a fourth longitudinal span threshold and
the horizontal span greater than or equal to a second horizontal
span threshold, determine that the report point matching the
capacitance hot spot is the report point generated by the weak
cheek; or when the hot spot area is greater than or equal to a
third area threshold, or when the longitudinal span is greater than
or equal to a fifth longitudinal span threshold, determine that a
result is "uncertain"; or when none of the foregoing conditions is
met, determine that the report point matching the capacitance hot
spot is a report point generated by a none weak cheek.
[0163] In an example, the at least one eigenvalue further a hot
spot area, and the hot spot area is a quantity of capacitance grids
in the first flooding area of the capacitance hot spot. The
processing unit 801 is specifically configured to; when the maximum
capacitance value is less than a fourth capacitance threshold,
determine that the report point matching the capacitance hot spot a
report point generated by a non-ear; or when an axial direction of
a major axis of the ellipse obtained by fitting the first flooding
area of the capacitance hot spot lower right, and the lower left
shadow area is greater than or equal to a fourth area threshold, or
when an axial direction of a major axis of the ellipse obtained by
fitting the first flooding area of the capacitance hot spot is
lower left, and the lower right shadow area is greater than or
equal to a fifth area threshold, determine that the report point
matching the capacitance hot spot is the report point generated by
the ear; or when the hot spot area is less than a sixth area
threshold, or when the capacitance hot spot is attached to the
upper edge of the screen and the longitudinal span is less than or
equal to a sixth longitudinal span threshold, determine that the
report point matching the capacitance hot spot is a report point
generated by a non-ear; or when the resistivity is greater than a
first resistivity threshold and a vertical coordinate in the
barycenter coordinate is greater than a first coordinate threshold,
determine that the report point matching the capacitance hot spot
is the report point generated by the ear; or when the resistivity
is greater than a second resistivity threshold, determine that a
result is "uncertain"; or when none of the foregoing conditions is
met, determine that the report point matching the capacitance hot
spot is a report point generated by anon-ear.
[0164] In an example, the processing unit 801 is further configured
to: when the first determining result, the second determining
result, and the third determining result of a first frame are all
"uncertain", store a coordinate a the report point of the first
frame; and when determining, in a subsequent preset quantity of
frames, that the report point is the report point generated by the
odd-form touch, determine that the report point in the first frame
is the report point generated by the odd-form touch; or when
determining a subsequent preset quantity of frames, that the report
point is not the report point generated by the odd-form touch, or
when the first determining result, the second determining result,
and the third determining result in the subsequent preset quantity
of frames are all "uncertain", determine that the report point in
the first frame is not the report point generated by the odd-form
touch, and output the report point based on the coordinate of the
report point of the first frame.
[0165] In an example, the capacitance hot spot set includes a
plurality of capacitance hot spots. The processing unit 801 is
further configured to: before determining, based on the at least
one eigenvalue of the capacitance hot spot, whether the report
point is the report point generated by the odd-form touch,
determine whether a current state is an odd-form state; and if the
current state is the odd-form state, determine that each report
point corresponding to each capacitance hot spot in the plurality
of capacitance hot spots is the report point generated by the
odd-form touch; or if the current state is not the odd-form state,
determine, based on the at least one eigenvalue of the capacitance
hot spot, whether the report point is the report point generated by
the odd-form touch, and when determining that the report point is
the report point generated by the odd-form touch, switch the
current state to the odd-form state.
[0166] In an example, the processing unit 801 is specifically
configured to: perform feature detection on a capacitance hot spot
that is in the capacitance hot spot set of a second frame and that
does not match a report point in the report point set, to determine
the at least one eigenvalue of the capacitance hot spot, where the
second frame is a frame that meets a preset condition.
[0167] Referring to FIG. 9, the terminal provided in this
embodiment of the present invention includes components such as a
radio frequency (English: Radio Frequency, RF) circuit 110, a
memory 120, an input unit 130, a display unit 140, a processor 150,
a power supply 160, and a sensor 170. A person skilled in the art
may understand that the structure of the terminal shown in FIG. 9
constitutes no limitation on the terminal. The terminal may include
more or fewer components than those shown in the figure, and some
components may be combined, or the components may be arranged in a
different way.
[0168] The terminal provided in this embodiment of the present
invention may be configured to perform the report point output
control method provided in the foregoing embodiment of the present
invention. For corresponding features and descriptions, refer to
content related to the foregoing method. Details are not described
in this embodiment again.
[0169] The following specifically describes the components of the
terminal with reference to FIG. 9.
[0170] The RF circuit 110 may be configured to: receive and send
information, for example, exchange information with a device such
as a server, and send the received information to the processor 150
for processing. Generally, the RF circuit 110 includes, but is not
limited to, an antenna, at least one amplifier, a transceiver, a
coupler, a low noise amplifier (English: low Noise Amplifier, LNA),
a duplexer, and the like. In addition, the RF circuit 110 may
further communicate with a network and another device through
wireless communication. The wireless communication may use any
communications standard or protocol, including but not limited to:
global system for mobile communications (English: Global System for
Mobile communications, GSM), a general packet radio service
(English: General Packet Radio Service, GPRS), code division
multiple access (English: Code Division Multiple Access. CDMA),
wideband code division multiple access (English: Wideband Code
Division Multiple Access, WCDMA), long term evolution (English:
Long Term Evolution, LTE), an email, a short message service
(English: Short Message Service, SMS), and the like.
[0171] The storage 120 may be configured to store a software
program and a module. The processor 150 runs the software program
and the module that are stored in the storage 120, so that the
terminal performs the foregoing report point output control method.
The memory 120 may mainly include a program storage area and a data
storage area. The program storage area may store an operating
system, an application program required for implementing the
foregoing report point output control method, and the like. The
data storage area can store a configuration file of the
application, and the like. In addition, the memory 120 may be a
volatile memory (English: volatile memory), for example, a
random-access memory (English: random-access memory, RAM for
short); or the memory 120 may also be a non-volatile memory
(English: non-volatile memory), for example, a read-only memory
(English: read-only memory. ROM for short), a flash memory
(English: flash memory), a hard disk drive (English: hard disk
drive, HDD for short), or a solid-state drive (English: solid-state
drive, SSD for short): or the memory 120 may further include a
combination of the foregoing memories.
[0172] The input unit 130 may be configured to receive operation
information such as digit or character information that is input by
a user or a tap or slide of the user. Specifically, the input unit
130 may include a touch panel 131 and another input device 132. The
touch panel 131, also referred to as a touchscreen, is a capacitive
touchscreen in this embodiment of the present invention, and can
collect a touch operation (for example, an operation performed by a
user on the touch panel 131 or near the touch panel 131 by using
any suitable object or accessory such as a finger or a stylus)
performed by the user on or near the touch panel 131, and drive a
corresponding connection apparatus accord in to a preset program.
Optionally, the touch panel 131 may include two parts: a touch
detection apparatus and a touch controller. The touch detection
apparatus detects a touch location of the user, detects a signal
brought by a touch operation, and delivers the signal to the touch
controller. The touch controller receives touch information from
the touch detection apparatus, converts the touch information into
touch point coordinates, and sends the touch point coordinates to
the processor 150. In addition, the touch controller can receive
and execute a command sent by the processor 150. In addition, the
input unit 130 may implement the touch panel 131 in a plurality of
types, such as a resistive type, a capacitive type, an infrared
ray, and a surface acoustic wave. In addition to the touch panel
131, the input unit 130 may further include another input device
132. Specifically, the another input device 132 may include, but is
not limited to, one or more of a physical keyboard, a functional
button (such as a sound volume control button or a power button), a
trackball, a mouse, a joystick, and the like.
[0173] The display unit 140 may be configured to display
information input by a user, information provided for a user, or
the like. The display unit 140 may include a display panel 141.
Optionally, the display panel 141 may be configured in a form of a
liquid crystal display (English: Liquid Crystal Display, LCD), an
organic light-emitting diode (English: Organic Light-Emitting
Diode, OLED), or the like. Further, the touch panel 131 may cover
the display panel 141. When detecting the touch operation on or
near the touch panel 131, the touch panel 131 transmits the touch
operation to the processor 150 to determine whether a report point
is generated, and whether a report point is output, and then the
processor 150 provides corresponding visual output on the display
panel 141 based on a control corresponding to the report point.
Although the touch panel 131 and the display panel 141 in FIG. 9
are used as two independent components to implement input and
output functions of the terminal, in some embodiments, the touch
panel 131 and the display panel 141 may be integrated to implement
the input and output functions of the terminal device.
[0174] The processor 150 is a control center of the terminal, is
connected to each part of the entire terminal by using various
interfaces and lines, and performs the report point output control
method by running n the software program and/or the module stored
in the storage 120, and invoking data stored in the storage 120.
Optionally, the processor 150 may include one or more processing
units. Preferably, the processor 150 may integrate an application
processor and a modem processor. The application processor mainly
processes an operating system, a user interface, an application
program, and the like. The modem processor mainly processes
wireless communication. It may be understood that, alternatively,
the modem processor may not be integrated into the processor
150.
[0175] The terminal further includes the power supply 160 (such as
a battery) that supplies power to each component. Preferably, the
power supply may be logically connected to the processor 150 by
using a power supply management system, so that functions such as
charging, discharging, and power consumption management are
implemented by using the power supply management system.
[0176] The terminal further includes a sensor 170. The terminal may
include one or more sensors. Only one sensor is drawn in the figure
as an example. The terminal may include a plurality of types of
sensors, including but not limited to a pressure sensor, a distance
sensor, an acceleration sensor, a gyroscope sensor, a GPS sensor, a
direction sensor, a temperature sensor, and the like. Different
types of applications may use different sensors during
operation.
[0177] The memory 120 is configured to store a program
instruction.
[0178] The processor 150 is configured to perform the following
operations based on the program instruction stored in the memory
120: performing feature detection on a capacitance hot spot to
determine at least one eigenvalue of the capacitance hot spot;
determining, based on the at least one eigenvalue of the
capacitance hot spot, whether a report point matching the
capacitance hot spot is a report point generated by an odd-form
touch; if it is determined that the report point is the report
point generated by the odd-form touch, skipping outputting the
report point, where the at least one eigenvalue includes at least
one of a horizontal span, a longitudinal span, an eccentricity, a
barycenter coordinate, a maximum capacitance value, an upper shadow
length, a lower shadow length, a left shadow length, a right shadow
length, an average shadow length, an upper left shadow area, a
lower right shadow area, an upper right shadow area, and a lower
left shadow area.
[0179] In an example, before the processor 150 performs feature
detection on the capacitance hot spot to determine the at least one
eigenvalue of the capacitance hot spot, the processor 150 is
further configured to perform the following operations based on the
program instruction stored in the memory 120: obtaining each frame
of full-screen capacitance signals and a coordinate value of each
report point in a report point set, where the report point set
includes at least one report point; determining a capacitance hot
spot set on a screen based on the full-screen capacitance signals,
where the capacitance hot spot set includes at least one
capacitance hot spot; and matching the report point in the report
point set against the capacitance hot spot in the capacitance hot
spot set, to determine report point information corresponding to
the capacitance hot spot.
[0180] In an example, that the processor 150 performs an operation
of determining a capacitance hot spot set on a screen based on the
full-screen capacitance signals includes: determining at least one
maximum value of capacitance signals on the screen based on the
full-screen capacitance signals; starting flooding from a
capacitance grid corresponding to each maximum value, and adding a
capacitance grid whose capacitance signal is greater than a first
capacitance threshold to a first flooding area of the capacitance
hot spot; and starting flooding from the capacitance grid
corresponding to each maximum value, and adding a capacitance grid
whose capacitance signal is greater than a second capacitance
threshold to a second flooding area of the capacitance hot spot,
where the first capacitance threshold is greater than the second
capacitance threshold, where each capacitance hot spot includes one
first flooding area and one second flooding area.
[0181] In an example, the horizontal span is a horizontal span of
the first flooding area of the capacitance hot spot: the
longitudinal span is a longitudinal span of the first flooding area
of the capacitance hot spot, the eccentricity is an eccentricity of
an ellipse obtained by fitting the first flooding area of the
capacitance hot spot; the barycenter coordinate is a barycenter
coordinate of the first flooding area of the capacitance hot spot;
the maximum capacitance value is a maximum capacitance value in the
first flooding area of the capacitance hot spot; the upper shadow
length is a length of the second flooding area at an upper position
of the first flooding area of the capacitance hot spot in the
longitudinal direction; the lower shadow length is a length of the
second flooding area at a lower position of the first flooding area
of the capacitance hot spot in the longitudinal direction; the left
shadow length is a length of the second flooding area at a left
position of the first flooding area of the capacitance hot spot in
the horizontal direction; the right shadow length is a length of
the second flooding area at a right position of the first flooding
area of the capacitance hot spot in the horizontal direction; the
average shadow length is an average length of the second flooding
area around the first flooding area of the capacitance hot spot;
the upper left shadow area is an area of the second flooding area
at an upper left position of the first flooding area of the
capacitance hot spot; the lower right shadow area is an area of the
second flooding area at a lower right position of the first
flooding area of the capacitance hot spot; the upper right shadow
area is an area of the second flooding area at an upper right
position of the first flooding area of the capacitance hot spot;
and the lower left shadow area is an area of the second flooding
area at a lower left position of the first flooding area of the
capacitance hot spot.
[0182] In an example, that the processor 150 performs an operation
of determining, based on the at least one eigenvalue of the
capacitance hot spot, whether a report point matching the
capacitance hot spot is a report point generated by an odd-form
touch includes: determining, based on the at least one eigenvalue
of the capacitance hot spot, whether the report point matching the
capacitance hot spot is a report point generated by a strong cheek,
where a determining result includes "strong cheek", "non-strong
cheek", and "uncertain",determining, based on the a one eigenvalue
of the capacitance hot spot, whether the report point matching the
capacitance hot spot is a report point generated by a weak cheek,
where a determining result includes "weak cheek", "non-weak cheek",
and "uncertain"; determining, based on the at least one eigenvalue
of the capacitance hot spot, whether the report point matching the
capacitance hot spot is a report point generated by an ear, where a
determining result includes "ear", "non-ear", and "uncertain"; and
when the first determining result is "strong cheek", or when the
second determining result is "weak cheek", or when the third
determining result is "ear", determining that the report point is
the report point generated by the odd-form touch; or when the first
determining result is "non-strong cheek", the second determining
result is "non-weak cheek", and the third determining result is
"non-ear", determining that the report point is not the report
point generated by the odd-form touch.
[0183] In an example, the at least one eigenvalue further includes
a hot spot area, and the hot spot area is a quantity of capacitance
grids in the first flooding area of the capacitance hot spot; and
that the processor 150 performs an operation of determining, based
on the at least one eigenvalue of the capacitance hot spot, whether
tho report point matching the capacitance hot spot is a report
point generated by a strong cheek includes: when the hot spot area
is less than a first area threshold, determining that the report
point matching the capacitance hot spot is a report point generated
by a non-strong cheek; or when the longitudinal span is greater
than a first longitudinal span threshold, or when the average
shadow length is greater than a first length threshold, or when the
horizontal span is less an a first horizontal span threshold and
the longitudinal span is greater than a second longitudinal span
threshold, determining that the report point matching the
capacitance hot spot is the report point generated by the strong
cheek; or when the average shadow length is greater than a second
length threshold, determining that a result is "uncertain"; or when
none of the foregoing conditions is met, determining that the
report point matching the capacitance hot spot is a report point
generated by a non-strong cheek.
[0184] In an example, the at least one eigenvalue further includes
a hot spot area, and the hot spot area is a quantity of capacitance
grids in the first flooding area of the capacitance hot spot; and
that the processor 150 performs an operation of determining, based
on the at least one eigenvalue of the capacitance hot spot, whether
the report point matching the capacitance hot spot report point
generated by a weak cheek includes: when the maximum capacitance
value is greater than or equal to a third capacitance threshold, or
when the capacitance hot spot is attached to an upper edge of a
screen and the longitudinal span is less than or equal to a third
longitudinal span threshold, determining that the report point
matching the capacitance hot spot is a report point generated by a
non-weak cheek; or when the hot spot area is greater than or equal
to a second area threshold, or when the longitudinal span is
greater than or equal to a fourth longitudinal span threshold and
the horizontal span is greater than or equal to a second horizontal
span threshold, determining that the report point matching the
capacitance hot spot is the report point generated by the weak
cheek; or when the hot spot area is greater than or equal to a
third area threshold, or when the longitudinal span is greater than
or equal to a fifth longitudinal span threshold, determining that a
result is "uncertain"; or when none of the foregoing conditions is
met, determining that the report point matching the capacitance hot
spot is a report point generated by a non-weak cheek.
[0185] In an example, the at least one eigenvalue further includes
a hot spot area, and the hot spot area is a quantity of capacitance
grids in the first flooding area of the capacitance hot spot; and
that the processor 150 performs an operation of determining, based
on the at least one eigenvalue of the capacitance hot spot, whether
the report point matching the capacitance hot spot is a report
point generated by an ear includes: when the maximum capacitance
value is less than a fourth capacitance threshold, determining that
the report point matching the capacitance hot spot is a report
point generated by a non-ear; or when an axial direction of a major
axis of the ellipse obtained by fitting the first flooding area of
the capacitance hot spot is lower right, and the lower left shadow
area is greater than or equal to a fourth area threshold, or when
an axial direction of a major axis of the ellipse obtained by
fitting the first flooding area of the capacitance hot spot is
lower left, and the lower right shadow area is greater than or
equal to a fifth area threshold, determining that the report point
matching the capacitance hot spot is the report point generated by
the ear; or when the hot spot area is less than a sixth area
threshold, or when the capacitance hot spot is attached to the
upper edge of the screen and the longitudinal span is less than or
equal to a sixth longitudinal span threshold, determining that the
report, point matching the capacitance hot spot is a report point
generated by a non-ear; or when the resistivity is greater than a
first resistivity threshold and a vertical coordinate in the
barycenter coordinate is greater than a first coordinate threshold,
determining that the report point matching the capacitance hot spot
is the report point generated by the ear; or when the resistivity
is greater than a second resistivity threshold, determining that a
result is "uncertain"; or when none of the foregoing conditions is
met, determining that the report point matching the capacitance hot
spot report point generated by a non-ear.
[0186] In an example, the processor 150 is further configured to
perform the following operations based on the program instruction
stored in the memory 120: when the first determining result, the
second determining result, and the third determining result of a
first frame are all "uncertain", storing a coordinate of the report
point of the first frame; and when it is determined, in a
subsequent preset quantity of frames, that the report point is the
report point generated by the odd-form touch, determining that the
report point in the first frame is the report point generated by
the odd-form touch; or when it is determined, in a subsequent
preset up quantity of frames, that the report point is not the
report point generated by the odd-form touch, or when the first
determining result, the second determining result and the third
determining result in the subsequent preset quantity of frames are
all "uncertain", determining that the report point in the first
frame is not the report point generated by the odd-form touch, and
outputting the report point based on the coordinate of the report
point of the first frame.
[0187] In an example, the capacitance hot spot set includes a
plurality of capacitance hot spots; and before the processor 150
performs an operation of determining, based on the at least one
eigenvalue of the capacitance hot spot, whether the report point is
a report point generated by an odd-form touch, the processor 150 is
further configured to perform the following operations based on the
program instruction stored in the memory 120: determining whether a
current state is an odd-form state; and if the current state is the
odd-form state, determining that each report point corresponding to
each capacitance hot spot in the plural its of capacitance hot
spots is the report point generated by the odd-form touch: or if
the current state is not the odd-form state, determining, based on
the at least one eigenvalue of the capacitance hot spot, whether
the report point is the report point generated by the odd-form
touch, and when it is determined that the report point is the
report point generated by the odd-form touch, switching the current
state to the odd-form state.
[0188] In an example, that the processor 150 performs an operation
of performing feature detection on a capacitance hot spot to
determine at least one eigenvalue of the capacitance hot spot
includes: performing feature detection on a capacitance hot spot
that is in the capacitance hot spot set of a second frame and that
does not match a report point in the report point set, to determine
the at least one eigenvalue of the capacitance hot spot, where the
second frame is a frame that meets a preset condition.
[0189] Although not shown in the figure, the terminal may further
include a camera, a Bluetooth module, an audio circuit, a USB
module, and the like. Details are not described herein.
[0190] In this embodiment of the present invention, the processor
150 determines, based on the at least one eigenvalue of the
capacitance hot spot, whether the report point matching the
capacitance hot spot is the report point generated by the odd-form
touch, where the at least one eigenvalue includes at least one of a
horizontal span, a longitudinal span, an eccentricity, a barycenter
coordinate, a maximum capacitance value, an average shadow length,
an upper left shadow area and a lower right shadow area. One or
more capacitance features such as a shape, a scale, a size, an
amplitude, a time-varying trend, and the like of a capacitance data
change at the bottom of the screen are processed, so as to prevent
a mistaken edge touch, and optimally ensure that a normal edge
operation is not affected.
[0191] In addition, the display unit 140 in the terminal shown in
FIG. 9 may be corresponding to the output unit 802 of the terminal
in FIG. 8; and the input unit 130 and the processor 150 may be
corresponding to the processing unit 801 in FIG. 8. Details are no
described herein.
[0192] A person of ordinary skill in the art may be further aware
that, in combination with the examples described in the embodiments
disclosed in this specification, units and algorithm steps may be
implemented by electronic hardware, computer software, or a
combination thereof. To clearly describe the interchangeability
between the hardware and the software, the foregoing has generally
described compositions and steps of each example according to
functions. Whether the functions are performed by hardware or
software depends on particular applications and design constraint
conditions of the technical solutions. A person skilled in the art
may use different methods to implement the described functions for
each particular application, but it should not be considered that
the implementation goes beyond the scope of the present
invention.
[0193] A person of ordinary skill in the art may understand that
all or some of the steps in each of the foregoing method of the
embodiment, may be implemented by a program instructing a
processor. The foregoing program may be stored in a computer
readable storage medium. The storage medium may be a non-transitory
(non-transitory) medium, for example may be a random-access memory,
read-only memory, a flash memory, a hard disk, a solid state drive,
a magnetic (magnetic tape), a floppy disk (floppy disk), an optical
disc (optical disc). or any combination thereof.
[0194] The foregoing descriptions are merely example
implementations of the present invention, but are not intended to
limit the protection scope of the present invention. Any variation
or replacement readily figured out by a person skilled in the art
within the technical scope disclosed in the present invention shall
fall within the protection scope of the present invention.
Therefore, the protection scope of the present invention shall be
subject to the protection scope of the claims.
* * * * *